Browse Source

feat: 更新业务逻辑

master
xc-yjs 8 months ago
parent
commit
e8c10e6807
  1. 36
      nla-common/pom.xml
  2. 24
      nla-common/src/main/java/cn/nla/common/config/SwaggerConfiguration.java
  3. 7
      nla-common/src/main/java/cn/nla/common/config/WebConfig.java
  4. 22
      nla-common/src/main/java/cn/nla/common/enums/ClientType.java
  5. 20
      nla-common/src/main/java/cn/nla/common/enums/ProductOrderPayTypeEnum.java
  6. 22
      nla-common/src/main/java/cn/nla/common/enums/ProductOrderStateEnum.java
  7. 17
      nla-common/src/main/java/cn/nla/common/enums/ProductOrderTypeEnum.java
  8. 8
      nla-common/src/test/java/tools/MyBatisPlusGenerator.java
  9. 6
      nla-coupon-service/src/main/java/cn/nla/coupon/CouponApplication.java
  10. 17
      nla-coupon-service/src/main/resources/application.yml
  11. 29
      nla-order-service/pom.xml
  12. 15
      nla-order-service/src/main/java/cn/nla/order/OrderApplication.java
  13. 57
      nla-order-service/src/main/java/cn/nla/order/model/request/ConfirmOrderRequest.java
  14. 26
      nla-order-service/src/main/resources/application.yml
  15. 71
      nla-order-service/src/main/resources/logback.xml
  16. 6
      nla-user-service/src/main/java/cn/nla/user/UserApplication.java
  17. 19
      nla-user-service/src/main/java/cn/nla/user/controller/UserController.java
  18. 23
      nla-user-service/src/main/java/cn/nla/user/feign/CouponFeignService.java
  19. 20
      nla-user-service/src/main/java/cn/nla/user/model/request/NewUserCouponRequest.java
  20. 24
      nla-user-service/src/main/java/cn/nla/user/service/impl/UserServiceImpl.java
  21. 19
      nla-user-service/src/main/resources/application.yml
  22. 1
      pom.xml

36
nla-common/pom.xml

@ -94,6 +94,42 @@
<artifactId>fastjson</artifactId>
<version>1.2.75</version>
</dependency>
<!--添加nacos客户端-->
<dependency>
<groupId>com.alibaba.cloud</groupId>
<artifactId>spring-cloud-starter-alibaba-nacos-discovery</artifactId>
</dependency>
<!--Feign远程调用-->
<dependency>
<groupId>org.springframework.cloud</groupId>
<artifactId>spring-cloud-starter-openfeign</artifactId>
</dependency>
<!--alibaba微服务整合分布式事务,上面的方式不行 mvn 包冲突-->
<dependency>
<groupId>com.alibaba.cloud</groupId>
<artifactId>spring-cloud-starter-alibaba-seata</artifactId>
</dependency>
<!--alibaba微服务整合分布式事务,这个方式才行-->
<dependency>
<groupId>com.alibaba.cloud</groupId>
<artifactId>spring-cloud-starter-alibaba-seata</artifactId>
<exclusions>
<exclusion>
<groupId>io.seata</groupId>
<artifactId>seata-spring-boot-starter</artifactId>
</exclusion>
</exclusions>
</dependency>
<dependency>
<groupId>io.seata</groupId>
<artifactId>seata-spring-boot-starter</artifactId>
<version>1.3.0</version>
</dependency>
<!--引入AMQP-->
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-amqp</artifactId>
</dependency>
</dependencies>
</project>

24
nla-common/src/main/java/cn/nla/common/config/SwaggerConfiguration.java

@ -89,6 +89,30 @@ public class SwaggerConfiguration {
.globalResponses(HttpMethod.GET, getGlobalResponseMessage())
.globalResponses(HttpMethod.POST, getGlobalResponseMessage());
}
/**
* 订单服务端的接口文档
*/
@Bean
public Docket orderApiDoc() {
return new Docket(DocumentationType.OAS_30) // 版本3.0
.groupName("订单端接口文档")
.pathMapping("/")
//定义是否开启Swagger,false是关闭,可以通过变量去控制,线上关闭
.enable(true)
//配置文档的元信息
.apiInfo(apiInfo())
.select()
.apis(RequestHandlerSelectors.basePackage("cn.nla"))
//正则匹配请求路径,并分配到当前项目组
.paths(PathSelectors.ant("/odr/**"))
.build()
// 新版SwaggerUI3.0
.globalRequestParameters(globalRequestParameters())
.globalResponses(HttpMethod.GET, getGlobalResponseMessage())
.globalResponses(HttpMethod.POST, getGlobalResponseMessage());
}
/**
* 接口基本信息配置
*/

