浏览代码

Merge branch 'master' into feat-teammanage-20211207

lixuesong 3 年之前
父节点
当前提交
0238313dac

+ 22 - 8
hnqz-upms/hnqz-upms-biz/src/main/java/com/qunzhixinxi/hnqz/admin/controller/ApiController.java

@@ -1,9 +1,11 @@
 package com.qunzhixinxi.hnqz.admin.controller;
 
 import cn.hutool.core.bean.BeanUtil;
+import cn.hutool.core.collection.CollUtil;
 import cn.hutool.core.collection.CollectionUtil;
 import cn.hutool.core.date.DateUtil;
 import cn.hutool.core.lang.Assert;
+import cn.hutool.core.map.MapUtil;
 import cn.hutool.core.util.IdcardUtil;
 import cn.hutool.core.util.StrUtil;
 import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
@@ -2318,6 +2320,8 @@ public class ApiController {
 
 		SysDept sysDept = sysDeptService.getById(sysUser.getDeptId());
 
+		Map<SubjectTypeEnum,String> errorMap = new HashMap<>(2);
+
 		// 开启认证
 		if (CollectionUtils.isNotEmpty(userUpdateInput.getSubList())) {
 			for (String subType : userUpdateInput.getSubList()) {
@@ -2330,7 +2334,8 @@ public class ApiController {
 					subCondition.setSubjectType(SubjectTypeEnum.TYPE_RENLIJIA.getCode());
 					SysDeptSub deptSub = sysDeptSubService.getOne(Wrappers.query(subCondition));
 					if (null == deptSub || StringUtils.isBlank(deptSub.getAppId())) {
-						return R.failed("人员所在机构未配置结算信息");
+						errorMap.put(SubjectTypeEnum.TYPE_RENLIJIA, "人员所在机构未配置结算信息");
+						continue;
 					}
 
 					DingConfig config = new DingConfig();
@@ -2348,7 +2353,8 @@ public class ApiController {
 
 					EmployCheckResponse response = dingService.check(config, certList);
 					if (!response.isSuccess()) {
-						return R.failed("人力家接口调用失败");
+						errorMap.put(SubjectTypeEnum.TYPE_RENLIJIA, "人力家接口调用异常");
+						continue;
 					}
 					//接口请求成功,但是接口返回的状态还需区分checkStatus,1:验证通过,状态改成已提交,2:验证不通过,状态改成认证失败
 					List<EmployCheckResultItem> freelancesResult = response.getData().getFreelancesResult();
@@ -2380,12 +2386,12 @@ public class ApiController {
 										continue;
 									}
 									log.info("认证失败:" + employCheckResultItem.getCheckRemark());
-									return R.failed("认证失败:人力家认证失败");
+									errorMap.put(SubjectTypeEnum.TYPE_RENLIJIA, "认证失败:人力家认证失败");
 								}
 							}
 						}
 					} else {
-						return R.failed("人力家接口调用异常");
+						errorMap.put(SubjectTypeEnum.TYPE_RENLIJIA, "人力家接口调用异常");
 					}
 
 				} else if (SubjectTypeEnum.TYPE_SHUIBANGYUN.getCode().equals(subType)) {
@@ -2396,7 +2402,8 @@ public class ApiController {
 					subCondition.setSubjectType(SubjectTypeEnum.TYPE_SHUIBANGYUN.getCode());
 					SysDeptSub deptSub = sysDeptSubService.getOne(Wrappers.query(subCondition));
 					if (null == deptSub || StringUtils.isBlank(deptSub.getAppId())) {
-						return R.failed("人员所在机构未配置结算信息");
+						errorMap.put(SubjectTypeEnum.TYPE_SHUIBANGYUN, "人员所在机构未配置结算信息");
+						continue;
 					}
 
 					TaxHelperConfig config = new TaxHelperConfig();
@@ -2413,7 +2420,8 @@ public class ApiController {
 
 					model.setEnterpriseCode(sysDept.getTaxCode());
 					if (StringUtils.isEmpty(model.getEnterpriseCode())) {
-						return R.failed("未配置企业的统一社会信用代码");
+						errorMap.put(SubjectTypeEnum.TYPE_SHUIBANGYUN, "未配置企业的统一社会信用代码");
+						continue;
 					}
 					TaxHelperAddMemberRequest request = new TaxHelperAddMemberRequest(model);
 					TaxHelperResponse response = taxHelperService.addMembers(request);
@@ -2435,12 +2443,18 @@ public class ApiController {
 					} else {
 						log.info("税邦云增员失败:{},{},原因是:{}", sysUser.getRealname(), sysUser.getUsername(), response.getMessage());
 						userUpdateInput.setIdCardNumber(null);
-						return R.failed("税邦云增员失败");
+						errorMap.put(SubjectTypeEnum.TYPE_SHUIBANGYUN, "税邦云增员失败");
 					}
 				}
 			}
 		}
 
