重构:运营中心 - 基本设置重构;将入驻金额区分为总额和定金
This commit is contained in:
parent
b4d30ddfc7
commit
f5381c1878
|
|
@ -96,6 +96,14 @@ class AgentApplyRepository extends BaseRepository{
|
|||
// 添加 是否需要支付
|
||||
$payMoney = 0;// 默认 无需支付
|
||||
$config = app()->make(AgentRepository::class)->getConfig();
|
||||
$agentBaseSet = $config['agent_base_set'] ?? [];
|
||||
$currentSet = $agentBaseSet[$applyInfo['agent_type']] ?? [];
|
||||
|
||||
|
||||
|
||||
debug($currentSet);
|
||||
|
||||
|
||||
switch ((int)$applyInfo['agent_type']) {
|
||||
case 2: $payMoney = $config['province_money'] ?? 0;break;
|
||||
case 3: $payMoney = $config['field_staff_money'] ?? 0;break;
|
||||
|
|
@ -148,9 +156,10 @@ class AgentApplyRepository extends BaseRepository{
|
|||
public function toExaminePass($params){
|
||||
// 判断:上级邀请人员是否已经达到限制 类型:1=总部发起人,2=省公司发起人,3=省合伙人(外勤),4=省合伙人(内勤),5=区县运营商,6=区县合伙人,7=餐厅,8=配送商,9=总部外勤,10=总部内勤
|
||||
$config = app()->make(AgentRepository::class)->getConfig();
|
||||
$agentBaseSet = $config['agent_base_set'] ?? [];
|
||||
$inviteLimit = $config['invite_limit'] ?? [];
|
||||
$applyInfo = $this->getSearchModel(['id'=>$params['id']])->findOrEmpty()->toArray();
|
||||
|
||||
$applyInfo = $this->getSearchModel(['id'=>$params['id']])->findOrEmpty()->toArray();
|
||||
$giveTitleQuota = 0;// 赠送冠名品牌额度
|
||||
$giveOtherQuota = 0;// 赠送其他品牌额度
|
||||
switch($applyInfo['agent_type']){
|
||||
|
|
@ -203,8 +212,10 @@ class AgentApplyRepository extends BaseRepository{
|
|||
throw new ValidateException('邀请人招募数量超出限制!仅允许招募 '.($inviteLimit['invite_6_8'] ?? 0).' 家配送商');
|
||||
}
|
||||
// 赠送品牌额度
|
||||
$giveTitleQuota = $config['delivery_give_title_quota'] ?? 0;
|
||||
$giveOtherQuota = $config['delivery_give_other_quota'] ?? 0;
|
||||
$currentInfo = $agentBaseSet[8] ?? [];
|
||||
|
||||
$giveTitleQuota = $currentInfo['title_quota'] ?? 0;
|
||||
$giveOtherQuota = $currentInfo['other_quota'] ?? 0;
|
||||
break;
|
||||
case 9:
|
||||
// 判断:当前上级招募 [总部外勤] 数量是否超出限制
|
||||
|
|
|
|||
|
|
@ -107,6 +107,7 @@ class AgentBrokerageRepository extends BaseRepository{
|
|||
return Db::transaction(function() use ($orderId){
|
||||
// 获取配置信息
|
||||
$config = app()->make(AgentRepository::class)->getConfig();
|
||||
$agentBaseSet = $config['agent_base_set'] ?? [];
|
||||
// 获取申请信息
|
||||
$applyInfo = app()->make(AgentApplyRepository::class)->getSearchModel(['order_id'=>$orderId])->findOrEmpty()->toArray();
|
||||
if(!$applyInfo) throw new ValidateException('信息不存在!');
|
||||
|
|
@ -142,69 +143,17 @@ class AgentBrokerageRepository extends BaseRepository{
|
|||
'field_personnel_uid' => $fieldPersonnel ? $fieldPersonnel['uid'] : 0,
|
||||
'field_personnel_agent_id' => $fieldPersonnel ? $fieldPersonnel['id'] : 0,
|
||||
];
|
||||
$isToExamine = 0;// 是否免审核 0=需要审核,1=无需审核
|
||||
switch((int)$applyInfo['agent_type']){
|
||||
case 2:
|
||||
$isToExamine = $config['province_process'] ?? 0;
|
||||
$data['platform_brokerage'] = $config['province_money_platform'] ?? 0;
|
||||
$data['initiator_brokerage'] = $config['province_money_initiator'] ?? 0;
|
||||
break;
|
||||
case 9:
|
||||
$isToExamine = $config['field_personnel_process'] ?? 0;
|
||||
$data['platform_brokerage'] = $config['field_personnel_money_platform'] ?? 0;
|
||||
$data['initiator_brokerage'] = $config['field_personnel_money_initiator'] ?? 0;
|
||||
break;
|
||||
case 10:
|
||||
$isToExamine = $config['external_personnel_process'] ?? 0;
|
||||
$data['platform_brokerage'] = $config['external_personnel_money_platform'] ?? 0;
|
||||
$data['initiator_brokerage'] = $config['external_personnel_money_initiator'] ?? 0;
|
||||
break;
|
||||
case 3:
|
||||
$isToExamine = $config['field_staff_process'] ?? 0;
|
||||
$data['platform_brokerage'] = $config['field_staff_money_platform'] ?? 0;
|
||||
$data['initiator_brokerage'] = $config['field_staff_money_initiator'] ?? 0;
|
||||
$data['province_brokerage'] = $config['field_staff_money_province'] ?? 0;
|
||||
break;
|
||||
case 4:
|
||||
$isToExamine = $config['internal_staff_process'] ?? 0;
|
||||
$data['platform_brokerage'] = $config['internal_staff_money_platform'] ?? 0;
|
||||
$data['initiator_brokerage'] = $config['internal_staff_money_initiator'] ?? 0;
|
||||
$data['province_brokerage'] = $config['internal_staff_money_province'] ?? 0;
|
||||
break;
|
||||
case 5:
|
||||
$isToExamine = $config['operator_process'] ?? 0;
|
||||
$data['platform_brokerage'] = $config['operator_money_platform'] ?? 0;
|
||||
$data['initiator_brokerage'] = $config['operator_money_initiator'] ?? 0;
|
||||
$data['province_brokerage'] = $config['operator_money_province'] ?? 0;
|
||||
$data['field_staff_brokerage'] = $config['operator_money_field_staff'] ?? 0;
|
||||
break;
|
||||
case 6:
|
||||
$isToExamine = $config['partner_process'] ?? 0;
|
||||
$data['platform_brokerage'] = $config['partner_money_platform'] ?? 0;
|
||||
$data['initiator_brokerage'] = $config['partner_money_initiator'] ?? 0;
|
||||
$data['province_brokerage'] = $config['partner_money_province'] ?? 0;
|
||||
$data['field_staff_brokerage'] = $config['partner_money_field_staff'] ?? 0;
|
||||
$data['area_store_brokerage'] = $config['partner_money_operator'] ?? 0;
|
||||
break;
|
||||
case 7:
|
||||
$isToExamine = $config['mer_process'] ?? 0;
|
||||
$data['platform_brokerage'] = $config['mer_money_platform'] ?? 0;
|
||||
$data['initiator_brokerage'] = $config['mer_money_initiator'] ?? 0;
|
||||
$data['province_brokerage'] = $config['mer_money_province'] ?? 0;
|
||||
$data['field_staff_brokerage'] = $config['mer_money_field_staff'] ?? 0;
|
||||
$data['area_store_brokerage'] = $config['mer_money_operator'] ?? 0;
|
||||
$data['area_brokerage'] = $config['mer_money_partner'] ?? 0;
|
||||
break;
|
||||
case 8:
|
||||
$isToExamine = $config['delivery_process'] ?? 0;
|
||||
$data['platform_brokerage'] = $config['delivery_money_platform'] ?? 0;
|
||||
$data['initiator_brokerage'] = $config['delivery_money_initiator'] ?? 0;
|
||||
$data['province_brokerage'] = $config['delivery_money_province'] ?? 0;
|
||||
$data['field_staff_brokerage'] = $config['delivery_money_field_staff'] ?? 0;
|
||||
$data['area_store_brokerage'] = $config['delivery_money_operator'] ?? 0;
|
||||
$data['area_brokerage'] = $config['delivery_money_partner'] ?? 0;
|
||||
break;
|
||||
}
|
||||
// 佣金处理
|
||||
$currentSet = $agentBaseSet[$applyInfo['agent_type']] ?? [];
|
||||
$isToExamine = (int)($currentSet['is_examine'] ?? 0);// 是否免审核 0=需要审核,1=无需审核
|
||||
$commissionList = (array)($currentSet['commission_list'] ?? []);
|
||||
$data['platform_brokerage'] = $commissionList['platform'] ?? 0;// 平台奖励
|
||||
$data['initiator_brokerage'] = $commissionList['initiator'] ?? 0;//总部发起人奖励
|
||||
$data['field_personnel_brokerage'] = $commissionList['field_personnel'] ?? 0;// 总部外勤奖励
|
||||
$data['province_brokerage'] = $commissionList['province'] ?? 0;//省公司发起人奖励
|
||||
$data['field_staff_brokerage'] = $commissionList['field_staff'] ?? 0;//省公司外勤奖励
|
||||
$data['area_store_brokerage'] = $commissionList['operator'] ?? 0;//区县运营商奖励
|
||||
$data['area_brokerage'] = $commissionList['partner'] ?? 0;// 区县合伙人奖励
|
||||
AgentBrokerage::insert($data);
|
||||
// 判断:是否免审核
|
||||
if($isToExamine){
|
||||
|
|
|
|||
|
|
@ -345,84 +345,155 @@ class AgentRepository extends BaseRepository{
|
|||
*/
|
||||
public function getConfig(){
|
||||
$config = systemConfig([
|
||||
'delivery_money',
|
||||
'delivery_money_field_staff',
|
||||
'delivery_money_initiator',
|
||||
'delivery_money_operator',
|
||||
'delivery_money_partner',
|
||||
'delivery_money_platform',
|
||||
'delivery_money_province',
|
||||
'delivery_process',
|
||||
'field_staff_money',
|
||||
'field_staff_money_initiator',
|
||||
'field_staff_money_platform',
|
||||
'field_staff_money_province',
|
||||
'field_staff_process',
|
||||
'internal_staff_money',
|
||||
'internal_staff_money_initiator',
|
||||
'internal_staff_money_platform',
|
||||
'internal_staff_money_province',
|
||||
'internal_staff_process',
|
||||
'mer_money',
|
||||
'mer_money_field_staff',
|
||||
'mer_money_initiator',
|
||||
'mer_money_operator',
|
||||
'mer_money_partner',
|
||||
'mer_money_platform',
|
||||
'mer_money_province',
|
||||
'mer_process',
|
||||
'operator_money',
|
||||
'operator_money_field_staff',
|
||||
'operator_money_initiator',
|
||||
'operator_money_platform',
|
||||
'operator_money_province',
|
||||
'operator_process',
|
||||
'partner_money',
|
||||
'partner_money_field_staff',
|
||||
'partner_money_initiator',
|
||||
'partner_money_operator',
|
||||
'partner_money_platform',
|
||||
'partner_money_province',
|
||||
'partner_process',
|
||||
'province_money',
|
||||
'province_money_initiator',
|
||||
'province_money_platform',
|
||||
'province_process',
|
||||
// 总部外勤相关
|
||||
'province_money_field_personnel',
|
||||
'field_staff_money_field_personnel',
|
||||
'internal_staff_money_field_personnel',
|
||||
'operator_money_field_personnel',
|
||||
'partner_money_field_personnel',
|
||||
'mer_money_field_personnel',
|
||||
'delivery_money_field_personnel',
|
||||
'field_personnel_money',
|
||||
'field_personnel_process',
|
||||
'field_personnel_money_platform',
|
||||
'field_personnel_money_initiator',
|
||||
'external_personnel_money',
|
||||
'external_personnel_process',
|
||||
'external_personnel_money_platform',
|
||||
'external_personnel_money_initiator',
|
||||
// 配送商赠送品牌额度
|
||||
'delivery_give_title_quota',
|
||||
'delivery_give_other_quota',
|
||||
// 邀请限制
|
||||
'invite_limit',
|
||||
// 配送商缴费设置
|
||||
'payment_list'
|
||||
'payment_list',
|
||||
// 配送商缴费设置
|
||||
'agent_base_set'
|
||||
]);
|
||||
$config['delivery_process'] = (int)$config['delivery_process'];
|
||||
$config['field_staff_process'] = (int)$config['field_staff_process'];
|
||||
$config['internal_staff_process'] = (int)$config['internal_staff_process'];
|
||||
$config['mer_process'] = (int)$config['mer_process'];
|
||||
$config['operator_process'] = (int)$config['operator_process'];
|
||||
$config['partner_process'] = (int)$config['partner_process'];
|
||||
$config['province_process'] = (int)$config['province_process'];
|
||||
$config['field_personnel_process'] = (int)$config['field_personnel_process'];
|
||||
$config['external_personnel_process'] = (int)$config['external_personnel_process'];
|
||||
$config['invite_limit'] = $config['invite_limit'] ? (array)$config['invite_limit'] : [];
|
||||
$config['payment_list'] = $config['payment_list'] ? (array)$config['payment_list'] : [];
|
||||
// 邀请限制
|
||||
$config['invite_limit'] = !empty($config['invite_limit']) ? (array)$config['invite_limit'] : [];
|
||||
// 配送商缴费设置
|
||||
$config['payment_list'] = !empty($config['payment_list']) ? (array)$config['payment_list'] : [];
|
||||
// 每个角色基本配置信息
|
||||
$config['agent_base_set'] = !empty($config['agent_base_set']) ? (array)$config['agent_base_set'] : [];
|
||||
$agentList = [
|
||||
// '1' => ['title' => '总部发起人','is_examine' => 0,'total_money' => '','deposit_list' => [],'commission_list' => []],
|
||||
'2' => [
|
||||
'title' => '省公司发起人',
|
||||
'is_examine' => 0,
|
||||
'total_money' => '',
|
||||
'deposit_list' => [],
|
||||
'commission_list' => [
|
||||
'platform' => '',// 平台奖励
|
||||
'initiator' => '',// 总部发起人奖励
|
||||
'field_personnel' => '',// 总部外勤奖励
|
||||
]
|
||||
],
|
||||
'3' => [
|
||||
'title' => '省公司外勤',
|
||||
'is_examine' => 0,
|
||||
'total_money' => '',
|
||||
'deposit_list' => [],
|
||||
'commission_list' => [
|
||||
'platform' => '',// 平台奖励
|
||||
'initiator' => '',// 总部发起人奖励
|
||||
'field_personnel' => '',// 总部外勤奖励
|
||||
'province' => '',// 省公司发起人奖励
|
||||
]
|
||||
],
|
||||
'4' => [
|
||||
'title' => '省公司内勤',
|
||||
'is_examine' => 0,
|
||||
'total_money' => '',
|
||||
'deposit_list' => [],
|
||||
'commission_list' => [
|
||||
'platform' => '',// 平台奖励
|
||||
'initiator' => '',// 总部发起人奖励
|
||||
'field_personnel' => '',// 总部外勤奖励
|
||||
'province' => '',// 省公司发起人奖励
|
||||
]
|
||||
],
|
||||
'5' => [
|
||||
'title' => '区县运营商',
|
||||
'is_examine' => 0,
|
||||
'total_money' => '',
|
||||
'deposit_list' => [],
|
||||
'commission_list' => [
|
||||
'platform' => '',// 平台奖励
|
||||
'initiator' => '',// 总部发起人奖励
|
||||
'field_personnel' => '',// 总部外勤奖励
|
||||
'province' => '',// 省公司发起人奖励
|
||||
'field_staff' => '',// 省公司外勤奖励
|
||||
]
|
||||
],
|
||||
'6' => [
|
||||
'title' => '区县合伙人',
|
||||
'is_examine' => 0,
|
||||
'total_money' => '',
|
||||
'deposit_list' => [],
|
||||
'commission_list' => [
|
||||
'platform' => '',// 平台奖励
|
||||
'initiator' => '',// 总部发起人奖励
|
||||
'field_personnel' => '',// 总部外勤奖励
|
||||
'province' => '',// 省公司发起人奖励
|
||||
'field_staff' => '',// 省公司外勤奖励
|
||||
'operator' => '',// 运营商奖励
|
||||
]
|
||||
],
|
||||
'7' => [
|
||||
'title' => '餐厅',
|
||||
'is_examine' => 0,
|
||||
'total_money' => '',
|
||||
'deposit_list' => [],
|
||||
'commission_list' => [
|
||||
'platform' => '',// 平台奖励
|
||||
'initiator' => '',// 总部发起人奖励
|
||||
'field_personnel' => '',// 总部外勤奖励
|
||||
'province' => '',// 省公司发起人奖励
|
||||
'field_staff' => '',// 省公司外勤奖励
|
||||
'operator' => '',// 区县运营商奖励
|
||||
'partner' => '',// 区县合伙人奖励
|
||||
]
|
||||
],
|
||||
'8' => [
|
||||
'title' => '配送商',
|
||||
'is_examine' => 0,
|
||||
'total_money' => '',
|
||||
'deposit_list' => [],
|
||||
'commission_list' => [
|
||||
'platform' => '',// 平台奖励
|
||||
'initiator' => '',// 总部发起人奖励
|
||||
'field_personnel' => '',// 总部外勤奖励
|
||||
'province' => '',// 省公司发起人奖励
|
||||
'field_staff' => '',// 省公司外勤奖励
|
||||
'operator' => '',// 区县运营商奖励
|
||||
'partner' => '',// 区县合伙人奖励
|
||||
],
|
||||
'title_quota' => '',
|
||||
'other_quota' => ''
|
||||
],
|
||||
'9' => [
|
||||
'title' => '总部外勤',
|
||||
'is_examine' => 0,
|
||||
'total_money' => '',
|
||||
'deposit_list' => [],
|
||||
'commission_list' => [
|
||||
'platform' => '',// 平台奖励
|
||||
'initiator' => '',// 总部发起人奖励
|
||||
]
|
||||
],
|
||||
'10' => [
|
||||
'title' => '总部内勤',
|
||||
'is_examine' => 0,
|
||||
'total_money' => '',
|
||||
'deposit_list' => [],
|
||||
'commission_list' => [
|
||||
'platform' => '',// 平台奖励
|
||||
'initiator' => '',// 总部发起人奖励
|
||||
]
|
||||
],
|
||||
'11' => [
|
||||
'title' => '烟酒店代销商',
|
||||
'is_examine' => 0,
|
||||
'total_money' => '',
|
||||
'deposit_list' => [],
|
||||
'commission_list' => [
|
||||
'platform' => '',// 平台奖励
|
||||
'initiator' => '',// 总部发起人奖励
|
||||
'field_personnel' => '',// 总部外勤奖励
|
||||
'province' => '',// 省公司发起人奖励
|
||||
'field_staff' => '',// 省公司外勤奖励
|
||||
'operator' => '',// 区县运营商奖励
|
||||
'partner' => '',// 区县合伙人奖励
|
||||
]
|
||||
],
|
||||
];
|
||||
foreach($agentList as $agentKey => $agentSet){
|
||||
$currentInfo = $config['agent_base_set'][$agentKey] ?? [];
|
||||
$config['agent_base_set'][$agentKey] = array_merge((array)$agentSet, (array)$currentInfo);
|
||||
}
|
||||
|
||||
return $config;
|
||||
}
|
||||
|
|
|
|||
|
|
@ -366,72 +366,12 @@ class Agent extends BaseController{
|
|||
*/
|
||||
public function setConfig(){
|
||||
$config = $this->request->params([
|
||||
['delivery_money',0],
|
||||
['delivery_money_field_staff',0],
|
||||
['delivery_money_initiator',0],
|
||||
['delivery_money_operator',0],
|
||||
['delivery_money_partner',0],
|
||||
['delivery_money_platform',0],
|
||||
['delivery_money_province',0],
|
||||
['delivery_process',0],
|
||||
['field_staff_money',0],
|
||||
['field_staff_money_initiator',0],
|
||||
['field_staff_money_platform',0],
|
||||
['field_staff_money_province',0],
|
||||
['field_staff_process',0],
|
||||
['internal_staff_money',0],
|
||||
['internal_staff_money_initiator',0],
|
||||
['internal_staff_money_platform',0],
|
||||
['internal_staff_money_province',0],
|
||||
['internal_staff_process',0],
|
||||
['mer_money',0],
|
||||
['mer_money_field_staff',0],
|
||||
['mer_money_initiator',0],
|
||||
['mer_money_operator',0],
|
||||
['mer_money_partner',0],
|
||||
['mer_money_platform',0],
|
||||
['mer_money_province',0],
|
||||
['mer_process',0],
|
||||
['operator_money',0],
|
||||
['operator_money_field_staff',0],
|
||||
['operator_money_initiator',0],
|
||||
['operator_money_platform',0],
|
||||
['operator_money_province',0],
|
||||
['operator_process',0],
|
||||
['partner_money',0],
|
||||
['partner_money_field_staff',0],
|
||||
['partner_money_initiator',0],
|
||||
['partner_money_operator',0],
|
||||
['partner_money_platform',0],
|
||||
['partner_money_province',0],
|
||||
['partner_process',0],
|
||||
['province_money',0],
|
||||
['province_money_initiator',0],
|
||||
['province_money_platform',0],
|
||||
['province_process',0],
|
||||
// 总部外勤佣金
|
||||
['province_money_field_personnel',0],
|
||||
['field_staff_money_field_personnel',0],
|
||||
['internal_staff_money_field_personnel',0],
|
||||
['operator_money_field_personnel',0],
|
||||
['partner_money_field_personnel',0],
|
||||
['mer_money_field_personnel',0],
|
||||
['delivery_money_field_personnel',0],
|
||||
['field_personnel_money',0],
|
||||
['field_personnel_process',0],
|
||||
['field_personnel_money_platform',0],
|
||||
['field_personnel_money_initiator',0],
|
||||
['external_personnel_money',0],
|
||||
['external_personnel_process',0],
|
||||
['external_personnel_money_platform',0],
|
||||
['external_personnel_money_initiator',0],
|
||||
// 配送商赠送品牌额度
|
||||
['delivery_give_title_quota',0],
|
||||
['delivery_give_other_quota',0],
|
||||
// 邀请限制
|
||||
['invite_limit',[]],
|
||||
// 配送商缴费设置
|
||||
['payment_list',[]],
|
||||
// 每个角色基本配置信息
|
||||
['agent_base_set',[]],
|
||||
]);
|
||||
// 保存信息
|
||||
$cid = app()->make(ConfigClassifyRepository::class)->getConfigClassifyKeyById('agent_config', '代理中心配置');
|
||||
|
|
|
|||
Loading…
Reference in New Issue