7
nla-common/src/main/java/cn/nla/common/config/WebConfig.java

@ -22,14 +22,15 @@ public class WebConfig implements WebMvcConfigurer {
registry.addInterceptor(responseResultInterceptor);
registry.addInterceptor(loginInterceptor)
//拦截的路径
.addPathPatterns("/user/*/**", "/address/*/**", "/cop/*/**", "/pdt/*/**")
.addPathPatterns("/user/*/**", "/address/*/**", "/cop/*/**", "/pdt/*/**", "/odr/*/**")
//排查不拦截的路径
.excludePathPatterns(
"/user/**/send",
"/user/**/captcha",
"/user/**/send_code",
"/user/**/register",
"/user/**/login",
"/user/**/uploadFile");
"/user/**/uploadFile",
"/cop/coupon/v1/new_user_coupon");
}
/**

22
nla-common/src/main/java/cn/nla/common/enums/ClientType.java

@ -0,0 +1,22 @@
package cn.nla.common.enums;
/**
* 客户端枚举类
*/
public enum ClientType {
/**
* 原生应用
*/
APP,
/**
* 电脑端
*/
PC,
/**
* 网页
*/
H5
}

20
nla-common/src/main/java/cn/nla/common/enums/ProductOrderPayTypeEnum.java

@ -0,0 +1,20 @@
package cn.nla.common.enums;
public enum ProductOrderPayTypeEnum {
/**
* 微信支付
*/
WECHAT,
/**
* 支付支付
*/
ALIPAY,
/**
* 银行卡支付
*/
BANK;
}

22
nla-common/src/main/java/cn/nla/common/enums/ProductOrderStateEnum.java

@ -0,0 +1,22 @@
package cn.nla.common.enums;
public enum ProductOrderStateEnum {
/**
* 未支付订单
*/
NEW,
/**
* 已经支付订单
*/
PAY,
/**
* 超时取消订单
*/
CANCEL;
}

17
nla-common/src/main/java/cn/nla/common/enums/ProductOrderTypeEnum.java

@ -0,0 +1,17 @@
package cn.nla.common.enums;
public enum ProductOrderTypeEnum {
/**
* 普通订单
*/
DAILY,
/**
* 促销订单
*/
PROMOTION;
}

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

