记得上下班打卡 | git大法好,push需谨慎

Commit a1121359 authored by jiangxiulong's avatar jiangxiulong

券列表

parent be67ec82
package com.liquidnet.service.sweet.dto.vo;
import com.liquidnet.service.candy.vo.CandyCouponBasicVo;
import com.liquidnet.service.candy.vo.CandyCouponRulesVo;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import java.io.Serializable;
import java.math.BigDecimal;
import java.util.List;
@Data
public class IntegralActivityCouponVo implements Serializable, Cloneable {
private static final long serialVersionUID = -3363640191417806822L;
@ApiModelProperty(value = "券id")
private String couponId;
@ApiModelProperty(value = "标题")
private String title;
@ApiModelProperty(value = "标注")
private String label;
@ApiModelProperty(value = "须知")
private String notice;
@ApiModelProperty(value = "业务类别[0-全场|1-演出|2-商品|3-优先购]")
private Integer busiType;
@ApiModelProperty(value = "券类型[1-代金券|2-满减券|3-兑换券|4-折扣券 | 101-优先券]")
private Integer couType;
@ApiModelProperty(value = "[0-用户输入兑换|1-发放至用户|2-积分商品|3-发放需领取|4-会员专属]")
private Integer bindType;
@ApiModelProperty(value = "折扣")
private BigDecimal discount;
@ApiModelProperty(value = "面值")
private BigDecimal valFace;
@ApiModelProperty(value = "满减~满")
private BigDecimal valOver;
@ApiModelProperty(value = "满减~减")
private BigDecimal valMinus;
@ApiModelProperty(value = "过期时间")
private String expireAt;
/* --- --- --- CandyCouponRule */
private List<CandyCouponRulesVo> useRules;
private static final IntegralActivityCouponVo obj = new IntegralActivityCouponVo();
public static IntegralActivityCouponVo getNew() {
try {
return (IntegralActivityCouponVo) obj.clone();
} catch (CloneNotSupportedException e) {
return new IntegralActivityCouponVo();
}
}
public IntegralActivityCouponVo copy(CandyCouponBasicVo source) {
if (null == this) return this;
this.setTitle(source.getTitle());
this.setLabel(source.getLabel());
this.setNotice(source.getNotice());
this.setBusiType(source.getBusiType());
this.setCouType(source.getCouType());
this.setBindType(source.getBindType());
this.setDiscount(source.getDiscount());
this.setValFace(source.getValFace());
this.setValOver(source.getValOver());
this.setValMinus(source.getValMinus());
this.setExpireAt(source.getExpireAt());
this.setUseRules(source.getUseRules());
return this;
}
}
package com.liquidnet.service.sweet.service;
import com.baomidou.mybatisplus.extension.service.IService;
import com.liquidnet.service.base.PagedResult;
import com.liquidnet.service.base.ResponseDto;
import com.liquidnet.service.sweet.dto.vo.IntegralActivityCouponVo;
import com.liquidnet.service.candy.vo.CandyCouponPreviewVo;
import com.liquidnet.service.sweet.dto.vo.IntegralActivityDrawVo;
import com.liquidnet.service.sweet.dto.vo.IntegralActivityPrizeApiVo;
import com.liquidnet.service.sweet.entity.SweetIntegralActivityDraw;
import com.baomidou.mybatisplus.extension.service.IService;
import java.util.List;
......@@ -30,7 +30,7 @@ public interface ISweetIntegralActivityDrawService extends IService<SweetIntegra
ResponseDto<IntegralActivityDrawVo> detail(String drawId);
ResponseDto collectCoupon(String couponId);
ResponseDto collectCoupon(String couponId, String drawId);
ResponseDto<List<IntegralActivityCouponVo>> couponList(String prizeId, String integralActivityId);
ResponseDto<List<CandyCouponPreviewVo>> couponList(String prizeId, String integralActivityId);
}
package com.liquidnet.service.feign.candy.api;
import com.liquidnet.service.base.ResponseDto;
import com.liquidnet.service.candy.vo.CandyCouponBasicVo;
import com.liquidnet.service.candy.vo.CandyCouponPreviewVo;
import feign.hystrix.FallbackFactory;
import org.springframework.cloud.openfeign.FeignClient;
import org.springframework.stereotype.Component;
......@@ -20,7 +20,7 @@ import java.util.List;
public interface FeignCandyBaseClient {
@PostMapping(value = "rsc/couinfo", headers = {"Inner-Required=1"})
ResponseDto<List<CandyCouponBasicVo>> couponListById(
ResponseDto<List<CandyCouponPreviewVo>> couponListById(
@RequestParam("couponIds") @NotNull @NotBlank String couponIds
);
}
\ No newline at end of file
......@@ -3,10 +3,9 @@ package com.liquidnet.service.sweet.controller;
import com.liquidnet.service.base.PagedResult;
import com.liquidnet.service.base.ResponseDto;
import com.liquidnet.service.sweet.dto.vo.IntegralActivityCouponVo;
import com.liquidnet.service.candy.vo.CandyCouponPreviewVo;
import com.liquidnet.service.sweet.dto.vo.IntegralActivityDrawVo;
import com.liquidnet.service.sweet.dto.vo.IntegralActivityPrizeApiVo;
import com.liquidnet.service.sweet.dto.vo.IntegralActivityPrizeVo;
import com.liquidnet.service.sweet.service.ISweetIntegralActivityDrawService;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiImplicitParam;
......@@ -94,12 +93,14 @@ public class SweetIntegralActivityDrawController {
@PostMapping("collectCoupon")
@ApiOperation("领取券")
@ApiImplicitParams({
@ApiImplicitParam(type = "query", dataType = "String", name = "couponId", value = "券id", required = true)
@ApiImplicitParam(type = "query", dataType = "String", name = "couponId", value = "券id", required = true),
@ApiImplicitParam(type = "query", dataType = "String", name = "drawId", value = "抽奖id", required = true)
})
public ResponseDto collectCoupon(
@RequestParam("couponId") String couponId
@RequestParam("couponId") String couponId,
@RequestParam("drawId") String drawId
) {
return activityDrawService.collectCoupon(couponId);
return activityDrawService.collectCoupon(couponId, drawId);
}
@PostMapping("couponList")
......@@ -109,7 +110,7 @@ public class SweetIntegralActivityDrawController {
@ApiImplicitParam(type = "query", dataType = "String", name = "integralActivityId", value = "活动id", required = true),
@ApiImplicitParam(type = "query", dataType = "int", name = "pageNum", value = "分页")
})
public ResponseDto<List<IntegralActivityCouponVo>> couponList(
public ResponseDto<List<CandyCouponPreviewVo>> couponList(
@RequestParam("prizeId") String prizeId,
@RequestParam("integralActivityId") String integralActivityId,
@RequestParam(value = "pageNum", defaultValue = "1") int pageNum
......
package com.liquidnet.service.sweet.service.impl;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import com.liquidnet.common.cache.redis.config.RedisSweetConfig;
import com.liquidnet.commons.lang.util.CollectionUtil;
import com.liquidnet.commons.lang.util.CurrentUtil;
import com.liquidnet.commons.lang.util.DateUtil;
......@@ -12,7 +11,7 @@ import com.liquidnet.service.base.PagedResult;
import com.liquidnet.service.base.ResponseDto;
import com.liquidnet.service.base.SqlMapping;
import com.liquidnet.service.base.constant.MQConst;
import com.liquidnet.service.candy.vo.CandyCouponBasicVo;
import com.liquidnet.service.candy.vo.CandyCouponPreviewVo;
import com.liquidnet.service.feign.adam.api.FeignAdamBaseClient;
import com.liquidnet.service.feign.candy.api.FeignCandyBaseClient;
import com.liquidnet.service.feign.stone.api.FeignStoneIntegralClient;
......@@ -157,7 +156,7 @@ public class SweetIntegralActivityDrawServiceImpl extends ServiceImpl<SweetInteg
return ResponseDto.failure("活动太火爆了,奖品已经没有库存了!");
}
}
// 减积分
ResponseDto<String> de2111 = feignStoneIntegralClient.de2111(userId, integralActivity.getActivityNum(), integralActivity.getActivityTitle());
log.info("减积分返回值情况 de2111:{}", de2111);
......@@ -319,7 +318,7 @@ public class SweetIntegralActivityDrawServiceImpl extends ServiceImpl<SweetInteg
}
@Override
public ResponseDto collectCoupon(String couponId) {
public ResponseDto collectCoupon(String couponId, String drawId) {
// TODO: 2021/12/6 看看是否需要判断中奖状态再发
// TODO: 2021/12/6 领过了要改状态 下次判断状态
Map tokenClaims = CurrentUtil.getTokenClaims();
......@@ -338,7 +337,7 @@ public class SweetIntegralActivityDrawServiceImpl extends ServiceImpl<SweetInteg
}
@Override
public ResponseDto<List<IntegralActivityCouponVo>> couponList(String prizeId, String integralActivityId) {
public ResponseDto<List<CandyCouponPreviewVo>> couponList(String prizeId, String integralActivityId) {
IntegralActivityVo integralActivity = redisDataUtils.getIntegralActivityInfo(integralActivityId);
List<IntegralActivityPrizeVo> prizeList1 = integralActivity.getPrizeList1();
List<IntegralActivityPrizeRelationVo> relationList = new ArrayList<>();
......@@ -348,21 +347,17 @@ public class SweetIntegralActivityDrawServiceImpl extends ServiceImpl<SweetInteg
break;
}
}
List<IntegralActivityCouponVo> activityCouponVoList = new ArrayList<>();
List<CandyCouponPreviewVo> couponBasicVos = new ArrayList<>();
if (!CollectionUtils.isEmpty(relationList)) {
try {
List<String> couponIds = relationList.stream().map(IntegralActivityPrizeRelationVo -> IntegralActivityPrizeRelationVo.getCouponId()).collect(Collectors.toList());
ResponseDto<List<CandyCouponBasicVo>> responseDto = feignCandyBaseClient.couponListById(StringUtils.join(couponIds.toArray(), ","));
List<CandyCouponBasicVo> couponBasicVos = responseDto.getData();
for (CandyCouponBasicVo couponBasicVo : couponBasicVos) {
IntegralActivityCouponVo activityCouponVo = IntegralActivityCouponVo.getNew().copy(couponBasicVo);
activityCouponVoList.add(activityCouponVo);
}
ResponseDto<List<CandyCouponPreviewVo>> responseDto = feignCandyBaseClient.couponListById(StringUtils.join(couponIds.toArray(), ","));
couponBasicVos = responseDto.getData();
} catch (Exception e) {
log.error("获取券详情失败 e:{}", e);
}
}
return ResponseDto.success(activityCouponVoList);
return ResponseDto.success(couponBasicVos);
}
/**
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment