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

Commit 9a7a2291 authored by jiangxiulong's avatar jiangxiulong

券列表

parent 66e76d19
......@@ -35,6 +35,11 @@
<version>1.0-SNAPSHOT</version>
<scope>compile</scope>
</dependency>
<dependency>
<groupId>com.liquidnet</groupId>
<artifactId>liquidnet-service-candy-api</artifactId>
<version>1.0-SNAPSHOT</version>
</dependency>
</dependencies>
</project>
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;
}
}
......@@ -2,9 +2,9 @@ package com.liquidnet.service.sweet.service;
import com.liquidnet.service.base.PagedResult;
import com.liquidnet.service.base.ResponseDto;
import com.liquidnet.service.sweet.dto.vo.IntegralActivityCouponVo;
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.entity.SweetIntegralActivityDraw;
import com.baomidou.mybatisplus.extension.service.IService;
......@@ -32,5 +32,5 @@ public interface ISweetIntegralActivityDrawService extends IService<SweetIntegra
ResponseDto collectCoupon(String couponId);
ResponseDto couponList(String prizeId, String integralActivityId);
ResponseDto<List<IntegralActivityCouponVo>> couponList(String prizeId, String integralActivityId);
}
......@@ -19,7 +19,7 @@ import java.util.List;
fallback = FallbackFactory.Default.class)
public interface FeignCandyBaseClient {
@PostMapping("couinfo")
@PostMapping(value = "rsc/couinfo", headers = {"Inner-Required=1"})
ResponseDto<List<CandyCouponBasicVo>> couponListById(
@RequestParam("couponIds") @NotNull @NotBlank String couponIds
);
......
......@@ -42,6 +42,9 @@ public class CandyRscController {
for (String couponId : couponIdArr) {
CandyCouponBasicVo couponBasicVo = CandyCouponBasicVo.getNew();
CandyCouponInfoDto couponInfoDto = redisDataUtils.getCouponInfo(couponId);
if (null == couponInfoDto) continue;
BeanUtils.copyProperties(couponInfoDto, couponBasicVo);
vos.add(couponBasicVo);
......
......@@ -3,6 +3,7 @@ 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.sweet.dto.vo.IntegralActivityDrawVo;
import com.liquidnet.service.sweet.dto.vo.IntegralActivityPrizeApiVo;
import com.liquidnet.service.sweet.dto.vo.IntegralActivityPrizeVo;
......@@ -107,11 +108,13 @@ public class SweetIntegralActivityDrawController {
@ApiOperation("奖品对应的券列表")
@ApiImplicitParams({
@ApiImplicitParam(type = "query", dataType = "String", name = "prizeId", value = "奖品id", required = true),
@ApiImplicitParam(type = "query", dataType = "String", name = "integralActivityId", value = "活动id", required = true)
@ApiImplicitParam(type = "query", dataType = "String", name = "integralActivityId", value = "活动id", required = true),
@ApiImplicitParam(type = "query", dataType = "int", name = "pageNum", value = "分页")
})
public ResponseDto couponList(
public ResponseDto<List<IntegralActivityCouponVo>> couponList(
@RequestParam("prizeId") String prizeId,
@RequestParam("integralActivityId") String integralActivityId
@RequestParam("integralActivityId") String integralActivityId,
@RequestParam(value = "pageNum", defaultValue = "1") int pageNum
) {
return activityDrawService.couponList(prizeId, integralActivityId);
}
......
......@@ -10,14 +10,12 @@ 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.feign.adam.api.FeignAdamBaseClient;
import com.liquidnet.service.feign.candy.api.FeignCandyBaseClient;
import com.liquidnet.service.feign.stone.api.FeignStoneIntegralClient;
import com.liquidnet.service.stone.dto.StoneScoreListDto;
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.dto.vo.IntegralActivityVo;
import com.liquidnet.service.sweet.dto.vo.*;
import com.liquidnet.service.sweet.entity.SweetIntegralActivityDraw;
import com.liquidnet.service.sweet.mapper.SweetIntegralActivityDrawMapper;
import com.liquidnet.service.sweet.service.ISweetIntegralActivityDrawService;
......@@ -40,6 +38,7 @@ import org.springframework.util.CollectionUtils;
import java.math.BigDecimal;
import java.time.LocalDateTime;
import java.util.*;
import java.util.stream.Collectors;
/**
* <p>
......@@ -210,6 +209,7 @@ public class SweetIntegralActivityDrawServiceImpl extends ServiceImpl<SweetInteg
queueUtils.sendMsgByRedis(MQConst.SweetQueue.SWEET_INTEGRAL_ACTIVITY_DRAW.getKey(),
SqlMapping.gets(sqls, sqlsDataA));
IntegralActivityPrizeApiVo activityPrizeApiVo = IntegralActivityPrizeApiVo.getNew().copy(integralActivityPrizeVo);
activityPrizeApiVo.setDrawId(drawId);
return ResponseDto.success(activityPrizeApiVo);
} catch (Exception e) {
log.error("积分抽奖异常 e:{}", e);
......@@ -370,9 +370,31 @@ public class SweetIntegralActivityDrawServiceImpl extends ServiceImpl<SweetInteg
}
@Override
public ResponseDto couponList(String prizeId, String integralActivityId) {
public ResponseDto<List<IntegralActivityCouponVo>> couponList(String prizeId, String integralActivityId) {
IntegralActivityVo integralActivity = redisDataUtils.getIntegralActivityInfo(integralActivityId);
return ResponseDto.success();
List<IntegralActivityPrizeVo> prizeList1 = integralActivity.getPrizeList1();
List<IntegralActivityPrizeRelationVo> relationList = new ArrayList<>();
for (IntegralActivityPrizeVo prize : prizeList1) {
if (prize.getPrizeId().equals(prizeId)) {
relationList = prize.getPrizeRelationList();
break;
}
}
List<IntegralActivityCouponVo> activityCouponVoList = 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);
}
} catch (Exception e) {
log.error("获取券详情失败 e:{}", e);
}
}
return ResponseDto.success(activityCouponVoList);
}
/**
......
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