Browse Source

feat: 初始化项目,构建服务模块

master
xc-yjs 8 months ago
commit
0acb25d85e
  1. 56
      nla-common/pom.xml
  2. 83
      nla-common/src/test/java/tools/MyBatisPlusGenerator.java
  3. 29
      nla-user-service/pom.xml
  4. 13
      nla-user-service/src/main/java/cn/nla/user/UserApplication.java
  5. 21
      nla-user-service/src/main/java/cn/nla/user/controller/AddressController.java
  6. 21
      nla-user-service/src/main/java/cn/nla/user/controller/UserController.java
  7. 16
      nla-user-service/src/main/java/cn/nla/user/mapper/AddressMapper.java
  8. 16
      nla-user-service/src/main/java/cn/nla/user/mapper/UserMapper.java
  9. 76
      nla-user-service/src/main/java/cn/nla/user/model/AddressDO.java
  10. 76
      nla-user-service/src/main/java/cn/nla/user/model/UserDO.java
  11. 16
      nla-user-service/src/main/java/cn/nla/user/service/AddressService.java
  12. 16
      nla-user-service/src/main/java/cn/nla/user/service/UserService.java
  13. 20
      nla-user-service/src/main/java/cn/nla/user/service/impl/AddressServiceImpl.java
  14. 20
      nla-user-service/src/main/java/cn/nla/user/service/impl/UserServiceImpl.java
  15. 21
      nla-user-service/src/main/resources/application.yml
  16. 24
      nla-user-service/src/main/resources/mapper/AddressMapper.xml
  17. 24
      nla-user-service/src/main/resources/mapper/UserMapper.xml
  18. 133
      pom.xml

56
nla-common/pom.xml

@ -0,0 +1,56 @@
<?xml version="1.0" encoding="UTF-8"?>
<project xmlns="http://maven.apache.org/POM/4.0.0"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
<parent>
<artifactId>nla-shop</artifactId>
<groupId>cn.nla</groupId>
<version>1.0-SNAPSHOT</version>
</parent>
<modelVersion>4.0.0</modelVersion>
<artifactId>nla-common</artifactId>
<description>公共模块</description>
<properties>
<maven.compiler.source>11</maven.compiler.source>
<maven.compiler.target>11</maven.compiler.target>
</properties>
<dependencies>
<dependency>
<groupId>org.projectlombok</groupId>
<artifactId>lombok</artifactId>
</dependency>
<!--项⽬中添加 spring-boot-starter-->
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-web</artifactId>
</dependency>
<dependency>
<groupId>mysql</groupId>
<artifactId>mysql-connector-java</artifactId>
</dependency>
<dependency>
<groupId>com.baomidou</groupId>
<artifactId>mybatis-plus-boot-starter</artifactId>
</dependency>
<!-- 代码⾃动⽣成依赖 begin -->
<dependency>
<groupId>com.baomidou</groupId>
<artifactId>mybatis-plus-generator</artifactId>
<version>3.4.1</version>
</dependency>
<!-- velocity -->
<dependency>
<groupId>org.apache.velocity</groupId>
<artifactId>velocity-engine-core</artifactId>
<version>2.0</version>
</dependency>
<!-- 代码⾃动⽣成依赖 end-->
<!--swagger ui接⼝⽂档依赖-->
<dependency>
<groupId>io.springfox</groupId>
<artifactId>springfox-boot-starter</artifactId>
</dependency>
</dependencies>
</project>

83
nla-common/src/test/java/tools/MyBatisPlusGenerator.java

