|
@@ -47,6 +47,7 @@ import com.qunzhixinxi.hnqz.admin.config.UpmsConfig;
|
|
import com.qunzhixinxi.hnqz.admin.entity.MedicalEquipment;
|
|
import com.qunzhixinxi.hnqz.admin.entity.MedicalEquipment;
|
|
import com.qunzhixinxi.hnqz.admin.entity.SysDeptSub;
|
|
import com.qunzhixinxi.hnqz.admin.entity.SysDeptSub;
|
|
import com.qunzhixinxi.hnqz.admin.entity.SysUserExtRecord;
|
|
import com.qunzhixinxi.hnqz.admin.entity.SysUserExtRecord;
|
|
|
|
+import com.qunzhixinxi.hnqz.admin.entity.SysUserSub;
|
|
import com.qunzhixinxi.hnqz.admin.entity.WmDaAgent;
|
|
import com.qunzhixinxi.hnqz.admin.entity.WmDaAgent;
|
|
import com.qunzhixinxi.hnqz.admin.entity.WmDaDistribution;
|
|
import com.qunzhixinxi.hnqz.admin.entity.WmDaDistribution;
|
|
import com.qunzhixinxi.hnqz.admin.entity.WmDaDrugEnt;
|
|
import com.qunzhixinxi.hnqz.admin.entity.WmDaDrugEnt;
|
|
@@ -76,7 +77,9 @@ import com.qunzhixinxi.hnqz.admin.entity.input.WmWkAlbumApiInput;
|
|
import com.qunzhixinxi.hnqz.admin.entity.vo.SysUserSubVO;
|
|
import com.qunzhixinxi.hnqz.admin.entity.vo.SysUserSubVO;
|
|
import com.qunzhixinxi.hnqz.admin.entity.vo.WmTaskTypeVO;
|
|
import com.qunzhixinxi.hnqz.admin.entity.vo.WmTaskTypeVO;
|
|
import com.qunzhixinxi.hnqz.admin.enums.DelEnum;
|
|
import com.qunzhixinxi.hnqz.admin.enums.DelEnum;
|
|
|
|
+import com.qunzhixinxi.hnqz.admin.enums.DeptPermissionEnum;
|
|
import com.qunzhixinxi.hnqz.admin.enums.EnableEnum;
|
|
import com.qunzhixinxi.hnqz.admin.enums.EnableEnum;
|
|
|
|
+import com.qunzhixinxi.hnqz.admin.enums.GigCallBackStatus;
|
|
import com.qunzhixinxi.hnqz.admin.enums.PackageStatusEnum;
|
|
import com.qunzhixinxi.hnqz.admin.enums.PackageStatusEnum;
|
|
import com.qunzhixinxi.hnqz.admin.enums.PackageTypeEnum;
|
|
import com.qunzhixinxi.hnqz.admin.enums.PackageTypeEnum;
|
|
import com.qunzhixinxi.hnqz.admin.enums.ScorePackageStatusEnum;
|
|
import com.qunzhixinxi.hnqz.admin.enums.ScorePackageStatusEnum;
|
|
@@ -95,6 +98,7 @@ import com.qunzhixinxi.hnqz.admin.service.SysFileService;
|
|
import com.qunzhixinxi.hnqz.admin.service.SysPublicParamService;
|
|
import com.qunzhixinxi.hnqz.admin.service.SysPublicParamService;
|
|
import com.qunzhixinxi.hnqz.admin.service.SysUserExtRecordService;
|
|
import com.qunzhixinxi.hnqz.admin.service.SysUserExtRecordService;
|
|
import com.qunzhixinxi.hnqz.admin.service.SysUserService;
|
|
import com.qunzhixinxi.hnqz.admin.service.SysUserService;
|
|
|
|
+import com.qunzhixinxi.hnqz.admin.service.SysUserSubService;
|
|
import com.qunzhixinxi.hnqz.admin.service.WmAdRecordService;
|
|
import com.qunzhixinxi.hnqz.admin.service.WmAdRecordService;
|
|
import com.qunzhixinxi.hnqz.admin.service.WmDaAgentService;
|
|
import com.qunzhixinxi.hnqz.admin.service.WmDaAgentService;
|
|
import com.qunzhixinxi.hnqz.admin.service.WmDaDistributionService;
|
|
import com.qunzhixinxi.hnqz.admin.service.WmDaDistributionService;
|
|
@@ -129,7 +133,6 @@ import com.qunzhixinxi.hnqz.admin.util.OsEnvUtils;
|
|
import com.qunzhixinxi.hnqz.admin.util.QRCodeGenerator;
|
|
import com.qunzhixinxi.hnqz.admin.util.QRCodeGenerator;
|
|
import com.qunzhixinxi.hnqz.admin.view.user.UserUpdateInput;
|
|
import com.qunzhixinxi.hnqz.admin.view.user.UserUpdateInput;
|
|
import com.qunzhixinxi.hnqz.common.core.constant.CommonConstants;
|
|
import com.qunzhixinxi.hnqz.common.core.constant.CommonConstants;
|
|
-import com.qunzhixinxi.hnqz.common.core.constant.enums.CommonFlag;
|
|
|
|
import com.qunzhixinxi.hnqz.common.core.constant.enums.LoginTypeEnum;
|
|
import com.qunzhixinxi.hnqz.common.core.constant.enums.LoginTypeEnum;
|
|
import com.qunzhixinxi.hnqz.common.core.constant.enums.UpmsState;
|
|
import com.qunzhixinxi.hnqz.common.core.constant.enums.UpmsState;
|
|
import com.qunzhixinxi.hnqz.common.core.exception.BizException;
|
|
import com.qunzhixinxi.hnqz.common.core.exception.BizException;
|
|
@@ -233,6 +236,7 @@ public class ApiController {
|
|
private final WmAdRecordService adRecordService;
|
|
private final WmAdRecordService adRecordService;
|
|
private final SysUserSignCertService sysUserSignCertService;
|
|
private final SysUserSignCertService sysUserSignCertService;
|
|
private final SysUserExtRecordService sysUserExtRecordService;
|
|
private final SysUserExtRecordService sysUserExtRecordService;
|
|
|
|
+ private final SysUserSubService sysUserSubService;
|
|
private final WmTaskSubmissionRuleService taskSubmissionRuleService;
|
|
private final WmTaskSubmissionRuleService taskSubmissionRuleService;
|
|
private final WmTaskSubmissionPercentRuleService wmTaskSubmissionPercentRuleService;
|
|
private final WmTaskSubmissionPercentRuleService wmTaskSubmissionPercentRuleService;
|
|
private final SysDeptCsmService deptCsmService;
|
|
private final SysDeptCsmService deptCsmService;
|
|
@@ -2236,6 +2240,7 @@ public class ApiController {
|
|
@PostMapping("/pkg/pickup")
|
|
@PostMapping("/pkg/pickup")
|
|
@Transactional(rollbackFor = Exception.class)
|
|
@Transactional(rollbackFor = Exception.class)
|
|
public R<?> receivePackage(@Valid @RequestBody WmPkgDTO.OnPkgPickup resource) {
|
|
public R<?> receivePackage(@Valid @RequestBody WmPkgDTO.OnPkgPickup resource) {
|
|
|
|
+ log.info("小程序领取积分包参数:{}", resource);
|
|
|
|
|
|
String pkgId = resource.getPkgId();
|
|
String pkgId = resource.getPkgId();
|
|
WmScorePackage wmScorePackage = wmScorePackageService.getById(pkgId);
|
|
WmScorePackage wmScorePackage = wmScorePackageService.getById(pkgId);
|
|
@@ -2256,7 +2261,9 @@ public class ApiController {
|
|
return R.failed("积分包不能领取");
|
|
return R.failed("积分包不能领取");
|
|
}
|
|
}
|
|
|
|
|
|
- UserVO userVO = sysUserService.selectUserVoById(SecurityUtils.getUser().getId());
|
|
|
|
|
|
+ Integer userId = SecurityUtils.getUser().getId();
|
|
|
|
+ log.info("当前领包人userId={}", userId);
|
|
|
|
+ UserVO userVO = sysUserService.selectUserVoById(userId);
|
|
|
|
|
|
if (null == userVO) {
|
|
if (null == userVO) {
|
|
return R.failed("账号出错");
|
|
return R.failed("账号出错");
|
|
@@ -2286,6 +2293,24 @@ public class ApiController {
|
|
return R.failed("积分包已领取");
|
|
return R.failed("积分包已领取");
|
|
}
|
|
}
|
|
|
|
|
|
|
|
+ // 校验企业是否开启了认证前置, 开启后则校验认证前置,否则不校验
|
|
|
|
+ SysDept sysDept = sysDeptService.getById(userVO.getDeptId());
|
|
|
|
+ if (ArrayUtil.contains(sysDept.getDeptPermissions(), DeptPermissionEnum.PRE_CERT.getVal())) {
|
|
|
|
+ // 校验是否已经认证
|
|
|
|
+ List<SysUserSub> userSubList = sysUserSubService.list(Wrappers.<SysUserSub>lambdaQuery()
|
|
|
|
+ .eq(SysUserSub::getDeptId, userVO.getDeptId())
|
|
|
|
+ .eq(SysUserSub::getUserId, userId));
|
|
|
|
+ if (CollUtil.isEmpty(userSubList)) {
|
|
|
|
+ return R.ok(1, "该积分包需要认证成功后才能领取,请点击“去认证”完成认证");
|
|
|
|
+ }
|
|
|
|
+ // 该企业下只要有一个渠道是 “已核身/已认证”就可以领包
|
|
|
|
+ boolean certNoMatch = userSubList.stream().noneMatch(userSub -> Arrays.asList(1, 15).contains(userSub.getCertStatus())
|
|
|
|
+ || (userSub.getCertStatus().equals(2) && GigCallBackStatus.IN_PROGRESS.equals(userSub.getCallbackStatus())));
|
|
|
|
+ if (certNoMatch) {
|
|
|
|
+ return R.ok(1, "该积分包需要认证成功后才能领取,请点击“去认证”完成认证");
|
|
|
|
+ }
|
|
|
|
+ }
|
|
|
|
+
|
|
// 封装结果
|
|
// 封装结果
|
|
WmScorePackageStatus wmScorePackageStatus = new WmScorePackageStatus();
|
|
WmScorePackageStatus wmScorePackageStatus = new WmScorePackageStatus();
|
|
wmScorePackageStatus.setPackageId(pkgId);
|
|
wmScorePackageStatus.setPackageId(pkgId);
|
|
@@ -2315,7 +2340,11 @@ public class ApiController {
|
|
updateScorePackage.setIsConduct("1");
|
|
updateScorePackage.setIsConduct("1");
|
|
wmScorePackageService.updateById(updateScorePackage);
|
|
wmScorePackageService.updateById(updateScorePackage);
|
|
|
|
|
|
- return saved ? R.ok(true, "领取积分包成功") : R.failed(false, "领取积分包失败");
|
|
|
|
|
|
+ // code为0时, data的取值含义
|
|
|
|
+ // 0-领包成功
|
|
|
|
+ // 1-需要认证
|
|
|
|
+ // 2-其他失败
|
|
|
|
+ return saved ? R.ok(0, "领取积分包成功") : R.failed(2, "领取积分包失败");
|
|
|
|
|
|
}
|
|
}
|
|
|
|
|