|
@@ -47,6 +47,7 @@ import com.qunzhixinxi.hnqz.admin.config.UpmsConfig;
|
|
|
import com.qunzhixinxi.hnqz.admin.entity.MedicalEquipment;
|
|
|
import com.qunzhixinxi.hnqz.admin.entity.SysDeptSub;
|
|
|
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.WmDaDistribution;
|
|
|
import com.qunzhixinxi.hnqz.admin.entity.WmDaDrugEnt;
|
|
@@ -77,6 +78,7 @@ import com.qunzhixinxi.hnqz.admin.entity.vo.SysUserSubVO;
|
|
|
import com.qunzhixinxi.hnqz.admin.entity.vo.WmTaskTypeVO;
|
|
|
import com.qunzhixinxi.hnqz.admin.enums.DelEnum;
|
|
|
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.PackageTypeEnum;
|
|
|
import com.qunzhixinxi.hnqz.admin.enums.ScorePackageStatusEnum;
|
|
@@ -95,6 +97,7 @@ import com.qunzhixinxi.hnqz.admin.service.SysFileService;
|
|
|
import com.qunzhixinxi.hnqz.admin.service.SysPublicParamService;
|
|
|
import com.qunzhixinxi.hnqz.admin.service.SysUserExtRecordService;
|
|
|
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.WmDaAgentService;
|
|
|
import com.qunzhixinxi.hnqz.admin.service.WmDaDistributionService;
|
|
@@ -129,7 +132,6 @@ import com.qunzhixinxi.hnqz.admin.util.OsEnvUtils;
|
|
|
import com.qunzhixinxi.hnqz.admin.util.QRCodeGenerator;
|
|
|
import com.qunzhixinxi.hnqz.admin.view.user.UserUpdateInput;
|
|
|
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.UpmsState;
|
|
|
import com.qunzhixinxi.hnqz.common.core.exception.BizException;
|
|
@@ -233,6 +235,7 @@ public class ApiController {
|
|
|
private final WmAdRecordService adRecordService;
|
|
|
private final SysUserSignCertService sysUserSignCertService;
|
|
|
private final SysUserExtRecordService sysUserExtRecordService;
|
|
|
+ private final SysUserSubService sysUserSubService;
|
|
|
private final WmTaskSubmissionRuleService taskSubmissionRuleService;
|
|
|
private final WmTaskSubmissionPercentRuleService wmTaskSubmissionPercentRuleService;
|
|
|
private final SysDeptCsmService deptCsmService;
|
|
@@ -2234,6 +2237,7 @@ public class ApiController {
|
|
|
@PostMapping("/pkg/pickup")
|
|
|
@Transactional(rollbackFor = Exception.class)
|
|
|
public R<?> receivePackage(@Valid @RequestBody WmPkgDTO.OnPkgPickup resource) {
|
|
|
+ log.info("小程序领取积分包参数:{}", resource);
|
|
|
|
|
|
String pkgId = resource.getPkgId();
|
|
|
WmScorePackage wmScorePackage = wmScorePackageService.getById(pkgId);
|
|
@@ -2254,7 +2258,9 @@ public class ApiController {
|
|
|
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) {
|
|
|
return R.failed("账号出错");
|
|
@@ -2284,6 +2290,20 @@ public class ApiController {
|
|
|
return R.failed("积分包已领取");
|
|
|
}
|
|
|
|
|
|
+ // 校验是否已经认证
|
|
|
+ List<SysUserSub> userSubList = sysUserSubService.list(Wrappers.<SysUserSub>lambdaQuery()
|
|
|
+ .eq(SysUserSub::getDeptId, userVO.getDeptId())
|
|
|
+ .eq(SysUserSub::getUserId, userId));
|
|
|
+ if (CollUtil.isEmpty(userSubList)) {
|
|
|
+ return R.failed(null, 4001, "该积分包需要认证成功后才能领取,请点击“去认证”完成认证");
|
|
|
+ }
|
|
|
+ // 该企业下只要有一个渠道是 “已核身/已认证”就可以领包
|
|
|
+ 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.failed(null, 4001, "该积分包需要认证成功后才能领取,请点击“去认证”完成认证");
|
|
|
+ }
|
|
|
+
|
|
|
// 封装结果
|
|
|
WmScorePackageStatus wmScorePackageStatus = new WmScorePackageStatus();
|
|
|
wmScorePackageStatus.setPackageId(pkgId);
|