+		// 两家都失败了,就中止
+		if (errorMap.size() == 2){
+			return R.failed(errorMap);
+		}
+
+
 		sysUser.setAvatar(userUpdateInput.getAvatar());
 		if (StringUtils.isNotEmpty(userUpdateInput.getIdCardNumber())) {
 			sysUser.setIdCardNumber(userUpdateInput.getIdCardNumber());
@@ -2454,7 +2468,7 @@ public class ApiController {
 		}
 		sysUserService.updateById(sysUser);
 
-		return R.ok();
+		return R.ok(errorMap);
 	}
 
 

+ 54 - 0
hnqz-upms/hnqz-upms-biz/src/main/java/com/qunzhixinxi/hnqz/admin/controller/SysUserController.java

@@ -19,6 +19,7 @@
 
 package com.qunzhixinxi.hnqz.admin.controller;
 
+import cn.hutool.core.collection.CollUtil;
 import cn.hutool.core.util.IdcardUtil;
 import cn.hutool.core.util.StrUtil;
 import cn.hutool.core.bean.BeanUtil;
@@ -48,6 +49,7 @@ import com.qunzhixinxi.hnqz.admin.service.SysDeptService;
 import com.qunzhixinxi.hnqz.admin.service.SysUserService;
 import com.qunzhixinxi.hnqz.admin.service.WmDaAgentService;
 import com.qunzhixinxi.hnqz.admin.service.WmDaDrugEntService;
+import com.qunzhixinxi.hnqz.common.core.constant.CommonConstants;
 import com.qunzhixinxi.hnqz.common.core.util.R;
 import com.qunzhixinxi.hnqz.common.ding.service.DingService;
 import com.qunzhixinxi.hnqz.common.log.annotation.SysLog;
@@ -393,6 +395,10 @@ public class SysUserController {
 								return R.failed("用户已存在药企管理员角色,不能同时为平台管理员");
 							}
 
+							if (sysRole.getRoleId() == 3) {
+								return R.failed("用户已存在药企管理员角色,不能同时为药企管理员");
+							}
+
 							if (sysRole.getRoleId() == 4) {
 								return R.failed("用户已存在药企管理员角色,不能同时为CSO管理员");
 							}
@@ -1257,6 +1263,7 @@ public class SysUserController {
 								if (sysRole.getRoleId() == 2) {
 									return R.failed("用户不能同时为平台管理员和药企管理员");
 								}
+
 								if (userDto.getDeptId().equals(userVO.getDeptId())) {
 									if (sysRole.getRoleId() == 6) {
 										return R.failed("用户已存在本机构药企管理员,不能同时为兼职学术推广员");
@@ -1510,6 +1517,53 @@ public class SysUserController {
 		}
 	}
 
+	/**
+	 * 查询全可用的用户
+	 *
+	 * @param userDTO userDTO
+	 * @return success/false
+	 */
+	@SysLog("查询全可用的用户")
+	@GetMapping("/list/available")
+	public R listScope1(Page page, UserDTO userDTO) {
+		userDTO.setLockFlag(CommonConstants.STATUS_NORMAL);
+		if (CollUtil.isNotEmpty(userDTO.getRole())) {
+			userDTO.setDeptId(SecurityUtils.getUser().getDeptId());
+			page.setSize(10000);
+			List<UserVO> sysUserList = userService.getUsersWithRolePage(page, userDTO).getRecords();
+			List<Map<String, String>> answerList = new ArrayList<>();
+			if (sysUserList.size() > 0) {
+				for (UserVO sysUser : sysUserList) {
+					Map<String, String> map = new HashMap<>();
+					map.put("id", sysUser.getUserId() + "");
+					map.put("realname", sysUser.getRealname() + "");
+					answerList.add(map);
+				}
+
+			}
+			return R.ok(answerList);
+		} else {
+			page.setSize(10000);
+			List<Integer> list = new ArrayList<>();
+			list.add(5);
+			list.add(6);
+			userDTO.setRole(list);
+
+			List<UserVO> sysUserList = userService.getUsersWithRolePage(page, userDTO).getRecords();
+			List<Map<String, String>> answerList = new ArrayList<>();
+			if (sysUserList.size() > 0) {
+				for (UserVO sysUser : sysUserList) {
+					Map<String, String> map = new HashMap<>();
+					map.put("id", sysUser.getUserId() + "");
+					map.put("realname", sysUser.getRealname() + "");
+					answerList.add(map);
+				}
+
+			}
+			return R.ok(answerList);
+		}
+	}
+
 	/**
 	 * 查询用户列表
 	 *