screen-manage/src/main/java/com/moral/api/controller/AccountController.java
@@ -1,12 +1,14 @@ package com.moral.api.controller; import com.moral.api.pojo.dto.AccountDTO; import com.moral.api.pojo.dto.LoginDTO; import com.moral.api.pojo.request.AccountAddRequest; import com.moral.api.pojo.request.LoginRequest; import com.moral.api.pojo.request.LogoutRequest; import com.moral.api.pojo.vo.AccountVO; import com.moral.api.pojo.vo.LoginVO; 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.vo.account.AccountInsertVO; import com.moral.api.pojo.vo.account.AccountQueryVO; import com.moral.api.pojo.vo.account.AccountUpdateVO; import com.moral.api.pojo.vo.login.LoginVO; import com.moral.api.service.ManageAccountService; import com.moral.constant.Constants; import com.moral.constant.ResultMessage; @@ -60,19 +62,46 @@ } @PostMapping("add") public ResultMessage add(@RequestBody AccountAddRequest accountAddRequest){ if(!accountAddRequest.valid()) @PostMapping("insert") public ResultMessage insert(@RequestBody AccountInsertRequest accountInsertRequest){ if(!accountInsertRequest.valid()) return ResultMessage.fail(Constants.CODE_PARAMETER_IS_MISSING,Constants.MSG_PARAMETER_IS_MISSING); AccountDTO accountDTO = accountService.addAccount(accountAddRequest); AccountInsertDTO accountInsertDTO = accountService.insertAccount(accountInsertRequest); AccountVO accountVO = AccountVO.convertToInsertPage(accountDTO); AccountInsertVO accountInsertVO = AccountInsertVO.convert(accountInsertDTO); if(accountVO.getCode().equals(accountVO.SUCCESS)) return ResultMessage.ok(accountVO); return ResultMessage.fail(accountVO); if(accountInsertVO.getCode().equals(accountInsertVO.SUCCESS)) return ResultMessage.ok(accountInsertVO); return ResultMessage.fail(accountInsertVO); } @GetMapping("query") public ResultMessage query(AccountQueryRequest accountQueryRequest){ if(!accountQueryRequest.valid()) return ResultMessage.fail(Constants.CODE_PARAMETER_IS_MISSING,Constants.MSG_PARAMETER_IS_MISSING); AccountQueryDTO accountQueryDTO = accountService.queryAccount(accountQueryRequest); AccountQueryVO accountQueryVO = AccountQueryVO.convert(accountQueryDTO); return ResultMessage.ok(accountQueryVO); } @PostMapping("update") public ResultMessage update(@RequestBody AccountUpdateRequest accountQeuryRequest){ if(!accountQeuryRequest.valid()) return ResultMessage.fail(Constants.CODE_PARAMETER_IS_MISSING,Constants.MSG_PARAMETER_IS_MISSING); AccountUpdateDTO accountUpdateDTO = accountService.updateAccount(accountQeuryRequest); AccountUpdateVO accountUpdateVO = AccountUpdateVO.convert(accountUpdateDTO); if(accountUpdateVO.getCode().equals(accountUpdateVO.SUCCESS)) return ResultMessage.ok(accountUpdateVO); return ResultMessage.fail(accountUpdateVO); } } screen-manage/src/main/java/com/moral/api/entity/ManageAccount.java
@@ -1,6 +1,8 @@ package com.moral.api.entity; import com.baomidou.mybatisplus.annotation.FieldStrategy; import com.baomidou.mybatisplus.annotation.IdType; import com.baomidou.mybatisplus.annotation.TableField; import com.baomidou.mybatisplus.extension.activerecord.Model; import com.baomidou.mybatisplus.annotation.TableId; import java.time.LocalDateTime; @@ -58,6 +60,7 @@ /** * 微信 */ @TableField(updateStrategy = FieldStrategy.IGNORED) private String wechat; /** screen-manage/src/main/java/com/moral/api/pojo/dto/account/AccountDTO.java
New file @@ -0,0 +1,22 @@ package com.moral.api.pojo.dto.account; import com.moral.api.entity.ManageAccount; import com.moral.api.entity.ManageRole; import lombok.Data; import java.util.List; /** * @ClassName AccountDTO * @Description TODO * @Author 陈凯裕 * @Date 2021/3/15 14:27 * @Version TODO **/ @Data public class AccountDTO { private ManageAccount account; private List<ManageRole> roles; } screen-manage/src/main/java/com/moral/api/pojo/dto/account/AccountInsertDTO.java
File was renamed from screen-manage/src/main/java/com/moral/api/pojo/dto/AccountDTO.java @@ -1,6 +1,5 @@ package com.moral.api.pojo.dto; package com.moral.api.pojo.dto.account; import com.fasterxml.jackson.annotation.JsonInclude; import com.moral.api.entity.ManageAccount; import com.moral.api.entity.ManageRole; import lombok.Data; @@ -15,8 +14,7 @@ * @Version TODO **/ @Data @JsonInclude(JsonInclude.Include.NON_EMPTY) public class AccountDTO { public class AccountInsertDTO extends AccountDTO{ /* * 添加成功 @@ -60,8 +58,5 @@ private String code; private ManageAccount account; private List<ManageRole> roles; } screen-manage/src/main/java/com/moral/api/pojo/dto/account/AccountQueryDTO.java
New file @@ -0,0 +1,27 @@ package com.moral.api.pojo.dto.account; import lombok.Data; import java.util.List; /** * @ClassName AccountListDTO * @Description TODO * @Author 陈凯裕 * @Date 2021/3/15 13:12 * @Version TODO **/ @Data public class AccountQueryDTO { private long pages; private long total; private long current; private long size; private List<AccountDTO> AccountDTOS; } screen-manage/src/main/java/com/moral/api/pojo/dto/account/AccountUpdateDTO.java
New file @@ -0,0 +1,35 @@ package com.moral.api.pojo.dto.account; import lombok.Data; /** * @ClassName AccountUpdateDTO * @Description TODO * @Author 陈凯裕 * @Date 2021/3/15 16:24 * @Version TODO **/ @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"; private String code; } screen-manage/src/main/java/com/moral/api/pojo/dto/login/AccountInfoDTO.java
File was renamed from screen-manage/src/main/java/com/moral/api/pojo/dto/AccountInfoDTO.java @@ -1,4 +1,4 @@ package com.moral.api.pojo.dto; package com.moral.api.pojo.dto.login; import com.fasterxml.jackson.annotation.JsonInclude; import com.moral.api.entity.ManageAccount; screen-manage/src/main/java/com/moral/api/pojo/dto/login/LoginDTO.java
File was renamed from screen-manage/src/main/java/com/moral/api/pojo/dto/LoginDTO.java @@ -1,6 +1,5 @@ package com.moral.api.pojo.dto; package com.moral.api.pojo.dto.login; import com.fasterxml.jackson.annotation.JsonInclude; import lombok.Data; /** @@ -11,7 +10,6 @@ * @Version TODO **/ @Data @JsonInclude(JsonInclude.Include.NON_EMPTY) public class LoginDTO { /* screen-manage/src/main/java/com/moral/api/pojo/request/AccountInsertRequest.java
File was renamed from screen-manage/src/main/java/com/moral/api/pojo/request/AccountAddRequest.java @@ -4,6 +4,7 @@ import lombok.Data; import org.springframework.util.ObjectUtils; import java.io.Serializable; import java.util.List; /** @@ -14,7 +15,7 @@ * @Version TODO **/ @Data public class AccountAddRequest { public class AccountInsertRequest implements Serializable{ private String account; @@ -49,6 +50,8 @@ if ( ObjectUtils.isEmpty(account) || ObjectUtils.isEmpty(password) || ObjectUtils.isEmpty(email) || ObjectUtils.isEmpty(mobile) || ObjectUtils.isEmpty(userName) || ObjectUtils.isEmpty(isDelete) || ObjectUtils.isEmpty(roleIds) screen-manage/src/main/java/com/moral/api/pojo/request/AccountQueryRequest.java
New file @@ -0,0 +1,44 @@ package com.moral.api.pojo.request; import lombok.Data; import org.springframework.util.ObjectUtils; import java.io.Serializable; /** * @ClassName AccountQueryRequest * @Description TODO * @Author 陈凯裕 * @Date 2021/3/15 10:10 * @Version TODO **/ @Data public class AccountQueryRequest implements Serializable { private Integer page; private Integer size; private Integer accountId; private String account; private String userName; private String email; private String mobile; private String wechat; private String isDelete; public boolean valid() { if ( ObjectUtils.isEmpty(page)|| ObjectUtils.isEmpty(size) ) return false; return true; } } screen-manage/src/main/java/com/moral/api/pojo/request/AccountUpdateRequest.java
New file @@ -0,0 +1,45 @@ package com.moral.api.pojo.request; import lombok.Data; import org.springframework.util.ObjectUtils; import java.util.List; /** * @ClassName AccountUpdateRequest * @Description TODO * @Author 陈凯裕 * @Date 2021/3/15 15:34 * @Version TODO **/ @Data public class AccountUpdateRequest { private Integer accountId; private String userName; private String email; private String mobile; private String wechat; private String isDelete; private List<Integer> roleIds; public boolean valid(){ if ( ObjectUtils.isEmpty(accountId) || ObjectUtils.isEmpty(userName) || ObjectUtils.isEmpty(email) || ObjectUtils.isEmpty(mobile) || ObjectUtils.isEmpty(isDelete) || ObjectUtils.isEmpty(roleIds) ) return false; return true; } } screen-manage/src/main/java/com/moral/api/pojo/request/LoginRequest.java
@@ -3,6 +3,8 @@ import lombok.Data; import org.springframework.util.ObjectUtils; import java.io.Serializable; /** * @ClassName LoginRequest * @Description TODO @@ -11,7 +13,7 @@ * @Version TODO **/ @Data public class LoginRequest { public class LoginRequest implements Serializable { private String account; screen-manage/src/main/java/com/moral/api/pojo/request/LogoutRequest.java
@@ -3,6 +3,8 @@ import lombok.Data; import org.springframework.util.ObjectUtils; import java.io.Serializable; /** * @ClassName LogoutRequest * @Description TODO @@ -11,7 +13,7 @@ * @Version TODO **/ @Data public class LogoutRequest { public class LogoutRequest implements Serializable { private String accountId; screen-manage/src/main/java/com/moral/api/pojo/vo/account/AccountInsertVO.java
File was renamed from screen-manage/src/main/java/com/moral/api/pojo/vo/AccountVO.java @@ -1,8 +1,8 @@ package com.moral.api.pojo.vo; package com.moral.api.pojo.vo.account; import com.fasterxml.jackson.annotation.JsonInclude; import com.moral.api.entity.ManageRole; import com.moral.api.pojo.dto.AccountDTO; import com.moral.api.pojo.dto.account.AccountInsertDTO; import lombok.Data; import java.util.ArrayList; @@ -17,7 +17,7 @@ **/ @Data @JsonInclude(JsonInclude.Include.NON_EMPTY) public class AccountVO { public class AccountInsertVO extends AccountVO { /* * 添加成功 * */ @@ -60,31 +60,17 @@ private String code; private Integer id; private String userName; private String password; private String email; private String mobile; private String wechat; private String createTime; private String updateTime; private String isDelete; private List<String> roleNames; private List<ManageRole> roles; public static AccountVO convertToInsertPage(AccountDTO dto){ AccountVO vo = new AccountVO(); if(dto.getCode()==AccountDTO.SUCCESS){ /** * @Description: 用于插入账户返回数据使用 * @Param: [dto] * @return: com.moral.api.pojo.vo.account.AccountVO * @Author: 陈凯裕 * @Date: 2021/3/15 */ public static AccountInsertVO convert(AccountInsertDTO dto){ AccountInsertVO vo = new AccountInsertVO(); if(dto.getCode()== AccountInsertDTO.SUCCESS){ Integer id = dto.getAccount().getId(); String userName = dto.getAccount().getUserName(); String email = dto.getAccount().getEmail(); screen-manage/src/main/java/com/moral/api/pojo/vo/account/AccountQueryVO.java
New file @@ -0,0 +1,51 @@ package com.moral.api.pojo.vo.account; import com.fasterxml.jackson.annotation.JsonInclude; import com.moral.api.pojo.dto.account.AccountDTO; import com.moral.api.pojo.dto.account.AccountQueryDTO; import lombok.Data; import java.util.ArrayList; import java.util.List; /** * @ClassName AccountPageVO * @Description TODO * @Author 陈凯裕 * @Date 2021/3/15 13:25 * @Version TODO **/ @Data @JsonInclude(JsonInclude.Include.NON_EMPTY) public class AccountQueryVO { private long pages; private long total; private long current; private long size; private List<AccountVO> accountVOs; public static AccountQueryVO convert(AccountQueryDTO dto){ 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); } AccountQueryVO vo = new AccountQueryVO(); vo.setTotal(total); vo.setAccountVOs(accountVOs); vo.setCurrent(current); vo.setPages(pages); vo.setSize(size); return vo; } } screen-manage/src/main/java/com/moral/api/pojo/vo/account/AccountUpdateVO.java
New file @@ -0,0 +1,74 @@ package com.moral.api.pojo.vo.account; import com.fasterxml.jackson.annotation.JsonInclude; import com.moral.api.entity.ManageRole; import com.moral.api.pojo.dto.account.AccountInsertDTO; import com.moral.api.pojo.dto.account.AccountUpdateDTO; import lombok.Data; import java.util.ArrayList; import java.util.List; /** * @ClassName AccountUpdateVO * @Description TODO * @Author 陈凯裕 * @Date 2021/3/15 17:35 * @Version TODO **/ @Data @JsonInclude(JsonInclude.Include.NON_EMPTY) public class AccountUpdateVO extends AccountVO{ /* * 更新成功 * */ 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"; private String code; 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(); String isDelete = dto.getAccount().getIsDelete(); //转换成角色名集合 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.setIsDelete(isDelete); 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
New file @@ -0,0 +1,54 @@ package com.moral.api.pojo.vo.account; import com.fasterxml.jackson.annotation.JsonInclude; import com.moral.api.entity.ManageAccount; import com.moral.api.entity.ManageRole; import com.moral.api.pojo.dto.account.AccountDTO; import lombok.Data; import java.util.ArrayList; import java.util.List; /** * @ClassName AccountVO * @Description TODO * @Author 陈凯裕 * @Date 2021/3/15 14:42 * @Version TODO **/ @Data @JsonInclude(JsonInclude.Include.NON_EMPTY) public class AccountVO { private Integer id; private String userName; private String email; private String mobile; private String wechat; private String isDelete; private List<String> roleNames; 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())); vo.setId(account.getId()); vo.setUserName(account.getUserName()); vo.setEmail(account.getEmail()); vo.setMobile(account.getMobile()); vo.setWechat(account.getWechat()); vo.setIsDelete(account.getIsDelete()); vo.setRoleNames(roleNames); return vo; } } screen-manage/src/main/java/com/moral/api/pojo/vo/login/AccountInfoVO.java
File was renamed from screen-manage/src/main/java/com/moral/api/pojo/vo/AccountInfoVO.java @@ -1,11 +1,10 @@ package com.moral.api.pojo.vo; package com.moral.api.pojo.vo.login; import com.fasterxml.jackson.annotation.JsonInclude; import com.moral.api.entity.ManageAccount; import com.moral.api.entity.ManageMenu; import com.moral.api.entity.ManageRole; import com.moral.api.pojo.dto.AccountDTO; import com.moral.api.pojo.dto.AccountInfoDTO; import com.moral.api.pojo.dto.login.AccountInfoDTO; import lombok.Data; import java.util.ArrayList; @@ -45,7 +44,7 @@ /** * @Description: DTO转换VO * @Param: [dto] * @return: com.moral.api.pojo.vo.AccountInfoVO * @return: com.moral.api.pojo.vo.login.AccountInfoVO * @Author: 陈凯裕 * @Date: 2021/3/13 */ screen-manage/src/main/java/com/moral/api/pojo/vo/login/LoginVO.java
File was renamed from screen-manage/src/main/java/com/moral/api/pojo/vo/LoginVO.java @@ -1,8 +1,8 @@ package com.moral.api.pojo.vo; package com.moral.api.pojo.vo.login; import com.fasterxml.jackson.annotation.JsonInclude; import com.moral.api.pojo.dto.AccountInfoDTO; import com.moral.api.pojo.dto.LoginDTO; import com.moral.api.pojo.dto.login.AccountInfoDTO; import com.moral.api.pojo.dto.login.LoginDTO; import lombok.Data; import org.springframework.util.ObjectUtils; @@ -65,7 +65,7 @@ /** * @Description: DTO转换VO * @Param: [dto] * @return: com.moral.api.pojo.vo.LoginVO * @return: com.moral.api.pojo.vo.login.LoginVO * @Author: 陈凯裕 * @Date: 2021/3/13 */ screen-manage/src/main/java/com/moral/api/service/ManageAccountService.java
@@ -2,13 +2,12 @@ import com.moral.api.entity.ManageAccount; import com.baomidou.mybatisplus.extension.service.IService; import com.moral.api.pojo.dto.AccountDTO; import com.moral.api.pojo.dto.LoginDTO; import com.moral.api.pojo.request.AccountAddRequest; import com.moral.api.pojo.request.LoginRequest; import com.moral.api.pojo.request.LogoutRequest; import java.util.Map; import com.moral.api.pojo.dto.account.AccountDTO; 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.*; /** * <p> @@ -44,5 +43,23 @@ * @Author: 陈凯裕 * @Date: 2021/3/13 */ AccountDTO addAccount(AccountAddRequest accountAddRequest); AccountInsertDTO insertAccount(AccountInsertRequest accountInsertRequest); /** * @Description: 查询账号 * @Param: [accountQueryRequest] * @return: com.moral.api.pojo.dto.AccountDTO * @Author: 陈凯裕 * @Date: 2021/3/15 */ AccountQueryDTO queryAccount(AccountQueryRequest accountQueryRequest); /** * @Description: 更新账号 * @Param: [accountUpdateRequest] * @return: com.moral.api.pojo.dto.account.AccountDTO * @Author: 陈凯裕 * @Date: 2021/3/15 */ AccountUpdateDTO updateAccount(AccountUpdateRequest accountUpdateRequest); } screen-manage/src/main/java/com/moral/api/service/impl/ManageAccountServiceImpl.java
@@ -1,6 +1,7 @@ package com.moral.api.service.impl; import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.moral.api.entity.ManageAccount; import com.moral.api.entity.ManageAccountRole; import com.moral.api.entity.ManageMenu; @@ -9,12 +10,13 @@ import com.moral.api.mapper.ManageAccountRoleMapper; import com.moral.api.mapper.ManageMenuMapper; import com.moral.api.mapper.ManageRoleMapper; import com.moral.api.pojo.dto.AccountDTO; import com.moral.api.pojo.dto.AccountInfoDTO; import com.moral.api.pojo.dto.LoginDTO; import com.moral.api.pojo.request.AccountAddRequest; import com.moral.api.pojo.request.LoginRequest; import com.moral.api.pojo.request.LogoutRequest; import com.moral.api.pojo.dto.account.AccountDTO; 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.AccountInfoDTO; import com.moral.api.pojo.dto.login.LoginDTO; import com.moral.api.pojo.request.*; import com.moral.api.service.ManageAccountService; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; import com.moral.util.AESUtils; @@ -57,6 +59,7 @@ public final static String mobileRegEx = "^((13[0-9])|(14[0,1,4-9])|(15[0-3,5-9])|(16[2,5,6,7])|(17[0-8])|(18[0-9])|(19[0-3,5-9]))\\d{8}$"; public final static String emailRegEx = "^\\w+([-+.]\\w+)*@\\w+([-.]\\w+)*\\.\\w+([-.]\\w+)*$"; /** * @Description: 登陆 * @Param: [parameters] @@ -146,59 +149,60 @@ */ @Override @Transactional public AccountDTO addAccount(AccountAddRequest accountAddRequest) { AccountDTO accountDTO = new AccountDTO(); public AccountInsertDTO insertAccount(AccountInsertRequest accountInsertRequest) { AccountInsertDTO accountInsertDTO = new AccountInsertDTO(); //取参 String AESAccount = accountAddRequest.getAccount(); String AESPassword = accountAddRequest.getPassword(); String AESAccount = accountInsertRequest.getAccount(); String AESPassword = accountInsertRequest.getPassword(); String account = AESUtils.decrypt(AESAccount,AESKey); String password = MD5Utils.saltMD5(AESUtils.decrypt(AESPassword,AESKey)); String userName = accountAddRequest.getUserName(); String email = accountAddRequest.getEmail(); String mobile = accountAddRequest.getMobile(); String wechat = accountAddRequest.getWechat(); String isDelete = accountAddRequest.getIsDelete(); List<String> roleIdsStr = accountAddRequest.getRoleIds(); String userName = accountInsertRequest.getUserName(); String email = accountInsertRequest.getEmail(); String mobile = accountInsertRequest.getMobile(); String wechat = accountInsertRequest.getWechat(); String isDelete = accountInsertRequest.getIsDelete(); List<String> roleIdsStr = accountInsertRequest.getRoleIds(); //校验参数是否符合业务逻辑 /*判断用户名是否包含特殊字符*/ if(isSpecialChar(account)){ accountDTO.setCode(AccountDTO.ACCOUNT_EXIST_SPECIAL_CHAR); return accountDTO; accountInsertDTO.setCode(AccountInsertDTO.ACCOUNT_EXIST_SPECIAL_CHAR); return accountInsertDTO; } /*判断密码是否包含特殊字符*/ if(isSpecialChar(password)){ accountDTO.setCode(AccountDTO.PASSWORD_EXIST_SPECIAL_CHAR); return accountDTO; accountInsertDTO.setCode(AccountInsertDTO.PASSWORD_EXIST_SPECIAL_CHAR); return accountInsertDTO; } /*判断用户名是否超过长度*/ if(account.length()>=20){ accountDTO.setCode(AccountDTO.ACCOUNT_LENGTH_INVALID); return accountDTO; if (account.length() >= 20||account.length()<=6) { accountInsertDTO.setCode(AccountInsertDTO.ACCOUNT_LENGTH_INVALID); return accountInsertDTO; } /*判断密码是否超过长度*/ if(AESUtils.decrypt(AESPassword,AESKey).length()>=20){ accountDTO.setCode(AccountDTO.PASSWORD_LENGTH_INVALID); return accountDTO; if (AESUtils.decrypt(AESPassword, AESKey).length() >= 20||AESUtils.decrypt(AESPassword, AESKey).length() <= 6) { accountInsertDTO.setCode(AccountInsertDTO.PASSWORD_LENGTH_INVALID); return accountInsertDTO; } /*判断手机号是否符合规则*/ if(!isValidMobile(mobile)){ accountDTO.setCode(AccountDTO.MOBILE_INVALID); return accountDTO; accountInsertDTO.setCode(AccountInsertDTO.MOBILE_INVALID); return accountInsertDTO; } /*判断邮箱是否符合规则*/ if(!isValidEmail(email)){ accountDTO.setCode(AccountDTO.EMAIL_INVALID); return accountDTO; accountInsertDTO.setCode(AccountInsertDTO.EMAIL_INVALID); return accountInsertDTO; } /*判断用户名是否存在*/ ManageAccount exitAccount = new ManageAccount(); exitAccount.setAccount(account); exitAccount.setIsDelete("0"); QueryWrapper<ManageAccount> wrapper = new QueryWrapper<>(); wrapper.setEntity(exitAccount); List<ManageAccount> exitAccounts = manageAccountMapper.selectList(wrapper); if(!ObjectUtils.isEmpty(exitAccounts)){ accountDTO.setCode(AccountDTO.ACCOUNT_EXIST); return accountDTO; accountInsertDTO.setCode(AccountInsertDTO.ACCOUNT_EXIST); return accountInsertDTO; } //String to Integer @@ -227,11 +231,135 @@ ); //封装返回结果 List<ManageRole> roles = manageRoleMapper.selectBatchIds(roleIds); accountDTO.setAccount(manageAccount); accountDTO.setRoles(roles); accountDTO.setCode(AccountDTO.SUCCESS); return accountDTO; accountInsertDTO.setAccount(manageAccount); accountInsertDTO.setRoles(roles); accountInsertDTO.setCode(AccountInsertDTO.SUCCESS); return accountInsertDTO; } /** * @Description: 查询后台账号 * @Param: [accountQueryRequest] * @return: com.moral.api.pojo.dto.AccountDTO * @Author: 陈凯裕 * @Date: 2021/3/15 */ @Override public AccountQueryDTO queryAccount(AccountQueryRequest accountQueryRequest) { 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); queryParams.put("is_delete", isDelete); queryParams.values().removeIf(value -> ObjectUtils.isEmpty(value)); //查询用户 Page<ManageAccount> page = new Page<>(pageCount, size); QueryWrapper<ManageAccount> wrapper = new QueryWrapper(); wrapper.allEq(queryParams); 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); } //封装返回结果 accountQueryDTO.setAccountDTOS(accountDTOS); accountQueryDTO.setCurrent(resultPage.getCurrent()); accountQueryDTO.setPages(resultPage.getPages()); accountQueryDTO.setSize(resultPage.getSize()); accountQueryDTO.setTotal(resultPage.getTotal()); return accountQueryDTO; } @Override @Transactional public AccountUpdateDTO updateAccount(AccountUpdateRequest accountUpdateRequest) { AccountUpdateDTO accountUpdateDTO = new AccountUpdateDTO(); //取参 Integer accountId = accountUpdateRequest.getAccountId(); String email = accountUpdateRequest.getEmail(); String mobile = accountUpdateRequest.getMobile(); String wechat = accountUpdateRequest.getWechat(); String isDelete = accountUpdateRequest.getIsDelete(); String userName = accountUpdateRequest.getUserName(); List<Integer> roleIds = accountUpdateRequest.getRoleIds(); //校验参数是否符合逻辑 /*判断要更新的用户是否存在*/ QueryWrapper<ManageAccount> exitWrapper = new QueryWrapper<>(); ManageAccount exitManageAccount = new ManageAccount(); exitManageAccount.setId(accountId); exitManageAccount.setIsDelete("0"); exitWrapper.setEntity(exitManageAccount); List<ManageAccount> manageAccounts = manageAccountMapper.selectList(exitWrapper); if(ObjectUtils.isEmpty(manageAccounts)){ accountUpdateDTO.setCode(AccountUpdateDTO.ACCOUNT_NOT_EXIST); return accountUpdateDTO; } /*判断手机号是否符合规则*/ if (!isValidMobile(mobile)) { accountUpdateDTO.setCode(AccountUpdateDTO.MOBILE_INVALID); return accountUpdateDTO; } /*判断邮箱是否符合规则*/ if (!isValidEmail(email)) { accountUpdateDTO.setCode(AccountUpdateDTO.EMAIL_INVALID); return accountUpdateDTO; } //更新ManageAccount表 ManageAccount manageAccount = new ManageAccount(); manageAccount.setEmail(email); manageAccount.setMobile(mobile); manageAccount.setWechat(wechat); manageAccount.setIsDelete(isDelete); manageAccount.setUserName(userName); QueryWrapper<ManageAccount> wrapper = new QueryWrapper<>(); wrapper.eq("id",accountId); manageAccountMapper.update(manageAccount,wrapper); //更新ManageAccountRole表 /*删除该用户的所有角色*/ QueryWrapper<ManageAccountRole> deleteWrapper = new QueryWrapper<>(); deleteWrapper.eq("account_id",accountId); manageAccountRoleMapper.delete(deleteWrapper); /*重新添加角色*/ for (Integer roleId : roleIds) { ManageAccountRole manageAccountRole = new ManageAccountRole(); manageAccountRole.setAccountId(accountId); manageAccountRole.setRoleId(roleId); manageAccountRoleMapper.insert(manageAccountRole); } //获取用户所有角色 List<ManageRole> manageRoles = manageRoleMapper.selectBatchIds(roleIds); //封装返回结果 accountUpdateDTO.setCode(AccountUpdateDTO.SUCCESS); accountUpdateDTO.setRoles(manageRoles); accountUpdateDTO.setAccount(manageAccountMapper.selectById(accountId)); return accountUpdateDTO; } private static boolean isSpecialChar(String str){ Pattern pattern = Pattern.compile(specialCharRegEx); @@ -250,7 +378,6 @@ Matcher matcher = pattern.matcher(str); return matcher.find(); } } screen-manage/src/main/resources/application-dev.yml
@@ -118,7 +118,9 @@ - /swagger-resources/** - /webjars/** - /account/logout - /account/add - /account/insert - /account/query - /account/update AES: KEY: AD42F7787B035B7580000EF93BE20BAD