@ -22,7 +22,7 @@ public class MyBatisPlusGenerator {
// 作者
.setAuthor("YJs")
// ⽣成路径,最好使⽤绝对路径,window路径是不⼀样的
.setOutputDir("D:\\workspace\\2024\\nla-shop\\nla-product-service\\src\\main\\java")
.setOutputDir("D:\\workspace\\2024\\nla-shop\\nla-coupon-service\\src\\main\\java")
// ⽂件覆盖
.setFileOverride(true)
// 主键策略
@ -43,7 +43,7 @@ public class MyBatisPlusGenerator {
// 设置数据库类型
dsConfig.setDbType(DbType.MYSQL)
.setDriverName("com.mysql.cj.jdbc.Driver")
.setUrl("jdbc:mysql://117.72.43.105:3306/p_nla_product?useSSL=false")
.setUrl("jdbc:mysql://117.72.43.105:3306/p_nla_coupon?useSSL=false")
.setUsername("root")
.setPassword("Yuan625621105.");
@ -58,11 +58,11 @@ public class MyBatisPlusGenerator {
//使⽤restcontroller注解
.setRestControllerStyle(true)
// ⽣成的表, ⽀持多表⼀起⽣成,以数组形式填写
.setInclude("product","banner");
.setInclude("coupon_task");
//4. 包名策略配置
PackageConfig pkConfig = new PackageConfig();
pkConfig.setParent("cn.nla.product")
pkConfig.setParent("cn.nla.coupon")
.setMapper("mapper")
.setService("service")
.setController("controller")

6
nla-coupon-service/src/main/java/cn/nla/coupon/CouponApplication.java

@ -3,9 +3,15 @@ package cn.nla.coupon;
import org.mybatis.spring.annotation.MapperScan;
import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;
import org.springframework.cloud.client.discovery.EnableDiscoveryClient;
import org.springframework.cloud.openfeign.EnableFeignClients;
import org.springframework.context.annotation.ComponentScan;
import org.springframework.transaction.annotation.EnableTransactionManagement;
@SpringBootApplication
@EnableFeignClients
@EnableDiscoveryClient
@EnableTransactionManagement
@MapperScan("cn.nla.*.mapper")
@ComponentScan(basePackages = {"cn.nla.*"})
public class CouponApplication {

17
nla-coupon-service/src/main/resources/application.yml

@ -14,6 +14,14 @@ spring:
url: jdbc:mysql://117.72.43.105:3306/p_nla_coupon?useUnicode=true&characterEncoding=utf-8&useSSL=false&serverTimezone=Asia/Shanghai
username: root
password: Yuan625621105.
cloud:
#注册中心地址
nacos:
discovery:
server-addr: 117.72.43.105:8848
# username: nacos
# password: sW5U%pxecL#p
# namespace: yjs
#配置plus打印sql⽇志
mybatis-plus:
configuration:
@ -24,3 +32,12 @@ mybatis-plus:
# level:
# root: INFO
#seata配置
seata:
tx-service-group: ${spring.application.name}-group
service:
grouplist:
nla: 127.0.0.1:8091
vgroup-mapping:
nla-coupon-service-group: nla

29
nla-order-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-order-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>

15
nla-order-service/src/main/java/cn/nla/order/OrderApplication.java

@ -0,0 +1,15 @@
package cn.nla.order;
import org.mybatis.spring.annotation.MapperScan;
import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;
import org.springframework.context.annotation.ComponentScan;
@SpringBootApplication
@MapperScan("cn.nla.*.mapper")
@ComponentScan(basePackages = {"cn.nla.*"})
public class OrderApplication {
public static void main(String[] args) {
SpringApplication.run(OrderApplication.class, args);
}
}

57
nla-order-service/src/main/java/cn/nla/order/model/request/ConfirmOrderRequest.java

@ -0,0 +1,57 @@
package cn.nla.order.model.request;
import com.fasterxml.jackson.annotation.JsonProperty;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import java.math.BigDecimal;
import java.util.List;
/**
* 订单请求参数
*/
@ApiModel(value = "添加订单对象", description = "添加订单请求对象")
@Data
public class ConfirmOrderRequest {
@ApiModelProperty(value = "购物车使用的优惠券,集满减劵(如果传空或者小于0,则不用优惠券)", example = "1")
@JsonProperty("coupon_record_id")
private Long couponRecordId;
@ApiModelProperty(value = "最终购买的商品列表:传递id,购买数量从购物车中读取")
@JsonProperty("product_ids")
private List<Long> productIdList;
@ApiModelProperty(value = "支付方式", example = "WECHAT")
@JsonProperty("pay_type")
private String payType;
/**
* 端类型
*/
@ApiModelProperty(value = "端类型", example = "APP")
@JsonProperty("client_type")
private String clientType;
/**
* 收货地址id
*/
@ApiModelProperty(value = "收货地址id", example = "中国")
@JsonProperty("address_id")
private long addressId;
/**
* 总价格前端传递后端需要验价
*/
@ApiModelProperty(value = "总价格", example = "40.00")
@JsonProperty("total_amount")
private BigDecimal totalAmount;
/**
* 实际支付的价格
* 如果用了优惠劵则是减去优惠券后端价格如果没的话则是totalAmount一样
*/
@ApiModelProperty(value = "实际支付的价格", example = "20.00")
@JsonProperty("real_pay_amount")
private BigDecimal realPayAmount;
/**
* 防重令牌
*/
@ApiModelProperty(value = "防重令牌", example = "sdvdgwerqwerwrwerqweq")
@JsonProperty("token")
private String token;
}

26
nla-order-service/src/main/resources/application.yml

@ -0,0 +1,26 @@
server:
port: 9004
spring:
application:
name: nla-order-service
redis:
host: 127.0.0.1
port: 6379
database: 0
password: yuan123456
#数据库配置
datasource:
driver-class-name: com.mysql.cj.jdbc.Driver
url: jdbc:mysql://117.72.43.105:3306/p_nla_order?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

71
nla-order-service/src/main/resources/logback.xml

@ -0,0 +1,71 @@
<?xml version="1.0" encoding="UTF-8"?>
<configuration scan="true" scanPeriod="60 seconds" debug="false">
<!-- 自定义配置: 日志存放路径 -->
<property name="log.path" value="./logs/nla-order-service"/>
<!-- 日志输出格式 -->
<property name="log.pattern" value="%d{HH:mm:ss.SSS} [%thread] %-5level %logger{20} - [%method,%line] - %msg%n"/>
<!-- 控制台输出 -->
<appender name="console" class="ch.qos.logback.core.ConsoleAppender">
<encoder>
<pattern>${log.pattern}</pattern>
</encoder>
</appender>
<!-- 系统日志输出 -->
<appender name="file_info" class="ch.qos.logback.core.rolling.RollingFileAppender">
<file>${log.path}/info.log</file>
<!-- 循环政策:基于时间创建日志文件 -->
<rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy">
<!-- 日志文件名格式 -->
<fileNamePattern>${log.path}/info.%d{yyyy-MM-dd}.log</fileNamePattern>
<!-- 日志最大的历史 60天 -->
<maxHistory>60</maxHistory>
</rollingPolicy>
<encoder>
<pattern>${log.pattern}</pattern>
</encoder>
<filter class="ch.qos.logback.classic.filter.LevelFilter">
<!-- 过滤的级别 -->
<level>INFO</level>
<!-- 匹配时的操作:接收(记录) -->
<onMatch>ACCEPT</onMatch>
<!-- 不匹配时的操作:拒绝(不记录) -->
<onMismatch>DENY</onMismatch>
</filter>
</appender>
<appender name="file_error" class="ch.qos.logback.core.rolling.RollingFileAppender">
<file>${log.path}/error.log</file>
<!-- 循环政策:基于时间创建日志文件 -->
<rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy">
<!-- 日志文件名格式 -->
<fileNamePattern>${log.path}/error.%d{yyyy-MM-dd}.log</fileNamePattern>
<!-- 日志最大的历史 60天 -->
<maxHistory>60</maxHistory>
</rollingPolicy>
<encoder>
<pattern>${log.pattern}</pattern>
</encoder>
<filter class="ch.qos.logback.classic.filter.LevelFilter">
<!-- 过滤的级别 -->
<level>ERROR</level>
<!-- 匹配时的操作:接收(记录) -->
<onMatch>ACCEPT</onMatch>
<!-- 不匹配时的操作:拒绝(不记录) -->
<onMismatch>DENY</onMismatch>
</filter>
</appender>
<!-- 自定义配置: 系统模块日志级别控制 -->
<logger name="cn.nla" level="info"/>
<!-- Spring日志级别控制 -->
<logger name="org.springframework" level="warn"/>
<logger name="io.lettuce.core.protocol" level="ERROR"/>
<!--自定义配置: mapper打印-->
<logger name="cn.nla.order.mapper" level="DEBUG"/>
<root level="info">
<appender-ref ref="console"/>
</root>
<!--系统操作日志-->
<root level="info">
<appender-ref ref="file_info"/>
<appender-ref ref="file_error"/>
</root>
</configuration>

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

@ -3,11 +3,17 @@ package cn.nla.user;
import org.mybatis.spring.annotation.MapperScan;
import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;
import org.springframework.cloud.client.discovery.EnableDiscoveryClient;
import org.springframework.cloud.openfeign.EnableFeignClients;
import org.springframework.context.annotation.ComponentScan;
import org.springframework.transaction.annotation.EnableTransactionManagement;
@SpringBootApplication
@EnableFeignClients
@EnableDiscoveryClient
@MapperScan("cn.nla.*.mapper")
@ComponentScan(basePackages = {"cn.nla.*"})
@EnableTransactionManagement
public class UserApplication {
public static void main(String[] args) {
SpringApplication.run(UserApplication.class, args);

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

@ -1,6 +1,7 @@
package cn.nla.user.controller;
import cn.nla.common.util.JsonData;
import cn.nla.user.feign.CouponFeignService;
import cn.nla.user.model.request.UserLoginRequest;
import cn.nla.user.model.request.UserRegisterRequest;
import cn.nla.user.service.UserService;
@ -10,6 +11,7 @@ import io.swagger.annotations.ApiParam;
import org.springframework.web.bind.annotation.*;
import javax.annotation.Resource;
import java.util.Map;
/**
* <p>
@ -24,6 +26,9 @@ public class UserController {
@Resource
private UserService userService;
@Resource
private CouponFeignService couponFeignService;
@ApiOperation("用户注册")
@PostMapping("register")
public JsonData register(@ApiParam("用户注册对象") @RequestBody UserRegisterRequest registerRequest) {
@ -32,7 +37,7 @@ public class UserController {
@ApiOperation("用户登录")
@PostMapping("login")
public JsonData login(@ApiParam("用户登录对象") @RequestBody UserLoginRequest userLoginRequest){
public JsonData login(@ApiParam("用户登录对象") @RequestBody UserLoginRequest userLoginRequest) {
return userService.login(userLoginRequest);
}
@ -41,8 +46,18 @@ public class UserController {
*/
@ApiOperation("个人信息查询")
@GetMapping("detail")
public JsonData detail(){
public JsonData detail() {
return JsonData.buildSuccess(userService.findUserDetail());
}
@ApiOperation("Feign调用分页查询优惠券")
@GetMapping("page_coupon")
public JsonData pageCouponList(
@ApiParam(value = "当前页") @RequestParam(value = "page", defaultValue = "1") int page,
@ApiParam(value = "每页显示多少条") @RequestParam(value = "size", defaultValue = "10") int size,
@RequestHeader Map<String, String> header) {
return JsonData.buildSuccess(couponFeignService.pageCouponList(header, page, size));
}
}

23
nla-user-service/src/main/java/cn/nla/user/feign/CouponFeignService.java

@ -0,0 +1,23 @@
package cn.nla.user.feign;
import cn.nla.common.util.JsonData;
import cn.nla.user.model.request.NewUserCouponRequest;
import org.springframework.cloud.openfeign.FeignClient;
import org.springframework.web.bind.annotation.*;
import java.util.Map;
/**
* Feign调用优惠券服务接口
*/
@FeignClient(name = "nla-coupon-service")
public interface CouponFeignService {
/**
* 分页查询优惠券
*/
@GetMapping("/cop/coupon/v1/page_coupon")
JsonData pageCouponList(@RequestHeader Map<String, String> header, @RequestParam("page") int page, @RequestParam("size") int size);
@PostMapping("/cop/coupon/v1/new_user_coupon")
JsonData addNewUserCoupon(@RequestBody NewUserCouponRequest newUserCouponRequest);
}

20
nla-user-service/src/main/java/cn/nla/user/model/request/NewUserCouponRequest.java

@ -0,0 +1,20 @@
package cn.nla.user.model.request;
import com.fasterxml.jackson.annotation.JsonProperty;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
/**
* 新用户注册发放优惠卷
*/
@ApiModel(value = "新用户注册发放优惠卷对象", description = "新用户注册发放优惠卷请求对象")
@Data
public class NewUserCouponRequest {
@ApiModelProperty(value = "用户Id", example = "19")
@JsonProperty("user_id")
private long userId;
@ApiModelProperty(value = "名称", example = "二当家")
@JsonProperty("name")
private String name;
}

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

@ -7,20 +7,25 @@ import cn.nla.common.model.LoginUser;
import cn.nla.common.util.CommonUtil;
import cn.nla.common.util.JWTUtil;
import cn.nla.common.util.JsonData;
import cn.nla.user.feign.CouponFeignService;
import cn.nla.user.model.VO.UserVO;
import cn.nla.user.model.entity.UserEntity;
import cn.nla.user.mapper.UserMapper;
import cn.nla.user.model.request.NewUserCouponRequest;
import cn.nla.user.model.request.UserLoginRequest;
import cn.nla.user.service.NotifyService;
import cn.nla.user.service.UserService;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import io.seata.spring.annotation.GlobalTransactional;
import lombok.extern.slf4j.Slf4j;
import org.apache.commons.codec.digest.Md5Crypt;
import org.apache.commons.lang3.StringUtils;
import org.springframework.beans.BeanUtils;
import org.springframework.stereotype.Service;
import cn.nla.user.model.request.UserRegisterRequest;
import org.springframework.transaction.annotation.Propagation;
import org.springframework.transaction.annotation.Transactional;
import javax.annotation.Resource;
import java.util.Date;
@ -41,6 +46,8 @@ public class UserServiceImpl extends ServiceImpl<UserMapper, UserEntity> impleme
private NotifyService notifyService;
@Resource
private UserMapper userMapper;
@Resource
private CouponFeignService couponFeignService;
/**
* 用户注册<br>
@ -50,7 +57,9 @@ public class UserServiceImpl extends ServiceImpl<UserMapper, UserEntity> impleme
* 插入数据库<br>
* 新注册用户福利发放(TODO)
*/
// @Transactional(rollbackFor = Exception.class, propagation = Propagation.REQUIRED)
@Override
@GlobalTransactional
public JsonData register(UserRegisterRequest registerRequest) {
boolean checkCode = false;
//校验验证码
@ -73,8 +82,10 @@ public class UserServiceImpl extends ServiceImpl<UserMapper, UserEntity> impleme
if (checkUnique(userEntity.getMail())) {
int rows = userMapper.insert(userEntity);
log.info("rows:{},注册成功:{}", rows, userEntity);
//新用户注册成功,初始化信息,发放福利等 TODO
//新用户注册成功,初始化信息,发放福利等
userRegisterInitTask(userEntity);
// //模拟异常
// int b = 1/0;
return JsonData.buildSuccess();
} else {
return JsonData.buildResult(BizCodeEnum.ACCOUNT_REPEAT);
@ -123,12 +134,21 @@ public class UserServiceImpl extends ServiceImpl<UserMapper, UserEntity> impleme
}
/**
* 用户注册初始化福利信息 TODO
* 用户注册初始化福利信息
*
* @param userEntity 用户对象信息
*/
private void userRegisterInitTask(UserEntity userEntity) {
log.info("初始化福利信息 TODO... {}", userEntity);
NewUserCouponRequest request = new NewUserCouponRequest();
request.setName(userEntity.getName());
request.setUserId(userEntity.getId());
JsonData jsonData = couponFeignService.addNewUserCoupon(request);
// if(jsonData.getCode()!=0){
// throw new RuntimeException("发放优惠券异常");
// }
log.info("发放新用户注册优惠券:{},结果:{}",request.toString(),jsonData.toString());
}
}

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

@ -7,6 +7,7 @@ spring:
host: 127.0.0.1
port: 6379
database: 0
password: yuan123456
#数据库配置
datasource:
driver-class-name: com.mysql.cj.jdbc.Driver
@ -22,6 +23,15 @@ spring:
properties.mail.smtp.starttls.required: true
properties.mail.smtp.ssl.enable: true
default-encoding: utf-8
cloud:
#注册中心地址
nacos:
discovery:
server-addr: 117.72.43.105:8848
# username: nacos
# password: sW5U%pxecL#p
# namespace: yjs
#配置plus打印sql⽇志
mybatis-plus:
configuration:
@ -39,3 +49,12 @@ aliyun:
access-key-id: LTAI5tGbV7aVMVKSnoDwmFUY
access-key-secret: U4W5fsdxjAh5f3udizbYNFdUldD8pZ
bucketname: yzdan
#seata配置
seata:
tx-service-group: ${spring.application.name}-group
service:
grouplist:
nla: 127.0.0.1:8091
vgroup-mapping:
nla-user-service-group: nla

1
pom.xml

@ -12,6 +12,7 @@
<module>nla-user-service</module>
<module>nla-coupon-service</module>
<module>nla-product-service</module>
<module>nla-order-service</module>
</modules>
<packaging>pom</packaging>
<description>拉新营销平台</description>

Loading…
Cancel
Save