@ -0,0 +1,83 @@
package tools;
import com.baomidou.mybatisplus.annotation.DbType;
import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.generator.AutoGenerator;
import com.baomidou.mybatisplus.generator.config.DataSourceConfig;
import com.baomidou.mybatisplus.generator.config.GlobalConfig;
import com.baomidou.mybatisplus.generator.config.PackageConfig;
import com.baomidou.mybatisplus.generator.config.StrategyConfig;
import com.baomidou.mybatisplus.generator.config.rules.DateType;
import com.baomidou.mybatisplus.generator.config.rules.NamingStrategy;
/**
* 代码生成器
*/
public class MyBatisPlusGenerator {
public static void main(String[] args) {
//1. 全局配置
GlobalConfig config = new GlobalConfig();
// 是否⽀持AR模式
config.setActiveRecord(true)
// 作者
.setAuthor("YJs")
// ⽣成路径,最好使⽤绝对路径,window路径是不⼀样的
.setOutputDir("D:\\workspace\\2024\\nla-shop\\nla-user-service\\src\\main\\java")
// ⽂件覆盖
.setFileOverride(true)
// 主键策略
.setIdType(IdType.AUTO)
.setDateType(DateType.ONLY_DATE)
// 设置⽣成的service接⼝的名字的⾸字⺟是否为I,默认Service是以I开头的
.setServiceName("%sService")
//实体类结尾名称
.setEntityName("%sDO")
//⽣成基本的resultMap
.setBaseResultMap(true)
//不使⽤AR模式
.setActiveRecord(false)
//⽣成基本的SQL⽚段
.setBaseColumnList(true);
//2. 数据源配置
DataSourceConfig dsConfig = new DataSourceConfig();
// 设置数据库类型
dsConfig.setDbType(DbType.MYSQL)
.setDriverName("com.mysql.cj.jdbc.Driver")
.setUrl("jdbc:mysql://117.72.43.105:3306/p_nla_user?useSSL=false")
.setUsername("root")
.setPassword("Yuan625621105.");
//3. 策略配置globalConfiguration中
StrategyConfig stConfig = new StrategyConfig();
//全局⼤写命名
stConfig.setCapitalMode(true)
// 数据库表映射到实体的命名策略
.setNaming(NamingStrategy.underline_to_camel)
//使⽤lombok
.setEntityLombokModel(true)
//使⽤restcontroller注解
.setRestControllerStyle(true)
// ⽣成的表, ⽀持多表⼀起⽣成,以数组形式填写
.setInclude("user","address");
//4. 包名策略配置
PackageConfig pkConfig = new PackageConfig();
pkConfig.setParent("cn.nla.user")
.setMapper("mapper")
.setService("service")
.setController("controller")
.setEntity("model")
.setXml("mapper");
//5. 整合配置
AutoGenerator ag = new AutoGenerator();
ag.setGlobalConfig(config)
.setDataSource(dsConfig)
.setStrategy(stConfig)
.setPackageInfo(pkConfig);
//6. 执⾏操作
ag.execute();
System.out.println("======= NLA-Paas MyBatisPlusGenerator相关代码⽣成完毕 ========");
}
}

29
nla-user-service/pom.xml

@ -0,0 +1,29 @@
<?xml version="1.0" encoding="UTF-8"?>
<project xmlns="http://maven.apache.org/POM/4.0.0"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
<parent>
<artifactId>nla-shop</artifactId>
<groupId>cn.nla</groupId>
<version>1.0-SNAPSHOT</version>
</parent>
<modelVersion>4.0.0</modelVersion>
<artifactId>nla-user-service</artifactId>
<description>用户服务模块</description>
<properties>
<maven.compiler.source>11</maven.compiler.source>
<maven.compiler.target>11</maven.compiler.target>
</properties>
<dependencies>
<dependency>
<groupId>cn.nla</groupId>
<artifactId>nla-common</artifactId>
<version>1.0-SNAPSHOT</version>
</dependency>
<dependency>
<groupId>org.projectlombok</groupId>
<artifactId>lombok</artifactId>
</dependency>
</dependencies>
</project>

13
nla-user-service/src/main/java/cn/nla/user/UserApplication.java

@ -0,0 +1,13 @@
package cn.nla.user;
import org.mybatis.spring.annotation.MapperScan;
import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;
@SpringBootApplication
@MapperScan("cn.nla.*.mapper")
public class UserApplication {
public static void main(String[] args) {
SpringApplication.run(UserApplication.class, args);
}
}

21
nla-user-service/src/main/java/cn/nla/user/controller/AddressController.java

@ -0,0 +1,21 @@
package cn.nla.user.controller;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;
/**
* <p>
* 电商-公司收发货地址表 前端控制器
* </p>
*
* @author YJs
* @since 2024-07-29
*/
@RestController
@RequestMapping("/addressDO")
public class AddressController {
}

