新用户注册发放券功能feign编写
This commit is contained in:
parent
beb9cf783d
commit
4c84214cd2
@ -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;
|
||||
|
||||
}
|
||||
|
@ -8,7 +8,7 @@ import lombok.Data;
|
||||
|
||||
@ApiModel
|
||||
@Data
|
||||
public class NewUserRequest {
|
||||
public class NewUserCouponRequest {
|
||||
|
||||
@ApiModelProperty(value = "新用户注册id", example = "19")
|
||||
@JsonProperty("user_id")
|
@ -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);
|
||||
}
|
||||
|
@ -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 {
|
||||
* <p>
|
||||
* 本地发放优惠券,需要构造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);
|
||||
|
||||
|
@ -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);
|
||||
}
|
@ -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;
|
||||
|
||||
}
|
@ -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<UserMapper, UserDO> implements UserService {
|
||||
|
||||
@Autowired
|
||||
private CouponFeignService couponFeignService;
|
||||
@Autowired
|
||||
private NotifyService notifyService;
|
||||
|
||||
@ -127,6 +131,11 @@ public class UserServiceImpl extends ServiceImpl<UserMapper, UserDO> 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());
|
||||
|
||||
}
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user