From 4b8e8e02bd379ec2911be19f4dc98b772a694e67 Mon Sep 17 00:00:00 2001 From: xueqingkun Date: Thu, 1 Aug 2024 11:36:05 +0800 Subject: [PATCH] =?UTF-8?q?1.=20=E4=BF=AE=E5=A4=8Dbug?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../police/controller/MenuController.java | 6 ++- .../police/controller/RoleController.java | 17 ++++---- .../police/controller/UserController.java | 25 +++++------ .../com/supervision/police/dto/RoleDTO.java | 4 +- .../dto/caseScore/CaseScoreDetailBuilder.java | 4 +- .../police/dto/caseScore/IndexResult.java | 2 +- .../police/dto/user/UserInfoDTO.java | 42 ++++++++----------- .../police/dto/user/UserRoleDTO.java | 2 - .../mapper/SystemUserRoleRelationMapper.java | 2 + .../SystemUserRoleRelationService.java | 3 ++ .../service/impl/SystemRoleServiceImpl.java | 4 +- .../SystemUserRoleRelationServiceImpl.java | 14 ++++++- .../service/impl/SystemUserServiceImpl.java | 22 +++++----- .../mapper/SystemUserRoleRelationMapper.xml | 12 ++++++ 14 files changed, 94 insertions(+), 65 deletions(-) diff --git a/src/main/java/com/supervision/police/controller/MenuController.java b/src/main/java/com/supervision/police/controller/MenuController.java index 336c04e..3f07967 100644 --- a/src/main/java/com/supervision/police/controller/MenuController.java +++ b/src/main/java/com/supervision/police/controller/MenuController.java @@ -1,5 +1,6 @@ package com.supervision.police.controller; +import com.supervision.common.domain.R; import com.supervision.police.dto.MenuDTO; import com.supervision.police.service.SystemMenuService; import io.swagger.v3.oas.annotations.Operation; @@ -22,7 +23,8 @@ public class MenuController { private final SystemMenuService menuService; @Operation(summary = "查看用户信息列表") @GetMapping("/listMenu") - public List listMenu() { - return menuService.listMenu(); + public R> listMenu() { + List menuDTOS = menuService.listMenu(); + return R.ok(menuDTOS); } } diff --git a/src/main/java/com/supervision/police/controller/RoleController.java b/src/main/java/com/supervision/police/controller/RoleController.java index 34cbd57..ff405ef 100644 --- a/src/main/java/com/supervision/police/controller/RoleController.java +++ b/src/main/java/com/supervision/police/controller/RoleController.java @@ -1,6 +1,7 @@ package com.supervision.police.controller; import com.baomidou.mybatisplus.core.metadata.IPage; +import com.supervision.common.domain.R; import com.supervision.police.dto.RoleDTO; import com.supervision.police.service.SystemRoleService; import io.swagger.v3.oas.annotations.Operation; @@ -18,9 +19,9 @@ public class RoleController { private final SystemRoleService roleService; @Operation(summary = "新增角色") @PostMapping("/save") - public String saveRole(@RequestBody RoleDTO roleDTO) { - - return roleService.saveRole(roleDTO); + public R saveRole(@RequestBody RoleDTO roleDTO) { + String roleId = roleService.saveRole(roleDTO); + return R.ok(roleId); } @Operation(summary = "修改角色") @@ -31,14 +32,16 @@ public class RoleController { @Operation(summary = "删除角色") @DeleteMapping("/delete") - public Boolean deleteRole(@Parameter(name = "id") @RequestParam(name="id") String id) { - return roleService.deleteRole(id); + public R deleteRole(@Parameter(name = "id") @RequestParam(name="id") String id) { + Boolean success = roleService.deleteRole(id); + return R.ok(success); } @Operation(summary = "查看角色列表") @GetMapping("/list") - public IPage list(@Parameter(name = "roleName",description = "角色名称") @RequestParam(required = false) String roleName, + public R> list(@Parameter(name = "roleName",description = "角色名称") @RequestParam(required = false) String roleName, @Parameter(name = "pageNum",description = "页码") @RequestParam(defaultValue = "1") Integer pageNum, @Parameter(name = "pageSize",description = "每页大小") @RequestParam(defaultValue = "10") Integer pageSize) { - return roleService.list(roleName, pageNum, pageSize); + IPage list = roleService.list(roleName, pageNum, pageSize); + return R.ok(list); } } diff --git a/src/main/java/com/supervision/police/controller/UserController.java b/src/main/java/com/supervision/police/controller/UserController.java index 6d7b5cd..ee468ef 100644 --- a/src/main/java/com/supervision/police/controller/UserController.java +++ b/src/main/java/com/supervision/police/controller/UserController.java @@ -1,8 +1,7 @@ package com.supervision.police.controller; -import cn.hutool.core.lang.Assert; -import cn.hutool.core.util.StrUtil; import com.baomidou.mybatisplus.core.metadata.IPage; +import com.supervision.common.domain.R; import com.supervision.police.dto.user.*; import com.supervision.police.service.SystemUserService; import io.swagger.v3.oas.annotations.Operation; @@ -22,17 +21,17 @@ public class UserController { @Operation(summary = "登录") @PostMapping("/login") - public LoginResVO login(@RequestBody LoginReqVO reqVO) { - - return userService.login(reqVO); + public R login(@RequestBody LoginReqVO reqVO) { + LoginResVO login = userService.login(reqVO); + return R.ok(login); } @Operation(summary = "新增用户信息") @PostMapping("/saveUserInfo") - public String saveUserInfo(@RequestBody UserInfoReqVo userInfoReqVo) { - - return userService.saveUserInfo(userInfoReqVo); + public R saveUserInfo(@RequestBody UserInfoReqVo userInfoReqVo) { + String userId = userService.saveUserInfo(userInfoReqVo); + return R.ok(userId); } @Operation(summary = "修改用户信息") @@ -49,17 +48,19 @@ public class UserController { @Operation(summary = "删除用户信息") @DeleteMapping("/delete") - public Boolean deleteUser(@Parameter(name = "id") @RequestParam(name="id") String id) { - return userService.deleteUser(id); + public R deleteUser(@Parameter(name = "id") @RequestParam(name="id") String id) { + Boolean success = userService.deleteUser(id); + return R.ok(success); } @Operation(summary = "查看用户信息列表") @GetMapping("/list") - public IPage list(@Parameter(name = "userName",description = "用户名") @RequestParam(required = false) String userName, + public R> list(@Parameter(name = "userName",description = "用户名") @RequestParam(required = false) String userName, @Parameter(name = "roleId",description = "角色id") @RequestParam(required = false) String roleId, @Parameter(name = "roleName",description = "角色名") @RequestParam(required = false) String roleName, @Parameter(name = "pageNum",description = "页码") @RequestParam(defaultValue = "1") Integer pageNum, @Parameter(name = "pageSize",description = "每页大小") @RequestParam(defaultValue = "10") Integer pageSize) { - return userService.list(userName, roleId, roleName, pageNum, pageSize); + IPage list = userService.list(userName, roleId, roleName, pageNum, pageSize); + return R.ok(list); } diff --git a/src/main/java/com/supervision/police/dto/RoleDTO.java b/src/main/java/com/supervision/police/dto/RoleDTO.java index 46c0e49..3021fee 100644 --- a/src/main/java/com/supervision/police/dto/RoleDTO.java +++ b/src/main/java/com/supervision/police/dto/RoleDTO.java @@ -28,7 +28,7 @@ public class RoleDTO { private List menuIdList; @Schema(description = "关联用户数量") - private int userCount; + private Long userCount; @Schema(description = "更新时间") @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8") @@ -46,7 +46,7 @@ public class RoleDTO { this.roleName = role.getRoleName(); this.remark = role.getRemark(); this.updateTime = role.getUpdateTime(); - this.userCount = userCount.intValue(); + this.userCount = Objects.isNull(userCount) ? 0L : userCount; if (CollUtil.isNotEmpty(roleMenuRelationList)){ this.menuIdList = roleMenuRelationList.stream().map(SystemRoleMenuRelation::getMenuId).toList(); } diff --git a/src/main/java/com/supervision/police/dto/caseScore/CaseScoreDetailBuilder.java b/src/main/java/com/supervision/police/dto/caseScore/CaseScoreDetailBuilder.java index f366f0f..2224787 100644 --- a/src/main/java/com/supervision/police/dto/caseScore/CaseScoreDetailBuilder.java +++ b/src/main/java/com/supervision/police/dto/caseScore/CaseScoreDetailBuilder.java @@ -38,7 +38,7 @@ public class CaseScoreDetailBuilder { private List lawPartyList; @Schema(description = "指标结果") - private List indexResultList; + private List indexResultList = new ArrayList<>(); /** * Ollama 客户端 @@ -212,7 +212,7 @@ public class CaseScoreDetailBuilder { return this.indexResultList.stream() .filter(indexResult -> StrUtil.equals(indexGroup,indexResult.getIndexGroup())) - .mapToInt(IndexResult::getIndexScore).sum(); + .mapToInt(IndexResult::getActualScore).sum(); } diff --git a/src/main/java/com/supervision/police/dto/caseScore/IndexResult.java b/src/main/java/com/supervision/police/dto/caseScore/IndexResult.java index 21161cc..ced53ce 100644 --- a/src/main/java/com/supervision/police/dto/caseScore/IndexResult.java +++ b/src/main/java/com/supervision/police/dto/caseScore/IndexResult.java @@ -40,7 +40,7 @@ public class IndexResult { private int actualScore; @Schema(description = "原子指标结果") - private List atomicResults; + private List atomicResults = new ArrayList<>(); public IndexResult() { } diff --git a/src/main/java/com/supervision/police/dto/user/UserInfoDTO.java b/src/main/java/com/supervision/police/dto/user/UserInfoDTO.java index 895909a..14d0078 100644 --- a/src/main/java/com/supervision/police/dto/user/UserInfoDTO.java +++ b/src/main/java/com/supervision/police/dto/user/UserInfoDTO.java @@ -1,10 +1,11 @@ package com.supervision.police.dto.user; import cn.hutool.core.util.StrUtil; -import com.baomidou.mybatisplus.annotation.TableId; +import com.fasterxml.jackson.annotation.JsonFormat; import com.supervision.police.domain.SystemUser; +import com.supervision.police.domain.SystemUserRoleRelation; +import io.swagger.v3.oas.annotations.media.Schema; import lombok.Data; -import org.springframework.scheduling.support.SimpleTriggerContext; import java.time.LocalDateTime; import java.util.*; @@ -13,44 +14,36 @@ import java.util.*; public class UserInfoDTO { - /** - * 主键 - */ - @TableId + @Schema(description = "用户id") private String id; - /** - * 头像id - */ + @Schema(description = "头像id") private String headPicId; - /** - * 账户名 - */ + @Schema(description = "账户名") private String account; - /** - * 用户名 - */ + @Schema(description = "用户名") private String userName; - /** - * 手机号码 - */ + @Schema(description = "手机号码") private String phoneNum; - /** - * 账号状态 0正常 1停用 - */ + @Schema(description = "账号状态 0正常 1停用") private Integer status; + @Schema(description = "用户角色列表") private List userRoleList; - /** - * 最近登录时间 - */ + + @Schema(description = "最近登录时间") + @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8") private LocalDateTime recentLoginTime; + @Schema(description = "注册时间") + @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8") + private LocalDateTime registerTime; + public UserInfoDTO() { } @@ -76,6 +69,7 @@ public class UserInfoDTO { this.phoneNum = systemUser.getPhoneNum(); this.status = systemUser.getStatus(); this.recentLoginTime = systemUser.getRecentLoginTime(); + this.registerTime = systemUser.getCreateTime(); } } diff --git a/src/main/java/com/supervision/police/dto/user/UserRoleDTO.java b/src/main/java/com/supervision/police/dto/user/UserRoleDTO.java index b77af20..371d2b9 100644 --- a/src/main/java/com/supervision/police/dto/user/UserRoleDTO.java +++ b/src/main/java/com/supervision/police/dto/user/UserRoleDTO.java @@ -10,6 +10,4 @@ public class UserRoleDTO { private String roleId; private String roleName; - - private Integer roleType; } diff --git a/src/main/java/com/supervision/police/mapper/SystemUserRoleRelationMapper.java b/src/main/java/com/supervision/police/mapper/SystemUserRoleRelationMapper.java index c0e9b53..4a77b97 100644 --- a/src/main/java/com/supervision/police/mapper/SystemUserRoleRelationMapper.java +++ b/src/main/java/com/supervision/police/mapper/SystemUserRoleRelationMapper.java @@ -20,6 +20,8 @@ public interface SystemUserRoleRelationMapper extends BaseMapper listUserRoleMenu(String userId); + + List listUserRoleByUserIdList(List userIdList); } diff --git a/src/main/java/com/supervision/police/service/SystemUserRoleRelationService.java b/src/main/java/com/supervision/police/service/SystemUserRoleRelationService.java index 0f5de45..ab52df7 100644 --- a/src/main/java/com/supervision/police/service/SystemUserRoleRelationService.java +++ b/src/main/java/com/supervision/police/service/SystemUserRoleRelationService.java @@ -31,4 +31,7 @@ public interface SystemUserRoleRelationService extends IService listUserRoleMenu(String userId); List listUserRoleByRoleIdList(List roleIdList); + + + List listUserRoleByUserIdList(List userIdList); } diff --git a/src/main/java/com/supervision/police/service/impl/SystemRoleServiceImpl.java b/src/main/java/com/supervision/police/service/impl/SystemRoleServiceImpl.java index 73e8271..16524c7 100644 --- a/src/main/java/com/supervision/police/service/impl/SystemRoleServiceImpl.java +++ b/src/main/java/com/supervision/police/service/impl/SystemRoleServiceImpl.java @@ -109,13 +109,13 @@ public class SystemRoleServiceImpl extends ServiceImpl roleIdList = page.getRecords().stream().map(SystemRole::getId).toList(); // 角色关联的用户数量 List userRoleList = systemUserRoleRelationService.listUserRoleByRoleIdList(roleIdList); - Map roleCount = userRoleList.stream().collect(Collectors.groupingBy(SystemUserRoleRelation::getRoleId, Collectors.counting())); + Map roleUserCount = userRoleList.stream().collect(Collectors.groupingBy(SystemUserRoleRelation::getRoleId, Collectors.counting())); // 角色关联的菜单数据 List roleMenuList = roleMenuRelationService.listRoleMenuByRoleIdList(roleIdList); Map> roleMenuMap = roleMenuList.stream().collect(Collectors.groupingBy(SystemRoleMenuRelation::getRoleId)); return page.convert(systemRole -> - new RoleDTO(systemRole, roleCount.get(systemRole.getId()),roleMenuMap.get(systemRole.getId()))); + new RoleDTO(systemRole, roleUserCount.get(systemRole.getId()),roleMenuMap.get(systemRole.getId()))); } } diff --git a/src/main/java/com/supervision/police/service/impl/SystemUserRoleRelationServiceImpl.java b/src/main/java/com/supervision/police/service/impl/SystemUserRoleRelationServiceImpl.java index f8ca076..a9c59f9 100644 --- a/src/main/java/com/supervision/police/service/impl/SystemUserRoleRelationServiceImpl.java +++ b/src/main/java/com/supervision/police/service/impl/SystemUserRoleRelationServiceImpl.java @@ -12,6 +12,7 @@ import com.supervision.police.mapper.SystemUserRoleRelationMapper; import lombok.RequiredArgsConstructor; import lombok.extern.slf4j.Slf4j; import org.springframework.stereotype.Service; +import org.springframework.transaction.annotation.Transactional; import java.util.ArrayList; import java.util.List; @@ -33,6 +34,7 @@ public class SystemUserRoleRelationServiceImpl extends ServiceImpl saveUserRoleRelation(String userId, List roleIdList) { Assert.notEmpty(userId, "用户id不能为空"); @@ -47,11 +49,12 @@ public class SystemUserRoleRelationServiceImpl extends ServiceImpl updateUserRoleRelation(String userId, List roleIdList) { Assert.notEmpty(userId, "用户id不能为空"); @@ -78,6 +81,15 @@ public class SystemUserRoleRelationServiceImpl extends ServiceImpl listUserRoleByUserIdList(List userIdList) { + if (CollUtil.isEmpty(userIdList)){ + return new ArrayList<>(); + } + + return super.getBaseMapper().listUserRoleByUserIdList(userIdList); + } + @Override public List listUserRoleByRoleIdList(List roleIdList) { if (CollUtil.isEmpty(roleIdList)){ diff --git a/src/main/java/com/supervision/police/service/impl/SystemUserServiceImpl.java b/src/main/java/com/supervision/police/service/impl/SystemUserServiceImpl.java index 5d7ff65..992b216 100644 --- a/src/main/java/com/supervision/police/service/impl/SystemUserServiceImpl.java +++ b/src/main/java/com/supervision/police/service/impl/SystemUserServiceImpl.java @@ -8,6 +8,7 @@ import com.baomidou.mybatisplus.core.metadata.IPage; import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; import com.supervision.police.domain.SystemUser; +import com.supervision.police.domain.SystemUserRoleRelation; import com.supervision.police.dto.user.*; import com.supervision.police.service.SystemUserRoleRelationService; import com.supervision.police.service.SystemUserService; @@ -37,7 +38,6 @@ public class SystemUserServiceImpl extends ServiceImpl list(String userName, String roleId, String roleName, Integer pageNum, Integer pageSize) { - List userRoleDTOS = new ArrayList<>(); + List userRoleFilterList = new ArrayList<>(); // 先对角色进行判断 if (StrUtil.isNotEmpty(roleId) || StrUtil.isNotEmpty(roleName)){ - userRoleDTOS = userRoleRelationManageService.listUserRole(null, roleId, roleName); - if (CollUtil.isEmpty(userRoleDTOS)){ + userRoleFilterList = userRoleRelationManageService.listUserRole(null, roleId, roleName); + if (CollUtil.isEmpty(userRoleFilterList)){ return Page.of(pageNum, pageSize, 0); } } - //构建查询条件 + //查询用户数据 Page userInfoPage = super.page(Page.of(pageNum, pageSize), new LambdaQueryWrapper() .eq(StrUtil.isNotEmpty(userName), SystemUser::getUserName, userName) - .in(CollUtil.isNotEmpty(userRoleDTOS), SystemUser::getId, userRoleDTOS.stream().map(UserRoleDTO::getUserId).toList())); + .in(CollUtil.isNotEmpty(userRoleFilterList), SystemUser::getId, userRoleFilterList.stream().map(UserRoleDTO::getUserId).toList())); if (CollUtil.isEmpty(userInfoPage.getRecords())){ return Page.of(pageNum, pageSize, userInfoPage.getTotal()); } - Map> userRoleMap = userRoleDTOS.stream().collect(Collectors.groupingBy(UserRoleDTO::getUserId, Collectors.toList())); + List userRoleList = userRoleRelationManageService.listUserRoleByUserIdList(userInfoPage.getRecords().stream().map(SystemUser::getId).toList()); + Map> userRoleMap = userRoleList.stream().collect(Collectors.groupingBy(UserRoleDTO::getUserId, Collectors.toList())); return userInfoPage.convert(systemUser -> new UserInfoDTO(systemUser,userRoleMap)); } diff --git a/src/main/resources/mapper/SystemUserRoleRelationMapper.xml b/src/main/resources/mapper/SystemUserRoleRelationMapper.xml index 75b7a39..ff586c4 100644 --- a/src/main/resources/mapper/SystemUserRoleRelationMapper.xml +++ b/src/main/resources/mapper/SystemUserRoleRelationMapper.xml @@ -47,4 +47,16 @@ left join system_menu m on rm.menu_id = m.id where ur.user_id = #{userId} + +