21
nla-user-service/src/main/java/cn/nla/user/controller/UserController.java

@ -0,0 +1,21 @@
package cn.nla.user.controller;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;
/**
* <p>
* 电商-用户表 前端控制器
* </p>
*
* @author YJs
* @since 2024-07-29
*/
@RestController
@RequestMapping("/userDO")
public class UserController {
}

16
nla-user-service/src/main/java/cn/nla/user/mapper/AddressMapper.java

@ -0,0 +1,16 @@
package cn.nla.user.mapper;
import cn.nla.user.model.AddressDO;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
/**
* <p>
* 电商-公司收发货地址表 Mapper 接口
* </p>
*
* @author YJs
* @since 2024-07-29
*/
public interface AddressMapper extends BaseMapper<AddressDO> {
}

16
nla-user-service/src/main/java/cn/nla/user/mapper/UserMapper.java

@ -0,0 +1,16 @@
package cn.nla.user.mapper;
import cn.nla.user.model.UserDO;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
/**
* <p>
* 电商-用户表 Mapper 接口
* </p>
*
* @author YJs
* @since 2024-07-29
*/
public interface UserMapper extends BaseMapper<UserDO> {
}

76
nla-user-service/src/main/java/cn/nla/user/model/AddressDO.java

@ -0,0 +1,76 @@
package cn.nla.user.model;
import com.baomidou.mybatisplus.annotation.TableName;
import com.baomidou.mybatisplus.annotation.IdType;
import java.util.Date;
import com.baomidou.mybatisplus.annotation.TableId;
import java.io.Serializable;
import lombok.Data;
import lombok.EqualsAndHashCode;
/**
* <p>
* 电商-公司收发货地址表
* </p>
*
* @author YJs
* @since 2024-07-29
*/
@Data
@EqualsAndHashCode(callSuper = false)
@TableName("address")
public class AddressDO implements Serializable {
private static final long serialVersionUID = 1L;
@TableId(value = "id", type = IdType.AUTO)
private Long id;
/**
* 用户id
*/
private Long userId;
/**
* 是否默认收货地址0-1-
*/
private Integer defaultStatus;
/**
* 收发货人姓名
*/
private String receiveName;
/**
* 收货人电话
*/
private String phone;
/**
* /直辖市
*/
private String province;
/**
*
*/
private String city;
/**
*
*/
private String region;
/**
* 详细地址
*/
private String detailAddress;
private Date createTime;
}

76
nla-user-service/src/main/java/cn/nla/user/model/UserDO.java

@ -0,0 +1,76 @@
package cn.nla.user.model;
import com.baomidou.mybatisplus.annotation.TableName;
import com.baomidou.mybatisplus.annotation.IdType;
import java.util.Date;
import com.baomidou.mybatisplus.annotation.TableId;
import java.io.Serializable;
import lombok.Data;
import lombok.EqualsAndHashCode;
/**
* <p>
* 电商-用户表
* </p>
*
* @author YJs
* @since 2024-07-29
*/
@Data
@EqualsAndHashCode(callSuper = false)
@TableName("user")
public class UserDO implements Serializable {
private static final long serialVersionUID = 1L;
@TableId(value = "id", type = IdType.AUTO)
private Long id;
/**
* 昵称
*/
private String name;
/**
*
*/
private String pwd;
/**
* 头像
*/
private String headImg;
/**
* 用户签名
*/
private String slogan;
/**
* 0-1-
*/
private Integer sex;
/**
*
*/
private Integer points;
private Date createTime;
/**
*
*/
private String mail;
/**
* 用于个人敏感信息处理
*/
private String secret;
}

16
nla-user-service/src/main/java/cn/nla/user/service/AddressService.java

@ -0,0 +1,16 @@
package cn.nla.user.service;
import cn.nla.user.model.AddressDO;
import com.baomidou.mybatisplus.extension.service.IService;
/**
* <p>
* 电商-公司收发货地址表 服务类
* </p>
*
* @author YJs
* @since 2024-07-29
*/
public interface AddressService extends IService<AddressDO> {
}

16
nla-user-service/src/main/java/cn/nla/user/service/UserService.java

