完成 AdminUserApi、SocialUserApi 的 feign 支持

This commit is contained in:
YunaiV
2022-06-16 08:52:05 +08:00
parent cca4c9fceb
commit 97bcee429b
20 changed files with 111 additions and 408 deletions

View File

@@ -1,39 +0,0 @@
package cn.iocoder.mall.userservice.enums.sms;
import cn.iocoder.common.framework.core.IntArrayValuable;
import java.util.Arrays;
/**
* 用户短信验证码发送场景的枚举
*/
public enum UserSmsSceneEnum implements IntArrayValuable {
LOGIN_BY_SMS(1, "手机号登陆"),
CHANGE_MOBILE_BY_SMS(2, "更换手机号"),
;
public static final int[] ARRAYS = Arrays.stream(values()).mapToInt(UserSmsSceneEnum::getValue).toArray();
private final Integer value;
private final String name;
UserSmsSceneEnum(Integer value, String name) {
this.value = value;
this.name = name;
}
@Override
public int[] array() {
return ARRAYS;
}
public Integer getValue() {
return value;
}
public String getName() {
return name;
}
}

View File

@@ -1,21 +0,0 @@
package cn.iocoder.mall.userservice.rpc.sms;
import cn.iocoder.common.framework.vo.CommonResult;
import cn.iocoder.mall.userservice.rpc.sms.dto.UserSendSmsCodeReqDTO;
import cn.iocoder.mall.userservice.rpc.sms.dto.UserVerifySmsCodeReqDTO;
import org.springframework.cloud.openfeign.FeignClient;
import org.springframework.web.bind.annotation.PostMapping;
import org.springframework.web.bind.annotation.RequestBody;
/**
* 用户短信验证码 Rpc 接口
*/
@FeignClient("user-service")
public interface UserSmsCodeFeign {
@PostMapping("/user/sms/sendSmsCode")
public CommonResult<Boolean> sendSmsCode(@RequestBody UserSendSmsCodeReqDTO sendSmsCodeDTO) ;
@PostMapping("/user/sms/sverifySmsCode")
public CommonResult<Boolean> verifySmsCode(@RequestBody UserVerifySmsCodeReqDTO verifySmsCodeDTO);
}

View File

@@ -1,37 +0,0 @@
package cn.iocoder.mall.userservice.rpc.sms.dto;
import cn.iocoder.common.framework.validator.InEnum;
import cn.iocoder.mall.userservice.enums.sms.UserSmsSceneEnum;
import lombok.Builder;
import lombok.Data;
import lombok.experimental.Accessors;
import javax.validation.constraints.NotNull;
import java.io.Serializable;
/**
* 用户发送短信验证码 Request DTO
*/
@Data
@Accessors(chain = true)
@Builder
public class UserSendSmsCodeReqDTO implements Serializable {
/**
* 手机号码
*/
@NotNull(message = "手机号码不能为空")
private String mobile;
/**
* IP
*/
@NotNull(message = "IP 不能为空")
private String ip;
/**
* 发送场景
*/
@NotNull(message = "发送场景不能为空")
@InEnum(value = UserSmsSceneEnum.class, message = "发送场景不能为空")
private Integer scene;
}

View File

@@ -1,42 +0,0 @@
package cn.iocoder.mall.userservice.rpc.sms.dto;
import cn.iocoder.common.framework.validator.InEnum;
import cn.iocoder.mall.userservice.enums.sms.UserSmsSceneEnum;
import lombok.Builder;
import lombok.Data;
import lombok.experimental.Accessors;
import javax.validation.constraints.NotNull;
import java.io.Serializable;
/**
* 用户校验验证码 Request DTO
*/
@Data
@Accessors(chain = true)
@Builder
public class UserVerifySmsCodeReqDTO implements Serializable {
/**
* 手机号码
*/
@NotNull(message = "手机号码不能为空")
private String mobile;
/**
* IP
*/
@NotNull(message = "IP 不能为空")
private String ip;
/**
* 发送场景
*/
@NotNull(message = "发送场景不能为空")
@InEnum(value = UserSmsSceneEnum.class, message = "发送场景不能为空")
private Integer scene;
/**
* 验证码
*/
@NotNull(message = "验证码不能为空")
private String code;
}

View File

@@ -1,28 +0,0 @@
package cn.iocoder.mall.userservice.config;
import com.baomidou.mybatisplus.core.injector.DefaultSqlInjector;
import com.baomidou.mybatisplus.core.injector.ISqlInjector;
import com.baomidou.mybatisplus.extension.plugins.PaginationInterceptor;
import org.mybatis.spring.annotation.MapperScan;
import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration;
import org.springframework.transaction.annotation.EnableTransactionManagement;
@Configuration
@MapperScan("cn.iocoder.mall.userservice.dal.mysql.mapper") // 扫描对应的 Mapper 接口
@EnableTransactionManagement(proxyTargetClass = true) // 启动事务管理。
public class DatabaseConfiguration {
// 数据库连接池 Druid
@Bean
public ISqlInjector sqlInjector() {
return new DefaultSqlInjector(); // MyBatis Plus 逻辑删除
}
@Bean
public PaginationInterceptor paginationInterceptor() {
return new PaginationInterceptor(); // MyBatis Plus 分页插件
}
}

