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

Commit 9f0c5ad1 authored by 胡佳晨's avatar 胡佳晨

提交

parent 7bc16ba2
package com.liquidnet.service.goblin.dto.vo;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import java.io.Serializable;
import java.math.BigDecimal;
import java.util.List;
@ApiModel(value = "GoblinStoreMarketRelationVo", description = "前端用 商铺活动 关联 spu sku")
@Data
public class GoblinMarketSpuListVo implements Serializable, Cloneable {
private static final long serialVersionUID = 2353354057235207502L;
@ApiModelProperty(position = 11, value = "spuId")
private String marketSpuId;
@ApiModelProperty(position = 12, value = "封面图片地址")
private String coverPic;
@ApiModelProperty(position = 12, value = "价格区间MIN[20,2]")
private BigDecimal priceGe;
@ApiModelProperty(position = 12, value = "价格区间MAX[20,2]")
private BigDecimal priceLe;
@ApiModelProperty(position = 12, value = "商品名称")
private String name;
private static final GoblinMarketSpuListVo obj = new GoblinMarketSpuListVo();
public static GoblinMarketSpuListVo getNew() {
try {
return (GoblinMarketSpuListVo) obj.clone();
} catch (CloneNotSupportedException e) {
return new GoblinMarketSpuListVo();
}
}
}
package com.liquidnet.service.goblin.dto.vo;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import java.io.Serializable;
import java.util.List;
@ApiModel(value = "GoblinStoreMarketRelationVo", description = "前端用 商铺活动 关联 spu sku")
@Data
public class GoblinStoreMarketIsConfigVo implements Serializable, Cloneable {
private static final long serialVersionUID = 2353354057235207502L;
@ApiModelProperty(position = 11, value = "spuId")
private String spuId;
@ApiModelProperty(position = 12, value = "spuId 活动")
private String marketSpuId;
private static final GoblinStoreMarketIsConfigVo obj = new GoblinStoreMarketIsConfigVo();
public static GoblinStoreMarketIsConfigVo getNew() {
try {
return (GoblinStoreMarketIsConfigVo) obj.clone();
} catch (CloneNotSupportedException e) {
return new GoblinStoreMarketIsConfigVo();
}
}
}
......@@ -4,6 +4,7 @@ import com.github.pagehelper.PageInfo;
import com.liquidnet.service.base.ResponseDto;
import com.liquidnet.service.goblin.dto.manage.GoblinStorePurchaseCommonParam;
import com.liquidnet.service.goblin.dto.manage.GoblinStorePurchaseItemParam;
import com.liquidnet.service.goblin.dto.vo.GoblinMarketSpuListVo;
import com.liquidnet.service.goblin.dto.vo.GoblinStoreMarketVo;
import java.util.List;
......@@ -66,13 +67,13 @@ public interface IGoblinStorePurchasingService {
ResponseDto<GoblinStoreMarketVo> purchasingDetails(String marketId, String storeId);
/**
* 获取活动内sku列表
* 获取活动内spu列表
*
* @param marketId 活动秒杀id
* @param page 页数
* @return
*/
ResponseDto<String> purchasingSkuList(String marketId, String storeId, int page);//TODO 返回值
ResponseDto<List<GoblinMarketSpuListVo>> purchasingSpuList(String marketId, String storeId, int page);
/**
* 添加活动相关sku
......
......@@ -17,7 +17,7 @@ import org.springframework.stereotype.Component;
*/
@Slf4j
@Component("redisUtil")
public final class RedisUtil extends AbstractRedisUtil{
public final class RedisUtil extends AbstractRedisUtil {
@Autowired
private RedisConfig redisConfig;
......@@ -34,8 +34,8 @@ public final class RedisUtil extends AbstractRedisUtil{
public static void main(String[] args) {
String[] keys = {
"stone:user:773650",
"stone:item:logs:list:773650"
"sweet:luckDraw:num:20211230:surplus",
"sweet:luckDraw:num:20211230:all"
};
for (String key : keys) {
long value = key.hashCode();
......
......@@ -3,13 +3,10 @@ package com.liquidnet.service.goblin.controller.manage;
import com.github.pagehelper.PageInfo;
import com.liquidnet.service.base.ResponseDto;
import com.liquidnet.service.goblin.dto.manage.GoblinStorePurchaseCommonParam;
import com.liquidnet.service.goblin.dto.manage.GoblinStorePurchaseItemParam;
import com.liquidnet.service.goblin.dto.manage.GoblinStorePurchaseParam;
import com.liquidnet.service.goblin.dto.vo.GoblinPurchasingVo;
import com.liquidnet.service.goblin.dto.vo.GoblinStoreInfoVo;
import com.liquidnet.service.goblin.dto.vo.GoblinMarketSpuListVo;
import com.liquidnet.service.goblin.dto.vo.GoblinStoreMarketVo;
import com.liquidnet.service.goblin.service.manage.IGoblinStorePurchasingService;
import com.sun.org.apache.xpath.internal.operations.Bool;
import io.swagger.annotations.*;
import lombok.extern.slf4j.Slf4j;
import org.springframework.beans.factory.annotation.Autowired;
......@@ -91,7 +88,7 @@ public class GoblinStorePurchasingController {
return goblinStorePurchasingService.purchasingDetails(marketId, storeId);
}
@GetMapping("purchasing/sku")
@GetMapping("purchasing/spu")
@ApiOperation("活动详情-限时秒杀-sku列表")
@ApiResponse(code = 200, message = "接口返回对象参数")
@ApiImplicitParams({
......@@ -99,10 +96,10 @@ public class GoblinStorePurchasingController {
@ApiImplicitParam(type = "form", required = true, dataType = "String", name = "storeId", value = "商铺id", example = "1"),
@ApiImplicitParam(type = "form", required = true, dataType = "Integer", name = "page", value = "页数", example = "1"),
})
public ResponseDto<String> purchasingSkuList(@RequestParam("marketId") @Valid String marketId,
@RequestParam("storeId") @Valid String storeId,
@RequestParam("page") @Valid Integer page) {
return goblinStorePurchasingService.purchasingSkuList(marketId, storeId, page);
public ResponseDto<List<GoblinMarketSpuListVo>> purchasingSpuList(@RequestParam("marketId") @Valid String marketId,
@RequestParam("storeId") @Valid String storeId,
@RequestParam("page") @Valid Integer page) {
return goblinStorePurchasingService.purchasingSpuList(marketId, storeId, page);
}
@PostMapping("purchasing/sku")
......
......@@ -10,15 +10,13 @@ import com.liquidnet.service.base.constant.MQConst;
import com.liquidnet.service.goblin.constant.GoblinStatusConst;
import com.liquidnet.service.goblin.dto.manage.GoblinStorePurchaseCommonParam;
import com.liquidnet.service.goblin.dto.manage.GoblinStorePurchaseItemParam;
import com.liquidnet.service.goblin.dto.vo.GoblinGoodsInfoVo;
import com.liquidnet.service.goblin.dto.vo.GoblinGoodsSkuInfoVo;
import com.liquidnet.service.goblin.dto.vo.GoblinMarketRelationVo;
import com.liquidnet.service.goblin.dto.vo.GoblinStoreMarketVo;
import com.liquidnet.service.goblin.dto.vo.*;
import com.liquidnet.service.goblin.entity.GoblinStoreMarketPurchasing;
import com.liquidnet.service.goblin.entity.GoblinStoreMarketing;
import com.liquidnet.service.goblin.service.manage.IGoblinStorePurchasingService;
import com.liquidnet.service.goblin.util.GoblinMongoUtils;
import com.liquidnet.service.goblin.util.GoblinRedisUtils;
import com.liquidnet.service.goblin.util.ObjectUtil;
import com.liquidnet.service.goblin.util.QueueUtils;
import org.springframework.beans.BeanUtils;
import org.springframework.beans.factory.annotation.Autowired;
......@@ -28,6 +26,7 @@ import java.time.LocalDateTime;
import java.util.HashMap;
import java.util.LinkedList;
import java.util.List;
import java.util.stream.Collectors;
import static com.liquidnet.commons.lang.util.DateUtil.DTF_YMD_HMS;
......@@ -165,10 +164,28 @@ public class GoblinStorePurchasingServiceImpl implements IGoblinStorePurchasingS
}
@Override
public ResponseDto<String> purchasingSkuList(String marketId, String storeId, int page) {
List<String> spuIds = goblinRedisUtils.getStoreMarketIsConfig(marketId, storeId);
return null;
public ResponseDto<List<GoblinMarketSpuListVo>> purchasingSpuList(String marketId, String storeId, int page) {
int size = 20;
List<GoblinStoreMarketIsConfigVo> spuIds = goblinRedisUtils.getStoreMarketIsConfig(marketId, storeId);
List<String> marketSpuList = spuIds.stream().map(GoblinStoreMarketIsConfigVo::getMarketSpuId).collect(Collectors.toList());
List<GoblinMarketSpuListVo> voList = ObjectUtil.getGoblinMarketSpuListVoArrayList();
int count = page * 40;
int startCount = (page - 1) * 40;
if (count >= marketSpuList.size()) {
count = marketSpuList.size();
}
for (int i = startCount; i < count; i++) {
GoblinMarketSpuListVo vo = GoblinMarketSpuListVo.getNew();
String marketSpuId = marketSpuList.get(i);
GoblinGoodsInfoVo spuVo = goblinRedisUtils.getGoodsInfoVo(marketSpuId);
vo.setMarketSpuId(marketSpuId);
vo.setCoverPic(spuVo.getCoverPic());
vo.setName(spuVo.getName());
vo.setPriceGe(spuVo.getPriceGe());
vo.setPriceLe(spuVo.getPriceLe());
voList.add(vo);
}
return ResponseDto.success(voList);
}
@Override
......@@ -226,7 +243,7 @@ public class GoblinStorePurchasingServiceImpl implements IGoblinStorePurchasingS
goblinRedisUtils.setGoodsInfoVo(spuVo);
relationVo.setSkuList(skuList);
goblinRedisUtils.addMarketRelation(GoblinStatusConst.MarketPreStatus.MARKET_PRE_PURCHASE.getValue(), params.getStoreMarketId(), relationVo);
goblinRedisUtils.addStoreMarketIsConfig(params.getStoreMarketId(), params.getStoreId(), params.getSpuId(),marketSpuId);
goblinRedisUtils.addStoreMarketIsConfig(params.getStoreMarketId(), params.getStoreId(), params.getSpuId(), marketSpuId);
// 执行sql
String sqlData = SqlMapping.gets(sqls, sqlsData);
queueUtils.sendMsgByRedis(MQConst.GoblinQueue.GOBLIN_STORE_MARKET.getKey(),
......@@ -291,7 +308,7 @@ public class GoblinStorePurchasingServiceImpl implements IGoblinStorePurchasingS
//redis
goblinRedisUtils.delGoodsInfoVo(marketSpuId);
goblinRedisUtils.removeMarketRelation(GoblinStatusConst.MarketPreStatus.MARKET_PRE_PURCHASE.getValue(), marketId, spuId);
goblinRedisUtils.delStoreMarketIsConfig(marketId, storeId, spuId,marketSpuId);
goblinRedisUtils.delStoreMarketIsConfig(marketId, storeId, spuId, marketSpuId);
//mysql
queueUtils.sendMsgByRedis(MQConst.GoblinQueue.GOBLIN_STORE_MARKET.getKey(),
SqlMapping.get("goblin.store.market.delSpuRelation", bean.getDelFlag(), bean.getUpdatedAt(), marketId, storeId, spuId));
......
......@@ -119,27 +119,35 @@ public class GoblinRedisUtils {
* @param marketId
* @param storeId
*/
public List<String> getStoreMarketIsConfig(String marketId, String storeId) {
public List<GoblinStoreMarketIsConfigVo> getStoreMarketIsConfig(String marketId, String storeId) {
String redisKey = GoblinRedisConst.REDIS_GOBLIN_STORE_MARKET_ISCONFIG.concat(marketId).concat(":store_id:" + storeId);
Object obj = redisUtil.get(redisKey);
if (obj == null) {
return CollectionUtil.arrayListString();
return new ArrayList();
} else {
return (List<String>) obj;
return (List<GoblinStoreMarketIsConfigVo>) obj;
}
}
public void addStoreMarketIsConfig(String marketId, String storeId, String spuId,String marketSpuId) {
String redisKey = GoblinRedisConst.REDIS_GOBLIN_STORE_MARKET_ISCONFIG.concat(marketId).concat(":store_id:" + storeId);
List<String> voList = getStoreMarketIsConfig(marketId, storeId);
voList.add(spuId+","+marketSpuId);
List<GoblinStoreMarketIsConfigVo> voList = getStoreMarketIsConfig(marketId, storeId);
GoblinStoreMarketIsConfigVo vo = GoblinStoreMarketIsConfigVo.getNew();
vo.setMarketSpuId(marketSpuId);
vo.setSpuId(spuId);
voList.add(vo);
redisUtil.set(redisKey, voList);
}
public void delStoreMarketIsConfig(String marketId, String storeId, String spuId,String marketSpuId) {
String redisKey = GoblinRedisConst.REDIS_GOBLIN_STORE_MARKET_ISCONFIG.concat(marketId).concat(":store_id:" + storeId);
List<String> voList = getStoreMarketIsConfig(marketId, storeId);
voList.remove(spuId+","+marketSpuId);
List<GoblinStoreMarketIsConfigVo> voList = getStoreMarketIsConfig(marketId, storeId);
for (int i =0 ;i<voList.size();i++){
String itemSpuId= voList.get(i).getSpuId();
if(spuId.equals(itemSpuId)){
voList.remove(i);
}
}
redisUtil.set(redisKey, voList);
}
......
......@@ -22,6 +22,7 @@ public class ObjectUtil {
private static final ArrayList<GoblinGoodsTagVo> goblinGoodsTagVoArrayList = new ArrayList<>();
private static final ArrayList<GoblinGoodsServiceSupportVo> goblinGoodsServiceSupportVoArrayList = new ArrayList<>();
private static final ArrayList<GoblinGoodsExtagVo> goblinGoodsExtagVoArrayList = new ArrayList<>();
private static final ArrayList<GoblinMarketSpuListVo> goblinMarketSpuListVoArrayList = new ArrayList<>();
private static final BasicDBObject basicDBObject = new BasicDBObject();
......@@ -29,6 +30,10 @@ public class ObjectUtil {
return goblinStoreMgtGoodsVoPagedResult.clone();
}
public static ArrayList<GoblinMarketSpuListVo> getGoblinMarketSpuListVoArrayList() {
return (ArrayList<GoblinMarketSpuListVo>) goblinMarketSpuListVoArrayList.clone();
}
public static ArrayList<GoblinFrontBannerVo> goblinFrontBannerVoArrayList() {
return (ArrayList<GoblinFrontBannerVo>) goblinFrontBannerVoArrayList.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