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

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

普通商品新增款式 增加正在下单对应款式

parent 31a78144
package com.liquidnet.service.goblin.dto.manage;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import javax.validation.constraints.NotBlank;
import java.math.BigDecimal;
import java.util.List;
@ApiModel(value = "GoblinStorePurchaseItemParam")
@Data
public class GoblinStoreZhengzaiCommonSingleParam implements Cloneable {
@ApiModelProperty(required = true, value = "spuId", example = "1")
@NotBlank(message = "spuId不能空")
private String spuId;
@ApiModelProperty(required = true, value = "skuId", example = "1")
@NotBlank(message = "skuId不能为空")
private String skuId;
private static final GoblinStoreZhengzaiCommonSingleParam obj = new GoblinStoreZhengzaiCommonSingleParam();
public static GoblinStoreZhengzaiCommonSingleParam getNew() {
try {
return (GoblinStoreZhengzaiCommonSingleParam) obj.clone();
} catch (CloneNotSupportedException e) {
return new GoblinStoreZhengzaiCommonSingleParam();
}
}
}
...@@ -4,6 +4,7 @@ import com.github.pagehelper.PageInfo; ...@@ -4,6 +4,7 @@ import com.github.pagehelper.PageInfo;
import com.liquidnet.service.base.ResponseDto; import com.liquidnet.service.base.ResponseDto;
import com.liquidnet.service.goblin.dto.manage.GoblinStorePurchaseCommonParam; import com.liquidnet.service.goblin.dto.manage.GoblinStorePurchaseCommonParam;
import com.liquidnet.service.goblin.dto.manage.GoblinStoreZhengzaiCommonParam; import com.liquidnet.service.goblin.dto.manage.GoblinStoreZhengzaiCommonParam;
import com.liquidnet.service.goblin.dto.manage.GoblinStoreZhengzaiCommonSingleParam;
import com.liquidnet.service.goblin.dto.vo.GoblinMarketSpuListVo; import com.liquidnet.service.goblin.dto.vo.GoblinMarketSpuListVo;
import com.liquidnet.service.goblin.dto.vo.GoblinSelfMarketingVo; import com.liquidnet.service.goblin.dto.vo.GoblinSelfMarketingVo;
import com.liquidnet.service.goblin.dto.vo.GoblinSelfZhengzaiSkuVo; import com.liquidnet.service.goblin.dto.vo.GoblinSelfZhengzaiSkuVo;
...@@ -42,6 +43,14 @@ public interface IGoblinZhengzaiService { ...@@ -42,6 +43,14 @@ public interface IGoblinZhengzaiService {
*/ */
ResponseDto<Boolean> zhengzaiSkuInsert(GoblinStoreZhengzaiCommonParam params); ResponseDto<Boolean> zhengzaiSkuInsert(GoblinStoreZhengzaiCommonParam params);
/**
* 添加活动相关sku
*
* @param params
* @return
*/
ResponseDto<Boolean> zhengzaiSkuInsertSingle(GoblinStoreZhengzaiCommonSingleParam params);
/** /**
* 编辑活动相关sku * 编辑活动相关sku
* *
......
...@@ -19,6 +19,7 @@ import com.liquidnet.service.goblin.dto.manage.vo.GoblinStoreMgtGoodsInfoVo; ...@@ -19,6 +19,7 @@ import com.liquidnet.service.goblin.dto.manage.vo.GoblinStoreMgtGoodsInfoVo;
import com.liquidnet.service.goblin.dto.manage.vo.GoblinStoreMgtGoodsListVo; import com.liquidnet.service.goblin.dto.manage.vo.GoblinStoreMgtGoodsListVo;
import com.liquidnet.service.goblin.dto.vo.*; import com.liquidnet.service.goblin.dto.vo.*;
import com.liquidnet.service.goblin.service.manage.IGoblinStoreMgtExtraService; import com.liquidnet.service.goblin.service.manage.IGoblinStoreMgtExtraService;
import com.liquidnet.service.goblin.service.manage.IGoblinZhengzaiService;
import com.liquidnet.service.goblin.service.manage.IGoblinstoreMgtGoodsService; import com.liquidnet.service.goblin.service.manage.IGoblinstoreMgtGoodsService;
import com.liquidnet.service.goblin.util.GoblinMongoUtils; import com.liquidnet.service.goblin.util.GoblinMongoUtils;
import com.liquidnet.service.goblin.util.GoblinRedisUtils; import com.liquidnet.service.goblin.util.GoblinRedisUtils;
...@@ -62,6 +63,8 @@ public class GoblinStoreMgtGoodsController { ...@@ -62,6 +63,8 @@ public class GoblinStoreMgtGoodsController {
GoblinRedisUtils goblinRedisUtils; GoblinRedisUtils goblinRedisUtils;
@Autowired @Autowired
GoblinMongoUtils goblinMongoUtils; GoblinMongoUtils goblinMongoUtils;
@Autowired
IGoblinZhengzaiService goblinZhengzaiService;
@ApiOperationSupport(order = 1) @ApiOperationSupport(order = 1)
@ApiOperation(value = "SPU列表") @ApiOperation(value = "SPU列表")
...@@ -515,7 +518,8 @@ public class GoblinStoreMgtGoodsController { ...@@ -515,7 +518,8 @@ public class GoblinStoreMgtGoodsController {
String paramSkuSpecDtoSpecName = paramSkuSpecDto.getSpecName(); String paramSkuSpecDtoSpecName = paramSkuSpecDto.getSpecName();
String paramSkuSpecDtoSpecVname = paramSkuSpecDto.getSpecVname(); String paramSkuSpecDtoSpecVname = paramSkuSpecDto.getSpecVname();
if (!befSkuSpecNameSet.contains(paramSkuSpecDtoSpecName)) return ResponseDto.failure(ErrorMapping.get("149014")); if (!befSkuSpecNameSet.contains(paramSkuSpecDtoSpecName))
return ResponseDto.failure(ErrorMapping.get("149014"));
paramSkuSpecMap.put(paramSkuSpecDtoSpecName, paramSkuSpecDtoSpecVname); paramSkuSpecMap.put(paramSkuSpecDtoSpecName, paramSkuSpecDtoSpecVname);
if (!befSkuSpecNameVnameMap.get(paramSkuSpecDtoSpecName).equals(paramSkuSpecDtoSpecVname)) { if (!befSkuSpecNameVnameMap.get(paramSkuSpecDtoSpecName).equals(paramSkuSpecDtoSpecVname)) {
paramUpdateSkuSpecMap.put(paramSkuSpecDtoSpecName, paramSkuSpecDtoSpecVname); paramUpdateSkuSpecMap.put(paramSkuSpecDtoSpecName, paramSkuSpecDtoSpecVname);
...@@ -723,6 +727,11 @@ public class GoblinStoreMgtGoodsController { ...@@ -723,6 +727,11 @@ public class GoblinStoreMgtGoodsController {
log.debug("商品管理:商品编辑:SKU添加:[GoblinStoreMgtGoodsEditSkuParam={}]", JsonUtils.toJson(mgtGoodsEditSkuParam)); log.debug("商品管理:商品编辑:SKU添加:[GoblinStoreMgtGoodsEditSkuParam={}]", JsonUtils.toJson(mgtGoodsEditSkuParam));
} }
goblinstoreMgtGoodsService.goodsEditSkuAdd(currentUid, mgtGoodsEditSkuParam, goodsInfoVo); goblinstoreMgtGoodsService.goodsEditSkuAdd(currentUid, mgtGoodsEditSkuParam, goodsInfoVo);
//同步正在下单商品
GoblinStoreZhengzaiCommonSingleParam param = GoblinStoreZhengzaiCommonSingleParam.getNew();
param.setSkuId(mgtGoodsEditSkuParam.getSkuId());
param.setSpuId(mgtGoodsEditSkuParam.getSpuId());
goblinZhengzaiService.zhengzaiSkuInsertSingle(param);
return ResponseDto.success(); return ResponseDto.success();
} }
......
...@@ -10,6 +10,7 @@ import com.liquidnet.service.base.SqlMapping; ...@@ -10,6 +10,7 @@ import com.liquidnet.service.base.SqlMapping;
import com.liquidnet.service.base.constant.MQConst; import com.liquidnet.service.base.constant.MQConst;
import com.liquidnet.service.goblin.constant.GoblinStatusConst; import com.liquidnet.service.goblin.constant.GoblinStatusConst;
import com.liquidnet.service.goblin.dto.manage.GoblinStoreZhengzaiCommonParam; import com.liquidnet.service.goblin.dto.manage.GoblinStoreZhengzaiCommonParam;
import com.liquidnet.service.goblin.dto.manage.GoblinStoreZhengzaiCommonSingleParam;
import com.liquidnet.service.goblin.dto.manage.GoblinStoreZhengzaiItemParam; import com.liquidnet.service.goblin.dto.manage.GoblinStoreZhengzaiItemParam;
import com.liquidnet.service.goblin.dto.vo.*; import com.liquidnet.service.goblin.dto.vo.*;
import com.liquidnet.service.goblin.entity.GoblinMarketingZhengzai; import com.liquidnet.service.goblin.entity.GoblinMarketingZhengzai;
...@@ -116,7 +117,7 @@ public class GoblinZhengzaiServiceImpl implements IGoblinZhengzaiService { ...@@ -116,7 +117,7 @@ public class GoblinZhengzaiServiceImpl implements IGoblinZhengzaiService {
vo.setMarketSkuId(marketSkuId); vo.setMarketSkuId(marketSkuId);
vo.setSkuId(marketSkuId.split(GoblinStatusConst.MarketPreStatus.MARKET_PRE_ZHENGZAI.getValue())[0]); vo.setSkuId(marketSkuId.split(GoblinStatusConst.MarketPreStatus.MARKET_PRE_ZHENGZAI.getValue())[0]);
vo.setSkuSpecList(skuVo.getSkuSpecList()); vo.setSkuSpecList(skuVo.getSkuSpecList());
Integer restStock = redisUtils.getSkuStock("ZZ",marketSkuVo.getSkuId()); Integer restStock = redisUtils.getSkuStock("ZZ", marketSkuVo.getSkuId());
vo.setRestStock(restStock); vo.setRestStock(restStock);
vo.setPrice(skuVo.getPrice()); vo.setPrice(skuVo.getPrice());
vo.setStock(skuVo.getStock()); vo.setStock(skuVo.getStock());
...@@ -164,7 +165,7 @@ public class GoblinZhengzaiServiceImpl implements IGoblinZhengzaiService { ...@@ -164,7 +165,7 @@ public class GoblinZhengzaiServiceImpl implements IGoblinZhengzaiService {
if (item.getStockMarketing() > 0) { if (item.getStockMarketing() > 0) {
int restStock = redisUtils.decrSkuStock(null, item.getSkuId(), item.getStockMarketing()); int restStock = redisUtils.decrSkuStock(null, item.getSkuId(), item.getStockMarketing());
if (restStock < 0) { if (restStock < 0) {
errorNameList.add(skuVo.getName()+"库存不足"); errorNameList.add(skuVo.getName() + "库存不足");
redisUtils.incrSkuStock(null, item.getSkuId(), item.getStockMarketing()); redisUtils.incrSkuStock(null, item.getSkuId(), item.getStockMarketing());
item.setStockMarketing(0); item.setStockMarketing(0);
// continue; // continue;
...@@ -244,6 +245,31 @@ public class GoblinZhengzaiServiceImpl implements IGoblinZhengzaiService { ...@@ -244,6 +245,31 @@ public class GoblinZhengzaiServiceImpl implements IGoblinZhengzaiService {
return ResponseDto.success(); return ResponseDto.success();
} }
@Override
public ResponseDto<Boolean> zhengzaiSkuInsertSingle(GoblinStoreZhengzaiCommonSingleParam params) {
List<String> marketIdList = mongoUtils.getMarketIdListBySpuId(params.getSpuId());
for (String marketId : marketIdList) {
String marketSpuId = params.getSpuId().concat(GoblinStatusConst.MarketPreStatus.MARKET_PRE_ZHENGZAI.getValue()).concat(IDGenerator.marketGoodId(marketId));
//mongo
GoblinGoodsSkuInfoVo skuVo = redisUtils.getGoodsSkuInfoVo(params.getSkuId());
String marketSkuId = params.getSkuId().concat(GoblinStatusConst.MarketPreStatus.MARKET_PRE_ZHENGZAI.getValue()).concat(IDGenerator.marketGoodId(marketId));
skuVo.setSpuId(marketSpuId);
skuVo.setSkuId(marketSkuId);
skuVo.setSkuStock(0);
skuVo.setBuyRoster("");
skuVo.setBuyFactor("0");
skuVo.setDelFlg("0");
skuVo.setMarketId(GoblinStatusConst.MarketPreStatus.MARKET_PRE_ZHENGZAI.getValue().concat(marketId));
skuVo.setCreatedAt(LocalDateTime.now());
mongoUtils.upsertGoodsSkuInfoVo(skuVo);
//redis
redisUtils.setGoodsSkuInfoVo(skuVo);
redisUtils.setSkuStock(GoblinStatusConst.MarketPreStatus.MARKET_PRE_ZHENGZAI.getValue(), marketSkuId, 0);
redisUtils.addSkuRe(params.getSkuId(), marketSkuId);
}
return ResponseDto.success();
}
@Override @Override
public ResponseDto<Boolean> zhengzaiSkuUpdate(GoblinStoreZhengzaiCommonParam params) { public ResponseDto<Boolean> zhengzaiSkuUpdate(GoblinStoreZhengzaiCommonParam params) {
LocalDateTime now = LocalDateTime.now(); LocalDateTime now = LocalDateTime.now();
...@@ -282,13 +308,13 @@ public class GoblinZhengzaiServiceImpl implements IGoblinZhengzaiService { ...@@ -282,13 +308,13 @@ public class GoblinZhengzaiServiceImpl implements IGoblinZhengzaiService {
sStock = redisUtils.incrSkuStock(null, item.getSkuId(), -changeStock); sStock = redisUtils.incrSkuStock(null, item.getSkuId(), -changeStock);
} }
if (mStock < 0) { if (mStock < 0) {
errorNameList.add(skuVo.getName()+"库存不足"); errorNameList.add(skuVo.getName() + "库存不足");
redisUtils.incrSkuStock(GoblinStatusConst.MarketPreStatus.MARKET_PRE_ZHENGZAI.getValue(), skuVo.getSkuId(), -changeStock); redisUtils.incrSkuStock(GoblinStatusConst.MarketPreStatus.MARKET_PRE_ZHENGZAI.getValue(), skuVo.getSkuId(), -changeStock);
redisUtils.decrSkuStock(null, item.getSkuId(), -changeStock); redisUtils.decrSkuStock(null, item.getSkuId(), -changeStock);
continue; continue;
} }
if (sStock < 0) { if (sStock < 0) {
errorNameList.add(skuVo.getName()+"库存不足"); errorNameList.add(skuVo.getName() + "库存不足");
redisUtils.incrSkuStock(null, item.getSkuId(), changeStock); redisUtils.incrSkuStock(null, item.getSkuId(), changeStock);
redisUtils.decrSkuStock(GoblinStatusConst.MarketPreStatus.MARKET_PRE_ZHENGZAI.getValue(), skuVo.getSkuId(), changeStock); redisUtils.decrSkuStock(GoblinStatusConst.MarketPreStatus.MARKET_PRE_ZHENGZAI.getValue(), skuVo.getSkuId(), changeStock);
continue; continue;
......
...@@ -1228,6 +1228,13 @@ public class GoblinMongoUtils { ...@@ -1228,6 +1228,13 @@ public class GoblinMongoUtils {
return refundPrice; return refundPrice;
} }
//根据spuId查询活动id
public List<String> getMarketIdListBySpuId(String spuId) {
Query query = Query.query(Criteria.where("marketId").ne(null).regex(spuId.concat(GoblinStatusConst.MarketPreStatus.MARKET_PRE_ZHENGZAI.getValue()).concat(".*")));
query.fields().include("marketId");
return mongoTemplate.find(query, GoblinGoodsInfoVo.class, GoblinGoodsInfoVo.class.getSimpleName()).stream().map(GoblinGoodsInfoVo::getMarketId).collect(Collectors.toList());
}
; ;
/* ---------------------------------------- 商城:用户优惠券 ---------------------------------------- */ /* ---------------------------------------- 商城:用户优惠券 ---------------------------------------- */
......
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