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

Commit b294f49d authored by 张国柄's avatar 张国柄

+API:我的会员权益券统计;

parent 5534807d
......@@ -4,6 +4,7 @@ import com.baomidou.mybatisplus.extension.service.IService;
import com.liquidnet.service.base.ResponseDto;
import com.liquidnet.service.candy.entity.CandyCoupon;
import com.liquidnet.service.candy.param.BackCouponParam;
import com.liquidnet.service.candy.vo.CandyCouponPreVo;
import com.liquidnet.service.candy.vo.CandyCouponVo;
import com.liquidnet.service.candy.vo.CandyMyCouponListVo;
import com.liquidnet.service.candy.vo.CandyUseResultVo;
......@@ -23,6 +24,8 @@ public interface ICandyCouponService {
CandyMyCouponListVo myCoupon(Integer type);
List<CandyCouponPreVo> memberCouponPre(String uid);
List<CandyCouponVo> memberCoupon(String mCouponId);
CandyMyCouponListVo preUsePerformanceCoupon(BigDecimal priceTotal, String performanceId, String timeId, String ticketId, Integer type);
......
package com.liquidnet.service.candy.vo;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import java.io.Serializable;
@ApiModel(value = "CandyCouponPreVo", description = "会员权益券统计")
public class CandyCouponPreVo implements Serializable, Cloneable {
private static final long serialVersionUID = 3741851732227825227L;
@ApiModelProperty(value = "权益ID", example = "权益ID")
private String mcouponId;
@ApiModelProperty(value = "当前可用券数量", example = "6")
private Long availableCt;
public String getMcouponId() {
return mcouponId;
}
public CandyCouponPreVo setMcouponId(String mcouponId) {
this.mcouponId = mcouponId;
return this;
}
public Long getAvailableCt() {
return availableCt;
}
public CandyCouponPreVo setAvailableCt(Long availableCt) {
this.availableCt = availableCt;
return this;
}
private static final CandyCouponPreVo obj = new CandyCouponPreVo();
public static CandyCouponPreVo getNew() {
try {
return (CandyCouponPreVo) obj.clone();
} catch (CloneNotSupportedException e) {
return new CandyCouponPreVo();
}
}
}
......@@ -2,9 +2,11 @@ package com.liquidnet.service.candy.controller;
import com.liquidnet.commons.lang.util.CollectionUtil;
import com.liquidnet.commons.lang.util.CurrentUtil;
import com.liquidnet.service.base.ResponseDto;
import com.liquidnet.service.candy.param.BackCouponParam;
import com.liquidnet.service.candy.service.ICandyCouponService;
import com.liquidnet.service.candy.vo.CandyCouponPreVo;
import com.liquidnet.service.candy.vo.CandyCouponVo;
import com.liquidnet.service.candy.vo.CandyMyCouponListVo;
import com.liquidnet.service.candy.vo.CandyUseResultVo;
......@@ -50,7 +52,14 @@ public class CandyCouponController {
return ResponseDto.success(candyCouponService.myCoupon(type));
}
//我的券列表
//我的会员权益券统计
@GetMapping("member-pre")
@ApiOperation("会员权益券统计")
public ResponseDto<List<CandyCouponPreVo>> myCouponPre() {
return ResponseDto.success(candyCouponService.memberCouponPre(CurrentUtil.getCurrentUid()));
}
//我的会员权益券列表
@GetMapping("member")
@ApiOperation("会员权益券列表")
@ApiImplicitParams({
......
......@@ -16,6 +16,7 @@ import com.liquidnet.service.candy.util.CouponBaseUtil;
import com.liquidnet.service.candy.util.ObjectUtil;
import com.liquidnet.service.candy.util.QueueUtils;
import com.liquidnet.service.candy.util.RedisDataUtils;
import com.liquidnet.service.candy.vo.CandyCouponPreVo;
import com.liquidnet.service.candy.vo.CandyCouponVo;
import com.liquidnet.service.candy.vo.CandyMyCouponListVo;
import com.liquidnet.service.candy.vo.CandyUseResultVo;
......@@ -25,6 +26,7 @@ import org.springframework.stereotype.Service;
import java.math.BigDecimal;
import java.time.LocalDateTime;
import java.util.*;
import java.util.stream.Collectors;
/**
* <p>
......@@ -75,6 +77,21 @@ public class CandyCouponServiceImpl implements ICandyCouponService {
return vo;
}
@Override
public List<CandyCouponPreVo> memberCouponPre(String uid) {
ArrayList<CandyCouponPreVo> voArrayList = ObjectUtil.getCandyCouponPreVoArrayList();
List<CandyUserCouponBasicDto> dtoList = redisDataUtils.getCouponByUid(uid);
if (!CollectionUtil.isEmpty(dtoList)) {
Map<String, Long> mCouponCountMap = dtoList.parallelStream()
.filter(r -> (r.getExclusive() == 1 && r.getState() == 1))
.collect(Collectors.groupingBy(CandyUserCouponBasicDto::getMcouponId, Collectors.counting()));
mCouponCountMap.forEach((mCouponId, ct) -> voArrayList.add(CandyCouponPreVo.getNew().setMcouponId(mCouponId).setAvailableCt(ct)));
}
return voArrayList;
}
@Override
public List<CandyCouponVo> memberCoupon(String mCouponId) {
String uid = CurrentUtil.getCurrentUid();
......
package com.liquidnet.service.candy.util;
import com.liquidnet.service.candy.vo.CandyCouponPreVo;
import com.liquidnet.service.candy.vo.CandyCouponRulesVo;
import com.liquidnet.service.candy.vo.CandyCouponVo;
......@@ -7,12 +8,17 @@ import java.util.ArrayList;
public class ObjectUtil {
private static final ArrayList<CandyCouponVo> candyCouponVoArrayList = new ArrayList<>();
private static final ArrayList<CandyCouponPreVo> candyCouponPreVoArrayList = new ArrayList<>();
private static final ArrayList<CandyCouponRulesVo> candyCouponRulesVos = new ArrayList<>();
public static ArrayList<CandyCouponVo> getCandyCouponVoArrayList() {
return (ArrayList<CandyCouponVo>) candyCouponVoArrayList.clone();
}
public static ArrayList<CandyCouponPreVo> getCandyCouponPreVoArrayList() {
return (ArrayList<CandyCouponPreVo>) candyCouponPreVoArrayList.clone();
}
public static ArrayList<CandyCouponRulesVo> getCandyCouponRulesVos() {
return (ArrayList<CandyCouponRulesVo>) candyCouponRulesVos.clone();
}
......
......@@ -95,7 +95,7 @@ public class ObjectUtil {
}
public static ArrayList<CandyUserCoupon> getCandyUserCouponArrayList() {
return candyUserCouponArrayList;
return (ArrayList<CandyUserCoupon>) candyUserCouponArrayList.clone();
}
public static PagedResult<AdamCollectVo> getAdamCollectVoPagedResult() {
......
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