View File

@@ -1,32 +0,0 @@
package cn.iocoder.mall.userservice.controller;
import cn.iocoder.common.framework.vo.CommonResult;
import cn.iocoder.mall.userservice.manager.sms.UserSmsCodeManager;
import cn.iocoder.mall.userservice.rpc.sms.dto.UserSendSmsCodeReqDTO;
import cn.iocoder.mall.userservice.rpc.sms.dto.UserVerifySmsCodeReqDTO;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.PostMapping;
import org.springframework.web.bind.annotation.RequestBody;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;
@RestController
@RequestMapping("/user/sms")
public class UserSmsCodeController {
@Autowired
private UserSmsCodeManager userSmsCodeManager;
@PostMapping("sendSmsCode")
public CommonResult<Boolean> sendSmsCode(@RequestBody UserSendSmsCodeReqDTO sendSmsCodeDTO) {
userSmsCodeManager.sendSmsCode(sendSmsCodeDTO);
return CommonResult.success(true);
}
@PostMapping("verifySmsCode")
public CommonResult<Boolean> verifySmsCode(@RequestBody UserVerifySmsCodeReqDTO verifySmsCodeDTO) {
userSmsCodeManager.verifySmsCode(verifySmsCodeDTO);
return CommonResult.success(true);
}
}

View File

@@ -1,36 +0,0 @@
package cn.iocoder.mall.userservice.convert.address;
import cn.iocoder.mall.userservice.dal.mysql.dataobject.address.UserAddressDO;
import cn.iocoder.mall.userservice.rpc.address.dto.UserAddressCreateReqDTO;
import cn.iocoder.mall.userservice.rpc.address.dto.UserAddressRespDTO;
import cn.iocoder.mall.userservice.rpc.address.dto.UserAddressUpdateReqDTO;
import cn.iocoder.mall.userservice.service.address.bo.UserAddressBO;
import cn.iocoder.mall.userservice.service.address.bo.UserAddressCreateBO;
import cn.iocoder.mall.userservice.service.address.bo.UserAddressUpdateBO;
import org.mapstruct.Mapper;
import org.mapstruct.factory.Mappers;
import java.util.List;
@Mapper
public interface UserAddressConvert {
UserAddressConvert INSTANCE = Mappers.getMapper(UserAddressConvert.class);
UserAddressDO convert(UserAddressCreateBO bean);
UserAddressBO convert(UserAddressDO bean);
UserAddressDO convert(UserAddressUpdateBO bean);
List<UserAddressBO> convertList(List<UserAddressDO> list);
UserAddressCreateBO convert(UserAddressCreateReqDTO bean);
UserAddressUpdateBO convert(UserAddressUpdateReqDTO bean);
UserAddressRespDTO convert(UserAddressBO bean);
List<UserAddressRespDTO> convertList02(List<UserAddressBO> list);
}

View File

@@ -1,49 +0,0 @@
package cn.iocoder.mall.userservice.convert.user;
import cn.iocoder.common.framework.vo.PageResult;
import cn.iocoder.mall.userservice.rpc.user.dto.UserCreateReqDTO;
import cn.iocoder.mall.userservice.rpc.user.dto.UserPageReqDTO;
import cn.iocoder.mall.userservice.rpc.user.dto.UserUpdateReqDTO;
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.dto.UserRespDTO;
import cn.iocoder.mall.userservice.service.user.bo.UserCreateBO;
import cn.iocoder.mall.userservice.service.user.bo.UserPageBO;
import cn.iocoder.mall.userservice.service.user.bo.UserUpdateBO;
import com.baomidou.mybatisplus.core.metadata.IPage;
import org.mapstruct.Mapper;
import org.mapstruct.Mapping;
import org.mapstruct.factory.Mappers;
import java.util.List;
@Mapper
public interface UserConvert {
UserConvert INSTANCE = Mappers.getMapper(UserConvert.class);
UserRespDTO convert(UserBO bean);
UserBO convert(UserDO bean);
UserDO convert(UserCreateBO bean);
@Mapping(source = "ip", target = "createIp")
UserCreateBO convert(UserCreateReqDTO bean);
UserDO convert(UserUpdateBO bean);
@Mapping(source = "records", target = "list")
PageResult<UserBO> convertPage(IPage<UserDO> page);
UserUpdateBO convert(UserUpdateReqDTO bean);
List<UserBO> convertList(List<UserDO> list);
UserPageBO convert(UserPageReqDTO bean);
PageResult<UserRespDTO> convertPage(PageResult<UserBO> page);
List<UserRespDTO> convertList02(List<UserBO> list);
}