|
@@ -17,7 +17,6 @@ import com.qunzhixinxi.hnqz.admin.api.dto.UserDTO;
|
|
|
import com.qunzhixinxi.hnqz.admin.api.dto.UserInfo;
|
|
|
import com.qunzhixinxi.hnqz.admin.api.dto.UserPwd;
|
|
|
import com.qunzhixinxi.hnqz.admin.api.entity.SysDept;
|
|
|
-import com.qunzhixinxi.hnqz.admin.api.entity.SysDictItem;
|
|
|
import com.qunzhixinxi.hnqz.admin.api.entity.SysRole;
|
|
|
import com.qunzhixinxi.hnqz.admin.api.entity.SysUser;
|
|
|
import com.qunzhixinxi.hnqz.admin.api.entity.SysUserRole;
|
|
@@ -25,22 +24,17 @@ import com.qunzhixinxi.hnqz.admin.api.entity.WmPlatformQuizTestResult;
|
|
|
import com.qunzhixinxi.hnqz.admin.api.model.WmQuizResultModel;
|
|
|
import com.qunzhixinxi.hnqz.admin.api.vo.UserVO;
|
|
|
import com.qunzhixinxi.hnqz.admin.api.entity.SysCsmUserRelation;
|
|
|
-import com.qunzhixinxi.hnqz.admin.api.entity.SysDeptSub;
|
|
|
-import com.qunzhixinxi.hnqz.admin.api.entity.SysUserSub;
|
|
|
import com.qunzhixinxi.hnqz.admin.api.dto.CommonUserDTO;
|
|
|
import com.qunzhixinxi.hnqz.admin.api.model.input.UserCertificationInput;
|
|
|
import com.qunzhixinxi.hnqz.admin.api.model.excel.CommonUserExcelModel;
|
|
|
-import com.qunzhixinxi.hnqz.admin.api.vo.SysUserSubVO;
|
|
|
import com.qunzhixinxi.hnqz.admin.api.constant.enums.DelEnum;
|
|
|
-import com.qunzhixinxi.hnqz.admin.api.constant.enums.GigTypeEnum;
|
|
|
import com.qunzhixinxi.hnqz.admin.api.constant.enums.SubjectLocation;
|
|
|
import com.qunzhixinxi.hnqz.admin.api.constant.enums.SubjectTypeEnum;
|
|
|
-import com.qunzhixinxi.hnqz.admin.mapper.*;
|
|
|
+import com.qunzhixinxi.hnqz.admin.mapper.SysCsmUserRelationMapper;
|
|
|
+import com.qunzhixinxi.hnqz.admin.mapper.SysUserMapper;
|
|
|
+import com.qunzhixinxi.hnqz.admin.mapper.SysUserRoleMapper;
|
|
|
import com.qunzhixinxi.hnqz.admin.service.SysDeptService;
|
|
|
-import com.qunzhixinxi.hnqz.admin.service.SysDeptSubService;
|
|
|
-import com.qunzhixinxi.hnqz.admin.service.SysDictItemService;
|
|
|
import com.qunzhixinxi.hnqz.admin.service.SysUserService;
|
|
|
-import com.qunzhixinxi.hnqz.admin.service.SysUserSubService;
|
|
|
import com.qunzhixinxi.hnqz.admin.service.WmPlatformQuizTestResultService;
|
|
|
import com.qunzhixinxi.hnqz.common.core.constant.CommonConstants;
|
|
|
import com.qunzhixinxi.hnqz.common.core.util.R;
|
|
@@ -54,11 +48,24 @@ import org.apache.commons.lang3.StringUtils;
|
|
|
import org.apache.commons.lang3.ArrayUtils;
|
|
|
import org.springframework.data.redis.core.RedisTemplate;
|
|
|
import org.springframework.security.access.prepost.PreAuthorize;
|
|
|
-import org.springframework.web.bind.annotation.*;
|
|
|
+import org.springframework.web.bind.annotation.DeleteMapping;
|
|
|
+import org.springframework.web.bind.annotation.GetMapping;
|
|
|
+import org.springframework.web.bind.annotation.PathVariable;
|
|
|
+import org.springframework.web.bind.annotation.PostMapping;
|
|
|
+import org.springframework.web.bind.annotation.PutMapping;
|
|
|
+import org.springframework.web.bind.annotation.RequestBody;
|
|
|
+import org.springframework.web.bind.annotation.RequestMapping;
|
|
|
+import org.springframework.web.bind.annotation.RestController;
|
|
|
|
|
|
import javax.validation.Valid;
|
|
|
import java.time.LocalDate;
|
|
|
-import java.util.*;
|
|
|
+import java.util.ArrayList;
|
|
|
+import java.util.Arrays;
|
|
|
+import java.util.Collections;
|
|
|
+import java.util.HashMap;
|
|
|
+import java.util.List;
|
|
|
+import java.util.Map;
|
|
|
+import java.util.Set;
|
|
|
import java.util.stream.Collectors;
|
|
|
import java.util.stream.Stream;
|
|
|
|
|
@@ -77,11 +84,8 @@ public class SysUserController {
|
|
|
private final SysUserService userService;
|
|
|
private final SysUserMapper sysUserMapper;
|
|
|
private final SysDeptService sysDeptService;
|
|
|
- private final SysDeptSubService sysDeptSubService;
|
|
|
- private final RedisTemplate redisTemplate;
|
|
|
+ private final RedisTemplate<String, Object> redisTemplate;
|
|
|
private final SysUserRoleMapper sysUserRoleMapper;
|
|
|
- private final SysUserSubService sysUserSubService;
|
|
|
- private final SysDictItemService sysDictItemService;
|
|
|
private final WmPlatformQuizTestResultService platformQuizTestResultService;
|
|
|
private final SysCsmUserRelationMapper sysCsmUserRelationMapper;
|
|
|
|
|
@@ -1022,50 +1026,50 @@ public class SysUserController {
|
|
|
}
|
|
|
|
|
|
|
|
|
- // 封装结算通道
|
|
|
- Set<Integer> deptIds = userVosPage.getRecords().stream().map(UserVO::getDeptId).collect(Collectors.toSet());
|
|
|
-
|
|
|
- if (CollUtil.isNotEmpty(deptIds)) {
|
|
|
- // 税源地
|
|
|
- Map<Integer, Map<String, Integer>> coll = sysDeptSubService.list(Wrappers.<SysDeptSub>lambdaQuery()
|
|
|
- .eq(SysDeptSub::getEnableFlag, SubjectTypeEnum.ENABLE_FLAG_TRUE.getCode())
|
|
|
- .in(SysDeptSub::getDeptId, deptIds))
|
|
|
- .stream()
|
|
|
- .collect(Collectors.groupingBy(SysDeptSub::getDeptId,
|
|
|
- Collectors.toMap(sysDeptSub -> sysDeptSub.getSubjectLocation().name(), SysDeptSub::getSubjectChannel)));
|
|
|
-
|
|
|
- userVosPage.getRecords().forEach(item -> {
|
|
|
- if ("0".equals(userDTO.getSubType())) {
|
|
|
- item.setCertStatus(null);
|
|
|
- } else if ("1".equals(userDTO.getSubType())) {
|
|
|
- item.setRljCertStatus(null);
|
|
|
- }
|
|
|
-
|
|
|
- item.setSubjectTypeAndChannel(coll.get(item.getDeptId()));
|
|
|
-
|
|
|
- });
|
|
|
- }
|
|
|
-
|
|
|
- // 登录人所属企业的结算配置信息
|
|
|
- List<SubjectLocation> locations;
|
|
|
- Integer deptId = SecurityUtils.getUser().getDeptId();
|
|
|
- // 非平台用户,获取各自的配置项
|
|
|
- if (1 != deptId) {
|
|
|
- List<SysDeptSub> l = sysDeptSubService.list(Wrappers.<SysDeptSub>lambdaQuery().eq(SysDeptSub::getDeptId, deptId).eq(SysDeptSub::getEnableFlag, "1"));
|
|
|
- if (CollUtil.isNotEmpty(l)) {
|
|
|
- locations = l.stream().filter(sub -> sub.getSubjectLocation() != null)
|
|
|
- .map(sub -> Enum.valueOf(SubjectLocation.class, sub.getSubjectLocation().getType()))
|
|
|
- .collect(Collectors.toList());
|
|
|
- } else {
|
|
|
- locations = Collections.emptyList();
|
|
|
- }
|
|
|
-
|
|
|
- }
|
|
|
- // 平台管理员和admin获取全部
|
|
|
- else {
|
|
|
- List<SysDictItem> list = sysDictItemService.list(Wrappers.<SysDictItem>query().lambda().eq(SysDictItem::getType, "subject_location"));
|
|
|
- locations = list.stream().map(item -> Enum.valueOf(SubjectLocation.class, item.getValue())).collect(Collectors.toList());
|
|
|
- }
|
|
|
+ //// 封装结算通道
|
|
|
+ //Set<Integer> deptIds = userVosPage.getRecords().stream().map(UserVO::getDeptId).collect(Collectors.toSet());
|
|
|
+ //
|
|
|
+ //if (CollUtil.isNotEmpty(deptIds)) {
|
|
|
+ // // 税源地
|
|
|
+ // Map<Integer, Map<String, Integer>> coll = sysDeptSubService.list(Wrappers.<SysDeptSub>lambdaQuery()
|
|
|
+ // .eq(SysDeptSub::getEnableFlag, SubjectTypeEnum.ENABLE_FLAG_TRUE.getCode())
|
|
|
+ // .in(SysDeptSub::getDeptId, deptIds))
|
|
|
+ // .stream()
|
|
|
+ // .collect(Collectors.groupingBy(SysDeptSub::getDeptId,
|
|
|
+ // Collectors.toMap(sysDeptSub -> sysDeptSub.getSubjectLocation().name(), SysDeptSub::getSubjectChannel)));
|
|
|
+ //
|
|
|
+ // userVosPage.getRecords().forEach(item -> {
|
|
|
+ // if ("0".equals(userDTO.getSubType())) {
|
|
|
+ // item.setCertStatus(null);
|
|
|
+ // } else if ("1".equals(userDTO.getSubType())) {
|
|
|
+ // item.setRljCertStatus(null);
|
|
|
+ // }
|
|
|
+ //
|
|
|
+ // item.setSubjectTypeAndChannel(coll.get(item.getDeptId()));
|
|
|
+ //
|
|
|
+ // });
|
|
|
+ //}
|
|
|
+ //
|
|
|
+ //// 登录人所属企业的结算配置信息
|
|
|
+ //List<SubjectLocation> locations;
|
|
|
+ //Integer deptId = SecurityUtils.getUser().getDeptId();
|
|
|
+ //// 非平台用户,获取各自的配置项
|
|
|
+ //if (1 != deptId) {
|
|
|
+ // List<SysDeptSub> l = sysDeptSubService.list(Wrappers.<SysDeptSub>lambdaQuery().eq(SysDeptSub::getDeptId, deptId).eq(SysDeptSub::getEnableFlag, "1"));
|
|
|
+ // if (CollUtil.isNotEmpty(l)) {
|
|
|
+ // locations = l.stream().filter(sub -> sub.getSubjectLocation() != null)
|
|
|
+ // .map(sub -> Enum.valueOf(SubjectLocation.class, sub.getSubjectLocation().getType()))
|
|
|
+ // .collect(Collectors.toList());
|
|
|
+ // } else {
|
|
|
+ // locations = Collections.emptyList();
|
|
|
+ // }
|
|
|
+ //
|
|
|
+ //}
|
|
|
+ //// 平台管理员和admin获取全部
|
|
|
+ //else {
|
|
|
+ // List<SysDictItem> list = sysDictItemService.list(Wrappers.<SysDictItem>query().lambda().eq(SysDictItem::getType, "subject_location"));
|
|
|
+ // locations = list.stream().map(item -> Enum.valueOf(SubjectLocation.class, item.getValue())).collect(Collectors.toList());
|
|
|
+ //}
|
|
|
|
|
|
Map<Integer, List<SysCsmUserRelation>> csmParentUserMap = new HashMap<>();
|
|
|
if (CollUtil.isNotEmpty(userIds)) {
|
|
@@ -1078,65 +1082,65 @@ public class SysUserController {
|
|
|
}
|
|
|
|
|
|
userVosPage.getRecords().forEach(userVO -> {
|
|
|
- // 查询所属企业渠道
|
|
|
- SysDeptSub sysDeptSub = new SysDeptSub();
|
|
|
- sysDeptSub.setDeptId(userVO.getDeptId());
|
|
|
- sysDeptSub.setEnableFlag(SubjectTypeEnum.ENABLE_FLAG_TRUE.getCode());
|
|
|
- List<SysDeptSub> subList = sysDeptSubService.list(Wrappers.query(sysDeptSub));
|
|
|
-
|
|
|
- if (CollUtil.isNotEmpty(subList)) {
|
|
|
- // 查询当前用户认证渠道
|
|
|
- List<SysUserSub> userSubList = sysUserSubService.list(Wrappers.<SysUserSub>lambdaQuery()
|
|
|
- .eq(SysUserSub::getDeptId, userVO.getDeptId())
|
|
|
- .eq(SysUserSub::getUserId, userVO.getUserId()));
|
|
|
-
|
|
|
- if (CollUtil.isNotEmpty(userSubList) && CollUtil.isNotEmpty(locations)) {
|
|
|
-
|
|
|
- // 不同渠道认证名称,封装成中文名称数组格式
|
|
|
- Map<SubjectLocation, SysUserSub> certStatusMap = userSubList.stream()
|
|
|
- .collect(Collectors.toMap(SysUserSub::getSubjectLocation,
|
|
|
- sysUserSub -> sysUserSub));
|
|
|
-
|
|
|
- // 以企业配置并启用的税源地为基准,进行回显
|
|
|
- List<SysUserSubVO> subVOS = locations.stream().map(loc -> {
|
|
|
- SysUserSub sysUserSub = certStatusMap.get(loc);
|
|
|
- if (sysUserSub != null) {
|
|
|
- // 如果userSub存在该税源地对应的认证数据,则处理后返回
|
|
|
- SysUserSubVO userSubVO = BeanUtil.copyProperties(sysUserSub, SysUserSubVO.class, "certStatus");
|
|
|
- userSubVO.setCertStatus(GigTypeEnum.getCertStatusByCode(sysUserSub.getGigType(), sysUserSub.getCertStatus()));
|
|
|
- userSubVO.setCertStatusDisplay(String.format("%s:%s", sysUserSub.getSubjectLocation().getDescription(),
|
|
|
- GigTypeEnum.getCertStatusNameByCode(sysUserSub.getGigType(), sysUserSub.getCertStatus())));
|
|
|
- return userSubVO;
|
|
|
- } else {
|
|
|
- // 如果userSub不存在该税源地对应的认证数据,则默认返回一条
|
|
|
- SysUserSubVO userSubVO = new SysUserSubVO();
|
|
|
- userSubVO.setUserId(userVO.getUserId());
|
|
|
- userSubVO.setGigType(loc.getGigType());
|
|
|
- userSubVO.setSubjectLocation(loc);
|
|
|
- userSubVO.setCertStatus(GigTypeEnum.getCertStatusByCode(userSubVO.getGigType(), 0));
|
|
|
- userSubVO.setCertStatusDisplay(String.format("%s:%s", userSubVO.getSubjectLocation().getDescription(),
|
|
|
- GigTypeEnum.getCertStatusNameByCode(userSubVO.getGigType(), 0)));
|
|
|
- return userSubVO;
|
|
|
- }
|
|
|
- }
|
|
|
- ).collect(Collectors.toList());
|
|
|
- userVO.setCertList(subVOS);
|
|
|
-
|
|
|
- // 该企业配置的所有税源地
|
|
|
- List<SubjectLocation> subjectLocationList = subList.stream().map(SysDeptSub::getSubjectLocation).collect(Collectors.toList());
|
|
|
-
|
|
|
- List<String> certStatusNameList = new ArrayList<>();
|
|
|
- subjectLocationList.stream()
|
|
|
- .sorted(Comparator.comparing(SubjectLocation::getSort))
|
|
|
- .forEach(subjectLocation -> {
|
|
|
- SysUserSub sysUserSub = certStatusMap.get(subjectLocation);
|
|
|
- int certStatus = sysUserSub != null ? sysUserSub.getCertStatus() : 0;
|
|
|
- certStatusNameList.add(GigTypeEnum.getCertStatusNameByCode(subjectLocation.getGigType(), certStatus));
|
|
|
- });
|
|
|
-
|
|
|
- userVO.setCertStatusArr(certStatusNameList.toArray(new String[0]));
|
|
|
- }
|
|
|
- }
|
|
|
+ //// 查询所属企业渠道
|
|
|
+ //SysDeptSub sysDeptSub = new SysDeptSub();
|
|
|
+ //sysDeptSub.setDeptId(userVO.getDeptId());
|
|
|
+ //sysDeptSub.setEnableFlag(SubjectTypeEnum.ENABLE_FLAG_TRUE.getCode());
|
|
|
+ //List<SysDeptSub> subList = sysDeptSubService.list(Wrappers.query(sysDeptSub));
|
|
|
+ //
|
|
|
+ //if (CollUtil.isNotEmpty(subList)) {
|
|
|
+ // // 查询当前用户认证渠道
|
|
|
+ // List<SysUserSub> userSubList = sysUserSubService.list(Wrappers.<SysUserSub>lambdaQuery()
|
|
|
+ // .eq(SysUserSub::getDeptId, userVO.getDeptId())
|
|
|
+ // .eq(SysUserSub::getUserId, userVO.getUserId()));
|
|
|
+ //
|
|
|
+ // if (CollUtil.isNotEmpty(userSubList) && CollUtil.isNotEmpty(locations)) {
|
|
|
+ //
|
|
|
+ // // 不同渠道认证名称,封装成中文名称数组格式
|
|
|
+ // Map<SubjectLocation, SysUserSub> certStatusMap = userSubList.stream()
|
|
|
+ // .collect(Collectors.toMap(SysUserSub::getSubjectLocation,
|
|
|
+ // sysUserSub -> sysUserSub));
|
|
|
+ //
|
|
|
+ // // 以企业配置并启用的税源地为基准,进行回显
|
|
|
+ // List<SysUserSubVO> subVOS = locations.stream().map(loc -> {
|
|
|
+ // SysUserSub sysUserSub = certStatusMap.get(loc);
|
|
|
+ // if (sysUserSub != null) {
|
|
|
+ // // 如果userSub存在该税源地对应的认证数据,则处理后返回
|
|
|
+ // SysUserSubVO userSubVO = BeanUtil.copyProperties(sysUserSub, SysUserSubVO.class, "certStatus");
|
|
|
+ // userSubVO.setCertStatus(GigTypeEnum.getCertStatusByCode(sysUserSub.getGigType(), sysUserSub.getCertStatus()));
|
|
|
+ // userSubVO.setCertStatusDisplay(String.format("%s:%s", sysUserSub.getSubjectLocation().getDescription(),
|
|
|
+ // GigTypeEnum.getCertStatusNameByCode(sysUserSub.getGigType(), sysUserSub.getCertStatus())));
|
|
|
+ // return userSubVO;
|
|
|
+ // } else {
|
|
|
+ // // 如果userSub不存在该税源地对应的认证数据,则默认返回一条
|
|
|
+ // SysUserSubVO userSubVO = new SysUserSubVO();
|
|
|
+ // userSubVO.setUserId(userVO.getUserId());
|
|
|
+ // userSubVO.setGigType(loc.getGigType());
|
|
|
+ // userSubVO.setSubjectLocation(loc);
|
|
|
+ // userSubVO.setCertStatus(GigTypeEnum.getCertStatusByCode(userSubVO.getGigType(), 0));
|
|
|
+ // userSubVO.setCertStatusDisplay(String.format("%s:%s", userSubVO.getSubjectLocation().getDescription(),
|
|
|
+ // GigTypeEnum.getCertStatusNameByCode(userSubVO.getGigType(), 0)));
|
|
|
+ // return userSubVO;
|
|
|
+ // }
|
|
|
+ // }
|
|
|
+ // ).collect(Collectors.toList());
|
|
|
+ // userVO.setCertList(subVOS);
|
|
|
+ //
|
|
|
+ // // 该企业配置的所有税源地
|
|
|
+ // List<SubjectLocation> subjectLocationList = subList.stream().map(SysDeptSub::getSubjectLocation).collect(Collectors.toList());
|
|
|
+ //
|
|
|
+ // List<String> certStatusNameList = new ArrayList<>();
|
|
|
+ // subjectLocationList.stream()
|
|
|
+ // .sorted(Comparator.comparing(SubjectLocation::getSort))
|
|
|
+ // .forEach(subjectLocation -> {
|
|
|
+ // SysUserSub sysUserSub = certStatusMap.get(subjectLocation);
|
|
|
+ // int certStatus = sysUserSub != null ? sysUserSub.getCertStatus() : 0;
|
|
|
+ // certStatusNameList.add(GigTypeEnum.getCertStatusNameByCode(subjectLocation.getGigType(), certStatus));
|
|
|
+ // });
|
|
|
+ //
|
|
|
+ // userVO.setCertStatusArr(certStatusNameList.toArray(new String[0]));
|
|
|
+ // }
|
|
|
+ //}
|
|
|
|
|
|
// 上级csm
|
|
|
List<SysCsmUserRelation> csmUserRelations = csmParentUserMap.get(userVO.getUserId());
|