From f50e8bc0e65b5ae014b4dfb2d441af9ec26f2524 Mon Sep 17 00:00:00 2001 From: fengjundan <1436525664@qq.com> Date: Fri, 30 Jul 2021 11:20:54 +0800 Subject: [PATCH] =?UTF-8?q?1=E5=8E=BB=E6=8E=89openFeign=E8=B0=83=E7=94=A8?= =?UTF-8?q?=EF=BC=8C=E8=87=AA=E5=B7=B1=E5=86=99=E7=94=A8=E6=88=B7=E7=AE=A1?= =?UTF-8?q?=E7=90=86=E9=83=A8=E5=88=86?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../com/xhpc/system/api/domain/SysUser.java | 4 + .../common/core/web/domain/BaseEntity.java | 6 +- .../java/com/xhpc/order/aspect/DaoAspect.java | 13 ++- .../com/xhpc/payment/aspect/DaoAspect.java | 13 ++- .../java/com/xhpc/user/aspect/DaoAspect.java | 11 +- .../XhpcInternetUserController.java | 29 +---- .../controller/XhpcOperatorController.java | 39 +------ .../user/controller/XhpcUserController.java | 49 +++----- .../com/xhpc/user/domain/SysUserRole.java | 45 ++++++++ .../com/xhpc/user/mapper/XhpcUserMapper.java | 45 +++++++- .../RemoteSystemFallbackFactory.java | 39 ------- .../user/openfeign/RemoteSystemService.java | 46 -------- .../xhpc/user/service/IXhpcUserService.java | 33 ++++++ .../service/impl/XhpcAppUserServiceImpl.java | 6 + .../service/impl/XhpcUserServiceImpl.java | 84 +++++++++++++- .../main/resources/mapper/XhpcUserMapper.xml | 108 +++++++++++++++++- 16 files changed, 372 insertions(+), 198 deletions(-) create mode 100644 xhpc-modules/xhpc-user/src/main/java/com/xhpc/user/domain/SysUserRole.java delete mode 100644 xhpc-modules/xhpc-user/src/main/java/com/xhpc/user/openfeign/RemoteSystemFallbackFactory.java delete mode 100644 xhpc-modules/xhpc-user/src/main/java/com/xhpc/user/openfeign/RemoteSystemService.java diff --git a/ruoyi-api/ruoyi-api-system/src/main/java/com/xhpc/system/api/domain/SysUser.java b/ruoyi-api/ruoyi-api-system/src/main/java/com/xhpc/system/api/domain/SysUser.java index 07e0f7ba..fd5df93e 100644 --- a/ruoyi-api/ruoyi-api-system/src/main/java/com/xhpc/system/api/domain/SysUser.java +++ b/ruoyi-api/ruoyi-api-system/src/main/java/com/xhpc/system/api/domain/SysUser.java @@ -1,5 +1,6 @@ package com.xhpc.system.api.domain; +import com.fasterxml.jackson.annotation.JsonFormat; import com.fasterxml.jackson.annotation.JsonProperty; import com.xhpc.common.core.annotation.Excel; import com.xhpc.common.core.annotation.Excel.ColumnType; @@ -8,6 +9,7 @@ import com.xhpc.common.core.annotation.Excels; import com.xhpc.common.core.web.domain.BaseEntity; import org.apache.commons.lang3.builder.ToStringBuilder; import org.apache.commons.lang3.builder.ToStringStyle; +import org.springframework.format.annotation.DateTimeFormat; import javax.validation.constraints.Email; import javax.validation.constraints.NotBlank; @@ -96,6 +98,8 @@ public class SysUser extends BaseEntity /** 最后登录时间 */ @Excel(name = "最后登录时间", width = 30, dateFormat = "yyyy-MM-dd HH:mm:ss", type = Type.EXPORT) + @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss") + @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss") private Date loginDate; /** 部门对象 */ diff --git a/ruoyi-common/ruoyi-common-core/src/main/java/com/xhpc/common/core/web/domain/BaseEntity.java b/ruoyi-common/ruoyi-common-core/src/main/java/com/xhpc/common/core/web/domain/BaseEntity.java index b102225e..a519fd36 100644 --- a/ruoyi-common/ruoyi-common-core/src/main/java/com/xhpc/common/core/web/domain/BaseEntity.java +++ b/ruoyi-common/ruoyi-common-core/src/main/java/com/xhpc/common/core/web/domain/BaseEntity.java @@ -1,10 +1,12 @@ package com.xhpc.common.core.web.domain; +import com.fasterxml.jackson.annotation.JsonFormat; +import org.springframework.format.annotation.DateTimeFormat; + import java.io.Serializable; import java.util.Date; import java.util.HashMap; import java.util.Map; -import com.fasterxml.jackson.annotation.JsonFormat; /** * Entity基类 @@ -23,6 +25,7 @@ public class BaseEntity implements Serializable /** 创建时间 */ @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss") + @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss") private Date createTime; /** 更新者 */ @@ -30,6 +33,7 @@ public class BaseEntity implements Serializable /** 更新时间 */ @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss") + @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss") private Date updateTime; /** 备注 */ diff --git a/xhpc-modules/xhpc-order/src/main/java/com/xhpc/order/aspect/DaoAspect.java b/xhpc-modules/xhpc-order/src/main/java/com/xhpc/order/aspect/DaoAspect.java index 1c81e7d3..220c5625 100644 --- a/xhpc-modules/xhpc-order/src/main/java/com/xhpc/order/aspect/DaoAspect.java +++ b/xhpc-modules/xhpc-order/src/main/java/com/xhpc/order/aspect/DaoAspect.java @@ -1,7 +1,6 @@ package com.xhpc.order.aspect; -import com.xhpc.common.core.utils.DateUtils; import com.xhpc.common.core.utils.SecurityUtils; import com.xhpc.common.core.utils.StringUtils; import com.xhpc.system.api.model.LoginUser; @@ -16,6 +15,7 @@ import org.springframework.web.context.request.RequestContextHolder; import org.springframework.web.context.request.ServletRequestAttributes; import javax.servlet.http.HttpServletRequest; +import java.util.Date; /* * TODO AO切面,插入创建人,创建时间,修改人,修改时间 @@ -26,9 +26,9 @@ import javax.servlet.http.HttpServletRequest; @Component @Configuration public class DaoAspect { - private static final String CREATE_USER = "createUser"; + private static final String CREATE_USER = "createBy"; private static final String CREATE_TIME = "createTime"; - private static final String UPDATE_USER = "updateUser"; + private static final String UPDATE_USER = "updateBy"; private static final String UPDATE_TIME = "updateTime"; @Pointcut("execution(* com.xhpc..*.update*(..))") @@ -68,7 +68,7 @@ public class DaoAspect { BeanUtils.setProperty(arg, UPDATE_USER, userName); } if (isProperty(arg, UPDATE_TIME) && StringUtils.isNull(BeanUtils.getProperty(arg, UPDATE_TIME))) { - BeanUtils.setProperty(arg, UPDATE_TIME, DateUtils.getTime()); + BeanUtils.setProperty(arg, UPDATE_TIME, new Date()); } } } @@ -104,6 +104,7 @@ public class DaoAspect { if (StringUtils.isNull(userName)) { userName = "admin"; } + Date date = new Date(); if (isProperty(arg, CREATE_USER) && StringUtils.isNull(BeanUtils.getProperty(arg, CREATE_USER))) { BeanUtils.setProperty(arg, CREATE_USER, userName); } @@ -112,10 +113,10 @@ public class DaoAspect { } if (isProperty(arg, CREATE_TIME) && StringUtils.isNull(BeanUtils.getProperty(arg, CREATE_TIME))) { - BeanUtils.setProperty(arg, CREATE_TIME, DateUtils.getTime()); + BeanUtils.setProperty(arg, CREATE_TIME, date); } if (isProperty(arg, UPDATE_TIME) && StringUtils.isNull(BeanUtils.getProperty(arg, UPDATE_TIME))) { - BeanUtils.setProperty(arg, UPDATE_TIME, DateUtils.getTime()); + BeanUtils.setProperty(arg, UPDATE_TIME, date); } } } diff --git a/xhpc-modules/xhpc-payment/src/main/java/com/xhpc/payment/aspect/DaoAspect.java b/xhpc-modules/xhpc-payment/src/main/java/com/xhpc/payment/aspect/DaoAspect.java index c3a604ae..4d08f162 100644 --- a/xhpc-modules/xhpc-payment/src/main/java/com/xhpc/payment/aspect/DaoAspect.java +++ b/xhpc-modules/xhpc-payment/src/main/java/com/xhpc/payment/aspect/DaoAspect.java @@ -1,7 +1,6 @@ package com.xhpc.payment.aspect; -import com.xhpc.common.core.utils.DateUtils; import com.xhpc.common.core.utils.SecurityUtils; import com.xhpc.common.core.utils.StringUtils; import com.xhpc.system.api.model.LoginUser; @@ -16,6 +15,7 @@ import org.springframework.web.context.request.RequestContextHolder; import org.springframework.web.context.request.ServletRequestAttributes; import javax.servlet.http.HttpServletRequest; +import java.util.Date; /* * TODO AO切面,插入创建人,创建时间,修改人,修改时间 @@ -26,9 +26,9 @@ import javax.servlet.http.HttpServletRequest; @Component @Configuration public class DaoAspect { - private static final String CREATE_USER = "createUser"; + private static final String CREATE_USER = "createBy"; private static final String CREATE_TIME = "createTime"; - private static final String UPDATE_USER = "updateUser"; + private static final String UPDATE_USER = "updateBy"; private static final String UPDATE_TIME = "updateTime"; @Pointcut("execution(* com.xhpc..*.update*(..))") @@ -68,7 +68,7 @@ public class DaoAspect { BeanUtils.setProperty(arg, UPDATE_USER, userName); } if (isProperty(arg, UPDATE_TIME) && StringUtils.isNull(BeanUtils.getProperty(arg, UPDATE_TIME))) { - BeanUtils.setProperty(arg, UPDATE_TIME, DateUtils.getTime()); + BeanUtils.setProperty(arg, UPDATE_TIME, new Date()); } } } @@ -104,6 +104,7 @@ public class DaoAspect { if (StringUtils.isNull(userName)) { userName = "admin"; } + Date date = new Date(); if (isProperty(arg, CREATE_USER) && StringUtils.isNull(BeanUtils.getProperty(arg, CREATE_USER))) { BeanUtils.setProperty(arg, CREATE_USER, userName); } @@ -112,10 +113,10 @@ public class DaoAspect { } if (isProperty(arg, CREATE_TIME) && StringUtils.isNull(BeanUtils.getProperty(arg, CREATE_TIME))) { - BeanUtils.setProperty(arg, CREATE_TIME, DateUtils.getTime()); + BeanUtils.setProperty(arg, CREATE_TIME, date); } if (isProperty(arg, UPDATE_TIME) && StringUtils.isNull(BeanUtils.getProperty(arg, UPDATE_TIME))) { - BeanUtils.setProperty(arg, UPDATE_TIME, DateUtils.getTime()); + BeanUtils.setProperty(arg, UPDATE_TIME, date); } } } diff --git a/xhpc-modules/xhpc-user/src/main/java/com/xhpc/user/aspect/DaoAspect.java b/xhpc-modules/xhpc-user/src/main/java/com/xhpc/user/aspect/DaoAspect.java index 70b46a41..fe8c75e1 100644 --- a/xhpc-modules/xhpc-user/src/main/java/com/xhpc/user/aspect/DaoAspect.java +++ b/xhpc-modules/xhpc-user/src/main/java/com/xhpc/user/aspect/DaoAspect.java @@ -1,7 +1,6 @@ package com.xhpc.user.aspect; -import com.xhpc.common.core.utils.DateUtils; import com.xhpc.common.core.utils.SecurityUtils; import com.xhpc.common.core.utils.StringUtils; import com.xhpc.system.api.model.LoginUser; @@ -27,9 +26,9 @@ import java.util.Date; @Component @Configuration public class DaoAspect { - private static final String CREATE_BY = "create_by"; + private static final String CREATE_BY = "createBy"; private static final String CREATE_TIME = "createTime"; - private static final String UPDATE_BY = "update_by"; + private static final String UPDATE_BY = "updateBy"; private static final String UPDATE_TIME = "updateTime"; @Pointcut("execution(* com.xhpc..*.update*(..))") @@ -69,7 +68,7 @@ public class DaoAspect { BeanUtils.setProperty(arg, UPDATE_BY, userName); } if (isProperty(arg, UPDATE_TIME) && StringUtils.isNull(BeanUtils.getProperty(arg, UPDATE_TIME))) { - BeanUtils.setProperty(arg, UPDATE_TIME, DateUtils.getTime()); + BeanUtils.setProperty(arg, UPDATE_TIME, new Date()); } } } @@ -114,10 +113,10 @@ public class DaoAspect { } if (isProperty(arg, CREATE_TIME) && StringUtils.isNull(BeanUtils.getProperty(arg, CREATE_TIME))) { - BeanUtils.setProperty(arg, CREATE_TIME, DateUtils.getTime()); + BeanUtils.setProperty(arg, CREATE_TIME, date); } if (isProperty(arg, UPDATE_TIME) && StringUtils.isNull(BeanUtils.getProperty(arg, UPDATE_TIME))) { - BeanUtils.setProperty(arg, UPDATE_TIME, DateUtils.getTime()); + BeanUtils.setProperty(arg, UPDATE_TIME, date); } } } diff --git a/xhpc-modules/xhpc-user/src/main/java/com/xhpc/user/controller/XhpcInternetUserController.java b/xhpc-modules/xhpc-user/src/main/java/com/xhpc/user/controller/XhpcInternetUserController.java index 8aa3c4dd..b536a504 100644 --- a/xhpc-modules/xhpc-user/src/main/java/com/xhpc/user/controller/XhpcInternetUserController.java +++ b/xhpc-modules/xhpc-user/src/main/java/com/xhpc/user/controller/XhpcInternetUserController.java @@ -10,7 +10,6 @@ import com.xhpc.common.core.web.page.TableDataInfo; import com.xhpc.common.security.annotation.PreAuthorize; import com.xhpc.system.api.domain.SysUser; import com.xhpc.user.domain.XhpcInternetUser; -import com.xhpc.user.openfeign.RemoteSystemService; import com.xhpc.user.service.IXhpcInternetUserService; import com.xhpc.user.service.IXhpcUserService; import io.swagger.annotations.ApiOperation; @@ -33,9 +32,6 @@ public class XhpcInternetUserController extends BaseController { @Autowired private IXhpcInternetUserService iXhpcInternetUserService; - @Autowired - private RemoteSystemService remoteSystemService; - @Autowired private IXhpcUserService iXhpcUserService; @@ -55,21 +51,15 @@ public class XhpcInternetUserController extends BaseController { sysUser.setUserType(StatusConstants.INTERNET_USER_TYPE); sysUser.setDataPowerType(StatusConstants.INTERNET_POWER_TYPE); sysUser.setCreateBy(SecurityUtils.getUsername()); - sysUser.setPassword(SecurityUtils.encryptPassword(xhpcInternetUser.getPhone())); + sysUser.setPassword(xhpcInternetUser.getPhone()); Long[] role = new Long[1]; role[0] = 4l; sysUser.setRoleIds(role); - AjaxResult ajaxResult = remoteSystemService.addUser(sysUser); - if (StringUtils.isNotNull(ajaxResult) && !"200".equals(StringUtils.valueOf(ajaxResult.get("code")))) { - return ajaxResult; + if (iXhpcUserService.checkUserNameUnique(sysUser.getUserName()) > 0) { + return AjaxResult.error("新增用户'" + sysUser.getUserName() + "'失败,登录账号已存在"); } - SysUser sysUser1 = iXhpcUserService.selectUserByUserName(sysUser.getUserName()); iXhpcInternetUserService.insert(xhpcInternetUser); - sysUser1.setInternetUserId(xhpcInternetUser.getInternetUserId()); - ajaxResult = remoteSystemService.editUser(sysUser1); - if (StringUtils.isNotNull(ajaxResult) && !"200".equals(StringUtils.valueOf(ajaxResult.get("code")))) { - return ajaxResult; - } + sysUser = iXhpcUserService.insertUser(sysUser); return AjaxResult.success(); } @@ -87,16 +77,7 @@ public class XhpcInternetUserController extends BaseController { sysUser.setUserName(xhpcInternetUser.getPhone()); sysUser.setNickName(xhpcInternetUser.getName()); sysUser.setPhonenumber(xhpcInternetUser.getPhone()); - sysUser.setDeptId(103l); - sysUser.setSex("0"); - sysUser.setUserType(StatusConstants.INTERNET_USER_TYPE); - sysUser.setDataPowerType(StatusConstants.INTERNET_POWER_TYPE); - sysUser.setCreateBy(SecurityUtils.getUsername()); - sysUser.setPassword(SecurityUtils.encryptPassword(xhpcInternetUser.getPhone())); - AjaxResult ajaxResult = remoteSystemService.editUser(sysUser); - if (StringUtils.isNotNull(ajaxResult) && !"200".equals(StringUtils.valueOf(ajaxResult.get("code")))) { - return ajaxResult; - } + iXhpcUserService.updateUser(sysUser); return toAjax(iXhpcInternetUserService.update(xhpcInternetUser)); } diff --git a/xhpc-modules/xhpc-user/src/main/java/com/xhpc/user/controller/XhpcOperatorController.java b/xhpc-modules/xhpc-user/src/main/java/com/xhpc/user/controller/XhpcOperatorController.java index 21fde093..94d870d8 100644 --- a/xhpc-modules/xhpc-user/src/main/java/com/xhpc/user/controller/XhpcOperatorController.java +++ b/xhpc-modules/xhpc-user/src/main/java/com/xhpc/user/controller/XhpcOperatorController.java @@ -1,8 +1,6 @@ package com.xhpc.user.controller; import com.xhpc.common.core.constant.HttpStatus; -import com.xhpc.common.core.constant.StatusConstants; -import com.xhpc.common.core.constant.UserConstants; import com.xhpc.common.core.utils.SecurityUtils; import com.xhpc.common.core.utils.StringUtils; import com.xhpc.common.core.web.controller.BaseController; @@ -11,7 +9,6 @@ import com.xhpc.common.core.web.page.TableDataInfo; import com.xhpc.common.security.annotation.PreAuthorize; import com.xhpc.system.api.domain.SysUser; import com.xhpc.user.domain.XhpcOperator; -import com.xhpc.user.openfeign.RemoteSystemService; import com.xhpc.user.service.IXhpcOperatorService; import com.xhpc.user.service.IXhpcUserService; import io.swagger.annotations.ApiOperation; @@ -34,9 +31,6 @@ public class XhpcOperatorController extends BaseController { @Autowired private IXhpcOperatorService iXhpcOperatorService; - @Autowired - private RemoteSystemService remoteSystemService; - @Autowired private IXhpcUserService iXhpcUserService; @@ -57,24 +51,16 @@ public class XhpcOperatorController extends BaseController { sysUser.setUserType("01"); sysUser.setDataPowerType(1); sysUser.setCreateBy(SecurityUtils.getUsername()); - sysUser.setPassword(SecurityUtils.encryptPassword(xhpcOperator.getPhone())); + sysUser.setPassword(xhpcOperator.getPhone()); Long[] roleIds = new Long[1]; roleIds[0] = 3l; sysUser.setRoleIds(roleIds); - AjaxResult ajaxResult = remoteSystemService.addUser(sysUser); - if (StringUtils.isNotNull(ajaxResult) && !"200".equals(StringUtils.valueOf(ajaxResult.get("code")))) { - return ajaxResult; - } - if (UserConstants.NOT_UNIQUE.equals(iXhpcOperatorService.checkAccountUnique(xhpcOperator))) { - return AjaxResult.error(HttpStatus.ALREADY_EXISTING, "用户'" + xhpcOperator.getPhone() + "'失败,登录账号已存在"); + if (iXhpcUserService.checkUserNameUnique(sysUser.getUserName()) > 0) { + return AjaxResult.error("新增用户'" + sysUser.getUserName() + "'失败,登录账号已存在"); } iXhpcOperatorService.insert(xhpcOperator); - SysUser sysUser1 = iXhpcUserService.selectUserByUserName(sysUser.getUserName()); - sysUser1.setOperatorId(xhpcOperator.getOperatorId()); - ajaxResult = remoteSystemService.editUser(sysUser1); - if (StringUtils.isNotNull(ajaxResult) && !"200".equals(StringUtils.valueOf(ajaxResult.get("code")))) { - return ajaxResult; - } + sysUser.setOperatorId(xhpcOperator.getOperatorId()); + sysUser = iXhpcUserService.insertUser(sysUser); return AjaxResult.success(); } @@ -89,23 +75,10 @@ public class XhpcOperatorController extends BaseController { return AjaxResult.error(HttpStatus.NOT_NULL, "运营商id不能为空"); } SysUser sysUser = new SysUser(); - sysUser.setUserName(xhpcOperator.getPhone()); sysUser.setNickName(xhpcOperator.getName()); sysUser.setEmail(xhpcOperator.getEmail()); sysUser.setPhonenumber(xhpcOperator.getPhone()); - sysUser.setDeptId(103l); - sysUser.setSex("0"); - sysUser.setDataPowerType(StatusConstants.OPERATION_POWER_TYPE); - sysUser.setUserType(StatusConstants.OPERATION_USER_TYPE); - sysUser.setCreateBy(SecurityUtils.getUsername()); - sysUser.setPassword(SecurityUtils.encryptPassword(xhpcOperator.getPhone())); - AjaxResult ajaxResult = remoteSystemService.editUser(sysUser); - if (StringUtils.isNotNull(ajaxResult) && !"200".equals(StringUtils.valueOf(ajaxResult.get("code")))) { - return ajaxResult; - } - if (UserConstants.NOT_UNIQUE.equals(iXhpcOperatorService.checkAccountUnique(xhpcOperator))) { - return AjaxResult.error(HttpStatus.ALREADY_EXISTING, "用户'" + xhpcOperator.getPhone() + "'失败,登录账号已存在"); - } + iXhpcUserService.updateUser(sysUser); return toAjax(iXhpcOperatorService.update(xhpcOperator)); } diff --git a/xhpc-modules/xhpc-user/src/main/java/com/xhpc/user/controller/XhpcUserController.java b/xhpc-modules/xhpc-user/src/main/java/com/xhpc/user/controller/XhpcUserController.java index 4bcb9bb7..b63d3b3c 100644 --- a/xhpc-modules/xhpc-user/src/main/java/com/xhpc/user/controller/XhpcUserController.java +++ b/xhpc-modules/xhpc-user/src/main/java/com/xhpc/user/controller/XhpcUserController.java @@ -10,7 +10,6 @@ import com.xhpc.common.core.web.page.TableDataInfo; import com.xhpc.common.security.annotation.PreAuthorize; import com.xhpc.system.api.domain.SysRole; import com.xhpc.system.api.domain.SysUser; -import com.xhpc.user.openfeign.RemoteSystemService; import com.xhpc.user.service.IXhpcOperatorService; import com.xhpc.user.service.IXhpcUserService; import io.swagger.annotations.ApiOperation; @@ -32,9 +31,6 @@ public class XhpcUserController extends BaseController { @Autowired private IXhpcUserService iXhpcUserService; - @Autowired - private RemoteSystemService remoteSystemService; - @Autowired private IXhpcOperatorService iXhpcOperatorService; @@ -56,27 +52,24 @@ public class XhpcUserController extends BaseController { @PreAuthorize(hasPermi = "user:pc:add") @PostMapping("/pc/add") public AjaxResult pcAdd(@RequestBody SysUser sysUser) { + if (iXhpcUserService.checkUserNameUnique(sysUser.getUserName()) > 0) { + return AjaxResult.error("新增用户'" + sysUser.getUserName() + "'失败,登录账号已存在"); + } SysRole role = new SysRole(); role.setRoleName(sysUser.getUserName()); role.setRoleKey(sysUser.getUserName()); - AjaxResult ajaxResult = remoteSystemService.addRole(role); - if (StringUtils.isNotNull(ajaxResult) && !"200".equals(StringUtils.valueOf(ajaxResult.get("code")))) { - return ajaxResult; - } - role = iXhpcUserService.selectUserByRoleName(sysUser.getUserName()); + role.setRoleSort("1"); + iXhpcUserService.insertRole(role); sysUser.setPhonenumber(sysUser.getUserName()); sysUser.setDeptId(103l); sysUser.setDataPowerType(StatusConstants.SON_POWER_TYPE); sysUser.setUserType(StatusConstants.SYSTEM_USER_TYPE); sysUser.setCreateBy(SecurityUtils.getUsername()); + sysUser.setPassword(sysUser.getUserName()); Long[] roles = new Long[1]; roles[0] = role.getRoleId(); sysUser.setRoleIds(roles); - ajaxResult = remoteSystemService.addUser(sysUser); - if (StringUtils.isNotNull(ajaxResult) && !"200".equals(StringUtils.valueOf(ajaxResult.get("code")))) { - return ajaxResult; - } - + iXhpcUserService.insertUser(sysUser); return AjaxResult.success(); } @@ -90,10 +83,10 @@ public class XhpcUserController extends BaseController { if (null == sysUser.getUserId()) { return AjaxResult.error(HttpStatus.NOT_NULL, "用户id不能为空"); } - AjaxResult ajaxResult = remoteSystemService.editUser(sysUser); - if (StringUtils.isNotNull(ajaxResult) && !"200".equals(StringUtils.valueOf(ajaxResult.get("code")))) { - return ajaxResult; + if (iXhpcUserService.checkUserNameUnique(sysUser.getUserName()) > 0) { + return AjaxResult.error("新增用户'" + sysUser.getUserName() + "'失败,登录账号已存在"); } + iXhpcUserService.insertUser(sysUser); return AjaxResult.success(); } @@ -130,14 +123,14 @@ public class XhpcUserController extends BaseController { if (null == sysUser.getOperatorId()) { return AjaxResult.error(HttpStatus.NOT_NULL, "所属运营商不能为空"); } + if (iXhpcUserService.checkUserNameUnique(sysUser.getUserName()) > 0) { + return AjaxResult.error("新增用户'" + sysUser.getUserName() + "'失败,登录账号已存在"); + } SysRole role = new SysRole(); role.setRoleName(sysUser.getUserName()); role.setRoleKey(sysUser.getUserName()); - AjaxResult ajaxResult = remoteSystemService.addRole(role); - if (StringUtils.isNotNull(ajaxResult) && !"200".equals(StringUtils.valueOf(ajaxResult.get("code")))) { - return ajaxResult; - } - role = iXhpcUserService.selectUserByRoleName(sysUser.getUserName()); + role.setRoleSort("1"); + iXhpcUserService.insertRole(role); sysUser.setPhonenumber(sysUser.getUserName()); sysUser.setDeptId(103l); sysUser.setDataPowerType(StatusConstants.SON_POWER_TYPE); @@ -146,11 +139,8 @@ public class XhpcUserController extends BaseController { Long[] roles = new Long[1]; roles[0] = role.getRoleId(); sysUser.setRoleIds(roles); - ajaxResult = remoteSystemService.addUser(sysUser); - if (StringUtils.isNotNull(ajaxResult) && !"200".equals(StringUtils.valueOf(ajaxResult.get("code")))) { - return ajaxResult; - } - + sysUser.setPassword(sysUser.getUserName()); + iXhpcUserService.insertUser(sysUser); return AjaxResult.success(); } @@ -167,10 +157,7 @@ public class XhpcUserController extends BaseController { if (null == sysUser.getOperatorId()) { return AjaxResult.error(HttpStatus.NOT_NULL, "所属运营上不能为空"); } - AjaxResult ajaxResult = remoteSystemService.editUser(sysUser); - if (StringUtils.isNotNull(ajaxResult) && !"200".equals(StringUtils.valueOf(ajaxResult.get("code")))) { - return ajaxResult; - } + iXhpcUserService.updateUser(sysUser); return AjaxResult.success(); } diff --git a/xhpc-modules/xhpc-user/src/main/java/com/xhpc/user/domain/SysUserRole.java b/xhpc-modules/xhpc-user/src/main/java/com/xhpc/user/domain/SysUserRole.java new file mode 100644 index 00000000..7afd1eb8 --- /dev/null +++ b/xhpc-modules/xhpc-user/src/main/java/com/xhpc/user/domain/SysUserRole.java @@ -0,0 +1,45 @@ +package com.xhpc.user.domain; + +import org.apache.commons.lang3.builder.ToStringBuilder; +import org.apache.commons.lang3.builder.ToStringStyle; + +/** + * 用户和角色关联 sys_user_role + * + * @author ruoyi + */ +public class SysUserRole { + /** + * 用户ID + */ + private Long userId; + + /** + * 角色ID + */ + private Long roleId; + + public Long getUserId() { + return userId; + } + + public void setUserId(Long userId) { + this.userId = userId; + } + + public Long getRoleId() { + return roleId; + } + + public void setRoleId(Long roleId) { + this.roleId = roleId; + } + + @Override + public String toString() { + return new ToStringBuilder(this, ToStringStyle.MULTI_LINE_STYLE) + .append("userId", getUserId()) + .append("roleId", getRoleId()) + .toString(); + } +} diff --git a/xhpc-modules/xhpc-user/src/main/java/com/xhpc/user/mapper/XhpcUserMapper.java b/xhpc-modules/xhpc-user/src/main/java/com/xhpc/user/mapper/XhpcUserMapper.java index 33c47944..aa5b13b3 100644 --- a/xhpc-modules/xhpc-user/src/main/java/com/xhpc/user/mapper/XhpcUserMapper.java +++ b/xhpc-modules/xhpc-user/src/main/java/com/xhpc/user/mapper/XhpcUserMapper.java @@ -2,6 +2,7 @@ package com.xhpc.user.mapper; import com.xhpc.system.api.domain.SysRole; import com.xhpc.system.api.domain.SysUser; +import com.xhpc.user.domain.SysUserRole; import org.apache.ibatis.annotations.Param; import java.util.List; @@ -62,7 +63,7 @@ public interface XhpcUserMapper { * @param nickName 用户昵称 * @return 结果 */ - public List> selectOperatorUserList(@Param("userName") String userName, @Param("nickName") String nickName, @Param("operatorId") Long operatorId, @Param("createBy") String createBy); + public List> selectOperatorUserList(@Param("userName") String userName, @Param("nickName") String nickName, @Param("operatorId") Long operatorId); /** * 运营商用户详情 @@ -95,4 +96,46 @@ public interface XhpcUserMapper { * @return 结果 */ public SysRole selectUserByRoleName(@Param("userName") String userName); + + + /** + * 新增角色信息 + * + * @param role 角色信息 + * @return 结果 + */ + public int insertRole(SysRole role); + + /** + * 新增用户信息 + * + * @param user 用户信息 + * @return 结果 + */ + public int insertUser(SysUser user); + + /** + * 批量新增用户角色信息 + * + * @param userRoleList 用户角色列表 + * @return 结果 + */ + public int batchUserRole(List userRoleList); + + /** + * 校验用户名称是否唯一 + * + * @param userName 用户名称 + * @return 结果 + */ + public int checkUserNameUnique(String userName); + + /** + * 修改用户信息 + * + * @param user 用户信息 + * @return 结果 + */ + public int updateUser(SysUser user); + } diff --git a/xhpc-modules/xhpc-user/src/main/java/com/xhpc/user/openfeign/RemoteSystemFallbackFactory.java b/xhpc-modules/xhpc-user/src/main/java/com/xhpc/user/openfeign/RemoteSystemFallbackFactory.java deleted file mode 100644 index 530c44fb..00000000 --- a/xhpc-modules/xhpc-user/src/main/java/com/xhpc/user/openfeign/RemoteSystemFallbackFactory.java +++ /dev/null @@ -1,39 +0,0 @@ -package com.xhpc.user.openfeign; - -import com.xhpc.common.core.web.domain.AjaxResult; -import com.xhpc.system.api.domain.SysRole; -import com.xhpc.system.api.domain.SysUser; -import org.slf4j.Logger; -import org.slf4j.LoggerFactory; -import org.springframework.cloud.openfeign.FallbackFactory; -import org.springframework.stereotype.Component; - -/** - * 用户服务降级处理 - * - * @author ruoyi - */ -@Component -public class RemoteSystemFallbackFactory implements FallbackFactory { - private static final Logger log = LoggerFactory.getLogger(RemoteSystemFallbackFactory.class); - - @Override - public RemoteSystemService create(Throwable throwable) { - log.error("用户服务调用失败:{}", throwable.getMessage()); - return new RemoteSystemService() { - @Override - public AjaxResult addUser(SysUser sysUser) { - return AjaxResult.error(throwable.getMessage()); - } - - @Override - public AjaxResult editUser(SysUser sysUser) { - return AjaxResult.error(throwable.getMessage()); - } - @Override - public AjaxResult addRole(SysRole role) { - return AjaxResult.error(throwable.getMessage()); - } - }; - } -} diff --git a/xhpc-modules/xhpc-user/src/main/java/com/xhpc/user/openfeign/RemoteSystemService.java b/xhpc-modules/xhpc-user/src/main/java/com/xhpc/user/openfeign/RemoteSystemService.java deleted file mode 100644 index c530817d..00000000 --- a/xhpc-modules/xhpc-user/src/main/java/com/xhpc/user/openfeign/RemoteSystemService.java +++ /dev/null @@ -1,46 +0,0 @@ -package com.xhpc.user.openfeign; - -import com.xhpc.common.core.constant.ServiceNameConstants; -import com.xhpc.common.core.web.domain.AjaxResult; -import com.xhpc.system.api.domain.SysRole; -import com.xhpc.system.api.domain.SysUser; -import org.springframework.cloud.openfeign.FeignClient; -import org.springframework.validation.annotation.Validated; -import org.springframework.web.bind.annotation.PostMapping; -import org.springframework.web.bind.annotation.PutMapping; -import org.springframework.web.bind.annotation.RequestBody; - -/** - * 系统服务 - * - * @author ruoyi - */ -@FeignClient(contextId = "remoteSystemService", value = ServiceNameConstants.SYSTEM_SERVICE, fallbackFactory = RemoteSystemFallbackFactory.class) -public interface RemoteSystemService { - /** - * 新增用户 - * - * @param sysUser 用户信息 - * @return 结果 - */ - @PostMapping(value = "/user") - public AjaxResult addUser(@Validated @RequestBody SysUser sysUser); - - /** - * 新增用户 - * - * @param sysUser 用户信息 - * @return 结果 - */ - @PutMapping(value = "/user") - public AjaxResult editUser(@Validated @RequestBody SysUser sysUser); - - /** - * 新增角色 - * - * @param role 角色信息 - * @return 结果 - */ - @PostMapping(value = "/role") - public AjaxResult addRole(@Validated @RequestBody SysRole role); -} diff --git a/xhpc-modules/xhpc-user/src/main/java/com/xhpc/user/service/IXhpcUserService.java b/xhpc-modules/xhpc-user/src/main/java/com/xhpc/user/service/IXhpcUserService.java index 14551a78..0d41e13d 100644 --- a/xhpc-modules/xhpc-user/src/main/java/com/xhpc/user/service/IXhpcUserService.java +++ b/xhpc-modules/xhpc-user/src/main/java/com/xhpc/user/service/IXhpcUserService.java @@ -81,4 +81,37 @@ public interface IXhpcUserService { * @return 结果 */ public SysRole selectUserByRoleName(String userName); + + + /** + * 新增角色信息 + * + * @param role 角色信息 + * @return + */ + public int insertRole(SysRole role); + + /** + * 新增保存用户信息 + * + * @param user 用户信息 + * @return 结果 + */ + public SysUser insertUser(SysUser user); + + /** + * 登录账号是否存在 + * + * @param userName 账号 + * @return + */ + public int checkUserNameUnique(String userName); + + /** + * 修改保存用户信息 + * + * @param user 用户信息 + * @return 结果 + */ + public int updateUser(SysUser user); } diff --git a/xhpc-modules/xhpc-user/src/main/java/com/xhpc/user/service/impl/XhpcAppUserServiceImpl.java b/xhpc-modules/xhpc-user/src/main/java/com/xhpc/user/service/impl/XhpcAppUserServiceImpl.java index 98cced74..9618d424 100644 --- a/xhpc-modules/xhpc-user/src/main/java/com/xhpc/user/service/impl/XhpcAppUserServiceImpl.java +++ b/xhpc-modules/xhpc-user/src/main/java/com/xhpc/user/service/impl/XhpcAppUserServiceImpl.java @@ -17,6 +17,7 @@ import com.xhpc.user.mapper.XhpcAppUserMapper; import com.xhpc.user.service.IXhpcAppUserUserService; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; +import org.springframework.transaction.annotation.Transactional; import javax.servlet.http.HttpServletRequest; import java.util.List; @@ -48,6 +49,7 @@ public class XhpcAppUserServiceImpl implements IXhpcAppUserUserService { * @param xhpcAppUser C端用户 */ @Override + @Transactional public int update(XhpcAppUser xhpcAppUser) { return xhpcAppUserMapper.update(xhpcAppUser); } @@ -98,6 +100,7 @@ public class XhpcAppUserServiceImpl implements IXhpcAppUserUserService { * @return 结果 */ @Override + @Transactional public R register(Map map) { String code = StringUtils.valueOf(map.get("code")); String phone = StringUtils.valueOf(map.get("phone")); @@ -164,6 +167,7 @@ public class XhpcAppUserServiceImpl implements IXhpcAppUserUserService { /** * 登录 */ + @Transactional public R appLogin(String username, String type, String openid) { // 用户名或密码为空 错误 if (StringUtils.isAnyBlank(username)) { @@ -213,6 +217,7 @@ public class XhpcAppUserServiceImpl implements IXhpcAppUserUserService { * @return 结果 */ @Override + @Transactional public R loginOut(HttpServletRequest request, String type) { LoginUser loginUser = tokenService.getLoginUser(request); if (StringUtils.isNotNull(loginUser)) { @@ -278,6 +283,7 @@ public class XhpcAppUserServiceImpl implements IXhpcAppUserUserService { * @return */ @Override + @Transactional public void logout(Long appUserId) { xhpcAppUserMapper.deleteById(appUserId); } diff --git a/xhpc-modules/xhpc-user/src/main/java/com/xhpc/user/service/impl/XhpcUserServiceImpl.java b/xhpc-modules/xhpc-user/src/main/java/com/xhpc/user/service/impl/XhpcUserServiceImpl.java index 4d24f056..3b7b32a0 100644 --- a/xhpc-modules/xhpc-user/src/main/java/com/xhpc/user/service/impl/XhpcUserServiceImpl.java +++ b/xhpc-modules/xhpc-user/src/main/java/com/xhpc/user/service/impl/XhpcUserServiceImpl.java @@ -3,13 +3,17 @@ package com.xhpc.user.service.impl; import com.xhpc.common.core.constant.StatusConstants; import com.xhpc.common.core.constant.UserConstants; import com.xhpc.common.core.utils.SecurityUtils; +import com.xhpc.common.core.utils.StringUtils; import com.xhpc.system.api.domain.SysRole; import com.xhpc.system.api.domain.SysUser; +import com.xhpc.user.domain.SysUserRole; import com.xhpc.user.mapper.XhpcUserMapper; import com.xhpc.user.service.IXhpcUserService; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; +import org.springframework.transaction.annotation.Transactional; +import java.util.ArrayList; import java.util.List; import java.util.Map; @@ -70,9 +74,9 @@ public class XhpcUserServiceImpl implements IXhpcUserService { Long userId = SecurityUtils.getUserId(); SysUser sysUser = xhpcUserMapper.selectUserByUserId(userId); if (StatusConstants.SYSTEM_USER_TYPE.equals(sysUser.getUserType())) { - return xhpcUserMapper.selectOperatorUserList(userName, nickName, operatorId, null); + return xhpcUserMapper.selectOperatorUserList(userName, nickName, operatorId); } else { - return xhpcUserMapper.selectOperatorUserList(userName, nickName, operatorId, sysUser.getUserName()); + return xhpcUserMapper.selectOperatorUserList(userName, nickName, sysUser.getOperatorId()); } } @@ -121,4 +125,80 @@ public class XhpcUserServiceImpl implements IXhpcUserService { public SysRole selectUserByRoleName(String userName) { return xhpcUserMapper.selectUserByRoleName(userName); } + + /** + * 新增角色信息 + * + * @param role 角色信息 + * @return + */ + @Override + public int insertRole(SysRole role) { + return xhpcUserMapper.insertRole(role); + } + + + /** + * 登录账号是否存在 + * + * @param userName 账号 + * @return + */ + @Override + public int checkUserNameUnique(String userName) { + return xhpcUserMapper.checkUserNameUnique(userName); + } + + + /** + * 新增保存用户信息 + * + * @param user 用户信息 + * @return 结果 + */ + @Override + @Transactional + public SysUser insertUser(SysUser user) { + user.setCreateBy(SecurityUtils.getUsername()); + user.setPassword(SecurityUtils.encryptPassword(user.getPassword())); + // 新增用户信息 + xhpcUserMapper.insertUser(user); + // 新增用户与角色管理 + insertUserRole(user); + return user; + } + + /** + * 新增用户角色信息 + * + * @param user 用户对象 + */ + public void insertUserRole(SysUser user) { + Long[] roles = user.getRoleIds(); + if (StringUtils.isNotNull(roles)) { + // 新增用户与角色管理 + List list = new ArrayList(); + for (Long roleId : roles) { + SysUserRole ur = new SysUserRole(); + ur.setUserId(user.getUserId()); + ur.setRoleId(roleId); + list.add(ur); + } + if (list.size() > 0) { + xhpcUserMapper.batchUserRole(list); + } + } + } + + /** + * 修改保存用户信息 + * + * @param user 用户信息 + * @return 结果 + */ + @Override + @Transactional + public int updateUser(SysUser user) { + return xhpcUserMapper.updateUser(user); + } } diff --git a/xhpc-modules/xhpc-user/src/main/resources/mapper/XhpcUserMapper.xml b/xhpc-modules/xhpc-user/src/main/resources/mapper/XhpcUserMapper.xml index 0aedb98d..58ac629f 100644 --- a/xhpc-modules/xhpc-user/src/main/resources/mapper/XhpcUserMapper.xml +++ b/xhpc-modules/xhpc-user/src/main/resources/mapper/XhpcUserMapper.xml @@ -115,9 +115,6 @@ and operator_id = #{operatorId} - - and create_by = #{createBy} - ORDER BY su.update_time DESC @@ -205,4 +202,109 @@ from sys_role where role_name = #{userName} ORDER BY create_time DESC LIMIT 1 + + + insert into sys_role( + role_id, + role_name, + role_key, + role_sort, + data_scope, + menu_check_strictly, + dept_check_strictly, + status, + remark, + create_by, + create_time + )values( + #{roleId}, + #{roleName}, + #{roleKey}, + #{roleSort}, + #{dataScope}, + #{menuCheckStrictly}, + #{deptCheckStrictly}, + #{status}, + #{remark}, + #{createBy}, + sysdate() + ) + + + + insert into sys_user( + user_id, + dept_id, + user_name, + user_type, + nick_name, + email, + avatar, + phonenumber, + operator_id, + internet_user_id, + data_power_type, + sex, + password, + status, + create_by, + remark, + create_time + )values( + #{userId}, + #{deptId}, + #{userName}, + #{userTpe}, + #{nickName}, + #{email}, + #{avatar}, + #{phonenumber}, + #{operatorId}, + #{internetUserId}, + #{dataPowerType}, + #{sex}, + #{password}, + #{status}, + #{createBy}, + #{remark}, + sysdate() + ) + + + + update sys_user + + dept_id = #{deptId}, + user_name = #{userName}, + nick_name = #{nickName}, + email = #{email}, + phonenumber = #{phonenumber}, + operator_id = #{operatorId}, + internet_user_id = #{internetUserId}, + data_power_type = #{dataPowerType}, + sex = #{sex}, + avatar = #{avatar}, + password = #{password}, + status = #{status}, + login_ip = #{loginIp}, + login_date = #{loginDate}, + update_by = #{updateBy}, + remark = #{remark}, + update_time = sysdate() + + where user_id = #{userId} + + + + insert into sys_user_role(user_id, role_id) values + + (#{item.userId},#{item.roleId}) + + + +