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

Commit 37b1b734 authored by 胡佳晨's avatar 胡佳晨

提交 配置 优先购

parent c3d61cd8
...@@ -123,10 +123,6 @@ public class GoblinRedisConst { ...@@ -123,10 +123,6 @@ public class GoblinRedisConst {
public static final String REDIS_GOBLIN_TEMP_COUPON_MARKET = PREFIX.concat("temp:coupon:marketId:");//id 列表 $key:$marketId public static final String REDIS_GOBLIN_TEMP_COUPON_MARKET = PREFIX.concat("temp:coupon:marketId:");//id 列表 $key:$marketId
public static final String REDIS_GOBLIN_TEMP_COUPON = PREFIX.concat("temp:coupon:");//详情 $key:$ucouponId public static final String REDIS_GOBLIN_TEMP_COUPON = PREFIX.concat("temp:coupon:");//详情 $key:$ucouponId
public static final String REDIS_BLACK = PREFIX.concat("black:");//黑名单 key:$skuId:$mobile
public static final String REDIS_WHITE = PREFIX.concat("white:");//白名单 key:$skuId:$mobile
/* --------------------------------NFT--------------------------------- */ /* --------------------------------NFT--------------------------------- */
/*public static final String REDIS_GOBLIN_NFT_ORDER_INFO = PREFIX.concat("nftOrder:");// nft订单详情 orderId /*public static final String REDIS_GOBLIN_NFT_ORDER_INFO = PREFIX.concat("nftOrder:");// nft订单详情 orderId
public static final String REDIS_GOBLIN_NFT_ORDER_ID_OF_CODE = PREFIX.concat("nftOrder:orderCode:");// nft订单ID获取 orderCode public static final String REDIS_GOBLIN_NFT_ORDER_ID_OF_CODE = PREFIX.concat("nftOrder:orderCode:");// nft订单ID获取 orderCode
...@@ -160,7 +156,7 @@ public class GoblinRedisConst { ...@@ -160,7 +156,7 @@ public class GoblinRedisConst {
*/ */
public static final String STORE_COUPON = PREFIX.concat("s_coupon:"); public static final String STORE_COUPON = PREFIX.concat("s_coupon:");
/** /**
* 商铺活动:优惠券适用商品ID集合 * 商铺活动:优惠券适用商品ID集合item
* {goblin:s_coupon_r:${store_coupon_id}, JsonUtils.toJson(List<String:spu_id>)} * {goblin:s_coupon_r:${store_coupon_id}, JsonUtils.toJson(List<String:spu_id>)}
*/ */
public static final String STORE_COUPON_RULE = PREFIX.concat("s_coupon_r:"); public static final String STORE_COUPON_RULE = PREFIX.concat("s_coupon_r:");
...@@ -248,6 +244,9 @@ public class GoblinRedisConst { ...@@ -248,6 +244,9 @@ public class GoblinRedisConst {
public static final String NFT_PAY_TYPE = PREFIX.concat("nft:payType"); public static final String NFT_PAY_TYPE = PREFIX.concat("nft:payType");
public static final String LIST_DETAILS = PREFIX.concat("list:");//名单列表详情 $key:$listId public static final String LIST_DETAILS = PREFIX.concat("list:");//名单列表详情 $key:$listId
public static final String REDIS_BLACK = PREFIX.concat("black:");//黑名单 key:$skuId:$mobile
public static final String REDIS_WHITE = PREFIX.concat("white:");//白名单 key:$skuId:$mobile
public static final String LIST_COLLECT = PREFIX.concat("list:collect");//名单列表详情 $key:$skuId
/* ----------------------------------------------------------------- */ /* ----------------------------------------------------------------- */
/* ----------------------------------------------------------------- */ /* ----------------------------------------------------------------- */
......
package com.liquidnet.service.goblin.dto.vo;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import java.io.Serializable;
import java.math.BigDecimal;
import java.time.LocalDateTime;
@Data
public class GoblinListCollectVo implements Serializable, Cloneable{
@ApiModelProperty(value = "spuId")
private String spuId;
@ApiModelProperty(value = "skuId")
private String skuId;
@ApiModelProperty(value = "标签[0-提前购买|1-分段购买]")
private Integer tagType;
@ApiModelProperty(value = "android价格")
private BigDecimal price;
@ApiModelProperty(value = "苹果价格")
private BigDecimal priceV;
@ApiModelProperty(value = "苹果价格id")
private String productId;
@ApiModelProperty(value = "开始时间")
private LocalDateTime timeStart;
@ApiModelProperty(value = "结束时间")
private LocalDateTime timeEnd;
private static final GoblinListCollectVo obj = new GoblinListCollectVo();
public static GoblinListCollectVo getNew() {
try {
return (GoblinListCollectVo) obj.clone();
} catch (CloneNotSupportedException e) {
e.printStackTrace();
}
return new GoblinListCollectVo();
}
}
...@@ -3,7 +3,9 @@ package com.liquidnet.service.goblin.dto.vo; ...@@ -3,7 +3,9 @@ package com.liquidnet.service.goblin.dto.vo;
import io.swagger.annotations.ApiModelProperty; import io.swagger.annotations.ApiModelProperty;
import lombok.Data; import lombok.Data;
import javax.validation.constraints.NotNull;
import java.io.Serializable; import java.io.Serializable;
import java.math.BigDecimal;
@Data @Data
public class GoblinListDetailsItemVo implements Serializable, Cloneable{ public class GoblinListDetailsItemVo implements Serializable, Cloneable{
...@@ -13,11 +15,18 @@ public class GoblinListDetailsItemVo implements Serializable, Cloneable{ ...@@ -13,11 +15,18 @@ public class GoblinListDetailsItemVo implements Serializable, Cloneable{
private String skuId; private String skuId;
@ApiModelProperty(value = "sku名称") @ApiModelProperty(value = "sku名称")
private String skuName; private String skuName;
@ApiModelProperty(value = "线上库存")
private Integer stock;
@ApiModelProperty(value = "剩余库存") @ApiModelProperty(value = "剩余库存")
private Integer surplusStock; private Integer surplusStock;
@ApiModelProperty(value = "android价格")
private BigDecimal price;
@ApiModelProperty(value = "库存")
private Integer skuStock;
@ApiModelProperty(value = "苹果价格")
private BigDecimal priceV;
@ApiModelProperty(value = "苹果价格id")
private String productId;
private static final GoblinListDetailsItemVo obj = new GoblinListDetailsItemVo(); private static final GoblinListDetailsItemVo obj = new GoblinListDetailsItemVo();
public static GoblinListDetailsItemVo getNew() { public static GoblinListDetailsItemVo getNew() {
......
...@@ -18,8 +18,14 @@ public class GoblinListDetailsVo implements Serializable, Cloneable { ...@@ -18,8 +18,14 @@ public class GoblinListDetailsVo implements Serializable, Cloneable {
private Integer whiteType; private Integer whiteType;
@ApiModelProperty(value = "优先购文件地址") @ApiModelProperty(value = "优先购文件地址")
private String whiteUrl; private String whiteUrl;
@ApiModelProperty(value = "优先购提前时间")
private Integer advanceMin; @ApiModelProperty(value = "标签[0-提前购买|1-分段购买]")
private Integer tagType;
@ApiModelProperty(value = "开始时间")
private String timeStart;
@ApiModelProperty(value = "结束时间")
private String timeEnd;
@ApiModelProperty(value = "黑名单文件地址") @ApiModelProperty(value = "黑名单文件地址")
private String blackUrl; private String blackUrl;
@ApiModelProperty(value = "商品数据") @ApiModelProperty(value = "商品数据")
......
...@@ -12,8 +12,10 @@ public class GoblinListVo implements Serializable, Cloneable { ...@@ -12,8 +12,10 @@ public class GoblinListVo implements Serializable, Cloneable {
private String listId; private String listId;
@ApiModelProperty(value = "优先购名称") @ApiModelProperty(value = "优先购名称")
private String name; private String name;
@ApiModelProperty(value = "优先购提前时间") @ApiModelProperty(value = "开始时间")
private Integer advanceMin; private String timeStart;
@ApiModelProperty(value = "结束时间")
private String timeEnd;
@ApiModelProperty(value = "是否有黑名单[1-有|2-无]") @ApiModelProperty(value = "是否有黑名单[1-有|2-无]")
private Integer hasBlack; private Integer hasBlack;
@ApiModelProperty(value = "商品数量") @ApiModelProperty(value = "商品数量")
......
...@@ -4,6 +4,7 @@ import io.swagger.annotations.ApiModelProperty; ...@@ -4,6 +4,7 @@ import io.swagger.annotations.ApiModelProperty;
import lombok.Data; import lombok.Data;
import javax.validation.constraints.NotNull; import javax.validation.constraints.NotNull;
import java.math.BigDecimal;
@Data @Data
public class GoblinListCreateItemParam { public class GoblinListCreateItemParam {
...@@ -13,4 +14,17 @@ public class GoblinListCreateItemParam { ...@@ -13,4 +14,17 @@ public class GoblinListCreateItemParam {
@ApiModelProperty(value = "skuId") @ApiModelProperty(value = "skuId")
@NotNull(message = "skuId不能为空") @NotNull(message = "skuId不能为空")
private String skuId; private String skuId;
@ApiModelProperty(value = "android价格")
@NotNull(message = "price不能为空")
private BigDecimal price;
@ApiModelProperty(value = "库存")
@NotNull(message = "库存不能为空")
private Integer skuStock;
@ApiModelProperty(value = "苹果价格")
@NotNull(message = "苹果价格不能为空")
private BigDecimal priceV;
@ApiModelProperty(value = "苹果价格id")
@NotNull(message = "苹果价格id不能为空")
private String productId;
} }
...@@ -14,11 +14,16 @@ public class GoblinListCreateParam { ...@@ -14,11 +14,16 @@ public class GoblinListCreateParam {
@ApiModelProperty(value = "优先购类型[0-会员|1-指定用户]") @ApiModelProperty(value = "优先购类型[0-会员|1-指定用户]")
@NotNull(message = "优先购类型不能为空") @NotNull(message = "优先购类型不能为空")
private Integer whiteType; private Integer whiteType;
@ApiModelProperty(value = "标签[0-提前购买|1-分段购买]")
@NotNull(message = "标签类型不能为空")
private Integer tagType;
@ApiModelProperty(value = "优先购文件地址") @ApiModelProperty(value = "优先购文件地址")
private String whiteUrl; private String whiteUrl;
@ApiModelProperty(value = "优先购提前时间") @ApiModelProperty(value = "开始时间")
@NotNull(message = "优先购提前时间不能为空") @NotNull(message = "开始时间不能为空")
private Integer advanceMin; private String timeStart;
@ApiModelProperty(value = "结束时间")
private String timeEnd;
@ApiModelProperty(value = "黑名单文件地址") @ApiModelProperty(value = "黑名单文件地址")
private String blackUrl; private String blackUrl;
@ApiModelProperty(value = "商品数据") @ApiModelProperty(value = "商品数据")
......
...@@ -44,15 +44,25 @@ public class GoblinList implements Serializable { ...@@ -44,15 +44,25 @@ public class GoblinList implements Serializable {
*/ */
private Integer whiteType; private Integer whiteType;
/**
* 标签[0-提前购买|1-分段购买]
*/
private Integer tagType;
/** /**
* 白名单xls地址 * 白名单xls地址
*/ */
private String whiteUrl; private String whiteUrl;
/** /**
* 提前购买时间 * 开始时间
*/
private LocalDateTime timeStart;
/**
* 结束时间
*/ */
private Integer advanceMin; private LocalDateTime timeEnd;
/** /**
* 黑名单类型[0-会员|1-指定用户] * 黑名单类型[0-会员|1-指定用户]
......
...@@ -8,10 +8,7 @@ import com.liquidnet.service.base.PagedResult; ...@@ -8,10 +8,7 @@ import com.liquidnet.service.base.PagedResult;
import com.liquidnet.service.base.ResponseDto; import com.liquidnet.service.base.ResponseDto;
import com.liquidnet.service.base.SqlMapping; import com.liquidnet.service.base.SqlMapping;
import com.liquidnet.service.base.constant.MQConst; import com.liquidnet.service.base.constant.MQConst;
import com.liquidnet.service.goblin.dto.vo.GoblinGoodsSkuInfoVo; import com.liquidnet.service.goblin.dto.vo.*;
import com.liquidnet.service.goblin.dto.vo.GoblinListDetailsItemVo;
import com.liquidnet.service.goblin.dto.vo.GoblinListDetailsVo;
import com.liquidnet.service.goblin.dto.vo.GoblinListVo;
import com.liquidnet.service.goblin.param.GoblinListCreateItemParam; import com.liquidnet.service.goblin.param.GoblinListCreateItemParam;
import com.liquidnet.service.goblin.param.GoblinListCreateParam; import com.liquidnet.service.goblin.param.GoblinListCreateParam;
import com.liquidnet.service.goblin.param.GoblinListUpdateParam; import com.liquidnet.service.goblin.param.GoblinListUpdateParam;
...@@ -24,10 +21,13 @@ import org.springframework.beans.factory.annotation.Autowired; ...@@ -24,10 +21,13 @@ import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service; import org.springframework.stereotype.Service;
import java.time.LocalDateTime; import java.time.LocalDateTime;
import java.time.format.DateTimeFormatter;
import java.util.HashMap; import java.util.HashMap;
import java.util.LinkedList; import java.util.LinkedList;
import java.util.List; import java.util.List;
import static com.liquidnet.commons.lang.util.DateUtil.DTF_YMD_HMS;
/** /**
* <p> * <p>
* 商城-名单表 服务实现类 * 商城-名单表 服务实现类
...@@ -56,7 +56,8 @@ public class GoblinListServiceImpl implements IGoblinListService { ...@@ -56,7 +56,8 @@ public class GoblinListServiceImpl implements IGoblinListService {
GoblinListVo vo = GoblinListVo.getNew(); GoblinListVo vo = GoblinListVo.getNew();
vo.setListId(item.getListId()); vo.setListId(item.getListId());
vo.setName(item.getName()); vo.setName(item.getName());
vo.setAdvanceMin(item.getAdvanceMin()); vo.setTimeStart(item.getTimeStart());
vo.setTimeEnd(item.getTimeEnd());
vo.setSkuCount(item.getItemVo().size()); vo.setSkuCount(item.getItemVo().size());
vo.setHasBlack(item.getBlackUrl().equals("") ? 0 : 1); vo.setHasBlack(item.getBlackUrl().equals("") ? 0 : 1);
} }
...@@ -74,25 +75,26 @@ public class GoblinListServiceImpl implements IGoblinListService { ...@@ -74,25 +75,26 @@ public class GoblinListServiceImpl implements IGoblinListService {
for (GoblinListDetailsItemVo item : vo.getItemVo()) { for (GoblinListDetailsItemVo item : vo.getItemVo()) {
GoblinGoodsSkuInfoVo skuVo = redisUtils.getGoodsSkuInfoVo(item.getSkuId()); GoblinGoodsSkuInfoVo skuVo = redisUtils.getGoodsSkuInfoVo(item.getSkuId());
item.setSkuName(skuVo.getName()); item.setSkuName(skuVo.getName());
if (skuVo.getUnbox().equals("0")) { item.setSurplusStock(redisUtils.getSkuStock(listId, skuVo.getSkuId()));
item.setSurplusStock(redisUtils.getSkuStock(null, item.getSkuId())); // if (skuVo.getUnbox().equals("0")) {
item.setStock(skuVo.getSkuStock()); // item.setSurplusStock(redisUtils.getSkuStock(null, item.getSkuId()));
} else { // item.setStock(skuVo.getSkuStock());
List<String> skuIdList = redisUtils.getGoodsInfoVo(item.getSpuId()).getSkuIdList(); // } else {
int surplusStock = 0; // List<String> skuIdList = redisUtils.getGoodsInfoVo(item.getSpuId()).getSkuIdList();
int stock = 0; // int surplusStock = 0;
for (String skuIdItem : skuIdList) {// 盲盒计算所有sku库存总数 // int stock = 0;
if (skuIdItem.equals(item.getSkuId())) {// 过滤自己 // for (String skuIdItem : skuIdList) {// 盲盒计算所有sku库存总数
stock += skuVo.getSkuStock(); // if (skuIdItem.equals(item.getSkuId())) {// 过滤自己
continue; // stock += skuVo.getSkuStock();
} // continue;
GoblinGoodsSkuInfoVo itemVo = redisUtils.getGoodsSkuInfoVo(skuIdItem); // }
surplusStock += redisUtils.getSkuAllStatusStock(itemVo); // GoblinGoodsSkuInfoVo itemVo = redisUtils.getGoodsSkuInfoVo(skuIdItem);
stock += itemVo.getSkuStock(); // surplusStock += redisUtils.getSkuAllStatusStock(itemVo);
} // stock += itemVo.getSkuStock();
item.setSurplusStock(surplusStock); // }
item.setStock(stock); // item.setSurplusStock(surplusStock);
} // item.setStock(stock);
// }
} }
return ResponseDto.success(vo); return ResponseDto.success(vo);
} }
...@@ -106,12 +108,50 @@ public class GoblinListServiceImpl implements IGoblinListService { ...@@ -106,12 +108,50 @@ public class GoblinListServiceImpl implements IGoblinListService {
LinkedList<Object[]> goblinListDetails = CollectionUtil.linkedListObjectArr(); LinkedList<Object[]> goblinListDetails = CollectionUtil.linkedListObjectArr();
LocalDateTime now = LocalDateTime.now(); LocalDateTime now = LocalDateTime.now();
//时间
if (param.getItemParams().size() > 1) {
return ResponseDto.failure("只能配置一个sku");
}
String skuId = param.getItemParams().get(0).getSkuId();
GoblinGoodsSkuInfoVo skuInfoVo = redisUtils.getGoodsSkuInfoVo(skuId);
LocalDateTime st = LocalDateTime.parse(param.getTimeStart(), DTF_YMD_HMS);
LocalDateTime et = null;
List<GoblinListCollectVo> collectVos;
if (param.getTimeEnd() != null) {//传结束时间
et = LocalDateTime.parse(param.getTimeEnd(), DTF_YMD_HMS);
if (st.isAfter(et)) {
return ResponseDto.failure("开始时间不能晚于结束时间");
}
if (et.isAfter(skuInfoVo.getSaleStartTime())) {
return ResponseDto.failure("结束时间不能晚于商品开售时间");
}
collectVos = redisUtils.getGoblinListCollect(skuId);
for (GoblinListCollectVo collectItem : collectVos) {
if (st.isAfter(collectItem.getTimeStart()) || st.isBefore(collectItem.getTimeEnd()) ||
et.isAfter(collectItem.getTimeStart()) || et.isBefore(collectItem.getTimeEnd())) {
return ResponseDto.failure("sku时间不能重合");
}
}
} else {//未结束时间
if (st.isAfter(skuInfoVo.getSaleStartTime())) {
return ResponseDto.failure("结束时间不能晚于商品开售时间");
}
collectVos = redisUtils.getGoblinListCollect(skuId);
for (GoblinListCollectVo collectItem : collectVos) {
if (st.isAfter(collectItem.getTimeStart()) || st.isBefore(collectItem.getTimeEnd())) {
return ResponseDto.failure("sku时间不能重合");
}
}
}
GoblinListDetailsVo vo = GoblinListDetailsVo.getNew(); GoblinListDetailsVo vo = GoblinListDetailsVo.getNew();
List<GoblinListDetailsItemVo> voItemList = ObjectUtil.goblinListDetailsItemVoArrayList(); List<GoblinListDetailsItemVo> voItemList = ObjectUtil.goblinListDetailsItemVoArrayList();
vo.setListId(IDGenerator.nextTimeId2()); vo.setListId(IDGenerator.nextTimeId2());
vo.setUid(CurrentUtil.getCurrentUid()); vo.setUid(CurrentUtil.getCurrentUid());
vo.setName(param.getName()); vo.setName(param.getName());
vo.setAdvanceMin(param.getAdvanceMin()); vo.setTagType(param.getTagType());
vo.setTimeStart(param.getTimeStart());
vo.setTimeEnd(param.getTimeEnd());
vo.setWhiteType(param.getWhiteType()); vo.setWhiteType(param.getWhiteType());
//判断 白名单类型 //判断 白名单类型
if (param.getWhiteType().equals(1)) {//需要xls文件 if (param.getWhiteType().equals(1)) {//需要xls文件
...@@ -127,19 +167,43 @@ public class GoblinListServiceImpl implements IGoblinListService { ...@@ -127,19 +167,43 @@ public class GoblinListServiceImpl implements IGoblinListService {
GoblinListDetailsItemVo itemVo = GoblinListDetailsItemVo.getNew(); GoblinListDetailsItemVo itemVo = GoblinListDetailsItemVo.getNew();
itemVo.setSkuId(item.getSkuId()); itemVo.setSkuId(item.getSkuId());
itemVo.setSpuId(item.getSpuId()); itemVo.setSpuId(item.getSpuId());
itemVo.setPrice(item.getPrice());
itemVo.setPriceV(item.getPriceV());
itemVo.setSkuStock(item.getSkuStock());
itemVo.setProductId(item.getProductId());
//库存
int skuStock = redisUtils.decrSkuStock(null, itemVo.getSkuId(), itemVo.getSkuStock());
if (skuStock < 0) {
redisUtils.incrSkuStock(null, itemVo.getSkuId(), itemVo.getSkuStock());
return ResponseDto.failure("库存不足");
} else {
redisUtils.setSkuStock(vo.getListId(), itemVo.getSkuId(), itemVo.getSkuStock());
}
//集合
GoblinListCollectVo collectVo = GoblinListCollectVo.getNew();
collectVo.setSpuId(itemVo.getSpuId());
collectVo.setSkuId(itemVo.getSkuId());
collectVo.setPrice(itemVo.getPrice());
collectVo.setPriceV(itemVo.getPriceV());
collectVo.setProductId(itemVo.getProductId());
collectVo.setTimeStart(st);
collectVo.setTimeEnd(et);
collectVo.setTagType(vo.getTagType());
collectVos.add(collectVo);
redisUtils.setGoblinListCollect(itemVo.getSkuId(), collectVos);
// 白名单 // 白名单
queueUtils.sendMsgByRedisXls(param.getWhiteUrl(), "", "3", item.getSkuId()); queueUtils.sendMsgByRedisXls(param.getWhiteUrl(), "", "3", item.getSkuId());
// 黑名单 // 黑名单
queueUtils.sendMsgByRedisXls(param.getBlackUrl(), "", "4", item.getSkuId()); queueUtils.sendMsgByRedisXls(param.getBlackUrl(), "", "4", item.getSkuId());
goblinListDetails.add(new Object[]{ goblinListDetails.add(new Object[]{
vo.getListId(), itemVo.getSpuId(), itemVo.getSkuId(), now vo.getListId(), itemVo.getSpuId(), itemVo.getSkuId(), now, itemVo.getSkuStock(), itemVo.getPriceV(), itemVo.getProductId(), itemVo.getPrice()
}); });
} }
vo.setItemVo(voItemList); vo.setItemVo(voItemList);
redisUtils.setGoblinListDetailsVo(vo); redisUtils.setGoblinListDetailsVo(vo);
mongoUtils.insertGoblinListDetailsVo(vo); mongoUtils.insertGoblinListDetailsVo(vo);
goblinList.add(new Object[]{ goblinList.add(new Object[]{
vo.getListId(), vo.getUid(), vo.getName(), vo.getWhiteType(), vo.getWhiteUrl(), vo.getAdvanceMin(), vo.getBlackUrl(), now vo.getListId(), vo.getUid(), vo.getName(), vo.getWhiteType(), vo.getWhiteUrl(), vo.getTimeStart(), vo.getTimeEnd(), vo.getTagType(), vo.getBlackUrl(), now
}); });
queueUtils.sendMsgByRedis(MQConst.GoblinQueue.GOBLIN_STORE_MARKET.getKey(), SqlMapping.gets(sqls, goblinList, goblinListDetails)); queueUtils.sendMsgByRedis(MQConst.GoblinQueue.GOBLIN_STORE_MARKET.getKey(), SqlMapping.gets(sqls, goblinList, goblinListDetails));
return ResponseDto.success(); return ResponseDto.success();
...@@ -175,7 +239,7 @@ public class GoblinListServiceImpl implements IGoblinListService { ...@@ -175,7 +239,7 @@ public class GoblinListServiceImpl implements IGoblinListService {
} }
redisUtils.setGoblinListDetailsVo(vo); redisUtils.setGoblinListDetailsVo(vo);
mongoUtils.changeGoblinListDetailsVo(param.getListId(), vo); mongoUtils.changeGoblinListDetailsVo(param.getListId(), vo);
//todo sql入库 //sql入库
queueUtils.sendMsgByRedis(MQConst.GoblinQueue.GOBLIN_STORE_MARKET.getKey(), queueUtils.sendMsgByRedis(MQConst.GoblinQueue.GOBLIN_STORE_MARKET.getKey(),
SqlMapping.get("goblin_list_update", param.getWhiteUrl(), param.getWhiteType(), param.getBlackUrl(), now, param.getListId())); SqlMapping.get("goblin_list_update", param.getWhiteUrl(), param.getWhiteType(), param.getBlackUrl(), now, param.getListId()));
return ResponseDto.success(); return ResponseDto.success();
......
...@@ -1736,6 +1736,22 @@ public class GoblinRedisUtils { ...@@ -1736,6 +1736,22 @@ public class GoblinRedisUtils {
} }
} }
/**
* 设置 分批购数据
*/
public void setGoblinListCollect(String skuId,List<GoblinListCollectVo> vo) {
redisUtil.set(GoblinRedisConst.LIST_COLLECT.concat(skuId), vo);
}
public List<GoblinListCollectVo> getGoblinListCollect(String skuId) {
Object obj = redisUtil.get(GoblinRedisConst.LIST_COLLECT.concat(skuId));
if(obj==null){
return ObjectUtil.getGoblinStoreCouponVoArrayList()
}else{
return (List<GoblinListCollectVo>) obj;
}
}
/* ---------------------------------------- ---------------------------------------- */ /* ---------------------------------------- ---------------------------------------- */
/* ---------------------------------------- ---------------------------------------- */ /* ---------------------------------------- ---------------------------------------- */
} }
...@@ -20,6 +20,7 @@ import com.mongodb.client.model.WriteModel; ...@@ -20,6 +20,7 @@ import com.mongodb.client.model.WriteModel;
import org.bson.Document; import org.bson.Document;
import java.util.ArrayList; import java.util.ArrayList;
import java.util.List;
public class ObjectUtil { public class ObjectUtil {
private static final PagedResult<GoblinStoreMgtGoodsListVo> goblinStoreMgtGoodsVoPagedResult = new PagedResult<>(); private static final PagedResult<GoblinStoreMgtGoodsListVo> goblinStoreMgtGoodsVoPagedResult = new PagedResult<>();
...@@ -91,7 +92,7 @@ public class ObjectUtil { ...@@ -91,7 +92,7 @@ public class ObjectUtil {
private static final ArrayList<GoblinStoreMgtGoodsSkuListVo> goblinStoreMgtGoodsSkuListVoArrayList = new ArrayList<>(); private static final ArrayList<GoblinStoreMgtGoodsSkuListVo> goblinStoreMgtGoodsSkuListVoArrayList = new ArrayList<>();
private static final ArrayList<GoblinNftGoodsSkuListJobVo> goblinNftGoodsSkuListJobVoArrayList = new ArrayList<>(); private static final ArrayList<GoblinNftGoodsSkuListJobVo> goblinNftGoodsSkuListJobVoArrayList = new ArrayList<>();
private static final ArrayList<GoblinListDetailsItemVo> goblinListDetailsItemVoArrayList = new ArrayList<>(); private static final ArrayList<GoblinListDetailsItemVo> goblinListDetailsItemVoArrayList = new ArrayList<>();
private static final ArrayList<GoblinListCollectVo> goblinListCollectVo = new ArrayList<>();
private static final BasicDBObject basicDBObject = new BasicDBObject(); private static final BasicDBObject basicDBObject = new BasicDBObject();
private static final ArrayList<WriteModel<Document>> writeModelDocumentArrayList = new ArrayList<>(); private static final ArrayList<WriteModel<Document>> writeModelDocumentArrayList = new ArrayList<>();
...@@ -99,6 +100,10 @@ public class ObjectUtil { ...@@ -99,6 +100,10 @@ public class ObjectUtil {
return (ArrayList<GoblinListVo>) goblinListVo.clone(); return (ArrayList<GoblinListVo>) goblinListVo.clone();
} }
public static ArrayList<GoblinListCollectVo> getGoblinListCollectVo() {
return (ArrayList<GoblinListCollectVo>) goblinListCollectVo.clone();
}
public static PagedResult<GoblinStoreMgtGoodsListVo> getGoblinStoreMgtGoodsVoPagedResult() { public static PagedResult<GoblinStoreMgtGoodsListVo> getGoblinStoreMgtGoodsVoPagedResult() {
return goblinStoreMgtGoodsVoPagedResult.clone(); return goblinStoreMgtGoodsVoPagedResult.clone();
} }
...@@ -166,6 +171,7 @@ public class ObjectUtil { ...@@ -166,6 +171,7 @@ public class ObjectUtil {
public static ArrayList<GoblinGoodsInfoListVo> getGoblinGoodsInfoListVo() { public static ArrayList<GoblinGoodsInfoListVo> getGoblinGoodsInfoListVo() {
return (ArrayList<GoblinGoodsInfoListVo>) goblinGoodsInfoListVo.clone(); return (ArrayList<GoblinGoodsInfoListVo>) goblinGoodsInfoListVo.clone();
} }
public static ArrayList<GoblinUserCouponVo> getGoblinUserCouponVo() { public static ArrayList<GoblinUserCouponVo> getGoblinUserCouponVo() {
return (ArrayList<GoblinUserCouponVo>) goblinUserCouponVo.clone(); return (ArrayList<GoblinUserCouponVo>) goblinUserCouponVo.clone();
} }
......
...@@ -150,6 +150,6 @@ adam_user_busi_acct.add=INSERT INTO adam_user_busi_acct (`uid`, busi, uuid, `wor ...@@ -150,6 +150,6 @@ adam_user_busi_acct.add=INSERT INTO adam_user_busi_acct (`uid`, busi, uuid, `wor
#---- \u9ED1\u767D\u540D\u5355 ---- #---- \u9ED1\u767D\u540D\u5355 ----
goblin_list_insert = "INSERT INTO goblin_list (`list_id`,`uid`,`name`,`white_type`,`white_url`,`advance_min``,`black_url`,`created_at`) VALUES (?,?,?,?,?,?,?,?)" goblin_list_insert = "INSERT INTO goblin_list (`list_id`,`uid`,`name`,`white_type`,`white_url`,`time_start`,`time_end`,`tag_type`,`black_url`,`created_at`) VALUES (?,?,?,?,?,?,?,?,?,?)"
goblin_list_detail_insert = "INSERT INTO goblin_list_details (`list_id`,`spu_id`,`sku_id`,`created_at`) VALUES (?,?,?,?)" goblin_list_detail_insert = "INSERT INTO goblin_list_details (`list_id`,`spu_id`,`sku_id`,`created_at`,`sku_stock`,`price_v`,`product_id`,`price`) VALUES (?,?,?,?,?,?,?,?)"
goblin_list_update = "UPDATE goblin_list SET white_url = ? ,white_type = ? , black_url = ? , updated_at = ? WHERE list_id = ?" goblin_list_update = "UPDATE goblin_list SET white_url = ? ,white_type = ? , black_url = ? , updated_at = ? WHERE list_id = ?"
\ No newline at end of file
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