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

Commit f0eed3b2 authored by 胡佳晨's avatar 胡佳晨

修改搜索接口

parent 3ff1a6d4
...@@ -58,59 +58,60 @@ public class GoblinFrontServiceImpl implements GoblinFrontService { ...@@ -58,59 +58,60 @@ public class GoblinFrontServiceImpl implements GoblinFrontService {
@Override @Override
public ArrayList<GoblinFrontBannerVo> getListBanner() { public ArrayList<GoblinFrontBannerVo> getListBanner() {
List<GoblinFrontBanner> list=goblinRedisUtils.getListBanner(); List<GoblinFrontBanner> list = goblinRedisUtils.getListBanner();
if(null==list){ if (null == list) {
return null; return null;
} }
LocalDateTime nowTime= LocalDateTime.now(); LocalDateTime nowTime = LocalDateTime.now();
ArrayList<GoblinFrontBanner> goblinFrontBannerArrayList= ObjectUtil.getGoblinFrontBannerArrayList(); ArrayList<GoblinFrontBanner> goblinFrontBannerArrayList = ObjectUtil.getGoblinFrontBannerArrayList();
//查看是否有失效的时间 //查看是否有失效的时间
for(GoblinFrontBanner goblinFrontBanner:list){ for (GoblinFrontBanner goblinFrontBanner : list) {
if(null!=goblinFrontBanner.getEndTime()&&null!=goblinFrontBanner.getStartTime()){ if (null != goblinFrontBanner.getEndTime() && null != goblinFrontBanner.getStartTime()) {
if( nowTime.isAfter(goblinFrontBanner.getEndTime())){ if (nowTime.isAfter(goblinFrontBanner.getEndTime())) {
}else{ } else {
if(nowTime.isBefore(goblinFrontBanner.getStartTime())){ if (nowTime.isBefore(goblinFrontBanner.getStartTime())) {
}else{ } else {
goblinFrontBannerArrayList.add(goblinFrontBanner); goblinFrontBannerArrayList.add(goblinFrontBanner);
} }
} }
}else{ } else {
goblinFrontBannerArrayList.add(goblinFrontBanner); goblinFrontBannerArrayList.add(goblinFrontBanner);
} }
} }
ArrayList<GoblinFrontBannerVo> list1= ObjectUtil.goblinFrontBannerVoArrayList(); ArrayList<GoblinFrontBannerVo> list1 = ObjectUtil.goblinFrontBannerVoArrayList();
for(GoblinFrontBanner goblinFrontBanner:goblinFrontBannerArrayList){ for (GoblinFrontBanner goblinFrontBanner : goblinFrontBannerArrayList) {
GoblinFrontBannerVo goblinFrontBannerVo=GoblinFrontBannerVo.getNew(); GoblinFrontBannerVo goblinFrontBannerVo = GoblinFrontBannerVo.getNew();
BeanUtils.copyProperties(goblinFrontBanner,goblinFrontBannerVo); BeanUtils.copyProperties(goblinFrontBanner, goblinFrontBannerVo);
list1.add(goblinFrontBannerVo); list1.add(goblinFrontBannerVo);
} }
return list1; return list1;
} }
public ArrayList<GoblinFrontBannerVo> getMiddleBanner() { public ArrayList<GoblinFrontBannerVo> getMiddleBanner() {
List<GoblinFrontBanner> list=goblinRedisUtils.getMiddleBanner(); List<GoblinFrontBanner> list = goblinRedisUtils.getMiddleBanner();
if(null==list){ if (null == list) {
return null; return null;
} }
LocalDateTime nowTime= LocalDateTime.now(); LocalDateTime nowTime = LocalDateTime.now();
ArrayList<GoblinFrontBanner> goblinFrontBannerArrayList= ObjectUtil.getGoblinFrontBannerArrayList(); ArrayList<GoblinFrontBanner> goblinFrontBannerArrayList = ObjectUtil.getGoblinFrontBannerArrayList();
//查看是否有失效的时间 //查看是否有失效的时间
for(GoblinFrontBanner goblinFrontBanner:list){ for (GoblinFrontBanner goblinFrontBanner : list) {
if(null!=goblinFrontBanner.getEndTime()){ if (null != goblinFrontBanner.getEndTime()) {
if( nowTime.isAfter(goblinFrontBanner.getEndTime())){ if (nowTime.isAfter(goblinFrontBanner.getEndTime())) {
}else{ } else {
if(nowTime.isBefore(goblinFrontBanner.getStartTime())){ if (nowTime.isBefore(goblinFrontBanner.getStartTime())) {
}else{ } else {
goblinFrontBannerArrayList.add(goblinFrontBanner); goblinFrontBannerArrayList.add(goblinFrontBanner);
} }
} }
}else{ } else {
goblinFrontBannerArrayList.add(goblinFrontBanner); goblinFrontBannerArrayList.add(goblinFrontBanner);
} }
} }
ArrayList<GoblinFrontBannerVo> list1= ObjectUtil.goblinFrontBannerVoArrayList(); ArrayList<GoblinFrontBannerVo> list1 = ObjectUtil.goblinFrontBannerVoArrayList();
for(GoblinFrontBanner goblinFrontBanner:goblinFrontBannerArrayList){ for (GoblinFrontBanner goblinFrontBanner : goblinFrontBannerArrayList) {
GoblinFrontBannerVo goblinFrontBannerVo=GoblinFrontBannerVo.getNew(); GoblinFrontBannerVo goblinFrontBannerVo = GoblinFrontBannerVo.getNew();
BeanUtils.copyProperties(goblinFrontBanner,goblinFrontBannerVo); BeanUtils.copyProperties(goblinFrontBanner, goblinFrontBannerVo);
list1.add(goblinFrontBannerVo); list1.add(goblinFrontBannerVo);
} }
return list1; return list1;
...@@ -118,8 +119,8 @@ public class GoblinFrontServiceImpl implements GoblinFrontService { ...@@ -118,8 +119,8 @@ public class GoblinFrontServiceImpl implements GoblinFrontService {
@Override @Override
public GoblinFrontHotWord getHotWord() { public GoblinFrontHotWord getHotWord() {
List<GoblinFrontHotWord> list=goblinRedisUtils.getHotWord(); List<GoblinFrontHotWord> list = goblinRedisUtils.getHotWord();
// int index= (int) redisUtil.get(GoblinRedisConst.FRONT_HOTWORD_INDEX); // int index= (int) redisUtil.get(GoblinRedisConst.FRONT_HOTWORD_INDEX);
//获得value //获得value
/* index++; /* index++;
String hotWord=""; String hotWord="";
...@@ -129,25 +130,25 @@ public class GoblinFrontServiceImpl implements GoblinFrontService { ...@@ -129,25 +130,25 @@ public class GoblinFrontServiceImpl implements GoblinFrontService {
}else{ }else{
hotWord= list.get(0).getWord(); hotWord= list.get(0).getWord();
}*/ }*/
if(null==list||list.size()==0){ if (null == list || list.size() == 0) {
return null; return null;
}else{ } else {
return list.get(0); return list.get(0);
} }
} }
@Override @Override
public GoblinFrontNavigationVoo getNavigation() { public GoblinFrontNavigationVoo getNavigation() {
if(!redisUtil.hasKey(GoblinRedisConst.FRONT_NAVIGATION)){ if (!redisUtil.hasKey(GoblinRedisConst.FRONT_NAVIGATION)) {
return null; return null;
} }
GoblinFrontNavigationVoo goblinFrontNavigationVoo=GoblinFrontNavigationVoo.getNew(); GoblinFrontNavigationVoo goblinFrontNavigationVoo = GoblinFrontNavigationVoo.getNew();
List<GoblinFrontNavigation> list = (List<GoblinFrontNavigation>) redisUtil.get(GoblinRedisConst.FRONT_NAVIGATION); List<GoblinFrontNavigation> list = (List<GoblinFrontNavigation>) redisUtil.get(GoblinRedisConst.FRONT_NAVIGATION);
ArrayList<GoblinFrontNavigationVo> list1=ObjectUtil.getgoblinFrontNavigationVoArrayList(); ArrayList<GoblinFrontNavigationVo> list1 = ObjectUtil.getgoblinFrontNavigationVoArrayList();
for(GoblinFrontNavigation navigation:list){ for (GoblinFrontNavigation navigation : list) {
goblinFrontNavigationVoo.setDisplayType(navigation.getDisplayType()); goblinFrontNavigationVoo.setDisplayType(navigation.getDisplayType());
GoblinFrontNavigationVo goblinFrontNavigationVo=GoblinFrontNavigationVo.getNew(); GoblinFrontNavigationVo goblinFrontNavigationVo = GoblinFrontNavigationVo.getNew();
BeanUtils.copyProperties(navigation,goblinFrontNavigationVo); BeanUtils.copyProperties(navigation, goblinFrontNavigationVo);
list1.add(goblinFrontNavigationVo); list1.add(goblinFrontNavigationVo);
} }
goblinFrontNavigationVoo.setList(list1); goblinFrontNavigationVoo.setList(list1);
...@@ -157,100 +158,100 @@ public class GoblinFrontServiceImpl implements GoblinFrontService { ...@@ -157,100 +158,100 @@ public class GoblinFrontServiceImpl implements GoblinFrontService {
@Override @Override
public GoblinFrontSeckillVo getSeckilll() throws ParseException { public GoblinFrontSeckillVo getSeckilll() throws ParseException {
//获得秒杀列表绑定 //获得秒杀列表绑定
List<GoblinFrontSeckill> list= (List<GoblinFrontSeckill>) redisUtil.get(GoblinRedisConst.FRONT_SECKILL); List<GoblinFrontSeckill> list = (List<GoblinFrontSeckill>) redisUtil.get(GoblinRedisConst.FRONT_SECKILL);
GoblinFrontSeckillVo goblinFrontSeckillVo=GoblinFrontSeckillVo.getNew(); GoblinFrontSeckillVo goblinFrontSeckillVo = GoblinFrontSeckillVo.getNew();
ArrayList<GoblinGoodsInfoVo> goblinGoodsInfoVoArrayList=ObjectUtil.goblinGoodsInfoVoArrayList(); ArrayList<GoblinGoodsInfoVo> goblinGoodsInfoVoArrayList = ObjectUtil.goblinGoodsInfoVoArrayList();
//判断是否有 //判断是否有
if(null!=list&&list.size()>0){ if (null != list && list.size() > 0) {
//遍历秒杀, 找到对应的 官方、商铺 //遍历秒杀, 找到对应的 官方、商铺
GoblinFrontSeckill goblinFrontSeckill=list.get(0); GoblinFrontSeckill goblinFrontSeckill = list.get(0);
boolean openBoolean=goblinFrontSeckill.getActivityType()==2; boolean openBoolean = goblinFrontSeckill.getActivityType() == 2;
String ids=goblinFrontSeckill.getSelfActivityids(); String ids = goblinFrontSeckill.getSelfActivityids();
if(StringUtil.isNotBlank(ids)){ if (StringUtil.isNotBlank(ids)) {
String[] idss=ids.split(","); String[] idss = ids.split(",");
for(String id:idss){ for (String id : idss) {
String type=id.split("_")[0]; String type = id.split("_")[0];
String idM=id.split("_")[1]; String idM = id.split("_")[1];
if(type.equals("g")){ if (type.equals("g")) {
//找到对应官方的活动 判断时间是否过期, //找到对应官方的活动 判断时间是否过期,
GoblinSelfMarketingVo goblinSelfMarketingVo=goblinRedisUtils.getSelfMarket(idM); GoblinSelfMarketingVo goblinSelfMarketingVo = goblinRedisUtils.getSelfMarket(idM);
if(!StringUtil.isNotBlank(goblinFrontSeckillVo.getStartTime())){ if (!StringUtil.isNotBlank(goblinFrontSeckillVo.getStartTime())) {
goblinFrontSeckillVo.setStartTime(goblinSelfMarketingVo.getStartTime()); goblinFrontSeckillVo.setStartTime(goblinSelfMarketingVo.getStartTime());
goblinFrontSeckillVo.setEndTime(goblinSelfMarketingVo.getEndTime()); goblinFrontSeckillVo.setEndTime(goblinSelfMarketingVo.getEndTime());
} }
if(goblinSelfMarketingVo==null){ if (goblinSelfMarketingVo == null) {
break; break;
} }
if(!openBoolean){ if (!openBoolean) {
//效验该活动是否在当前时间 //效验该活动是否在当前时间
if(!belongCalendar(goblinSelfMarketingVo.getStartTime(),goblinSelfMarketingVo.getEndTime())){ if (!belongCalendar(goblinSelfMarketingVo.getStartTime(), goblinSelfMarketingVo.getEndTime())) {
//如果不是在当前时间 //如果不是在当前时间
break; break;
} }
} }
//查看 活动绑定的 spu sku //查看 活动绑定的 spu sku
List<GoblinMarketRelationVo> list1=goblinRedisUtils.getMarketRelation(GoblinStatusConst.MarketPreStatus.MARKET_PRE_PURCHASE.getValue(),goblinSelfMarketingVo.getSelfMarketId()); List<GoblinMarketRelationVo> list1 = goblinRedisUtils.getMarketRelation(GoblinStatusConst.MarketPreStatus.MARKET_PRE_PURCHASE.getValue(), goblinSelfMarketingVo.getSelfMarketId());
//遍历 活动表 //遍历 活动表
for(GoblinMarketRelationVo goblinMarketRelationVo:list1){ for (GoblinMarketRelationVo goblinMarketRelationVo : list1) {
//找到对应的spu商品 //找到对应的spu商品
GoblinGoodsInfoVo goblinGoodsInfoVo=goblinRedisUtils.getGoodsInfoVo(goblinMarketRelationVo.getSpuId()); GoblinGoodsInfoVo goblinGoodsInfoVo = goblinRedisUtils.getGoodsInfoVo(goblinMarketRelationVo.getSpuId());
//遍历sku 找到 //遍历sku 找到
List<String> skuList=goblinMarketRelationVo.getSkuList(); List<String> skuList = goblinMarketRelationVo.getSkuList();
int sellPrice=0; int sellPrice = 0;
int i=0; int i = 0;
for(String skuId:skuList){ for (String skuId : skuList) {
GoblinGoodsSkuInfoVo goblinGoodsSkuInfoVo= goblinRedisUtils.getGoodsSkuInfoVo(skuId); GoblinGoodsSkuInfoVo goblinGoodsSkuInfoVo = goblinRedisUtils.getGoodsSkuInfoVo(skuId);
if(null!=goblinGoodsSkuInfoVo){ if (null != goblinGoodsSkuInfoVo) {
if(i==0){ if (i == 0) {
sellPrice=goblinGoodsSkuInfoVo.getSellPrice().intValue(); sellPrice = goblinGoodsSkuInfoVo.getSellPrice().intValue();
} }
if(sellPrice>goblinGoodsSkuInfoVo.getSellPrice().intValue()){ if (sellPrice > goblinGoodsSkuInfoVo.getSellPrice().intValue()) {
sellPrice=goblinGoodsSkuInfoVo.getSellPrice().intValue(); sellPrice = goblinGoodsSkuInfoVo.getSellPrice().intValue();
} }
} }
} }
goblinGoodsInfoVo.setSellPrice(new BigDecimal(sellPrice)); goblinGoodsInfoVo.setSellPrice(new BigDecimal(sellPrice));
goblinGoodsInfoVoArrayList.add(goblinGoodsInfoVo); goblinGoodsInfoVoArrayList.add(goblinGoodsInfoVo);
} }
}else if(type.equals("s")){ } else if (type.equals("s")) {
//商铺活动的vo //商铺活动的vo
GoblinStoreMarketVo goblinStoreMarketVo=goblinRedisUtils.getGoblinStoreMarketVo(idM); GoblinStoreMarketVo goblinStoreMarketVo = goblinRedisUtils.getGoblinStoreMarketVo(idM);
if(!StringUtil.isNotBlank(goblinFrontSeckillVo.getStartTime())){ if (!StringUtil.isNotBlank(goblinFrontSeckillVo.getStartTime())) {
goblinFrontSeckillVo.setStartTime(goblinStoreMarketVo.getStartTime()); goblinFrontSeckillVo.setStartTime(goblinStoreMarketVo.getStartTime());
goblinFrontSeckillVo.setEndTime(goblinStoreMarketVo.getEndTime()); goblinFrontSeckillVo.setEndTime(goblinStoreMarketVo.getEndTime());
} }
if(goblinStoreMarketVo==null){ if (goblinStoreMarketVo == null) {
break; break;
} }
boolean isGet=false; boolean isGet = false;
if(openBoolean){ if (openBoolean) {
//不做效验时间直接放true //不做效验时间直接放true
isGet=true; isGet = true;
}else if(goblinStoreMarketVo.getIsPre()==1&&afterCalendar(goblinStoreMarketVo.getPreTime())&&beforeCalendar(goblinStoreMarketVo.getEndTime())){ } else if (goblinStoreMarketVo.getIsPre() == 1 && afterCalendar(goblinStoreMarketVo.getPreTime()) && beforeCalendar(goblinStoreMarketVo.getEndTime())) {
isGet=true; isGet = true;
}else if(goblinStoreMarketVo.getIsPre()==0&&belongCalendar(goblinStoreMarketVo.getStartTime(),goblinStoreMarketVo.getEndTime())){ } else if (goblinStoreMarketVo.getIsPre() == 0 && belongCalendar(goblinStoreMarketVo.getStartTime(), goblinStoreMarketVo.getEndTime())) {
isGet=true; isGet = true;
} }
if(isGet){ if (isGet) {
//获取商铺 对应关系 //获取商铺 对应关系
List<GoblinMarketRelationVo> list1=goblinRedisUtils.getMarketRelation(GoblinStatusConst.MarketPreStatus.MARKET_PRE_PURCHASE.getValue(),goblinStoreMarketVo.getStoreMarketId()); List<GoblinMarketRelationVo> list1 = goblinRedisUtils.getMarketRelation(GoblinStatusConst.MarketPreStatus.MARKET_PRE_PURCHASE.getValue(), goblinStoreMarketVo.getStoreMarketId());
//获得商品 //获得商品
//遍历 活动表 //遍历 活动表
for(GoblinMarketRelationVo goblinMarketRelationVo:list1){ for (GoblinMarketRelationVo goblinMarketRelationVo : list1) {
//找到对应的spu商品 //找到对应的spu商品
GoblinGoodsInfoVo goblinGoodsInfoVo=goblinRedisUtils.getGoodsInfoVo(goblinMarketRelationVo.getSpuId()); GoblinGoodsInfoVo goblinGoodsInfoVo = goblinRedisUtils.getGoodsInfoVo(goblinMarketRelationVo.getSpuId());
//遍历sku 找到 //遍历sku 找到
List<String> skuList=goblinMarketRelationVo.getSkuList(); List<String> skuList = goblinMarketRelationVo.getSkuList();
int sellPrice=0; int sellPrice = 0;
int i=0; int i = 0;
for(String skuId:skuList){ for (String skuId : skuList) {
GoblinGoodsSkuInfoVo goblinGoodsSkuInfoVo= goblinRedisUtils.getGoodsSkuInfoVo(skuId); GoblinGoodsSkuInfoVo goblinGoodsSkuInfoVo = goblinRedisUtils.getGoodsSkuInfoVo(skuId);
if(null!=goblinGoodsSkuInfoVo){ if (null != goblinGoodsSkuInfoVo) {
if(i==0){ if (i == 0) {
sellPrice=goblinGoodsSkuInfoVo.getSellPrice().intValue(); sellPrice = goblinGoodsSkuInfoVo.getSellPrice().intValue();
} }
if(sellPrice>goblinGoodsSkuInfoVo.getSellPrice().intValue()){ if (sellPrice > goblinGoodsSkuInfoVo.getSellPrice().intValue()) {
sellPrice=goblinGoodsSkuInfoVo.getSellPrice().intValue(); sellPrice = goblinGoodsSkuInfoVo.getSellPrice().intValue();
} }
} }
} }
...@@ -266,108 +267,114 @@ public class GoblinFrontServiceImpl implements GoblinFrontService { ...@@ -266,108 +267,114 @@ public class GoblinFrontServiceImpl implements GoblinFrontService {
} }
return goblinFrontSeckillVo; return goblinFrontSeckillVo;
} }
//获取库存设置的报警数量 //获取库存设置的报警数量
public int getStockCount(String storeId){ public int getStockCount(String storeId) {
String configVal=""; String configVal = "";
List<GoblinStoreConfigVo> listVo=goblinRedisUtils.getStoreConfigVos(storeId); List<GoblinStoreConfigVo> listVo = goblinRedisUtils.getStoreConfigVos(storeId);
//ONOFF_SOLD_OUT_SHOW ON 开启 //ONOFF_SOLD_OUT_SHOW ON 开启
for(GoblinStoreConfigVo goblinStoreConfigVo:listVo){ for (GoblinStoreConfigVo goblinStoreConfigVo : listVo) {
//获取是 售罄是否开启 //获取是 售罄是否开启
if(goblinStoreConfigVo.getConfigKey().equals(GoblinStoreConf.LIMIT_WARNING_STOCK)){ if (goblinStoreConfigVo.getConfigKey().equals(GoblinStoreConf.LIMIT_WARNING_STOCK)) {
configVal=goblinStoreConfigVo.getConfigVal(); configVal = goblinStoreConfigVo.getConfigVal();
} }
} }
if(StringUtil.isNotBlank(configVal)){ if (StringUtil.isNotBlank(configVal)) {
return Integer.parseInt(configVal); return Integer.parseInt(configVal);
}else{ } else {
return -1; return -1;
} }
} }
/** /**
* 获得商品详情 * 获得商品详情
*/ */
public GoblinFrontGoodDetailVo getGoodsDetail(String spuId){ public GoblinFrontGoodDetailVo getGoodsDetail(String spuId) {
Integer buyCount=0; Integer buyCount = 0;
GoblinFrontGoodDetailVo goblinFrontGoodDetailVo=GoblinFrontGoodDetailVo.getNew(); GoblinFrontGoodDetailVo goblinFrontGoodDetailVo = GoblinFrontGoodDetailVo.getNew();
GoblinGoodsInfoVo goblinGoodsInfoVo=goblinRedisUtils.getGoodsInfoVo(spuId); GoblinGoodsInfoVo goblinGoodsInfoVo = goblinRedisUtils.getGoodsInfoVo(spuId);
GoblinGoodsInfoDetailVo goblinGoodsInfoDetailVo=GoblinGoodsInfoDetailVo.getNew(); GoblinGoodsInfoDetailVo goblinGoodsInfoDetailVo = GoblinGoodsInfoDetailVo.getNew();
//skuIdList //skuIdList
if(null!=goblinGoodsInfoVo){ if (null != goblinGoodsInfoVo) {
BeanUtils.copyProperties(goblinGoodsInfoVo,goblinGoodsInfoDetailVo); BeanUtils.copyProperties(goblinGoodsInfoVo, goblinGoodsInfoDetailVo);
goblinFrontGoodDetailVo.setGoblinGoodsInfoVo(goblinGoodsInfoDetailVo); goblinFrontGoodDetailVo.setGoblinGoodsInfoVo(goblinGoodsInfoDetailVo);
// int limit= getStockCount(goblinGoodsInfoVo.getStoreId()); // int limit= getStockCount(goblinGoodsInfoVo.getStoreId());
List<String> skuIdList=goblinGoodsInfoVo.getSkuIdList(); List<String> skuIdList = goblinGoodsInfoVo.getSkuIdList();
ArrayList<GoblinGoodsSkuInfoDetailVo> list=ObjectUtil.goblinGoodsSkuInfoDetailVos(); ArrayList<GoblinGoodsSkuInfoDetailVo> list = ObjectUtil.goblinGoodsSkuInfoDetailVos();
for(String sku:skuIdList){ for (String sku : skuIdList) {
String userId=CurrentUtil.getCurrentUid(); String userId = CurrentUtil.getCurrentUid();
if(StringUtils.isNotBlank(userId)){ if (StringUtils.isNotBlank(userId)) {
buyCount=goblinRedisUtils.getSkuCountByUid(userId, sku); buyCount = goblinRedisUtils.getSkuCountByUid(userId, sku);
} }
GoblinGoodsSkuInfoVo goblinGoodsSkuInfoVo=goblinRedisUtils.getGoodsSkuInfoVo(sku); GoblinGoodsSkuInfoVo goblinGoodsSkuInfoVo = goblinRedisUtils.getGoodsSkuInfoVo(sku);
if(null!=goblinGoodsSkuInfoVo&&goblinGoodsSkuInfoVo.getDelFlg().equals("0")&&goblinGoodsSkuInfoVo.getShelvesStatus().equals("3")){ if (null != goblinGoodsSkuInfoVo && goblinGoodsSkuInfoVo.getDelFlg().equals("0") && goblinGoodsSkuInfoVo.getShelvesStatus().equals("3")) {
//获取 sku 库存数量 //获取 sku 库存数量
String pre = GoblinStatusConst.MarketPreStatus.getPre(spuId); String pre = GoblinStatusConst.MarketPreStatus.getPre(spuId);
int stock=goblinRedisUtils.getSkuStock(pre,goblinGoodsSkuInfoVo.getSkuId()); int stock = goblinRedisUtils.getSkuStock(pre, goblinGoodsSkuInfoVo.getSkuId());
log.debug("skuId:{},库存数量{}",goblinGoodsSkuInfoVo.getSkuId(),stock); log.debug("skuId:{},库存数量{}", goblinGoodsSkuInfoVo.getSkuId(), stock);
GoblinGoodsSkuInfoDetailVo goblinGoodsSkuInfoDetailVo=GoblinGoodsSkuInfoDetailVo.getNew(); GoblinGoodsSkuInfoDetailVo goblinGoodsSkuInfoDetailVo = GoblinGoodsSkuInfoDetailVo.getNew();
BeanUtils.copyProperties(goblinGoodsSkuInfoVo,goblinGoodsSkuInfoDetailVo); BeanUtils.copyProperties(goblinGoodsSkuInfoVo, goblinGoodsSkuInfoDetailVo);
if(0!=goblinGoodsSkuInfoDetailVo.getBuyLimit()){ if (0 != goblinGoodsSkuInfoDetailVo.getBuyLimit()) {
if(null==buyCount){ if (null == buyCount) {
buyCount=0; buyCount = 0;
} }
goblinGoodsSkuInfoDetailVo.setCanBuy(goblinGoodsSkuInfoDetailVo.getBuyLimit()-buyCount); goblinGoodsSkuInfoDetailVo.setCanBuy(goblinGoodsSkuInfoDetailVo.getBuyLimit() - buyCount);
}else{goblinGoodsSkuInfoDetailVo.setCanBuy(-9999);} } else {
if(stock<=0){ goblinGoodsSkuInfoDetailVo.setCanBuy(-9999);
}
if (stock <= 0) {
goblinGoodsSkuInfoDetailVo.setStockLess(true); goblinGoodsSkuInfoDetailVo.setStockLess(true);
}else{ } else {
goblinGoodsSkuInfoDetailVo.setStockLess(false); goblinGoodsSkuInfoDetailVo.setStockLess(false);
} }
list.add(goblinGoodsSkuInfoDetailVo); list.add(goblinGoodsSkuInfoDetailVo);
} }
} }
//goblinGoodsInfoVo //goblinGoodsInfoVo
GoblinStoreInfoVo goblinStoreInfoVo=this.getStore(goblinGoodsInfoVo.getStoreId()); GoblinStoreInfoVo goblinStoreInfoVo = this.getStore(goblinGoodsInfoVo.getStoreId());
if(null!=goblinStoreInfoVo){ if (null != goblinStoreInfoVo) {
goblinFrontGoodDetailVo.setStoreName(goblinStoreInfoVo.getStoreName()); goblinFrontGoodDetailVo.setStoreName(goblinStoreInfoVo.getStoreName());
} }
goblinFrontGoodDetailVo.setGoblinGoodsSkuInfoVolist(list); goblinFrontGoodDetailVo.setGoblinGoodsSkuInfoVolist(list);
}else{ } else {
return null; return null;
} }
ArrayList<String> list=goblinCouponService.getSpuType(spuId,goblinGoodsInfoDetailVo.getStoreId()); ArrayList<String> list = goblinCouponService.getSpuType(spuId, goblinGoodsInfoDetailVo.getStoreId());
goblinFrontGoodDetailVo.setGetSpuType(list); goblinFrontGoodDetailVo.setGetSpuType(list);
return goblinFrontGoodDetailVo; return goblinFrontGoodDetailVo;
} }
/** /**
* 获取组件排序 * 获取组件排序
*/ */
public List getMoudleIndex(){ public List getMoudleIndex() {
if(!redisUtil.hasKey(GoblinRedisConst.MOUDLE_INDEX)){ if (!redisUtil.hasKey(GoblinRedisConst.MOUDLE_INDEX)) {
return null; return null;
} }
//GoblinGoodsInfoVo goblinGoodsInfoVo=goblinRedisUtils.get(spuId); //GoblinGoodsInfoVo goblinGoodsInfoVo=goblinRedisUtils.get(spuId);
List<GoblinFrontMoudleIndex> list= (List<GoblinFrontMoudleIndex>) redisUtil.get(GoblinRedisConst.MOUDLE_INDEX); List<GoblinFrontMoudleIndex> list = (List<GoblinFrontMoudleIndex>) redisUtil.get(GoblinRedisConst.MOUDLE_INDEX);
return list; return list;
} }
/*** /***
* @author zhangfuxin * @author zhangfuxin
* @Description:获取魔方 * @Description:获取魔方
* @date 2022/1/10 下午4:49 * @date 2022/1/10 下午4:49
*/ */
public GoblinFrontCubeVo getRecommend(){ public GoblinFrontCubeVo getRecommend() {
GoblinFrontCubeVo goblinFrontCubeVo=GoblinFrontCubeVo.getNew(); GoblinFrontCubeVo goblinFrontCubeVo = GoblinFrontCubeVo.getNew();
ArrayList<GoblinGoodsInfoVo> goblinGoodsInfoVoArrayList= ObjectUtil.getGoblinGoodsInfoVos(); ArrayList<GoblinGoodsInfoVo> goblinGoodsInfoVoArrayList = ObjectUtil.getGoblinGoodsInfoVos();
if(!redisUtil.hasKey(GoblinRedisConst.FRONT_GOBLIN_RECOMMEND)){ if (!redisUtil.hasKey(GoblinRedisConst.FRONT_GOBLIN_RECOMMEND)) {
return null; return null;
} }
List<GoblinFrontCube> list= (List<GoblinFrontCube>) redisUtil.get(GoblinRedisConst.FRONT_GOBLIN_RECOMMEND); List<GoblinFrontCube> list = (List<GoblinFrontCube>) redisUtil.get(GoblinRedisConst.FRONT_GOBLIN_RECOMMEND);
if(list.size()>0){ if (list.size() > 0) {
BeanUtils.copyProperties(list.get(0),goblinFrontCubeVo); BeanUtils.copyProperties(list.get(0), goblinFrontCubeVo);
for(String spuid:goblinFrontCubeVo.getSpuId().split(",")){ for (String spuid : goblinFrontCubeVo.getSpuId().split(",")) {
GoblinGoodsInfoVo goblinGoodsInfoVo= goblinRedisUtils.getGoodsInfoVo(spuid); GoblinGoodsInfoVo goblinGoodsInfoVo = goblinRedisUtils.getGoodsInfoVo(spuid);
if(null!=goblinGoodsInfoVo){ if (null != goblinGoodsInfoVo) {
GoblinGoodsInfoVo goblinGoodsInfoVo1=GoblinGoodsInfoVo.getNew(); GoblinGoodsInfoVo goblinGoodsInfoVo1 = GoblinGoodsInfoVo.getNew();
BeanUtils.copyProperties(goblinGoodsInfoVo,goblinGoodsInfoVo1); BeanUtils.copyProperties(goblinGoodsInfoVo, goblinGoodsInfoVo1);
goblinGoodsInfoVoArrayList.add(goblinGoodsInfoVo1); goblinGoodsInfoVoArrayList.add(goblinGoodsInfoVo1);
} }
} }
...@@ -376,25 +383,26 @@ public class GoblinFrontServiceImpl implements GoblinFrontService { ...@@ -376,25 +383,26 @@ public class GoblinFrontServiceImpl implements GoblinFrontService {
} }
return goblinFrontCubeVo; return goblinFrontCubeVo;
} }
/*** /***
* @author zhangfuxin * @author zhangfuxin
* @Description:获取魔方 * @Description:获取魔方
* @date 2022/1/10 下午4:49 * @date 2022/1/10 下午4:49
*/ */
public GoblinFrontCubeVo getCube(){ public GoblinFrontCubeVo getCube() {
GoblinFrontCubeVo goblinFrontCubeVo=GoblinFrontCubeVo.getNew(); GoblinFrontCubeVo goblinFrontCubeVo = GoblinFrontCubeVo.getNew();
ArrayList<GoblinGoodsInfoVo> goblinGoodsInfoVoArrayList= ObjectUtil.getGoblinGoodsInfoVos(); ArrayList<GoblinGoodsInfoVo> goblinGoodsInfoVoArrayList = ObjectUtil.getGoblinGoodsInfoVos();
if(!redisUtil.hasKey(GoblinRedisConst.FRONT_GOBLINFRONTCUBE)){ if (!redisUtil.hasKey(GoblinRedisConst.FRONT_GOBLINFRONTCUBE)) {
return null; return null;
} }
List<GoblinFrontCube> list= (List<GoblinFrontCube>) redisUtil.get(GoblinRedisConst.FRONT_GOBLINFRONTCUBE); List<GoblinFrontCube> list = (List<GoblinFrontCube>) redisUtil.get(GoblinRedisConst.FRONT_GOBLINFRONTCUBE);
if(list.size()>0){ if (list.size() > 0) {
BeanUtils.copyProperties(list.get(0),goblinFrontCubeVo); BeanUtils.copyProperties(list.get(0), goblinFrontCubeVo);
for(String spuid:goblinFrontCubeVo.getSpuId().split(",")){ for (String spuid : goblinFrontCubeVo.getSpuId().split(",")) {
GoblinGoodsInfoVo goblinGoodsInfoVo= goblinRedisUtils.getGoodsInfoVo(spuid); GoblinGoodsInfoVo goblinGoodsInfoVo = goblinRedisUtils.getGoodsInfoVo(spuid);
if(null!=goblinGoodsInfoVo){ if (null != goblinGoodsInfoVo) {
GoblinGoodsInfoVo goblinGoodsInfoVo1=GoblinGoodsInfoVo.getNew(); GoblinGoodsInfoVo goblinGoodsInfoVo1 = GoblinGoodsInfoVo.getNew();
BeanUtils.copyProperties(goblinGoodsInfoVo,goblinGoodsInfoVo1); BeanUtils.copyProperties(goblinGoodsInfoVo, goblinGoodsInfoVo1);
goblinGoodsInfoVoArrayList.add(goblinGoodsInfoVo1); goblinGoodsInfoVoArrayList.add(goblinGoodsInfoVo1);
} }
} }
...@@ -403,45 +411,48 @@ public class GoblinFrontServiceImpl implements GoblinFrontService { ...@@ -403,45 +411,48 @@ public class GoblinFrontServiceImpl implements GoblinFrontService {
} }
return goblinFrontCubeVo; return goblinFrontCubeVo;
} }
public GoblinStoreInfoVo getStore(String storId){
public GoblinStoreInfoVo getStore(String storId) {
Query query = new Query(); Query query = new Query();
query.addCriteria(Criteria.where("storeId").is(storId).and("spuAppear").is("0").and("delFlg").is("0").and("shelvesStatus").is("3")); query.addCriteria(Criteria.where("storeId").is(storId).and("spuAppear").is("0").and("delFlg").is("0").and("shelvesStatus").is("3"));
long count = mongoTemplate.count(query, GoblinGoodsInfoVo.class, GoblinGoodsInfoVo.class.getSimpleName()); long count = mongoTemplate.count(query, GoblinGoodsInfoVo.class, GoblinGoodsInfoVo.class.getSimpleName());
GoblinStoreInfoVo goblinStoreInfoVo=goblinRedisUtils.getStoreInfoVo(storId); GoblinStoreInfoVo goblinStoreInfoVo = goblinRedisUtils.getStoreInfoVo(storId);
//GoblinStoreNoticeVo goblinStoreNoticeVo=goblinRedisUtils.getStoreNoticeVo(storId,LocalDateTime.now()); //GoblinStoreNoticeVo goblinStoreNoticeVo=goblinRedisUtils.getStoreNoticeVo(storId,LocalDateTime.now());
goblinStoreInfoVo.setCount((int) count); goblinStoreInfoVo.setCount((int) count);
return goblinStoreInfoVo; return goblinStoreInfoVo;
} }
/*** /***
* @author zhangfuxin * @author zhangfuxin
* @Description:获得商铺分类 * @Description:获得商铺分类
* @date 2022/1/18 下午1:44 * @date 2022/1/18 下午1:44
*/ */
public List<GoblinStoreGoodsCategoryVo> getStoreCategory(String storId){ public List<GoblinStoreGoodsCategoryVo> getStoreCategory(String storId) {
//店铺分类数据源 //店铺分类数据源
List<GoblinStoreGoodsCategoryVo> list=goblinRedisUtils.getStoreGoodsCategoryVos(storId); List<GoblinStoreGoodsCategoryVo> list = goblinRedisUtils.getStoreGoodsCategoryVos(storId);
return list; return list;
} }
/** /**
* 找到分类 * 找到分类
*/ */
public GoblinCategoryzfVo getCategory(String categoryId){ public GoblinCategoryzfVo getCategory(String categoryId) {
GoblinCategoryzfVo goblinCategoryzfVo=GoblinCategoryzfVo.getNew(); GoblinCategoryzfVo goblinCategoryzfVo = GoblinCategoryzfVo.getNew();
ArrayList<GoblinSelfGoodsCategoryVo> list1=ObjectUtil.getGoblinSelfGoodsCategoryVoArrayList(); ArrayList<GoblinSelfGoodsCategoryVo> list1 = ObjectUtil.getGoblinSelfGoodsCategoryVoArrayList();
//先找到 当前的分类id //先找到 当前的分类id
GoblinSelfGoodsCategoryVo pa=null; GoblinSelfGoodsCategoryVo pa = null;
//获取到分类 //获取到分类
List<GoblinSelfGoodsCategoryVo> list=goblinRedisUtils.getSelfGoodsCategoryVos(); List<GoblinSelfGoodsCategoryVo> list = goblinRedisUtils.getSelfGoodsCategoryVos();
for(GoblinSelfGoodsCategoryVo goblinSelfGoodsCategoryVo:list){ for (GoblinSelfGoodsCategoryVo goblinSelfGoodsCategoryVo : list) {
if (categoryId.equals(goblinSelfGoodsCategoryVo.getCateId())) { if (categoryId.equals(goblinSelfGoodsCategoryVo.getCateId())) {
goblinCategoryzfVo.setGoblinSelfGoodsCategoryVo(goblinSelfGoodsCategoryVo); goblinCategoryzfVo.setGoblinSelfGoodsCategoryVo(goblinSelfGoodsCategoryVo);
pa=goblinSelfGoodsCategoryVo; pa = goblinSelfGoodsCategoryVo;
} }
} }
//找到 该分类的子集 //找到 该分类的子集
if(null!=pa){ if (null != pa) {
for(GoblinSelfGoodsCategoryVo goblinSelfGoodsCategoryVo:list){ for (GoblinSelfGoodsCategoryVo goblinSelfGoodsCategoryVo : list) {
if(pa.getCateId().equals(goblinSelfGoodsCategoryVo.getCatePid())){ if (pa.getCateId().equals(goblinSelfGoodsCategoryVo.getCatePid())) {
list1.add(goblinSelfGoodsCategoryVo); list1.add(goblinSelfGoodsCategoryVo);
} }
...@@ -451,74 +462,77 @@ public class GoblinFrontServiceImpl implements GoblinFrontService { ...@@ -451,74 +462,77 @@ public class GoblinFrontServiceImpl implements GoblinFrontService {
return goblinCategoryzfVo; return goblinCategoryzfVo;
} }
public List<GoblinGoodsInfoListVo> searchGoodesName(String name){
List<String> listStore=mongoUtils.getStoreInfoVoRegexName(name); public List<GoblinGoodsInfoListVo> searchGoodesName(String name) {
Pattern pattern = Pattern.compile("^.*"+name+".*$", Pattern.CASE_INSENSITIVE); List<String> listStore = mongoUtils.getStoreInfoVoRegexName(name);
Pattern pattern = Pattern.compile("^.*" + name + ".*$", Pattern.CASE_INSENSITIVE);
Query query = new Query(); Query query = new Query();
query.addCriteria(new Criteria().orOperator( query.addCriteria(new Criteria().orOperator(
Criteria.where("spuType").is(0), // Criteria.where("spuType").is(0),
Criteria.where("name").regex(pattern), Criteria.where("name").regex(pattern),
Criteria.where("storeId").in(listStore), Criteria.where("storeId").in(listStore),
Criteria.where("extagVoList.tagName").is(name) Criteria.where("extagVoList.tagName").is(name)
)); ));
// query.addCriteria(Criteria.where("name").regex(pattern).and("spuAppear").is("0").and("delFlg").is("0").and("shelvesStatus").is("3")); // query.addCriteria(Criteria.where("name").regex(pattern).and("spuAppear").is("0").and("delFlg").is("0").and("shelvesStatus").is("3"));
query.addCriteria(Criteria.where("spuAppear").is("0").and("delFlg").is("0").and("shelvesStatus").is("3").and("marketId").is(null)); query.addCriteria(Criteria.where("spuAppear").is("0").and("delFlg").is("0").and("shelvesStatus").is("3").and("marketId").is(null));
query.addCriteria(Criteria.where("spuType").is(0));
query.with(Sort.by( query.with(Sort.by(
//Sort.Order.desc("count"), //Sort.Order.desc("count"),
Sort.Order.desc("shelvesAt") Sort.Order.desc("shelvesAt")
)); ));
List<GoblinGoodsInfoVo> list = mongoTemplate.find(query, GoblinGoodsInfoVo.class, GoblinGoodsInfoVo.class.getSimpleName()); List<GoblinGoodsInfoVo> list = mongoTemplate.find(query, GoblinGoodsInfoVo.class, GoblinGoodsInfoVo.class.getSimpleName());
ArrayList<GoblinGoodsInfoListVo> list1=ObjectUtil.getGoblinGoodsInfoListVo(); ArrayList<GoblinGoodsInfoListVo> list1 = ObjectUtil.getGoblinGoodsInfoListVo();
//遍历 //遍历
for(GoblinGoodsInfoVo goblinGoodsInfoVo:list){ for (GoblinGoodsInfoVo goblinGoodsInfoVo : list) {
//有音乐人的放前面 //有音乐人的放前面
if(null!=goblinGoodsInfoVo.getExtagVoList()&&goblinGoodsInfoVo.getExtagVoList().size()>0){ if (null != goblinGoodsInfoVo.getExtagVoList() && goblinGoodsInfoVo.getExtagVoList().size() > 0) {
GoblinStoreInfoVo goblinStoreInfoVo=goblinRedisUtils.getStoreInfoVo(goblinGoodsInfoVo.getStoreId()); GoblinStoreInfoVo goblinStoreInfoVo = goblinRedisUtils.getStoreInfoVo(goblinGoodsInfoVo.getStoreId());
if(null!=goblinStoreInfoVo){ if (null != goblinStoreInfoVo) {
goblinGoodsInfoVo.setStoreName(goblinStoreInfoVo.getStoreName()); goblinGoodsInfoVo.setStoreName(goblinStoreInfoVo.getStoreName());
} }
GoblinGoodsInfoListVo goblinGoodsInfoListVo= GoblinGoodsInfoListVo.getNew(); GoblinGoodsInfoListVo goblinGoodsInfoListVo = GoblinGoodsInfoListVo.getNew();
BeanUtils.copyProperties(goblinGoodsInfoVo,goblinGoodsInfoListVo); BeanUtils.copyProperties(goblinGoodsInfoVo, goblinGoodsInfoListVo);
list1.add(goblinGoodsInfoListVo); list1.add(goblinGoodsInfoListVo);
} }
} }
for(GoblinGoodsInfoVo goblinGoodsInfoVo:list){ for (GoblinGoodsInfoVo goblinGoodsInfoVo : list) {
if(null!=goblinGoodsInfoVo.getExtagVoList()&&goblinGoodsInfoVo.getExtagVoList().size()>0){ if (null != goblinGoodsInfoVo.getExtagVoList() && goblinGoodsInfoVo.getExtagVoList().size() > 0) {
}else{ } else {
//无音乐人标签的 //无音乐人标签的
GoblinStoreInfoVo goblinStoreInfoVo=goblinRedisUtils.getStoreInfoVo(goblinGoodsInfoVo.getStoreId()); GoblinStoreInfoVo goblinStoreInfoVo = goblinRedisUtils.getStoreInfoVo(goblinGoodsInfoVo.getStoreId());
if(null!=goblinStoreInfoVo){ if (null != goblinStoreInfoVo) {
goblinGoodsInfoVo.setStoreName(goblinStoreInfoVo.getStoreName()); goblinGoodsInfoVo.setStoreName(goblinStoreInfoVo.getStoreName());
} }
GoblinGoodsInfoListVo goblinGoodsInfoListVo= GoblinGoodsInfoListVo.getNew(); GoblinGoodsInfoListVo goblinGoodsInfoListVo = GoblinGoodsInfoListVo.getNew();
BeanUtils.copyProperties(goblinGoodsInfoVo,goblinGoodsInfoListVo); BeanUtils.copyProperties(goblinGoodsInfoVo, goblinGoodsInfoListVo);
list1.add(goblinGoodsInfoListVo); list1.add(goblinGoodsInfoListVo);
} }
} }
return list1; return list1;
} }
public GoblinFrontCategoryListVo getStoreGoodes(String storeId,String categoryId,String name){
String configVal=""; public GoblinFrontCategoryListVo getStoreGoodes(String storeId, String categoryId, String name) {
List<GoblinStoreConfigVo> listVo=goblinRedisUtils.getStoreConfigVos(storeId); String configVal = "";
List<GoblinStoreConfigVo> listVo = goblinRedisUtils.getStoreConfigVos(storeId);
//ONOFF_SOLD_OUT_SHOW ON 开启 //ONOFF_SOLD_OUT_SHOW ON 开启
for(GoblinStoreConfigVo goblinStoreConfigVo:listVo){ for (GoblinStoreConfigVo goblinStoreConfigVo : listVo) {
//获取是 售罄是否开启 //获取是 售罄是否开启
if(goblinStoreConfigVo.getConfigKey().equals(GoblinStoreConf.ONOFF_SOLD_OUT_SHOW)){ if (goblinStoreConfigVo.getConfigKey().equals(GoblinStoreConf.ONOFF_SOLD_OUT_SHOW)) {
configVal=goblinStoreConfigVo.getConfigVal(); configVal = goblinStoreConfigVo.getConfigVal();
} }
} }
// //
Query query = new Query(); Query query = new Query();
query.addCriteria(Criteria.where("storeId").is(storeId).and("spuAppear").is("0").and("delFlg").is("0").and("shelvesStatus").is("3").and("marketId").is(null)); query.addCriteria(Criteria.where("storeId").is(storeId).and("spuAppear").is("0").and("delFlg").is("0").and("shelvesStatus").is("3").and("marketId").is(null));
if(StringUtil.isNotBlank(categoryId)){ if (StringUtil.isNotBlank(categoryId)) {
query.addCriteria(new Criteria().orOperator( query.addCriteria(new Criteria().orOperator(
Criteria.where("storeCateFid").is(categoryId), Criteria.where("storeCateFid").is(categoryId),
Criteria.where("storeCateSid").is(categoryId), Criteria.where("storeCateSid").is(categoryId),
Criteria.where("storeCateTid").is(categoryId) Criteria.where("storeCateTid").is(categoryId)
)); ));
} }
if(StringUtil.isNotBlank(name)){ if (StringUtil.isNotBlank(name)) {
Pattern pattern = Pattern.compile("^.*"+name+".*$", Pattern.CASE_INSENSITIVE); Pattern pattern = Pattern.compile("^.*" + name + ".*$", Pattern.CASE_INSENSITIVE);
query.addCriteria(Criteria.where("name").regex(pattern)); query.addCriteria(Criteria.where("name").regex(pattern));
} }
query.with(Sort.by(Sort.Direction.DESC, "shelvesAt")); query.with(Sort.by(Sort.Direction.DESC, "shelvesAt"));
...@@ -527,54 +541,54 @@ public class GoblinFrontServiceImpl implements GoblinFrontService { ...@@ -527,54 +541,54 @@ public class GoblinFrontServiceImpl implements GoblinFrontService {
// 计算库存 // 计算库存
Iterator<GoblinGoodsInfoVo> iterator = list.iterator(); Iterator<GoblinGoodsInfoVo> iterator = list.iterator();
//删掉库存没有的商品 //删掉库存没有的商品
while(iterator.hasNext()){ while (iterator.hasNext()) {
GoblinGoodsInfoVo goblinGoodsInfoVo=iterator.next(); GoblinGoodsInfoVo goblinGoodsInfoVo = iterator.next();
List<String> skuIdList =goblinGoodsInfoVo.getSkuIdList(); List<String> skuIdList = goblinGoodsInfoVo.getSkuIdList();
int count=0; int count = 0;
for(String skuId:skuIdList){ for (String skuId : skuIdList) {
count=count+goblinRedisUtils.getSkuStock(null,skuId); count = count + goblinRedisUtils.getSkuStock(null, skuId);
} }
if(StringUtil.isNotBlank(configVal)&&!configVal.equals("ON")){ if (StringUtil.isNotBlank(configVal) && !configVal.equals("ON")) {
if(count==0){ if (count == 0) {
iterator.remove(); iterator.remove();
} }
} }
} }
ArrayList<GoblinGoodsInfoListVo> listVos=ObjectUtil.getGoblinGoodsInfoListVo(); ArrayList<GoblinGoodsInfoListVo> listVos = ObjectUtil.getGoblinGoodsInfoListVo();
for(GoblinGoodsInfoVo goblinGoodsInfoVo:list){ for (GoblinGoodsInfoVo goblinGoodsInfoVo : list) {
GoblinGoodsInfoListVo goblinGoodsInfoListVo= GoblinGoodsInfoListVo.getNew(); GoblinGoodsInfoListVo goblinGoodsInfoListVo = GoblinGoodsInfoListVo.getNew();
BeanUtils.copyProperties(goblinGoodsInfoVo,goblinGoodsInfoListVo); BeanUtils.copyProperties(goblinGoodsInfoVo, goblinGoodsInfoListVo);
listVos.add(goblinGoodsInfoListVo); listVos.add(goblinGoodsInfoListVo);
} }
GoblinFrontCategoryListVo goblinFrontCategoryListVo=GoblinFrontCategoryListVo.getNew(); GoblinFrontCategoryListVo goblinFrontCategoryListVo = GoblinFrontCategoryListVo.getNew();
goblinFrontCategoryListVo.setSpuList(listVos); goblinFrontCategoryListVo.setSpuList(listVos);
return goblinFrontCategoryListVo; return goblinFrontCategoryListVo;
} }
/** /**
*音乐人列表 * 音乐人列表
*/ */
public GoblinFrontCategoryListVo getMusic(String tagId,String type,int page,int pageSize){ public GoblinFrontCategoryListVo getMusic(String tagId, String type, int page, int pageSize) {
// //
Query query = new Query(); Query query = new Query();
query.addCriteria(new Criteria().orOperator( query.addCriteria(new Criteria().orOperator(
Criteria.where("extagVoList.tagId").is(tagId).and("spuAppear").is("0").and("delFlg").is("0").and("shelvesStatus").is("3").and("marketId").is(null) Criteria.where("extagVoList.tagId").is(tagId).and("spuAppear").is("0").and("delFlg").is("0").and("shelvesStatus").is("3").and("marketId").is(null)
)); ));
Pageable pageable=null; Pageable pageable = null;
// //
boolean isRe=false; boolean isRe = false;
if(type.equals("1")){ if (type.equals("1")) {
pageable = PageRequest.of(page, pageSize, Sort.by(Sort.Direction.DESC, "count")); pageable = PageRequest.of(page, pageSize, Sort.by(Sort.Direction.DESC, "count"));
}else if(type.equals("2")){ } else if (type.equals("2")) {
pageable = PageRequest.of(page, pageSize, Sort.by(Sort.Direction.DESC, "shelvesAt")); pageable = PageRequest.of(page, pageSize, Sort.by(Sort.Direction.DESC, "shelvesAt"));
}else if(type.equals("3")){ } else if (type.equals("3")) {
Document source = new Document(); Document source = new Document();
source.put("locale", "zh"); source.put("locale", "zh");
source.put("numericOrdering", true); source.put("numericOrdering", true);
Collation collation = Collation.from(source); Collation collation = Collation.from(source);
query.collation(collation); query.collation(collation);
pageable = PageRequest.of(page, pageSize, Sort.by(Sort.Direction.DESC, "priceGe")); pageable = PageRequest.of(page, pageSize, Sort.by(Sort.Direction.DESC, "priceGe"));
}else if(type.equals("4")){ } else if (type.equals("4")) {
Document source = new Document(); Document source = new Document();
source.put("locale", "zh"); source.put("locale", "zh");
source.put("numericOrdering", true); source.put("numericOrdering", true);
...@@ -604,13 +618,13 @@ public class GoblinFrontServiceImpl implements GoblinFrontService { ...@@ -604,13 +618,13 @@ public class GoblinFrontServiceImpl implements GoblinFrontService {
return -(arg0.getCount().compareTo(arg1.getCount())); return -(arg0.getCount().compareTo(arg1.getCount()));
}}); }});
}*/ }*/
ArrayList<GoblinGoodsInfoListVo> listVos=ObjectUtil.getGoblinGoodsInfoListVo(); ArrayList<GoblinGoodsInfoListVo> listVos = ObjectUtil.getGoblinGoodsInfoListVo();
for(GoblinGoodsInfoVo goblinGoodsInfoVo:list){ for (GoblinGoodsInfoVo goblinGoodsInfoVo : list) {
GoblinGoodsInfoListVo goblinGoodsInfoListVo= GoblinGoodsInfoListVo.getNew(); GoblinGoodsInfoListVo goblinGoodsInfoListVo = GoblinGoodsInfoListVo.getNew();
BeanUtils.copyProperties(goblinGoodsInfoVo,goblinGoodsInfoListVo); BeanUtils.copyProperties(goblinGoodsInfoVo, goblinGoodsInfoListVo);
listVos.add(goblinGoodsInfoListVo); listVos.add(goblinGoodsInfoListVo);
} }
GoblinFrontCategoryListVo goblinFrontCategoryListVo=GoblinFrontCategoryListVo.getNew(); GoblinFrontCategoryListVo goblinFrontCategoryListVo = GoblinFrontCategoryListVo.getNew();
goblinFrontCategoryListVo.setCount(count); goblinFrontCategoryListVo.setCount(count);
goblinFrontCategoryListVo.setSpuList(listVos); goblinFrontCategoryListVo.setSpuList(listVos);
return goblinFrontCategoryListVo; return goblinFrontCategoryListVo;
...@@ -620,7 +634,7 @@ public class GoblinFrontServiceImpl implements GoblinFrontService { ...@@ -620,7 +634,7 @@ public class GoblinFrontServiceImpl implements GoblinFrontService {
* 获取分类列表 * 获取分类列表
* 1、销量优先、2、新品优先、3、价格降序、4、价格升序 * 1、销量优先、2、新品优先、3、价格降序、4、价格升序
*/ */
public GoblinFrontCategoryListVo getCategoryList(String type,String categoryId,int page,int pageSize){ public GoblinFrontCategoryListVo getCategoryList(String type, String categoryId, int page, int pageSize) {
// //
Query query = new Query(); Query query = new Query();
query.addCriteria(new Criteria().orOperator( query.addCriteria(new Criteria().orOperator(
...@@ -629,40 +643,40 @@ public class GoblinFrontServiceImpl implements GoblinFrontService { ...@@ -629,40 +643,40 @@ public class GoblinFrontServiceImpl implements GoblinFrontService {
Criteria.where("cateTid").is(categoryId) Criteria.where("cateTid").is(categoryId)
)); ));
query.addCriteria(Criteria.where("spuAppear").is("0").and("delFlg").is("0").and("shelvesStatus").is("3").and("marketId").is(null)); query.addCriteria(Criteria.where("spuAppear").is("0").and("delFlg").is("0").and("shelvesStatus").is("3").and("marketId").is(null));
Pageable pageable=null; Pageable pageable = null;
// //
if(type.equals("1")){ if (type.equals("1")) {
pageable = PageRequest.of(page, pageSize, Sort.by(Sort.Direction.DESC, "count","createdAt")); pageable = PageRequest.of(page, pageSize, Sort.by(Sort.Direction.DESC, "count", "createdAt"));
}else if(type.equals("2")){ } else if (type.equals("2")) {
pageable = PageRequest.of(page, pageSize, Sort.by(Sort.Direction.DESC, "shelvesAt","createdAt")); pageable = PageRequest.of(page, pageSize, Sort.by(Sort.Direction.DESC, "shelvesAt", "createdAt"));
}else if(type.equals("3")){ } else if (type.equals("3")) {
Document source = new Document(); Document source = new Document();
source.put("locale", "zh"); source.put("locale", "zh");
source.put("numericOrdering", true); source.put("numericOrdering", true);
Collation collation = Collation.from(source); Collation collation = Collation.from(source);
query.collation(collation); query.collation(collation);
pageable = PageRequest.of(page, pageSize, Sort.by(Sort.Direction.DESC, "priceGe","createdAt")); pageable = PageRequest.of(page, pageSize, Sort.by(Sort.Direction.DESC, "priceGe", "createdAt"));
}else if(type.equals("4")){ } else if (type.equals("4")) {
Document source = new Document(); Document source = new Document();
source.put("locale", "zh"); source.put("locale", "zh");
source.put("numericOrdering", true); source.put("numericOrdering", true);
Collation collation = Collation.from(source); Collation collation = Collation.from(source);
query.collation(collation); query.collation(collation);
pageable = PageRequest.of(page, pageSize, Sort.by(Sort.Direction.ASC, "priceGe","createdAt")); pageable = PageRequest.of(page, pageSize, Sort.by(Sort.Direction.ASC, "priceGe", "createdAt"));
} }
// 排序 分页 // 排序 分页
// Query query = Query.query(Criteria.where("status").ne(1).and("status").ne(0)); // Query query = Query.query(Criteria.where("status").ne(1).and("status").ne(0));
// 查询总数 // 查询总数
long count = mongoTemplate.count(query, GoblinGoodsInfoVo.class, GoblinGoodsInfoVo.class.getSimpleName()); long count = mongoTemplate.count(query, GoblinGoodsInfoVo.class, GoblinGoodsInfoVo.class.getSimpleName());
query.with(pageable); query.with(pageable);
List<GoblinGoodsInfoVo> list = mongoTemplate.find(query, GoblinGoodsInfoVo.class, GoblinGoodsInfoVo.class.getSimpleName()); List<GoblinGoodsInfoVo> list = mongoTemplate.find(query, GoblinGoodsInfoVo.class, GoblinGoodsInfoVo.class.getSimpleName());
GoblinFrontCategoryListVo goblinFrontCategoryListVo=GoblinFrontCategoryListVo.getNew(); GoblinFrontCategoryListVo goblinFrontCategoryListVo = GoblinFrontCategoryListVo.getNew();
goblinFrontCategoryListVo.setCount(count); goblinFrontCategoryListVo.setCount(count);
ArrayList<GoblinGoodsInfoListVo> listVos=ObjectUtil.getGoblinGoodsInfoListVo(); ArrayList<GoblinGoodsInfoListVo> listVos = ObjectUtil.getGoblinGoodsInfoListVo();
for(GoblinGoodsInfoVo goblinGoodsInfoVo:list){ for (GoblinGoodsInfoVo goblinGoodsInfoVo : list) {
GoblinGoodsInfoListVo goblinGoodsInfoListVo= GoblinGoodsInfoListVo.getNew(); GoblinGoodsInfoListVo goblinGoodsInfoListVo = GoblinGoodsInfoListVo.getNew();
BeanUtils.copyProperties(goblinGoodsInfoVo,goblinGoodsInfoListVo); BeanUtils.copyProperties(goblinGoodsInfoVo, goblinGoodsInfoListVo);
listVos.add(goblinGoodsInfoListVo); listVos.add(goblinGoodsInfoListVo);
} }
goblinFrontCategoryListVo.setSpuList(listVos); goblinFrontCategoryListVo.setSpuList(listVos);
...@@ -671,34 +685,35 @@ public class GoblinFrontServiceImpl implements GoblinFrontService { ...@@ -671,34 +685,35 @@ public class GoblinFrontServiceImpl implements GoblinFrontService {
/** /**
* 获取 mongodb里面的spuId * 获取 mongodb里面的spuId
*
* @return * @return
*/ */
public String getspuId(String spuids,int page,int pageSize){ public String getspuId(String spuids, int page, int pageSize) {
Query query = new Query(); Query query = new Query();
if(StringUtil.isNotBlank(spuids)){ if (StringUtil.isNotBlank(spuids)) {
query.addCriteria(Criteria.where("spuId").nin(spuids.split(","))); query.addCriteria(Criteria.where("spuId").nin(spuids.split(",")));
} }
query.addCriteria(Criteria.where("delFlg").is("0").and("shelvesStatus").is("3").and("spuAppear").is("0").and("marketId").is(null)); query.addCriteria(Criteria.where("delFlg").is("0").and("shelvesStatus").is("3").and("spuAppear").is("0").and("marketId").is(null));
//redis里面获取排序规则 1、上架时间2、销量3、价格高到低4、价格低到高 //redis里面获取排序规则 1、上架时间2、销量3、价格高到低4、价格低到高
int sortType=0; int sortType = 0;
if(redisUtil.hasKey(GoblinRedisConst.SELECT_GOODS_SORT)){ if (redisUtil.hasKey(GoblinRedisConst.SELECT_GOODS_SORT)) {
sortType = (int) redisUtil.get(GoblinRedisConst.SELECT_GOODS_SORT); sortType = (int) redisUtil.get(GoblinRedisConst.SELECT_GOODS_SORT);
} }
Sort sortName=null; Sort sortName = null;
if(sortType==1){ if (sortType == 1) {
sortName = Sort.by(Sort.Direction.DESC, "shelvesAt"); sortName = Sort.by(Sort.Direction.DESC, "shelvesAt");
}else if(sortType==2){ } else if (sortType == 2) {
sortName = Sort.by(Sort.Direction.DESC, "count","createdAt"); sortName = Sort.by(Sort.Direction.DESC, "count", "createdAt");
}else if(sortType==3){ } else if (sortType == 3) {
Document source = new Document(); Document source = new Document();
source.put("locale", "zh"); source.put("locale", "zh");
source.put("numericOrdering", true); source.put("numericOrdering", true);
Collation collation = Collation.from(source); Collation collation = Collation.from(source);
query.collation(collation); query.collation(collation);
sortName = Sort.by(Sort.Direction.DESC, "priceGe"); sortName = Sort.by(Sort.Direction.DESC, "priceGe");
}else{ } else {
Document source = new Document(); Document source = new Document();
source.put("locale", "zh"); source.put("locale", "zh");
source.put("numericOrdering", true); source.put("numericOrdering", true);
...@@ -711,89 +726,92 @@ public class GoblinFrontServiceImpl implements GoblinFrontService { ...@@ -711,89 +726,92 @@ public class GoblinFrontServiceImpl implements GoblinFrontService {
query.with(sortName); query.with(sortName);
List<GoblinGoodsInfoVo> list = mongoTemplate.find(query, GoblinGoodsInfoVo.class, GoblinGoodsInfoVo.class.getSimpleName()); List<GoblinGoodsInfoVo> list = mongoTemplate.find(query, GoblinGoodsInfoVo.class, GoblinGoodsInfoVo.class.getSimpleName());
StringBuffer sb = new StringBuffer(); StringBuffer sb = new StringBuffer();
int index=0; int index = 0;
for(GoblinGoodsInfoVo goblinGoodsInfoVo:list){ for (GoblinGoodsInfoVo goblinGoodsInfoVo : list) {
if(index==0){ if (index == 0) {
sb.append(goblinGoodsInfoVo.getSpuId()); sb.append(goblinGoodsInfoVo.getSpuId());
}else{ } else {
sb.append(","+goblinGoodsInfoVo.getSpuId()); sb.append("," + goblinGoodsInfoVo.getSpuId());
} }
index++; index++;
} }
return sb.toString(); return sb.toString();
} }
public void setPage1(List<GoblinFrontSelectGoods> list,int pageSize){
public void setPage1(List<GoblinFrontSelectGoods> list, int pageSize) {
StringBuffer sb = new StringBuffer(); StringBuffer sb = new StringBuffer();
//足够了 拼接字符串 //足够了 拼接字符串
int i=0; int i = 0;
for(GoblinFrontSelectGoods goblinFrontSelectGoods:list){ for (GoblinFrontSelectGoods goblinFrontSelectGoods : list) {
if(i==0){ if (i == 0) {
sb.append(goblinFrontSelectGoods.getSpuId()); sb.append(goblinFrontSelectGoods.getSpuId());
}else{ } else {
sb.append(","+goblinFrontSelectGoods.getSpuId()); sb.append("," + goblinFrontSelectGoods.getSpuId());
} }
i++; i++;
if(i==pageSize) break; if (i == pageSize) break;
} }
redisUtil.set(GoblinRedisConst.SELECT_GOODS_PAGE1,sb.toString()); redisUtil.set(GoblinRedisConst.SELECT_GOODS_PAGE1, sb.toString());
} }
public void setPage1AndSpu(List<GoblinFrontSelectGoods> list,int pageSize){
public void setPage1AndSpu(List<GoblinFrontSelectGoods> list, int pageSize) {
validate(list); validate(list);
//sb 为配置的 精选商品 spuid //sb 为配置的 精选商品 spuid
StringBuffer sb = new StringBuffer(); StringBuffer sb = new StringBuffer();
if(null!=list&&list.size()>0){ if (null != list && list.size() > 0) {
int i=0; int i = 0;
for(GoblinFrontSelectGoods goblinFrontSelectGoods:list){ for (GoblinFrontSelectGoods goblinFrontSelectGoods : list) {
if(i==0){ if (i == 0) {
sb.append(goblinFrontSelectGoods.getSpuId()); sb.append(goblinFrontSelectGoods.getSpuId());
}else{ } else {
sb.append(","+goblinFrontSelectGoods.getSpuId()); sb.append("," + goblinFrontSelectGoods.getSpuId());
} }
i++; i++;
} }
} }
//获得没有配置的spuid s 是没有配置的精选商品spuid //获得没有配置的spuid s 是没有配置的精选商品spuid
String s=this.getspuId(sb.toString(),0,0); String s = this.getspuId(sb.toString(), 0, 0);
String supids=""; String supids = "";
if(StringUtil.isNotBlank(sb.toString())&&StringUtil.isNotBlank(s)){ if (StringUtil.isNotBlank(sb.toString()) && StringUtil.isNotBlank(s)) {
supids=sb.toString()+","+s; supids = sb.toString() + "," + s;
}else if(StringUtil.isNotBlank(sb.toString())){ } else if (StringUtil.isNotBlank(sb.toString())) {
supids=sb.toString(); supids = sb.toString();
}else if(StringUtil.isNotBlank(s)){ } else if (StringUtil.isNotBlank(s)) {
supids=s; supids = s;
} }
log.debug("spuid所有的为:{}",supids); log.debug("spuid所有的为:{}", supids);
int index=0; int index = 0;
//sb1 为 第一页的 spuid //sb1 为 第一页的 spuid
StringBuffer sb1 = new StringBuffer(); StringBuffer sb1 = new StringBuffer();
for(String ss:supids.split(",")){ for (String ss : supids.split(",")) {
if(index==0){ if (index == 0) {
sb1.append(ss); sb1.append(ss);
}else{ } else {
sb1.append(","+ss); sb1.append("," + ss);
} }
index++; index++;
if(index==pageSize){ if (index == pageSize) {
break; break;
} }
} }
redisUtil.set(GoblinRedisConst.SELECT_GOODS_PAGE1,sb1.toString()); redisUtil.set(GoblinRedisConst.SELECT_GOODS_PAGE1, sb1.toString());
redisUtil.set(GoblinRedisConst.SELECT_GOODS_SPUIDS,supids); redisUtil.set(GoblinRedisConst.SELECT_GOODS_SPUIDS, supids);
if(StringUtil.isBlank(supids)){ if (StringUtil.isBlank(supids)) {
redisUtil.set(GoblinRedisConst.SELECT_GOODS_SPUIDS_ISHAVE,"1"); redisUtil.set(GoblinRedisConst.SELECT_GOODS_SPUIDS_ISHAVE, "1");
} }
} }
public void validate( List<GoblinFrontSelectGoods> list){
if(null!=list&&list.size()>0){ public void validate(List<GoblinFrontSelectGoods> list) {
if (null != list && list.size() > 0) {
Iterator<GoblinFrontSelectGoods> it = list.iterator(); Iterator<GoblinFrontSelectGoods> it = list.iterator();
while (it.hasNext()) { while (it.hasNext()) {
GoblinFrontSelectGoods goblinFrontSelectGoods= it.next(); GoblinFrontSelectGoods goblinFrontSelectGoods = it.next();
if(StringUtils.isBlank(goblinFrontSelectGoods.getSpuId())){ if (StringUtils.isBlank(goblinFrontSelectGoods.getSpuId())) {
it.remove(); it.remove();
}else{ } else {
GoblinGoodsInfoVo goblinGoodsInfoVo= goblinRedisUtils.getGoodsInfoVo(goblinFrontSelectGoods.getSpuId()); GoblinGoodsInfoVo goblinGoodsInfoVo = goblinRedisUtils.getGoodsInfoVo(goblinFrontSelectGoods.getSpuId());
if (null==goblinGoodsInfoVo||StringUtil.isNotBlank(goblinGoodsInfoVo.getMarketId())) { if (null == goblinGoodsInfoVo || StringUtil.isNotBlank(goblinGoodsInfoVo.getMarketId())) {
it.remove(); it.remove();
} }
} }
...@@ -801,14 +819,15 @@ public class GoblinFrontServiceImpl implements GoblinFrontService { ...@@ -801,14 +819,15 @@ public class GoblinFrontServiceImpl implements GoblinFrontService {
} }
} }
public String getRedisKey(String key){ public String getRedisKey(String key) {
Object value=redisUtil.get(key); Object value = redisUtil.get(key);
if(null!=value){ if (null != value) {
return value.toString(); return value.toString();
}else{ } else {
return ""; return "";
} }
} }
/** /**
* @author zhangfuxin * @author zhangfuxin
* @Description:精选商品列表 * @Description:精选商品列表
...@@ -816,44 +835,44 @@ public class GoblinFrontServiceImpl implements GoblinFrontService { ...@@ -816,44 +835,44 @@ public class GoblinFrontServiceImpl implements GoblinFrontService {
*/ */
@Override @Override
public GoblinFrontSelectGoodVo getSelectGoods(int page, int pageSize) { public GoblinFrontSelectGoodVo getSelectGoods(int page, int pageSize) {
GoblinFrontSelectGoodVo goblinFrontSelectGoodVo=GoblinFrontSelectGoodVo.getNew(); GoblinFrontSelectGoodVo goblinFrontSelectGoodVo = GoblinFrontSelectGoodVo.getNew();
if(redisUtil.hasKey(GoblinRedisConst.SELECT_GOODS_SPUIDS_ISHAVE)){ if (redisUtil.hasKey(GoblinRedisConst.SELECT_GOODS_SPUIDS_ISHAVE)) {
return goblinFrontSelectGoodVo; return goblinFrontSelectGoodVo;
} }
//先从redis里 查 是否有第一页的值 //先从redis里 查 是否有第一页的值
String spuIds=""; String spuIds = "";
if(page==0){ if (page == 0) {
String selectGoodsPage1= getRedisKey(GoblinRedisConst.SELECT_GOODS_PAGE1); String selectGoodsPage1 = getRedisKey(GoblinRedisConst.SELECT_GOODS_PAGE1);
if(StringUtil.isNotBlank(selectGoodsPage1)){ if (StringUtil.isNotBlank(selectGoodsPage1)) {
String[] spuids=selectGoodsPage1.split(","); String[] spuids = selectGoodsPage1.split(",");
log.debug("spuids{}",spuids); log.debug("spuids{}", spuids);
ArrayList<GoblinGoodsInfoVo> goblinGoodsInfoVoArrayList= ObjectUtil.getGoblinGoodsInfoVos(); ArrayList<GoblinGoodsInfoVo> goblinGoodsInfoVoArrayList = ObjectUtil.getGoblinGoodsInfoVos();
for(String id:spuids){ for (String id : spuids) {
GoblinGoodsInfoVo goblinGoodsInfoVo= goblinRedisUtils.getGoodsInfoVo(id); GoblinGoodsInfoVo goblinGoodsInfoVo = goblinRedisUtils.getGoodsInfoVo(id);
if(null!=goblinGoodsInfoVo){ if (null != goblinGoodsInfoVo) {
goblinGoodsInfoVoArrayList.add(goblinGoodsInfoVo); goblinGoodsInfoVoArrayList.add(goblinGoodsInfoVo);
} }
} }
goblinFrontSelectGoodVo.setGoblinGoodsInfoVoList(goblinGoodsInfoVoArrayList); goblinFrontSelectGoodVo.setGoblinGoodsInfoVoList(goblinGoodsInfoVoArrayList);
return goblinFrontSelectGoodVo; return goblinFrontSelectGoodVo;
}else{ } else {
//从redis里面查出配置的 spu //从redis里面查出配置的 spu
if(redisUtil.hasKey(GoblinRedisConst.SELECT_GOODS)){ if (redisUtil.hasKey(GoblinRedisConst.SELECT_GOODS)) {
List<GoblinFrontSelectGoods> list= (List<GoblinFrontSelectGoods>) redisUtil.get(GoblinRedisConst.SELECT_GOODS); List<GoblinFrontSelectGoods> list = (List<GoblinFrontSelectGoods>) redisUtil.get(GoblinRedisConst.SELECT_GOODS);
validate(list); validate(list);
if(list.size()>=pageSize){ if (list.size() >= pageSize) {
this.setPage1(list,pageSize); this.setPage1(list, pageSize);
return this.getSelectGoods(page,pageSize); return this.getSelectGoods(page, pageSize);
}else{ } else {
setPage1AndSpu(list,pageSize); setPage1AndSpu(list, pageSize);
return this.getSelectGoods(page,pageSize); return this.getSelectGoods(page, pageSize);
} }
}else{ } else {
setPage1AndSpu(null,pageSize); setPage1AndSpu(null, pageSize);
return this.getSelectGoods(page,pageSize); return this.getSelectGoods(page, pageSize);
} }
} }
}else{ } else {
/* //查看是否有 配置的 spuid的顺序 /* //查看是否有 配置的 spuid的顺序
String selectGoodsSpuids= getRedisKey(GoblinRedisConst.SELECT_GOODS_PAGE1); String selectGoodsSpuids= getRedisKey(GoblinRedisConst.SELECT_GOODS_PAGE1);
if(StringUtil.isBlank(selectGoodsSpuids)){ if(StringUtil.isBlank(selectGoodsSpuids)){
...@@ -865,24 +884,24 @@ public class GoblinFrontServiceImpl implements GoblinFrontService { ...@@ -865,24 +884,24 @@ public class GoblinFrontServiceImpl implements GoblinFrontService {
//查看是否有 配置的 spuid的顺序 //查看是否有 配置的 spuid的顺序
/* String selectGoodsSpuids= getRedisKey(GoblinRedisConst.SELECT_GOODS_PAGE1);*/ /* String selectGoodsSpuids= getRedisKey(GoblinRedisConst.SELECT_GOODS_PAGE1);*/
if(!redisUtil.hasKey(GoblinRedisConst.SELECT_GOODS_SPUIDS)){ if (!redisUtil.hasKey(GoblinRedisConst.SELECT_GOODS_SPUIDS)) {
List<GoblinFrontSelectGoods> list= (List<GoblinFrontSelectGoods>) redisUtil.get(GoblinRedisConst.SELECT_GOODS); List<GoblinFrontSelectGoods> list = (List<GoblinFrontSelectGoods>) redisUtil.get(GoblinRedisConst.SELECT_GOODS);
setPage1AndSpu(list,pageSize); setPage1AndSpu(list, pageSize);
this.getSelectGoods(page,pageSize); this.getSelectGoods(page, pageSize);
} }
String[] spuidss=redisUtil.get(GoblinRedisConst.SELECT_GOODS_SPUIDS).toString().split(","); String[] spuidss = redisUtil.get(GoblinRedisConst.SELECT_GOODS_SPUIDS).toString().split(",");
//String[] spuidss=selectGoodsSpuids.split(","); //String[] spuidss=selectGoodsSpuids.split(",");
//找到对应的spuid //找到对应的spuid
int start =page*pageSize; int start = page * pageSize;
int end=(page+1)*pageSize; int end = (page + 1) * pageSize;
if(end>spuidss.length){ if (end > spuidss.length) {
end=spuidss.length; end = spuidss.length;
} }
ArrayList<GoblinGoodsInfoVo> goblinGoodsInfoVoArrayList= ObjectUtil.getGoblinGoodsInfoVos(); ArrayList<GoblinGoodsInfoVo> goblinGoodsInfoVoArrayList = ObjectUtil.getGoblinGoodsInfoVos();
for(int i=0;i<end;i++){ for (int i = 0; i < end; i++) {
if(i>=start){ if (i >= start) {
GoblinGoodsInfoVo goblinGoodsInfoVo= goblinRedisUtils.getGoodsInfoVo(spuidss[i]); GoblinGoodsInfoVo goblinGoodsInfoVo = goblinRedisUtils.getGoodsInfoVo(spuidss[i]);
goblinGoodsInfoVoArrayList.add(goblinGoodsInfoVo); goblinGoodsInfoVoArrayList.add(goblinGoodsInfoVo);
} }
} }
...@@ -938,13 +957,13 @@ public class GoblinFrontServiceImpl implements GoblinFrontService { ...@@ -938,13 +957,13 @@ public class GoblinFrontServiceImpl implements GoblinFrontService {
@Override @Override
public List<GoblinGoodsInfoVo> getGoodByMusicTagP(String musicTag, String performanceId) { public List<GoblinGoodsInfoVo> getGoodByMusicTagP(String musicTag, String performanceId) {
return goblinRedisUtils.getMusicTagList(musicTag,performanceId); return goblinRedisUtils.getMusicTagList(musicTag, performanceId);
} }
public boolean belongCalendar( String startString, String endString) throws ParseException { public boolean belongCalendar(String startString, String endString) throws ParseException {
SimpleDateFormat simpleDateFormat = new SimpleDateFormat(DateUtil.DATE_FULL_STR);//注意月份是MM SimpleDateFormat simpleDateFormat = new SimpleDateFormat(DateUtil.DATE_FULL_STR);//注意月份是MM
Date from = simpleDateFormat.parse(startString); Date from = simpleDateFormat.parse(startString);
Date end= simpleDateFormat.parse(endString); Date end = simpleDateFormat.parse(endString);
Calendar date = Calendar.getInstance(); Calendar date = Calendar.getInstance();
date.setTime(new Date()); date.setTime(new Date());
Calendar after = Calendar.getInstance(); Calendar after = Calendar.getInstance();
...@@ -957,6 +976,7 @@ public class GoblinFrontServiceImpl implements GoblinFrontService { ...@@ -957,6 +976,7 @@ public class GoblinFrontServiceImpl implements GoblinFrontService {
return false; return false;
} }
} }
//判断是否是该时间之后 //判断是否是该时间之后
public boolean afterCalendar(String time) throws ParseException { public boolean afterCalendar(String time) throws ParseException {
SimpleDateFormat simpleDateFormat = new SimpleDateFormat(DateUtil.DATE_FULL_STR);//注意月份是MM SimpleDateFormat simpleDateFormat = new SimpleDateFormat(DateUtil.DATE_FULL_STR);//注意月份是MM
...@@ -969,6 +989,7 @@ public class GoblinFrontServiceImpl implements GoblinFrontService { ...@@ -969,6 +989,7 @@ public class GoblinFrontServiceImpl implements GoblinFrontService {
return false; return false;
} }
} }
//判断是否是该时间之后 //判断是否是该时间之后
public boolean beforeCalendar(String time) throws ParseException { public boolean beforeCalendar(String time) throws ParseException {
SimpleDateFormat simpleDateFormat = new SimpleDateFormat(DateUtil.DATE_FULL_STR);//注意月份是MM SimpleDateFormat simpleDateFormat = new SimpleDateFormat(DateUtil.DATE_FULL_STR);//注意月份是MM
...@@ -981,197 +1002,203 @@ public class GoblinFrontServiceImpl implements GoblinFrontService { ...@@ -981,197 +1002,203 @@ public class GoblinFrontServiceImpl implements GoblinFrontService {
return false; return false;
} }
} }
public boolean validateShoopCartNumber(String skuId,String type,Integer buyCount,String userId){
if(!type.equals("1")){ public boolean validateShoopCartNumber(String skuId, String type, Integer buyCount, String userId) {
if (!type.equals("1")) {
return true; return true;
} }
//获取sku //获取sku
GoblinGoodsSkuInfoVo goblinGoodsSkuInfoVo=goblinRedisUtils.getGoodsSkuInfoVo(skuId); GoblinGoodsSkuInfoVo goblinGoodsSkuInfoVo = goblinRedisUtils.getGoodsSkuInfoVo(skuId);
if(null==goblinGoodsSkuInfoVo){ if (null == goblinGoodsSkuInfoVo) {
return false; return false;
} }
if(null==goblinGoodsSkuInfoVo.getBuyLimit()||goblinGoodsSkuInfoVo.getBuyLimit()==0){ if (null == goblinGoodsSkuInfoVo.getBuyLimit() || goblinGoodsSkuInfoVo.getBuyLimit() == 0) {
return true; return true;
} }
//已经购买的数量 //已经购买的数量
Integer buyCounts=goblinRedisUtils.getSkuCountByUid(userId, skuId); Integer buyCounts = goblinRedisUtils.getSkuCountByUid(userId, skuId);
if(goblinGoodsSkuInfoVo.getBuyLimit()<(buyCounts+buyCount)){ if (goblinGoodsSkuInfoVo.getBuyLimit() < (buyCounts + buyCount)) {
// //
return false; return false;
} }
return true; return true;
} }
/** /**
* @author zhangfuxin * @author zhangfuxin
* @Description:添加购物车 * @Description:添加购物车
* @date 2022/1/11 下午4:16 * @date 2022/1/11 下午4:16
*/ */
public ResponseDto addShoopCart(String spuId, String storeId,String skuId,Integer number,String userId,String type){ public ResponseDto addShoopCart(String spuId, String storeId, String skuId, Integer number, String userId, String type) {
if(null==number||number<=0){ if (null == number || number <= 0) {
return ResponseDto.success(false); return ResponseDto.success(false);
} }
boolean isGoods=false; boolean isGoods = false;
String cardId=""; String cardId = "";
//判断该用户 redis里是否有购物车 //判断该用户 redis里是否有购物车
GoblinShoppingCartVoo goblinShoppingCartVoo= (GoblinShoppingCartVoo) redisUtil.get(GoblinRedisConst.FRONT_SHOPCART.concat(userId).concat(type.toString())); GoblinShoppingCartVoo goblinShoppingCartVoo = (GoblinShoppingCartVoo) redisUtil.get(GoblinRedisConst.FRONT_SHOPCART.concat(userId).concat(type.toString()));
if(null==goblinShoppingCartVoo){ if (null == goblinShoppingCartVoo) {
//创建 voo //创建 voo
GoblinShoppingCartVoo goblinShoppingCartVoo1=GoblinShoppingCartVoo.getNew(); GoblinShoppingCartVoo goblinShoppingCartVoo1 = GoblinShoppingCartVoo.getNew();
// 根据shop分类 // 根据shop分类
ArrayList<GoblinShoppingCartVo> list=ObjectUtil.goblinShoppingCartVoArrayList(); ArrayList<GoblinShoppingCartVo> list = ObjectUtil.goblinShoppingCartVoArrayList();
GoblinShoppingCartVo goblinShoppingCartVo=GoblinShoppingCartVo.getNew(); GoblinShoppingCartVo goblinShoppingCartVo = GoblinShoppingCartVo.getNew();
goblinShoppingCartVo.setStoreId(storeId); goblinShoppingCartVo.setStoreId(storeId);
//该商铺下的所有商品 //该商铺下的所有商品
ArrayList<GoblinShoppingCartVoDetail> list1=ObjectUtil.goblinShoppingCartVoDetailArrayList(); ArrayList<GoblinShoppingCartVoDetail> list1 = ObjectUtil.goblinShoppingCartVoDetailArrayList();
if(!validateShoopCartNumber(skuId,type,number,userId)){ if (!validateShoopCartNumber(skuId, type, number, userId)) {
return ResponseDto.failure("当前商品购买数量超过了限购数量"); return ResponseDto.failure("当前商品购买数量超过了限购数量");
} }
//创建 购物车vo //创建 购物车vo
GoblinShoppingCartVoDetail goblinShoppingCartVoDetail=this.setValue(userId,storeId,spuId,skuId,number); GoblinShoppingCartVoDetail goblinShoppingCartVoDetail = this.setValue(userId, storeId, spuId, skuId, number);
list1.add(goblinShoppingCartVoDetail); list1.add(goblinShoppingCartVoDetail);
goblinShoppingCartVo.setSkuList(list1); goblinShoppingCartVo.setSkuList(list1);
list.add(goblinShoppingCartVo); list.add(goblinShoppingCartVo);
goblinShoppingCartVoo1.setShopList(list); goblinShoppingCartVoo1.setShopList(list);
goblinShoppingCartVoo1.setGoblinShoppingCartId(IDGenerator.nextSnowId()); goblinShoppingCartVoo1.setGoblinShoppingCartId(IDGenerator.nextSnowId());
saveRedisMongodbMysqlShop(goblinShoppingCartVoo1,userId,type); saveRedisMongodbMysqlShop(goblinShoppingCartVoo1, userId, type);
insertShopCartMysql(goblinShoppingCartVoDetail.getCarId(),spuId,storeId,skuId,number,userId,type); insertShopCartMysql(goblinShoppingCartVoDetail.getCarId(), spuId, storeId, skuId, number, userId, type);
}else{ } else {
//查看是否有该商铺 //查看是否有该商铺
List<GoblinShoppingCartVo> list=goblinShoppingCartVoo.getShopList(); List<GoblinShoppingCartVo> list = goblinShoppingCartVoo.getShopList();
boolean isShop=false; boolean isShop = false;
for(GoblinShoppingCartVo goblinShoppingCartVo:list){ for (GoblinShoppingCartVo goblinShoppingCartVo : list) {
if(storeId.equals(goblinShoppingCartVo.getStoreId())){ if (storeId.equals(goblinShoppingCartVo.getStoreId())) {
//有这个商铺的 东西 //有这个商铺的 东西
List<GoblinShoppingCartVoDetail> list1=goblinShoppingCartVo.getSkuList(); List<GoblinShoppingCartVoDetail> list1 = goblinShoppingCartVo.getSkuList();
//查看是否有这个商品 //查看是否有这个商品
for(GoblinShoppingCartVoDetail goblinShoppingCartVoDetail:list1){ for (GoblinShoppingCartVoDetail goblinShoppingCartVoDetail : list1) {
if(skuId.equals(goblinShoppingCartVoDetail.getSkuId())){ if (skuId.equals(goblinShoppingCartVoDetail.getSkuId())) {
isGoods=true; isGoods = true;
if(!validateShoopCartNumber(skuId,type,(goblinShoppingCartVoDetail.getNumber()+number),userId)){ if (!validateShoopCartNumber(skuId, type, (goblinShoppingCartVoDetail.getNumber() + number), userId)) {
return ResponseDto.failure("当前商品购买数量超过了限购数量"); return ResponseDto.failure("当前商品购买数量超过了限购数量");
} }
goblinShoppingCartVoDetail.setNumber((goblinShoppingCartVoDetail.getNumber()+number)); goblinShoppingCartVoDetail.setNumber((goblinShoppingCartVoDetail.getNumber() + number));
cardId=goblinShoppingCartVoDetail.getCarId(); cardId = goblinShoppingCartVoDetail.getCarId();
} }
} }
if(isGoods){ if (isGoods) {
//添加商品 数量 //添加商品 数量
//不需要做 //不需要做
}else{ } else {
//创建商品放入到list //创建商品放入到list
if(!validateShoopCartNumber(skuId,type,number,userId)){ if (!validateShoopCartNumber(skuId, type, number, userId)) {
return ResponseDto.failure("当前商品购买数量超过了限购数量"); return ResponseDto.failure("当前商品购买数量超过了限购数量");
} }
GoblinShoppingCartVoDetail goblinShoppingCartVoDetail=this.setValue(userId,storeId,spuId,skuId,number); GoblinShoppingCartVoDetail goblinShoppingCartVoDetail = this.setValue(userId, storeId, spuId, skuId, number);
cardId=goblinShoppingCartVoDetail.getCarId(); cardId = goblinShoppingCartVoDetail.getCarId();
list1.add(goblinShoppingCartVoDetail); list1.add(goblinShoppingCartVoDetail);
} }
isShop=true; isShop = true;
} }
} }
if(!isShop){ if (!isShop) {
GoblinShoppingCartVo goblinShoppingCartVo=GoblinShoppingCartVo.getNew(); GoblinShoppingCartVo goblinShoppingCartVo = GoblinShoppingCartVo.getNew();
goblinShoppingCartVo.setStoreId(storeId); goblinShoppingCartVo.setStoreId(storeId);
//该商铺下的所有商品 //该商铺下的所有商品
ArrayList<GoblinShoppingCartVoDetail> list1=ObjectUtil.goblinShoppingCartVoDetailArrayList(); ArrayList<GoblinShoppingCartVoDetail> list1 = ObjectUtil.goblinShoppingCartVoDetailArrayList();
if(!validateShoopCartNumber(skuId,type,number,userId)){ if (!validateShoopCartNumber(skuId, type, number, userId)) {
return ResponseDto.failure("当前商品购买数量超过了限购数量"); return ResponseDto.failure("当前商品购买数量超过了限购数量");
} }
//创建 购物车vo //创建 购物车vo
GoblinShoppingCartVoDetail goblinShoppingCartVoDetail=this.setValue(userId,storeId,spuId,skuId,number); GoblinShoppingCartVoDetail goblinShoppingCartVoDetail = this.setValue(userId, storeId, spuId, skuId, number);
list1.add(goblinShoppingCartVoDetail); list1.add(goblinShoppingCartVoDetail);
goblinShoppingCartVo.setSkuList(list1); goblinShoppingCartVo.setSkuList(list1);
list.add(goblinShoppingCartVo); list.add(goblinShoppingCartVo);
} }
saveRedisMongodbMysqlShop(goblinShoppingCartVoo,userId,type); saveRedisMongodbMysqlShop(goblinShoppingCartVoo, userId, type);
if(isGoods){ if (isGoods) {
updateShopCartMysql(cardId,number,userId); updateShopCartMysql(cardId, number, userId);
}else{ } else {
insertShopCartMysql(cardId,spuId,storeId,skuId,number,userId,type); insertShopCartMysql(cardId, spuId, storeId, skuId, number, userId, type);
} }
} }
return ResponseDto.success(true); return ResponseDto.success(true);
} }
/*** /***
* @author zhangfuxin * @author zhangfuxin
* @Description: 修改 购物车里 数量 * @Description: 修改 购物车里 数量
* @date 2022/1/11 下午6:24 * @date 2022/1/11 下午6:24
*/ */
public boolean updateShopCart(String spuId, String storeId,String skuId,Integer number,String userId,String type){ public boolean updateShopCart(String spuId, String storeId, String skuId, Integer number, String userId, String type) {
if(null==number||number<=0){ if (null == number || number <= 0) {
return false; return false;
} }
GoblinShoppingCartVoo goblinShoppingCartVoo= (GoblinShoppingCartVoo) redisUtil.get(GoblinRedisConst.FRONT_SHOPCART.concat(userId).concat(type)); GoblinShoppingCartVoo goblinShoppingCartVoo = (GoblinShoppingCartVoo) redisUtil.get(GoblinRedisConst.FRONT_SHOPCART.concat(userId).concat(type));
String cardId=""; String cardId = "";
if(null!=goblinShoppingCartVoo){ if (null != goblinShoppingCartVoo) {
List<GoblinShoppingCartVo> list=goblinShoppingCartVoo.getShopList(); List<GoblinShoppingCartVo> list = goblinShoppingCartVoo.getShopList();
//遍历商铺 //遍历商铺
for(GoblinShoppingCartVo goblinShoppingCartVo:list){ for (GoblinShoppingCartVo goblinShoppingCartVo : list) {
if(storeId.equals(goblinShoppingCartVo.getStoreId())){ if (storeId.equals(goblinShoppingCartVo.getStoreId())) {
//找到 商品id //找到 商品id
List<GoblinShoppingCartVoDetail> list1=goblinShoppingCartVo.getSkuList(); List<GoblinShoppingCartVoDetail> list1 = goblinShoppingCartVo.getSkuList();
for(GoblinShoppingCartVoDetail goblinShoppingCartVoDetail:list1){ for (GoblinShoppingCartVoDetail goblinShoppingCartVoDetail : list1) {
if(skuId.equals(goblinShoppingCartVoDetail.getSkuId())){ if (skuId.equals(goblinShoppingCartVoDetail.getSkuId())) {
cardId=goblinShoppingCartVoDetail.getCarId(); cardId = goblinShoppingCartVoDetail.getCarId();
goblinShoppingCartVoDetail.setNumber(number); goblinShoppingCartVoDetail.setNumber(number);
} }
} }
} }
} }
//调用储存方法 //调用储存方法
saveRedisMongodbMysqlShop(goblinShoppingCartVoo,userId,type); saveRedisMongodbMysqlShop(goblinShoppingCartVoo, userId, type);
updateShopCartMysql(cardId,number,userId); updateShopCartMysql(cardId, number, userId);
} }
return true; return true;
} }
public int getShopCartCount(String userId,String type){ public int getShopCartCount(String userId, String type) {
log.debug("获取商品数量{}",userId); log.debug("获取商品数量{}", userId);
int count=0; int count = 0;
GoblinShoppingCartVoo goblinShoppingCartVoo= (GoblinShoppingCartVoo) redisUtil.get(GoblinRedisConst.FRONT_SHOPCART.concat(userId).concat(type.toString())); GoblinShoppingCartVoo goblinShoppingCartVoo = (GoblinShoppingCartVoo) redisUtil.get(GoblinRedisConst.FRONT_SHOPCART.concat(userId).concat(type.toString()));
if(null!=goblinShoppingCartVoo){ if (null != goblinShoppingCartVoo) {
List<GoblinShoppingCartVo> shopList=goblinShoppingCartVoo.getShopList(); List<GoblinShoppingCartVo> shopList = goblinShoppingCartVoo.getShopList();
for(GoblinShoppingCartVo goblinShoppingCartVo:shopList){ for (GoblinShoppingCartVo goblinShoppingCartVo : shopList) {
List<GoblinShoppingCartVoDetail> skuList=goblinShoppingCartVo.getSkuList(); List<GoblinShoppingCartVoDetail> skuList = goblinShoppingCartVo.getSkuList();
for(GoblinShoppingCartVoDetail goblinShoppingCartVoDetail:skuList){ for (GoblinShoppingCartVoDetail goblinShoppingCartVoDetail : skuList) {
count=goblinShoppingCartVoDetail.getNumber()+count; count = goblinShoppingCartVoDetail.getNumber() + count;
} }
} }
} }
return count; return count;
} }
/*** /***
* @author zhangfuxin * @author zhangfuxin
* @Description:存储信息 * @Description:存储信息
* @date 2022/1/17 下午4:55 * @date 2022/1/17 下午4:55
*/ */
public boolean saveDate(String data,String userId,String type) { public boolean saveDate(String data, String userId, String type) {
redisUtil.set(GoblinRedisConst.FRONT_SHOPCART_TWO.concat(userId).concat(type.toString()),data,60*60*24); redisUtil.set(GoblinRedisConst.FRONT_SHOPCART_TWO.concat(userId).concat(type.toString()), data, 60 * 60 * 24);
return true; return true;
} }
public ResponseDto getDate(String userId,String type) {
if(redisUtil.get(GoblinRedisConst.FRONT_SHOPCART_TWO.concat(userId).concat(type.toString()))==null){ public ResponseDto getDate(String userId, String type) {
return ResponseDto.failure(ErrorMapping.get("20003")); if (redisUtil.get(GoblinRedisConst.FRONT_SHOPCART_TWO.concat(userId).concat(type.toString())) == null) {
return ResponseDto.failure(ErrorMapping.get("20003"));
} }
return ResponseDto.success( redisUtil.get(GoblinRedisConst.FRONT_SHOPCART_TWO.concat(userId).concat(type.toString()))); return ResponseDto.success(redisUtil.get(GoblinRedisConst.FRONT_SHOPCART_TWO.concat(userId).concat(type.toString())));
//return (String) redisUtil.get(GoblinRedisConst.FRONT_SHOPCART_TWO.concat(userId).concat(type.toString())); //return (String) redisUtil.get(GoblinRedisConst.FRONT_SHOPCART_TWO.concat(userId).concat(type.toString()));
} }
/** /**
* 删除购物车里面的商品 * 删除购物车里面的商品
*/ */
public boolean delteShoppingCart(String[] skuIds,String userId,String type) { public boolean delteShoppingCart(String[] skuIds, String userId, String type) {
boolean isDeleteAll = false; boolean isDeleteAll = false;
GoblinShoppingCartVoo goblinShoppingCartVoo = (GoblinShoppingCartVoo) redisUtil.get(GoblinRedisConst.FRONT_SHOPCART.concat(userId).concat(type)); GoblinShoppingCartVoo goblinShoppingCartVoo = (GoblinShoppingCartVoo) redisUtil.get(GoblinRedisConst.FRONT_SHOPCART.concat(userId).concat(type));
if (null != goblinShoppingCartVoo) { if (null != goblinShoppingCartVoo) {
List<GoblinShoppingCartVo> shopList = goblinShoppingCartVoo.getShopList(); List<GoblinShoppingCartVo> shopList = goblinShoppingCartVoo.getShopList();
Iterator<GoblinShoppingCartVo> shopIter = shopList.iterator(); Iterator<GoblinShoppingCartVo> shopIter = shopList.iterator();
while (shopIter.hasNext()){ while (shopIter.hasNext()) {
GoblinShoppingCartVo goblinShoppingCartVo=shopIter.next(); GoblinShoppingCartVo goblinShoppingCartVo = shopIter.next();
List<GoblinShoppingCartVoDetail> skuList = goblinShoppingCartVo.getSkuList(); List<GoblinShoppingCartVoDetail> skuList = goblinShoppingCartVo.getSkuList();
Iterator<GoblinShoppingCartVoDetail> iterator = skuList.iterator(); Iterator<GoblinShoppingCartVoDetail> iterator = skuList.iterator();
while(iterator.hasNext()){ while (iterator.hasNext()) {
GoblinShoppingCartVoDetail goblinShoppingCartVoDetail=iterator.next(); GoblinShoppingCartVoDetail goblinShoppingCartVoDetail = iterator.next();
for (String skuId : skuIds) { for (String skuId : skuIds) {
if (goblinShoppingCartVoDetail.getSkuId().equals(skuId)) { if (goblinShoppingCartVoDetail.getSkuId().equals(skuId)) {
//skuList.remove(goblinShoppingCartVoDetail); //skuList.remove(goblinShoppingCartVoDetail);
...@@ -1179,16 +1206,16 @@ public class GoblinFrontServiceImpl implements GoblinFrontService { ...@@ -1179,16 +1206,16 @@ public class GoblinFrontServiceImpl implements GoblinFrontService {
} }
} }
} }
if(skuList.size()==0){ if (skuList.size() == 0) {
shopIter.remove(); shopIter.remove();
} }
} }
if(shopList.size()==0){ if (shopList.size() == 0) {
deleteRedisMongodbMysqlShop(goblinShoppingCartVoo,userId,skuIds,type); deleteRedisMongodbMysqlShop(goblinShoppingCartVoo, userId, skuIds, type);
deleteMysql(userId,skuIds); deleteMysql(userId, skuIds);
}else{ } else {
saveRedisMongodbMysqlShop(goblinShoppingCartVoo,userId,type); saveRedisMongodbMysqlShop(goblinShoppingCartVoo, userId, type);
deleteMysql(userId,skuIds); deleteMysql(userId, skuIds);
} }
} }
...@@ -1199,89 +1226,99 @@ public class GoblinFrontServiceImpl implements GoblinFrontService { ...@@ -1199,89 +1226,99 @@ public class GoblinFrontServiceImpl implements GoblinFrontService {
saveRedisMongodbMysqlShop(goblinShoppingCartVoo,userId); saveRedisMongodbMysqlShop(goblinShoppingCartVoo,userId);
} }
*/ */
return true; return true;
} }
//获得spu //获得spu
public GoblinGoodsInfoVo getGoodsInfoVo(GoblinShoppingCartVoDetail goblinShoppingCartVoDetail){ public GoblinGoodsInfoVo getGoodsInfoVo(GoblinShoppingCartVoDetail goblinShoppingCartVoDetail) {
GoblinGoodsInfoVo goblinGoodsInfoVo=goblinRedisUtils.getGoodsInfoVo(goblinShoppingCartVoDetail.getSpuId()); GoblinGoodsInfoVo goblinGoodsInfoVo = goblinRedisUtils.getGoodsInfoVo(goblinShoppingCartVoDetail.getSpuId());
if(null==goblinGoodsInfoVo){ if (null == goblinGoodsInfoVo) {
goblinGoodsInfoVo=goblinRedisUtils.getGoodsInfoVoByUnShelves(goblinShoppingCartVoDetail.getSpuId()); goblinGoodsInfoVo = goblinRedisUtils.getGoodsInfoVoByUnShelves(goblinShoppingCartVoDetail.getSpuId());
} }
return goblinGoodsInfoVo; return goblinGoodsInfoVo;
} }
//获得sku //获得sku
public GoblinGoodsSkuInfoVo getGoblinGoodsSkuInfoVo(GoblinShoppingCartVoDetail goblinShoppingCartVoDetail){ public GoblinGoodsSkuInfoVo getGoblinGoodsSkuInfoVo(GoblinShoppingCartVoDetail goblinShoppingCartVoDetail) {
GoblinGoodsSkuInfoVo goblinGoodsSkuInfoVo=goblinRedisUtils.getGoodsSkuInfoVo(goblinShoppingCartVoDetail.getSkuId()); GoblinGoodsSkuInfoVo goblinGoodsSkuInfoVo = goblinRedisUtils.getGoodsSkuInfoVo(goblinShoppingCartVoDetail.getSkuId());
if(null==goblinGoodsSkuInfoVo){ if (null == goblinGoodsSkuInfoVo) {
goblinGoodsSkuInfoVo=goblinRedisUtils.getGoodsSkuInfoVoByUnShelves(goblinShoppingCartVoDetail.getSkuId()); goblinGoodsSkuInfoVo = goblinRedisUtils.getGoodsSkuInfoVoByUnShelves(goblinShoppingCartVoDetail.getSkuId());
} }
return goblinGoodsSkuInfoVo; return goblinGoodsSkuInfoVo;
} }
//copy spu //copy spu
public GoblinGoodsInfoShopCartVo copySpuVo(GoblinGoodsInfoVo goblinGoodsInfoVo){ public GoblinGoodsInfoShopCartVo copySpuVo(GoblinGoodsInfoVo goblinGoodsInfoVo) {
GoblinGoodsInfoShopCartVo goblinGoodsInfoShopCartVo=GoblinGoodsInfoShopCartVo.getNew(); GoblinGoodsInfoShopCartVo goblinGoodsInfoShopCartVo = GoblinGoodsInfoShopCartVo.getNew();
if(null!=goblinGoodsInfoVo){ if (null != goblinGoodsInfoVo) {
BeanUtils.copyProperties(goblinGoodsInfoVo,goblinGoodsInfoShopCartVo); BeanUtils.copyProperties(goblinGoodsInfoVo, goblinGoodsInfoShopCartVo);
} }
return goblinGoodsInfoShopCartVo; return goblinGoodsInfoShopCartVo;
} }
//copy sku //copy sku
public GoblinGoodsSkuShopCartInfoVo copySkuVo(GoblinGoodsSkuInfoVo goblinGoodsSkuInfoVo,String userId){ public GoblinGoodsSkuShopCartInfoVo copySkuVo(GoblinGoodsSkuInfoVo goblinGoodsSkuInfoVo, String userId) {
GoblinGoodsSkuShopCartInfoVo goblinGoodsSkuShopCartInfoVo= GoblinGoodsSkuShopCartInfoVo.getNew(); GoblinGoodsSkuShopCartInfoVo goblinGoodsSkuShopCartInfoVo = GoblinGoodsSkuShopCartInfoVo.getNew();
if(null!=goblinGoodsSkuInfoVo){ if (null != goblinGoodsSkuInfoVo) {
BeanUtils.copyProperties(goblinGoodsSkuInfoVo,goblinGoodsSkuShopCartInfoVo); BeanUtils.copyProperties(goblinGoodsSkuInfoVo, goblinGoodsSkuShopCartInfoVo);
//查看是否有库存 //查看是否有库存
String pre = GoblinStatusConst.MarketPreStatus.getPre(goblinGoodsSkuInfoVo.getSpuId()); String pre = GoblinStatusConst.MarketPreStatus.getPre(goblinGoodsSkuInfoVo.getSpuId());
int stock=goblinRedisUtils.getSkuStock(pre,goblinGoodsSkuInfoVo.getSkuId()); int stock = goblinRedisUtils.getSkuStock(pre, goblinGoodsSkuInfoVo.getSkuId());
if(stock<=0){ if (stock <= 0) {
goblinGoodsSkuShopCartInfoVo.setStockLess(true); goblinGoodsSkuShopCartInfoVo.setStockLess(true);
}else {goblinGoodsSkuShopCartInfoVo.setStockLess(false);} } else {
goblinGoodsSkuShopCartInfoVo.setStockLess(false);
}
//查看已经购买数量 //查看已经购买数量
Integer buyCount=goblinRedisUtils.getSkuCountByUid(userId, goblinGoodsSkuShopCartInfoVo.getSkuId()); Integer buyCount = goblinRedisUtils.getSkuCountByUid(userId, goblinGoodsSkuShopCartInfoVo.getSkuId());
//查看限购数量 //查看限购数量
if(null==buyCount){buyCount=0;} if (null == buyCount) {
if(null!=goblinGoodsSkuShopCartInfoVo.getBuyLimit()&&goblinGoodsSkuShopCartInfoVo.getBuyLimit()>0){ buyCount = 0;
goblinGoodsSkuShopCartInfoVo.setCanBuy(goblinGoodsSkuShopCartInfoVo.getBuyLimit()-buyCount); }
}else{ if (null != goblinGoodsSkuShopCartInfoVo.getBuyLimit() && goblinGoodsSkuShopCartInfoVo.getBuyLimit() > 0) {
goblinGoodsSkuShopCartInfoVo.setCanBuy(goblinGoodsSkuShopCartInfoVo.getBuyLimit() - buyCount);
} else {
goblinGoodsSkuShopCartInfoVo.setCanBuy(-9999); goblinGoodsSkuShopCartInfoVo.setCanBuy(-9999);
} }
} }
return goblinGoodsSkuShopCartInfoVo; return goblinGoodsSkuShopCartInfoVo;
} }
/** /**
* @author zhangfuxin * @author zhangfuxin
* @Description: 获得购物车列表 * @Description: 获得购物车列表
* @date 2022/1/12 下午2:36 * @date 2022/1/12 下午2:36
*/ */
public GoblinShoppingCartVoo getShoppCart(String userId,String type){ public GoblinShoppingCartVoo getShoppCart(String userId, String type) {
//判断该用户 redis里是否有购物车 //判断该用户 redis里是否有购物车
GoblinShoppingCartVoo goblinShoppingCartVoo= (GoblinShoppingCartVoo) redisUtil.get(GoblinRedisConst.FRONT_SHOPCART.concat(userId).concat(type.toString())); GoblinShoppingCartVoo goblinShoppingCartVoo = (GoblinShoppingCartVoo) redisUtil.get(GoblinRedisConst.FRONT_SHOPCART.concat(userId).concat(type.toString()));
if(null==goblinShoppingCartVoo){ if (null == goblinShoppingCartVoo) {
return null; return null;
} }
//遍历里面信息 //遍历里面信息
for(GoblinShoppingCartVo goblinShoppingCartVo:goblinShoppingCartVoo.getShopList()){ for (GoblinShoppingCartVo goblinShoppingCartVo : goblinShoppingCartVoo.getShopList()) {
if(null!=goblinRedisUtils.getStoreInfoVo(goblinShoppingCartVo.getStoreId())){ if (null != goblinRedisUtils.getStoreInfoVo(goblinShoppingCartVo.getStoreId())) {
goblinShoppingCartVo.setStoreName(goblinRedisUtils.getStoreInfoVo(goblinShoppingCartVo.getStoreId()).getStoreName()); goblinShoppingCartVo.setStoreName(goblinRedisUtils.getStoreInfoVo(goblinShoppingCartVo.getStoreId()).getStoreName());
} }
for(GoblinShoppingCartVoDetail goblinShoppingCartVoDetail:goblinShoppingCartVo.getSkuList()){ for (GoblinShoppingCartVoDetail goblinShoppingCartVoDetail : goblinShoppingCartVo.getSkuList()) {
//找到对应的 spu //找到对应的 spu
GoblinGoodsInfoVo goblinGoodsInfoVo=getGoodsInfoVo(goblinShoppingCartVoDetail); GoblinGoodsInfoVo goblinGoodsInfoVo = getGoodsInfoVo(goblinShoppingCartVoDetail);
// 找到对应 sku // 找到对应 sku
GoblinGoodsSkuInfoVo goblinGoodsSkuInfoVo=getGoblinGoodsSkuInfoVo(goblinShoppingCartVoDetail); GoblinGoodsSkuInfoVo goblinGoodsSkuInfoVo = getGoblinGoodsSkuInfoVo(goblinShoppingCartVoDetail);
//spu copy //spu copy
GoblinGoodsInfoShopCartVo goblinGoodsInfoShopCartVo=copySpuVo(goblinGoodsInfoVo); GoblinGoodsInfoShopCartVo goblinGoodsInfoShopCartVo = copySpuVo(goblinGoodsInfoVo);
//sku copy //sku copy
GoblinGoodsSkuShopCartInfoVo goblinGoodsSkuShopCartInfoVo= copySkuVo(goblinGoodsSkuInfoVo,userId); GoblinGoodsSkuShopCartInfoVo goblinGoodsSkuShopCartInfoVo = copySkuVo(goblinGoodsSkuInfoVo, userId);
goblinShoppingCartVoDetail.setGoblinGoodsInfoVo(goblinGoodsInfoShopCartVo); goblinShoppingCartVoDetail.setGoblinGoodsInfoVo(goblinGoodsInfoShopCartVo);
goblinShoppingCartVoDetail.setGoblinGoodsSkuInfoVo(goblinGoodsSkuShopCartInfoVo); goblinShoppingCartVoDetail.setGoblinGoodsSkuInfoVo(goblinGoodsSkuShopCartInfoVo);
} }
} }
goblinShoppingCartVoo.setShoopingCount(this.getShopCartCount(userId,type)); goblinShoppingCartVoo.setShoopingCount(this.getShopCartCount(userId, type));
return goblinShoppingCartVoo; return goblinShoppingCartVoo;
} }
public GoblinShoppingCartVoDetail setValue(String userId,String storeId,String spuId,String skuId,Integer number){
GoblinShoppingCartVoDetail goblinShoppingCartVoDetail=GoblinShoppingCartVoDetail.getNew(); public GoblinShoppingCartVoDetail setValue(String userId, String storeId, String spuId, String skuId, Integer number) {
GoblinShoppingCartVoDetail goblinShoppingCartVoDetail = GoblinShoppingCartVoDetail.getNew();
goblinShoppingCartVoDetail.setCarId(IDGenerator.nextSnowId()); goblinShoppingCartVoDetail.setCarId(IDGenerator.nextSnowId());
goblinShoppingCartVoDetail.setUserId(userId); goblinShoppingCartVoDetail.setUserId(userId);
goblinShoppingCartVoDetail.setStoreId(storeId); goblinShoppingCartVoDetail.setStoreId(storeId);
...@@ -1293,26 +1330,28 @@ public class GoblinFrontServiceImpl implements GoblinFrontService { ...@@ -1293,26 +1330,28 @@ public class GoblinFrontServiceImpl implements GoblinFrontService {
goblinShoppingCartVoDetail.setUpdatedAt(LocalDateTime.now()); goblinShoppingCartVoDetail.setUpdatedAt(LocalDateTime.now());
return goblinShoppingCartVoDetail; return goblinShoppingCartVoDetail;
} }
public void saveRedisMongodbMysqlShop(GoblinShoppingCartVoo goblinShoppingCartVoo,String userId,String type){
public void saveRedisMongodbMysqlShop(GoblinShoppingCartVoo goblinShoppingCartVoo, String userId, String type) {
goblinShoppingCartVoo.setUserId(userId); goblinShoppingCartVoo.setUserId(userId);
//redis存储 //redis存储
redisUtil.set(GoblinRedisConst.FRONT_SHOPCART.concat(userId).concat(type.toString()),goblinShoppingCartVoo); redisUtil.set(GoblinRedisConst.FRONT_SHOPCART.concat(userId).concat(type.toString()), goblinShoppingCartVoo);
//mongodb存储 //mongodb存储
boolean exists2 =mongoTemplate.exists(Query.query(Criteria.where("goblinShoppingCartId").is(goblinShoppingCartVoo.getGoblinShoppingCartId())),GoblinShoppingCartVoo.class, GoblinShoppingCartVoo.class.getSimpleName()); boolean exists2 = mongoTemplate.exists(Query.query(Criteria.where("goblinShoppingCartId").is(goblinShoppingCartVoo.getGoblinShoppingCartId())), GoblinShoppingCartVoo.class, GoblinShoppingCartVoo.class.getSimpleName());
goblinShoppingCartVoo.setType(type); goblinShoppingCartVoo.setType(type);
if(exists2){ if (exists2) {
BasicDBObject orderObject = new BasicDBObject("$set", JSON.parse(JsonUtils.toJson(goblinShoppingCartVoo))); BasicDBObject orderObject = new BasicDBObject("$set", JSON.parse(JsonUtils.toJson(goblinShoppingCartVoo)));
mongoTemplate.getCollection(GoblinShoppingCartVoo.class.getSimpleName()).updateOne( mongoTemplate.getCollection(GoblinShoppingCartVoo.class.getSimpleName()).updateOne(
Query.query(Criteria.where("goblinShoppingCartId").is(goblinShoppingCartVoo.getGoblinShoppingCartId())).getQueryObject(), Query.query(Criteria.where("goblinShoppingCartId").is(goblinShoppingCartVoo.getGoblinShoppingCartId())).getQueryObject(),
orderObject orderObject
); );
}else{ } else {
mongoTemplate.save(goblinShoppingCartVoo,GoblinShoppingCartVoo.class.getSimpleName()); mongoTemplate.save(goblinShoppingCartVoo, GoblinShoppingCartVoo.class.getSimpleName());
} }
//mysql 消息队列 //mysql 消息队列
} }
//删除redis 删除mongodb //删除redis 删除mongodb
public void deleteRedisMongodbMysqlShop(GoblinShoppingCartVoo goblinShoppingCartVoo,String userId,String[] skuIds,String type){ public void deleteRedisMongodbMysqlShop(GoblinShoppingCartVoo goblinShoppingCartVoo, String userId, String[] skuIds, String type) {
//redis存储 //redis存储
redisUtil.del(GoblinRedisConst.FRONT_SHOPCART.concat(userId).concat(type.toString())); redisUtil.del(GoblinRedisConst.FRONT_SHOPCART.concat(userId).concat(type.toString()));
//mongodb 删除 //mongodb 删除
...@@ -1321,47 +1360,49 @@ public class GoblinFrontServiceImpl implements GoblinFrontService { ...@@ -1321,47 +1360,49 @@ public class GoblinFrontServiceImpl implements GoblinFrontService {
LinkedList<String> sqls = CollectionUtil.linkedListString(); LinkedList<String> sqls = CollectionUtil.linkedListString();
sqls.add(SqlMapping.get("goblin_shop.cart.delete")); sqls.add(SqlMapping.get("goblin_shop.cart.delete"));
LinkedList<Object[]> sqlData = CollectionUtil.linkedListObjectArr(); LinkedList<Object[]> sqlData = CollectionUtil.linkedListObjectArr();
for(String sku:skuIds){ for (String sku : skuIds) {
sqlData.add(new Object[]{ sqlData.add(new Object[]{
userId,sku,0 userId, sku, 0
}); });
} }
String sqlDatas = SqlMapping.gets(sqls, sqlData); String sqlDatas = SqlMapping.gets(sqls, sqlData);
log.debug("sql信息{}",sqlDatas); log.debug("sql信息{}", sqlDatas);
queueUtils.sendMsgByRedis(MQConst.GoblinQueue.GOBLIN_SHOP_CART.getKey(), sqlDatas); queueUtils.sendMsgByRedis(MQConst.GoblinQueue.GOBLIN_SHOP_CART.getKey(), sqlDatas);
} }
public void insertShopCartMysql(String carId ,String spuId, String storeId,String skuId,Integer number,String userId,String type){
public void insertShopCartMysql(String carId, String spuId, String storeId, String skuId, Integer number, String userId, String type) {
LinkedList<String> sqls = CollectionUtil.linkedListString(); LinkedList<String> sqls = CollectionUtil.linkedListString();
sqls.add(SqlMapping.get("goblin_shop.cart.insert")); sqls.add(SqlMapping.get("goblin_shop.cart.insert"));
LinkedList<Object[]> sqlData = CollectionUtil.linkedListObjectArr(); LinkedList<Object[]> sqlData = CollectionUtil.linkedListObjectArr();
sqlData.add(new Object[]{ sqlData.add(new Object[]{
//car_id, user_id, store_id,spu_id, sku_id, `number`,marketing_id, del_tag, `comment` //car_id, user_id, store_id,spu_id, sku_id, `number`,marketing_id, del_tag, `comment`
carId,userId,storeId,spuId,skuId,number,"",0,"",type carId, userId, storeId, spuId, skuId, number, "", 0, "", type
}); });
String sqlDatas = SqlMapping.gets(sqls, sqlData); String sqlDatas = SqlMapping.gets(sqls, sqlData);
queueUtils.sendMsgByRedis(MQConst.GoblinQueue.GOBLIN_SHOP_CART.getKey(), sqlDatas); queueUtils.sendMsgByRedis(MQConst.GoblinQueue.GOBLIN_SHOP_CART.getKey(), sqlDatas);
} }
public void updateShopCartMysql(String carId ,Integer number,String userId){
public void updateShopCartMysql(String carId, Integer number, String userId) {
LinkedList<String> sqls = CollectionUtil.linkedListString(); LinkedList<String> sqls = CollectionUtil.linkedListString();
sqls.add(SqlMapping.get("goblin_shop.cart.update")); sqls.add(SqlMapping.get("goblin_shop.cart.update"));
LinkedList<Object[]> sqlData = CollectionUtil.linkedListObjectArr(); LinkedList<Object[]> sqlData = CollectionUtil.linkedListObjectArr();
sqlData.add(new Object[]{ sqlData.add(new Object[]{
//update goblin_shopping_cart set `number` = ? where car_id=? and user_id=? //update goblin_shopping_cart set `number` = ? where car_id=? and user_id=?
number,carId,userId number, carId, userId
}); });
String sqlDatas = SqlMapping.gets(sqls, sqlData); String sqlDatas = SqlMapping.gets(sqls, sqlData);
queueUtils.sendMsgByRedis(MQConst.GoblinQueue.GOBLIN_SHOP_CART.getKey(), sqlDatas); queueUtils.sendMsgByRedis(MQConst.GoblinQueue.GOBLIN_SHOP_CART.getKey(), sqlDatas);
} }
//删除 //删除
public void deleteMysql(String userId,String[] skuIds){ public void deleteMysql(String userId, String[] skuIds) {
//mysql 删除 按照 userid 、skuid //mysql 删除 按照 userid 、skuid
LinkedList<String> sqls = CollectionUtil.linkedListString(); LinkedList<String> sqls = CollectionUtil.linkedListString();
sqls.add(SqlMapping.get("goblin_shop.cart.delete")); sqls.add(SqlMapping.get("goblin_shop.cart.delete"));
LinkedList<Object[]> sqlData = CollectionUtil.linkedListObjectArr(); LinkedList<Object[]> sqlData = CollectionUtil.linkedListObjectArr();
for(String sku:skuIds){ for (String sku : skuIds) {
sqlData.add(new Object[]{ sqlData.add(new Object[]{
1,userId,sku 1, userId, sku
}); });
} }
String sqlDatas = SqlMapping.gets(sqls, sqlData); String sqlDatas = SqlMapping.gets(sqls, sqlData);
......
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