|
@@ -716,53 +716,46 @@ public class ApiController {
|
|
|
*/
|
|
|
@GetMapping("/getUserInfoByCode")
|
|
|
public R<Map<String, Object>> getUserInfo(String code, String avatar) {
|
|
|
-
|
|
|
- Map<String, Object> result = new HashMap<>(6);
|
|
|
+ Map<String, Object> result = new HashMap<>();
|
|
|
|
|
|
//获取用户基本信息
|
|
|
HnqzUser hnqzUser = SecurityUtils.getUser();
|
|
|
-
|
|
|
- // 校验账户信息
|
|
|
UserDTO userDTO = new UserDTO();
|
|
|
userDTO.setPlatId(hnqzUser.getPlatId());
|
|
|
List<UserVO> sysUserList = sysUserService.getUserVoByPlatId(userDTO);
|
|
|
+
|
|
|
if (CollUtil.isEmpty(sysUserList)) {
|
|
|
return R.failed("账号信息异常,请联系管理员");
|
|
|
}
|
|
|
|
|
|
- // 获取用户ID
|
|
|
- Set<Integer> uIds = sysUserList.stream().mapToInt(UserVO::getUserId).boxed().collect(Collectors.toSet());
|
|
|
-
|
|
|
- // 获取会员已结算信息和和待结算信息
|
|
|
- List<WmScorePackageStatus> packageStatuses = wmScorePackageStatusService.list(Wrappers.<WmScorePackageStatus>lambdaQuery()
|
|
|
- .in(WmScorePackageStatus::getUserId, uIds)
|
|
|
- .eq(WmScorePackageStatus::getStatus, PackageStatusEnum.APPROVED.val()));
|
|
|
- Set<String> pkgIds = packageStatuses.stream().map(WmScorePackageStatus::getPackageId).collect(Collectors.toSet());
|
|
|
-
|
|
|
- List<WmScorePackage> packages = null;
|
|
|
- if (CollUtil.isNotEmpty(pkgIds)) {
|
|
|
- packages = wmScorePackageService.listByIds(pkgIds);
|
|
|
- }
|
|
|
-
|
|
|
- // 获取企业集合 && csm && 获取药企和代理商列表
|
|
|
- Map<Integer, SysDept> deptMap = sysDeptService.list().stream().collect(Collectors.toMap(SysDept::getDeptId, Function.identity()));
|
|
|
-
|
|
|
- Map<Integer, List<SysDeptCsm>> csmMap = null;
|
|
|
- if (CollUtil.isNotEmpty(deptMap)) {
|
|
|
- // 获取csm信息
|
|
|
- List<SysDeptCsm> deptCsms = deptCsmService.list(Wrappers.<SysDeptCsm>lambdaQuery().in(SysDeptCsm::getDeptId, deptMap.keySet()));
|
|
|
- csmMap = deptCsms.stream().collect(Collectors.groupingBy(SysDeptCsm::getDeptId));
|
|
|
+ SysUser u = sysUserService.getById(hnqzUser.getId());
|
|
|
+ if (StrUtil.isBlank(u.getWxOpenid()) || StrUtil.isBlank(u.getAvatar())) {
|
|
|
+ SysUser updateU = new SysUser();
|
|
|
+ // 获取小程序openid
|
|
|
+ updateU.setUserId(u.getUserId());
|
|
|
+ if (StrUtil.isBlank(u.getWxOpenid())) {
|
|
|
+ Map<String, Object> opemMap = GetOpenIDUtil.oauth2GetOpenid(code, upmsConfig.getWechatEnv());
|
|
|
+ log.info("opemMap: {}", opemMap);
|
|
|
+ if (MapUtil.isNotEmpty(opemMap)) {
|
|
|
+ String openid = (String) opemMap.get("openid");
|
|
|
+ updateU.setWxOpenid(openid);
|
|
|
+ }
|
|
|
+ }
|
|
|
+ // avatar头像
|
|
|
+ if (StrUtil.isBlank(u.getAvatar())) {
|
|
|
+ updateU.setAvatar(avatar);
|
|
|
+ }
|
|
|
+ updateU.setUpdateTime(LocalDateTime.now());
|
|
|
+ sysUserService.updateById(updateU);
|
|
|
}
|
|
|
- Map<String, WmDaDrugEnt> drugEntMap = wmDaDrugEntService.list().stream().collect(Collectors.toMap(WmDaDrugEnt::getDeptId, Function.identity()));
|
|
|
- Map<String, List<WmDaAgent>> agentMap = wmDaAgentService.list().stream().collect(Collectors.groupingBy(WmDaAgent::getDeptId));
|
|
|
-
|
|
|
|
|
|
List<Integer> roleList = new ArrayList<>();
|
|
|
- List<Map<String, Object>> list = new ArrayList<>(sysUserList.size());
|
|
|
|
|
|
+ List<Map<String, Object>> list = new ArrayList<>(sysUserList.size());
|
|
|
for (UserVO sysU : sysUserList) {
|
|
|
- Map<String, Object> mapOne = new HashMap<>(60);
|
|
|
- mapOne.put("userId", sysU.getUserId());
|
|
|
+
|
|
|
+ Map<String, Object> mapOne = new HashMap<>();
|
|
|
+ mapOne.put("userId", sysU.getUserId().toString());
|
|
|
mapOne.put("realname", sysU.getRealname());
|
|
|
mapOne.put("phone", sysU.getPhone());
|
|
|
mapOne.put("idCardNumber", sysU.getIdCardNumber());
|
|
@@ -771,19 +764,23 @@ public class ApiController {
|
|
|
mapOne.put("userSign", sysU.getUserSign());
|
|
|
mapOne.put("certRemark", sysU.getCertRemark());
|
|
|
mapOne.put("taxHelperAgreementSignature", sysU.getTaxHelperAgreementSignature());
|
|
|
- mapOne.put("avatar", StrUtil.isBlank(sysU.getAvatar()) ? avatar : sysU.getAvatar());
|
|
|
mapOne.put("bankCardNumber", sysU.getBankCardNumber());
|
|
|
mapOne.put("bankPhone", sysU.getBankPhone());
|
|
|
mapOne.put("bankName", sysU.getBankName());
|
|
|
- mapOne.put("temp1", String.valueOf(sysU.getTemp1()));
|
|
|
- mapOne.put("temp2", String.valueOf(sysU.getTemp2()));
|
|
|
- mapOne.put("temp3", String.valueOf(sysU.getTemp3()));
|
|
|
- mapOne.put("temp4", String.valueOf(sysU.getTemp4()));
|
|
|
- mapOne.put("temp5", String.valueOf(sysU.getTemp5()));
|
|
|
+
|
|
|
+ // 获取会员已结算信息和和待结算信息
|
|
|
+ List<WmScorePackageStatus> packageStatuses = wmScorePackageStatusService.list(Wrappers.<WmScorePackageStatus>lambdaQuery()
|
|
|
+ .eq(WmScorePackageStatus::getUserId, sysU.getUserId())
|
|
|
+ .eq(WmScorePackageStatus::getStatus, PackageStatusEnum.APPROVED.val()));
|
|
|
+
|
|
|
+ List<String> ids = packageStatuses.stream().map(WmScorePackageStatus::getPackageId).collect(Collectors.toList());
|
|
|
+
|
|
|
|
|
|
int paid = 0;
|
|
|
int unpaid = 0;
|
|
|
- if (CollUtil.isNotEmpty(packages)) {
|
|
|
+ if (CollUtil.isNotEmpty(ids)) {
|
|
|
+ List<WmScorePackage> packages = wmScorePackageService.listByIds(ids);
|
|
|
+
|
|
|
// 已结算
|
|
|
paid = packages.stream()
|
|
|
.filter(pkg -> PersonalScoreRecordVO.PersonalScoreRecordStatus.PAID.getSettleStatus().equals(String.valueOf(pkg.getSettleStatus())))
|
|
@@ -807,33 +804,60 @@ public class ApiController {
|
|
|
mapOne.put("userNewFlag", true);
|
|
|
}
|
|
|
|
|
|
- // 获取部门信息 && 获取csm信息 && 管理者
|
|
|
- Integer deptId = sysU.getDeptId();
|
|
|
- SysDept sysDept = deptMap.get(deptId);
|
|
|
- SysDeptCsm deptCsm = CollUtil.isNotEmpty(csmMap) ? csmMap.get(deptId) == null ? null : csmMap.get(deptId).get(0) : null;
|
|
|
- mapOne.put("deptId", deptId);
|
|
|
+ if (StrUtil.isBlank(sysU.getAvatar())) {
|
|
|
+ mapOne.put("avatar", avatar);
|
|
|
+ SysUser sysUser2 = sysUserService.getById(sysU.getUserId());
|
|
|
+ sysUser2.setAvatar(avatar);
|
|
|
+ sysUserService.updateById(sysUser2);
|
|
|
+ } else {
|
|
|
+ mapOne.put("avatar", sysU.getAvatar());
|
|
|
+ }
|
|
|
+
|
|
|
+ // 获取部门信息
|
|
|
+ SysDept sysDept = sysDeptService.getById(sysU.getDeptId());
|
|
|
+ mapOne.put("deptId", sysDept.getDeptId().toString());
|
|
|
mapOne.put("deptName", sysDept.getName());
|
|
|
+
|
|
|
+ // 获取csm信息
|
|
|
+ SysDeptCsm deptCsm = deptCsmService.getOne(Wrappers.<SysDeptCsm>lambdaQuery().eq(SysDeptCsm::getDeptId, sysU.getDeptId()));
|
|
|
mapOne.put("csm", deptCsm);
|
|
|
|
|
|
- String management = (sysDept.getLevel() == 2) ? drugEntMap.get(deptId.toString()).getManagement() : agentMap.get(deptId.toString()).get(0).getManagement();
|
|
|
- mapOne.put("management", management);
|
|
|
+ String management;
|
|
|
+ if (sysDept.getLevel() == 2) {
|
|
|
+ WmDaDrugEnt drugEnt = wmDaDrugEntService.selectByDeptId(sysDept.getDeptId());
|
|
|
+ mapOne.put("management", drugEnt.getManagement());
|
|
|
+ management = drugEnt.getManagement();
|
|
|
+ } else {
|
|
|
+ WmDaAgent agent = wmDaAgentService.selectByDeptId(sysDept.getDeptId());
|
|
|
+ mapOne.put("management", agent.getManagement());
|
|
|
+ management = agent.getManagement();
|
|
|
+ }
|
|
|
|
|
|
// 小程序角色:5-全职学术信息沟通专员, 6-兼职学术信息沟通专员, 10-兼职CRC, 13-HCP, 31-招商经理
|
|
|
List<Integer> roleIdList =
|
|
|
sysU.getRoleList().stream()
|
|
|
- .filter(item -> item.getRoleId() == 5 || item.getRoleId() == 6 || item.getRoleId() == 10 || item.getRoleId() == 13 || item.getRoleId() == 31)
|
|
|
+ .filter(item -> item.getRoleId() == 5 || item.getRoleId() == 6 || item.getRoleId() == 10
|
|
|
+ || item.getRoleId() == 13 || item.getRoleId() == 31)
|
|
|
.map(SysRole::getRoleId).collect(Collectors.toList());
|
|
|
|
|
|
- mapOne.put("roles", roleIdList);
|
|
|
- boolean managementFlag = ("2".equals(management) && roleIdList.contains(5)) || ("3".equals(management) && (roleIdList.contains(6) || roleIdList.contains(10))) || ("4".equals(management));
|
|
|
+ boolean managementFlag = ("2".equals(management) && roleIdList.contains(5))
|
|
|
+ || ("3".equals(management) && (roleIdList.contains(6) || roleIdList.contains(10)))
|
|
|
+ || ("4".equals(management));
|
|
|
mapOne.put("managementFlag", managementFlag);
|
|
|
|
|
|
- WmDaDrugEnt wmDaDrugEnt = drugEntMap.get(sysU.getDrugEntId());
|
|
|
+ WmDaDrugEnt wmDaDrugEnt = wmDaDrugEntService.getById(sysU.getDrugEntId());
|
|
|
if (null != wmDaDrugEnt) {
|
|
|
mapOne.put("drugEntId", wmDaDrugEnt.getId());
|
|
|
mapOne.put("drugEntName", wmDaDrugEnt.getEntname());
|
|
|
}
|
|
|
|
|
|
+ mapOne.put("roles", roleIdList);
|
|
|
+ mapOne.put("temp1", String.valueOf(sysU.getTemp1()));
|
|
|
+ mapOne.put("temp2", String.valueOf(sysU.getTemp2()));
|
|
|
+ mapOne.put("temp3", String.valueOf(sysU.getTemp3()));
|
|
|
+ mapOne.put("temp4", String.valueOf(sysU.getTemp4()));
|
|
|
+ mapOne.put("temp5", String.valueOf(sysU.getTemp5()));
|
|
|
+
|
|
|
// 查询待审核包
|
|
|
List<WmScorePackageStatus> statusList = wmScorePackageStatusService.list(Wrappers.<WmScorePackageStatus>lambdaQuery()
|
|
|
.eq(WmScorePackageStatus::getUserId, String.valueOf(sysU.getUserId()))
|
|
@@ -844,10 +868,11 @@ public class ApiController {
|
|
|
|
|
|
long onTheWay = 0;
|
|
|
long waitApprove = statusList.stream().filter(item -> "1".equals(item.getStatus())).count();
|
|
|
- Set<String> packageIds = statusList.stream().filter(item -> "2".equals(item.getStatus())).map(WmScorePackageStatus::getPackageId).collect(Collectors.toSet());
|
|
|
+
|
|
|
+ Set<String> pkgIds = statusList.stream().filter(item -> "2".equals(item.getStatus())).map(WmScorePackageStatus::getPackageId).collect(Collectors.toSet());
|
|
|
List<Map<String, Object>> listMap;
|
|
|
- if (CollUtil.isNotEmpty(packageIds)) {
|
|
|
- List<WmScorePackage> pkgs = wmScorePackageService.listByIds(packageIds);
|
|
|
+ if (CollUtil.isNotEmpty(pkgIds)) {
|
|
|
+ List<WmScorePackage> pkgs = wmScorePackageService.listByIds(pkgIds);
|
|
|
listMap = pkgs.stream().map(pkg -> {
|
|
|
Map<String, Object> map = new HashMap<>(2);
|
|
|
map.put("label", pkg.getScorePackageName());
|
|
@@ -969,10 +994,6 @@ public class ApiController {
|
|
|
result.put("sumCount", 0);
|
|
|
result.put("taskProgress", 0);
|
|
|
|
|
|
-
|
|
|
- // 更新用户的openID和头像
|
|
|
- ThreadUtil.execAsync(() -> this.updateUserOpenIdAndAvatar(hnqzUser.getId(), code, avatar));
|
|
|
-
|
|
|
return R.ok(result);
|
|
|
}
|
|
|
|