|
@@ -22,6 +22,7 @@ import com.qunzhixinxi.hnqz.admin.entity.input.SettleNoteStatusOutput;
|
|
|
import com.qunzhixinxi.hnqz.admin.entity.input.WmScorePackageSettleInput;
|
|
|
import com.qunzhixinxi.hnqz.admin.entity.input.WmScorePackageSettleOutput;
|
|
|
import com.qunzhixinxi.hnqz.admin.api.model.WmScorePackageSettleExcelModel;
|
|
|
+import com.qunzhixinxi.hnqz.admin.enums.DelEnum;
|
|
|
import com.qunzhixinxi.hnqz.admin.enums.PackageFinishStatusEnum;
|
|
|
import com.qunzhixinxi.hnqz.admin.enums.PackageTypeEnum;
|
|
|
import com.qunzhixinxi.hnqz.admin.enums.ScorePackageStatusEnum;
|
|
@@ -31,6 +32,7 @@ import com.qunzhixinxi.hnqz.admin.enums.SubjectTypeEnum;
|
|
|
import com.qunzhixinxi.hnqz.admin.mapper.SysDictItemMapper;
|
|
|
import com.qunzhixinxi.hnqz.admin.mapper.SysUserMapper;
|
|
|
import com.qunzhixinxi.hnqz.admin.mapper.SysUserSubMapper;
|
|
|
+import com.qunzhixinxi.hnqz.admin.mapper.WmDaAgentMapper;
|
|
|
import com.qunzhixinxi.hnqz.admin.mapper.WmPayOffMapper;
|
|
|
import com.qunzhixinxi.hnqz.admin.service.*;
|
|
|
import com.qunzhixinxi.hnqz.common.core.constant.CommonConstants;
|
|
@@ -92,6 +94,7 @@ public class WmPayOffServiceImpl extends ServiceImpl<WmPayOffMapper, WmPayOff> i
|
|
|
private final WmTaskService wmTaskService;
|
|
|
private final WmScorePackageStatusService wmScorePackageStatusService;
|
|
|
private final WmScorePackageSettleNoteService noteService;
|
|
|
+ private final WmDaAgentMapper wmDaAgentMapper;
|
|
|
private final SysDeptService sysDeptService;
|
|
|
private final SysDeptSubService sysDeptSubService;
|
|
|
private final SysDictItemMapper sysDictItemMapper;
|
|
@@ -390,6 +393,19 @@ public class WmPayOffServiceImpl extends ServiceImpl<WmPayOffMapper, WmPayOff> i
|
|
|
SubjectLocation location = input.getSubjectLocation();
|
|
|
|
|
|
Integer deptId = SecurityUtils.getUser().getDeptId();
|
|
|
+
|
|
|
+ // 查询当前企业是否为代理商,并且是否配置了MAH权限
|
|
|
+ WmDaAgent agent = wmDaAgentMapper.selectOne(Wrappers.<WmDaAgent>lambdaQuery()
|
|
|
+ .eq(WmDaAgent::getDeptId, deptId)
|
|
|
+ .eq(WmDaAgent::getDelFlag, DelEnum.NOT_DEL.val()));
|
|
|
+
|
|
|
+ boolean mahConfiged = agent != null && agent.getMahSettleDeptId() != null;
|
|
|
+
|
|
|
+ if (SubjectLocation.MAH_SETTLE.equals(input.getSubjectLocation()) && !mahConfiged) {
|
|
|
+ // MAH配置和传参不匹配时,返回异常提示
|
|
|
+ throw new BizException("没有配置MAH结算权限");
|
|
|
+ }
|
|
|
+
|
|
|
if (SubjectLocation.MAH_SETTLE.equals(input.getSubjectLocation())) {
|
|
|
// 默认在当前企业,取一个结算渠道
|
|
|
SysDeptSub condition = new SysDeptSub();
|
|
@@ -397,19 +413,25 @@ public class WmPayOffServiceImpl extends ServiceImpl<WmPayOffMapper, WmPayOff> i
|
|
|
condition.setEnableFlag(SubjectTypeEnum.ENABLE_FLAG_TRUE.getCode());
|
|
|
List<SysDeptSub> deptSubs = sysDeptSubService.list(Wrappers.query(condition));
|
|
|
if (CollUtil.isEmpty(deptSubs)) {
|
|
|
- return R.failed("结算渠道不存在");
|
|
|
+ throw new BizException("结算渠道不存在");
|
|
|
}
|
|
|
location = deptSubs.get(0).getSubjectLocation();
|
|
|
}
|
|
|
|
|
|
- // 校验是否配置了结算限制
|
|
|
- SysDeptSub queryDeptSub = sysDeptSubService.getOne(Wrappers.<SysDeptSub>lambdaQuery()
|
|
|
- .eq(SysDeptSub::getDeptId, SecurityUtils.getUser().getDeptId())
|
|
|
- .eq(SysDeptSub::getSubjectLocation, location)
|
|
|
- .eq(SysDeptSub::getEnableFlag, SubjectTypeEnum.ENABLE_FLAG_TRUE.getCode()));
|
|
|
- if (!queryDeptSub.getSettleEnable()) {
|
|
|
- log.info("{}企业配置了结算限制", deptId);
|
|
|
- throw new RuntimeException("系统维护中,请联系管理员");
|
|
|
+ // MAH结算跳过此校验
|
|
|
+ if (!mahConfiged) {
|
|
|
+ // 校验是否配置了结算限制, 有结算限制则不允许结算(即)
|
|
|
+ SysDeptSub queryDeptSub = sysDeptSubService.getOne(Wrappers.<SysDeptSub>lambdaQuery()
|
|
|
+ .eq(SysDeptSub::getDeptId, deptId)
|
|
|
+ .eq(SysDeptSub::getSubjectLocation, location)
|
|
|
+ .eq(SysDeptSub::getEnableFlag, SubjectTypeEnum.ENABLE_FLAG_TRUE.getCode()));
|
|
|
+ if (queryDeptSub == null) {
|
|
|
+ throw new BizException("结算渠道不存在");
|
|
|
+ }
|
|
|
+ if (!queryDeptSub.getSettleEnable()) {
|
|
|
+ log.info("{}企业配置了结算限制", deptId);
|
|
|
+ throw new BizException("系统维护中,请联系管理员");
|
|
|
+ }
|
|
|
}
|
|
|
|
|
|
// 校验人员信息
|