@ -0,0 +1,16 @@
package cn.nla.user.service;
import cn.nla.user.model.UserDO;
import com.baomidou.mybatisplus.extension.service.IService;
/**
* <p>
* 电商-用户表 服务类
* </p>
*
* @author YJs
* @since 2024-07-29
*/
public interface UserService extends IService<UserDO> {
}

20
nla-user-service/src/main/java/cn/nla/user/service/impl/AddressServiceImpl.java

@ -0,0 +1,20 @@
package cn.nla.user.service.impl;
import cn.nla.user.model.AddressDO;
import cn.nla.user.mapper.AddressMapper;
import cn.nla.user.service.AddressService;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import org.springframework.stereotype.Service;
/**
* <p>
* 电商-公司收发货地址表 服务实现类
* </p>
*
* @author YJs
* @since 2024-07-29
*/
@Service
public class AddressServiceImpl extends ServiceImpl<AddressMapper, AddressDO> implements AddressService {
}

20
nla-user-service/src/main/java/cn/nla/user/service/impl/UserServiceImpl.java

@ -0,0 +1,20 @@
package cn.nla.user.service.impl;
import cn.nla.user.model.UserDO;
import cn.nla.user.mapper.UserMapper;
import cn.nla.user.service.UserService;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import org.springframework.stereotype.Service;
/**
* <p>
* 电商-用户表 服务实现类
* </p>
*
* @author YJs
* @since 2024-07-29
*/
@Service
public class UserServiceImpl extends ServiceImpl<UserMapper, UserDO> implements UserService {
}

21
nla-user-service/src/main/resources/application.yml

@ -0,0 +1,21 @@
server:
port: 9001
spring:
application:
name: nla-user-service
#数据库配置
datasource:
driver-class-name: com.mysql.cj.jdbc.Driver
url: jdbc:mysql://117.72.43.105:3306/p_nla_user?useUnicode=true&characterEncoding=utf-8&useSSL=false&serverTimezone=Asia/Shanghai
username: root
password: Yuan625621105.
#配置plus打印sql⽇志
mybatis-plus:
configuration:
log-impl:
org.apache.ibatis.logging.stdout.StdOutImpl
#设置⽇志级别,ERROR/WARN/INFO/DEBUG,默认是INFO以上才显示
logging:
level:
root: INFO

24
nla-user-service/src/main/resources/mapper/AddressMapper.xml

@ -0,0 +1,24 @@
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper namespace="cn.nla.user.mapper.AddressMapper">
<!-- 通用查询映射结果 -->
<resultMap id="BaseResultMap" type="cn.nla.user.model.AddressDO">
<id column="id" property="id" />
<result column="user_id" property="userId" />
<result column="default_status" property="defaultStatus" />
<result column="receive_name" property="receiveName" />
<result column="phone" property="phone" />
<result column="province" property="province" />
<result column="city" property="city" />
<result column="region" property="region" />
<result column="detail_address" property="detailAddress" />
<result column="create_time" property="createTime" />
</resultMap>
<!-- 通用查询结果列 -->
<sql id="Base_Column_List">
id, user_id, default_status, receive_name, phone, province, city, region, detail_address, create_time
</sql>
</mapper>

24
nla-user-service/src/main/resources/mapper/UserMapper.xml

@ -0,0 +1,24 @@
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper namespace="cn.nla.user.mapper.UserMapper">
<!-- 通用查询映射结果 -->
<resultMap id="BaseResultMap" type="cn.nla.user.model.UserDO">
<id column="id" property="id" />
<result column="name" property="name" />
<result column="pwd" property="pwd" />
<result column="head_img" property="headImg" />
<result column="slogan" property="slogan" />
<result column="sex" property="sex" />
<result column="points" property="points" />
<result column="create_time" property="createTime" />
<result column="mail" property="mail" />
<result column="secret" property="secret" />
</resultMap>
<!-- 通用查询结果列 -->
<sql id="Base_Column_List">
id, name, pwd, head_img, slogan, sex, points, create_time, mail, secret
</sql>
</mapper>

133
pom.xml

