From 1e4b4f686f4462786c75b9a9f2cd59f29d8b2140 Mon Sep 17 00:00:00 2001 From: xuhy <3313886187@qq.com> Date: 星期四, 22 八月 2024 14:05:01 +0800 Subject: [PATCH] Merge remote-tracking branch 'origin/master' --- ruoyi-auth/src/main/java/com/ruoyi/auth/controller/TokenController.java | 132 +++++++-------- ruoyi-modules/ruoyi-system/src/main/java/com/ruoyi/system/controller/SysUserController.java | 20 -- ruoyi-modules/ruoyi-system/src/main/resources/mapper/system/SysUserMapper.xml | 1 ruoyi-api/ruoyi-api-system/src/main/java/com/ruoyi/system/api/domain/SysUser.java | 12 + ruoyi-auth/pom.xml | 7 ruoyi-api/ruoyi-api-system/src/main/java/com/ruoyi/system/api/factory/SysUserFallbackFactory.java | 2 ruoyi-modules/ruoyi-system/src/main/java/com/ruoyi/system/controller/SysUserRoleController.java | 137 ++++++++--------- ruoyi-modules/ruoyi-system/src/main/java/com/ruoyi/system/service/impl/SysUserRoleServiceImpl.java | 147 ++++++++--------- 8 files changed, 220 insertions(+), 238 deletions(-) diff --git a/ruoyi-api/ruoyi-api-system/src/main/java/com/ruoyi/system/api/domain/SysUser.java b/ruoyi-api/ruoyi-api-system/src/main/java/com/ruoyi/system/api/domain/SysUser.java index 0bbb062..6ec6741 100644 --- a/ruoyi-api/ruoyi-api-system/src/main/java/com/ruoyi/system/api/domain/SysUser.java +++ b/ruoyi-api/ruoyi-api-system/src/main/java/com/ruoyi/system/api/domain/SysUser.java @@ -127,6 +127,10 @@ @ApiModelProperty(value = "备注") private String remark; + @ApiModelProperty(value = "禁用账户备注") + @TableField("forbidden_remark") + private String forbiddenRemark; + @ApiModelProperty(value = "充电站") @TableField(exist = false) private List<String> siteNames; @@ -407,6 +411,14 @@ this.roleNames = roleNames; } + public String getForbiddenRemark() { + return forbiddenRemark; + } + + public void setForbiddenRemark(String forbiddenRemark) { + this.forbiddenRemark = forbiddenRemark; + } + @Override public String toString() { return new ToStringBuilder(this,ToStringStyle.MULTI_LINE_STYLE) diff --git a/ruoyi-api/ruoyi-api-system/src/main/java/com/ruoyi/system/api/factory/SysUserFallbackFactory.java b/ruoyi-api/ruoyi-api-system/src/main/java/com/ruoyi/system/api/factory/SysUserFallbackFactory.java index dc862b5..5df9fc7 100644 --- a/ruoyi-api/ruoyi-api-system/src/main/java/com/ruoyi/system/api/factory/SysUserFallbackFactory.java +++ b/ruoyi-api/ruoyi-api-system/src/main/java/com/ruoyi/system/api/factory/SysUserFallbackFactory.java @@ -27,7 +27,7 @@ @Override public R<Boolean> updateSysUser(SysUser sysUser) { - return R.fail("更新用户失败:" + cause.getMessage()); + throw new RuntimeException("更新用户失败:" + cause.getMessage()); } @Override diff --git a/ruoyi-auth/pom.xml b/ruoyi-auth/pom.xml index df1fa2a..17035c7 100644 --- a/ruoyi-auth/pom.xml +++ b/ruoyi-auth/pom.xml @@ -38,7 +38,12 @@ <groupId>com.alibaba.cloud</groupId> <artifactId>spring-cloud-starter-alibaba-sentinel</artifactId> </dependency> - + + <dependency> + <groupId>com.ruoyi</groupId> + <artifactId>ruoyi-common-seata</artifactId> + </dependency> + <!-- SpringBoot Web --> <dependency> <groupId>org.springframework.boot</groupId> diff --git a/ruoyi-auth/src/main/java/com/ruoyi/auth/controller/TokenController.java b/ruoyi-auth/src/main/java/com/ruoyi/auth/controller/TokenController.java index 91f7ab4..1053dde 100644 --- a/ruoyi-auth/src/main/java/com/ruoyi/auth/controller/TokenController.java +++ b/ruoyi-auth/src/main/java/com/ruoyi/auth/controller/TokenController.java @@ -6,6 +6,7 @@ import com.ruoyi.system.api.domain.SysRole; import com.ruoyi.system.api.domain.SysUser; import com.ruoyi.system.api.feignClient.SysUserClient; +import io.seata.spring.annotation.GlobalTransactional; import lombok.extern.slf4j.Slf4j; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.web.bind.annotation.*; @@ -24,82 +25,75 @@ /** * token 控制 - * + * * @author ruoyi */ @Slf4j @RestController -public class TokenController -{ - @Autowired - private TokenService tokenService; - - @Autowired - private SysLoginService sysLoginService; - @Resource - private SysUserClient userClient; - - - - - - - @PostMapping("login") - public R<?> login(@RequestBody LoginBody form, HttpServletRequest request) { - // 用户登录 - LoginUser userInfo = sysLoginService.login(form.getUsername(), form.getPassword(), request); - HashMap<String, Object> map = new HashMap<>(); - map.put("token",tokenService.createToken(userInfo)); - List<SysRole> roles = userInfo.getSysUser().getRoles(); +public class TokenController { + @Autowired + private TokenService tokenService; + + @Autowired + private SysLoginService sysLoginService; + @Resource + private SysUserClient userClient; + + + @PostMapping("login") + @GlobalTransactional(rollbackFor = Exception.class)//分布式事务 + public R<?> login(@RequestBody LoginBody form, HttpServletRequest request) { + // 用户登录 + LoginUser userInfo = sysLoginService.login(form.getUsername(), form.getPassword(), request); + HashMap<String, Object> map = new HashMap<>(); + map.put("token", tokenService.createToken(userInfo)); + List<SysRole> roles = userInfo.getSysUser().getRoles(); // if(CollectionUtils.isEmpty(roles)){ // return R.fail("请关联角色!"); // } // map.put("roleName",roles.get(0).getRoleName()); - map.put("info",userInfo); - // 修改用户最后登录时间 - SysUser sysUser = new SysUser(); - sysUser.setUserId(userInfo.getSysUser().getUserId()); - sysUser.setLoginDate(new Date()); - System.out.println("修改用户登录时间"+sysUser); - userClient.updateSysUser(sysUser); - return R.ok(map); - } - - @DeleteMapping("logout") - public R<?> logout(HttpServletRequest request) { - String token = SecurityUtils.getToken(request); - if (StringUtils.isNotEmpty(token)) - { - String username = JwtUtils.getUserName(token); - // 删除用户缓存记录 - AuthUtil.logoutByToken(token); - // 记录用户退出日志 - sysLoginService.logout(username, request); - } - return R.ok(); - } - - - @PostMapping("refresh") - public R<?> refresh(HttpServletRequest request) - { - LoginUser loginUser = tokenService.getLoginUser(request); - if (StringUtils.isNotNull(loginUser)) - { - // 刷新令牌有效期 - tokenService.refreshToken(loginUser); - return R.ok(); - } - return R.ok(); - } - - @PostMapping("register") - public R<?> register(@RequestBody RegisterBody registerBody, HttpServletRequest request) - { - // 用户注册 - sysLoginService.register(registerBody.getUsername(), registerBody.getPassword(), request); - return R.ok(); - } - + map.put("info", userInfo); + // 修改用户最后登录时间 + SysUser sysUser = new SysUser(); + sysUser.setUserId(userInfo.getSysUser().getUserId()); + sysUser.setLoginDate(new Date()); + sysUser.setRoleId(userInfo.getSysUser().getRoleId()); + System.out.println("修改用户登录时间" + sysUser); + userClient.updateSysUser(sysUser); + return R.ok(map); + } + + @DeleteMapping("logout") + public R<?> logout(HttpServletRequest request) { + String token = SecurityUtils.getToken(request); + if (StringUtils.isNotEmpty(token)) { + String username = JwtUtils.getUserName(token); + // 删除用户缓存记录 + AuthUtil.logoutByToken(token); + // 记录用户退出日志 + sysLoginService.logout(username, request); + } + return R.ok(); + } + + + @PostMapping("refresh") + public R<?> refresh(HttpServletRequest request) { + LoginUser loginUser = tokenService.getLoginUser(request); + if (StringUtils.isNotNull(loginUser)) { + // 刷新令牌有效期 + tokenService.refreshToken(loginUser); + return R.ok(); + } + return R.ok(); + } + + @PostMapping("register") + public R<?> register(@RequestBody RegisterBody registerBody, HttpServletRequest request) { + // 用户注册 + sysLoginService.register(registerBody.getUsername(), registerBody.getPassword(), request); + return R.ok(); + } + } diff --git a/ruoyi-modules/ruoyi-system/src/main/java/com/ruoyi/system/controller/SysUserController.java b/ruoyi-modules/ruoyi-system/src/main/java/com/ruoyi/system/controller/SysUserController.java index 6315e1b..5636e6a 100644 --- a/ruoyi-modules/ruoyi-system/src/main/java/com/ruoyi/system/controller/SysUserController.java +++ b/ruoyi-modules/ruoyi-system/src/main/java/com/ruoyi/system/controller/SysUserController.java @@ -1,12 +1,9 @@ package com.ruoyi.system.controller; -import java.io.IOException; import java.util.*; import java.util.stream.Collectors; import javax.annotation.Resource; -import javax.servlet.http.HttpServletResponse; -import com.alibaba.nacos.shaded.org.checkerframework.checker.units.qual.A; import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; import com.baomidou.mybatisplus.core.toolkit.Wrappers; import com.ruoyi.chargingPile.api.feignClient.SiteClient; @@ -17,32 +14,19 @@ import com.ruoyi.other.api.feignClient.RoleSiteClient; import com.ruoyi.other.api.feignClient.UserSiteClient; import com.ruoyi.system.api.query.ChangeUserQuery; -import com.ruoyi.system.domain.dto.IndexDto; -import com.ruoyi.system.domain.vo.UserRoleVO; import com.ruoyi.system.api.model.*; import com.ruoyi.system.domain.SysUserRole; -import com.ruoyi.system.domain.dto.AddCompanyUserDto; -import com.ruoyi.system.domain.vo.CompanyUserVo; -import com.ruoyi.system.domain.vo.TCompanyToUserVo; import com.ruoyi.system.query.GetSysUserList; import com.ruoyi.system.query.ShopUserStart; import com.ruoyi.system.service.*; import io.seata.spring.annotation.GlobalTransactional; import io.swagger.annotations.Api; -import io.swagger.annotations.ApiImplicitParam; -import io.swagger.annotations.ApiImplicitParams; import io.swagger.annotations.ApiOperation; import org.apache.commons.lang3.ArrayUtils; -import org.springframework.beans.BeanUtils; -import org.springframework.beans.factory.annotation.Autowired; -import org.springframework.transaction.annotation.Propagation; import org.springframework.transaction.annotation.Transactional; -import org.springframework.util.CollectionUtils; import org.springframework.validation.annotation.Validated; import org.springframework.web.bind.annotation.*; -import org.springframework.web.multipart.MultipartFile; import com.ruoyi.common.core.domain.R; -import com.ruoyi.common.core.utils.poi.ExcelUtil; import com.ruoyi.common.core.web.controller.BaseController; import com.ruoyi.common.core.web.domain.AjaxResult; import com.ruoyi.common.log.annotation.Log; @@ -300,10 +284,10 @@ SysUser sysUser = userService.selectUserById(shopUserStart.getUserId()); if (sysUser.getStatus().equals("0")) { sysUser.setStatus("1"); - sysUser.setRemark(shopUserStart.getRemark()); + sysUser.setForbiddenRemark(shopUserStart.getRemark()); } else { sysUser.setStatus("0"); - sysUser.setRemark(""); + sysUser.setForbiddenRemark(""); } return toAjax(userService.updateUser(sysUser)); } diff --git a/ruoyi-modules/ruoyi-system/src/main/java/com/ruoyi/system/controller/SysUserRoleController.java b/ruoyi-modules/ruoyi-system/src/main/java/com/ruoyi/system/controller/SysUserRoleController.java index 25ac609..b0ef148 100644 --- a/ruoyi-modules/ruoyi-system/src/main/java/com/ruoyi/system/controller/SysUserRoleController.java +++ b/ruoyi-modules/ruoyi-system/src/main/java/com/ruoyi/system/controller/SysUserRoleController.java @@ -25,82 +25,75 @@ /** * 用户和角色关联Controller - * + * * @author xiaochen * @date 2023-06-12 */ @RestController @RequestMapping("/userRole") -public class SysUserRoleController extends BaseController -{ - @Autowired - private ISysUserRoleService sysUserRoleService; - - /** - * 查询用户和角色关联列表 - */ - @RequiresPermissions("car:role:list") - @GetMapping("/list") - public TableDataInfo list(SysUserRole sysUserRole) - { - startPage(); - List<SysUserRole> list = sysUserRoleService.selectSysUserRoleList(sysUserRole); - return getDataTable(list); - } - - /** - * 导出用户和角色关联列表 - */ - @RequiresPermissions("car:role:export") - @Log(title = "用户和角色关联", businessType = BusinessType.EXPORT) - @PostMapping("/export") - public void export(HttpServletResponse response, SysUserRole sysUserRole) - { - List<SysUserRole> list = sysUserRoleService.selectSysUserRoleList(sysUserRole); - ExcelUtil<SysUserRole> util = new ExcelUtil<SysUserRole>(SysUserRole.class); - util.exportExcel(response, list, "用户和角色关联数据"); - } - - /** - * 获取用户和角色关联详细信息 - */ - @RequiresPermissions("car:role:query") - @GetMapping(value = "/{userId}") - public AjaxResult getInfo(@PathVariable("userId") Long userId) - { - return success(sysUserRoleService.selectSysUserRoleByUserId(userId)); - } - - /** - * 新增用户和角色关联 - */ - @RequiresPermissions("car:role:add") - @Log(title = "用户和角色关联", businessType = BusinessType.INSERT) - @PostMapping - public AjaxResult add(@RequestBody SysUserRole sysUserRole) - { - return toAjax(sysUserRoleService.insertSysUserRole(sysUserRole)); - } - - /** - * 修改用户和角色关联 - */ - @RequiresPermissions("car:role:edit") - @Log(title = "用户和角色关联", businessType = BusinessType.UPDATE) - @PutMapping - public AjaxResult edit(@RequestBody SysUserRole sysUserRole) - { - return toAjax(sysUserRoleService.updateSysUserRole(sysUserRole)); - } - - /** - * 删除用户和角色关联 - */ - @RequiresPermissions("car:role:remove") - @Log(title = "用户和角色关联", businessType = BusinessType.DELETE) +public class SysUserRoleController extends BaseController { + @Autowired + private ISysUserRoleService sysUserRoleService; + + /** + * 查询用户和角色关联列表 + */ + @RequiresPermissions("car:role:list") + @GetMapping("/list") + public TableDataInfo list(SysUserRole sysUserRole) { + startPage(); + List<SysUserRole> list = sysUserRoleService.selectSysUserRoleList(sysUserRole); + return getDataTable(list); + } + + /** + * 导出用户和角色关联列表 + */ + @RequiresPermissions("car:role:export") + @Log(title = "用户和角色关联", businessType = BusinessType.EXPORT) + @PostMapping("/export") + public void export(HttpServletResponse response, SysUserRole sysUserRole) { + List<SysUserRole> list = sysUserRoleService.selectSysUserRoleList(sysUserRole); + ExcelUtil<SysUserRole> util = new ExcelUtil<SysUserRole>(SysUserRole.class); + util.exportExcel(response, list, "用户和角色关联数据"); + } + + /** + * 获取用户和角色关联详细信息 + */ + @RequiresPermissions("car:role:query") + @GetMapping(value = "/{userId}") + public AjaxResult getInfo(@PathVariable("userId") Long userId) { + return success(sysUserRoleService.selectSysUserRoleByUserId(userId)); + } + + /** + * 新增用户和角色关联 + */ + @RequiresPermissions("car:role:add") + @Log(title = "用户和角色关联", businessType = BusinessType.INSERT) + @PostMapping + public AjaxResult add(@RequestBody SysUserRole sysUserRole) { + return toAjax(sysUserRoleService.insertSysUserRole(sysUserRole)); + } + + /** + * 修改用户和角色关联 + */ + @RequiresPermissions("car:role:edit") + @Log(title = "用户和角色关联", businessType = BusinessType.UPDATE) + @PutMapping + public AjaxResult edit(@RequestBody SysUserRole sysUserRole) { + return toAjax(sysUserRoleService.updateSysUserRole(sysUserRole)); + } + + /** + * 删除用户和角色关联 + */ + @RequiresPermissions("car:role:remove") + @Log(title = "用户和角色关联", businessType = BusinessType.DELETE) @DeleteMapping("/{userIds}") - public AjaxResult remove(@PathVariable Long[] userIds) - { - return toAjax(sysUserRoleService.deleteSysUserRoleByUserIds(userIds)); - } + public AjaxResult remove(@PathVariable Long[] userIds) { + return toAjax(sysUserRoleService.deleteSysUserRoleByUserIds(userIds)); + } } diff --git a/ruoyi-modules/ruoyi-system/src/main/java/com/ruoyi/system/service/impl/SysUserRoleServiceImpl.java b/ruoyi-modules/ruoyi-system/src/main/java/com/ruoyi/system/service/impl/SysUserRoleServiceImpl.java index 8a777ec..ab578b5 100644 --- a/ruoyi-modules/ruoyi-system/src/main/java/com/ruoyi/system/service/impl/SysUserRoleServiceImpl.java +++ b/ruoyi-modules/ruoyi-system/src/main/java/com/ruoyi/system/service/impl/SysUserRoleServiceImpl.java @@ -11,85 +11,78 @@ /** * 用户和角色关联Service业务层处理 - * + * * @author xiaochen * @date 2023-06-12 */ @Service -public class SysUserRoleServiceImpl extends ServiceImpl<SysUserRoleMapper, SysUserRole> implements ISysUserRoleService -{ - @Autowired - private SysUserRoleMapper sysUserRoleMapper; - - /** - * 查询用户和角色关联 - * - * @param userId 用户和角色关联主键 - * @return 用户和角色关联 - */ - @Override - public SysUserRole selectSysUserRoleByUserId(Long userId) - { - return sysUserRoleMapper.selectSysUserRoleByUserId(userId); - } - - /** - * 查询用户和角色关联列表 - * - * @param sysUserRole 用户和角色关联 - * @return 用户和角色关联 - */ - @Override - public List<SysUserRole> selectSysUserRoleList(SysUserRole sysUserRole) - { - return sysUserRoleMapper.selectSysUserRoleList(sysUserRole); - } - - /** - * 新增用户和角色关联 - * - * @param sysUserRole 用户和角色关联 - * @return 结果 - */ - @Override - public int insertSysUserRole(SysUserRole sysUserRole) - { - return sysUserRoleMapper.insertSysUserRole(sysUserRole); - } - - /** - * 修改用户和角色关联 - * - * @param sysUserRole 用户和角色关联 - * @return 结果 - */ - @Override - public int updateSysUserRole(SysUserRole sysUserRole) - { - return sysUserRoleMapper.updateSysUserRole(sysUserRole); - } - - /** - * 批量删除用户和角色关联 - * - * @param userIds 需要删除的用户和角色关联主键 - * @return 结果 - */ - @Override - public int deleteSysUserRoleByUserIds(Long[] userIds) - { - return sysUserRoleMapper.deleteSysUserRoleByUserIds(userIds); - } - - /** - * 删除用户和角色关联信息 - * - * @param userId 用户和角色关联主键 - * @return 结果 - */ - @Override - public int deleteSysUserRoleByUserId(Long userId) - { - return sysUserRoleMapper.deleteSysUserRoleByUserId(userId); - } +public class SysUserRoleServiceImpl extends ServiceImpl<SysUserRoleMapper, SysUserRole> implements ISysUserRoleService { + @Autowired + private SysUserRoleMapper sysUserRoleMapper; + + /** + * 查询用户和角色关联 + * + * @param userId 用户和角色关联主键 + * @return 用户和角色关联 + */ + @Override + public SysUserRole selectSysUserRoleByUserId(Long userId) { + return sysUserRoleMapper.selectSysUserRoleByUserId(userId); + } + + /** + * 查询用户和角色关联列表 + * + * @param sysUserRole 用户和角色关联 + * @return 用户和角色关联 + */ + @Override + public List<SysUserRole> selectSysUserRoleList(SysUserRole sysUserRole) { + return sysUserRoleMapper.selectSysUserRoleList(sysUserRole); + } + + /** + * 新增用户和角色关联 + * + * @param sysUserRole 用户和角色关联 + * @return 结果 + */ + @Override + public int insertSysUserRole(SysUserRole sysUserRole) { + return sysUserRoleMapper.insertSysUserRole(sysUserRole); + } + + /** + * 修改用户和角色关联 + * + * @param sysUserRole 用户和角色关联 + * @return 结果 + */ + @Override + public int updateSysUserRole(SysUserRole sysUserRole) { + return sysUserRoleMapper.updateSysUserRole(sysUserRole); + } + + /** + * 批量删除用户和角色关联 + * + * @param userIds 需要删除的用户和角色关联主键 + * @return 结果 + */ + @Override + public int deleteSysUserRoleByUserIds(Long[] userIds) { + return sysUserRoleMapper.deleteSysUserRoleByUserIds(userIds); + } + + /** + * 删除用户和角色关联信息 + * + * @param userId 用户和角色关联主键 + * @return 结果 + */ + @Override + public int deleteSysUserRoleByUserId(Long userId) { + return sysUserRoleMapper.deleteSysUserRoleByUserId(userId); + } } diff --git a/ruoyi-modules/ruoyi-system/src/main/resources/mapper/system/SysUserMapper.xml b/ruoyi-modules/ruoyi-system/src/main/resources/mapper/system/SysUserMapper.xml index 6ea45fd..b484da7 100644 --- a/ruoyi-modules/ruoyi-system/src/main/resources/mapper/system/SysUserMapper.xml +++ b/ruoyi-modules/ruoyi-system/src/main/resources/mapper/system/SysUserMapper.xml @@ -22,6 +22,7 @@ <result property="createTime" column="create_time" /> <result property="updateBy" column="update_by" /> <result property="updateTime" column="update_time" /> + <result property="forbiddenRemark" column="forbidden_remark"/> <result property="remark" column="remark" /> <result property="roleType" column="roleType" /> <result property="objectId" column="objectId" /> -- Gitblit v1.7.1