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

Commit 0259556f authored by 胡佳晨's avatar 胡佳晨

提交 离线券相关接口

parent a374718d
......@@ -391,6 +391,11 @@ public class GoblinRedisConst {
*/
public static final String NFT_TRANSFER_CONF_AGAIN = PREFIX.concat("nft_trans_conf_again");
/**
* 商铺离线券
*/
public static final String STORE_OUT_LINE_COUPON = PREFIX.concat("out_coupon");
/* ----------------------------------------------------------------- */
/* ----------------------------------------------------------------- */
/* ----------------------------------------------------------------- */
......
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;
@Api
@Data
public class CouponOutLineVo implements Serializable, Cloneable {
@ApiModelProperty(dataType = "String", name = "storeCouponIds", value = "券ID",example = "1",required = true)
private String storeCouponId;
@ApiModelProperty(dataType = "Integer", name = "count", value = "折扣[例如95折]",example = "95",required = true)
private Integer discount;
@ApiModelProperty(dataType = "String", name = "name", value = "券名称",example = "券名称1",required = true)
private String name;
@ApiModelProperty(dataType = "String", name = "desc", value = "描述",example = "这是95折券",required = true)
private String desc;
@ApiModelProperty(value = "券类型[1-代金券|2-折扣券|3-满减券]", example = "1")
private String couType;
private static final CouponOutLineVo obj = new CouponOutLineVo();
public static CouponOutLineVo getNew() {
try {
return (CouponOutLineVo) obj.clone();
} catch (CloneNotSupportedException e) {
e.printStackTrace();
}
return new CouponOutLineVo();
}
}
......@@ -87,7 +87,7 @@ public class GoblinPosController {
return ResponseDto.failure(ErrorCode.HTTP_PARAM_ERROR.getCode(), "店铺不存在");
}
String storeId = storeInfoVo.getStoreId();
skuids = skuids.replaceFirst("skuids","").replaceAll("[\":{}]", "");
skuids = skuids.replaceFirst("skuids", "").replaceAll("[\":{}]", "");
String[] skuIdArr = skuids.split(",");
List<GoblinPosGoodsVo> posGoodsVoList = ObjectUtil.getGoblinPosGoodsVoArrayList();
......@@ -160,4 +160,10 @@ public class GoblinPosController {
}
return ResponseDto.success(voList);
}
@PostMapping("coupon/outline")
@ApiOperation("获取离线券")
public ResponseDto<List<CouponOutLineVo>> getOutLineCoupon() {
return ResponseDto.success(goblinRedisUtils.getOutLineCoupon());
}
}
......@@ -2849,6 +2849,24 @@ public class GoblinRedisUtils {
return map;
}
public List<CouponOutLineVo> getOutLineCoupon() {
Object obj = redisUtil.get(GoblinRedisConst.STORE_OUT_LINE_COUPON);
if (obj == null) {
List<CouponOutLineVo> list = ObjectUtil.couponOutLineVo();
CouponOutLineVo vo = CouponOutLineVo.getNew();
vo.setName("95折券");
vo.setStoreCouponId("ccoupon95");
vo.setDiscount(95);
vo.setDesc("95折券");
vo.setCouType("2");
list.add(vo);
redisUtil.set(GoblinRedisConst.STORE_OUT_LINE_COUPON, list);
return list;
} else {
return (List<CouponOutLineVo>) obj;
}
}
/* ---------------------------------------- ---------------------------------------- */
/* ---------------------------------------- ---------------------------------------- */
/* ---------------------------------------- ---------------------------------------- */
......
......@@ -101,6 +101,7 @@ public class ObjectUtil {
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 ArrayList<CouponOutLineVo> couponOutLineVo = new ArrayList<>();
private static final HashMap<String, String[]> mixIdMap = new HashMap();
......@@ -108,6 +109,9 @@ public class ObjectUtil {
return (HashMap<String, String[]>) mixIdMap.clone();
}
public static ArrayList<CouponOutLineVo> couponOutLineVo() {
return (ArrayList<CouponOutLineVo>) couponOutLineVo.clone();
}
public static ArrayList<CouponCountVo> couponCountVos() {
return (ArrayList<CouponCountVo>) couponCountVos.clone();
......
......@@ -249,9 +249,23 @@ public class GoblinOrderUtils {
}
public GoblinUseResultVo useStoreCoupon(String ucouponId, String content, BigDecimal totalPrice, List<GoblinOrderSku> goblinOrderSkuList, String uid) {
GoblinUseResultVo returnVo = GoblinUseResultVo.getNew();
List<CouponOutLineVo> couponList = redisUtils.getOutLineCoupon();
boolean isOutLine = false;
for (CouponOutLineVo data: couponList) {
if(data.getStoreCouponId().equals(ucouponId)){
isOutLine = true;
BigDecimal tempPrice = totalPrice.subtract(totalPrice.multiply(BigDecimal.valueOf(data.getDiscount())).setScale(2, BigDecimal.ROUND_HALF_DOWN));
returnVo.setSpuIds(CollectionUtil.linkedListString());
returnVo.setValue(tempPrice);
returnVo.setCouType(data.getCouType());
}
}
if(isOutLine){
return returnVo;
}
try {
List<GoblinUserCouponVo> voList = redisUtils.getUserCouponVos(uid);
GoblinUseResultVo returnVo = GoblinUseResultVo.getNew();
returnVo.setValue(BigDecimal.ZERO);
returnVo.setCouType("-1");
LocalDateTime now = LocalDateTime.now();
......
......@@ -734,4 +734,13 @@ public class GoblinRedisUtils {
return BigDecimal.valueOf((int) obj);
}
}
public List<CouponOutLineVo> getOutLineCoupon() {
Object obj = redisUtil.get(GoblinRedisConst.STORE_OUT_LINE_COUPON);
if (obj == null) {
return ObjectUtil.couponOutLineVo();
} else {
return (List<CouponOutLineVo>) obj;
}
}
}
......@@ -58,6 +58,7 @@ public class ObjectUtil {
private static final HashMap<String, List<GoblinStoreOrder>> hashMapSp = new HashMap();
private static final HashMap<String, List<GoblinGoodsSkuInfoVo>> goblinGoodsSkuInfoVoMap = new HashMap();
private static final HashMap<String, String[]> mixIdMap = new HashMap();
private static final ArrayList<CouponOutLineVo> couponOutLineVo = new ArrayList<>();
public static Object[] objectsArray;
public static final Integer[] integerArray2 = new Integer[2];
......@@ -67,6 +68,10 @@ public class ObjectUtil {
return (HashMap<String, String[]>) mixIdMap.clone();
}
public static ArrayList<CouponOutLineVo> couponOutLineVo() {
return (ArrayList<CouponOutLineVo>) couponOutLineVo.clone();
}
public static ArrayList<GoblinGoodsSkuInfoVo> goblinGoodsSkuInfoVos() {
return (ArrayList<GoblinGoodsSkuInfoVo>) goblinGoodsSkuInfoVos.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