@ -0,0 +1,133 @@
<?xml version="1.0" encoding="UTF-8"?>
<project xmlns="http://maven.apache.org/POM/4.0.0"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
<modelVersion>4.0.0</modelVersion>
<groupId>cn.nla</groupId>
<artifactId>nla-shop</artifactId>
<version>1.0-SNAPSHOT</version>
<modules>
<module>nla-common</module>
<module>nla-user-service</module>
</modules>
<packaging>pom</packaging>
<description>拉新营销平台</description>
<properties>
<java.version>11</java.version>
<maven.compiler.source>11</maven.compiler.source>
<maven.compiler.target>11</maven.compiler.target>
<spring.boot.version>2.3.3.RELEASE</spring.boot.version>
<spring.cloud.version>Hoxton.SR8</spring.cloud.version>
<alibaba.cloud.version>2.2.1.RELEASE</alibaba.cloud.version>
<mybatisplus.boot.starter.version>3.4.0</mybatisplus.boot.starter.version>
<lombok.version>1.18.16</lombok.version>
<commons.lang3.version>3.9</commons.lang3.version>
<commons.codec.version>1.15</commons.codec.version>
<springfox.boot.starter.version>3.0.0</springfox.boot.starter.version>
<docker.image.prefix>yuan-cloud</docker.image.prefix>
<!--跳过单元测试-->
<skipTests>true</skipTests>
</properties>
<!--锁定版本-->
<dependencyManagement>
<dependencies>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-dependencies</artifactId>
<version>${spring.boot.version}</version>
<type>pom</type>
<scope>import</scope>
</dependency>
<dependency>
<groupId>org.springframework.cloud</groupId>
<artifactId>spring-cloud-dependencies</artifactId>
<version>${spring.cloud.version}</version>
<type>pom</type>
<scope>import</scope>
</dependency>
<dependency>
<groupId>com.alibaba.cloud</groupId>
<artifactId>spring-cloud-alibaba-dependencies</artifactId>
<version>${alibaba.cloud.version}</version>
<type>pom</type>
<scope>import</scope>
</dependency>
<!--mybatis plus和springboot整合-->
<dependency>
<groupId>com.baomidou</groupId>
<artifactId>mybatis-plus-boot-starter</artifactId>
<version>${mybatisplus.boot.starter.version}</version>
</dependency>
<!--scope=provided,说明它只在编译阶段⽣效,不需要打⼊包中, Lombok在编译期将带Lombok注解的Java⽂件正确编译为完整的Class⽂件-->
<dependency>
<groupId>org.projectlombok</groupId>
<artifactId>lombok</artifactId>
<version>${lombok.version}</version>
<scope>provided</scope>
</dependency>
<!--commons-lang3 -->
<dependency>
<groupId>org.apache.commons</groupId>
<artifactId>commons-lang3</artifactId>
<version>${commons.lang3.version}</version>
</dependency>
<!--⽤于加密-->
<dependency>
<groupId>commons-codec</groupId>
<artifactId>commons-codec</artifactId>
<version>${commons.codec.version}</version>
</dependency>
<!--接⼝⽂档依赖-->
<dependency>
<groupId>io.springfox</groupId>
<artifactId>springfox-boot-starter</artifactId>
<version>${springfox.boot.starter.version}</version>
</dependency>
</dependencies>
</dependencyManagement>
<!-- 代码库 -->
<repositories>
<repository>
<id>maven-ali</id>
<url>http://maven.aliyun.com/nexus/content/groups/public//</url>
<releases>
<enabled>true</enabled>
</releases>
<snapshots>
<enabled>true</enabled>
<updatePolicy>always</updatePolicy>
<checksumPolicy>fail</checksumPolicy>
</snapshots>
</repository>
</repositories>
<pluginRepositories>
<pluginRepository>
<id>public</id>
<name>aliyun nexus</name>
<url>http://maven.aliyun.com/nexus/content/groups/public/</url>
<releases>
<enabled>true</enabled>
</releases>
<snapshots>
<enabled>false</enabled>
</snapshots>
</pluginRepository>
</pluginRepositories>
<!--module不⽤添加打包版本信息-->
<build>
<plugins>
<plugin>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-maven-plugin</artifactId>
<version>${spring.boot.version}</version>
<configuration>
<fork>true</fork>
<addResources>true</addResources>
</configuration>
</plugin>
</plugins>
</build>
</project>
Loading…
Cancel
Save