From f1c3c5f0b840df7fa5fe08a69186c9f2b52ce243 Mon Sep 17 00:00:00 2001 From: lizijie <lzjiiie@163.com> Date: Thu, 18 Mar 2021 15:37:15 +0800 Subject: [PATCH] Merge remote-tracking branch 'origin/dev' into dev --- screen-manage/src/main/java/com/moral/api/pojo/vo/login/LoginVO.java | 46 - screen-api/src/main/java/com/moral/api/exception/GlobalExceptionHandler.java | 5 screen-common/src/main/java/com/moral/pojo/VerificationCode.java | 18 screen-api/src/main/java/com/moral/api/service/impl/UserServiceImpl.java | 97 +- screen-common/src/main/java/com/moral/util/TokenUtils.java | 16 screen-manage/src/main/java/com/moral/api/pojo/vo/account/AccountDeleteVO.java | 32 + pom.xml | 5 screen-api/src/main/java/com/moral/api/interceptor/AuthenticationInterceptor.java | 4 screen-manage/src/main/java/com/moral/api/service/impl/ManageAccountServiceImpl.java | 359 ++++++----- screen-manage/src/main/java/com/moral/api/pojo/dto/account/AccountDTO.java | 4 screen-common/src/main/java/com/moral/util/AESUtils.java | 15 screen-manage/src/main/java/com/moral/api/pojo/dto/account/AccountInsertDTO.java | 43 - screen-api/src/main/java/com/moral/api/service/UserService.java | 5 screen-common/src/main/java/com/moral/config/KaptchaConfig.java | 47 + screen-manage/src/main/java/com/moral/api/service/ManageAccountService.java | 26 screen-manage/src/main/java/com/moral/api/pojo/form/AccountUpdateForm.java | 66 ++ screen-manage/src/main/java/com/moral/api/pojo/vo/account/AccountVO.java | 14 screen-api/src/main/java/com/moral/api/entity/User.java | 8 screen-manage/src/main/java/com/moral/api/pojo/dto/account/AccountDeleteDTO.java | 16 screen-manage/src/main/java/com/moral/api/pojo/form/LogoutForm.java | 4 screen-common/src/main/java/com/moral/constant/Constants.java | 52 - screen-manage/src/main/java/com/moral/api/pojo/form/AccountInsertForm.java | 93 +++ screen-api/src/main/java/com/moral/api/mapper/GroupMapper.java | 2 screen-manage/src/main/resources/mapper/ManageMenuMapper.xml | 1 screen-api/src/main/resources/mapper/GroupMapper.xml | 1 screen-api/src/main/resources/mapper/UserMapper.xml | 30 + screen-common/src/main/java/com/moral/constant/ResultMessage.java | 29 screen-manage/src/main/java/com/moral/api/pojo/form/LoginForm.java | 8 screen-common/src/main/java/com/moral/constant/ResponseCodeEnum.java | 42 + screen-api/src/main/java/com/moral/api/controller/LoginController.java | 114 +++ screen-api/src/main/java/com/moral/api/controller/UserController.java | 5 screen-common/src/main/java/com/moral/util/KaptchaUtils.java | 80 ++ screen-manage/src/main/java/com/moral/api/pojo/vo/login/AccountInfoVO.java | 43 screen-manage/src/main/java/com/moral/api/controller/AccountController.java | 114 ++- screen-manage/src/main/java/com/moral/api/pojo/dto/login/LoginDTO.java | 37 - screen-manage/src/main/java/com/moral/api/pojo/vo/account/AccountQueryVO.java | 15 screen-manage/src/main/java/com/moral/api/service/impl/ManageRoleServiceImpl.java | 3 screen-manage/src/main/java/com/moral/api/pojo/dto/account/AccountQueryDTO.java | 4 /dev/null | 45 - screen-manage/src/main/java/com/moral/api/pojo/form/AccountDeleteForm.java | 23 screen-manage/src/main/resources/application-dev.yml | 2 screen-manage/src/main/java/com/moral/api/pojo/form/AccountQueryForm.java | 4 screen-manage/src/main/java/com/moral/api/exception/GlobalExceptionHandler.java | 5 screen-api/src/main/java/com/moral/api/mapper/UserMapper.java | 2 screen-manage/src/main/java/com/moral/api/pojo/vo/account/AccountInsertVO.java | 99 -- screen-manage/src/main/java/com/moral/api/pojo/dto/account/AccountUpdateDTO.java | 20 screen-manage/src/main/java/com/moral/api/pojo/vo/account/AccountUpdateVO.java | 65 - screen-common/src/main/java/com/moral/util/RegexUtils.java | 4 48 files changed, 1,082 insertions(+), 690 deletions(-) diff --git a/pom.xml b/pom.xml index a26232a..be47e13 100644 --- a/pom.xml +++ b/pom.xml @@ -107,6 +107,11 @@ <artifactId>spring-boot-starter-test</artifactId> <scope>test</scope> </dependency> + <dependency> + <groupId>com.google.code.kaptcha</groupId> + <artifactId>kaptcha</artifactId> + <version>2.3.2</version> + </dependency> </dependencies> diff --git a/screen-api/src/main/java/com/moral/api/controller/LoginController.java b/screen-api/src/main/java/com/moral/api/controller/LoginController.java new file mode 100644 index 0000000..a6cef12 --- /dev/null +++ b/screen-api/src/main/java/com/moral/api/controller/LoginController.java @@ -0,0 +1,114 @@ +package com.moral.api.controller; + +import com.moral.constant.Constants; +import io.swagger.annotations.Api; +import io.swagger.annotations.ApiImplicitParam; +import io.swagger.annotations.ApiImplicitParams; +import io.swagger.annotations.ApiOperation; +import lombok.extern.slf4j.Slf4j; + +import java.util.Map; + +import javax.servlet.http.HttpServletRequest; + +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.beans.factory.annotation.Value; +import org.springframework.web.bind.annotation.RequestMapping; +import org.springframework.web.bind.annotation.RequestMethod; +import org.springframework.web.bind.annotation.RestController; + +import com.moral.api.entity.Group; +import com.moral.api.entity.User; +import com.moral.api.service.GroupService; +import com.moral.api.service.UserService; +import com.moral.constant.ResponseCodeEnum; +import com.moral.constant.ResultMessage; +import com.moral.util.AESUtils; +import com.moral.util.MD5Utils; +import com.moral.util.TokenUtils; +import com.moral.util.WebUtils; + +@Slf4j +@Api(tags = {"������"}) +@RestController +public class LoginController { + + @Autowired + private UserService userService; + + @Autowired + private GroupService groupService; + + @Value("${AES.KEY}") + private String AESKey; + + @ApiOperation(value = "������", notes = "������") + @ApiImplicitParams({ + @ApiImplicitParam(name = "account", value = "������", required = false, paramType = "query", dataType = "String"), + @ApiImplicitParam(name = "password", value = "������", required = false, paramType = "query", dataType = "String") + }) + @RequestMapping(value = "login", method = RequestMethod.POST) + public ResultMessage login(HttpServletRequest request) { + Map<String, Object> parameters = WebUtils.getParametersStartingWith(request, null); + if (!(parameters.containsKey("account") && parameters.containsKey("password"))) { + return ResultMessage.fail(ResponseCodeEnum.PARAMETERS_IS_MISSING.getCode(), ResponseCodeEnum.PARAMETERS_IS_MISSING.getMsg()); + } + //������������ + String password = parameters.get("password").toString(); + //������������ + password = AESUtils.decrypt(password, AESKey); + + User user = userService.selectUserInfo(parameters); + //������������ + if (user == null) { + return ResultMessage.fail(ResponseCodeEnum.ACCOUNT_NOT_EXIST.getCode(), ResponseCodeEnum.ACCOUNT_NOT_EXIST.getMsg()); + } + //������������ + if (!MD5Utils.saltMD5Verify(password, user.getPassword())) { + return ResultMessage.fail(ResponseCodeEnum.PASSWORD_INVALID.getCode(), ResponseCodeEnum.PASSWORD_INVALID.getMsg()); + } + //������������������ + if (Constants.DELETE.equals(user.getIsDelete())) { + return ResultMessage.fail(ResponseCodeEnum.ACCOUNT_IS_DELETE.getCode(), ResponseCodeEnum.ACCOUNT_IS_DELETE.getMsg()); + } + //������������������ + if (user.getExpireTime() != null && user.getExpireTime().getTime() < System.currentTimeMillis()) { + return ResultMessage.fail(ResponseCodeEnum.ACCOUNT_IS_EXPIRE.getCode(), ResponseCodeEnum.ACCOUNT_IS_EXPIRE.getMsg()); + } + Map<String, Object> result = userService.login(user); + if (!result.containsKey("token")) { + return ResultMessage.fail(ResponseCodeEnum.TOKEN_CREATE_ERROR.getCode(), ResponseCodeEnum.TOKEN_CREATE_ERROR.getMsg()); + } + return ResultMessage.ok(); + } + + @ApiOperation(value = "������", notes = "������") + @RequestMapping(value = "logout", method = RequestMethod.POST) + public ResultMessage logout(HttpServletRequest request) { + Map<String, Object> parameters = WebUtils.getParametersStartingWith(request, null); + if (!parameters.containsKey("uid")) { + return ResultMessage.fail(ResponseCodeEnum.PARAMETERS_IS_MISSING.getCode(), ResponseCodeEnum.PARAMETERS_IS_MISSING.getMsg()); + } + String userId = request.getParameter("uid"); + String token = request.getHeader("token"); + TokenUtils.destoryToken(userId, token); + return ResultMessage.ok(); + } + + @ApiOperation(value = "���������", notes = "���������") + @ApiImplicitParams({ + @ApiImplicitParam(name = "groupName", value = "������", required = true, paramType = "query", dataType = "String") + }) + @RequestMapping(value = "addGroup", method = RequestMethod.POST) + private ResultMessage addGroup(Group group, HttpServletRequest request) { + String currentUserId = request.getHeader("uid"); + Map<String, Object> map = groupService.addGroup(group, currentUserId); + String msg = map.get("msg").toString(); + boolean flag = Boolean.parseBoolean(map.get("flag").toString()); + if (flag) { + return ResultMessage.ok(msg); + } + return ResultMessage.fail(msg); + } + +} diff --git a/screen-api/src/main/java/com/moral/api/controller/UserController.java b/screen-api/src/main/java/com/moral/api/controller/UserController.java index 1f3f6a8..12b071a 100644 --- a/screen-api/src/main/java/com/moral/api/controller/UserController.java +++ b/screen-api/src/main/java/com/moral/api/controller/UserController.java @@ -17,6 +17,7 @@ import com.moral.api.entity.User; import com.moral.api.service.UserService; +import com.moral.constant.ResponseCodeEnum; import com.moral.constant.ResultMessage; import com.moral.util.WebUtils; @@ -43,10 +44,12 @@ public ResultMessage addUser(User user, HttpServletRequest request) { Map<String, Object> parameters = WebUtils.getParametersStartingWith(request, null); if (!(parameters.containsKey("account") && parameters.containsKey("password"))) { - return ResultMessage.fail("���������������������������������"); + return ResultMessage.fail(ResponseCodeEnum.PARAMETERS_IS_MISSING.getCode(), ResponseCodeEnum.PARAMETERS_IS_MISSING.getMsg()); } String token = request.getHeader("token"); Map<String, Object> map = userService.addUser(user, token); + + if (map.containsKey("msg")) { return ResultMessage.fail(map.get("msg").toString()); } diff --git a/screen-api/src/main/java/com/moral/api/controller/WebController.java b/screen-api/src/main/java/com/moral/api/controller/WebController.java deleted file mode 100644 index 73a11d1..0000000 --- a/screen-api/src/main/java/com/moral/api/controller/WebController.java +++ /dev/null @@ -1,82 +0,0 @@ -package com.moral.api.controller; - -import io.swagger.annotations.Api; -import io.swagger.annotations.ApiImplicitParam; -import io.swagger.annotations.ApiImplicitParams; -import io.swagger.annotations.ApiOperation; -import lombok.extern.slf4j.Slf4j; - -import java.util.List; -import java.util.Map; - -import javax.servlet.http.HttpServletRequest; - -import org.springframework.beans.factory.annotation.Autowired; -import org.springframework.web.bind.annotation.PathVariable; -import org.springframework.web.bind.annotation.RequestMapping; -import org.springframework.web.bind.annotation.RequestMethod; -import org.springframework.web.bind.annotation.RestController; - -import com.moral.api.entity.Group; -import com.moral.api.service.GroupService; -import com.moral.api.service.UserService; -import com.moral.constant.ResultMessage; -import com.moral.util.TokenUtils; -import com.moral.util.WebUtils; - -@Slf4j -@Api(tags = {"������"}) -@RestController -@RequestMapping("/api") -public class WebController { - - @Autowired - private UserService userService; - - @Autowired - private GroupService groupService; - - @ApiOperation(value = "������", notes = "������") - @ApiImplicitParams({ - @ApiImplicitParam(name = "account", value = "������", required = false, paramType = "query", dataType = "String"), - @ApiImplicitParam(name = "password", value = "������", required = false, paramType = "query", dataType = "String") - }) - @RequestMapping(value = "login", method = RequestMethod.POST) - public ResultMessage login(HttpServletRequest request) { - Map<String, Object> parameters = WebUtils.getParametersStartingWith(request, null); - if (!(parameters.containsKey("account") && parameters.containsKey("password"))) { - return ResultMessage.fail("���������������������������������"); - } - Map<String, Object> map = userService.login(parameters); - if (map.get("token") == null) { - return ResultMessage.fail(map.get("msg").toString()); - } - return ResultMessage.ok(map); - } - - @ApiOperation(value = "������", notes = "������") - @RequestMapping(value = "logout", method = RequestMethod.POST) - public ResultMessage logout(HttpServletRequest request) { - String userId = request.getHeader("uid"); - String token = request.getHeader("token"); - TokenUtils.destoryToken(userId, token); - return ResultMessage.ok(); - } - - @ApiOperation(value = "���������", notes = "���������") - @ApiImplicitParams({ - @ApiImplicitParam(name = "groupName", value = "������", required = true, paramType = "query", dataType = "String") - }) - @RequestMapping(value = "addGroup", method = RequestMethod.POST) - private ResultMessage addGroup(Group group, HttpServletRequest request) { - String currentUserId = request.getHeader("uid"); - Map<String, Object> map = groupService.addGroup(group, currentUserId); - String msg = map.get("msg").toString(); - boolean flag = Boolean.parseBoolean(map.get("flag").toString()); - if (flag) { - return ResultMessage.ok(msg); - } - return ResultMessage.fail(msg); - } - -} diff --git a/screen-api/src/main/java/com/moral/api/entity/User.java b/screen-api/src/main/java/com/moral/api/entity/User.java index e0d33e1..4d31a77 100644 --- a/screen-api/src/main/java/com/moral/api/entity/User.java +++ b/screen-api/src/main/java/com/moral/api/entity/User.java @@ -7,11 +7,13 @@ import java.io.Serializable; import java.util.Date; +import java.util.List; import java.util.Set; import lombok.Data; import lombok.EqualsAndHashCode; +import javax.persistence.Transient; /** @@ -94,6 +96,12 @@ */ private String isDelete; + @Transient + private Organization organization; + + @Transient + private List<Group> groups; + @Override protected Serializable pkVal() { diff --git a/screen-api/src/main/java/com/moral/api/exception/GlobalExceptionHandler.java b/screen-api/src/main/java/com/moral/api/exception/GlobalExceptionHandler.java index b712ee8..dd4bddf 100644 --- a/screen-api/src/main/java/com/moral/api/exception/GlobalExceptionHandler.java +++ b/screen-api/src/main/java/com/moral/api/exception/GlobalExceptionHandler.java @@ -1,6 +1,7 @@ package com.moral.api.exception; import com.moral.constant.Constants; +import com.moral.constant.ResponseCodeEnum; import com.moral.constant.ResultMessage; import lombok.extern.slf4j.Slf4j; import org.springframework.http.HttpStatus; @@ -21,7 +22,7 @@ @ResponseStatus(HttpStatus.OK) public ResultMessage handleException(Exception ex) { ex.printStackTrace(); - return ResultMessage.fail(Constants.CODE_OPERATION_FAILED, "������������"); + return ResultMessage.fail(ResponseCodeEnum.FAIL.getCode(), ResponseCodeEnum.FAIL.getMsg()); } /** @@ -31,7 +32,7 @@ @ResponseBody @ResponseStatus(HttpStatus.OK) public ResultMessage handleUserNotExistException(BusinessException ex) { - return ResultMessage.fail(Constants.CODE_OPERATION_FAILED, "������������������������"); + return ResultMessage.fail(ResponseCodeEnum.FAIL.getCode(), "������������������������"); } } diff --git a/screen-api/src/main/java/com/moral/api/interceptor/AuthenticationInterceptor.java b/screen-api/src/main/java/com/moral/api/interceptor/AuthenticationInterceptor.java index e3fb0e8..74e3059 100644 --- a/screen-api/src/main/java/com/moral/api/interceptor/AuthenticationInterceptor.java +++ b/screen-api/src/main/java/com/moral/api/interceptor/AuthenticationInterceptor.java @@ -15,7 +15,7 @@ @Override public boolean preHandle(HttpServletRequest request, HttpServletResponse response, Object handler) throws Exception { - /*if (!(handler instanceof HandlerMethod)) { + if (!(handler instanceof HandlerMethod)) { return true; } String token = request.getHeader("token"); @@ -29,7 +29,7 @@ TokenUtils.extendTokenTime(token); } catch (Exception e) { return false; - }*/ + } return true; } } diff --git a/screen-api/src/main/java/com/moral/api/mapper/GroupMapper.java b/screen-api/src/main/java/com/moral/api/mapper/GroupMapper.java index 12dc29d..f5c628d 100644 --- a/screen-api/src/main/java/com/moral/api/mapper/GroupMapper.java +++ b/screen-api/src/main/java/com/moral/api/mapper/GroupMapper.java @@ -16,6 +16,6 @@ */ public interface GroupMapper extends BaseMapper<Group> { - List<Map<String, Object>> selectUserGroup(int userId); + List<Map<String, Object>> selectUserGroup(Map<String, Object> parameters); } diff --git a/screen-api/src/main/java/com/moral/api/mapper/UserMapper.java b/screen-api/src/main/java/com/moral/api/mapper/UserMapper.java index d92b69a..87be9a9 100644 --- a/screen-api/src/main/java/com/moral/api/mapper/UserMapper.java +++ b/screen-api/src/main/java/com/moral/api/mapper/UserMapper.java @@ -17,4 +17,6 @@ public interface UserMapper extends BaseMapper<User> { List<Map<String, Object>> selectUsers(Map<String, Object> parameters); + + User selectUserInfo(Map<String, Object> parameters); } diff --git a/screen-api/src/main/java/com/moral/api/service/UserService.java b/screen-api/src/main/java/com/moral/api/service/UserService.java index 1e55aeb..8821b4c 100644 --- a/screen-api/src/main/java/com/moral/api/service/UserService.java +++ b/screen-api/src/main/java/com/moral/api/service/UserService.java @@ -17,7 +17,7 @@ */ public interface UserService extends IService<User> { - Map<String, Object> login(Map<String, Object> parameters); + Map<String, Object> login(User user); Map<String, Object> addUser(User user, String token); @@ -27,4 +27,7 @@ Map<String, Object> getUsers(Map<String, Object> parameters); + User selectUserInfo(Map<String, Object> parameters); + + } diff --git a/screen-api/src/main/java/com/moral/api/service/impl/UserServiceImpl.java b/screen-api/src/main/java/com/moral/api/service/impl/UserServiceImpl.java index 8950238..e30cd14 100644 --- a/screen-api/src/main/java/com/moral/api/service/impl/UserServiceImpl.java +++ b/screen-api/src/main/java/com/moral/api/service/impl/UserServiceImpl.java @@ -10,7 +10,9 @@ import java.util.stream.Collectors; import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; +import com.moral.api.entity.Group; import com.moral.api.entity.Menu; +import com.moral.api.entity.Organization; import com.moral.api.entity.User; import com.moral.api.mapper.GroupMapper; @@ -19,6 +21,7 @@ import com.moral.api.mapper.UserMapper; import com.moral.api.service.UserService; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; +import com.moral.constant.Constants; import com.moral.util.AESUtils; import com.moral.util.MD5Utils; import com.moral.util.RegexUtils; @@ -43,65 +46,44 @@ private UserMapper userMapper; @Autowired - private GroupMapper groupMapper; - - @Autowired private MenuMapper menuMapper; - @Autowired - private OrganizationMapper organizationMapper; - - @Value("${AES.KEY}") - private String AESKey; + @Override + public User selectUserInfo(Map<String, Object> parameters) { + return userMapper.selectUserInfo(parameters); + } @Override - public Map<String, Object> login(Map<String, Object> parameters) { + public Map<String, Object> login(User user) { Map<String, Object> resultMap = new LinkedHashMap<>(); - //������������ - String account = parameters.get("account").toString(); - String password = parameters.get("password").toString(); - //������ - /*account = AESUtils.decrypt(account, AESKey); - password = AESUtils.decrypt(password, AESKey);*/ - QueryWrapper<User> queryWrapper = new QueryWrapper<>(); - //������������ - queryWrapper.eq("account", account); - User user = userMapper.selectOne(queryWrapper); - String msg; - if (user == null) { - msg = "������������������"; - } else { - if (!MD5Utils.saltMD5Verify(password, user.getPassword())) {//������������ - msg = "������������"; - } else if ("1".equals(user.getIsDelete())) { - msg = "������������������"; - } else if (user.getExpireTime() != null && user.getExpireTime().getTime() < System.currentTimeMillis()) { - msg = "���������������������"; - } else { - int userId = user.getId(); - //������������������ - Map<String, Object> orgMap = organizationMapper.selectOrganizationById(user.getOrganizationId()); - String locationCode = orgMap.get(orgMap.get("location_level").toString()).toString(); - //������������������ - Map<String, Object> userInfo = new LinkedHashMap<>(); - userInfo.put("userId", userId); - userInfo.put("account", user.getAccount()); - userInfo.put("userName", user.getUserName()); - userInfo.put("organizationId", user.getOrganizationId()); - userInfo.put("locationCode", locationCode); - userInfo.put("expireTime", user.getExpireTime()); - userInfo.put("isAdmin", user.getIsAdmin()); - List<Map<String, Object>> groups = groupMapper.selectUserGroup(userId); - userInfo.put("groups", groups); - userInfo.putAll(getMenus(userId)); - //������token������������redis - String token = TokenUtils.getToken(user.getId().toString(), userInfo); - resultMap.put("token", token); - resultMap.putAll(userInfo); - return resultMap; - } + //������������������ + Map<String, Object> userInfo = new LinkedHashMap<>(); + List<Map<String, Object>> groups = new ArrayList<>(); + for (Group group : user.getGroups()) { + HashMap<String, Object> groupMap = new HashMap<>(); + groupMap.put("groupId", group.getId()); + groupMap.put("groupName", group.getGroupName()); + groups.add(groupMap); } - resultMap.put("msg", msg); + Organization organization = user.getOrganization(); + userInfo.put("userId", user.getId()); + userInfo.put("account", user.getAccount()); + userInfo.put("userName", user.getUserName()); + userInfo.put("expireTime", user.getExpireTime()); + userInfo.put("isAdmin", user.getIsAdmin()); + userInfo.put("organizationId", user.getOrganizationId()); + userInfo.put("organizationName", organization.getName()); + userInfo.put("locationLevel", organization.getLocationLevel()); + userInfo.put("groups", groups); + userInfo.putAll(getMenus(user.getId())); + try { + //������token������������redis + String token = TokenUtils.getToken(user.getId().toString(), userInfo); + resultMap.put("token", token); + } catch (Exception e) { + log.error("token���������������"+e.getMessage()); + } + resultMap.putAll(userInfo); return resultMap; } @@ -163,13 +145,8 @@ Map<String, Object> resultMap = new HashMap<>(); Map<String, Object> currentUserInfo = (Map<String, Object>) TokenUtils.getUserInfoByToken(token); - if (!(boolean) currentUserInfo.get("isAdmin")) { - resultMap.put("msg", "������������"); - return resultMap; - } QueryWrapper<User> queryWrapper = new QueryWrapper<>(); queryWrapper.eq("account", user.getAccount()); - userMapper.selectOne(queryWrapper); if (userMapper.selectOne(queryWrapper) != null) { resultMap.put("msg", "������������������"); return resultMap; @@ -205,7 +182,7 @@ } else { User user = new User(); user.setId(userId); - user.setIsDelete("1"); + user.setIsDelete(Constants.DELETE); userMapper.updateById(user); } return resultMap; @@ -277,4 +254,6 @@ } return msgs; } + + } diff --git a/screen-api/src/main/resources/mapper/GroupMapper.xml b/screen-api/src/main/resources/mapper/GroupMapper.xml index 356729c..1123a96 100644 --- a/screen-api/src/main/resources/mapper/GroupMapper.xml +++ b/screen-api/src/main/resources/mapper/GroupMapper.xml @@ -15,7 +15,6 @@ <resultMap id="GroupResultMap" type="java.util.LinkedHashMap"> <id column="id" property="id"/> <result column="group_name" property="groupName"/> - <result column="organization_id" property="organizationId"/> </resultMap> <select id="selectUserGroup" resultMap="GroupResultMap"> diff --git a/screen-api/src/main/resources/mapper/UserMapper.xml b/screen-api/src/main/resources/mapper/UserMapper.xml index bcbc3fb..b062eb3 100644 --- a/screen-api/src/main/resources/mapper/UserMapper.xml +++ b/screen-api/src/main/resources/mapper/UserMapper.xml @@ -17,8 +17,38 @@ <result column="update_time" property="updateTime"/> <result column="expire_time" property="expireTime"/> <result column="is_delete" property="isDelete"/> + <!--������������--> + <association property="organization" javaType="com.moral.api.entity.Organization"> + <result column="id" property="id" jdbcType="INTEGER"/> + <result column="name" property="name" jdbcType="VARCHAR"/> + <result column="location_level" property="locationLevel"/> + </association> + <!--���������--> + <collection property="groups" ofType="com.moral.api.entity.Group" javaType = "java.util.ArrayList"> + <id column="groupId" property="id" jdbcType="INTEGER"/> + <result column="group_name" property="groupName" jdbcType="VARCHAR"/> + </collection> + </resultMap> + + <select id="selectUserInfo" resultMap="BaseResultMap"> + SELECT u.id,u.account,u.password,u.user_name,u.organization_id,u.expire_time,u.is_delete, + o.name,u.is_admin,o.location_level, + g.id groupId,g.group_name + FROM `user` u, + `organization` o, + `user_group` ug, + `group` g + WHERE u.account = #{account} + AND u.organization_id=o.id + AND u.id = ug.user_id + AND ug.group_id = g.id + AND g.is_delete = 0 + AND ug.is_delete = 0 + </select> + + <select id="selectUsers" resultType="java.util.Map"> SELECT id,account,user_name userName,email,mobile,wechat FROM `user` WHERE <if test="orgId!=null"> diff --git a/screen-common/src/main/java/com/moral/config/KaptchaConfig.java b/screen-common/src/main/java/com/moral/config/KaptchaConfig.java new file mode 100644 index 0000000..1c8ea04 --- /dev/null +++ b/screen-common/src/main/java/com/moral/config/KaptchaConfig.java @@ -0,0 +1,47 @@ +package com.moral.config; +import com.google.code.kaptcha.impl.DefaultKaptcha; +import com.google.code.kaptcha.util.Config; +import org.springframework.context.annotation.Bean; +import org.springframework.context.annotation.Configuration; + +import java.util.Properties; + +/** + * @ClassName KaptchaConfig + * @Description TODO + * @Author ��������� + * @Date 2021/3/16 14:04 + * @Version TODO + **/ +@Configuration +public class KaptchaConfig { + + @Bean(name = "kaptchaProducer") + public DefaultKaptcha getDefaultKaptcha(){ + DefaultKaptcha defaultKaptcha = new DefaultKaptcha(); + Properties properties = new Properties(); + //������������ + properties.put("kaptcha.border", "no"); + //������������ + properties.put("kaptcha.textproducer.font.color", "blue"); + //������������ + properties.put("kaptcha.textproducer.char.space", "15"); + //��������������� + properties.put("kaptcha.textproducer.char.length","4"); + //������������ + properties.put("kaptcha.image.height","34"); + //������������ + properties.put("kaptcha.textproducer.font.size","25"); + //��������������� + /*���������������*/ + //properties.put("kaptcha.noise.impl","com.google.code.kaptcha.impl.NoNoise"); + /*���������������������������*/ + properties.put("kaptcha.noise.impl","com.google.code.kaptcha.impl.DefaultNoise"); + //������ + //properties.setProperty("kaptcha.textproducer.font.names", "������"); + + Config config = new Config(properties); + defaultKaptcha.setConfig(config); + return defaultKaptcha; + } +} diff --git a/screen-common/src/main/java/com/moral/constant/Constants.java b/screen-common/src/main/java/com/moral/constant/Constants.java index 5c17ba4..f30292d 100644 --- a/screen-common/src/main/java/com/moral/constant/Constants.java +++ b/screen-common/src/main/java/com/moral/constant/Constants.java @@ -4,55 +4,7 @@ * ������������������ */ public class Constants { + public static String DELETE = "1"; - /** - * ������������ - */ - public static final String MSG_OPERATION_SUCCESS = "���������������"; - - /** - * ������������ - */ - public static final String MSG_OPERATION_FAILED = "���������������"; - - /* - * token������ - * */ - public static final String MSG_TOKEN_ERROR = "token������������������������"; - - /* - * token������������ - * */ - public static final String MSG_TOKEN_CREATE_ERROR = "token���������������������������������"; - - /* - * ��������������������������� - * */ - public static final String MSG_PARAMETER_IS_MISSING = "������������"; - - /** - * ������������code - */ - public static final int CODE_OPERATION_SUCCESS = 0; - /** - * ������������code - */ - public static final int CODE_OPERATION_FAILED = -1; - - /* - * ��������������������������� - * */ - public static final int CODE_PARAMETER_IS_MISSING = -2; - - /** - * token������������ - */ - public static final int CODE_TOKEN_ERROR = -10; - - /* - * token������������ - * */ - public static final int CODE_TOKEN_CREATE_ERROR = -11; - - + public static String NOT_DELETE = "0"; } diff --git a/screen-common/src/main/java/com/moral/constant/ResponseCodeEnum.java b/screen-common/src/main/java/com/moral/constant/ResponseCodeEnum.java new file mode 100644 index 0000000..eba463b --- /dev/null +++ b/screen-common/src/main/java/com/moral/constant/ResponseCodeEnum.java @@ -0,0 +1,42 @@ +package com.moral.constant; + +/** + * @ClassName ResponseCodeEnum + * @Description TODO + * @Author ��������� + * @Date 2021/3/17 11:19 + * @Version TODO + **/ +public enum ResponseCodeEnum { + + SUCCESS(0,"������������"), + FAIL(-1,"������������"), + PARAMETERS_IS_MISSING(-2,"���������������"), + TOKEN_INVALID(-3,"token������"), + TOKEN_CREATE_ERROR(-4,"token������������"), + ACCOUNT_NOT_EXIST(-5,"���������������"), + ACCOUNT_EXIST(-6,"������������������"), + ACCOUNT_IS_DELETE(-7,"���������������������"), + PASSWORD_ERROR(-8,"������������"), + MOBILE_INVALID(-9,"���������������"), + EMAIL_INVALID(-10,"������������"), + ACCOUNT_INVALID(-11,"���������������"), + PASSWORD_INVALID(-12,"������������"), + ACCOUNT_IS_EXPIRE(-13,"���������������") + ; + private final Integer code; + private final String msg; + + ResponseCodeEnum(Integer code, String msg) { + this.code = code; + this.msg = msg; + } + + public Integer getCode() { + return code; + } + + public String getMsg() { + return msg; + } +} diff --git a/screen-common/src/main/java/com/moral/constant/ResultMessage.java b/screen-common/src/main/java/com/moral/constant/ResultMessage.java index bc1d2f5..2ecfe05 100644 --- a/screen-common/src/main/java/com/moral/constant/ResultMessage.java +++ b/screen-common/src/main/java/com/moral/constant/ResultMessage.java @@ -25,17 +25,26 @@ @ApiModelProperty("������������") private T data; + public ResultMessage(int code, String msg, T data) { + this.code = code; + this.msg = msg; + this.data = data; + } + + public ResultMessage() { + } + 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; @@ -58,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; } @@ -74,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; @@ -98,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; } diff --git a/screen-common/src/main/java/com/moral/pojo/VerificationCode.java b/screen-common/src/main/java/com/moral/pojo/VerificationCode.java new file mode 100644 index 0000000..f524a9f --- /dev/null +++ b/screen-common/src/main/java/com/moral/pojo/VerificationCode.java @@ -0,0 +1,18 @@ +package com.moral.pojo; + +import lombok.Data; + +/** + * @ClassName VerificationCode + * @Description ������������ + * @Author ��������� + * @Date 2021/3/17 8:51 + * @Version TODO + **/ +@Data +public class VerificationCode { + + private String key; + + private String value; +} diff --git a/screen-common/src/main/java/com/moral/util/AESUtils.java b/screen-common/src/main/java/com/moral/util/AESUtils.java index 33a1aef..19d2c3c 100644 --- a/screen-common/src/main/java/com/moral/util/AESUtils.java +++ b/screen-common/src/main/java/com/moral/util/AESUtils.java @@ -6,6 +6,8 @@ import lombok.extern.slf4j.Slf4j; import org.apache.commons.net.util.Base64; +import org.springframework.beans.factory.annotation.Value; +import org.springframework.stereotype.Component; /** * @ClassName AESUtil @@ -15,9 +17,10 @@ * @Version TODO **/ @Slf4j +@Component public class AESUtils { //������ - public static String key = "AD42F7787B035B7580000EF93BE20BAD"; + public static String key ; //��������� private static String charset = "utf-8"; // ��������� @@ -25,6 +28,14 @@ //AES������ private static String transformation = "AES/CBC/PKCS5Padding"; private static String algorithm = "AES"; + + + @Value("${AES.KEY}") + public void setKey(String key) { + AESUtils.key = key; + } + + //������ public static String encrypt(String content) { @@ -70,7 +81,7 @@ } public static void main(String[] args) { - System.out.println(encrypt("4048974139","AD42F7787B035B7580000EF93BE20BAD")); + System.out.println(encrypt("404897439","AD42F7787B035B7580000EF93BE20BAD")); System.out.println(encrypt("chenkaiyu111","AD42F7787B035B7580000EF93BE20BAD")); } diff --git a/screen-common/src/main/java/com/moral/util/KaptchaUtils.java b/screen-common/src/main/java/com/moral/util/KaptchaUtils.java new file mode 100644 index 0000000..7a1abe4 --- /dev/null +++ b/screen-common/src/main/java/com/moral/util/KaptchaUtils.java @@ -0,0 +1,80 @@ +package com.moral.util; + +import com.google.code.kaptcha.impl.DefaultKaptcha; +import com.moral.pojo.VerificationCode; +import lombok.extern.slf4j.Slf4j; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.beans.factory.annotation.Qualifier; +import org.springframework.data.redis.core.RedisTemplate; +import org.springframework.stereotype.Component; +import sun.misc.BASE64Encoder; + +import javax.annotation.Resource; +import javax.imageio.ImageIO; +import javax.servlet.ServletOutputStream; +import javax.servlet.http.HttpServletRequest; +import javax.servlet.http.HttpServletResponse; +import java.awt.image.BufferedImage; +import java.io.ByteArrayOutputStream; +import java.io.IOException; +import java.util.UUID; + +/** + * @ClassName KaptchaUtils + * @Description ������������������ + * @Author ��������� + * @Date 2021/3/16 15:36 + * @Version TODO + **/ +@Component +@Slf4j +public class KaptchaUtils { + + private static DefaultKaptcha defaultKaptcha; + + private static RedisTemplate redisTemplate; + + @Autowired + public void setRedisTemplate(RedisTemplate redisTemplate) { + KaptchaUtils.redisTemplate = redisTemplate; + } + + @Autowired + @Qualifier(value = "kaptchaProducer") + public void setDefaultKaptcha(DefaultKaptcha defaultKaptcha) { + KaptchaUtils.defaultKaptcha = defaultKaptcha; + } + + /** + * @Description: ��������������� + * @Param: [] + * @return: java.lang.String + * @Author: ��������� + * @Date: 2021/3/16 + */ + + public static VerificationCode createVerificationCode() throws IOException { + //��������������������� + String text = defaultKaptcha.createText(); + //������������ + BufferedImage image = defaultKaptcha.createImage(text); + //��������������������������� + ByteArrayOutputStream outputStream = new ByteArrayOutputStream(); + ImageIO.write(image,"jpg",outputStream); + byte[] bytes = outputStream.toByteArray(); + //��������������������������� + BASE64Encoder encoder = new BASE64Encoder(); + String encode = encoder.encode(bytes); + //������������������redis + String key = UUID.randomUUID().toString(); + //redisTemplate.opsForValsue().set(key,encode); + //redisTemplate.expire(); + return null; + } + public boolean verify(String verificationCode) { + return false; + } + + + +} diff --git a/screen-common/src/main/java/com/moral/util/RegexUtils.java b/screen-common/src/main/java/com/moral/util/RegexUtils.java index 3f2b70b..5023a3d 100644 --- a/screen-common/src/main/java/com/moral/util/RegexUtils.java +++ b/screen-common/src/main/java/com/moral/util/RegexUtils.java @@ -16,6 +16,10 @@ return account.matches(regex); } + public static void main(String[] args) { + + } + /** * ������������ * diff --git a/screen-common/src/main/java/com/moral/util/TokenUtils.java b/screen-common/src/main/java/com/moral/util/TokenUtils.java index 389ebfd..cafd03b 100644 --- a/screen-common/src/main/java/com/moral/util/TokenUtils.java +++ b/screen-common/src/main/java/com/moral/util/TokenUtils.java @@ -1,6 +1,7 @@ package com.moral.util; import com.moral.constant.Constants; +import com.moral.constant.ResponseCodeEnum; import com.moral.exception.TokenException; import com.sun.org.apache.bcel.internal.classfile.ConstantString; import lombok.extern.slf4j.Slf4j; @@ -60,7 +61,8 @@ return token; } catch (Exception e) { log.error("token���������������"+e.getMessage()); - throw new TokenException(Constants.CODE_TOKEN_CREATE_ERROR,Constants.MSG_TOKEN_CREATE_ERROR); + throw new TokenException(ResponseCodeEnum.TOKEN_CREATE_ERROR.getCode(), + ResponseCodeEnum.TOKEN_CREATE_ERROR.getMsg()); } } @@ -77,15 +79,18 @@ String[] tokenArray = TokenEncryptUtils.decoded(token).split("/"); //������token������������ if (tokenArray.length != 2) { - throw new TokenException(Constants.CODE_TOKEN_ERROR,Constants.MSG_TOKEN_ERROR); + throw new TokenException(ResponseCodeEnum.TOKEN_INVALID.getCode(), + ResponseCodeEnum.TOKEN_INVALID.getMsg()); } //������token������������ if (!redisTemplate.hasKey(token)) { - throw new TokenException(Constants.CODE_TOKEN_ERROR,Constants.MSG_TOKEN_ERROR); + throw new TokenException(ResponseCodeEnum.TOKEN_INVALID.getCode(), + ResponseCodeEnum.TOKEN_INVALID.getMsg()); } } catch (Exception e) { log.error("token���������������token������" + e.getMessage()); - throw new TokenException(Constants.CODE_TOKEN_ERROR,Constants.MSG_TOKEN_ERROR); + throw new TokenException(ResponseCodeEnum.TOKEN_INVALID.getCode(), + ResponseCodeEnum.TOKEN_INVALID.getMsg()); } } @@ -99,7 +104,8 @@ public static Object getUserInfoByToken(String token) { Object userInfo = redisTemplate.opsForValue().get(token); if(userInfo==null) - throw new TokenException(Constants.CODE_TOKEN_ERROR,Constants.MSG_TOKEN_ERROR); + throw new TokenException(ResponseCodeEnum.TOKEN_INVALID.getCode(), + ResponseCodeEnum.TOKEN_INVALID.getMsg()); return userInfo; } diff --git a/screen-manage/src/main/java/com/moral/api/controller/AccountController.java b/screen-manage/src/main/java/com/moral/api/controller/AccountController.java index 78c95c6..3e194d4 100644 --- a/screen-manage/src/main/java/com/moral/api/controller/AccountController.java +++ b/screen-manage/src/main/java/com/moral/api/controller/AccountController.java @@ -1,17 +1,22 @@ package com.moral.api.controller; +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; 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.ResponseCodeEnum; import com.moral.constant.ResultMessage; +import com.moral.util.KaptchaUtils; +import com.moral.util.TokenUtils; import io.swagger.annotations.*; import lombok.extern.slf4j.Slf4j; import org.springframework.beans.factory.annotation.Autowired; @@ -21,85 +26,114 @@ import javax.annotation.Resource; import javax.servlet.http.HttpServletRequest; +import javax.servlet.http.HttpServletResponse; +import java.io.IOException; @Slf4j @Api(tags = {"������������������"}) @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()) - return ResultMessage.fail(Constants.CODE_PARAMETER_IS_MISSING,Constants.MSG_PARAMETER_IS_MISSING); + public ResultMessage login(@RequestBody LoginForm loginForm) { + if (!loginForm.valid()) + return ResultMessage.fail(ResponseCodeEnum.PARAMETERS_IS_MISSING.getCode(), + ResponseCodeEnum.PARAMETERS_IS_MISSING.getMsg()); - 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 conditionDTO = accountInsertForm.paramValid(); + if(conditionDTO.getCode()!=ResponseCodeEnum.SUCCESS.getCode()){ + return new ResultMessage(conditionDTO.getCode(),conditionDTO.getMsg(),null); + } - 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()) - return ResultMessage.fail(Constants.CODE_PARAMETER_IS_MISSING,Constants.MSG_PARAMETER_IS_MISSING); + public ResultMessage query(AccountQueryForm accountQueryForm){ + if(!accountQueryForm.valid()) + return ResultMessage.fail(ResponseCodeEnum.PARAMETERS_IS_MISSING.getCode(), + ResponseCodeEnum.PARAMETERS_IS_MISSING.getMsg()); - 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){ - if(!accountQeuryRequest.valid()) - return ResultMessage.fail(Constants.CODE_PARAMETER_IS_MISSING,Constants.MSG_PARAMETER_IS_MISSING); - AccountUpdateDTO accountUpdateDTO = accountService.updateAccount(accountQeuryRequest); + @PostMapping("update") + public ResultMessage update(@RequestBody AccountUpdateForm accountUpdateRequest){ + if(!accountUpdateRequest.valid()) + return ResultMessage.fail(ResponseCodeEnum.PARAMETERS_IS_MISSING.getCode(), + ResponseCodeEnum.PARAMETERS_IS_MISSING.getMsg()); + + //������������������������������ + AccountUpdateDTO conditionDTO = accountUpdateRequest.paramValid(); + if(conditionDTO.getCode()!=ResponseCodeEnum.SUCCESS.getCode()){ + return new ResultMessage(conditionDTO.getCode(),conditionDTO.getMsg(),null); + } + + AccountUpdateDTO accountUpdateDTO = accountService.updateAccount(accountUpdateRequest); 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 AccountDeleteForm accountDeleteForm){ + if(!accountDeleteForm.valid()) + return ResultMessage.fail(ResponseCodeEnum.PARAMETERS_IS_MISSING.getCode(), + ResponseCodeEnum.PARAMETERS_IS_MISSING.getMsg()); + + AccountDeleteDTO accountDeleteDTO = accountService.deleteAccount(accountDeleteForm); + + AccountDeleteVO accountDeleteVO = AccountDeleteVO.convert(accountDeleteDTO); + + return new ResultMessage(accountDeleteDTO.getCode(),accountDeleteDTO.getMsg(),accountDeleteVO); + } + + @PostMapping("yanzhengma") + public String yanzhengma(HttpServletResponse response) throws IOException { + KaptchaUtils.createVerificationCode(); + TokenUtils.getToken("1",1); + return null; } diff --git a/screen-manage/src/main/java/com/moral/api/exception/GlobalExceptionHandler.java b/screen-manage/src/main/java/com/moral/api/exception/GlobalExceptionHandler.java index 2e62d5b..768a250 100644 --- a/screen-manage/src/main/java/com/moral/api/exception/GlobalExceptionHandler.java +++ b/screen-manage/src/main/java/com/moral/api/exception/GlobalExceptionHandler.java @@ -1,6 +1,7 @@ package com.moral.api.exception; import com.moral.constant.Constants; +import com.moral.constant.ResponseCodeEnum; import com.moral.constant.ResultMessage; import com.moral.exception.TokenException; import lombok.extern.slf4j.Slf4j; @@ -24,7 +25,7 @@ public ResultMessage handleException(Exception ex) { log.error(ex.getMessage()); ex.printStackTrace(); - return ResultMessage.fail(Constants.CODE_OPERATION_FAILED, "������������"); + return ResultMessage.fail(ResponseCodeEnum.FAIL.getCode(), ResponseCodeEnum.FAIL.getMsg()); } /** @@ -34,7 +35,7 @@ @ResponseBody @ResponseStatus(HttpStatus.OK) public ResultMessage handleUserNotExistException(BusinessException ex) { - return ResultMessage.fail(Constants.CODE_OPERATION_FAILED, "������������������������"); + return ResultMessage.fail(ResponseCodeEnum.FAIL.getCode(), "������������������������"); } /** diff --git a/screen-manage/src/main/java/com/moral/api/pojo/dto/account/AccountDTO.java b/screen-manage/src/main/java/com/moral/api/pojo/dto/account/AccountDTO.java index 00404b3..5f17674 100644 --- a/screen-manage/src/main/java/com/moral/api/pojo/dto/account/AccountDTO.java +++ b/screen-manage/src/main/java/com/moral/api/pojo/dto/account/AccountDTO.java @@ -19,4 +19,8 @@ private ManageAccount account; private List<ManageRole> roles; + + private Integer code; + + private String msg; } diff --git a/screen-manage/src/main/java/com/moral/api/pojo/dto/account/AccountDeleteDTO.java b/screen-manage/src/main/java/com/moral/api/pojo/dto/account/AccountDeleteDTO.java new file mode 100644 index 0000000..ecab6ed --- /dev/null +++ b/screen-manage/src/main/java/com/moral/api/pojo/dto/account/AccountDeleteDTO.java @@ -0,0 +1,16 @@ +package com.moral.api.pojo.dto.account; + +import lombok.Data; + +/** + * @ClassName AccountDeleteDTO + * @Description TODO + * @Author ��������� + * @Date 2021/3/16 8:59 + * @Version TODO + **/ +@Data +public class AccountDeleteDTO extends AccountDTO { + + +} diff --git a/screen-manage/src/main/java/com/moral/api/pojo/dto/account/AccountInsertDTO.java b/screen-manage/src/main/java/com/moral/api/pojo/dto/account/AccountInsertDTO.java index 2a96636..8f199bb 100644 --- a/screen-manage/src/main/java/com/moral/api/pojo/dto/account/AccountInsertDTO.java +++ b/screen-manage/src/main/java/com/moral/api/pojo/dto/account/AccountInsertDTO.java @@ -16,47 +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"; - - private String code; - - } diff --git a/screen-manage/src/main/java/com/moral/api/pojo/dto/account/AccountQueryDTO.java b/screen-manage/src/main/java/com/moral/api/pojo/dto/account/AccountQueryDTO.java index 26e2ef6..46f3888 100644 --- a/screen-manage/src/main/java/com/moral/api/pojo/dto/account/AccountQueryDTO.java +++ b/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; diff --git a/screen-manage/src/main/java/com/moral/api/pojo/dto/account/AccountUpdateDTO.java b/screen-manage/src/main/java/com/moral/api/pojo/dto/account/AccountUpdateDTO.java index 3fb12d9..b75060d 100644 --- a/screen-manage/src/main/java/com/moral/api/pojo/dto/account/AccountUpdateDTO.java +++ b/screen-manage/src/main/java/com/moral/api/pojo/dto/account/AccountUpdateDTO.java @@ -11,25 +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"; - - private String code; } diff --git a/screen-manage/src/main/java/com/moral/api/pojo/dto/login/LoginDTO.java b/screen-manage/src/main/java/com/moral/api/pojo/dto/login/LoginDTO.java index 0701d68..6fdca56 100644 --- a/screen-manage/src/main/java/com/moral/api/pojo/dto/login/LoginDTO.java +++ b/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 diff --git a/screen-manage/src/main/java/com/moral/api/pojo/form/AccountDeleteForm.java b/screen-manage/src/main/java/com/moral/api/pojo/form/AccountDeleteForm.java new file mode 100644 index 0000000..b70764c --- /dev/null +++ b/screen-manage/src/main/java/com/moral/api/pojo/form/AccountDeleteForm.java @@ -0,0 +1,23 @@ +package com.moral.api.pojo.form; + +import lombok.Data; + +/** + * @ClassName AccountDeleteRequest + * @Description TODO + * @Author ��������� + * @Date 2021/3/16 8:54 + * @Version TODO + **/ +@Data +public class AccountDeleteForm { + + private Integer accountId; + + public boolean valid(){ + if(accountId==null||accountId==0){ + return false; + } + return true; + } +} diff --git a/screen-manage/src/main/java/com/moral/api/pojo/form/AccountInsertForm.java b/screen-manage/src/main/java/com/moral/api/pojo/form/AccountInsertForm.java new file mode 100644 index 0000000..f5b1810 --- /dev/null +++ b/screen-manage/src/main/java/com/moral/api/pojo/form/AccountInsertForm.java @@ -0,0 +1,93 @@ +package com.moral.api.pojo.form; + +import com.moral.api.pojo.dto.account.AccountInsertDTO; +import com.moral.constant.ResponseCodeEnum; +import com.moral.util.AESUtils; +import com.moral.util.RegexUtils; +import lombok.Data; +import org.springframework.beans.factory.annotation.Value; +import org.springframework.util.ObjectUtils; + +import java.io.Serializable; +import java.util.List; + +/** + * @ClassName AccountRequest + * @Description TODO + * @Author ��������� + * @Date 2021/3/13 17:23 + * @Version TODO + **/ +@Data +public class AccountInsertForm implements Serializable{ + + + private String account; + + + private String password; + + + private String userName; + + + private String email; + + + private String mobile; + + + private String wechat; + + + private String createTime; + + + private String updateTime; + + + private List<String> roleIds; + + public boolean valid() { + if ( + ObjectUtils.isEmpty(account) || + ObjectUtils.isEmpty(password) || + ObjectUtils.isEmpty(email) || + ObjectUtils.isEmpty(mobile) || + ObjectUtils.isEmpty(userName) + ) + return false; + return true; + } + + public AccountInsertDTO paramValid(){ + AccountInsertDTO dto = new AccountInsertDTO(); + //��������������������������������� + if(!RegexUtils.checkAccount(account)){ + dto.setCode(ResponseCodeEnum.ACCOUNT_INVALID.getCode()); + dto.setMsg(ResponseCodeEnum.ACCOUNT_INVALID.getMsg()); + return dto; + } + //������������������������������ + if(!RegexUtils.checkPassword(AESUtils.decrypt(password))){ + dto.setCode(ResponseCodeEnum.PASSWORD_INVALID.getCode()); + dto.setMsg(ResponseCodeEnum.PASSWORD_INVALID.getMsg()); + return dto; + } + //��������������������������������� + if(!RegexUtils.checkMobile(mobile)){ + dto.setCode(ResponseCodeEnum.MOBILE_INVALID.getCode()); + dto.setMsg(ResponseCodeEnum.MOBILE_INVALID.getMsg()); + return dto; + } + //������������������������������ + if(!RegexUtils.checkEmail(email)){ + dto.setCode(ResponseCodeEnum.EMAIL_INVALID.getCode()); + dto.setMsg(ResponseCodeEnum.EMAIL_INVALID.getMsg()); + return dto; + } + dto.setCode(ResponseCodeEnum.SUCCESS.getCode()); + dto.setMsg(ResponseCodeEnum.SUCCESS.getMsg()); + return dto; + } +} diff --git a/screen-manage/src/main/java/com/moral/api/pojo/request/AccountQueryRequest.java b/screen-manage/src/main/java/com/moral/api/pojo/form/AccountQueryForm.java similarity index 87% rename from screen-manage/src/main/java/com/moral/api/pojo/request/AccountQueryRequest.java rename to screen-manage/src/main/java/com/moral/api/pojo/form/AccountQueryForm.java index 1a8fb2f..ce49cb5 100644 --- a/screen-manage/src/main/java/com/moral/api/pojo/request/AccountQueryRequest.java +++ b/screen-manage/src/main/java/com/moral/api/pojo/form/AccountQueryForm.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; diff --git a/screen-manage/src/main/java/com/moral/api/pojo/form/AccountUpdateForm.java b/screen-manage/src/main/java/com/moral/api/pojo/form/AccountUpdateForm.java new file mode 100644 index 0000000..77133d7 --- /dev/null +++ b/screen-manage/src/main/java/com/moral/api/pojo/form/AccountUpdateForm.java @@ -0,0 +1,66 @@ +package com.moral.api.pojo.form; + +import com.moral.api.pojo.dto.account.AccountInsertDTO; +import com.moral.api.pojo.dto.account.AccountUpdateDTO; +import com.moral.constant.ResponseCodeEnum; +import com.moral.util.AESUtils; +import com.moral.util.RegexUtils; +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 AccountUpdateForm { + + private Integer accountId; + + private String userName; + + private String email; + + private String mobile; + + private String wechat; + + private List<Integer> roleIds; + + public boolean valid(){ + if ( + ObjectUtils.isEmpty(accountId) || + ObjectUtils.isEmpty(userName) || + ObjectUtils.isEmpty(email) || + ObjectUtils.isEmpty(mobile) || + ObjectUtils.isEmpty(roleIds) + ) + return false; + return true; + } + + public AccountUpdateDTO paramValid(){ + AccountUpdateDTO dto = new AccountUpdateDTO(); + //��������������������������������� + if(!RegexUtils.checkMobile(mobile)){ + dto.setCode(ResponseCodeEnum.MOBILE_INVALID.getCode()); + dto.setMsg(ResponseCodeEnum.MOBILE_INVALID.getMsg()); + return dto; + } + //������������������������������ + if(!RegexUtils.checkEmail(email)){ + dto.setCode(ResponseCodeEnum.EMAIL_INVALID.getCode()); + dto.setMsg(ResponseCodeEnum.EMAIL_INVALID.getMsg()); + return dto; + } + dto.setCode(ResponseCodeEnum.SUCCESS.getCode()); + dto.setMsg(ResponseCodeEnum.SUCCESS.getMsg()); + return dto; + } + +} diff --git a/screen-manage/src/main/java/com/moral/api/pojo/request/LoginRequest.java b/screen-manage/src/main/java/com/moral/api/pojo/form/LoginForm.java similarity index 64% rename from screen-manage/src/main/java/com/moral/api/pojo/request/LoginRequest.java rename to screen-manage/src/main/java/com/moral/api/pojo/form/LoginForm.java index 4f60a54..7bab60f 100644 --- a/screen-manage/src/main/java/com/moral/api/pojo/request/LoginRequest.java +++ b/screen-manage/src/main/java/com/moral/api/pojo/form/LoginForm.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; } } diff --git a/screen-manage/src/main/java/com/moral/api/pojo/request/LogoutRequest.java b/screen-manage/src/main/java/com/moral/api/pojo/form/LogoutForm.java similarity index 81% rename from screen-manage/src/main/java/com/moral/api/pojo/request/LogoutRequest.java rename to screen-manage/src/main/java/com/moral/api/pojo/form/LogoutForm.java index c559c40..8847656 100644 --- a/screen-manage/src/main/java/com/moral/api/pojo/request/LogoutRequest.java +++ b/screen-manage/src/main/java/com/moral/api/pojo/form/LogoutForm.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; diff --git a/screen-manage/src/main/java/com/moral/api/pojo/request/AccountInsertRequest.java b/screen-manage/src/main/java/com/moral/api/pojo/request/AccountInsertRequest.java deleted file mode 100644 index 13d54de..0000000 --- a/screen-manage/src/main/java/com/moral/api/pojo/request/AccountInsertRequest.java +++ /dev/null @@ -1,62 +0,0 @@ -package com.moral.api.pojo.request; - -import com.moral.api.entity.ManageRole; -import lombok.Data; -import org.springframework.util.ObjectUtils; - -import java.io.Serializable; -import java.util.List; - -/** - * @ClassName AccountRequest - * @Description TODO - * @Author ��������� - * @Date 2021/3/13 17:23 - * @Version TODO - **/ -@Data -public class AccountInsertRequest implements Serializable{ - - - private String account; - - - private String password; - - - private String userName; - - - private String email; - - - private String mobile; - - - private String wechat; - - - private String createTime; - - - private String updateTime; - - - private String isDelete; - - private List<String> roleIds; - - public boolean valid() { - if ( - ObjectUtils.isEmpty(account) || - ObjectUtils.isEmpty(password) || - ObjectUtils.isEmpty(email) || - ObjectUtils.isEmpty(mobile) || - ObjectUtils.isEmpty(userName) || - ObjectUtils.isEmpty(isDelete) || - ObjectUtils.isEmpty(roleIds) - ) - return false; - return true; - } -} diff --git a/screen-manage/src/main/java/com/moral/api/pojo/request/AccountUpdateRequest.java b/screen-manage/src/main/java/com/moral/api/pojo/request/AccountUpdateRequest.java deleted file mode 100644 index f0ae72b..0000000 --- a/screen-manage/src/main/java/com/moral/api/pojo/request/AccountUpdateRequest.java +++ /dev/null @@ -1,45 +0,0 @@ -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; - } - -} diff --git a/screen-manage/src/main/java/com/moral/api/pojo/vo/account/AccountDeleteVO.java b/screen-manage/src/main/java/com/moral/api/pojo/vo/account/AccountDeleteVO.java new file mode 100644 index 0000000..ef0b15e --- /dev/null +++ b/screen-manage/src/main/java/com/moral/api/pojo/vo/account/AccountDeleteVO.java @@ -0,0 +1,32 @@ +package com.moral.api.pojo.vo.account; + +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; + +/** + * @ClassName AccountDeleteVO + * @Description TODO + * @Author ��������� + * @Date 2021/3/16 11:40 + * @Version TODO + **/ +@Data +@JsonInclude(JsonInclude.Include.NON_EMPTY) + +public class AccountDeleteVO extends AccountVO { + + + public static AccountDeleteVO convert(AccountDeleteDTO dto) { + if (dto.getCode() != ResponseCodeEnum.SUCCESS.getCode()) + return null; + AccountDeleteVO vo = new AccountDeleteVO(); + ManageAccount account = dto.getAccount(); + vo.setId(account.getId()); + vo.setUserName(account.getUserName()); + return vo; + } +} diff --git a/screen-manage/src/main/java/com/moral/api/pojo/vo/account/AccountInsertVO.java b/screen-manage/src/main/java/com/moral/api/pojo/vo/account/AccountInsertVO.java index faaf488..7c4e4cf 100644 --- a/screen-manage/src/main/java/com/moral/api/pojo/vo/account/AccountInsertVO.java +++ b/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,82 +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"; - - private String code; - /** - * @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(); - 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); + 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; } diff --git a/screen-manage/src/main/java/com/moral/api/pojo/vo/account/AccountQueryVO.java b/screen-manage/src/main/java/com/moral/api/pojo/vo/account/AccountQueryVO.java index 16462d3..77b190b 100644 --- a/screen-manage/src/main/java/com/moral/api/pojo/vo/account/AccountQueryVO.java +++ b/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); diff --git a/screen-manage/src/main/java/com/moral/api/pojo/vo/account/AccountUpdateVO.java b/screen-manage/src/main/java/com/moral/api/pojo/vo/account/AccountUpdateVO.java index 2765a97..a99e42d 100644 --- a/screen-manage/src/main/java/com/moral/api/pojo/vo/account/AccountUpdateVO.java +++ b/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,56 +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"; - - 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())); + 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.setIsDelete(isDelete); - 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; } } diff --git a/screen-manage/src/main/java/com/moral/api/pojo/vo/account/AccountVO.java b/screen-manage/src/main/java/com/moral/api/pojo/vo/account/AccountVO.java index fbd5d06..3f6463b 100644 --- a/screen-manage/src/main/java/com/moral/api/pojo/vo/account/AccountVO.java +++ b/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; @@ -18,8 +19,8 @@ **/ @Data @JsonInclude(JsonInclude.Include.NON_EMPTY) - public class AccountVO { + private Integer id; private String userName; @@ -30,24 +31,23 @@ private String wechat; - private String isDelete; - 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()); vo.setMobile(account.getMobile()); vo.setWechat(account.getWechat()); - vo.setIsDelete(account.getIsDelete()); vo.setRoleNames(roleNames); return vo; } diff --git a/screen-manage/src/main/java/com/moral/api/pojo/vo/login/AccountInfoVO.java b/screen-manage/src/main/java/com/moral/api/pojo/vo/login/AccountInfoVO.java index 4edf55a..dbd42ca 100644 --- a/screen-manage/src/main/java/com/moral/api/pojo/vo/login/AccountInfoVO.java +++ b/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()); diff --git a/screen-manage/src/main/java/com/moral/api/pojo/vo/login/LoginVO.java b/screen-manage/src/main/java/com/moral/api/pojo/vo/login/LoginVO.java index acc760f..52878a0 100644 --- a/screen-manage/src/main/java/com/moral/api/pojo/vo/login/LoginVO.java +++ b/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; } } diff --git a/screen-manage/src/main/java/com/moral/api/service/ManageAccountService.java b/screen-manage/src/main/java/com/moral/api/service/ManageAccountService.java index 471d22d..3f1aa80 100644 --- a/screen-manage/src/main/java/com/moral/api/service/ManageAccountService.java +++ b/screen-manage/src/main/java/com/moral/api/service/ManageAccountService.java @@ -2,12 +2,9 @@ import com.moral.api.entity.ManageAccount; import com.baomidou.mybatisplus.extension.service.IService; -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.account.*; import com.moral.api.pojo.dto.login.LoginDTO; -import com.moral.api.pojo.request.*; +import com.moral.api.pojo.form.*; /** * <p> @@ -25,7 +22,7 @@ * @Author: ��������� * @Date: 2021/3/12 */ - LoginDTO login(LoginRequest loginRequest); + LoginDTO login(LoginForm loginForm); /** * @Description: ������ @@ -34,7 +31,7 @@ * @Author: ��������� * @Date: 2021/3/12 */ - boolean logout(LogoutRequest logoutRequest); + boolean logout(LogoutForm logoutForm); /** * @Description: ������������������ @@ -43,7 +40,7 @@ * @Author: ��������� * @Date: 2021/3/13 */ - AccountInsertDTO insertAccount(AccountInsertRequest accountInsertRequest); + AccountInsertDTO insertAccount(AccountInsertForm accountInsertForm); /** * @Description: ������������ @@ -52,7 +49,7 @@ * @Author: ��������� * @Date: 2021/3/15 */ - AccountQueryDTO queryAccount(AccountQueryRequest accountQueryRequest); + AccountQueryDTO queryAccount(AccountQueryForm accountQueryForm); /** * @Description: ������������ @@ -61,5 +58,14 @@ * @Author: ��������� * @Date: 2021/3/15 */ - AccountUpdateDTO updateAccount(AccountUpdateRequest accountUpdateRequest); + AccountUpdateDTO updateAccount(AccountUpdateForm accountUpdateForm); + + /** + * @Description: ������������ + * @Param: [accountDeleteRequest] + * @return: com.moral.api.pojo.dto.account.AccountDeleteDTO + * @Author: ��������� + * @Date: 2021/3/16 + */ + AccountDeleteDTO deleteAccount(AccountDeleteForm accountDeleteForm); } diff --git a/screen-manage/src/main/java/com/moral/api/service/impl/ManageAccountServiceImpl.java b/screen-manage/src/main/java/com/moral/api/service/impl/ManageAccountServiceImpl.java index a78cd9b..641d362 100644 --- a/screen-manage/src/main/java/com/moral/api/service/impl/ManageAccountServiceImpl.java +++ b/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.core.conditions.update.UpdateWrapper; import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.moral.api.entity.ManageAccount; import com.moral.api.entity.ManageAccountRole; @@ -10,18 +11,18 @@ import com.moral.api.mapper.ManageAccountRoleMapper; import com.moral.api.mapper.ManageMenuMapper; import com.moral.api.mapper.ManageRoleMapper; -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.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.Constants; +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,69 +44,67 @@ @Service public class ManageAccountServiceImpl extends ServiceImpl<ManageAccountMapper, ManageAccount> implements ManageAccountService { - @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"; - - 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] - * @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); + String password = AESUtils.decrypt(AESPassword); //������������������ QueryWrapper<ManageAccount> wrapper = new QueryWrapper<>(); wrapper.eq("account", account); - ManageAccount manageAccount = manageAccountMapper.selectOne(wrapper); - if (ObjectUtils.isEmpty(manageAccount)) { - loginDTO.setCode(LoginDTO.NOT_EXIST); + List<ManageAccount> manageAccounts = manageAccountMapper.selectList(wrapper); + if (ObjectUtils.isEmpty(manageAccounts)) { + loginDTO.setCode(ResponseCodeEnum.ACCOUNT_NOT_EXIST.getCode()); + loginDTO.setMsg(ResponseCodeEnum.ACCOUNT_NOT_EXIST.getMsg()); return loginDTO; } //������������������������ - if (manageAccount.getIsDelete().equals("1")) { - loginDTO.setCode(LoginDTO.IS_DELETE); + ManageAccount manageAccount = null; + for (ManageAccount value : manageAccounts) { + if (Constants.NOT_DELETE.equals(value.getIsDelete())) + manageAccount = value; + } + + if (ObjectUtils.isEmpty(manageAccount)) { + 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_ERROR.getCode()); + loginDTO.setMsg(ResponseCodeEnum.PASSWORD_ERROR.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); } //������������������ @@ -118,7 +117,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); @@ -128,14 +128,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; } @@ -149,65 +149,30 @@ */ @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 password = MD5Utils.saltMD5(AESUtils.decrypt(AESPassword, AESKey)); - 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)) { - accountInsertDTO.setCode(AccountInsertDTO.ACCOUNT_EXIST_SPECIAL_CHAR); - return accountInsertDTO; - } - /*������������������������������������*/ - if (isSpecialChar(password)) { - accountInsertDTO.setCode(AccountInsertDTO.PASSWORD_EXIST_SPECIAL_CHAR); - return accountInsertDTO; - } - /*���������������������������������*/ - if (account.length() >= 20||account.length()<=6) { - accountInsertDTO.setCode(AccountInsertDTO.ACCOUNT_LENGTH_INVALID); - return accountInsertDTO; - } - /*������������������������������*/ - if (AESUtils.decrypt(AESPassword, AESKey).length() >= 20||AESUtils.decrypt(AESPassword, AESKey).length() <= 6) { - accountInsertDTO.setCode(AccountInsertDTO.PASSWORD_LENGTH_INVALID); - return accountInsertDTO; - } - /*���������������������������������*/ - if (!isValidMobile(mobile)) { - accountInsertDTO.setCode(AccountInsertDTO.MOBILE_INVALID); - return accountInsertDTO; - } - /*������������������������������*/ - if (!isValidEmail(email)) { - accountInsertDTO.setCode(AccountInsertDTO.EMAIL_INVALID); - return accountInsertDTO; - } - /*���������������������������*/ + String account = accountInsertForm.getAccount(); + String AESPassword = accountInsertForm.getPassword(); + String password = MD5Utils.saltMD5(AESUtils.decrypt(AESPassword)); + String userName = accountInsertForm.getUserName(); + String email = accountInsertForm.getEmail(); + String mobile = accountInsertForm.getMobile(); + String wechat = accountInsertForm.getWechat(); + List<String> roleIdsStr = accountInsertForm.getRoleIds(); + + /*������������������������*/ ManageAccount exitAccount = new ManageAccount(); exitAccount.setAccount(account); - exitAccount.setIsDelete("0"); + exitAccount.setIsDelete(Constants.NOT_DELETE); QueryWrapper<ManageAccount> wrapper = new QueryWrapper<>(); 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(); @@ -217,23 +182,31 @@ manageAccount.setEmail(email); manageAccount.setMobile(mobile); manageAccount.setWechat(wechat); - manageAccount.setIsDelete(isDelete); 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; } @@ -245,42 +218,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); - queryParams.put("is_delete", isDelete); - 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", Constants.NOT_DELETE); + 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); @@ -288,42 +282,41 @@ 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 + */ @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 isDelete = accountUpdateRequest.getIsDelete(); - 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<>(); ManageAccount exitManageAccount = new ManageAccount(); exitManageAccount.setId(accountId); - exitManageAccount.setIsDelete("0"); + exitManageAccount.setIsDelete(Constants.NOT_DELETE); 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); + if (ObjectUtils.isEmpty(manageAccounts)) { + accountUpdateDTO.setCode(ResponseCodeEnum.ACCOUNT_NOT_EXIST.getCode()); + accountUpdateDTO.setMsg(ResponseCodeEnum.ACCOUNT_NOT_EXIST.getMsg()); return accountUpdateDTO; } //������ManageAccount��� @@ -331,15 +324,14 @@ 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); + 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) { @@ -351,33 +343,56 @@ //������������������������ 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; } - - - - private static boolean isSpecialChar(String str) { - Pattern pattern = Pattern.compile(specialCharRegEx); - Matcher matcher = pattern.matcher(str); - return matcher.find(); + /** + * @Description: ������������������ + * @Param: [accountDeleteRequest] + * @return: com.moral.api.pojo.dto.account.AccountDeleteDTO + * @Author: ��������� + * @Date: 2021/3/16 + */ + @Override + @Transactional + public AccountDeleteDTO deleteAccount(AccountDeleteForm accountDeleteForm) { + AccountDeleteDTO accountDeleteDTO = new AccountDeleteDTO(); + //������ + Integer accountId = accountDeleteForm.getAccountId(); + //������������������ + ManageAccount manageAccount = new ManageAccount(); + manageAccount.setIsDelete(Constants.NOT_DELETE); + manageAccount.setId(accountId); + QueryWrapper<ManageAccount> queryWrapper = new QueryWrapper<>(); + queryWrapper.setEntity(manageAccount); + ManageAccount existManageAccount = manageAccount.selectOne(queryWrapper); + if (ObjectUtils.isEmpty(existManageAccount)) { + accountDeleteDTO.setCode(ResponseCodeEnum.ACCOUNT_NOT_EXIST.getCode()); + accountDeleteDTO.setMsg(ResponseCodeEnum.ACCOUNT_NOT_EXIST.getMsg()); + return accountDeleteDTO; + } + //������������������ + existManageAccount.setIsDelete(Constants.DELETE); + UpdateWrapper<ManageAccount> deleteAccountWrapper = new UpdateWrapper<>(); + deleteAccountWrapper.set("is_delete", Constants.DELETE).eq("id", manageAccount.getId()); + manageAccountMapper.update(null, deleteAccountWrapper); + //������������������������������ + UpdateWrapper<ManageAccountRole> deleteManageAccountRoleWrapper = new UpdateWrapper<>(); + deleteManageAccountRoleWrapper.set("is_delete", Constants.DELETE).eq("account_id", manageAccount.getId()); + manageAccountRoleMapper.update(null, deleteManageAccountRoleWrapper); + //������������������ + accountDeleteDTO.setCode(ResponseCodeEnum.SUCCESS.getCode()); + accountDeleteDTO.setMsg(ResponseCodeEnum.SUCCESS.getMsg()); + accountDeleteDTO.setAccount(existManageAccount); + return accountDeleteDTO; } - private static boolean isValidMobile(String str) { - Pattern pattern = Pattern.compile(mobileRegEx); - Matcher matcher = pattern.matcher(str); - return matcher.find(); - } - private static boolean isValidEmail(String str) { - Pattern pattern = Pattern.compile(emailRegEx); - Matcher matcher = pattern.matcher(str); - return matcher.find(); - } } diff --git a/screen-manage/src/main/java/com/moral/api/service/impl/ManageRoleServiceImpl.java b/screen-manage/src/main/java/com/moral/api/service/impl/ManageRoleServiceImpl.java index 3552237..d879d47 100644 --- a/screen-manage/src/main/java/com/moral/api/service/impl/ManageRoleServiceImpl.java +++ b/screen-manage/src/main/java/com/moral/api/service/impl/ManageRoleServiceImpl.java @@ -6,6 +6,7 @@ import com.moral.api.mapper.ManageRoleMenuMapper; import com.moral.api.service.ManageRoleService; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; +import com.moral.constant.Constants; import org.springframework.stereotype.Service; import org.springframework.transaction.annotation.Transactional; import org.springframework.util.StringUtils; @@ -123,7 +124,7 @@ }else { ManageRole manageRole = new ManageRole(); manageRole.setId(Integer.parseInt(map.get("id").toString())); - manageRole.setIsDelete("1"); + manageRole.setIsDelete(Constants.DELETE); Map deleteMap = new HashMap(); deleteMap.put("id",Integer.parseInt(map.get("id").toString())); deleteMap.put("is_delete",1); diff --git a/screen-manage/src/main/resources/application-dev.yml b/screen-manage/src/main/resources/application-dev.yml index 984b1a4..7aa5cab 100644 --- a/screen-manage/src/main/resources/application-dev.yml +++ b/screen-manage/src/main/resources/application-dev.yml @@ -121,6 +121,8 @@ - /account/insert - /account/query - /account/update + - /account/delete + - /account/yanzhengma AES: KEY: AD42F7787B035B7580000EF93BE20BAD diff --git a/screen-manage/src/main/resources/mapper/ManageMenuMapper.xml b/screen-manage/src/main/resources/mapper/ManageMenuMapper.xml index 33dfcee..7dbef4e 100644 --- a/screen-manage/src/main/resources/mapper/ManageMenuMapper.xml +++ b/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 -- Gitblit v1.8.0