添加:代理商中心添加总部外勤和总部内勤角色

添加:申请成为总部内勤和总部外勤对应的费用及邀请人的佣金
This commit is contained in:
wuhui_zzw 2024-02-19 14:39:56 +08:00
parent 6fc66e83c2
commit 63bb244f8b
4 changed files with 62 additions and 14 deletions

View File

@ -55,7 +55,7 @@ class Agent extends BaseModel{
*/
public function getChildrenCountAttr():int{
if(($this->id ?? 0) > 0){
return self::where('pid',$this->id)->count();
return self::where('pid',$this->id)->where('is_del',0)->count();
}
return 0;
}

View File

@ -111,30 +111,34 @@ class AgentBrokerageRepository extends BaseRepository{
// 获取全部上级
$upAllList = app()->make(AgentRepository::class)->getAllUp($applyInfo['pid']);
$upAllList = array_column($upAllList, null, 'agent_type');
// 获取佣金信息 类型1=发起人,2=省公司,3=省合伙人(外勤),4=省合伙人(内勤),5=区县运营商,6=区县合伙人,7=餐厅,8=配送商
// 获取佣金信息 类型1=总部发起人,2=省公司发起人,3=省合伙人(外勤),4=省合伙人(内勤),5=区县运营商,6=区县合伙人,7=餐厅,8=配送商,9=总部外勤,10=总部内勤
$initiator = $upAllList[1] ?? [];
$province = $upAllList[2] ?? [];
$fieldStaff = $upAllList[3] ?? [];
$areaStore = $upAllList[5] ?? [];
$area = $upAllList[6] ?? [];
$fieldPersonnel = $upAllList[9] ?? [];
$data = [
'source' => 1,
'user_order_id' => $orderId,
'source' => 1,
'user_order_id' => $orderId,
// 发起人
'initiator_uid' => $initiator ? $initiator['uid'] : 0,
'initiator_agent_id' => $initiator ? $initiator['id'] : 0,
'initiator_uid' => $initiator ? $initiator['uid'] : 0,
'initiator_agent_id' => $initiator ? $initiator['id'] : 0,
// 省公司
'province_uid' => $province ? $province['uid'] : 0,
'province_agent_id' => $province ? $province['id'] : 0,
'province_uid' => $province ? $province['uid'] : 0,
'province_agent_id' => $province ? $province['id'] : 0,
// 外勤
'field_staff_uid' => $fieldStaff ? $fieldStaff['uid'] : 0,
'field_staff_agent_id' => $fieldStaff ? $fieldStaff['id'] : 0,
'field_staff_uid' => $fieldStaff ? $fieldStaff['uid'] : 0,
'field_staff_agent_id' => $fieldStaff ? $fieldStaff['id'] : 0,
// 运营商
'area_store_uid' => $areaStore ? $areaStore['uid'] : 0,
'area_store_agent_id' => $areaStore ? $areaStore['id'] : 0,
'area_store_uid' => $areaStore ? $areaStore['uid'] : 0,
'area_store_agent_id' => $areaStore ? $areaStore['id'] : 0,
// 合伙人
'area_uid' => $area ? $area['uid'] : 0,
'area_agent_id' => $area ? $area['id'] : 0,
'area_uid' => $area ? $area['uid'] : 0,
'area_agent_id' => $area ? $area['id'] : 0,
// 总部外勤
'field_personnel_uid' => $fieldPersonnel ? $fieldPersonnel['uid'] : 0,
'field_personnel_agent_id' => $fieldPersonnel ? $fieldPersonnel['id'] : 0,
];
$isToExamine = 0;// 是否免审核 0=需要审核1=无需审核
switch((int)$applyInfo['agent_type']){
@ -143,6 +147,16 @@ class AgentBrokerageRepository extends BaseRepository{
$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;

View File

@ -308,6 +308,22 @@ class AgentRepository extends BaseRepository{
'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',
]);
$config['delivery_process'] = (int)$config['delivery_process'];
$config['field_staff_process'] = (int)$config['field_staff_process'];
@ -316,6 +332,8 @@ class AgentRepository extends BaseRepository{
$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'];
return $config;
}

View File

@ -294,6 +294,22 @@ class Agent extends BaseController{
['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],
]);
// 保存信息
$cid = app()->make(ConfigClassifyRepository::class)->getConfigClassifyKeyById('agent_config', '代理中心配置');