重新调整结构的测试

This commit is contained in:
YunaiV
2020-07-02 19:06:32 +08:00
parent 1e4ef483a7
commit 8121aee460
28 changed files with 660 additions and 11 deletions

View File

@@ -0,0 +1,13 @@
package cn.iocoder.mall.userservice.app;
import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;
@SpringBootApplication(scanBasePackages = {"cn.iocoder.mall.userservice"})
public class UserServiceApplication {
public static void main(String[] args) {
SpringApplication.run(UserServiceApplication.class, args);
}
}

View File

@@ -0,0 +1,28 @@
package cn.iocoder.mall.userservice.app.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

@@ -0,0 +1,18 @@
package cn.iocoder.mall.userservice.app.convert.user;
import cn.iocoder.mall.userservice.app.service.user.bo.UserBO;
import cn.iocoder.mall.userservice.app.dal.mysql.dataobject.user.UserDO;
import cn.iocoder.mall.userservice.rpc.user.vo.UserVO;
import org.mapstruct.Mapper;
import org.mapstruct.factory.Mappers;
@Mapper
public interface UserConvert {
UserConvert INSTANCE = Mappers.getMapper(UserConvert.class);
UserVO convert(UserBO bean);
UserBO convert(UserDO bean);
}

View File

@@ -0,0 +1,50 @@
package cn.iocoder.mall.userservice.app.dal.mysql.dataobject.user;
import cn.iocoder.common.framework.constant.CommonStatusEnum;
import cn.iocoder.mall.mybatis.dataobject.DeletableDO;
import com.baomidou.mybatisplus.annotation.TableName;
import lombok.Data;
import lombok.EqualsAndHashCode;
import lombok.experimental.Accessors;
/**
* 用户实体
*/
@TableName(value = "users")
@Data
@EqualsAndHashCode(callSuper = true)
@Accessors(chain = true)
public class UserDO extends DeletableDO {
/**
* 用户编号
*/
private Integer id;
/**
* 昵称
*/
private String nickname;
/**
* 头像
*/
private String avatar;
/**
* 用户状态
*
* 枚举 {@link CommonStatusEnum}
*/
private Integer status;
/**
* 手机
*/
private String mobile;
/**
* 经过加密的密码串
*/
private String password;
/**
* {@link #password} 的盐
*/
private String passwordSalt;
}

View File

@@ -0,0 +1 @@
package cn.iocoder.mall.userservice.app.dal.mysql.mapper;

View File

@@ -0,0 +1,12 @@
package cn.iocoder.mall.userservice.app.dal.mysql.mapper.user;
import cn.iocoder.mall.userservice.app.dal.mysql.dataobject.user.UserDO;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import org.springframework.stereotype.Repository;
@Repository
public interface UserMapper extends BaseMapper<UserDO> {
}

View File

@@ -0,0 +1,21 @@
package cn.iocoder.mall.userservice.app.manager.user;
import cn.iocoder.mall.userservice.app.service.user.bo.UserBO;
import cn.iocoder.mall.userservice.app.service.user.UserService;
import cn.iocoder.mall.userservice.app.convert.user.UserConvert;
import cn.iocoder.mall.userservice.rpc.user.vo.UserVO;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
@Service
public class UserManager {
@Autowired
private UserService userService;
public UserVO getUser(Integer id) {
UserBO userBO = userService.getUser(id);
return UserConvert.INSTANCE.convert(userBO);
}
}

View File

@@ -0,0 +1,23 @@
package cn.iocoder.mall.userservice.app.rpc.user;
import cn.iocoder.common.framework.vo.CommonResult;
import cn.iocoder.mall.userservice.app.manager.user.UserManager;
import cn.iocoder.mall.userservice.rpc.user.UserRpc;
import cn.iocoder.mall.userservice.rpc.user.vo.UserVO;
import org.apache.dubbo.config.annotation.Service;
import org.springframework.beans.factory.annotation.Autowired;
import static cn.iocoder.common.framework.vo.CommonResult.success;
@Service(version = "${dubbo.provider.UserRpc.version}", validation = "true")
public class UserRpcImpl implements UserRpc {
@Autowired
private UserManager userManager;
@Override
public CommonResult<UserVO> getUser(Integer id) {
return success(userManager.getUser(id));
}
}

View File

@@ -0,0 +1,21 @@
package cn.iocoder.mall.userservice.app.service.user;
import cn.iocoder.mall.userservice.app.dal.mysql.dataobject.user.UserDO;
import cn.iocoder.mall.userservice.app.dal.mysql.mapper.user.UserMapper;
import cn.iocoder.mall.userservice.app.service.user.bo.UserBO;
import cn.iocoder.mall.userservice.biz.convert.user.UserConvert;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
@Service
public class UserService {
@Autowired
private UserMapper userMapper;
public UserBO getUser(Integer id) {
UserDO userDO = userMapper.selectById(id);
return UserConvert.INSTANCE.convert(userDO);
}
}

View File

@@ -0,0 +1,4 @@
package cn.iocoder.mall.userservice.app.service.user.bo;
public class UserBO {
}