From 4c84214cd20224b656ef26493aca3fb869356350 Mon Sep 17 00:00:00 2001 From: jieyuu <645634619@qq.com> Date: Thu, 22 Aug 2024 00:32:43 +0800 Subject: [PATCH] =?UTF-8?q?=E6=96=B0=E7=94=A8=E6=88=B7=E6=B3=A8=E5=86=8C?= =?UTF-8?q?=E5=8F=91=E6=94=BE=E5=88=B8=E5=8A=9F=E8=83=BDfeign=E7=BC=96?= =?UTF-8?q?=E5=86=99?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../jieyuu/controller/CouponController.java | 6 +++--- ...Request.java => NewUserCouponRequest.java} | 2 +- .../net/jieyuu/service/CouponService.java | 6 +++--- .../service/impl/CouponServiceImpl.java | 10 +++++----- .../net/jieyuu/feign/CouponFeignService.java | 20 +++++++++++++++++++ .../jieyuu/request/NewUserCouponRequest.java | 17 ++++++++++++++++ .../jieyuu/service/impl/UserServiceImpl.java | 9 +++++++++ 7 files changed, 58 insertions(+), 12 deletions(-) rename xdclass-coupon-service/src/main/java/net/jieyuu/request/{NewUserRequest.java => NewUserCouponRequest.java} (92%) create mode 100644 xdclass-user-service/src/main/java/net/jieyuu/feign/CouponFeignService.java create mode 100644 xdclass-user-service/src/main/java/net/jieyuu/request/NewUserCouponRequest.java diff --git a/xdclass-coupon-service/src/main/java/net/jieyuu/controller/CouponController.java b/xdclass-coupon-service/src/main/java/net/jieyuu/controller/CouponController.java index 2731cbf..a73e327 100644 --- a/xdclass-coupon-service/src/main/java/net/jieyuu/controller/CouponController.java +++ b/xdclass-coupon-service/src/main/java/net/jieyuu/controller/CouponController.java @@ -4,7 +4,7 @@ package net.jieyuu.controller; import io.swagger.annotations.ApiOperation; import io.swagger.annotations.ApiParam; import net.jieyuu.enums.CouponCategoryEnum; -import net.jieyuu.request.NewUserRequest; +import net.jieyuu.request.NewUserCouponRequest; import net.jieyuu.service.CouponService; import net.jieyuu.utils.JsonData; import org.springframework.beans.factory.annotation.Autowired; @@ -52,8 +52,8 @@ public class CouponController { @ApiOperation("拉新发放优惠券") @PostMapping("new_user_coupon") - public JsonData addNewUserCoupon(@ApiParam("用户对象") @RequestBody NewUserRequest newUserRequest) { - JsonData jsonData = couponService.initNewUserCoupon(newUserRequest); + public JsonData addNewUserCoupon(@ApiParam("用户对象") @RequestBody NewUserCouponRequest newUserCouponRequest) { + JsonData jsonData = couponService.initNewUserCoupon(newUserCouponRequest); return jsonData; } diff --git a/xdclass-coupon-service/src/main/java/net/jieyuu/request/NewUserRequest.java b/xdclass-coupon-service/src/main/java/net/jieyuu/request/NewUserCouponRequest.java similarity index 92% rename from xdclass-coupon-service/src/main/java/net/jieyuu/request/NewUserRequest.java rename to xdclass-coupon-service/src/main/java/net/jieyuu/request/NewUserCouponRequest.java index 7071393..95afc4c 100644 --- a/xdclass-coupon-service/src/main/java/net/jieyuu/request/NewUserRequest.java +++ b/xdclass-coupon-service/src/main/java/net/jieyuu/request/NewUserCouponRequest.java @@ -8,7 +8,7 @@ import lombok.Data; @ApiModel @Data -public class NewUserRequest { +public class NewUserCouponRequest { @ApiModelProperty(value = "新用户注册id", example = "19") @JsonProperty("user_id") diff --git a/xdclass-coupon-service/src/main/java/net/jieyuu/service/CouponService.java b/xdclass-coupon-service/src/main/java/net/jieyuu/service/CouponService.java index 835dfea..adeeb83 100644 --- a/xdclass-coupon-service/src/main/java/net/jieyuu/service/CouponService.java +++ b/xdclass-coupon-service/src/main/java/net/jieyuu/service/CouponService.java @@ -2,7 +2,7 @@ package net.jieyuu.service; import net.jieyuu.enums.CouponCategoryEnum; -import net.jieyuu.request.NewUserRequest; +import net.jieyuu.request.NewUserCouponRequest; import net.jieyuu.utils.JsonData; import java.util.Map; @@ -35,8 +35,8 @@ public interface CouponService { /** * 新用户注册发放优惠券 - * @param newUserRequest + * @param newUserCouponRequest * @return */ - JsonData initNewUserCoupon(NewUserRequest newUserRequest); + JsonData initNewUserCoupon(NewUserCouponRequest newUserCouponRequest); } diff --git a/xdclass-coupon-service/src/main/java/net/jieyuu/service/impl/CouponServiceImpl.java b/xdclass-coupon-service/src/main/java/net/jieyuu/service/impl/CouponServiceImpl.java index 85c0aa4..9c34d21 100644 --- a/xdclass-coupon-service/src/main/java/net/jieyuu/service/impl/CouponServiceImpl.java +++ b/xdclass-coupon-service/src/main/java/net/jieyuu/service/impl/CouponServiceImpl.java @@ -15,7 +15,7 @@ import net.jieyuu.model.CouponDO; import net.jieyuu.mapper.CouponMapper; import net.jieyuu.model.CouponRecordDO; import net.jieyuu.model.LoginUser; -import net.jieyuu.request.NewUserRequest; +import net.jieyuu.request.NewUserCouponRequest; import net.jieyuu.service.CouponService; import net.jieyuu.utils.CommonUtil; import net.jieyuu.utils.JsonData; @@ -136,15 +136,15 @@ public class CouponServiceImpl implements CouponService { *

* 本地发放优惠券,需要构造token存入threadlocal * - * @param newUserRequest + * @param newUserCouponRequest * @return */ @Override @Transactional(rollbackFor = Exception.class, propagation = Propagation.REQUIRED) - public JsonData initNewUserCoupon(NewUserRequest newUserRequest) { + public JsonData initNewUserCoupon(NewUserCouponRequest newUserCouponRequest) { LoginUser loginUser = new LoginUser(); - loginUser.setName(newUserRequest.getName()); - loginUser.setId(newUserRequest.getUserId()); + loginUser.setName(newUserCouponRequest.getName()); + loginUser.setId(newUserCouponRequest.getUserId()); // 发放优惠券接口需要threadlocal LoginInterceptor.threadLocal.set(loginUser); diff --git a/xdclass-user-service/src/main/java/net/jieyuu/feign/CouponFeignService.java b/xdclass-user-service/src/main/java/net/jieyuu/feign/CouponFeignService.java new file mode 100644 index 0000000..63015d9 --- /dev/null +++ b/xdclass-user-service/src/main/java/net/jieyuu/feign/CouponFeignService.java @@ -0,0 +1,20 @@ +package net.jieyuu.feign; + +import net.jieyuu.request.NewUserCouponRequest; +import net.jieyuu.utils.JsonData; +import org.springframework.cloud.openfeign.FeignClient; +import org.springframework.web.bind.annotation.PostMapping; +import org.springframework.web.bind.annotation.RequestBody; + +@FeignClient(name = "xdclass-coupon-service") +public interface CouponFeignService { + + /** + * 新用户注册发放优惠券 + * + * @param newUserCouponRequest + * @return + */ + @PostMapping("/api/coupon/v1/new_user_coupon") + JsonData addNewUserCoupon(@RequestBody NewUserCouponRequest newUserCouponRequest); +} \ No newline at end of file diff --git a/xdclass-user-service/src/main/java/net/jieyuu/request/NewUserCouponRequest.java b/xdclass-user-service/src/main/java/net/jieyuu/request/NewUserCouponRequest.java new file mode 100644 index 0000000..42d72b2 --- /dev/null +++ b/xdclass-user-service/src/main/java/net/jieyuu/request/NewUserCouponRequest.java @@ -0,0 +1,17 @@ +package net.jieyuu.request; + + +import com.fasterxml.jackson.annotation.JsonProperty; +import lombok.Data; + + +@Data +public class NewUserCouponRequest { + + @JsonProperty("user_id") + private long userId; + + @JsonProperty("name") + private String name; + +} diff --git a/xdclass-user-service/src/main/java/net/jieyuu/service/impl/UserServiceImpl.java b/xdclass-user-service/src/main/java/net/jieyuu/service/impl/UserServiceImpl.java index c99ec4e..1107e82 100644 --- a/xdclass-user-service/src/main/java/net/jieyuu/service/impl/UserServiceImpl.java +++ b/xdclass-user-service/src/main/java/net/jieyuu/service/impl/UserServiceImpl.java @@ -6,10 +6,12 @@ import io.swagger.annotations.ApiParam; import lombok.extern.slf4j.Slf4j; import net.jieyuu.enums.BizCodeEnum; import net.jieyuu.enums.SendCodeEnum; +import net.jieyuu.feign.CouponFeignService; import net.jieyuu.interceptor.LoginInterceptor; import net.jieyuu.model.LoginUser; import net.jieyuu.model.UserDO; import net.jieyuu.mapper.UserMapper; +import net.jieyuu.request.NewUserCouponRequest; import net.jieyuu.request.UserLoginRequest; import net.jieyuu.request.UserRegisterRequest; import net.jieyuu.service.NotifyService; @@ -41,6 +43,8 @@ import java.util.List; @Slf4j public class UserServiceImpl extends ServiceImpl implements UserService { + @Autowired + private CouponFeignService couponFeignService; @Autowired private NotifyService notifyService; @@ -127,6 +131,11 @@ public class UserServiceImpl extends ServiceImpl implements * @param userDO */ private void userRegisterInitTask(UserDO userDO) { + NewUserCouponRequest request = new NewUserCouponRequest(); + request.setName(userDO.getName()); + request.setUserId(userDO.getId()); + JsonData jsonData = couponFeignService.addNewUserCoupon(request); + log.info("发放新用户注册优惠券: {},结果:{}", request.toString(), jsonData.toString()); }