| | |
| | | } |
| | | |
| | | /** |
| | | * MyBatis-Plus 会将空集合拼成 IN (),ShardingSphere 无法解析该 SQL。 |
| | | * 空集合按无匹配用户处理,使用不可能的 ID 进行查询。 |
| | | */ |
| | | private List<Integer> normalizeQueryIds(List<Integer> ids) { |
| | | return ids == null || ids.isEmpty() ? Collections.singletonList(-1) : ids; |
| | | } |
| | | |
| | | /** |
| | | * 查询玩湃惠民卡绑定学员列表信息 |
| | | * |
| | | * @return |
| | |
| | | return studentService.listOne(id); |
| | | } |
| | | |
| | | /** 仅供管理端超级管理员经受控接口查看学员完整敏感信息。 */ |
| | | @PostMapping("/internal/sensitive/student/{id}") |
| | | public Map<String, Object> sensitiveStudent(@PathVariable("id") Integer id, |
| | | @RequestHeader(value = "X-Internal-Sensitive-Access", required = false) String access) { |
| | | if (!"true".equalsIgnoreCase(access)) { |
| | | throw new IllegalStateException("Sensitive data access is restricted to the management service"); |
| | | } |
| | | TStudent student = studentService.getById(id); |
| | | if (student == null) return null; |
| | | Map<String, Object> result = new HashMap<String, Object>(); |
| | | result.put("id", student.getId()); |
| | | result.put("appUserId", student.getAppUserId()); |
| | | result.put("name", student.getName()); |
| | | result.put("phone", student.getPhone()); |
| | | result.put("idCard", student.getIdCard()); |
| | | return result; |
| | | } |
| | | |
| | | @ResponseBody |
| | | @PostMapping("/student/update") |
| | | public void update(@RequestBody TStudent tStudent) { |
| | | System.out.println("======tStudent======" + tStudent); |
| | | // 管理端不会回显加密手机号;空值代表未修改,必须保留数据库中的原始值。 |
| | | if (StringUtils.isEmpty(tStudent.getPhone()) && tStudent.getId() != null) { |
| | | TStudent originalStudent = studentService.getById(tStudent.getId()); |
| | | if (originalStudent != null) { |
| | | tStudent.setPhone(originalStudent.getPhone()); |
| | | } |
| | | } |
| | | studentService.updateById(tStudent); |
| | | } |
| | | |
| | |
| | | @ResponseBody |
| | | @PostMapping("/student/userAndVipYys") |
| | | public HashMap<String, Object> userAndVipYys(@RequestBody List<Integer> ids) { |
| | | ids = normalizeQueryIds(ids); |
| | | HashMap<String, Object> map = new HashMap<>(); |
| | | |
| | | // 所有的 |
| | |
| | | |
| | | @PostMapping("/student/queryUserAgeYys") |
| | | public HashMap<String, Object> queryUserAgeYys(@RequestBody List<Integer> ids) { |
| | | ids = normalizeQueryIds(ids); |
| | | HashMap<String, Object> map = new HashMap<>(); |
| | | List<TAppUser> list = appUserService.list(new LambdaQueryWrapper<TAppUser>().in(TAppUser::getId, ids) |
| | | .isNotNull(TAppUser::getPhone) |
| | |
| | | |
| | | @PostMapping("/student/queryUserAgeYys1") |
| | | public HashMap<String, Object> queryUserAgeYys1(@RequestBody List<Integer> ids) { |
| | | ids = normalizeQueryIds(ids); |
| | | HashMap<String, Object> map = new HashMap<>(); |
| | | List<TAppUser> list = appUserService.list(new LambdaQueryWrapper<TAppUser>().in(TAppUser::getId, ids)); |
| | | List<Integer> collect = list.stream().map(TAppUser::getId).collect(Collectors.toList()); |