dlds/yii2-mlm

Yii2 多级营销组件

安装量: 3,776

依赖项: 0

建议者: 0

安全性: 0

星标: 18

关注者: 4

分支: 15

开放性问题: 2

类型:yii2-extension

2.0.14 2018-07-03 15:29 UTC

README

模块处理从适当主题生成的奖励。

安装

composer require dlds/yii2-mlm

什么是MLM?

MLM是一种推荐营销系统,用户通过成功分享或销售产品获得奖励。它与联盟营销类似,但具有多个奖励层级。在MLM中,您构建自己的用户结构(自己的团队)。

示例

| –– 你
| –––– 汤姆 (第一层级奖励)
| –––––––– 罗伯特 (第二层级奖励)
| –––– 爱丽丝 (第一层级奖励)
| –––––––– 吉米 (第二层级奖励)
| –––––––– 乔治 (第二层级奖励)
| ––––––––––––– 马克 (第三层级奖励)

在这种情况下,当您结构中的任何6个用户购买产品时,您将获得一些奖励。

模块中的实体

以下命名和实体在MLM模块中使用。

主题

用作奖励生成源的类。它通常是某种ProductOrder或其他与用户支付相关的实体。

参与者

表示MLM结构中用户身份的类。

奖励

表示单个奖励条目的类。

模块实现

首先,您必须准备您的数据库。在app/data文件夹中有一个MySQL Workbench模式/ SQL导入脚本,展示了实现所需的简单数据库结构示例。

以下表

  1. subject
  2. participant
  3. rwd_basic
  4. rwd_extra
  5. rwd_custom

如您所见,有三种类型的奖励。不需要使用所有三种类型。标准奖励存储在rwd_basic表中。有关奖励类型的更多信息,请参阅“奖励类型”部分。

然后,您必须将以下接口实现到您的应用程序中。

MlmSubjectInterface

此接口通常由类似ProductOrder.php的东西实现。

MlmParticipantInterface

此接口通常由类似UsrIdentityModel.php的东西实现。

MlmRewardInterface

此接口通常由类似OrderReward.php的东西实现。

模块如何工作?

完成必要的实现后,奖励生成和验证将由cron和命令行命令自动处理。

Subject准备好生成奖励时,模块将自动根据模块设置生成相应的奖励数量。

在创建过程中,将验证每个参与者是否具有获得奖励的资格。

然后,在保护期结束时(例如,14天,在此期间用户可以取消主题订单),将验证这些奖励。

然后,奖励将被批准并准备好支付。支付处理尚未成为本模块的一部分。

模块设置

模块提供了一组设置选项,可以更改奖励生成。

rules数组

定义主题价格将用于每个奖励层级的百分比金额。

示例显示40%的主题价格被推入奖励并分配给5个层级

[
    1 => 20,
    2 => 10,
    3 => 5,
    4 => 3,
    5 => 2
]

limitRules int

规则配置的限制。定义所有规则的最大百分比总和。在上述示例中,40将合适。

delayPending int (Unix格式)

表示每个单个奖励将在保护状态下停留多长时间。在此期间,奖励将具有PENDING状态。在此延迟之后,将使用APPROVED/DENY状态。

对于1天,必须使用86400这个值。它是Unix中一天的值:14 * 24 * 60 * 60 = 86400

roundPrecision int

奖励值的位数。

roundMode 枚举(Mlm::MLM_ROUND_UP | Mlm::MLM_ROUND_DOWN)

指示奖励值将向上还是向下取整。

skipWorthlessRewards boolean

当为true时,零奖励或四舍五入后值为0.0000...的奖励将被忽略。

clsParticipant string

应用程序中参与者的模型类名。

clsRewardBasic string

基本奖励模型类名在您的应用程序中。

clsSubjects array

应用程序中所有主题的类名。您可以在该数组中定义1到N个主题,并且所有主题都将获得奖励。

isCreatingActive boolean

启用/禁用奖励创建。

isVerifyingActive boolean

启用/禁用奖励验证。验证在保护期之后处理。

isLevelRestrictionAllowed

当为true时,奖励将带有针对参与者的特殊验证创建。默认情况下,只有在有资格领取奖励的情况下才会对参与者进行验证。但是当允许等级限制时,如果参与者有资格领取特定等级的结构奖励,则将对其进行验证。

这意味着您可以将某些参与者限制为只能领取第1和第2等级的奖励,而另一些参与者则可以领取所有等级的奖励。