记得上下班打卡 | 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;
import com.liquidnet.service.base.ResponseDto;
import com.liquidnet.service.goblin.dto.manage.GoblinStorePurchaseCommonParam;
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.GoblinSelfMarketingVo;
import com.liquidnet.service.goblin.dto.vo.GoblinSelfZhengzaiSkuVo;
......@@ -42,6 +43,14 @@ public interface IGoblinZhengzaiService {
*/
ResponseDto<Boolean> zhengzaiSkuInsert(GoblinStoreZhengzaiCommonParam params);
/**
* 添加活动相关sku
*
* @param params
* @return
*/
ResponseDto<Boolean> zhengzaiSkuInsertSingle(GoblinStoreZhengzaiCommonSingleParam params);
/**
* 编辑活动相关sku
*
......
......@@ -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.vo.*;
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.util.GoblinMongoUtils;
import com.liquidnet.service.goblin.util.GoblinRedisUtils;
......@@ -62,6 +63,8 @@ public class GoblinStoreMgtGoodsController {
GoblinRedisUtils goblinRedisUtils;
@Autowired
GoblinMongoUtils goblinMongoUtils;
@Autowired
IGoblinZhengzaiService goblinZhengzaiService;
@ApiOperationSupport(order = 1)
@ApiOperation(value = "SPU列表")
......@@ -515,7 +518,8 @@ public class GoblinStoreMgtGoodsController {
String paramSkuSpecDtoSpecName = paramSkuSpecDto.getSpecName();
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);
if (!befSkuSpecNameVnameMap.get(paramSkuSpecDtoSpecName).equals(paramSkuSpecDtoSpecVname)) {
paramUpdateSkuSpecMap.put(paramSkuSpecDtoSpecName, paramSkuSpecDtoSpecVname);
......@@ -723,6 +727,11 @@ public class GoblinStoreMgtGoodsController {
log.debug("商品管理:商品编辑:SKU添加:[GoblinStoreMgtGoodsEditSkuParam={}]", JsonUtils.toJson(mgtGoodsEditSkuParam));
}
goblinstoreMgtGoodsService.goodsEditSkuAdd(currentUid, mgtGoodsEditSkuParam, goodsInfoVo);
//同步正在下单商品
GoblinStoreZhengzaiCommonSingleParam param = GoblinStoreZhengzaiCommonSingleParam.getNew();
param.setSkuId(mgtGoodsEditSkuParam.getSkuId());
param.setSpuId(mgtGoodsEditSkuParam.getSpuId());
goblinZhengzaiService.zhengzaiSkuInsertSingle(param);
return ResponseDto.success();
}
......
......@@ -10,6 +10,7 @@ import com.liquidnet.service.base.SqlMapping;
import com.liquidnet.service.base.constant.MQConst;
import com.liquidnet.service.goblin.constant.GoblinStatusConst;
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.vo.*;
import com.liquidnet.service.goblin.entity.GoblinMarketingZhengzai;
......@@ -116,7 +117,7 @@ public class GoblinZhengzaiServiceImpl implements IGoblinZhengzaiService {
vo.setMarketSkuId(marketSkuId);
vo.setSkuId(marketSkuId.split(GoblinStatusConst.MarketPreStatus.MARKET_PRE_ZHENGZAI.getValue())[0]);
vo.setSkuSpecList(skuVo.getSkuSpecList());
Integer restStock = redisUtils.getSkuStock("ZZ",marketSkuVo.getSkuId());
Integer restStock = redisUtils.getSkuStock("ZZ", marketSkuVo.getSkuId());
vo.setRestStock(restStock);
vo.setPrice(skuVo.getPrice());
vo.setStock(skuVo.getStock());
......@@ -164,7 +165,7 @@ public class GoblinZhengzaiServiceImpl implements IGoblinZhengzaiService {
if (item.getStockMarketing() > 0) {
int restStock = redisUtils.decrSkuStock(null, item.getSkuId(), item.getStockMarketing());
if (restStock < 0) {
errorNameList.add(skuVo.getName()+"库存不足");
errorNameList.add(skuVo.getName() + "库存不足");
redisUtils.incrSkuStock(null, item.getSkuId(), item.getStockMarketing());
item.setStockMarketing(0);
// continue;
......@@ -244,6 +245,31 @@ public class GoblinZhengzaiServiceImpl implements IGoblinZhengzaiService {
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
public ResponseDto<Boolean> zhengzaiSkuUpdate(GoblinStoreZhengzaiCommonParam params) {
LocalDateTime now = LocalDateTime.now();
......@@ -282,13 +308,13 @@ public class GoblinZhengzaiServiceImpl implements IGoblinZhengzaiService {
sStock = redisUtils.incrSkuStock(null, item.getSkuId(), -changeStock);
}
if (mStock < 0) {
errorNameList.add(skuVo.getName()+"库存不足");
errorNameList.add(skuVo.getName() + "库存不足");
redisUtils.incrSkuStock(GoblinStatusConst.MarketPreStatus.MARKET_PRE_ZHENGZAI.getValue(), skuVo.getSkuId(), -changeStock);
redisUtils.decrSkuStock(null, item.getSkuId(), -changeStock);
continue;
}
if (sStock < 0) {
errorNameList.add(skuVo.getName()+"库存不足");
errorNameList.add(skuVo.getName() + "库存不足");
redisUtils.incrSkuStock(null, item.getSkuId(), changeStock);
redisUtils.decrSkuStock(GoblinStatusConst.MarketPreStatus.MARKET_PRE_ZHENGZAI.getValue(), skuVo.getSkuId(), changeStock);
continue;
......
......@@ -1228,6 +1228,13 @@ public class GoblinMongoUtils {
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