From 3cbd8724973a8fa7e51b546b3eafb5430ad9ef7f Mon Sep 17 00:00:00 2001 From: YunaiV <> Date: Fri, 3 Jul 2020 20:42:35 +0800 Subject: [PATCH] =?UTF-8?q?=E5=AE=8C=E6=88=90=E5=BF=AB=E9=80=9F=E7=99=BB?= =?UTF-8?q?=E5=BD=95=E5=8A=9F=E8=83=BD=EF=BC=8C=E4=BB=A5=E5=8F=8A=E8=87=AA?= =?UTF-8?q?=E6=B5=8B=E3=80=82?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../common/framework/util/DigestUtils.java | 4 ++++ .../framework/util/ServiceExceptionUtil.java | 2 +- user-service-project/user-service-app/pom.xml | 2 -- .../config/ServiceExceptionConfiguration.java | 20 +++++++++++++++++++ .../userservice/convert/user/UserConvert.java | 5 ++++- .../mysql/dataobject/sms/UserSmsCodeDO.java | 2 ++ .../dal/mysql/dataobject/user/UserDO.java | 6 ++++-- .../userservice/manager/user/UserManager.java | 10 +++++----- .../userservice/service/user/UserService.java | 6 ++++-- .../service/user/bo/UserCreateBO.java | 2 +- .../src/main/resources/application-dev.yaml | 2 +- .../src/main/resources/application-local.yaml | 2 +- .../passport/UserPassportController.java | 8 +++++--- .../src/main/resources/application.yml | 1 + 14 files changed, 53 insertions(+), 19 deletions(-) create mode 100644 user-service-project/user-service-app/src/main/java/cn/iocoder/mall/userservice/config/ServiceExceptionConfiguration.java diff --git a/common/common-framework/src/main/java/cn/iocoder/common/framework/util/DigestUtils.java b/common/common-framework/src/main/java/cn/iocoder/common/framework/util/DigestUtils.java index 63ad9ea00..9180b1ab6 100644 --- a/common/common-framework/src/main/java/cn/iocoder/common/framework/util/DigestUtils.java +++ b/common/common-framework/src/main/java/cn/iocoder/common/framework/util/DigestUtils.java @@ -7,6 +7,10 @@ import cn.hutool.crypto.digest.BCrypt; */ public class DigestUtils { + public static String genBcryptSalt() { + return BCrypt.gensalt(); + } + public static String bcrypt(String key, String salt) { return BCrypt.hashpw(key, salt); } diff --git a/common/common-framework/src/main/java/cn/iocoder/common/framework/util/ServiceExceptionUtil.java b/common/common-framework/src/main/java/cn/iocoder/common/framework/util/ServiceExceptionUtil.java index cc84a8eeb..7fc1fa1c2 100644 --- a/common/common-framework/src/main/java/cn/iocoder/common/framework/util/ServiceExceptionUtil.java +++ b/common/common-framework/src/main/java/cn/iocoder/common/framework/util/ServiceExceptionUtil.java @@ -85,7 +85,7 @@ public class ServiceExceptionUtil { * @return 异常 */ public static ServiceException exception(Integer code) { - return exception(code, messages.get(code)); + return exception0(code, messages.get(code)); } /** diff --git a/user-service-project/user-service-app/pom.xml b/user-service-project/user-service-app/pom.xml index 773f80004..52d13a255 100644 --- a/user-service-project/user-service-app/pom.xml +++ b/user-service-project/user-service-app/pom.xml @@ -11,8 +11,6 @@ user-service-app - - com.alibaba.cloud diff --git a/user-service-project/user-service-app/src/main/java/cn/iocoder/mall/userservice/config/ServiceExceptionConfiguration.java b/user-service-project/user-service-app/src/main/java/cn/iocoder/mall/userservice/config/ServiceExceptionConfiguration.java new file mode 100644 index 000000000..566dbf356 --- /dev/null +++ b/user-service-project/user-service-app/src/main/java/cn/iocoder/mall/userservice/config/ServiceExceptionConfiguration.java @@ -0,0 +1,20 @@ +package cn.iocoder.mall.userservice.config; + +import cn.iocoder.common.framework.util.ServiceExceptionUtil; +import cn.iocoder.mall.userservice.enums.UserErrorCodeEnum; +import org.springframework.boot.context.event.ApplicationReadyEvent; +import org.springframework.context.annotation.Configuration; +import org.springframework.context.event.EventListener; + +import java.util.Arrays; + +@Configuration +public class ServiceExceptionConfiguration { + + @EventListener(ApplicationReadyEvent.class) + public void initMessages() { + Arrays.stream(UserErrorCodeEnum.values()).forEach( + item -> ServiceExceptionUtil.put(item.getCode(), item.getMessage())); + } + +} diff --git a/user-service-project/user-service-app/src/main/java/cn/iocoder/mall/userservice/convert/user/UserConvert.java b/user-service-project/user-service-app/src/main/java/cn/iocoder/mall/userservice/convert/user/UserConvert.java index 7b5d028b5..da889d885 100644 --- a/user-service-project/user-service-app/src/main/java/cn/iocoder/mall/userservice/convert/user/UserConvert.java +++ b/user-service-project/user-service-app/src/main/java/cn/iocoder/mall/userservice/convert/user/UserConvert.java @@ -1,5 +1,6 @@ package cn.iocoder.mall.userservice.convert.user; +import cn.iocoder.mall.userservice.rpc.user.dto.UserCreateDTO; import cn.iocoder.mall.userservice.service.user.bo.UserBO; import cn.iocoder.mall.userservice.dal.mysql.dataobject.user.UserDO; import cn.iocoder.mall.userservice.rpc.user.vo.UserVO; @@ -17,7 +18,9 @@ public interface UserConvert { UserBO convert(UserDO bean); - @Mapping(source = "ip", target = "createIp") UserDO convert(UserCreateBO bean); + @Mapping(source = "ip", target = "createIp") + UserCreateBO convert(UserCreateDTO createDTO); + } diff --git a/user-service-project/user-service-app/src/main/java/cn/iocoder/mall/userservice/dal/mysql/dataobject/sms/UserSmsCodeDO.java b/user-service-project/user-service-app/src/main/java/cn/iocoder/mall/userservice/dal/mysql/dataobject/sms/UserSmsCodeDO.java index 1ad03ecbf..d0aaa141e 100644 --- a/user-service-project/user-service-app/src/main/java/cn/iocoder/mall/userservice/dal/mysql/dataobject/sms/UserSmsCodeDO.java +++ b/user-service-project/user-service-app/src/main/java/cn/iocoder/mall/userservice/dal/mysql/dataobject/sms/UserSmsCodeDO.java @@ -11,6 +11,8 @@ import java.util.Date; /** * 手机验证码 DO + * + * idx_mobile 索引:基于 {@link #mobile} 字段 */ @TableName("user_sms_code") @Data diff --git a/user-service-project/user-service-app/src/main/java/cn/iocoder/mall/userservice/dal/mysql/dataobject/user/UserDO.java b/user-service-project/user-service-app/src/main/java/cn/iocoder/mall/userservice/dal/mysql/dataobject/user/UserDO.java index 9156de8f9..13ed10413 100644 --- a/user-service-project/user-service-app/src/main/java/cn/iocoder/mall/userservice/dal/mysql/dataobject/user/UserDO.java +++ b/user-service-project/user-service-app/src/main/java/cn/iocoder/mall/userservice/dal/mysql/dataobject/user/UserDO.java @@ -1,7 +1,7 @@ package cn.iocoder.mall.userservice.dal.mysql.dataobject.user; import cn.iocoder.common.framework.constant.CommonStatusEnum; -import cn.iocoder.mall.mybatis.dataobject.DeletableDO; +import cn.iocoder.mall.mybatis.dataobject.BaseDO; import com.baomidou.mybatisplus.annotation.TableName; import lombok.Data; import lombok.EqualsAndHashCode; @@ -9,12 +9,14 @@ import lombok.experimental.Accessors; /** * 用户实体 + * + * uk_mobile 索引:基于 {@link #mobile} 字段 */ @TableName(value = "users") @Data @EqualsAndHashCode(callSuper = true) @Accessors(chain = true) -public class UserDO extends DeletableDO { +public class UserDO extends BaseDO { /** * 用户编号 diff --git a/user-service-project/user-service-app/src/main/java/cn/iocoder/mall/userservice/manager/user/UserManager.java b/user-service-project/user-service-app/src/main/java/cn/iocoder/mall/userservice/manager/user/UserManager.java index 671bbb862..9f0636a6a 100644 --- a/user-service-project/user-service-app/src/main/java/cn/iocoder/mall/userservice/manager/user/UserManager.java +++ b/user-service-project/user-service-app/src/main/java/cn/iocoder/mall/userservice/manager/user/UserManager.java @@ -1,10 +1,10 @@ package cn.iocoder.mall.userservice.manager.user; -import cn.iocoder.mall.userservice.rpc.user.dto.UserCreateDTO; -import cn.iocoder.mall.userservice.service.user.bo.UserBO; -import cn.iocoder.mall.userservice.service.user.UserService; import cn.iocoder.mall.userservice.convert.user.UserConvert; +import cn.iocoder.mall.userservice.rpc.user.dto.UserCreateDTO; import cn.iocoder.mall.userservice.rpc.user.vo.UserVO; +import cn.iocoder.mall.userservice.service.user.UserService; +import cn.iocoder.mall.userservice.service.user.bo.UserBO; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; @@ -26,8 +26,8 @@ public class UserManager { return UserConvert.INSTANCE.convert(userBO); } // 用户不存在,则进行创建 - - return null; + userBO = userService.createUser(UserConvert.INSTANCE.convert(createDTO)); + return UserConvert.INSTANCE.convert(userBO); } } diff --git a/user-service-project/user-service-app/src/main/java/cn/iocoder/mall/userservice/service/user/UserService.java b/user-service-project/user-service-app/src/main/java/cn/iocoder/mall/userservice/service/user/UserService.java index f7939a92a..f3b36c02f 100644 --- a/user-service-project/user-service-app/src/main/java/cn/iocoder/mall/userservice/service/user/UserService.java +++ b/user-service-project/user-service-app/src/main/java/cn/iocoder/mall/userservice/service/user/UserService.java @@ -1,5 +1,6 @@ package cn.iocoder.mall.userservice.service.user; +import cn.iocoder.common.framework.constant.CommonStatusEnum; import cn.iocoder.common.framework.util.DigestUtils; import cn.iocoder.common.framework.util.StringUtils; import cn.iocoder.mall.userservice.convert.user.UserConvert; @@ -27,7 +28,8 @@ public class UserService { } public UserBO createUser(UserCreateBO createBO) { - UserDO userDO = UserConvert.INSTANCE.convert(createBO); + UserDO userDO = UserConvert.INSTANCE.convert(createBO) + .setStatus(CommonStatusEnum.ENABLE.getValue()); // 加密密码 String passwordSalt = genPasswordSalt(); String password = createBO.getPassword(); @@ -42,7 +44,7 @@ public class UserService { } private String genPasswordSalt() { - return StringUtils.uuid(true); + return DigestUtils.genBcryptSalt(); } private String genPassword() { diff --git a/user-service-project/user-service-app/src/main/java/cn/iocoder/mall/userservice/service/user/bo/UserCreateBO.java b/user-service-project/user-service-app/src/main/java/cn/iocoder/mall/userservice/service/user/bo/UserCreateBO.java index fca2d118e..2ad73a31b 100644 --- a/user-service-project/user-service-app/src/main/java/cn/iocoder/mall/userservice/service/user/bo/UserCreateBO.java +++ b/user-service-project/user-service-app/src/main/java/cn/iocoder/mall/userservice/service/user/bo/UserCreateBO.java @@ -34,6 +34,6 @@ public class UserCreateBO { /** * IP 地址 */ - private String ip; + private String createIp; } diff --git a/user-service-project/user-service-app/src/main/resources/application-dev.yaml b/user-service-project/user-service-app/src/main/resources/application-dev.yaml index cfae12b0d..0b83c020b 100644 --- a/user-service-project/user-service-app/src/main/resources/application-dev.yaml +++ b/user-service-project/user-service-app/src/main/resources/application-dev.yaml @@ -1,7 +1,7 @@ spring: # 数据源配置项 datasource: - url: jdbc:mysql://400-infra.server.iocoder.cn:3306/mall_system?useSSL=false&useUnicode=true&characterEncoding=UTF-8 + url: jdbc:mysql://400-infra.server.iocoder.cn:3306/mall_user?useSSL=false&useUnicode=true&characterEncoding=UTF-8 driver-class-name: com.mysql.jdbc.Driver username: root password: 3WLiVUBEwTbvAfsh diff --git a/user-service-project/user-service-app/src/main/resources/application-local.yaml b/user-service-project/user-service-app/src/main/resources/application-local.yaml index bf97cae95..c64c2a1c0 100644 --- a/user-service-project/user-service-app/src/main/resources/application-local.yaml +++ b/user-service-project/user-service-app/src/main/resources/application-local.yaml @@ -1,7 +1,7 @@ spring: # 数据源配置项 datasource: - url: jdbc:mysql://400-infra.server.iocoder.cn:3306/mall_system?useSSL=false&useUnicode=true&characterEncoding=UTF-8 + url: jdbc:mysql://400-infra.server.iocoder.cn:3306/mall_user?useSSL=false&useUnicode=true&characterEncoding=UTF-8 driver-class-name: com.mysql.jdbc.Driver username: root password: 3WLiVUBEwTbvAfsh diff --git a/user-web-app/src/main/java/cn/iocoder/mall/userweb/controller/passport/UserPassportController.java b/user-web-app/src/main/java/cn/iocoder/mall/userweb/controller/passport/UserPassportController.java index 8c888f71f..cf27edc8b 100644 --- a/user-web-app/src/main/java/cn/iocoder/mall/userweb/controller/passport/UserPassportController.java +++ b/user-web-app/src/main/java/cn/iocoder/mall/userweb/controller/passport/UserPassportController.java @@ -14,6 +14,8 @@ import org.springframework.web.bind.annotation.RestController; import javax.servlet.http.HttpServletRequest; +import static cn.iocoder.common.framework.vo.CommonResult.success; + @RestController @RequestMapping("/passport") public class UserPassportController { @@ -26,17 +28,17 @@ public class UserPassportController { // @RequiresNone TODO 晚点加上 public CommonResult loginBySms(UserPassportLoginBySmsDTO loginBySmsDTO, HttpServletRequest request) { - return CommonResult.success(userPassportManager.loginBySms(loginBySmsDTO, HttpUtil.getIp(request))); + return success(userPassportManager.loginBySms(loginBySmsDTO, HttpUtil.getIp(request))); } - @PostMapping("/send_sms_code") + @PostMapping("/send_sms_code") @ApiOperation("发送手机验证码") // @RequiresNone TODO 晚点加上 public CommonResult sendSmsCode(UserPassportSendSmsCodeDTO sendSmsCodeDTO, HttpServletRequest request) { userPassportManager.sendSmsCode(sendSmsCodeDTO, HttpUtil.getIp(request)); // 返回成功 - return CommonResult.success(true); + return success(true); } } diff --git a/user-web-app/src/main/resources/application.yml b/user-web-app/src/main/resources/application.yml index 5022b4b3f..2ea3d1561 100644 --- a/user-web-app/src/main/resources/application.yml +++ b/user-web-app/src/main/resources/application.yml @@ -19,6 +19,7 @@ dubbo: subscribed-services: 'user-service' # 设置订阅的应用列表,默认为 * 订阅所有应用 # Dubbo 服务消费者的配置 consumer: + timeout: 10000 UserSmsCodeRpc: version: 1.0.0 UserRpc: