From 1873d34bbf915b87bfd23a99c87e0de6fc6ae684 Mon Sep 17 00:00:00 2001 From: toesbieya <1647775459@qq.com> Date: Thu, 20 Aug 2020 19:17:17 +0800 Subject: [PATCH] =?UTF-8?q?=E5=A2=9E=E5=8A=A0=E7=94=A8=E6=88=B7=E6=98=B5?= =?UTF-8?q?=E7=A7=B0=E5=AD=97=E6=AE=B5?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../jxc/common/model/entity/SysUser.java | 3 +- .../jxc/gateway/filter/SecurityFilter.java | 1 + java/cloud/nacos-config/jxc-gateway.yml | 3 +- .../common/aspect/RestExceptionAspect.java | 10 ++++ .../jxc/web/common/util/ThreadUtil.java | 2 +- .../account/controller/AccountController.java | 15 ++++-- .../jxc/account/service/AccountService.java | 35 +++++++++---- .../jxc/account/vo/LoginSuccessInfo.java | 2 +- .../jxc/account/vo/RegisterParam.java | 6 +++ .../controller/PurchaseInboundController.java | 4 +- .../controller/PurchaseOrderController.java | 4 +- .../doc/controller/SellOrderController.java | 4 +- .../controller/SellOutboundController.java | 4 +- .../doc/service/PurchaseInboundService.java | 8 +-- .../jxc/doc/service/PurchaseOrderService.java | 8 +-- .../jxc/doc/service/SellOrderService.java | 8 +-- .../jxc/doc/service/SellOutboundService.java | 8 +-- .../message/controller/ManageController.java | 6 +-- .../jxc/system/controller/RoleController.java | 2 +- .../jxc/system/controller/UserController.java | 14 +++-- .../jxc/system/model/vo/UserSearch.java | 3 +- .../jxc/system/service/UserService.java | 45 ++++++++++------ .../jxc/aspect/RestExceptionAspect.java | 10 ++++ .../cn/toesbieya/jxc/config/WebConfig.java | 2 +- .../jxc/controller/AccountController.java | 15 ++++-- .../doc/PurchaseInboundController.java | 4 +- .../doc/PurchaseOrderController.java | 4 +- .../controller/doc/SellOrderController.java | 4 +- .../doc/SellOutboundController.java | 4 +- .../jxc/controller/msg/ManageController.java | 6 +-- .../jxc/controller/sys/RoleController.java | 2 +- .../jxc/controller/sys/UserController.java | 14 +++-- .../jxc/interceptor/SecurityInterceptor.java | 3 +- .../toesbieya/jxc/model/entity/SysUser.java | 3 +- .../jxc/model/vo/LoginSuccessInfo.java | 2 +- .../toesbieya/jxc/model/vo/RegisterParam.java | 6 +++ .../jxc/model/vo/search/UserSearch.java | 3 +- .../toesbieya/jxc/service/AccountService.java | 33 ++++++++---- .../doc/BizPurchaseInboundService.java | 8 +-- .../service/doc/BizPurchaseOrderService.java | 8 +-- .../jxc/service/doc/BizSellOrderService.java | 8 +-- .../service/doc/BizSellOutboundService.java | 8 +-- .../jxc/service/sys/SysUserService.java | 45 ++++++++++------ .../cn/toesbieya/jxc/util/ThreadUtil.java | 2 +- vue/src/api/account/index.js | 10 +++- vue/src/config/index.js | 2 +- vue/src/store/module/socket.js | 2 +- vue/src/view/app/login/RegisterForm.vue | 38 +++++++++++--- .../view/system/user/component/EditDialog.vue | 51 ++++++++++++------- vue/src/view/system/user/indexPage.vue | 23 +++++---- .../view/userCenter/component/UserCard.vue | 12 +++-- 51 files changed, 352 insertions(+), 175 deletions(-) diff --git a/java/cloud/common/src/main/java/cn/toesbieya/jxc/common/model/entity/SysUser.java b/java/cloud/common/src/main/java/cn/toesbieya/jxc/common/model/entity/SysUser.java index 89a49dd..a695e99 100644 --- a/java/cloud/common/src/main/java/cn/toesbieya/jxc/common/model/entity/SysUser.java +++ b/java/cloud/common/src/main/java/cn/toesbieya/jxc/common/model/entity/SysUser.java @@ -8,7 +8,8 @@ import java.io.Serializable; public class SysUser implements Serializable { private static final long serialVersionUID = 1L; private Integer id; - private String name; + private String loginName; + private String nickName; private String pwd; private Integer role; private String avatar; diff --git a/java/cloud/gateway/src/main/java/cn/toesbieya/jxc/gateway/filter/SecurityFilter.java b/java/cloud/gateway/src/main/java/cn/toesbieya/jxc/gateway/filter/SecurityFilter.java index dcc351c..06f279a 100644 --- a/java/cloud/gateway/src/main/java/cn/toesbieya/jxc/gateway/filter/SecurityFilter.java +++ b/java/cloud/gateway/src/main/java/cn/toesbieya/jxc/gateway/filter/SecurityFilter.java @@ -67,6 +67,7 @@ public class SecurityFilter { //没有权限 if (!ResourceConfig.authority(user, requestUrl)) { + log.warn("权限拦截,访问路径:{},用户:{}", requestUrl, user.getNickName()); return responseJSON(response, R.noPermission()); } diff --git a/java/cloud/nacos-config/jxc-gateway.yml b/java/cloud/nacos-config/jxc-gateway.yml index 563ce64..197b9ee 100644 --- a/java/cloud/nacos-config/jxc-gateway.yml +++ b/java/cloud/nacos-config/jxc-gateway.yml @@ -62,4 +62,5 @@ spring: - /account/login - /account/logout - /account/register - - /account/checkName \ No newline at end of file + - /account/checkLoginName + - /account/checkNickName \ No newline at end of file diff --git a/java/cloud/web/web-common/src/main/java/cn/toesbieya/jxc/web/common/aspect/RestExceptionAspect.java b/java/cloud/web/web-common/src/main/java/cn/toesbieya/jxc/web/common/aspect/RestExceptionAspect.java index 0d5274d..4f24288 100644 --- a/java/cloud/web/web-common/src/main/java/cn/toesbieya/jxc/web/common/aspect/RestExceptionAspect.java +++ b/java/cloud/web/web-common/src/main/java/cn/toesbieya/jxc/web/common/aspect/RestExceptionAspect.java @@ -11,7 +11,9 @@ import lombok.extern.slf4j.Slf4j; import org.apache.dubbo.config.annotation.Reference; import org.springframework.http.converter.HttpMessageNotReadableException; import org.springframework.util.StringUtils; +import org.springframework.validation.BindingResult; import org.springframework.web.HttpRequestMethodNotSupportedException; +import org.springframework.web.bind.MethodArgumentNotValidException; import org.springframework.web.bind.MissingServletRequestParameterException; import org.springframework.web.bind.annotation.ExceptionHandler; import org.springframework.web.bind.annotation.RestControllerAdvice; @@ -36,6 +38,14 @@ public class RestExceptionAspect { return R.fail("请求方法有误"); } + //校验不通过 + @ExceptionHandler(MethodArgumentNotValidException.class) + public R handleMethodArgumentNotValidException(MethodArgumentNotValidException e) { + BindingResult bindingResult = e.getBindingResult(); + String error = bindingResult.getFieldErrors().get(0).getDefaultMessage(); + return R.fail(error); + } + //@RequestParam没有匹配到值 @ExceptionHandler(MissingServletRequestParameterException.class) public R handle(MissingServletRequestParameterException e) { diff --git a/java/cloud/web/web-common/src/main/java/cn/toesbieya/jxc/web/common/util/ThreadUtil.java b/java/cloud/web/web-common/src/main/java/cn/toesbieya/jxc/web/common/util/ThreadUtil.java index 0518477..4a69604 100644 --- a/java/cloud/web/web-common/src/main/java/cn/toesbieya/jxc/web/common/util/ThreadUtil.java +++ b/java/cloud/web/web-common/src/main/java/cn/toesbieya/jxc/web/common/util/ThreadUtil.java @@ -19,7 +19,7 @@ public class ThreadUtil { RecUserAction .builder() .uid(user.getId()) - .uname(user.getName()) + .uname(user.getNickName()) .ip(IpUtil.getIp(request)) .url(request.getServletPath()) .build(); diff --git a/java/cloud/web/web-modules/account/src/main/java/cn/toesbieya/jxc/account/controller/AccountController.java b/java/cloud/web/web-modules/account/src/main/java/cn/toesbieya/jxc/account/controller/AccountController.java index 494360c..66e69a9 100644 --- a/java/cloud/web/web-modules/account/src/main/java/cn/toesbieya/jxc/account/controller/AccountController.java +++ b/java/cloud/web/web-modules/account/src/main/java/cn/toesbieya/jxc/account/controller/AccountController.java @@ -69,13 +69,22 @@ public class AccountController { return R.success("校验通过"); } - @GetMapping("checkName") - public R checkName(@RequestParam(required = false) Integer id, @RequestParam String name) { + @GetMapping("checkLoginName") + public R checkLoginName(@RequestParam(required = false) Integer id, @RequestParam String name) { if (StringUtils.isEmpty(name)) { return R.success(); } - return R.success(service.checkName(name, id) ? "该用户名已存在" : null); + return R.success(service.isLoginNameExist(name, id) ? "该登录名已存在" : null); + } + + @GetMapping("checkNickName") + public R checkNickName(@RequestParam(required = false) Integer id, @RequestParam String name) { + if (StringUtils.isEmpty(name)) { + return R.success(); + } + + return R.success(service.isNickNameExist(name, id) ? "该昵称已存在" : null); } private String validateUpdatePwdParam(PasswordUpdateParam vo) { diff --git a/java/cloud/web/web-modules/account/src/main/java/cn/toesbieya/jxc/account/service/AccountService.java b/java/cloud/web/web-modules/account/src/main/java/cn/toesbieya/jxc/account/service/AccountService.java index 20dde4f..a52cc65 100644 --- a/java/cloud/web/web-modules/account/src/main/java/cn/toesbieya/jxc/account/service/AccountService.java +++ b/java/cloud/web/web-modules/account/src/main/java/cn/toesbieya/jxc/account/service/AccountService.java @@ -52,7 +52,7 @@ public class AccountService { SysUser user = userMapper.selectOne( Wrappers.lambdaQuery(SysUser.class) - .eq(SysUser::getName, param.getUsername()) + .eq(SysUser::getLoginName, param.getUsername()) .eq(SysUser::getPwd, param.getPassword()) ); @@ -138,7 +138,7 @@ public class AccountService { RecLoginHistory .builder() .uid(user.getId()) - .uname(user.getName()) + .uname(user.getNickName()) .ip(ip) .login(true) .time(now) @@ -154,7 +154,7 @@ public class AccountService { RecLoginHistory .builder() .uid(user.getId()) - .uname(user.getName()) + .uname(user.getNickName()) .ip(ip) .login(false) .time(System.currentTimeMillis()) @@ -168,13 +168,18 @@ public class AccountService { public R register(RegisterParam param) { String name = param.getUsername(); + String nick = param.getNick(); - if (checkName(name, null)) { - return R.fail("该用户名称已存在"); + if (isLoginNameExist(name, null)) { + return R.fail("该登录名已存在"); + } + if (isNickNameExist(nick, null)) { + return R.fail("该昵称已存在"); } SysUser user = new SysUser(); - user.setName(name); + user.setLoginName(name); + user.setNickName(nick); user.setPwd(param.getPassword()); user.setRole(1); user.setDept(1); @@ -224,13 +229,23 @@ public class AccountService { return R.fail("上传头像失败"); } - //用户名重复时返回true - public boolean checkName(String name, Integer id) { + //登录名重复时返回true + public boolean isLoginNameExist(String name, Integer id) { + Integer num = userMapper.selectCount( + Wrappers.lambdaQuery(SysUser.class) + .eq(SysUser::getLoginName, name) + .ne(id != null, SysUser::getId, id) + ); + return num != null && num > 0; + } + + //用户昵称重复时返回true + public boolean isNickNameExist(String name, Integer id) { Integer num = userMapper.selectCount( Wrappers.lambdaQuery(SysUser.class) - .eq(SysUser::getName, name) + .eq(SysUser::getNickName, name) .ne(id != null, SysUser::getId, id) ); - return num == null || num.equals(0); + return num != null && num > 0; } } diff --git a/java/cloud/web/web-modules/account/src/main/java/cn/toesbieya/jxc/account/vo/LoginSuccessInfo.java b/java/cloud/web/web-modules/account/src/main/java/cn/toesbieya/jxc/account/vo/LoginSuccessInfo.java index bc99572..e761263 100644 --- a/java/cloud/web/web-modules/account/src/main/java/cn/toesbieya/jxc/account/vo/LoginSuccessInfo.java +++ b/java/cloud/web/web-modules/account/src/main/java/cn/toesbieya/jxc/account/vo/LoginSuccessInfo.java @@ -20,7 +20,7 @@ public class LoginSuccessInfo { public LoginSuccessInfo(SysUser user) { this.id = user.getId(); - this.name = user.getName(); + this.name = user.getNickName(); this.avatar = user.getAvatar(); this.admin = user.isAdmin(); } diff --git a/java/cloud/web/web-modules/account/src/main/java/cn/toesbieya/jxc/account/vo/RegisterParam.java b/java/cloud/web/web-modules/account/src/main/java/cn/toesbieya/jxc/account/vo/RegisterParam.java index 96898b4..4237cdf 100644 --- a/java/cloud/web/web-modules/account/src/main/java/cn/toesbieya/jxc/account/vo/RegisterParam.java +++ b/java/cloud/web/web-modules/account/src/main/java/cn/toesbieya/jxc/account/vo/RegisterParam.java @@ -3,9 +3,15 @@ package cn.toesbieya.jxc.account.vo; import lombok.Data; import lombok.EqualsAndHashCode; import lombok.ToString; +import org.hibernate.validator.constraints.Length; + +import javax.validation.constraints.NotNull; @Data @ToString(callSuper = true) @EqualsAndHashCode(callSuper = true) public class RegisterParam extends LoginParam { + @NotNull(message = "昵称不能为空") + @Length(max = 100, message = "昵称太长了") + private String nick; } diff --git a/java/cloud/web/web-modules/doc/src/main/java/cn/toesbieya/jxc/doc/controller/PurchaseInboundController.java b/java/cloud/web/web-modules/doc/src/main/java/cn/toesbieya/jxc/doc/controller/PurchaseInboundController.java index a3d6eb2..b281ef8 100644 --- a/java/cloud/web/web-modules/doc/src/main/java/cn/toesbieya/jxc/doc/controller/PurchaseInboundController.java +++ b/java/cloud/web/web-modules/doc/src/main/java/cn/toesbieya/jxc/doc/controller/PurchaseInboundController.java @@ -56,7 +56,7 @@ public class PurchaseInboundController { UserVo user = SessionUtil.get(); vo.setCid(user.getId()); - vo.setCname(user.getName()); + vo.setCname(user.getNickName()); vo.setCtime(System.currentTimeMillis()); vo.setStatus(DocStatusEnum.DRAFT.getCode()); @@ -84,7 +84,7 @@ public class PurchaseInboundController { if (isFirst) { UserVo user = SessionUtil.get(); vo.setCid(user.getId()); - vo.setCname(user.getName()); + vo.setCname(user.getNickName()); vo.setCtime(System.currentTimeMillis()); } return service.commit(vo); diff --git a/java/cloud/web/web-modules/doc/src/main/java/cn/toesbieya/jxc/doc/controller/PurchaseOrderController.java b/java/cloud/web/web-modules/doc/src/main/java/cn/toesbieya/jxc/doc/controller/PurchaseOrderController.java index 1c34f8c..9bc2b62 100644 --- a/java/cloud/web/web-modules/doc/src/main/java/cn/toesbieya/jxc/doc/controller/PurchaseOrderController.java +++ b/java/cloud/web/web-modules/doc/src/main/java/cn/toesbieya/jxc/doc/controller/PurchaseOrderController.java @@ -67,7 +67,7 @@ public class PurchaseOrderController { UserVo user = SessionUtil.get(); vo.setCid(user.getId()); - vo.setCname(user.getName()); + vo.setCname(user.getNickName()); vo.setCtime(System.currentTimeMillis()); vo.setStatus(DocStatusEnum.DRAFT.getCode()); vo.setFinish(DocFinishEnum.TO_BE_STARTED.getCode()); @@ -97,7 +97,7 @@ public class PurchaseOrderController { if (isFirst) { UserVo user = SessionUtil.get(); vo.setCid(user.getId()); - vo.setCname(user.getName()); + vo.setCname(user.getNickName()); vo.setCtime(System.currentTimeMillis()); } diff --git a/java/cloud/web/web-modules/doc/src/main/java/cn/toesbieya/jxc/doc/controller/SellOrderController.java b/java/cloud/web/web-modules/doc/src/main/java/cn/toesbieya/jxc/doc/controller/SellOrderController.java index 933fcbc..ce48376 100644 --- a/java/cloud/web/web-modules/doc/src/main/java/cn/toesbieya/jxc/doc/controller/SellOrderController.java +++ b/java/cloud/web/web-modules/doc/src/main/java/cn/toesbieya/jxc/doc/controller/SellOrderController.java @@ -61,7 +61,7 @@ public class SellOrderController { UserVo user = SessionUtil.get(); vo.setCid(user.getId()); - vo.setCname(user.getName()); + vo.setCname(user.getNickName()); vo.setCtime(System.currentTimeMillis()); vo.setStatus(DocStatusEnum.DRAFT.getCode()); @@ -91,7 +91,7 @@ public class SellOrderController { UserVo user = SessionUtil.get(); vo.setCid(user.getId()); - vo.setCname(user.getName()); + vo.setCname(user.getNickName()); vo.setCtime(System.currentTimeMillis()); } diff --git a/java/cloud/web/web-modules/doc/src/main/java/cn/toesbieya/jxc/doc/controller/SellOutboundController.java b/java/cloud/web/web-modules/doc/src/main/java/cn/toesbieya/jxc/doc/controller/SellOutboundController.java index c6139da..3ebf180 100644 --- a/java/cloud/web/web-modules/doc/src/main/java/cn/toesbieya/jxc/doc/controller/SellOutboundController.java +++ b/java/cloud/web/web-modules/doc/src/main/java/cn/toesbieya/jxc/doc/controller/SellOutboundController.java @@ -56,7 +56,7 @@ public class SellOutboundController { UserVo user = SessionUtil.get(); vo.setCid(user.getId()); - vo.setCname(user.getName()); + vo.setCname(user.getNickName()); vo.setCtime(System.currentTimeMillis()); vo.setStatus(DocStatusEnum.DRAFT.getCode()); @@ -85,7 +85,7 @@ public class SellOutboundController { UserVo user = SessionUtil.get(); vo.setCid(user.getId()); - vo.setCname(user.getName()); + vo.setCname(user.getNickName()); vo.setCtime(System.currentTimeMillis()); } return service.commit(vo); diff --git a/java/cloud/web/web-modules/doc/src/main/java/cn/toesbieya/jxc/doc/service/PurchaseInboundService.java b/java/cloud/web/web-modules/doc/src/main/java/cn/toesbieya/jxc/doc/service/PurchaseInboundService.java index b5d2c3f..328b353 100644 --- a/java/cloud/web/web-modules/doc/src/main/java/cn/toesbieya/jxc/doc/service/PurchaseInboundService.java +++ b/java/cloud/web/web-modules/doc/src/main/java/cn/toesbieya/jxc/doc/service/PurchaseInboundService.java @@ -136,7 +136,7 @@ public class PurchaseInboundService { .pid(id) .type(DocHistoryEnum.WITHDRAW.getCode()) .uid(user.getId()) - .uname(user.getName()) + .uname(user.getNickName()) .statusBefore(DocStatusEnum.WAIT_VERIFY.getCode()) .statusAfter(DocStatusEnum.DRAFT.getCode()) .time(System.currentTimeMillis()) @@ -166,7 +166,7 @@ public class PurchaseInboundService { Wrappers.lambdaUpdate(BizPurchaseInbound.class) .set(BizPurchaseInbound::getStatus, DocStatusEnum.VERIFIED.getCode()) .set(BizPurchaseInbound::getVid, user.getId()) - .set(BizPurchaseInbound::getVname, user.getName()) + .set(BizPurchaseInbound::getVname, user.getNickName()) .set(BizPurchaseInbound::getVtime, now) .eq(BizPurchaseInbound::getId, id) .eq(BizPurchaseInbound::getStatus, DocStatusEnum.WAIT_VERIFY.getCode()) @@ -232,7 +232,7 @@ public class PurchaseInboundService { BizDocHistory .builder() .pid(id).type(DocHistoryEnum.PASS.getCode()) - .uid(user.getId()).uname(user.getName()) + .uid(user.getId()).uname(user.getNickName()) .statusBefore(DocStatusEnum.WAIT_VERIFY.getCode()) .statusAfter(DocStatusEnum.VERIFIED.getCode()) .time(now).info(info) @@ -258,7 +258,7 @@ public class PurchaseInboundService { .pid(id) .type(DocHistoryEnum.REJECT.getCode()) .uid(user.getId()) - .uname(user.getName()) + .uname(user.getNickName()) .statusBefore(DocStatusEnum.WAIT_VERIFY.getCode()) .statusAfter(DocStatusEnum.DRAFT.getCode()) .time(System.currentTimeMillis()) diff --git a/java/cloud/web/web-modules/doc/src/main/java/cn/toesbieya/jxc/doc/service/PurchaseOrderService.java b/java/cloud/web/web-modules/doc/src/main/java/cn/toesbieya/jxc/doc/service/PurchaseOrderService.java index a1f327e..8162223 100644 --- a/java/cloud/web/web-modules/doc/src/main/java/cn/toesbieya/jxc/doc/service/PurchaseOrderService.java +++ b/java/cloud/web/web-modules/doc/src/main/java/cn/toesbieya/jxc/doc/service/PurchaseOrderService.java @@ -128,7 +128,7 @@ public class PurchaseOrderService { .pid(id) .type(DocHistoryEnum.WITHDRAW.getCode()) .uid(user.getId()) - .uname(user.getName()) + .uname(user.getNickName()) .statusBefore(DocStatusEnum.WAIT_VERIFY.getCode()) .statusAfter(DocStatusEnum.DRAFT.getCode()) .time(System.currentTimeMillis()) @@ -152,7 +152,7 @@ public class PurchaseOrderService { Wrappers.lambdaUpdate(BizPurchaseOrder.class) .set(BizPurchaseOrder::getStatus, DocStatusEnum.VERIFIED.getCode()) .set(BizPurchaseOrder::getVid, user.getId()) - .set(BizPurchaseOrder::getVname, user.getName()) + .set(BizPurchaseOrder::getVname, user.getNickName()) .set(BizPurchaseOrder::getVtime, now) .eq(BizPurchaseOrder::getId, id) .eq(BizPurchaseOrder::getStatus, DocStatusEnum.WAIT_VERIFY.getCode()) @@ -165,7 +165,7 @@ public class PurchaseOrderService { .pid(id) .type(DocHistoryEnum.PASS.getCode()) .uid(user.getId()) - .uname(user.getName()) + .uname(user.getNickName()) .statusBefore(DocStatusEnum.WAIT_VERIFY.getCode()) .statusAfter(DocStatusEnum.VERIFIED.getCode()) .time(now) @@ -192,7 +192,7 @@ public class PurchaseOrderService { .pid(id) .type(DocHistoryEnum.REJECT.getCode()) .uid(user.getId()) - .uname(user.getName()) + .uname(user.getNickName()) .statusBefore(DocStatusEnum.WAIT_VERIFY.getCode()) .statusAfter(DocStatusEnum.DRAFT.getCode()) .time(System.currentTimeMillis()) diff --git a/java/cloud/web/web-modules/doc/src/main/java/cn/toesbieya/jxc/doc/service/SellOrderService.java b/java/cloud/web/web-modules/doc/src/main/java/cn/toesbieya/jxc/doc/service/SellOrderService.java index 5360b0a..a05c90a 100644 --- a/java/cloud/web/web-modules/doc/src/main/java/cn/toesbieya/jxc/doc/service/SellOrderService.java +++ b/java/cloud/web/web-modules/doc/src/main/java/cn/toesbieya/jxc/doc/service/SellOrderService.java @@ -131,7 +131,7 @@ public class SellOrderService { .pid(id) .type(DocHistoryEnum.WITHDRAW.getCode()) .uid(user.getId()) - .uname(user.getName()) + .uname(user.getNickName()) .statusBefore(DocStatusEnum.WAIT_VERIFY.getCode()) .statusAfter(DocStatusEnum.DRAFT.getCode()) .time(System.currentTimeMillis()) @@ -155,7 +155,7 @@ public class SellOrderService { Wrappers.lambdaUpdate(BizSellOrder.class) .set(BizSellOrder::getStatus, DocStatusEnum.VERIFIED.getCode()) .set(BizSellOrder::getVid, user.getId()) - .set(BizSellOrder::getVname, user.getName()) + .set(BizSellOrder::getVname, user.getNickName()) .set(BizSellOrder::getVtime, now) .eq(BizSellOrder::getId, id) .eq(BizSellOrder::getStatus, DocStatusEnum.WAIT_VERIFY.getCode()) @@ -168,7 +168,7 @@ public class SellOrderService { .pid(id) .type(DocHistoryEnum.PASS.getCode()) .uid(user.getId()) - .uname(user.getName()) + .uname(user.getNickName()) .statusBefore(DocStatusEnum.WAIT_VERIFY.getCode()) .statusAfter(DocStatusEnum.VERIFIED.getCode()) .time(now) @@ -195,7 +195,7 @@ public class SellOrderService { .pid(id) .type(DocHistoryEnum.REJECT.getCode()) .uid(user.getId()) - .uname(user.getName()) + .uname(user.getNickName()) .statusBefore(DocStatusEnum.WAIT_VERIFY.getCode()) .statusAfter(DocStatusEnum.DRAFT.getCode()) .time(System.currentTimeMillis()) diff --git a/java/cloud/web/web-modules/doc/src/main/java/cn/toesbieya/jxc/doc/service/SellOutboundService.java b/java/cloud/web/web-modules/doc/src/main/java/cn/toesbieya/jxc/doc/service/SellOutboundService.java index dfdc85e..bad33b3 100644 --- a/java/cloud/web/web-modules/doc/src/main/java/cn/toesbieya/jxc/doc/service/SellOutboundService.java +++ b/java/cloud/web/web-modules/doc/src/main/java/cn/toesbieya/jxc/doc/service/SellOutboundService.java @@ -139,7 +139,7 @@ public class SellOutboundService { .pid(id) .type(DocHistoryEnum.WITHDRAW.getCode()) .uid(user.getId()) - .uname(user.getName()) + .uname(user.getNickName()) .statusBefore(DocStatusEnum.WAIT_VERIFY.getCode()) .statusAfter(DocStatusEnum.DRAFT.getCode()) .time(System.currentTimeMillis()) @@ -168,7 +168,7 @@ public class SellOutboundService { Wrappers.lambdaUpdate(BizSellOutbound.class) .set(BizSellOutbound::getStatus, DocStatusEnum.VERIFIED.getCode()) .set(BizSellOutbound::getVid, user.getId()) - .set(BizSellOutbound::getVname, user.getName()) + .set(BizSellOutbound::getVname, user.getNickName()) .set(BizSellOutbound::getVtime, now) .eq(BizSellOutbound::getId, id) .eq(BizSellOutbound::getStatus, DocStatusEnum.WAIT_VERIFY.getCode()) @@ -236,7 +236,7 @@ public class SellOutboundService { .pid(id) .type(DocHistoryEnum.PASS.getCode()) .uid(user.getId()) - .uname(user.getName()) + .uname(user.getNickName()) .statusBefore(DocStatusEnum.WAIT_VERIFY.getCode()) .statusAfter(DocStatusEnum.VERIFIED.getCode()) .time(now) @@ -263,7 +263,7 @@ public class SellOutboundService { .pid(id) .type(DocHistoryEnum.REJECT.getCode()) .uid(user.getId()) - .uname(user.getName()) + .uname(user.getNickName()) .statusBefore(DocStatusEnum.WAIT_VERIFY.getCode()) .statusAfter(DocStatusEnum.DRAFT.getCode()) .time(System.currentTimeMillis()) diff --git a/java/cloud/web/web-modules/message/src/main/java/cn/toesbieya/jxc/message/controller/ManageController.java b/java/cloud/web/web-modules/message/src/main/java/cn/toesbieya/jxc/message/controller/ManageController.java index 5bd435c..3607a6d 100644 --- a/java/cloud/web/web-modules/message/src/main/java/cn/toesbieya/jxc/message/controller/ManageController.java +++ b/java/cloud/web/web-modules/message/src/main/java/cn/toesbieya/jxc/message/controller/ManageController.java @@ -58,7 +58,7 @@ public class ManageController { if (isFirstCreate) setAddInfo(user, msg); msg.setPid(user.getId()); - msg.setPname(user.getName()); + msg.setPname(user.getNickName()); msg.setPtime(System.currentTimeMillis()); msg.setStatus(MsgConstant.STATUS_PUBLISHED); @@ -72,7 +72,7 @@ public class ManageController { UserVo user = SessionUtil.get(); msg.setWid(user.getId()); - msg.setWname(user.getName()); + msg.setWname(user.getNickName()); msg.setWtime(System.currentTimeMillis()); return service.withdraw(msg); @@ -86,7 +86,7 @@ public class ManageController { private void setAddInfo(SysUser user, Msg msg) { msg.setId(null); msg.setCid(user.getId()); - msg.setCname(user.getName()); + msg.setCname(user.getNickName()); msg.setCtime(System.currentTimeMillis()); msg.setStatus(MsgConstant.STATUS_DRAFT); } diff --git a/java/cloud/web/web-modules/system/src/main/java/cn/toesbieya/jxc/system/controller/RoleController.java b/java/cloud/web/web-modules/system/src/main/java/cn/toesbieya/jxc/system/controller/RoleController.java index 1a9e602..98eba9c 100644 --- a/java/cloud/web/web-modules/system/src/main/java/cn/toesbieya/jxc/system/controller/RoleController.java +++ b/java/cloud/web/web-modules/system/src/main/java/cn/toesbieya/jxc/system/controller/RoleController.java @@ -37,7 +37,7 @@ public class RoleController { role.setId(null); role.setCid(user.getId()); - role.setCname(user.getName()); + role.setCname(user.getNickName()); role.setCtime(System.currentTimeMillis()); return service.add(role); diff --git a/java/cloud/web/web-modules/system/src/main/java/cn/toesbieya/jxc/system/controller/UserController.java b/java/cloud/web/web-modules/system/src/main/java/cn/toesbieya/jxc/system/controller/UserController.java index a596458..57b2a82 100644 --- a/java/cloud/web/web-modules/system/src/main/java/cn/toesbieya/jxc/system/controller/UserController.java +++ b/java/cloud/web/web-modules/system/src/main/java/cn/toesbieya/jxc/system/controller/UserController.java @@ -59,7 +59,7 @@ public class UserController { return R.fail("参数错误"); } RecUserAction action = ThreadUtil.getAction(); - List names = users.stream().map(SysUser::getName).collect(Collectors.toList()); + List names = users.stream().map(SysUser::getLoginName).collect(Collectors.toList()); action.setAction("踢出用户:【" + String.join(",", names) + "】"); return service.kick(users); @@ -67,7 +67,7 @@ public class UserController { @PostMapping("resetPwd") public R resetPwd(@RequestBody SysUser user) { - if (user.getId() == null || StringUtils.isEmpty(user.getName())) { + if (user.getId() == null || StringUtils.isEmpty(user.getLoginName())) { return R.fail("参数错误"); } return service.resetPwd(user); @@ -75,14 +75,20 @@ public class UserController { private String validateUserCreateParam(SysUser user) { if (user.getId() != null) return "创建失败,参数错误"; - if (StringUtils.isEmpty(user.getName())) return "创建失败,用户名称不能为空"; + if (StringUtils.isEmpty(user.getLoginName()) + ||StringUtils.isEmpty(user.getNickName())) { + return "创建失败,用户名称不能为空"; + } if (user.getRole() == null) return "创建失败,用户角色不能为空"; return null; } private String validateUserUpdateParam(SysUser user) { if (user.getId() == null) return "修改失败,参数错误"; - if (StringUtils.isEmpty(user.getName())) return "修改失败,用户名称不能为空"; + if (StringUtils.isEmpty(user.getLoginName()) + ||StringUtils.isEmpty(user.getNickName())) { + return "创建失败,用户名称不能为空"; + } if (user.getRole() == null) return "修改失败,用户角色不能为空"; return null; } diff --git a/java/cloud/web/web-modules/system/src/main/java/cn/toesbieya/jxc/system/model/vo/UserSearch.java b/java/cloud/web/web-modules/system/src/main/java/cn/toesbieya/jxc/system/model/vo/UserSearch.java index 8a5917a..5ea1910 100644 --- a/java/cloud/web/web-modules/system/src/main/java/cn/toesbieya/jxc/system/model/vo/UserSearch.java +++ b/java/cloud/web/web-modules/system/src/main/java/cn/toesbieya/jxc/system/model/vo/UserSearch.java @@ -10,7 +10,8 @@ import lombok.ToString; @EqualsAndHashCode(callSuper = true) public class UserSearch extends BaseSearch { private Integer id; - private String name; + private String loginName; + private String nickName; private String role; private Long startTime; private Long endTime; diff --git a/java/cloud/web/web-modules/system/src/main/java/cn/toesbieya/jxc/system/service/UserService.java b/java/cloud/web/web-modules/system/src/main/java/cn/toesbieya/jxc/system/service/UserService.java index 2b7452d..e491a4a 100644 --- a/java/cloud/web/web-modules/system/src/main/java/cn/toesbieya/jxc/system/service/UserService.java +++ b/java/cloud/web/web-modules/system/src/main/java/cn/toesbieya/jxc/system/service/UserService.java @@ -36,7 +36,8 @@ public class UserService { public PageResult search(UserSearch vo) { Integer id = vo.getId(); - String name = vo.getName(); + String loginName = vo.getLoginName(); + String nickName = vo.getNickName(); String roleIds = vo.getRole(); Boolean enable = vo.getEnable(); Long startTime = vo.getStartTime(); @@ -46,7 +47,8 @@ public class UserService { Wrappers.lambdaQuery(SysUser.class) .eq(SysUser::isAdmin, false) .eq(id != null, SysUser::getId, id) - .like(!StringUtils.isEmpty(name), SysUser::getName, name) + .like(!StringUtils.isEmpty(loginName), SysUser::getLoginName, loginName) + .like(!StringUtils.isEmpty(nickName), SysUser::getNickName, nickName) .inSql(!StringUtils.isEmpty(roleIds), SysUser::getRole, roleIds) .eq(enable != null, SysUser::isEnable, enable) .ge(startTime != null, SysUser::getCtime, startTime) @@ -107,10 +109,13 @@ public class UserService { return new PageResult<>(pageResult.getTotal(), result); } - @UserAction("'添加用户:'+#user.name") + @UserAction("'添加用户:'+#user.loginName") public R add(SysUser user) { - if (isNameExist(user.getName(), null)) { - return R.fail("该用户名称已存在"); + if (isLoginNameExist(user.getLoginName(), null)) { + return R.fail("该登录名已存在"); + } + if (isNickNameExist(user.getNickName(), null)) { + return R.fail("该用户昵称已存在"); } user.setId(null); @@ -121,19 +126,19 @@ public class UserService { return R.success("添加成功"); } - @UserAction("'修改用户:'+#user.name") + @UserAction("'修改用户:'+#user.loginName") public R update(SysUser user) { Integer id = user.getId(); - String name = user.getName(); + String name = user.getNickName(); - if (isNameExist(name, id)) { - return R.fail("该用户名称已存在"); + if (isNickNameExist(name, id)) { + return R.fail("该用户昵称已存在"); } userMapper.update( null, Wrappers.lambdaUpdate(SysUser.class) - .set(SysUser::getName, name) + .set(SysUser::getNickName, name) .set(SysUser::getRole, user.getRole()) .set(SysUser::getDept, user.getDept()) .set(SysUser::isEnable, user.isEnable()) @@ -143,7 +148,7 @@ public class UserService { return R.success("修改成功"); } - @UserAction("'删除用户:'+#user.name") + @UserAction("'删除用户:'+#user.loginName") @Transactional(rollbackFor = Exception.class) public R del(SysUser user) { int rows = userMapper.delete( @@ -168,7 +173,7 @@ public class UserService { return R.success("踢出成功"); } - @UserAction("'重置用户密码:'+#user.name") + @UserAction("'重置用户密码:'+#user.loginName") public R resetPwd(SysUser user) { int rows = userMapper.update( null, @@ -179,11 +184,21 @@ public class UserService { return rows > 0 ? R.success() : R.fail("重置失败,未匹配到用户"); } - //用户名重复时返回true - private boolean isNameExist(String name, Integer id) { + //登录名重复时返回true + private boolean isLoginNameExist(String name, Integer id) { + Integer num = userMapper.selectCount( + Wrappers.lambdaQuery(SysUser.class) + .eq(SysUser::getLoginName, name) + .ne(id != null, SysUser::getId, id) + ); + return num != null && num > 0; + } + + //用户昵称重复时返回true + private boolean isNickNameExist(String name, Integer id) { Integer num = userMapper.selectCount( Wrappers.lambdaQuery(SysUser.class) - .eq(SysUser::getName, name) + .eq(SysUser::getNickName, name) .ne(id != null, SysUser::getId, id) ); return num != null && num > 0; diff --git a/java/local/src/main/java/cn/toesbieya/jxc/aspect/RestExceptionAspect.java b/java/local/src/main/java/cn/toesbieya/jxc/aspect/RestExceptionAspect.java index 2b299ed..d902c3e 100644 --- a/java/local/src/main/java/cn/toesbieya/jxc/aspect/RestExceptionAspect.java +++ b/java/local/src/main/java/cn/toesbieya/jxc/aspect/RestExceptionAspect.java @@ -10,7 +10,9 @@ import cn.toesbieya.jxc.util.WebUtil; import lombok.extern.slf4j.Slf4j; import org.springframework.http.converter.HttpMessageNotReadableException; import org.springframework.util.StringUtils; +import org.springframework.validation.BindingResult; import org.springframework.web.HttpRequestMethodNotSupportedException; +import org.springframework.web.bind.MethodArgumentNotValidException; import org.springframework.web.bind.MissingServletRequestParameterException; import org.springframework.web.bind.annotation.ExceptionHandler; import org.springframework.web.bind.annotation.RestControllerAdvice; @@ -37,6 +39,14 @@ public class RestExceptionAspect { return R.fail("请求方法有误"); } + //校验不通过 + @ExceptionHandler(MethodArgumentNotValidException.class) + public R handleMethodArgumentNotValidException(MethodArgumentNotValidException e) { + BindingResult bindingResult = e.getBindingResult(); + String error = bindingResult.getFieldErrors().get(0).getDefaultMessage(); + return R.fail(error); + } + //@RequestParam没有匹配到值 @ExceptionHandler(MissingServletRequestParameterException.class) public R handle(MissingServletRequestParameterException e) { diff --git a/java/local/src/main/java/cn/toesbieya/jxc/config/WebConfig.java b/java/local/src/main/java/cn/toesbieya/jxc/config/WebConfig.java index 0ef5dbd..6fb8c5b 100644 --- a/java/local/src/main/java/cn/toesbieya/jxc/config/WebConfig.java +++ b/java/local/src/main/java/cn/toesbieya/jxc/config/WebConfig.java @@ -36,7 +36,7 @@ public class WebConfig implements WebMvcConfigurer { @Override public void addInterceptors(InterceptorRegistry registry) { - String[] exclude = {"/test/**", "/account/login", "/account/logout", "/account/register", "/account/checkName", "/error"}; + String[] exclude = {"/test/**", "/account/login", "/account/logout", "/account/register", "/account/checkLoginName", "/account/checkNickName", "/error"}; addInterceptor(registry, new SecurityInterceptor(), exclude); } diff --git a/java/local/src/main/java/cn/toesbieya/jxc/controller/AccountController.java b/java/local/src/main/java/cn/toesbieya/jxc/controller/AccountController.java index e20f65a..2ecc5da 100644 --- a/java/local/src/main/java/cn/toesbieya/jxc/controller/AccountController.java +++ b/java/local/src/main/java/cn/toesbieya/jxc/controller/AccountController.java @@ -68,13 +68,22 @@ public class AccountController { return R.success("校验通过"); } - @GetMapping("checkName") - public R checkName(@RequestParam(required = false) Integer id, @RequestParam String name) { + @GetMapping("checkLoginName") + public R checkLoginName(@RequestParam(required = false) Integer id, @RequestParam String name) { if (StringUtils.isEmpty(name)) { return R.success(); } - return R.success(service.checkName(name, id) ? "该用户名已存在" : null); + return R.success(service.isLoginNameExist(name, id) ? "该登录名已存在" : null); + } + + @GetMapping("checkNickName") + public R checkNickName(@RequestParam(required = false) Integer id, @RequestParam String name) { + if (StringUtils.isEmpty(name)) { + return R.success(); + } + + return R.success(service.isNickNameExist(name, id) ? "该昵称已存在" : null); } private String validateUpdatePwdParam(PasswordUpdateParam vo) { diff --git a/java/local/src/main/java/cn/toesbieya/jxc/controller/doc/PurchaseInboundController.java b/java/local/src/main/java/cn/toesbieya/jxc/controller/doc/PurchaseInboundController.java index 617427e..400a01f 100644 --- a/java/local/src/main/java/cn/toesbieya/jxc/controller/doc/PurchaseInboundController.java +++ b/java/local/src/main/java/cn/toesbieya/jxc/controller/doc/PurchaseInboundController.java @@ -55,7 +55,7 @@ public class PurchaseInboundController { UserVo user = SessionUtil.get(); vo.setCid(user.getId()); - vo.setCname(user.getName()); + vo.setCname(user.getNickName()); vo.setCtime(System.currentTimeMillis()); vo.setStatus(DocStatusEnum.DRAFT.getCode()); @@ -83,7 +83,7 @@ public class PurchaseInboundController { if (isFirst) { UserVo user = SessionUtil.get(); vo.setCid(user.getId()); - vo.setCname(user.getName()); + vo.setCname(user.getNickName()); vo.setCtime(System.currentTimeMillis()); } return service.commit(vo); diff --git a/java/local/src/main/java/cn/toesbieya/jxc/controller/doc/PurchaseOrderController.java b/java/local/src/main/java/cn/toesbieya/jxc/controller/doc/PurchaseOrderController.java index 3377c2e..f9c7036 100644 --- a/java/local/src/main/java/cn/toesbieya/jxc/controller/doc/PurchaseOrderController.java +++ b/java/local/src/main/java/cn/toesbieya/jxc/controller/doc/PurchaseOrderController.java @@ -60,7 +60,7 @@ public class PurchaseOrderController { UserVo user = SessionUtil.get(); vo.setCid(user.getId()); - vo.setCname(user.getName()); + vo.setCname(user.getNickName()); vo.setCtime(System.currentTimeMillis()); vo.setStatus(DocStatusEnum.DRAFT.getCode()); @@ -89,7 +89,7 @@ public class PurchaseOrderController { if (isFirst) { UserVo user = SessionUtil.get(); vo.setCid(user.getId()); - vo.setCname(user.getName()); + vo.setCname(user.getNickName()); vo.setCtime(System.currentTimeMillis()); } diff --git a/java/local/src/main/java/cn/toesbieya/jxc/controller/doc/SellOrderController.java b/java/local/src/main/java/cn/toesbieya/jxc/controller/doc/SellOrderController.java index 57373ac..5727f87 100644 --- a/java/local/src/main/java/cn/toesbieya/jxc/controller/doc/SellOrderController.java +++ b/java/local/src/main/java/cn/toesbieya/jxc/controller/doc/SellOrderController.java @@ -61,7 +61,7 @@ public class SellOrderController { UserVo user = SessionUtil.get(); vo.setCid(user.getId()); - vo.setCname(user.getName()); + vo.setCname(user.getNickName()); vo.setCtime(System.currentTimeMillis()); vo.setStatus(DocStatusEnum.DRAFT.getCode()); @@ -91,7 +91,7 @@ public class SellOrderController { UserVo user = SessionUtil.get(); vo.setCid(user.getId()); - vo.setCname(user.getName()); + vo.setCname(user.getNickName()); vo.setCtime(System.currentTimeMillis()); } diff --git a/java/local/src/main/java/cn/toesbieya/jxc/controller/doc/SellOutboundController.java b/java/local/src/main/java/cn/toesbieya/jxc/controller/doc/SellOutboundController.java index ccf5d02..99f0150 100644 --- a/java/local/src/main/java/cn/toesbieya/jxc/controller/doc/SellOutboundController.java +++ b/java/local/src/main/java/cn/toesbieya/jxc/controller/doc/SellOutboundController.java @@ -56,7 +56,7 @@ public class SellOutboundController { UserVo user = SessionUtil.get(); vo.setCid(user.getId()); - vo.setCname(user.getName()); + vo.setCname(user.getNickName()); vo.setCtime(System.currentTimeMillis()); vo.setStatus(DocStatusEnum.DRAFT.getCode()); @@ -85,7 +85,7 @@ public class SellOutboundController { UserVo user = SessionUtil.get(); vo.setCid(user.getId()); - vo.setCname(user.getName()); + vo.setCname(user.getNickName()); vo.setCtime(System.currentTimeMillis()); } return service.commit(vo); diff --git a/java/local/src/main/java/cn/toesbieya/jxc/controller/msg/ManageController.java b/java/local/src/main/java/cn/toesbieya/jxc/controller/msg/ManageController.java index 43a3a70..9620cf9 100644 --- a/java/local/src/main/java/cn/toesbieya/jxc/controller/msg/ManageController.java +++ b/java/local/src/main/java/cn/toesbieya/jxc/controller/msg/ManageController.java @@ -57,7 +57,7 @@ public class ManageController { if (isFirstCreate) setAddInfo(user, msg); msg.setPid(user.getId()); - msg.setPname(user.getName()); + msg.setPname(user.getNickName()); msg.setPtime(System.currentTimeMillis()); msg.setStatus(MsgConstant.STATUS_PUBLISHED); @@ -71,7 +71,7 @@ public class ManageController { UserVo user = SessionUtil.get(); msg.setWid(user.getId()); - msg.setWname(user.getName()); + msg.setWname(user.getNickName()); msg.setWtime(System.currentTimeMillis()); return service.withdraw(msg); @@ -85,7 +85,7 @@ public class ManageController { private void setAddInfo(UserVo user, Msg msg) { msg.setId(null); msg.setCid(user.getId()); - msg.setCname(user.getName()); + msg.setCname(user.getNickName()); msg.setCtime(System.currentTimeMillis()); msg.setStatus(MsgConstant.STATUS_DRAFT); } diff --git a/java/local/src/main/java/cn/toesbieya/jxc/controller/sys/RoleController.java b/java/local/src/main/java/cn/toesbieya/jxc/controller/sys/RoleController.java index 440a9da..b7c3a53 100644 --- a/java/local/src/main/java/cn/toesbieya/jxc/controller/sys/RoleController.java +++ b/java/local/src/main/java/cn/toesbieya/jxc/controller/sys/RoleController.java @@ -37,7 +37,7 @@ public class RoleController { role.setId(null); role.setCid(user.getId()); - role.setCname(user.getName()); + role.setCname(user.getNickName()); role.setCtime(System.currentTimeMillis()); return service.add(role); diff --git a/java/local/src/main/java/cn/toesbieya/jxc/controller/sys/UserController.java b/java/local/src/main/java/cn/toesbieya/jxc/controller/sys/UserController.java index d9af184..cacf977 100644 --- a/java/local/src/main/java/cn/toesbieya/jxc/controller/sys/UserController.java +++ b/java/local/src/main/java/cn/toesbieya/jxc/controller/sys/UserController.java @@ -59,7 +59,7 @@ public class UserController { return R.fail("参数错误"); } RecUserAction action = ThreadUtil.getAction(); - List names = users.stream().map(SysUser::getName).collect(Collectors.toList()); + List names = users.stream().map(SysUser::getLoginName).collect(Collectors.toList()); action.setAction("踢出用户:【" + String.join(",", names) + "】"); return service.kick(users); @@ -67,7 +67,7 @@ public class UserController { @PostMapping("resetPwd") public R resetPwd(@RequestBody SysUser user) { - if (user.getId() == null || StringUtils.isEmpty(user.getName())) { + if (user.getId() == null || StringUtils.isEmpty(user.getLoginName())) { return R.fail("参数错误"); } return service.resetPwd(user); @@ -75,14 +75,20 @@ public class UserController { private String validateUserCreateParam(SysUser user) { if (user.getId() != null) return "创建失败,参数错误"; - if (StringUtils.isEmpty(user.getName())) return "创建失败,用户名称不能为空"; + if (StringUtils.isEmpty(user.getLoginName()) + ||StringUtils.isEmpty(user.getNickName())) { + return "创建失败,用户名称不能为空"; + } if (user.getRole() == null) return "创建失败,用户角色不能为空"; return null; } private String validateUserUpdateParam(SysUser user) { if (user.getId() == null) return "修改失败,参数错误"; - if (StringUtils.isEmpty(user.getName())) return "修改失败,用户名称不能为空"; + if (StringUtils.isEmpty(user.getLoginName()) + ||StringUtils.isEmpty(user.getNickName())) { + return "创建失败,用户名称不能为空"; + } if (user.getRole() == null) return "修改失败,用户角色不能为空"; return null; } diff --git a/java/local/src/main/java/cn/toesbieya/jxc/interceptor/SecurityInterceptor.java b/java/local/src/main/java/cn/toesbieya/jxc/interceptor/SecurityInterceptor.java index 26a4c3d..3ba7e7a 100644 --- a/java/local/src/main/java/cn/toesbieya/jxc/interceptor/SecurityInterceptor.java +++ b/java/local/src/main/java/cn/toesbieya/jxc/interceptor/SecurityInterceptor.java @@ -15,7 +15,6 @@ public class SecurityInterceptor implements HandlerInterceptor { @Override public boolean preHandle(HttpServletRequest request, HttpServletResponse response, Object handler) throws Exception { String url = request.getServletPath(); - String ip = IpUtil.getIp(request); UserVo user = SessionUtil.get(request); if (user == null) { @@ -26,7 +25,7 @@ public class SecurityInterceptor implements HandlerInterceptor { if (!PermissionModule.authority(user, url)) { WebUtil.responseJson(response, R.noPermission()); - log.warn("权限拦截,访问路径:{},用户:{},IP:{}", url, user.getName(), ip); + log.warn("权限拦截,访问路径:{},用户:{}", url, user.getNickName()); ThreadUtil.clearAll(); return false; } diff --git a/java/local/src/main/java/cn/toesbieya/jxc/model/entity/SysUser.java b/java/local/src/main/java/cn/toesbieya/jxc/model/entity/SysUser.java index 03386a8..60f1fad 100644 --- a/java/local/src/main/java/cn/toesbieya/jxc/model/entity/SysUser.java +++ b/java/local/src/main/java/cn/toesbieya/jxc/model/entity/SysUser.java @@ -9,7 +9,8 @@ import lombok.NoArgsConstructor; @NoArgsConstructor public class SysUser { private Integer id; - private String name; + private String loginName; + private String nickName; private String pwd; private Integer role; private String avatar; diff --git a/java/local/src/main/java/cn/toesbieya/jxc/model/vo/LoginSuccessInfo.java b/java/local/src/main/java/cn/toesbieya/jxc/model/vo/LoginSuccessInfo.java index 32bcef4..a53c54a 100644 --- a/java/local/src/main/java/cn/toesbieya/jxc/model/vo/LoginSuccessInfo.java +++ b/java/local/src/main/java/cn/toesbieya/jxc/model/vo/LoginSuccessInfo.java @@ -20,7 +20,7 @@ public class LoginSuccessInfo { public LoginSuccessInfo(SysUser user) { this.id = user.getId(); - this.name = user.getName(); + this.name = user.getNickName(); this.avatar = user.getAvatar(); this.admin = user.isAdmin(); } diff --git a/java/local/src/main/java/cn/toesbieya/jxc/model/vo/RegisterParam.java b/java/local/src/main/java/cn/toesbieya/jxc/model/vo/RegisterParam.java index 2fa4a65..b6ec096 100644 --- a/java/local/src/main/java/cn/toesbieya/jxc/model/vo/RegisterParam.java +++ b/java/local/src/main/java/cn/toesbieya/jxc/model/vo/RegisterParam.java @@ -3,9 +3,15 @@ package cn.toesbieya.jxc.model.vo; import lombok.Data; import lombok.EqualsAndHashCode; import lombok.ToString; +import org.hibernate.validator.constraints.Length; + +import javax.validation.constraints.NotNull; @Data @ToString(callSuper = true) @EqualsAndHashCode(callSuper = true) public class RegisterParam extends LoginParam { + @NotNull(message = "昵称不能为空") + @Length(max = 100, message = "昵称太长了") + private String nick; } diff --git a/java/local/src/main/java/cn/toesbieya/jxc/model/vo/search/UserSearch.java b/java/local/src/main/java/cn/toesbieya/jxc/model/vo/search/UserSearch.java index 7f87285..65a322f 100644 --- a/java/local/src/main/java/cn/toesbieya/jxc/model/vo/search/UserSearch.java +++ b/java/local/src/main/java/cn/toesbieya/jxc/model/vo/search/UserSearch.java @@ -9,7 +9,8 @@ import lombok.ToString; @EqualsAndHashCode(callSuper = true) public class UserSearch extends BaseSearch { private Integer id; - private String name; + private String loginName; + private String nickName; private String role; private Long startTime; private Long endTime; diff --git a/java/local/src/main/java/cn/toesbieya/jxc/service/AccountService.java b/java/local/src/main/java/cn/toesbieya/jxc/service/AccountService.java index cc879c7..c68663f 100644 --- a/java/local/src/main/java/cn/toesbieya/jxc/service/AccountService.java +++ b/java/local/src/main/java/cn/toesbieya/jxc/service/AccountService.java @@ -41,7 +41,7 @@ public class AccountService { SysUser user = userMapper.selectOne( Wrappers.lambdaQuery(SysUser.class) - .eq(SysUser::getName, param.getUsername()) + .eq(SysUser::getLoginName, param.getUsername()) .eq(SysUser::getPwd, param.getPassword()) ); @@ -127,7 +127,7 @@ public class AccountService { RecLoginHistory .builder() .uid(user.getId()) - .uname(user.getName()) + .uname(user.getNickName()) .ip(ip) .login(true) .time(now) @@ -143,7 +143,7 @@ public class AccountService { RecLoginHistory .builder() .uid(user.getId()) - .uname(user.getName()) + .uname(user.getNickName()) .ip(ip) .login(false) .time(System.currentTimeMillis()) @@ -157,13 +157,18 @@ public class AccountService { public R register(RegisterParam param) { String name = param.getUsername(); + String nick = param.getNick(); - if (checkName(name, null)) { - return R.fail("该用户名称已存在"); + if (isLoginNameExist(name, null)) { + return R.fail("该登录名已存在"); + } + if (isNickNameExist(nick, null)) { + return R.fail("该昵称已存在"); } SysUser user = new SysUser(); - user.setName(name); + user.setLoginName(name); + user.setNickName(param.getNick()); user.setPwd(param.getPassword()); user.setRole(1); user.setDept(1); @@ -213,11 +218,21 @@ public class AccountService { return R.fail("上传头像失败"); } - //用户名重复时返回true - public boolean checkName(String name, Integer id) { + //登录名重复时返回true + public boolean isLoginNameExist(String name, Integer id) { + Integer num = userMapper.selectCount( + Wrappers.lambdaQuery(SysUser.class) + .eq(SysUser::getLoginName, name) + .ne(id != null, SysUser::getId, id) + ); + return num != null && num > 0; + } + + //用户昵称重复时返回true + public boolean isNickNameExist(String name, Integer id) { Integer num = userMapper.selectCount( Wrappers.lambdaQuery(SysUser.class) - .eq(SysUser::getName, name) + .eq(SysUser::getNickName, name) .ne(id != null, SysUser::getId, id) ); return num != null && num > 0; diff --git a/java/local/src/main/java/cn/toesbieya/jxc/service/doc/BizPurchaseInboundService.java b/java/local/src/main/java/cn/toesbieya/jxc/service/doc/BizPurchaseInboundService.java index d92d345..36d2b72 100644 --- a/java/local/src/main/java/cn/toesbieya/jxc/service/doc/BizPurchaseInboundService.java +++ b/java/local/src/main/java/cn/toesbieya/jxc/service/doc/BizPurchaseInboundService.java @@ -136,7 +136,7 @@ public class BizPurchaseInboundService { .pid(id) .type(DocHistoryEnum.WITHDRAW.getCode()) .uid(user.getId()) - .uname(user.getName()) + .uname(user.getNickName()) .statusBefore(DocStatusEnum.WAIT_VERIFY.getCode()) .statusAfter(DocStatusEnum.DRAFT.getCode()) .time(System.currentTimeMillis()) @@ -166,7 +166,7 @@ public class BizPurchaseInboundService { Wrappers.lambdaUpdate(BizPurchaseInbound.class) .set(BizPurchaseInbound::getStatus, DocStatusEnum.VERIFIED.getCode()) .set(BizPurchaseInbound::getVid, user.getId()) - .set(BizPurchaseInbound::getVname, user.getName()) + .set(BizPurchaseInbound::getVname, user.getNickName()) .set(BizPurchaseInbound::getVtime, now) .eq(BizPurchaseInbound::getId, id) .eq(BizPurchaseInbound::getStatus, DocStatusEnum.WAIT_VERIFY.getCode()) @@ -233,7 +233,7 @@ public class BizPurchaseInboundService { BizDocHistory .builder() .pid(id).type(DocHistoryEnum.PASS.getCode()) - .uid(user.getId()).uname(user.getName()) + .uid(user.getId()).uname(user.getNickName()) .statusBefore(DocStatusEnum.WAIT_VERIFY.getCode()) .statusAfter(DocStatusEnum.VERIFIED.getCode()) .time(now).info(info) @@ -259,7 +259,7 @@ public class BizPurchaseInboundService { .pid(id) .type(DocHistoryEnum.REJECT.getCode()) .uid(user.getId()) - .uname(user.getName()) + .uname(user.getNickName()) .statusBefore(DocStatusEnum.WAIT_VERIFY.getCode()) .statusAfter(DocStatusEnum.DRAFT.getCode()) .time(System.currentTimeMillis()) diff --git a/java/local/src/main/java/cn/toesbieya/jxc/service/doc/BizPurchaseOrderService.java b/java/local/src/main/java/cn/toesbieya/jxc/service/doc/BizPurchaseOrderService.java index 0b4e20a..0f88c5f 100644 --- a/java/local/src/main/java/cn/toesbieya/jxc/service/doc/BizPurchaseOrderService.java +++ b/java/local/src/main/java/cn/toesbieya/jxc/service/doc/BizPurchaseOrderService.java @@ -129,7 +129,7 @@ public class BizPurchaseOrderService { .pid(id) .type(DocHistoryEnum.WITHDRAW.getCode()) .uid(user.getId()) - .uname(user.getName()) + .uname(user.getNickName()) .statusBefore(DocStatusEnum.WAIT_VERIFY.getCode()) .statusAfter(DocStatusEnum.DRAFT.getCode()) .time(System.currentTimeMillis()) @@ -153,7 +153,7 @@ public class BizPurchaseOrderService { Wrappers.lambdaUpdate(BizPurchaseOrder.class) .set(BizPurchaseOrder::getStatus, DocStatusEnum.VERIFIED.getCode()) .set(BizPurchaseOrder::getVid, user.getId()) - .set(BizPurchaseOrder::getVname, user.getName()) + .set(BizPurchaseOrder::getVname, user.getNickName()) .set(BizPurchaseOrder::getVtime, now) .eq(BizPurchaseOrder::getId, id) .eq(BizPurchaseOrder::getStatus, DocStatusEnum.WAIT_VERIFY.getCode()) @@ -166,7 +166,7 @@ public class BizPurchaseOrderService { .pid(id) .type(DocHistoryEnum.PASS.getCode()) .uid(user.getId()) - .uname(user.getName()) + .uname(user.getNickName()) .statusBefore(DocStatusEnum.WAIT_VERIFY.getCode()) .statusAfter(DocStatusEnum.VERIFIED.getCode()) .time(now) @@ -193,7 +193,7 @@ public class BizPurchaseOrderService { .pid(id) .type(DocHistoryEnum.REJECT.getCode()) .uid(user.getId()) - .uname(user.getName()) + .uname(user.getNickName()) .statusBefore(DocStatusEnum.WAIT_VERIFY.getCode()) .statusAfter(DocStatusEnum.DRAFT.getCode()) .time(System.currentTimeMillis()) diff --git a/java/local/src/main/java/cn/toesbieya/jxc/service/doc/BizSellOrderService.java b/java/local/src/main/java/cn/toesbieya/jxc/service/doc/BizSellOrderService.java index a5e5289..ed5c642 100644 --- a/java/local/src/main/java/cn/toesbieya/jxc/service/doc/BizSellOrderService.java +++ b/java/local/src/main/java/cn/toesbieya/jxc/service/doc/BizSellOrderService.java @@ -133,7 +133,7 @@ public class BizSellOrderService { .pid(id) .type(DocHistoryEnum.WITHDRAW.getCode()) .uid(user.getId()) - .uname(user.getName()) + .uname(user.getNickName()) .statusBefore(DocStatusEnum.WAIT_VERIFY.getCode()) .statusAfter(DocStatusEnum.DRAFT.getCode()) .time(System.currentTimeMillis()) @@ -157,7 +157,7 @@ public class BizSellOrderService { Wrappers.lambdaUpdate(BizSellOrder.class) .set(BizSellOrder::getStatus, DocStatusEnum.VERIFIED.getCode()) .set(BizSellOrder::getVid, user.getId()) - .set(BizSellOrder::getVname, user.getName()) + .set(BizSellOrder::getVname, user.getNickName()) .set(BizSellOrder::getVtime, now) .eq(BizSellOrder::getId, id) .eq(BizSellOrder::getStatus, DocStatusEnum.WAIT_VERIFY.getCode()) @@ -170,7 +170,7 @@ public class BizSellOrderService { .pid(id) .type(DocHistoryEnum.PASS.getCode()) .uid(user.getId()) - .uname(user.getName()) + .uname(user.getNickName()) .statusBefore(DocStatusEnum.WAIT_VERIFY.getCode()) .statusAfter(DocStatusEnum.VERIFIED.getCode()) .time(now) @@ -197,7 +197,7 @@ public class BizSellOrderService { .pid(id) .type(DocHistoryEnum.REJECT.getCode()) .uid(user.getId()) - .uname(user.getName()) + .uname(user.getNickName()) .statusBefore(DocStatusEnum.WAIT_VERIFY.getCode()) .statusAfter(DocStatusEnum.DRAFT.getCode()) .time(System.currentTimeMillis()) diff --git a/java/local/src/main/java/cn/toesbieya/jxc/service/doc/BizSellOutboundService.java b/java/local/src/main/java/cn/toesbieya/jxc/service/doc/BizSellOutboundService.java index beda08c..8c64ac5 100644 --- a/java/local/src/main/java/cn/toesbieya/jxc/service/doc/BizSellOutboundService.java +++ b/java/local/src/main/java/cn/toesbieya/jxc/service/doc/BizSellOutboundService.java @@ -141,7 +141,7 @@ public class BizSellOutboundService { .pid(id) .type(DocHistoryEnum.WITHDRAW.getCode()) .uid(user.getId()) - .uname(user.getName()) + .uname(user.getNickName()) .statusBefore(DocStatusEnum.WAIT_VERIFY.getCode()) .statusAfter(DocStatusEnum.DRAFT.getCode()) .time(System.currentTimeMillis()) @@ -170,7 +170,7 @@ public class BizSellOutboundService { Wrappers.lambdaUpdate(BizSellOutbound.class) .set(BizSellOutbound::getStatus, DocStatusEnum.VERIFIED.getCode()) .set(BizSellOutbound::getVid, user.getId()) - .set(BizSellOutbound::getVname, user.getName()) + .set(BizSellOutbound::getVname, user.getNickName()) .set(BizSellOutbound::getVtime, now) .eq(BizSellOutbound::getId, id) .eq(BizSellOutbound::getStatus, DocStatusEnum.WAIT_VERIFY.getCode()) @@ -237,7 +237,7 @@ public class BizSellOutboundService { .pid(id) .type(DocHistoryEnum.PASS.getCode()) .uid(user.getId()) - .uname(user.getName()) + .uname(user.getNickName()) .statusBefore(DocStatusEnum.WAIT_VERIFY.getCode()) .statusAfter(DocStatusEnum.VERIFIED.getCode()) .time(now) @@ -264,7 +264,7 @@ public class BizSellOutboundService { .pid(id) .type(DocHistoryEnum.REJECT.getCode()) .uid(user.getId()) - .uname(user.getName()) + .uname(user.getNickName()) .statusBefore(DocStatusEnum.WAIT_VERIFY.getCode()) .statusAfter(DocStatusEnum.DRAFT.getCode()) .time(System.currentTimeMillis()) diff --git a/java/local/src/main/java/cn/toesbieya/jxc/service/sys/SysUserService.java b/java/local/src/main/java/cn/toesbieya/jxc/service/sys/SysUserService.java index 034c58d..ba2f100 100644 --- a/java/local/src/main/java/cn/toesbieya/jxc/service/sys/SysUserService.java +++ b/java/local/src/main/java/cn/toesbieya/jxc/service/sys/SysUserService.java @@ -36,7 +36,8 @@ public class SysUserService { public PageResult search(UserSearch vo) { Integer id = vo.getId(); - String name = vo.getName(); + String loginName = vo.getLoginName(); + String nickName = vo.getNickName(); String roleIds = vo.getRole(); Boolean enable = vo.getEnable(); Long startTime = vo.getStartTime(); @@ -46,7 +47,8 @@ public class SysUserService { Wrappers.lambdaQuery(SysUser.class) .eq(SysUser::isAdmin, false) .eq(id != null, SysUser::getId, id) - .like(!StringUtils.isEmpty(name), SysUser::getName, name) + .like(!StringUtils.isEmpty(loginName), SysUser::getLoginName, loginName) + .like(!StringUtils.isEmpty(nickName), SysUser::getNickName, nickName) .inSql(!StringUtils.isEmpty(roleIds), SysUser::getRole, roleIds) .eq(enable != null, SysUser::isEnable, enable) .ge(startTime != null, SysUser::getCtime, startTime) @@ -107,10 +109,13 @@ public class SysUserService { return new PageResult<>(pageResult.getTotal(), result); } - @UserAction("'添加用户:'+#user.name") + @UserAction("'添加用户:'+#user.loginName") public R add(SysUser user) { - if (isNameExist(user.getName(), null)) { - return R.fail("该用户名称已存在"); + if (isLoginNameExist(user.getLoginName(), null)) { + return R.fail("该登录名已存在"); + } + if (isNickNameExist(user.getNickName(), null)) { + return R.fail("该用户昵称已存在"); } user.setId(null); @@ -121,19 +126,19 @@ public class SysUserService { return R.success("添加成功"); } - @UserAction("'修改用户:'+#user.name") + @UserAction("'修改用户:'+#user.loginName") public R update(SysUser user) { Integer id = user.getId(); - String name = user.getName(); + String name = user.getNickName(); - if (isNameExist(name, id)) { - return R.fail("该用户名称已存在"); + if (isNickNameExist(name, id)) { + return R.fail("该用户昵称已存在"); } userMapper.update( null, Wrappers.lambdaUpdate(SysUser.class) - .set(SysUser::getName, name) + .set(SysUser::getNickName, name) .set(SysUser::getRole, user.getRole()) .set(SysUser::getDept, user.getDept()) .set(SysUser::isEnable, user.isEnable()) @@ -143,7 +148,7 @@ public class SysUserService { return R.success("修改成功"); } - @UserAction("'删除用户:'+#user.name") + @UserAction("'删除用户:'+#user.loginName") @Transactional(rollbackFor = Exception.class) public R del(SysUser user) { int rows = userMapper.delete( @@ -168,7 +173,7 @@ public class SysUserService { return R.success("踢出成功"); } - @UserAction("'重置用户密码:'+#user.name") + @UserAction("'重置用户密码:'+#user.loginName") public R resetPwd(SysUser user) { int rows = userMapper.update( null, @@ -179,11 +184,21 @@ public class SysUserService { return rows > 0 ? R.success() : R.fail("重置失败,未匹配到用户"); } - //用户名重复时返回true - private boolean isNameExist(String name, Integer id) { + //登录名重复时返回true + private boolean isLoginNameExist(String name, Integer id) { + Integer num = userMapper.selectCount( + Wrappers.lambdaQuery(SysUser.class) + .eq(SysUser::getLoginName, name) + .ne(id != null, SysUser::getId, id) + ); + return num != null && num > 0; + } + + //用户昵称重复时返回true + private boolean isNickNameExist(String name, Integer id) { Integer num = userMapper.selectCount( Wrappers.lambdaQuery(SysUser.class) - .eq(SysUser::getName, name) + .eq(SysUser::getNickName, name) .ne(id != null, SysUser::getId, id) ); return num != null && num > 0; diff --git a/java/local/src/main/java/cn/toesbieya/jxc/util/ThreadUtil.java b/java/local/src/main/java/cn/toesbieya/jxc/util/ThreadUtil.java index 3561f77..a2b488b 100644 --- a/java/local/src/main/java/cn/toesbieya/jxc/util/ThreadUtil.java +++ b/java/local/src/main/java/cn/toesbieya/jxc/util/ThreadUtil.java @@ -16,7 +16,7 @@ public class ThreadUtil { RecUserAction userAction = RecUserAction.builder() .uid(user.getId()) - .uname(user.getName()) + .uname(user.getNickName()) .ip(IpUtil.getIp(request)) .url(request.getServletPath()) .build(); diff --git a/vue/src/api/account/index.js b/vue/src/api/account/index.js index 28aaaa8..0e51726 100644 --- a/vue/src/api/account/index.js +++ b/vue/src/api/account/index.js @@ -16,8 +16,14 @@ export const updateAvatar = new GetApi( export const validate = new GetApi(`/account/validate`, pwd => ({params: {pwd}})) -export const checkName = new GetApi( - `/account/checkName`, +export const checkLoginName = new GetApi( + `/account/checkLoginName`, + (name, id) => ({params: {name, id}}), + p => p.then(({data}) => data) +) + +export const checkNickName = new GetApi( + `/account/checkNickName`, (name, id) => ({params: {name, id}}), p => p.then(({data}) => data) ) diff --git a/vue/src/config/index.js b/vue/src/config/index.js index f52a606..d228f6a 100644 --- a/vue/src/config/index.js +++ b/vue/src/config/index.js @@ -24,7 +24,7 @@ module.exports = { useMock: false, //socket连接地址 - socketUrl: isDev ? 'http://localhost:12580' : 'https://toesbieya.cn:12580', + socketUrl: isDev ? 'http://localhost:12580' : 'https://toesbieya.cn', //侧边栏顶上的logo地址 sidebarLogoUrl: 'https://wpimg.wallstcn.com/69a1c46c-eb1c-4b46-8bd4-e9e686ef5251.png', diff --git a/vue/src/store/module/socket.js b/vue/src/store/module/socket.js index e477f1e..4a9f81b 100644 --- a/vue/src/store/module/socket.js +++ b/vue/src/store/module/socket.js @@ -32,7 +32,7 @@ const actions = { } function initSocket({id, token}) { - return new SocketIO(socketUrl, {query: {id, token}}) + return new SocketIO(socketUrl, {query: {id, token}, transports: ['websocket']}) } function defaultEventBind(socket, {state, commit, dispatch}) { diff --git a/vue/src/view/app/login/RegisterForm.vue b/vue/src/view/app/login/RegisterForm.vue index cd41d6e..aaea55e 100644 --- a/vue/src/view/app/login/RegisterForm.vue +++ b/vue/src/view/app/login/RegisterForm.vue @@ -4,7 +4,14 @@ - + + + + + + + + @@ -47,7 +54,7 @@