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

Commit 96071a6c authored by 胡佳晨's avatar 胡佳晨

提交 获取 券领取次数接口

parent 0f2f2752
package com.liquidnet.service.goblin.dto.vo;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import javax.validation.constraints.NotBlank;
import javax.validation.constraints.NotNull;
import java.io.Serializable;
import java.util.List;
@Api
@Data
public class CouponCountVo implements Serializable, Cloneable {
@ApiModelProperty(dataType = "String", name = "storeCouponIds", value = "券ID",example = "1",required = true)
@NotNull @NotBlank
private String storeCouponId;
@ApiModelProperty(dataType = "Integer", name = "count", value = "领取数量",example = "10",required = true)
@NotNull @NotBlank
private Integer count;
private static final CouponCountVo obj = new CouponCountVo();
public static CouponCountVo getNew() {
try {
return (CouponCountVo) obj.clone();
} catch (CloneNotSupportedException e) {
e.printStackTrace();
}
return new CouponCountVo();
}
}
package com.liquidnet.service.goblin.param;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import javax.validation.constraints.NotBlank;
import javax.validation.constraints.NotNull;
import java.io.Serializable;
import java.util.List;
@Api
@Data
public class CouponCountParam implements Serializable, Cloneable {
@ApiModelProperty(dataType = "String", name = "storeCouponIds", value = "券ID数组",example = "1",required = true)
@NotNull @NotBlank
private List<String> storeCouponIds;
@ApiModelProperty(dataType = "String", name = "uid", value = "用户id",example = "10",required = true)
@NotNull @NotBlank
private String uid;
private static final CouponCountParam obj = new CouponCountParam();
public static CouponCountParam getNew() {
try {
return (CouponCountParam) obj.clone();
} catch (CloneNotSupportedException e) {
e.printStackTrace();
}
return new CouponCountParam();
}
}
......@@ -8,6 +8,7 @@ import com.liquidnet.service.base.ErrorMapping;
import com.liquidnet.service.base.ResponseDto;
import com.liquidnet.service.goblin.constant.GoblinStatusConst;
import com.liquidnet.service.goblin.dto.vo.*;
import com.liquidnet.service.goblin.param.CouponCountParam;
import com.liquidnet.service.goblin.service.GoblinCouponService;
import com.liquidnet.service.goblin.util.GoblinRedisUtils;
import com.liquidnet.service.goblin.util.ObjectUtil;
......@@ -112,4 +113,30 @@ public class GoblinPosController {
}
return ResponseDto.success(posGoodsVoList);
}
@PostMapping("coupon/count")
@ApiOperation("领券")
@ApiResponse(code = 200, message = "接口返回对象参数")
@ApiImplicitParams({
@ApiImplicitParam(type = "form", required = true, dataType = "List<String>", name = "storeCouponId", value = "平台券id"),
@ApiImplicitParam(type = "form", required = true, dataType = "String", name = "uid", value = "UID"),
})
public ResponseDto<List<CouponCountVo>> couponCount(@RequestBody CouponCountParam param) {
String uid = param.getUid();
List<String> storeCouponIds = param.getStoreCouponIds();
List<GoblinUserCouponVo> userCouponVos = goblinRedisUtils.getUserCouponVos(uid);
List<CouponCountVo> voList = ObjectUtil.couponCountVos();
for (String storeCouponId : storeCouponIds) {
if (!CollectionUtils.isEmpty(userCouponVos)) {
int beforeSize = userCouponVos.size();
userCouponVos.removeIf(vo -> vo.getStoreCouponId().equals(storeCouponId));
int receiveCount = (beforeSize - userCouponVos.size());
CouponCountVo single = CouponCountVo.getNew();
single.setStoreCouponId(storeCouponId);
single.setCount(receiveCount);
voList.add(single);
}
}
return ResponseDto.success(voList);
}
}
......@@ -99,13 +99,20 @@ public class ObjectUtil {
private static final ArrayList<GoblinMixDetailsItemVo> goblinMixDetailsItemVo = new ArrayList<>();
private static final ArrayList<GoblinMixManageListVo> goblinMixManageListVo = new ArrayList<>();
private static final ArrayList<GoblinMixAppListVo> goblinMixAppListVo = new ArrayList<>();
private static final ArrayList<CouponCountVo> couponCountVos = new ArrayList<>();
private static final ArrayList<GoblinMixDetailsVo> goblinMixDetailsVo = new ArrayList<>();
private static final HashMap<String, String[]> mixIdMap = new HashMap();
public static HashMap<String, String[]> mixIdMap() {
return (HashMap<String, String[]>) mixIdMap.clone();
}
public static ArrayList<CouponCountVo> couponCountVos() {
return (ArrayList<CouponCountVo>) couponCountVos.clone();
}
public static ArrayList<GoblinMixAppListVo> goblinMixAppListVo() {
return (ArrayList<GoblinMixAppListVo>) goblinMixAppListVo.clone();
}
......
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