文件
xionggeshop/addons/shopro_huifu/library/onboard/HuifuOnboardAdminService.php
可乐加冰 2e7cbefdcd ```
feat(shopro_huifu): 添加汇付进件管理功能

- 新增汇付进件管理模块,支持新建、编辑进件流程
- 实现用户角色绑定验证功能,确保进件角色的有效性
- 集成Vue.js前端界面,提供完整的表单操作体验
- 支持个人和企业两种账户类型的进件资料录入
- 添加银行支行搜索功能,方便结算账户信息填写
- 完善进件状态管理和审核流程控制
- 增加图片上传组件,支持身份证、营业执照等证件上传
```
2026-09-29 15:40:36 +08:00

48 行
1.5 KiB
PHP

<?php
namespace addons\shopro_huifu\library\onboard;
use addons\shopro_huifu\model\Onboard;
use think\Db;
class HuifuOnboardAdminService
{
public function saveDraft($userId, $roleType, $roleRefId, array $formData)
{
$userId = intval($userId);
$roleRefId = intval($roleRefId);
if ($userId <= 0) {
throw new \InvalidArgumentException('请选择用户');
}
if (!in_array($roleType, ['promoter', 'regional_agent'], true)) {
throw new \InvalidArgumentException('请选择进件角色');
}
$this->assertRoleBinding($userId, $roleType, $roleRefId);
$service = new HuifuOnboardService();
return $service->saveDraft($userId, $roleType, $roleRefId, $formData);
}
protected function assertRoleBinding($userId, $roleType, $roleRefId)
{
if ($roleType === 'promoter') {
if ($roleRefId !== $userId) {
throw new \InvalidArgumentException('分销商角色参数无效');
}
$agent = Db::name('shopro_commission_agent')->where('user_id', $userId)->find();
if (!$agent) {
throw new \InvalidArgumentException('该用户不是分销商,无法创建分销商进件');
}
return;
}
$agent = Db::name('shopro_regional_agent')
->where('id', $roleRefId)
->where('user_id', $userId)
->find();
if (!$agent) {
throw new \InvalidArgumentException('区域公司与用户不匹配');
}
}
}