| | |
| | | <swagger-bootstrap-ui.version>1.9.6</swagger-bootstrap-ui.version> |
| | | <spring.kafka.version>2.2.2</spring.kafka.version> |
| | | <xxl-job.version>2.3.0</xxl-job.version> |
| | | <aviator.version>5.2.5</aviator.version> |
| | | </properties> |
| | | |
| | | |
| | |
| | | <groupId>org.springframework.boot</groupId> |
| | | <artifactId>spring-boot-starter-web</artifactId> |
| | | </dependency> |
| | | |
| | | <dependency> |
| | | <groupId>io.springfox</groupId> |
| | | <artifactId>springfox-swagger2</artifactId> |
| | |
| | | <artifactId>xxl-job-core</artifactId> |
| | | <version>${xxl-job.version}</version> |
| | | </dependency> |
| | | <!-- https://mvnrepository.com/artifact/com.googlecode.aviator/aviator --> |
| | | <dependency> |
| | | <groupId>com.googlecode.aviator</groupId> |
| | | <artifactId>aviator</artifactId> |
| | | <version>${aviator.version}</version> |
| | | </dependency> |
| | | |
| | | </dependencies> |
| | | |
| | | |
| | |
| | | import com.moral.constant.ResponseCodeEnum; |
| | | import com.moral.constant.ResultMessage; |
| | | import com.moral.util.PageResult; |
| | | import com.moral.util.WebUtils; |
| | | |
| | | @Slf4j |
| | | @Api(tags = {"组管理"}) |
| | |
| | | |
| | | @ApiOperation(value = "删除组", notes = "删除组") |
| | | @ApiImplicitParams({ |
| | | @ApiImplicitParam(name = "id", value = "组id", required = true, paramType = "query", dataType = "int"), |
| | | @ApiImplicitParam(name = "token", value = "token", required = true, paramType = "header", dataType = "String") |
| | | }) |
| | | @RequestMapping(value = "delete", method = RequestMethod.POST) |
| | | public ResultMessage delete(@RequestBody Group group) { |
| | | if (group.getId() == null) { |
| | | @RequestMapping(value = "delete", method = RequestMethod.GET) |
| | | public ResultMessage delete(Integer id) { |
| | | if (id == null) { |
| | | return ResultMessage.fail(ResponseCodeEnum.PARAMETERS_IS_MISSING.getCode(), |
| | | ResponseCodeEnum.PARAMETERS_IS_MISSING.getMsg()); |
| | | } |
| | | QueryWrapper<Group> queryWrapper = new QueryWrapper<>(); |
| | | queryWrapper.eq("id", group.getId()); |
| | | group = groupService.getOne(queryWrapper); |
| | | if (group == null) { |
| | | return ResultMessage.fail(ResponseCodeEnum.ACCOUNT_NOT_EXIST.getCode(), ResponseCodeEnum.ACCOUNT_NOT_EXIST.getMsg()); |
| | | } |
| | | groupService.deleteGroup(group); |
| | | groupService.deleteGroup(id); |
| | | return ResultMessage.ok(); |
| | | } |
| | | |
| | |
| | | @ApiImplicitParam(name = "token", value = "token", required = true, paramType = "header", dataType = "String") |
| | | }) |
| | | @RequestMapping(value = "update", method = RequestMethod.POST) |
| | | public ResultMessage update(@RequestBody Group group, HttpServletRequest request) { |
| | | String token = request.getHeader("token"); |
| | | public ResultMessage update(@RequestBody Group group) { |
| | | Map<String, Object> result = groupService.updateGroup(group); |
| | | if (!result.isEmpty()) { |
| | | return ResultMessage.fail((int) result.get("code"), result.get("msg").toString()); |
| | |
| | | @ApiImplicitParam(name = "token", value = "token", required = true, paramType = "header", dataType = "String"), |
| | | @ApiImplicitParam(name = "groupName", value = "组名模糊查询", required = false, paramType = "query", dataType = "String") |
| | | }) |
| | | @RequestMapping(value = "select", method = RequestMethod.POST) |
| | | public ResultMessage select(@RequestBody Map<String, Object> parameters) { |
| | | @RequestMapping(value = "select", method = RequestMethod.GET) |
| | | public ResultMessage select(HttpServletRequest request) { |
| | | Map<String, Object> parameters = WebUtils.getParametersStartingWith(request, null); |
| | | Page<Group> userPage = groupService.selectGroups(parameters); |
| | | PageResult<Group> pageResult = new PageResult<>( |
| | | userPage.getTotal(), userPage.getPages(), userPage.getRecords() |
| | |
| | | |
| | | @ApiOperation(value = "获取用户所属组ids", notes = "获取用户所属组ids") |
| | | @ApiImplicitParams({ |
| | | @ApiImplicitParam(name = "userId", value = "用户id", required = true, paramType = "query", dataType = "int"), |
| | | @ApiImplicitParam(name = "token", value = "token", required = true, paramType = "header", dataType = "String") |
| | | }) |
| | | @RequestMapping(value = "get-group-ids", method = RequestMethod.GET) |
| | | @RequestMapping(value = "getGroupIds", method = RequestMethod.GET) |
| | | public ResultMessage getGroupIds(Integer userId) { |
| | | System.out.println(userId); |
| | | if (userId == null) { |
| | | return ResultMessage.fail(ResponseCodeEnum.PARAMETERS_IS_MISSING.getCode(), |
| | | ResponseCodeEnum.PARAMETERS_IS_MISSING.getMsg()); |
| | | } |
| | | List<Integer> groupIds = userGroupService.getGroupIds(userId); |
| | | return ResultMessage.ok(groupIds); |
| | | } |
| | |
| | | import lombok.extern.slf4j.Slf4j; |
| | | |
| | | import java.io.IOException; |
| | | import java.util.HashMap; |
| | | import java.util.Map; |
| | | |
| | | import javax.servlet.http.HttpServletRequest; |
| | |
| | | import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; |
| | | import com.moral.api.entity.SysConfig; |
| | | import com.moral.api.service.SysConfigService; |
| | | import com.moral.api.service.UserLogService; |
| | | import com.moral.api.service.UserService; |
| | | import com.moral.constant.Constants; |
| | | import com.moral.constant.ResponseCodeEnum; |
| | |
| | | ResponseCodeEnum.PARAMETERS_IS_MISSING.getMsg()); |
| | | } |
| | | Map<String, Object> result = userService.login(parameters); |
| | | if (!result.containsKey("data")) { |
| | | if (!result.containsKey("token")) { |
| | | return ResultMessage.fail((int) result.get("code"), (String) result.get("msg")); |
| | | } |
| | | Map<String, Object> data = (Map<String, Object>) result.get("data"); |
| | | return ResultMessage.ok(data); |
| | | return ResultMessage.ok(result); |
| | | } |
| | | |
| | | @ApiOperation(value = "退出", notes = "退出") |
| | | @RequestMapping(value = "logout", method = RequestMethod.POST) |
| | | @ApiOperation(value = "获取用户信息", notes = "获取用户信息") |
| | | @ApiImplicitParams({ |
| | | @ApiImplicitParam(name = "token", value = "token", required = true, paramType = "header", dataType = "String") |
| | | }) |
| | | public ResultMessage logout(@RequestBody Map<String, Object> parameters, HttpServletRequest request) { |
| | | if (!parameters.containsKey("uid")) { |
| | | @RequestMapping(value = "getUserInfo", method = RequestMethod.POST) |
| | | public ResultMessage getUserInfo(HttpServletRequest request) { |
| | | String token = request.getHeader("token"); |
| | | Map<String, Object> result = userService.getUserInfo(token); |
| | | return ResultMessage.ok(result); |
| | | } |
| | | |
| | | @ApiOperation(value = "退出", notes = "退出") |
| | | @RequestMapping(value = "logout", method = RequestMethod.GET) |
| | | @ApiImplicitParams({ |
| | | @ApiImplicitParam(name = "token", value = "token", required = true, paramType = "header", dataType = "String") |
| | | }) |
| | | public ResultMessage logout(Integer userId, HttpServletRequest request) { |
| | | if (userId == null) { |
| | | return ResultMessage.fail(ResponseCodeEnum.PARAMETERS_IS_MISSING.getCode(), |
| | | ResponseCodeEnum.PARAMETERS_IS_MISSING.getMsg()); |
| | | } |
| | | String token = request.getHeader("token"); |
| | | TokenUtils.destoryToken(parameters.get("uid").toString(), token); |
| | | TokenUtils.destoryToken(userId.toString(), token); |
| | | return ResultMessage.ok(); |
| | | } |
| | | |
| | |
| | | queryWrapper.eq(Constants.FRONT_VERIFICATIONCODE_COLUMN, Constants.FRONT_ERIFICATIONCODE_VALUE); |
| | | SysConfig sysConfig = sysConfigService.getOne(queryWrapper); |
| | | if (Constants.VERFICATIONCODE_OPEN.equals(sysConfig.getCode())) { |
| | | return new ResultMessage(ResponseCodeEnum.VERIFICATION_OPEN,null); |
| | | return new ResultMessage(ResponseCodeEnum.VERIFICATION_OPEN, null); |
| | | } |
| | | return new ResultMessage(ResponseCodeEnum.VERIFICATION_CLOSE,null); |
| | | return new ResultMessage(ResponseCodeEnum.VERIFICATION_CLOSE, null); |
| | | } |
| | | |
| | | @ApiOperation(value = "获取验证码", notes = "获取验证码") |
| | |
| | | @ApiImplicitParams({ |
| | | @ApiImplicitParam(name = "token", value = "token", required = true, paramType = "header", dataType = "String"), |
| | | }) |
| | | @RequestMapping(value = "select", method = RequestMethod.POST) |
| | | @RequestMapping(value = "select", method = RequestMethod.GET) |
| | | public ResultMessage select(HttpServletRequest request) { |
| | | String token = request.getHeader("token"); |
| | | Map<String, Object> currentUserInfo = (Map<String, Object>) TokenUtils.getUserInfoByToken(token); |
| | |
| | | @ApiImplicitParams({ |
| | | @ApiImplicitParam(name = "token", value = "token", required = true, paramType = "header", dataType = "String") |
| | | }) |
| | | @RequestMapping(value = "get-menu-ids", method = RequestMethod.GET) |
| | | @RequestMapping(value = "getMenuIds", method = RequestMethod.GET) |
| | | public ResultMessage getMenuIds(Integer groupId) { |
| | | List<Integer> menusIds = groupMenuService.getMenusIds(groupId); |
| | | return ResultMessage.ok(menusIds); |
| | |
| | | import com.moral.constant.ResponseCodeEnum; |
| | | import com.moral.constant.ResultMessage; |
| | | import com.moral.util.PageResult; |
| | | import com.moral.util.WebUtils; |
| | | |
| | | @Slf4j |
| | | @Api(tags = {"用户管理"}) |
| | |
| | | }) |
| | | @RequestMapping(value = "insert", method = RequestMethod.POST) |
| | | public ResultMessage insert(@RequestBody User user) { |
| | | System.out.println(user); |
| | | if (user.getAccount().isEmpty() || user.getPassword().isEmpty()) { |
| | | return ResultMessage.fail(ResponseCodeEnum.PARAMETERS_IS_MISSING.getCode(), |
| | | ResponseCodeEnum.PARAMETERS_IS_MISSING.getMsg()); |
| | |
| | | |
| | | @ApiOperation(value = "删除账户", notes = "删除账户") |
| | | @ApiImplicitParams({ |
| | | @ApiImplicitParam(name = "id", value = "用户id", required = true, paramType = "query", dataType = "int"), |
| | | @ApiImplicitParam(name = "token", value = "token", required = true, paramType = "header", dataType = "String") |
| | | }) |
| | | @RequestMapping(value = "delete", method = RequestMethod.POST) |
| | | public ResultMessage delete(@RequestBody User user) { |
| | | if (user.getId() == null) { |
| | | @RequestMapping(value = "delete", method = RequestMethod.GET) |
| | | public ResultMessage delete(Integer id) { |
| | | if (id == null) { |
| | | return ResultMessage.fail(ResponseCodeEnum.PARAMETERS_IS_MISSING.getCode(), |
| | | ResponseCodeEnum.PARAMETERS_IS_MISSING.getMsg()); |
| | | } |
| | | QueryWrapper<User> queryWrapper = new QueryWrapper<>(); |
| | | queryWrapper.eq("id", user.getId()); |
| | | user = userService.getOne(queryWrapper); |
| | | if (user == null) { |
| | | return ResultMessage.fail(ResponseCodeEnum.ACCOUNT_NOT_EXIST.getCode(), |
| | | ResponseCodeEnum.ACCOUNT_NOT_EXIST.getMsg()); |
| | | } |
| | | userService.deleteUser(user); |
| | | userService.deleteUser(id); |
| | | return ResultMessage.ok(); |
| | | } |
| | | |
| | |
| | | |
| | | @ApiOperation(value = "分页查询账户列表", notes = "分页查询账户列表") |
| | | @ApiImplicitParams({ |
| | | @ApiImplicitParam(name = "page", value = "当前页", required = false, paramType = "query", dataType = "Integer"), |
| | | @ApiImplicitParam(name = "size", value = "每页条数", required = false, paramType = "query", dataType = "Integer"), |
| | | @ApiImplicitParam(name = "page", value = "当前页", required = false, paramType = "query", dataType = "int"), |
| | | @ApiImplicitParam(name = "size", value = "每页条数", required = false, paramType = "query", dataType = "int"), |
| | | @ApiImplicitParam(name = "order", value = "排序字段", required = false, paramType = "query", dataType = "String"), |
| | | @ApiImplicitParam(name = "orderType", value = "排序类型,升序:0,降序:1", defaultValue = "0", required = false, paramType = "query", dataType = "String"), |
| | | @ApiImplicitParam(name = "token", value = "token", required = true, paramType = "header", dataType = "String"), |
| | |
| | | @ApiImplicitParam(name = "wechat", value = "微信模糊查询", required = false, paramType = "query", dataType = "String"), |
| | | |
| | | }) |
| | | @RequestMapping(value = "select", method = RequestMethod.POST) |
| | | public ResultMessage select(@RequestBody Map<String, Object> parameters) { |
| | | @RequestMapping(value = "select", method = RequestMethod.GET) |
| | | public ResultMessage select(HttpServletRequest request) { |
| | | Map<String, Object> parameters = WebUtils.getParametersStartingWith(request, null); |
| | | if (!parameters.containsKey("page") || !parameters.containsKey("size")) { |
| | | return ResultMessage.fail(ResponseCodeEnum.PARAMETERS_IS_MISSING.getCode(), |
| | | ResponseCodeEnum.PARAMETERS_IS_MISSING.getMsg()); |
| | | } |
| | | Page<User> userPage = userService.selectUsers(parameters); |
| | | PageResult<User> pageResult = new PageResult<>( |
| | | userPage.getTotal(), userPage.getPages(), userPage.getRecords() |
| | |
| | | */ |
| | | @Data |
| | | @EqualsAndHashCode(callSuper = false) |
| | | @TableName("`groupMenu`") |
| | | @TableName("`group`") |
| | | public class Group extends Model<Group> { |
| | | |
| | | private static final long serialVersionUID = 1L; |
| | |
| | | |
| | | import lombok.Data; |
| | | import lombok.EqualsAndHashCode; |
| | | |
| | | import javax.persistence.Transient; |
| | | |
| | | import org.springframework.format.annotation.DateTimeFormat; |
| | | |
| | | /** |
| | | * <p> |
| | |
| | | /** |
| | | * 过期时间 |
| | | */ |
| | | @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8") |
| | | @JsonFormat(pattern = "yyyy-MM-dd", timezone = "GMT+8") |
| | | @DateTimeFormat(pattern = "yyyy-MM-dd") |
| | | private Date expireTime; |
| | | |
| | | /** |
| | |
| | | */ |
| | | public interface GroupMenuService extends IService<GroupMenu> { |
| | | |
| | | //分配菜单 |
| | | void allotMenus(Map<String, Object> parameters); |
| | | |
| | | //获取组(角色)所有菜单集合 |
| | | List<Integer> getMenusIds(Integer groupId); |
| | | } |
| | |
| | | */ |
| | | public interface GroupService extends IService<Group> { |
| | | |
| | | //新增组(角色) |
| | | Map<String, Object> addGroup(Group group); |
| | | |
| | | void deleteGroup(Group group); |
| | | //删除组(角色) |
| | | void deleteGroup(Integer id); |
| | | |
| | | //修改组(角色) |
| | | Map<String, Object> updateGroup(Group group); |
| | | |
| | | //分页组(菜单)列表 |
| | | Page<Group> selectGroups(Map<String, Object> parameters); |
| | | |
| | | } |
| | |
| | | */ |
| | | public interface UserService extends IService<User> { |
| | | |
| | | //登陆 |
| | | Map<String, Object> login(Map<String, Object> parameters); |
| | | |
| | | //根据token获取用户信息 |
| | | Map<String,Object> getUserInfo(String token); |
| | | |
| | | //获取菜单 |
| | | Map<String, Object> getMenus(Map<String, Object> parameters); |
| | | |
| | | //新增用户 |
| | | Map<String, Object> addUser(User user); |
| | | |
| | | void deleteUser(User user); |
| | | //删除用户 |
| | | void deleteUser(Integer userId); |
| | | |
| | | //更新用户 |
| | | Map<String, Object> updateUser(User user); |
| | | |
| | | //分页用户列表 |
| | | Page<User> selectUsers(Map<String, Object> parameters); |
| | | |
| | | //根据所传条件获取用户信息 |
| | | UserBO selectUserInfo(Map<String, Object> parameters); |
| | | |
| | | } |
| | |
| | | import org.springframework.beans.factory.annotation.Autowired; |
| | | import org.springframework.stereotype.Service; |
| | | import org.springframework.transaction.annotation.Transactional; |
| | | import org.springframework.util.ObjectUtils; |
| | | import org.springframework.web.context.request.RequestContextHolder; |
| | | import org.springframework.web.context.request.ServletRequestAttributes; |
| | | |
| | |
| | | deleteWrapper.eq("group_id", groupId).eq("channel_key", Constants.WEB_CHANNEL); |
| | | groupMenuMapper.delete(deleteWrapper); |
| | | List<String> menus = new ArrayList<>(); |
| | | if (menuIds != null && !menuIds.isEmpty()) { |
| | | if (!ObjectUtils.isEmpty(menuIds)) { |
| | | menuIds.forEach(menuId -> { |
| | | menus.add(menuMapper.selectById(menuId).getName()); |
| | | GroupMenu groupMenu = new GroupMenu(); |
| | |
| | | }); |
| | | } |
| | | |
| | | |
| | | //日志 |
| | | String groupName = groupMapper.selectById((Integer) parameters.get("groupId")).getGroupName(); |
| | | String content = "给组:" + groupName + "分配了菜单:" + menus.toString(); |
| | | String content = "给组:" + groupName + "分配了菜单:" + menus; |
| | | operationLogUtils.insertLog(request, content, Constants.UPDATE_OPERATE_TYPE); |
| | | } |
| | | |
| | |
| | | import com.baomidou.mybatisplus.extension.plugins.pagination.Page; |
| | | import com.moral.api.entity.Group; |
| | | import com.moral.api.entity.GroupMenu; |
| | | import com.moral.api.entity.User; |
| | | import com.moral.api.entity.UserGroup; |
| | | import com.moral.api.mapper.GroupMapper; |
| | | import com.moral.api.mapper.GroupMenuMapper; |
| | |
| | | } |
| | | |
| | | @Override |
| | | public void deleteGroup(Group group) { |
| | | public void deleteGroup(Integer id) { |
| | | //逻辑删除group |
| | | group.setIsDelete(Constants.DELETE); |
| | | groupMapper.updateById(group); |
| | | UpdateWrapper<Group> updateWrapper = new UpdateWrapper<>(); |
| | | updateWrapper.eq("id", id).set("is_delete", Constants.DELETE); |
| | | groupMapper.update(null, updateWrapper); |
| | | //删除group_menu |
| | | UpdateWrapper<GroupMenu> deleteGroupWrapper = new UpdateWrapper<>(); |
| | | deleteGroupWrapper.eq("group_id", group.getId()); |
| | | deleteGroupWrapper.eq("group_id", id); |
| | | groupMenuMapper.delete(deleteGroupWrapper); |
| | | //删除user_group |
| | | UpdateWrapper<UserGroup> deleteUserGroupWrapper = new UpdateWrapper<>(); |
| | | deleteUserGroupWrapper.eq("group_id", group.getId()); |
| | | deleteUserGroupWrapper.eq("group_id", id); |
| | | userGroupMapper.delete(deleteUserGroupWrapper); |
| | | //日志 |
| | | HttpServletRequest request = ((ServletRequestAttributes) Objects.requireNonNull(RequestContextHolder.getRequestAttributes())).getRequest(); |
| | | String content = "删除了组:" + group.getGroupName(); |
| | | String content = "删除了组:" + groupMapper.selectById(id).getGroupName(); |
| | | operationLogUtils.insertLog(request, content, Constants.DELETE_OPERATE_TYPE); |
| | | } |
| | | |
| | |
| | | Integer orgId = (Integer) orgInfo.get("id"); |
| | | QueryWrapper<Group> queryWrapper = new QueryWrapper<>(); |
| | | queryWrapper.eq("organization_id", orgId) |
| | | .eq("is_delete", Constants.NOT_DELETE); |
| | | .eq("is_delete", Constants.NOT_DELETE) |
| | | .ne("group_name", "admin"); |
| | | Object order = parameters.get("order"); |
| | | Object orderType = parameters.get("orderType"); |
| | | Object groupName = parameters.get("groupName"); |
| | |
| | | queryWrapper.like("group_name", groupName); |
| | | } |
| | | |
| | | //分页参数 |
| | | if (!parameters.containsKey("page")) { |
| | | parameters.put("page", 0); |
| | | } |
| | | if (!parameters.containsKey("size")) { |
| | | parameters.put("size", 10); |
| | | } |
| | | |
| | | int page = Integer.parseInt(parameters.get("page").toString()); |
| | | int size = Integer.parseInt(parameters.get("size").toString()); |
| | | Page<Group> pageData = new Page<>(page, size); |
| | | //排序参数,默认id升序 |
| | | //排序参数,默认create_time降序 |
| | | if (order != null && orderType != null) { |
| | | if (Constants.ORDER_ASC.equals(orderType)) { |
| | |
| | | groupMapper.selectPage(pageData, queryWrapper); |
| | | return pageData; |
| | | } |
| | | |
| | | } |
| | |
| | | import org.springframework.beans.factory.annotation.Autowired; |
| | | import org.springframework.stereotype.Service; |
| | | import org.springframework.transaction.annotation.Transactional; |
| | | import org.springframework.util.ObjectUtils; |
| | | import org.springframework.web.context.request.RequestContextHolder; |
| | | import org.springframework.web.context.request.ServletRequestAttributes; |
| | | |
| | |
| | | deleteWrapper.eq("user_id", userId); |
| | | userGroupMapper.delete(deleteWrapper); |
| | | List<String> groups = new ArrayList<>(); |
| | | if (groupIds != null && !groupIds.isEmpty()) { |
| | | if (!ObjectUtils.isEmpty(groupIds)) { |
| | | groupIds.forEach(groupId -> { |
| | | groups.add(groupMapper.selectById(groupId).getGroupName()); |
| | | UserGroup userGroup = new UserGroup(); |
| | |
| | | |
| | | //日志 |
| | | String account = userMapper.selectById((Integer) parameters.get("userId")).getAccount(); |
| | | String content = "给用户:" + account + "分配了组:" + groups.toString(); |
| | | String content = "给用户:" + account + "分配了组:" + groups; |
| | | operationLogUtils.insertLog(request, content, Constants.UPDATE_OPERATE_TYPE); |
| | | } |
| | | |
| | |
| | | package com.moral.api.service.impl; |
| | | |
| | | import lombok.extern.slf4j.Slf4j; |
| | | 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; |
| | | import org.springframework.util.ObjectUtils; |
| | | import org.springframework.web.context.request.RequestContextHolder; |
| | | import org.springframework.web.context.request.ServletRequestAttributes; |
| | | |
| | |
| | | * @since 2021-03-09 |
| | | */ |
| | | @Service |
| | | @Slf4j |
| | | public class UserServiceImpl extends ServiceImpl<UserMapper, User> implements UserService { |
| | | |
| | | @Autowired |
| | |
| | | |
| | | @Value("${AES.KEY}") |
| | | private String AESKey; |
| | | |
| | | |
| | | @Override |
| | | public UserBO selectUserInfo(Map<String, Object> parameters) { |
| | |
| | | try { |
| | | //生成token,并存入redis |
| | | String token = TokenUtils.getToken(userBo.getId().toString(), userInfo); |
| | | Map<String, Object> data = new HashMap<>(); |
| | | data.put("token", token); |
| | | data.put("user", userInfo); |
| | | result.put("data", data); |
| | | result.put("token", token); |
| | | } catch (Exception e) { |
| | | log.error("token生成异常:" + e.getMessage()); |
| | | result.put("code", ResponseCodeEnum.TOKEN_CREATE_ERROR.getCode()); |
| | | result.put("msg", ResponseCodeEnum.TOKEN_CREATE_ERROR.getMsg()); |
| | | return result; |
| | | } |
| | | //日志 |
| | | HttpServletRequest request = ((ServletRequestAttributes) Objects.requireNonNull(RequestContextHolder.getRequestAttributes())).getRequest(); |
| | |
| | | userLog.setContent("登陆了用户:" + userBo.getAccount()); |
| | | userLogMapper.insert(userLog); |
| | | return result; |
| | | } |
| | | |
| | | @Override |
| | | public Map<String, Object> getUserInfo(String token) { |
| | | Map<String, Object> userInfo = (Map<String, Object>) TokenUtils.getUserInfoByToken(token); |
| | | return userInfo; |
| | | } |
| | | |
| | | @Override |
| | |
| | | oneMenu.forEach(o -> { |
| | | Map<String, Object> menuMap = new LinkedHashMap<>(); |
| | | menuMap.put("id", o.getId()); |
| | | menuMap.put("name", o.getName()); |
| | | menuMap.put("label", o.getName()); |
| | | menuMap.put("url", o.getUrl()); |
| | | menuMap.put("icon", o.getIcon()); |
| | | menuMap.put("child", getMenusByRecursion(o, allMenus)); |
| | | menuMap.put("children", getMenusByRecursion(o, allMenus)); |
| | | newList.add(menuMap); |
| | | }); |
| | | resultMap.put("menus", newList); |
| | |
| | | QueryWrapper<User> queryWrapper = new QueryWrapper<>(); |
| | | queryWrapper.eq("account", user.getAccount()).eq("is_delete", Constants.NOT_DELETE); |
| | | //校验账户是否存在 |
| | | if (user.selectOne(queryWrapper) != null) { |
| | | if (user.selectCount(queryWrapper) > 0) { |
| | | result.put("code", ResponseCodeEnum.ACCOUNT_EXIST.getCode()); |
| | | result.put("msg", ResponseCodeEnum.ACCOUNT_EXIST.getMsg()); |
| | | return result; |
| | | } |
| | | //正则校验账户 |
| | | //校验账户 |
| | | if (!RegexUtils.checkAccount(user.getAccount())) { |
| | | result.put("code", ResponseCodeEnum.ACCOUNT_INVALID.getCode()); |
| | | result.put("msg", ResponseCodeEnum.ACCOUNT_INVALID.getMsg()); |
| | | return result; |
| | | } |
| | | //正则校验账户 |
| | | if (user.getEmail() != null && !RegexUtils.checkEmail(user.getEmail())) { |
| | | |
| | | //校验邮箱 |
| | | if (!ObjectUtils.isEmpty(user.getEmail()) && !RegexUtils.checkEmail(user.getEmail())) { |
| | | result.put("code", ResponseCodeEnum.EMAIL_INVALID.getCode()); |
| | | result.put("msg", ResponseCodeEnum.EMAIL_INVALID.getMsg()); |
| | | return result; |
| | | } |
| | | //正则校验密码 |
| | | //校验密码 |
| | | String password = user.getPassword(); |
| | | //密码解密 |
| | | password = AESUtils.decrypt(password, AESKey); |
| | |
| | | result.put("msg", ResponseCodeEnum.PASSWORD_INVALID.getMsg()); |
| | | return result; |
| | | } |
| | | //正则校验手机号 |
| | | if (user.getMobile() != null && !RegexUtils.checkMobile(user.getMobile())) { |
| | | //校验手机号 |
| | | if (!ObjectUtils.isEmpty(user.getMobile()) && !RegexUtils.checkMobile(user.getMobile())) { |
| | | result.put("code", ResponseCodeEnum.MOBILE_INVALID.getCode()); |
| | | result.put("msg", ResponseCodeEnum.MOBILE_INVALID.getMsg()); |
| | | return result; |
| | |
| | | |
| | | @Override |
| | | @Transactional |
| | | public void deleteUser(User user) { |
| | | String userId = user.getId().toString(); |
| | | public void deleteUser(Integer userId) { |
| | | User user = userMapper.selectById(userId); |
| | | //逻辑删除user |
| | | user.setIsDelete(Constants.DELETE); |
| | | userMapper.updateById(user); |
| | | UpdateWrapper<User> updateWrapper = new UpdateWrapper<>(); |
| | | updateWrapper.eq("id", userId).set("is_delete", Constants.DELETE); |
| | | userMapper.update(null, updateWrapper); |
| | | //删除user_group |
| | | UpdateWrapper<UserGroup> deleteWrapper = new UpdateWrapper<>(); |
| | | deleteWrapper.eq("user_id", userId); |
| | | userGroupMapper.delete(deleteWrapper); |
| | | //更新redis |
| | | if (TokenUtils.hHasKey(userId)) { |
| | | String token = TokenUtils.hget(userId).toString(); |
| | | TokenUtils.destoryToken(userId, token); |
| | | //清楚redis |
| | | if (TokenUtils.hHasKey(userId.toString())) { |
| | | String token = TokenUtils.hget(userId.toString()).toString(); |
| | | TokenUtils.destoryToken(userId.toString(), token); |
| | | } |
| | | //日志 |
| | | HttpServletRequest request = ((ServletRequestAttributes) Objects.requireNonNull(RequestContextHolder.getRequestAttributes())).getRequest(); |
| | |
| | | HttpServletRequest request = ((ServletRequestAttributes) Objects.requireNonNull(RequestContextHolder.getRequestAttributes())).getRequest(); |
| | | String token = request.getHeader("token"); |
| | | |
| | | Map<String, Object> result = new HashMap<>(); |
| | | //更新的属性 |
| | | Map<String, Object> update = JSONObject.parseObject(JSON.toJSONString(user), Map.class); |
| | | Map<String, Object> result = new HashMap<>(); |
| | | Map<String, Object> currentUserInfo = (Map<String, Object>) TokenUtils.getUserInfoByToken(token); |
| | | User beforeUser = userMapper.selectById(user.getId()); |
| | | Map<String, Object> before = JSONObject.parseObject(JSON.toJSONString(beforeUser), Map.class); |
| | | String account = beforeUser.getAccount(); |
| | | /*String account = beforeUser.getAccount(); |
| | | //account不可修改 |
| | | user.setAccount(account); |
| | | user.setAccount(account);*/ |
| | | System.out.println(user); |
| | | if (!ObjectUtils.isEmpty(user.getAccount())) { |
| | | QueryWrapper<User> queryWrapper = new QueryWrapper<>(); |
| | | queryWrapper.eq("is_delete", Constants.NOT_DELETE).eq("account", user.getAccount()); |
| | | if (userMapper.selectCount(queryWrapper) > 0) { |
| | | result.put("code", ResponseCodeEnum.ACCOUNT_EXIST.getCode()); |
| | | result.put("msg", ResponseCodeEnum.ACCOUNT_EXIST.getMsg()); |
| | | return result; |
| | | } |
| | | } |
| | | |
| | | //邮箱校验 |
| | | if (user.getEmail() != null && !RegexUtils.checkEmail(user.getEmail())) { |
| | | if (!ObjectUtils.isEmpty(user.getEmail()) && !RegexUtils.checkEmail(user.getEmail())) { |
| | | result.put("code", ResponseCodeEnum.EMAIL_INVALID.getCode()); |
| | | result.put("msg", ResponseCodeEnum.EMAIL_INVALID.getMsg()); |
| | | return result; |
| | | } |
| | | //密码校验 |
| | | String password = user.getPassword(); |
| | | if (password != null) { |
| | | System.out.println("password==" + password); |
| | | if (!ObjectUtils.isEmpty(password)) { |
| | | //密码解密 |
| | | password = AESUtils.decrypt(password, AESKey); |
| | | if (!RegexUtils.checkPassword(password)) { |
| | |
| | | } |
| | | |
| | | //正则校验手机号 |
| | | if (user.getMobile() != null && !RegexUtils.checkMobile(user.getMobile())) { |
| | | if (!ObjectUtils.isEmpty(user.getMobile()) && !RegexUtils.checkMobile(user.getMobile())) { |
| | | result.put("code", ResponseCodeEnum.MOBILE_INVALID.getCode()); |
| | | result.put("msg", ResponseCodeEnum.MOBILE_INVALID.getMsg()); |
| | | return result; |
| | |
| | | } |
| | | } |
| | | operationLogUtils.insertLog(request, content.toString(), Constants.UPDATE_OPERATE_TYPE); |
| | | |
| | | return result; |
| | | } |
| | | |
| | |
| | | Map<String, Object> orgInfo = (Map<String, Object>) currentUserInfo.get("organization"); |
| | | QueryWrapper<User> queryWrapper = new QueryWrapper<>(); |
| | | queryWrapper.eq("organization_id", orgInfo.get("id")) |
| | | .eq("is_delete", Constants.NOT_DELETE); |
| | | .eq("is_delete", Constants.NOT_DELETE) |
| | | .eq("is_admin", false); |
| | | Object order = parameters.get("order"); |
| | | Object orderType = parameters.get("orderType"); |
| | | Object account = parameters.get("account"); |
| | |
| | | queryWrapper.like("wechat", wechat); |
| | | } |
| | | |
| | | Integer page = (Integer) parameters.get("page"); |
| | | Integer size = (Integer) parameters.get("size"); |
| | | int page = Integer.parseInt(parameters.get("page").toString()); |
| | | int size = Integer.parseInt(parameters.get("size").toString()); |
| | | Page<User> pageData = new Page<>(page, size); |
| | | //排序参数,默认create_time降序 |
| | | if (order != null && orderType != null) { |