screen-common/src/main/java/com/moral/constant/ResponseCodeEnum.java
@@ -15,7 +15,7 @@ TOKEN_INVALID(-3,"token无效"), TOKEN_CREATE_ERROR(-4,"token生成错误"), ACCOUNT_NOT_EXIST(-5,"用户不存在"), ACCOUNT_INVALID(-6,"用户已经存在"), ACCOUNT_EXIST(-6,"用户已经存在"), ACCOUNT_IS_DELETE(-7,"用户已经被删除"), PASSWORD_INVALID(-8,"密码错误"), MOBILE_INVALID(-9,"手机号无效"), screen-common/src/main/java/com/moral/constant/ResultMessage.java
@@ -36,15 +36,15 @@ public static ResultMessage ok() { ResultMessage resultMessage = new ResultMessage(); resultMessage.setCode(Constants.CODE_OPERATION_SUCCESS); resultMessage.setMessage(Constants.MSG_OPERATION_SUCCESS); resultMessage.setCode(ResponseCodeEnum.SUCCESS.getCode()); resultMessage.setMessage(ResponseCodeEnum.SUCCESS.getMsg()); resultMessage.setData(new HashMap<>()); return resultMessage; } public static ResultMessage ok(String msg) { ResultMessage resultMessage = new ResultMessage(); resultMessage.setCode(Constants.CODE_OPERATION_SUCCESS); resultMessage.setCode(ResponseCodeEnum.SUCCESS.getCode()); resultMessage.setMessage(msg); resultMessage.setData(new HashMap<>()); return resultMessage; @@ -67,8 +67,8 @@ public static <T> ResultMessage<T> ok(T data) { ResultMessage resultMessage = new ResultMessage(); resultMessage.setCode(Constants.CODE_OPERATION_SUCCESS); resultMessage.setMessage(Constants.MSG_OPERATION_SUCCESS); resultMessage.setCode(ResponseCodeEnum.SUCCESS.getCode()); resultMessage.setMessage(ResponseCodeEnum.SUCCESS.getMsg()); resultMessage.setData(data == null ?new HashMap<>():data); return resultMessage; } @@ -83,15 +83,15 @@ public static ResultMessage fail() { ResultMessage resultMessage = new ResultMessage(); resultMessage.setCode(Constants.CODE_OPERATION_FAILED); resultMessage.setMessage(Constants.MSG_OPERATION_FAILED); resultMessage.setCode(ResponseCodeEnum.FAIL.getCode()); resultMessage.setMessage(ResponseCodeEnum.FAIL.getMsg()); resultMessage.setData(new HashMap<>()); return resultMessage; } public static ResultMessage fail(String msg) { ResultMessage resultMessage = new ResultMessage(); resultMessage.setCode(Constants.CODE_OPERATION_FAILED); resultMessage.setCode(ResponseCodeEnum.FAIL.getCode()); resultMessage.setMessage(msg); resultMessage.setData(new HashMap<>()); return resultMessage; @@ -107,8 +107,8 @@ public static <T> ResultMessage<T> fail(T data) { ResultMessage resultMessage = new ResultMessage(); resultMessage.setCode(Constants.CODE_OPERATION_FAILED); resultMessage.setMessage(Constants.MSG_OPERATION_FAILED); resultMessage.setCode(ResponseCodeEnum.FAIL.getCode()); resultMessage.setMessage(ResponseCodeEnum.FAIL.getMsg()); resultMessage.setData(data == null ?new HashMap<>():data); return resultMessage; } screen-manage/src/main/java/com/moral/api/controller/AccountController.java
@@ -1,12 +1,11 @@ package com.moral.api.controller; import com.google.code.kaptcha.impl.DefaultKaptcha; import com.moral.api.pojo.dto.account.AccountDeleteDTO; import com.moral.api.pojo.dto.account.AccountInsertDTO; import com.moral.api.pojo.dto.account.AccountQueryDTO; import com.moral.api.pojo.dto.account.AccountUpdateDTO; import com.moral.api.pojo.dto.login.LoginDTO; import com.moral.api.pojo.request.*; import com.moral.api.pojo.form.*; import com.moral.api.pojo.vo.account.AccountDeleteVO; import com.moral.api.pojo.vo.account.AccountInsertVO; import com.moral.api.pojo.vo.account.AccountQueryVO; @@ -14,6 +13,7 @@ import com.moral.api.pojo.vo.login.LoginVO; import com.moral.api.service.ManageAccountService; import com.moral.constant.Constants; import com.moral.constant.ResponseCodeEnum; import com.moral.constant.ResultMessage; import com.moral.util.KaptchaUtils; import com.moral.util.TokenUtils; @@ -34,69 +34,64 @@ @RestController @RequestMapping("/account") public class AccountController { @Resource ManageAccountService accountService; @Autowired @Qualifier("tokenRedisTemplate") RedisTemplate redisTemplate; ManageAccountService accountService; @PostMapping("login") public ResultMessage login(@RequestBody LoginRequest loginRequest) { if (!loginRequest.valid()) public ResultMessage login(@RequestBody LoginForm loginForm) { if (!loginForm.valid()) return ResultMessage.fail(Constants.CODE_PARAMETER_IS_MISSING,Constants.MSG_PARAMETER_IS_MISSING); LoginDTO loginDTO = accountService.login(loginRequest); LoginDTO loginDTO = accountService.login(loginForm); LoginVO loginVO = LoginVO.convert(loginDTO); if(loginVO.getCode().equals(loginVO.SUCCESS)) return ResultMessage.ok(loginVO); return ResultMessage.fail(loginVO); return new ResultMessage(loginDTO.getCode(),loginDTO.getMsg(),loginVO); } @PostMapping("logout") public ResultMessage logout(@RequestBody LogoutRequest logoutRequest, HttpServletRequest request) { if(!logoutRequest.valid()) return ResultMessage.fail(Constants.CODE_PARAMETER_IS_MISSING,Constants.MSG_PARAMETER_IS_MISSING); public ResultMessage logout (@RequestBody LogoutForm logoutForm, HttpServletRequest request) { if(!logoutForm.valid()) return ResultMessage.fail(ResponseCodeEnum.PARAMETERS_IS_MISSING.getCode(), ResponseCodeEnum.PARAMETERS_IS_MISSING.getMsg()); String token = request.getHeader("token"); logoutRequest.setToken(token); logoutForm.setToken(token); if(accountService.logout(logoutRequest)) return ResultMessage.ok("注销成功"); return ResultMessage.fail("注销异常"); if(accountService.logout(logoutForm)) return ResultMessage.ok(); return ResultMessage.fail(); } @PostMapping("insert") public ResultMessage insert(@RequestBody AccountInsertRequest accountInsertRequest){ if(!accountInsertRequest.valid()) return ResultMessage.fail(Constants.CODE_PARAMETER_IS_MISSING,Constants.MSG_PARAMETER_IS_MISSING); public ResultMessage insert(@RequestBody AccountInsertForm accountInsertForm){ if(!accountInsertForm.valid()) return ResultMessage.fail(ResponseCodeEnum.PARAMETERS_IS_MISSING.getCode(), ResponseCodeEnum.PARAMETERS_IS_MISSING.getMsg()); AccountInsertDTO accountInsertDTO = accountService.insertAccount(accountInsertRequest); AccountInsertDTO accountInsertDTO = accountService.insertAccount(accountInsertForm); AccountInsertVO accountInsertVO = AccountInsertVO.convert(accountInsertDTO); if(accountInsertVO.getCode().equals(accountInsertVO.SUCCESS)) return ResultMessage.ok(accountInsertVO); return ResultMessage.fail(accountInsertVO); return new ResultMessage(accountInsertDTO.getCode(),accountInsertDTO.getMsg(),accountInsertVO); } @GetMapping("query") public ResultMessage query(AccountQueryRequest accountQueryRequest){ if(!accountQueryRequest.valid()) public ResultMessage query(AccountQueryForm accountQueryForm){ if(!accountQueryForm.valid()) return ResultMessage.fail(Constants.CODE_PARAMETER_IS_MISSING,Constants.MSG_PARAMETER_IS_MISSING); AccountQueryDTO accountQueryDTO = accountService.queryAccount(accountQueryRequest); AccountQueryDTO accountQueryDTO = accountService.queryAccount(accountQueryForm); AccountQueryVO accountQueryVO = AccountQueryVO.convert(accountQueryDTO); return ResultMessage.ok(accountQueryVO); return new ResultMessage(accountQueryDTO.getCode(),accountQueryDTO.getMsg(),accountQueryVO); } @PostMapping("update") public ResultMessage update(@RequestBody AccountUpdateRequest accountQeuryRequest){ public ResultMessage update(@RequestBody AccountUpdateForm accountQeuryRequest){ if(!accountQeuryRequest.valid()) return ResultMessage.fail(Constants.CODE_PARAMETER_IS_MISSING,Constants.MSG_PARAMETER_IS_MISSING); @@ -104,23 +99,19 @@ AccountUpdateVO accountUpdateVO = AccountUpdateVO.convert(accountUpdateDTO); if(accountUpdateVO.getCode().equals(accountUpdateVO.SUCCESS)) return ResultMessage.ok(accountUpdateVO); return ResultMessage.fail(accountUpdateVO); return new ResultMessage(accountUpdateDTO.getCode(),accountUpdateDTO.getMsg(),accountUpdateVO); } @PostMapping("delete") public ResultMessage delete(@RequestBody AccountDeleteRequest accountDeleteRequest){ if(!accountDeleteRequest.valid()) public ResultMessage delete(@RequestBody AccountDeleteForm accountDeleteForm){ if(!accountDeleteForm.valid()) return ResultMessage.fail(Constants.CODE_PARAMETER_IS_MISSING,Constants.MSG_PARAMETER_IS_MISSING); AccountDeleteDTO accountDeleteDTO = accountService.deleteAccount(accountDeleteRequest); AccountDeleteDTO accountDeleteDTO = accountService.deleteAccount(accountDeleteForm); AccountDeleteVO accountDeleteVO = AccountDeleteVO.convert(accountDeleteDTO); if(accountDeleteVO.getCode().equals(accountDeleteVO.SUCCESS)) return ResultMessage.ok(accountDeleteVO); return ResultMessage.fail(accountDeleteVO); return new ResultMessage(accountDeleteDTO.getCode(),accountDeleteDTO.getMsg(),accountDeleteVO); } @PostMapping("yanzhengma") screen-manage/src/main/java/com/moral/api/pojo/dto/account/AccountDTO.java
@@ -20,5 +20,7 @@ private List<ManageRole> roles; private String code; private Integer code; private String msg; } screen-manage/src/main/java/com/moral/api/pojo/dto/account/AccountDeleteDTO.java
@@ -12,15 +12,5 @@ @Data public class AccountDeleteDTO extends AccountDTO { /* * 删除成功 * */ public final static String SUCCESS = "0"; /* * 用户不存在 * */ public final static String ACCOUNT_NOT_EXIST = "-1"; } screen-manage/src/main/java/com/moral/api/pojo/dto/account/AccountInsertDTO.java
@@ -16,46 +16,4 @@ @Data public class AccountInsertDTO extends AccountDTO{ /* * 添加成功 * */ public static final String SUCCESS = "0"; /* * 账号长度不符合规则 * */ public static final String ACCOUNT_LENGTH_INVALID = "-1"; /* * 密码长度不符合规则 * */ public static final String PASSWORD_LENGTH_INVALID = "-2"; /* * 手机号不符合规则 * */ public static final String MOBILE_INVALID = "-3"; /* * 邮箱不符合规则 * */ public static final String EMAIL_INVALID = "-4"; /* * 用户名已经存在 * */ public static final String ACCOUNT_EXIST = "-5"; /* * 用户名包含特殊字符 * */ public static final String ACCOUNT_EXIST_SPECIAL_CHAR = "-6"; /* * 密码包含特殊字符 * */ public static final String PASSWORD_EXIST_SPECIAL_CHAR = "-7"; } screen-manage/src/main/java/com/moral/api/pojo/dto/account/AccountQueryDTO.java
@@ -14,6 +14,10 @@ @Data public class AccountQueryDTO { private Integer code; private String msg; private long pages; private long total; screen-manage/src/main/java/com/moral/api/pojo/dto/account/AccountUpdateDTO.java
@@ -11,24 +11,5 @@ **/ @Data public class AccountUpdateDTO extends AccountDTO { /* * 更新成功 * */ public static final String SUCCESS = "0"; /* * 用户不存在 * */ public static final String ACCOUNT_NOT_EXIST = "-1"; /* * 手机号不符合规则 * */ public static final String MOBILE_INVALID = "-2"; /* * 邮箱不符合规则 * */ public static final String EMAIL_INVALID = "-3"; } screen-manage/src/main/java/com/moral/api/pojo/dto/login/LoginDTO.java
@@ -12,40 +12,15 @@ @Data public class LoginDTO { /* * 登陆成功 * */ public static final String SUCCESS = "0"; /* * 用户不存在 * */ public static final String NOT_EXIST = "-1"; /* * 用户已被封禁 * */ public static final String IS_DELETE = "-2"; /* * 密码错误 * */ public static final String PASSWORD_ERROR = "-3"; /* * 角色尚未分配 * */ public static final String ROLE_EMPTY = "-4"; /* * 菜单尚未分配 * */ public static final String MENU_EMPTY = "-5"; /* * 状态码 * */ private String code; private Integer code; /* * 提示信息 * */ private String msg; /* *用户token screen-manage/src/main/java/com/moral/api/pojo/form/AccountDeleteForm.java
File was renamed from screen-manage/src/main/java/com/moral/api/pojo/request/AccountDeleteRequest.java @@ -1,4 +1,4 @@ package com.moral.api.pojo.request; package com.moral.api.pojo.form; import lombok.Data; @@ -10,7 +10,7 @@ * @Version TODO **/ @Data public class AccountDeleteRequest { public class AccountDeleteForm { private Integer accountId; screen-manage/src/main/java/com/moral/api/pojo/form/AccountInsertForm.java
File was renamed from screen-manage/src/main/java/com/moral/api/pojo/request/AccountInsertRequest.java @@ -1,6 +1,5 @@ package com.moral.api.pojo.request; package com.moral.api.pojo.form; import com.moral.api.entity.ManageRole; import lombok.Data; import org.springframework.util.ObjectUtils; @@ -15,7 +14,7 @@ * @Version TODO **/ @Data public class AccountInsertRequest implements Serializable{ public class AccountInsertForm implements Serializable{ private String account; @@ -50,8 +49,7 @@ ObjectUtils.isEmpty(password) || ObjectUtils.isEmpty(email) || ObjectUtils.isEmpty(mobile) || ObjectUtils.isEmpty(userName) || ObjectUtils.isEmpty(roleIds) ObjectUtils.isEmpty(userName) ) return false; return true; screen-manage/src/main/java/com/moral/api/pojo/form/AccountQueryForm.java
File was renamed from screen-manage/src/main/java/com/moral/api/pojo/request/AccountQueryRequest.java @@ -1,4 +1,4 @@ package com.moral.api.pojo.request; package com.moral.api.pojo.form; import lombok.Data; import org.springframework.util.ObjectUtils; @@ -13,7 +13,7 @@ * @Version TODO **/ @Data public class AccountQueryRequest implements Serializable { public class AccountQueryForm implements Serializable { private Integer page; screen-manage/src/main/java/com/moral/api/pojo/form/AccountUpdateForm.java
File was renamed from screen-manage/src/main/java/com/moral/api/pojo/request/AccountUpdateRequest.java @@ -1,4 +1,4 @@ package com.moral.api.pojo.request; package com.moral.api.pojo.form; import lombok.Data; import org.springframework.util.ObjectUtils; @@ -13,7 +13,7 @@ * @Version TODO **/ @Data public class AccountUpdateRequest { public class AccountUpdateForm { private Integer accountId; screen-manage/src/main/java/com/moral/api/pojo/form/LoginForm.java
File was renamed from screen-manage/src/main/java/com/moral/api/pojo/request/LoginRequest.java @@ -1,4 +1,4 @@ package com.moral.api.pojo.request; package com.moral.api.pojo.form; import lombok.Data; import org.springframework.util.ObjectUtils; @@ -13,15 +13,15 @@ * @Version TODO **/ @Data public class LoginRequest implements Serializable { public class LoginForm implements Serializable { private String account; private String password; public boolean valid(){ if(ObjectUtils.isEmpty(account)||ObjectUtils.isEmpty(password)) return false; if(ObjectUtils.isEmpty(account)||ObjectUtils.isEmpty(password)) return false; return true; } } screen-manage/src/main/java/com/moral/api/pojo/form/LogoutForm.java
File was renamed from screen-manage/src/main/java/com/moral/api/pojo/request/LogoutRequest.java @@ -1,4 +1,4 @@ package com.moral.api.pojo.request; package com.moral.api.pojo.form; import lombok.Data; import org.springframework.util.ObjectUtils; @@ -13,7 +13,7 @@ * @Version TODO **/ @Data public class LogoutRequest implements Serializable { public class LogoutForm implements Serializable { private String accountId; screen-manage/src/main/java/com/moral/api/pojo/vo/account/AccountDeleteVO.java
@@ -3,6 +3,7 @@ import com.fasterxml.jackson.annotation.JsonInclude; import com.moral.api.entity.ManageAccount; import com.moral.api.pojo.dto.account.AccountDeleteDTO; import com.moral.constant.ResponseCodeEnum; import lombok.Data; import org.springframework.util.ObjectUtils; @@ -18,24 +19,14 @@ public class AccountDeleteVO extends AccountVO { /* * 删除成功 * */ public final static String SUCCESS = "0"; /* * 用户不存在 * */ public final static String ACCOUNT_NOT_EXIST = "-1"; public static AccountDeleteVO convert(AccountDeleteDTO dto) { if (dto.getCode() != ResponseCodeEnum.SUCCESS.getCode()) return null; AccountDeleteVO vo = new AccountDeleteVO(); vo.setCode(dto.getCode()); if (!ObjectUtils.isEmpty(dto.getAccount())) { ManageAccount account = dto.getAccount(); vo.setId(account.getId()); vo.setUserName(account.getUserName()); } ManageAccount account = dto.getAccount(); vo.setId(account.getId()); vo.setUserName(account.getUserName()); return vo; } } screen-manage/src/main/java/com/moral/api/pojo/vo/account/AccountInsertVO.java
@@ -3,7 +3,9 @@ import com.fasterxml.jackson.annotation.JsonInclude; import com.moral.api.entity.ManageRole; import com.moral.api.pojo.dto.account.AccountInsertDTO; import com.moral.constant.ResponseCodeEnum; import lombok.Data; import org.springframework.util.ObjectUtils; import java.util.ArrayList; import java.util.List; @@ -18,79 +20,37 @@ @Data @JsonInclude(JsonInclude.Include.NON_EMPTY) public class AccountInsertVO extends AccountVO { /* * 添加成功 * */ public static final String SUCCESS = "0"; /* * 账号长度不符合规则 * */ public static final String ACCOUNT_LENGTH_INVALID = "-1"; /* * 密码长度不符合规则 * */ public static final String PASSWORD_LENGTH_INVALID = "-2"; /* * 手机号不符合规则 * */ public static final String MOBILE_INVALID = "-3"; /* * 邮箱不符合规则 * */ public static final String EMAIL_INVALID = "-4"; /* * 用户名已经存在 * */ public static final String ACCOUNT_EXIST = "-5"; /* * 用户名包含特殊字符 * */ public static final String ACCOUNT_EXIST_SPECIAL_CHAR = "-6"; /* * 密码包含特殊字符 * */ public static final String PASSWORD_EXIST_SPECIAL_CHAR = "-7"; /** * @Description: 用于插入账户返回数据使用 * @Param: [dto] * @return: com.moral.api.pojo.vo.account.AccountVO * @Author: 陈凯裕 * @Date: 2021/3/15 */ public static AccountInsertVO convert(AccountInsertDTO dto){ * @Description: 用于插入账户返回数据使用 * @Param: [dto] * @return: com.moral.api.pojo.vo.account.AccountVO * @Author: 陈凯裕 * @Date: 2021/3/15 */ public static AccountInsertVO convert(AccountInsertDTO dto) { if (dto.getCode() != ResponseCodeEnum.SUCCESS.getCode()) return null; AccountInsertVO vo = new AccountInsertVO(); if(dto.getCode()== AccountInsertDTO.SUCCESS){ Integer id = dto.getAccount().getId(); String userName = dto.getAccount().getUserName(); String email = dto.getAccount().getEmail(); String mobile = dto.getAccount().getMobile(); String wechat = dto.getAccount().getWechat(); //转换成角色名集合 List<ManageRole> roles = dto.getRoles(); List<String> roleNames = new ArrayList<>(); roles.forEach(role->roleNames.add(role.getName())); vo.setId(id); vo.setUserName(userName); vo.setEmail(email); vo.setMobile(mobile); vo.setWechat(wechat); vo.setRoleNames(roleNames); Integer id = dto.getAccount().getId(); String userName = dto.getAccount().getUserName(); String email = dto.getAccount().getEmail(); String mobile = dto.getAccount().getMobile(); String wechat = dto.getAccount().getWechat(); //转换成角色名集合 List<ManageRole> roles = dto.getRoles(); List<String> roleNames = new ArrayList<>(); if (!ObjectUtils.isEmpty(roles)) { roles.forEach(role -> roleNames.add(role.getName())); } vo.setId(id); vo.setUserName(userName); vo.setEmail(email); vo.setMobile(mobile); vo.setWechat(wechat); vo.setRoleNames(roleNames); String code = dto.getCode(); vo.setCode(code); return vo; } screen-manage/src/main/java/com/moral/api/pojo/vo/account/AccountQueryVO.java
@@ -3,7 +3,9 @@ import com.fasterxml.jackson.annotation.JsonInclude; import com.moral.api.pojo.dto.account.AccountDTO; import com.moral.api.pojo.dto.account.AccountQueryDTO; import com.moral.constant.ResponseCodeEnum; import lombok.Data; import org.springframework.util.ObjectUtils; import java.util.ArrayList; import java.util.List; @@ -29,16 +31,21 @@ private List<AccountVO> accountVOs; public static AccountQueryVO convert(AccountQueryDTO dto){ public static AccountQueryVO convert(AccountQueryDTO dto) { if (dto.getCode() != ResponseCodeEnum.SUCCESS.getCode()) return null; long total = dto.getTotal(); long current = dto.getCurrent(); long pages = dto.getPages(); long size = dto.getSize(); List<AccountVO> accountVOs = new ArrayList<>(); List<AccountDTO> accountDTOs = dto.getAccountDTOS(); for (AccountDTO accountDTO : accountDTOs) { AccountVO vo = AccountVO.convert(accountDTO); accountVOs.add(vo); if (!ObjectUtils.isEmpty(accountDTOs)) { for (AccountDTO accountDTO : accountDTOs) { AccountVO vo = AccountVO.convert(accountDTO); accountVOs.add(vo); } } AccountQueryVO vo = new AccountQueryVO(); vo.setTotal(total); screen-manage/src/main/java/com/moral/api/pojo/vo/account/AccountUpdateVO.java
@@ -4,7 +4,9 @@ import com.moral.api.entity.ManageRole; import com.moral.api.pojo.dto.account.AccountInsertDTO; import com.moral.api.pojo.dto.account.AccountUpdateDTO; import com.moral.constant.ResponseCodeEnum; import lombok.Data; import org.springframework.util.ObjectUtils; import java.util.ArrayList; import java.util.List; @@ -19,51 +21,33 @@ @Data @JsonInclude(JsonInclude.Include.NON_EMPTY) public class AccountUpdateVO extends AccountVO{ /* * 更新成功 * */ public static final String SUCCESS = "0"; public class AccountUpdateVO extends AccountVO { /* * 用户不存在 * */ public static final String ACCOUNT_NOT_EXIST = "-1"; public static AccountUpdateVO convert(AccountUpdateDTO dto) { if (dto.getCode() != ResponseCodeEnum.SUCCESS.getCode()) return null; /* * 手机号不符合规则 * */ public static final String MOBILE_INVALID = "-2"; /* * 邮箱不符合规则 * */ public static final String EMAIL_INVALID = "-3"; public static AccountUpdateVO convert(AccountUpdateDTO dto){ AccountUpdateVO vo = new AccountUpdateVO(); if(dto.getCode()== AccountUpdateDTO.SUCCESS){ Integer id = dto.getAccount().getId(); String userName = dto.getAccount().getUserName(); String email = dto.getAccount().getEmail(); String mobile = dto.getAccount().getMobile(); String wechat = dto.getAccount().getWechat(); //转换成角色名集合 List<ManageRole> roles = dto.getRoles(); List<String> roleNames = new ArrayList<>(); roles.forEach(role->roleNames.add(role.getName())); Integer id = dto.getAccount().getId(); String userName = dto.getAccount().getUserName(); String email = dto.getAccount().getEmail(); String mobile = dto.getAccount().getMobile(); String wechat = dto.getAccount().getWechat(); vo.setId(id); vo.setUserName(userName); vo.setEmail(email); vo.setMobile(mobile); vo.setWechat(wechat); vo.setRoleNames(roleNames); //转换成角色名集合 List<ManageRole> roles = dto.getRoles(); List<String> roleNames = new ArrayList<>(); if (!ObjectUtils.isEmpty(roles)) { roles.forEach(role -> roleNames.add(role.getName())); } vo.setId(id); vo.setUserName(userName); vo.setEmail(email); vo.setMobile(mobile); vo.setWechat(wechat); vo.setRoleNames(roleNames); String code = dto.getCode(); vo.setCode(code); return vo; } } screen-manage/src/main/java/com/moral/api/pojo/vo/account/AccountVO.java
@@ -5,6 +5,7 @@ import com.moral.api.entity.ManageRole; import com.moral.api.pojo.dto.account.AccountDTO; import lombok.Data; import org.springframework.util.ObjectUtils; import java.util.ArrayList; import java.util.List; @@ -20,8 +21,6 @@ @JsonInclude(JsonInclude.Include.NON_EMPTY) public class AccountVO { private String code; private Integer id; private String userName; @@ -34,14 +33,16 @@ private List<String> roleNames; public static AccountVO convert(AccountDTO dto){ if(dto.getAccount()==null) public static AccountVO convert(AccountDTO dto) { if (dto.getAccount() == null) return null; AccountVO vo = new AccountVO(); ManageAccount account = dto.getAccount(); List<ManageRole> roles = dto.getRoles(); List<String> roleNames = new ArrayList<>(); roles.forEach(role->roleNames.add(role.getName())); if (!ObjectUtils.isEmpty(roles)) { roles.forEach(role -> roleNames.add(role.getName())); } vo.setId(account.getId()); vo.setUserName(account.getUserName()); vo.setEmail(account.getEmail()); screen-manage/src/main/java/com/moral/api/pojo/vo/login/AccountInfoVO.java
@@ -6,6 +6,7 @@ import com.moral.api.entity.ManageRole; import com.moral.api.pojo.dto.login.AccountInfoDTO; import lombok.Data; import org.springframework.util.ObjectUtils; import java.util.ArrayList; import java.util.List; @@ -42,32 +43,36 @@ private List<ManageMenu> menus; /** * @Description: DTO转换VO * @Param: [dto] * @return: com.moral.api.pojo.vo.login.AccountInfoVO * @Author: 陈凯裕 * @Date: 2021/3/13 */ public static AccountInfoVO convert(AccountInfoDTO dto){ * @Description: DTO转换VO * @Param: [dto] * @return: com.moral.api.pojo.vo.login.AccountInfoVO * @Author: 陈凯裕 * @Date: 2021/3/13 */ public static AccountInfoVO convert(AccountInfoDTO dto) { AccountInfoVO vo = new AccountInfoVO(); ManageAccount account = dto.getAccount(); List<ManageMenu> menus = dto.getMenus(); List<ManageRole> roles = dto.getRoles(); //封装roleNames ArrayList<String> roleNames = new ArrayList<>(); roles.forEach(role->roleNames.add(role.getName())); if (!ObjectUtils.isEmpty(roles)) { roles.forEach(role -> roleNames.add(role.getName())); } /*过滤menu无用属性*/ for (ManageMenu menu : menus) { menu.setCreateTime(null); menu.setIsDelete(null); menu.setUpdateTime(null); menu.setParentId(null); List<ManageMenu> children = menu.getChildren(); for (ManageMenu child : children) { child.setCreateTime(null); child.setIsDelete(null); child.setUpdateTime(null); child.setParentId(null); if (!ObjectUtils.isEmpty(menus)) { for (ManageMenu menu : menus) { menu.setCreateTime(null); menu.setIsDelete(null); menu.setUpdateTime(null); menu.setParentId(null); List<ManageMenu> children = menu.getChildren(); for (ManageMenu child : children) { child.setCreateTime(null); child.setIsDelete(null); child.setUpdateTime(null); child.setParentId(null); } } } vo.setAccountId(account.getId()); screen-manage/src/main/java/com/moral/api/pojo/vo/login/LoginVO.java
@@ -3,6 +3,7 @@ import com.fasterxml.jackson.annotation.JsonInclude; import com.moral.api.pojo.dto.login.AccountInfoDTO; import com.moral.api.pojo.dto.login.LoginDTO; import com.moral.constant.ResponseCodeEnum; import lombok.Data; import org.springframework.util.ObjectUtils; @@ -17,40 +18,6 @@ @Data @JsonInclude(JsonInclude.Include.NON_EMPTY) public class LoginVO { /* * 登陆成功 * */ public static final String SUCCESS = "0"; /* * 用户不存在 * */ public static final String NOT_EXIST = "-1"; /* * 用户已被封禁 * */ public static final String IS_DELETE = "-2"; /* * 密码错误 * */ public static final String PASSWORD_ERROR = "-3"; /* * 角色尚未分配 * */ public static final String ROLE_EMPTY = "-4"; /* * 菜单尚未分配 * */ public static final String MENU_EMPTY = "-5"; /* * 状态码 * */ private String code; /* *用户token @@ -70,16 +37,15 @@ * @Date: 2021/3/13 */ public static LoginVO convert(LoginDTO dto) { if (dto.getCode() != ResponseCodeEnum.SUCCESS.getCode()) return null; LoginVO vo = new LoginVO(); String code = dto.getCode(); String token = dto.getToken(); AccountInfoDTO accountInfoDTO = dto.getAccountInfoDTO(); if (!ObjectUtils.isEmpty(accountInfoDTO)) { AccountInfoVO accountInfoVO = AccountInfoVO.convert(accountInfoDTO); vo.setAccountInfoVO(accountInfoVO); } AccountInfoVO accountInfoVO = AccountInfoVO.convert(accountInfoDTO); vo.setAccountInfoVO(accountInfoVO); vo.setToken(token); vo.setCode(code); return vo; } } screen-manage/src/main/java/com/moral/api/service/ManageAccountService.java
@@ -4,7 +4,7 @@ import com.baomidou.mybatisplus.extension.service.IService; import com.moral.api.pojo.dto.account.*; import com.moral.api.pojo.dto.login.LoginDTO; import com.moral.api.pojo.request.*; import com.moral.api.pojo.form.*; /** * <p> @@ -22,7 +22,7 @@ * @Author: 陈凯裕 * @Date: 2021/3/12 */ LoginDTO login(LoginRequest loginRequest); LoginDTO login(LoginForm loginForm); /** * @Description: 注销 @@ -31,7 +31,7 @@ * @Author: 陈凯裕 * @Date: 2021/3/12 */ boolean logout(LogoutRequest logoutRequest); boolean logout(LogoutForm logoutForm); /** * @Description: 添加后台账号 @@ -40,7 +40,7 @@ * @Author: 陈凯裕 * @Date: 2021/3/13 */ AccountInsertDTO insertAccount(AccountInsertRequest accountInsertRequest); AccountInsertDTO insertAccount(AccountInsertForm accountInsertForm); /** * @Description: 查询账号 @@ -49,7 +49,7 @@ * @Author: 陈凯裕 * @Date: 2021/3/15 */ AccountQueryDTO queryAccount(AccountQueryRequest accountQueryRequest); AccountQueryDTO queryAccount(AccountQueryForm accountQueryForm); /** * @Description: 更新账号 @@ -58,7 +58,7 @@ * @Author: 陈凯裕 * @Date: 2021/3/15 */ AccountUpdateDTO updateAccount(AccountUpdateRequest accountUpdateRequest); AccountUpdateDTO updateAccount(AccountUpdateForm accountUpdateForm); /** * @Description: 删除账号 @@ -67,5 +67,5 @@ * @Author: 陈凯裕 * @Date: 2021/3/16 */ AccountDeleteDTO deleteAccount(AccountDeleteRequest accountDeleteRequest); AccountDeleteDTO deleteAccount(AccountDeleteForm accountDeleteForm); } screen-manage/src/main/java/com/moral/api/service/impl/ManageAccountServiceImpl.java
@@ -14,12 +14,14 @@ import com.moral.api.pojo.dto.account.*; import com.moral.api.pojo.dto.login.AccountInfoDTO; import com.moral.api.pojo.dto.login.LoginDTO; import com.moral.api.pojo.request.*; import com.moral.api.pojo.form.*; import com.moral.api.service.ManageAccountService; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; import com.moral.constant.ResponseCodeEnum; import com.moral.util.AESUtils; import com.moral.util.MD5Utils; import com.moral.util.TokenUtils; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.beans.factory.annotation.Value; import org.springframework.stereotype.Service; import org.springframework.transaction.annotation.Transactional; @@ -43,13 +45,13 @@ @Value("${AES.KEY}") private String AESKey; @Resource @Autowired ManageAccountMapper manageAccountMapper; @Resource @Autowired ManageRoleMapper manageRoleMapper; @Resource @Autowired ManageMenuMapper manageMenuMapper; @Resource @Autowired ManageAccountRoleMapper manageAccountRoleMapper; public final static String specialCharRegEx = "[ _`~!@#$%^&*()+=|{}':;',\\[\\].<>/?~!@#¥%……&*()——+|{}【】‘;:”“’。,、?]|\n|\r|\t"; @@ -61,55 +63,53 @@ /** * @Description: 登陆 * @Param: [parameters] * @return: java.util.Map<java.lang.String , java.lang.Object> * @return: java.util.Map<java.lang.String , java.lang.Object> * @Author: 陈凯裕 * @Date: 2021/3/11 */ @Override public LoginDTO login(LoginRequest loginRequest) { public LoginDTO login(LoginForm loginForm) { LoginDTO loginDTO = new LoginDTO(); //取参 String AESAccount = loginRequest.getAccount(); String AESPassword = loginRequest.getPassword(); String account = loginForm.getAccount(); String AESPassword = loginForm.getPassword(); //解密 String account = AESUtils.decrypt(AESAccount, AESKey); String password = AESUtils.decrypt(AESPassword, AESKey); //查询是否存在 QueryWrapper<ManageAccount> wrapper = new QueryWrapper<>(); wrapper.eq("account", account); List<ManageAccount> manageAccounts = manageAccountMapper.selectList(wrapper); if (ObjectUtils.isEmpty(manageAccounts)) { loginDTO.setCode(LoginDTO.NOT_EXIST); loginDTO.setCode(ResponseCodeEnum.ACCOUNT_NOT_EXIST.getCode()); loginDTO.setMsg(ResponseCodeEnum.ACCOUNT_NOT_EXIST.getMsg()); return loginDTO; } //查询是否逻辑删除 ManageAccount manageAccount = null; for (ManageAccount value : manageAccounts) { if("0".equals(value.getIsDelete())) if ("0".equals(value.getIsDelete())) manageAccount = value; } if (ObjectUtils.isEmpty(manageAccount)) { loginDTO.setCode(LoginDTO.IS_DELETE); loginDTO.setCode(ResponseCodeEnum.ACCOUNT_IS_DELETE.getCode()); loginDTO.setMsg(ResponseCodeEnum.ACCOUNT_NOT_EXIST.getMsg()); return loginDTO; } //校验密码 if (!MD5Utils.saltMD5Verify(password, manageAccount.getPassword())) { loginDTO.setCode(LoginDTO.PASSWORD_ERROR); loginDTO.setCode(ResponseCodeEnum.PASSWORD_INVALID.getCode()); loginDTO.setMsg(ResponseCodeEnum.PASSWORD_INVALID.getMsg()); return loginDTO; } //查询角色 List<ManageRole> roles = manageRoleMapper.getManageRoleByAccountId(manageAccount.getId()); if (ObjectUtils.isEmpty(roles)) {//判断账号是否存在角色 loginDTO.setCode(LoginDTO.ROLE_EMPTY); return loginDTO; } //查询菜单 List<ManageMenu> menus = manageMenuMapper.getParentChildrenMenusByRoles(roles); if (ObjectUtils.isEmpty(menus)) {//判断账号是否存在菜单 loginDTO.setCode(LoginDTO.MENU_EMPTY); return loginDTO; List<ManageMenu> menus = null; if (!ObjectUtils.isEmpty(roles)) { menus = manageMenuMapper.getParentChildrenMenusByRoles(roles); } //封装用户信息 @@ -122,7 +122,8 @@ String token = TokenUtils.getToken(String.valueOf(manageAccount.getId()), accountInfoDTO); //封装返回结果 loginDTO.setCode(LoginDTO.SUCCESS); loginDTO.setCode(ResponseCodeEnum.SUCCESS.getCode()); loginDTO.setMsg(ResponseCodeEnum.SUCCESS.getMsg()); loginDTO.setAccountInfoDTO(accountInfoDTO); loginDTO.setToken(token); @@ -132,14 +133,14 @@ /** * @Description: 注销 * @Param: [parameters] * @return: java.util.Map<java.lang.String , java.lang.Object> * @return: java.util.Map<java.lang.String , java.lang.Object> * @Author: 陈凯裕 * @Date: 2021/3/11 */ @Override public boolean logout(LogoutRequest logoutRequest) { String accountId = logoutRequest.getAccountId(); String token = logoutRequest.getToken(); public boolean logout(LogoutForm logoutForm) { String accountId = logoutForm.getAccountId(); String token = logoutForm.getToken(); TokenUtils.destoryToken(accountId, token); return true; } @@ -153,47 +154,52 @@ */ @Override @Transactional public AccountInsertDTO insertAccount(AccountInsertRequest accountInsertRequest) { public AccountInsertDTO insertAccount(AccountInsertForm accountInsertForm) { AccountInsertDTO accountInsertDTO = new AccountInsertDTO(); //取参 String AESAccount = accountInsertRequest.getAccount(); String AESPassword = accountInsertRequest.getPassword(); String account = AESUtils.decrypt(AESAccount, AESKey); String account = accountInsertForm.getAccount(); String AESPassword = accountInsertForm.getPassword(); String password = MD5Utils.saltMD5(AESUtils.decrypt(AESPassword, AESKey)); String userName = accountInsertRequest.getUserName(); String email = accountInsertRequest.getEmail(); String mobile = accountInsertRequest.getMobile(); String wechat = accountInsertRequest.getWechat(); List<String> roleIdsStr = accountInsertRequest.getRoleIds(); String userName = accountInsertForm.getUserName(); String email = accountInsertForm.getEmail(); String mobile = accountInsertForm.getMobile(); String wechat = accountInsertForm.getWechat(); List<String> roleIdsStr = accountInsertForm.getRoleIds(); //校验参数是否符合业务逻辑 /*判断用户名是否包含特殊字符*/ if (isSpecialChar(account)) { accountInsertDTO.setCode(AccountInsertDTO.ACCOUNT_EXIST_SPECIAL_CHAR); accountInsertDTO.setCode(ResponseCodeEnum.ACCOUNT_EXIST_SPECIAL_CHAR.getCode()); accountInsertDTO.setMsg(ResponseCodeEnum.ACCOUNT_EXIST_SPECIAL_CHAR.getMsg()); return accountInsertDTO; } /*判断密码是否包含特殊字符*/ if (isSpecialChar(password)) { accountInsertDTO.setCode(AccountInsertDTO.PASSWORD_EXIST_SPECIAL_CHAR); accountInsertDTO.setCode(ResponseCodeEnum.PASSWORD_EXIST_SPECIAL_CHAR.getCode()); accountInsertDTO.setMsg(ResponseCodeEnum.PASSWORD_EXIST_SPECIAL_CHAR.getMsg()); return accountInsertDTO; } /*判断用户名是否超过长度*/ if (account.length() >= 20||account.length()<=6) { accountInsertDTO.setCode(AccountInsertDTO.ACCOUNT_LENGTH_INVALID); if (account.length() >= 20 || account.length() <= 6) { accountInsertDTO.setCode(ResponseCodeEnum.ACCOUNT_LENGTH_INVALID.getCode()); accountInsertDTO.setMsg(ResponseCodeEnum.ACCOUNT_LENGTH_INVALID.getMsg()); return accountInsertDTO; } /*判断密码是否超过长度*/ if (AESUtils.decrypt(AESPassword, AESKey).length() >= 20||AESUtils.decrypt(AESPassword, AESKey).length() <= 6) { accountInsertDTO.setCode(AccountInsertDTO.PASSWORD_LENGTH_INVALID); if (AESUtils.decrypt(AESPassword, AESKey).length() >= 20 || AESUtils.decrypt(AESPassword, AESKey).length() <= 6) { accountInsertDTO.setCode(ResponseCodeEnum.PASSWORD_LENGTH_INVALID.getCode()); accountInsertDTO.setMsg(ResponseCodeEnum.PASSWORD_LENGTH_INVALID.getMsg()); return accountInsertDTO; } /*判断手机号是否符合规则*/ if (!isValidMobile(mobile)) { accountInsertDTO.setCode(AccountInsertDTO.MOBILE_INVALID); accountInsertDTO.setCode(ResponseCodeEnum.MOBILE_INVALID.getCode()); accountInsertDTO.setMsg(ResponseCodeEnum.MOBILE_INVALID.getMsg()); return accountInsertDTO; } /*判断邮箱是否符合规则*/ if (!isValidEmail(email)) { accountInsertDTO.setCode(AccountInsertDTO.EMAIL_INVALID); accountInsertDTO.setCode(ResponseCodeEnum.EMAIL_INVALID.getCode()); accountInsertDTO.setMsg(ResponseCodeEnum.EMAIL_INVALID.getMsg()); return accountInsertDTO; } /*判断账号是否存在*/ @@ -204,13 +210,10 @@ wrapper.setEntity(exitAccount); List<ManageAccount> exitAccounts = manageAccountMapper.selectList(wrapper); if (!ObjectUtils.isEmpty(exitAccounts)) { accountInsertDTO.setCode(AccountInsertDTO.ACCOUNT_EXIST); accountInsertDTO.setCode(ResponseCodeEnum.ACCOUNT_EXIST.getCode()); accountInsertDTO.setMsg(ResponseCodeEnum.ACCOUNT_EXIST.getMsg()); return accountInsertDTO; } //String to Integer List<Integer> roleIds = new ArrayList<>(); roleIdsStr.forEach(str -> roleIds.add(Integer.parseInt(str))); //封装account ManageAccount manageAccount = new ManageAccount(); @@ -222,20 +225,29 @@ manageAccount.setWechat(wechat); manageAccountMapper.insert(manageAccount); //封装account_role Integer accountId = manageAccount.getId(); roleIdsStr.forEach( value -> { ManageAccountRole manageAccountRole = new ManageAccountRole(); manageAccountRole.setAccountId(accountId); manageAccountRole.setRoleId(Integer.parseInt(value)); manageAccountRoleMapper.insert(manageAccountRole); } ); /*String to Integer*/ List<ManageRole> roles = null; //如果新建账号没有分配角色则不进行操作 if (!ObjectUtils.isEmpty(roleIdsStr)) { List<Integer> roleIds = new ArrayList<>(); roleIdsStr.forEach(str -> roleIds.add(Integer.parseInt(str))); Integer accountId = manageAccount.getId(); roleIdsStr.forEach( value -> { ManageAccountRole manageAccountRole = new ManageAccountRole(); manageAccountRole.setAccountId(accountId); manageAccountRole.setRoleId(Integer.parseInt(value)); manageAccountRoleMapper.insert(manageAccountRole); } ); roles = manageRoleMapper.selectBatchIds(roleIds); } //封装返回结果 List<ManageRole> roles = manageRoleMapper.selectBatchIds(roleIds); accountInsertDTO.setAccount(manageAccount); accountInsertDTO.setRoles(roles); accountInsertDTO.setCode(AccountInsertDTO.SUCCESS); accountInsertDTO.setCode(ResponseCodeEnum.SUCCESS.getCode()); accountInsertDTO.setMsg(ResponseCodeEnum.SUCCESS.getMsg()); return accountInsertDTO; } @@ -247,46 +259,63 @@ * @Date: 2021/3/15 */ @Override public AccountQueryDTO queryAccount(AccountQueryRequest accountQueryRequest) { public AccountQueryDTO queryAccount(AccountQueryForm accountQueryForm) { AccountQueryDTO accountQueryDTO = new AccountQueryDTO(); //取参 Integer pageCount = accountQueryRequest.getPage(); Integer size = accountQueryRequest.getSize(); Integer accountId = accountQueryRequest.getAccountId(); String account = accountQueryRequest.getAccount(); String userName = accountQueryRequest.getUserName(); String email = accountQueryRequest.getEmail(); String mobile = accountQueryRequest.getMobile(); String wechat = accountQueryRequest.getWechat(); String isDelete = accountQueryRequest.getIsDelete(); //封装查询参数 Map<String, Object> queryParams = new HashMap<>(); queryParams.put("id", accountId); queryParams.put("account", account); queryParams.put("user_name", userName); queryParams.put("email", email); queryParams.put("mobile", mobile); queryParams.put("wechat", wechat); if(!ObjectUtils.isEmpty(isDelete)) queryParams.put("is_delete", isDelete); else queryParams.put("is_delete","0"); //过滤为null的参数 queryParams.values().removeIf(value -> ObjectUtils.isEmpty(value)); Integer pageCount = accountQueryForm.getPage(); Integer size = accountQueryForm.getSize(); Integer accountId = accountQueryForm.getAccountId(); String account = accountQueryForm.getAccount(); String userName = accountQueryForm.getUserName(); String email = accountQueryForm.getEmail(); String mobile = accountQueryForm.getMobile(); String wechat = accountQueryForm.getWechat(); String isDelete = accountQueryForm.getIsDelete(); //查询用户 Page<ManageAccount> page = new Page<>(pageCount, size); QueryWrapper<ManageAccount> wrapper = new QueryWrapper(); wrapper.allEq(queryParams); if(!ObjectUtils.isEmpty(accountId)){ wrapper.eq("id",accountId); } if(!ObjectUtils.isEmpty(userName)){ wrapper.like("user_name",userName); } if(!ObjectUtils.isEmpty(account)){ wrapper.like("account",account); } if(!ObjectUtils.isEmpty(email)){ wrapper.like("email",email); } if(!ObjectUtils.isEmpty(mobile)){ wrapper.like("mobile",mobile); } if(!ObjectUtils.isEmpty(wechat)){ wrapper.like("wechat",wechat); } if (!ObjectUtils.isEmpty(isDelete)) wrapper.eq("is_delete", isDelete); else wrapper.eq("is_delete", "0"); Page resultPage = manageAccountMapper.selectPage(page, wrapper); //查询用户对应的角色 List<ManageAccount> accounts = resultPage.getRecords(); List<AccountDTO> accountDTOS = new ArrayList<>(); for (ManageAccount manageAccount : accounts) { AccountDTO accountDTO = new AccountDTO(); List<ManageRole> roles = manageRoleMapper.getManageRoleByAccountId(manageAccount.getId()); accountDTO.setRoles(roles); accountDTO.setAccount(manageAccount); accountDTOS.add(accountDTO); if (!ObjectUtils.isEmpty(accounts)) { for (ManageAccount manageAccount : accounts) { AccountDTO accountDTO = new AccountDTO(); List<ManageRole> roles = manageRoleMapper.getManageRoleByAccountId(manageAccount.getId()); accountDTO.setRoles(roles); accountDTO.setAccount(manageAccount); accountDTOS.add(accountDTO); } } //封装返回结果 accountQueryDTO.setAccountDTOS(accountDTOS); @@ -294,28 +323,30 @@ accountQueryDTO.setPages(resultPage.getPages()); accountQueryDTO.setSize(resultPage.getSize()); accountQueryDTO.setTotal(resultPage.getTotal()); accountQueryDTO.setCode(ResponseCodeEnum.SUCCESS.getCode()); accountQueryDTO.setMsg(ResponseCodeEnum.SUCCESS.getMsg()); return accountQueryDTO; } /** * @Description: 更新后台账号 * @Param: [accountUpdateRequest] * @return: com.moral.api.pojo.dto.account.AccountUpdateDTO * @Author: 陈凯裕 * @Date: 2021/3/16 */ * @Description: 更新后台账号 * @Param: [accountUpdateRequest] * @return: com.moral.api.pojo.dto.account.AccountUpdateDTO * @Author: 陈凯裕 * @Date: 2021/3/16 */ @Override @Transactional public AccountUpdateDTO updateAccount(AccountUpdateRequest accountUpdateRequest) { public AccountUpdateDTO updateAccount(AccountUpdateForm accountUpdateForm) { AccountUpdateDTO accountUpdateDTO = new AccountUpdateDTO(); //取参 Integer accountId = accountUpdateRequest.getAccountId(); String email = accountUpdateRequest.getEmail(); String mobile = accountUpdateRequest.getMobile(); String wechat = accountUpdateRequest.getWechat(); String userName = accountUpdateRequest.getUserName(); List<Integer> roleIds = accountUpdateRequest.getRoleIds(); Integer accountId = accountUpdateForm.getAccountId(); String email = accountUpdateForm.getEmail(); String mobile = accountUpdateForm.getMobile(); String wechat = accountUpdateForm.getWechat(); String userName = accountUpdateForm.getUserName(); List<Integer> roleIds = accountUpdateForm.getRoleIds(); //校验参数是否符合逻辑 /*判断要更新的用户是否存在*/ QueryWrapper<ManageAccount> exitWrapper = new QueryWrapper<>(); @@ -324,18 +355,21 @@ exitManageAccount.setIsDelete("0"); exitWrapper.setEntity(exitManageAccount); List<ManageAccount> manageAccounts = manageAccountMapper.selectList(exitWrapper); if(ObjectUtils.isEmpty(manageAccounts)){ accountUpdateDTO.setCode(AccountUpdateDTO.ACCOUNT_NOT_EXIST); if (ObjectUtils.isEmpty(manageAccounts)) { accountUpdateDTO.setCode(ResponseCodeEnum.ACCOUNT_NOT_EXIST.getCode()); accountUpdateDTO.setMsg(ResponseCodeEnum.ACCOUNT_NOT_EXIST.getMsg()); return accountUpdateDTO; } /*判断手机号是否符合规则*/ if (!isValidMobile(mobile)) { accountUpdateDTO.setCode(AccountUpdateDTO.MOBILE_INVALID); accountUpdateDTO.setCode(ResponseCodeEnum.MOBILE_INVALID.getCode()); accountUpdateDTO.setMsg(ResponseCodeEnum.MOBILE_INVALID.getMsg()); return accountUpdateDTO; } /*判断邮箱是否符合规则*/ if (!isValidEmail(email)) { accountUpdateDTO.setCode(AccountUpdateDTO.EMAIL_INVALID); accountUpdateDTO.setCode(ResponseCodeEnum.EMAIL_INVALID.getCode()); accountUpdateDTO.setMsg(ResponseCodeEnum.EMAIL_INVALID.getMsg()); return accountUpdateDTO; } //更新ManageAccount表 @@ -345,12 +379,12 @@ manageAccount.setWechat(wechat); manageAccount.setUserName(userName); QueryWrapper<ManageAccount> wrapper = new QueryWrapper<>(); wrapper.eq("id",accountId); manageAccountMapper.update(manageAccount,wrapper); wrapper.eq("id", accountId); manageAccountMapper.update(manageAccount, wrapper); //更新ManageAccountRole表 /*删除该用户的所有角色*/ QueryWrapper<ManageAccountRole> deleteWrapper = new QueryWrapper<>(); deleteWrapper.eq("account_id",accountId); deleteWrapper.eq("account_id", accountId); manageAccountRoleMapper.delete(deleteWrapper); /*重新添加角色*/ for (Integer roleId : roleIds) { @@ -362,7 +396,8 @@ //获取用户所有角色 List<ManageRole> manageRoles = manageRoleMapper.selectBatchIds(roleIds); //封装返回结果 accountUpdateDTO.setCode(AccountUpdateDTO.SUCCESS); accountUpdateDTO.setCode(ResponseCodeEnum.SUCCESS.getCode()); accountUpdateDTO.setMsg(ResponseCodeEnum.SUCCESS.getMsg()); accountUpdateDTO.setRoles(manageRoles); accountUpdateDTO.setAccount(manageAccountMapper.selectById(accountId)); return accountUpdateDTO; @@ -370,18 +405,18 @@ /** * @Description: 删除后台账号 * @Param: [accountDeleteRequest] * @return: com.moral.api.pojo.dto.account.AccountDeleteDTO * @Author: 陈凯裕 * @Date: 2021/3/16 */ * @Description: 删除后台账号 * @Param: [accountDeleteRequest] * @return: com.moral.api.pojo.dto.account.AccountDeleteDTO * @Author: 陈凯裕 * @Date: 2021/3/16 */ @Override @Transactional public AccountDeleteDTO deleteAccount(AccountDeleteRequest accountDeleteRequest) { public AccountDeleteDTO deleteAccount(AccountDeleteForm accountDeleteForm) { AccountDeleteDTO accountDeleteDTO = new AccountDeleteDTO(); //取参 Integer accountId = accountDeleteRequest.getAccountId(); Integer accountId = accountDeleteForm.getAccountId(); //查询是否存在 ManageAccount manageAccount = new ManageAccount(); manageAccount.setIsDelete("0"); @@ -389,21 +424,23 @@ QueryWrapper<ManageAccount> queryWrapper = new QueryWrapper<>(); queryWrapper.setEntity(manageAccount); ManageAccount existManageAccount = manageAccount.selectOne(queryWrapper); if(ObjectUtils.isEmpty(existManageAccount)){ accountDeleteDTO.setCode(AccountDeleteDTO.ACCOUNT_NOT_EXIST); if (ObjectUtils.isEmpty(existManageAccount)) { accountDeleteDTO.setCode(ResponseCodeEnum.ACCOUNT_NOT_EXIST.getCode()); accountDeleteDTO.setMsg(ResponseCodeEnum.ACCOUNT_NOT_EXIST.getMsg()); return accountDeleteDTO; } //逻辑删除账号 existManageAccount.setIsDelete("1"); UpdateWrapper<ManageAccount> deleteAccountWrapper = new UpdateWrapper<>(); deleteAccountWrapper.set("is_delete","1").eq("id",manageAccount.getId()); manageAccountMapper.update(null,deleteAccountWrapper); deleteAccountWrapper.set("is_delete", "1").eq("id", manageAccount.getId()); manageAccountMapper.update(null, deleteAccountWrapper); //逻辑删除账号相关角色 UpdateWrapper<ManageAccountRole> deleteManageAccountRoleWrapper = new UpdateWrapper<>(); deleteManageAccountRoleWrapper.set("is_delete","1").eq("account_id",manageAccount.getId()); manageAccountRoleMapper.update(null,deleteManageAccountRoleWrapper); deleteManageAccountRoleWrapper.set("is_delete", "1").eq("account_id", manageAccount.getId()); manageAccountRoleMapper.update(null, deleteManageAccountRoleWrapper); //封装返回结果 accountDeleteDTO.setCode(AccountDeleteDTO.SUCCESS); accountDeleteDTO.setCode(ResponseCodeEnum.SUCCESS.getCode()); accountDeleteDTO.setMsg(ResponseCodeEnum.SUCCESS.getMsg()); accountDeleteDTO.setAccount(existManageAccount); return accountDeleteDTO; } screen-manage/src/main/resources/mapper/ManageMenuMapper.xml
@@ -69,6 +69,7 @@ <!--根据角色查询父子结构的菜单--> <select id="getParentChildrenMenusByRoles" resultMap="ParentChildrenResultMap"> select DISTINCT <include refid="Base_Column_List"></include> from manage_menu mm