bug--修复首页虚拟销量和相关产品枚举处理
This commit is contained in:
@ -18,6 +18,7 @@ import co.yixiang.api.YshopException;
|
||||
import co.yixiang.common.service.impl.BaseServiceImpl;
|
||||
import co.yixiang.common.utils.QueryHelpPlus;
|
||||
import co.yixiang.dozer.service.IGenerator;
|
||||
import co.yixiang.enums.ProductTypeEnum;
|
||||
import co.yixiang.enums.ShopCommonEnum;
|
||||
import co.yixiang.enums.SpecTypeEnum;
|
||||
import co.yixiang.exception.BadRequestException;
|
||||
@ -218,7 +219,7 @@ public class YxStoreCombinationServiceImpl extends BaseServiceImpl<YxStoreCombin
|
||||
//获取查看拼团产品人数
|
||||
combinationDTO.setCountPeopleBrowse(yxStoreVisitMapper.selectCount(new LambdaQueryWrapper<YxStoreVisit>()
|
||||
.eq(YxStoreVisit::getProductId,combinationDTO.getId())
|
||||
.eq(YxStoreVisit::getProductType,"combination")));
|
||||
.eq(YxStoreVisit::getProductType, ProductTypeEnum.COMBINATION.getValue())));
|
||||
}
|
||||
Map<String, Object> map = new LinkedHashMap<>(2);
|
||||
map.put("content",combinationDTOS);
|
||||
|
@ -16,13 +16,10 @@ import co.yixiang.common.utils.QueryHelpPlus;
|
||||
import co.yixiang.dozer.service.IGenerator;
|
||||
import co.yixiang.enums.CartTypeEnum;
|
||||
import co.yixiang.enums.OrderInfoEnum;
|
||||
import co.yixiang.enums.ProductTypeEnum;
|
||||
import co.yixiang.enums.ShopCommonEnum;
|
||||
import co.yixiang.modules.activity.domain.YxStoreBargain;
|
||||
import co.yixiang.modules.activity.domain.YxStoreCombination;
|
||||
import co.yixiang.modules.activity.domain.YxStoreSeckill;
|
||||
import co.yixiang.modules.activity.service.YxStoreBargainService;
|
||||
import co.yixiang.modules.activity.service.YxStoreCombinationService;
|
||||
import co.yixiang.modules.activity.service.YxStoreSeckillService;
|
||||
import co.yixiang.modules.activity.service.mapper.YxStoreBargainMapper;
|
||||
import co.yixiang.modules.activity.service.mapper.YxStoreCombinationMapper;
|
||||
import co.yixiang.modules.activity.service.mapper.YxStoreSeckillMapper;
|
||||
@ -32,8 +29,6 @@ import co.yixiang.modules.cart.service.dto.YxStoreCartDto;
|
||||
import co.yixiang.modules.cart.service.dto.YxStoreCartQueryCriteria;
|
||||
import co.yixiang.modules.cart.service.mapper.StoreCartMapper;
|
||||
import co.yixiang.modules.cart.vo.YxStoreCartQueryVo;
|
||||
import co.yixiang.modules.order.domain.YxStoreOrder;
|
||||
import co.yixiang.modules.order.service.YxStoreOrderService;
|
||||
import co.yixiang.modules.order.service.dto.CountDto;
|
||||
import co.yixiang.modules.product.domain.YxStoreProduct;
|
||||
import co.yixiang.modules.product.domain.YxStoreProductAttrValue;
|
||||
@ -81,20 +76,13 @@ public class YxStoreCartServiceImpl extends BaseServiceImpl<StoreCartMapper, YxS
|
||||
private YxStoreBargainMapper yxStoreBargainMapper;
|
||||
@Autowired
|
||||
private YxStoreCombinationMapper storeCombinationMapper;
|
||||
|
||||
@Autowired
|
||||
private YxStoreProductService productService;
|
||||
@Autowired
|
||||
private YxStoreProductAttrService productAttrService;
|
||||
@Autowired
|
||||
private YxStoreCombinationService storeCombinationService;
|
||||
@Autowired
|
||||
private YxStoreSeckillService storeSeckillService;
|
||||
@Autowired
|
||||
private YxStoreBargainService storeBargainService;
|
||||
@Autowired
|
||||
private YxStoreOrderService storeOrderService;
|
||||
@Autowired
|
||||
private YxUserService userService;
|
||||
|
||||
|
||||
@ -362,7 +350,7 @@ public class YxStoreCartServiceImpl extends BaseServiceImpl<StoreCartMapper, YxS
|
||||
throw new YshopException("该产品已下架或删除");
|
||||
}
|
||||
|
||||
int stock = productService.getProductStock(productId, productAttrUnique, "pink");
|
||||
int stock = productService.getProductStock(productId, productAttrUnique, ProductTypeEnum.PINK.getValue());
|
||||
if (stock < cartNum) {
|
||||
throw new YshopException(product.getStoreName() + "库存不足" + cartNum);
|
||||
}
|
||||
@ -376,7 +364,7 @@ public class YxStoreCartServiceImpl extends BaseServiceImpl<StoreCartMapper, YxS
|
||||
throw new YshopException("该产品已下架或删除");
|
||||
}
|
||||
|
||||
int stock = productService.getProductStock(productId, productAttrUnique, "seckill");
|
||||
int stock = productService.getProductStock(productId, productAttrUnique, ProductTypeEnum.SECKILL.getValue());
|
||||
if (stock < cartNum) {
|
||||
throw new YshopException(product.getStoreName() + "库存不足" + cartNum);
|
||||
}
|
||||
|
@ -28,6 +28,7 @@ import co.yixiang.enums.OrderInfoEnum;
|
||||
import co.yixiang.enums.OrderLogEnum;
|
||||
import co.yixiang.enums.OrderStatusEnum;
|
||||
import co.yixiang.enums.PayTypeEnum;
|
||||
import co.yixiang.enums.ProductTypeEnum;
|
||||
import co.yixiang.enums.ShippingTempEnum;
|
||||
import co.yixiang.enums.ShopCommonEnum;
|
||||
import co.yixiang.event.TemplateBean;
|
||||
@ -901,7 +902,7 @@ public class YxStoreOrderServiceImpl extends BaseServiceImpl<StoreOrderMapper, Y
|
||||
yxStoreOrderMapper.updateById(storeOrder);
|
||||
|
||||
//增加状态
|
||||
orderStatusService.create(order.getId(),"user_take_delivery","用户已收货");
|
||||
orderStatusService.create(order.getId(),OrderLogEnum.TAKE_ORDER_DELIVERY.getValue(),OrderLogEnum.TAKE_ORDER_DELIVERY.getDesc());
|
||||
|
||||
//奖励积分
|
||||
this.gainUserIntegral(order);
|
||||
@ -963,7 +964,7 @@ public class YxStoreOrderServiceImpl extends BaseServiceImpl<StoreOrderMapper, Y
|
||||
yxStoreOrderMapper.updateById(storeOrder);
|
||||
|
||||
//增加状态
|
||||
orderStatusService.create(order.getId(),"user_take_delivery","已核销");
|
||||
orderStatusService.create(order.getId(),OrderLogEnum.TAKE_ORDER_DELIVERY.getValue(),"已核销");
|
||||
|
||||
//奖励积分
|
||||
this.gainUserIntegral(orderQueryVo);
|
||||
@ -1584,10 +1585,10 @@ public class YxStoreOrderServiceImpl extends BaseServiceImpl<StoreOrderMapper, Y
|
||||
Long bargainId = storeCartVO.getBargainId();
|
||||
if(combinationId != null && combinationId > 0){
|
||||
productService.decProductStock(storeCartVO.getCartNum(),storeCartVO.getProductId(),
|
||||
storeCartVO.getProductAttrUnique(),combinationId,"combination");
|
||||
storeCartVO.getProductAttrUnique(),combinationId,ProductTypeEnum.COMBINATION.getValue());
|
||||
}else if(seckillId != null && seckillId > 0){
|
||||
productService.decProductStock(storeCartVO.getCartNum(),storeCartVO.getProductId(),
|
||||
storeCartVO.getProductAttrUnique(),seckillId,"seckill");
|
||||
storeCartVO.getProductAttrUnique(),seckillId, ProductTypeEnum.SECKILL.getValue());
|
||||
}else if(bargainId != null && bargainId > 0){
|
||||
storeBargainService.decStockIncSales(storeCartVO.getCartNum(),bargainId);
|
||||
} else {
|
||||
@ -1679,9 +1680,9 @@ public class YxStoreOrderServiceImpl extends BaseServiceImpl<StoreOrderMapper, Y
|
||||
YxStoreCartQueryVo cart = JSONObject.parseObject(cartInfo.getCartInfo()
|
||||
,YxStoreCartQueryVo.class);
|
||||
if(order.getCombinationId() != null && order.getCombinationId() > 0){//拼团
|
||||
productService.incProductStock(cart.getCartNum(),cart.getProductId(),cart.getProductAttrUnique(),order.getCombinationId(),"combination");
|
||||
productService.incProductStock(cart.getCartNum(),cart.getProductId(),cart.getProductAttrUnique(),order.getCombinationId(),ProductTypeEnum.COMBINATION.getValue());
|
||||
}else if(order.getSeckillId() != null && order.getSeckillId() > 0){//秒杀
|
||||
productService.incProductStock(cart.getCartNum(),cart.getProductId(),cart.getProductAttrUnique(),order.getSeckillId(),"seckill");
|
||||
productService.incProductStock(cart.getCartNum(),cart.getProductId(),cart.getProductAttrUnique(),order.getSeckillId(),ProductTypeEnum.SECKILL.getValue());
|
||||
}else if(order.getBargainId() != null && order.getBargainId() > 0){//砍价
|
||||
storeBargainService.incStockDecSales(cart.getCartNum(),order.getBargainId());
|
||||
}else{
|
||||
|
@ -16,6 +16,7 @@ import co.yixiang.api.BusinessException;
|
||||
import co.yixiang.api.YshopException;
|
||||
import co.yixiang.common.service.impl.BaseServiceImpl;
|
||||
import co.yixiang.dozer.service.IGenerator;
|
||||
import co.yixiang.enums.ProductTypeEnum;
|
||||
import co.yixiang.exception.BadRequestException;
|
||||
import co.yixiang.modules.product.domain.YxStoreProductAttr;
|
||||
import co.yixiang.modules.product.domain.YxStoreProductAttrValue;
|
||||
@ -165,9 +166,9 @@ public class YxStoreProductAttrServiceImpl extends BaseServiceImpl<StoreProductA
|
||||
@Override
|
||||
public void incProductAttrStock(Integer num, Long productId, String unique, String type ) {
|
||||
|
||||
if("combination".equals(type)){
|
||||
if(ProductTypeEnum.COMBINATION.getValue().equals(type)){
|
||||
yxStoreProductAttrValueMapper.incCombinationStockDecSales(num,productId,unique);
|
||||
}else if("seckill".equals(type)){
|
||||
}else if(ProductTypeEnum.SECKILL.getValue().equals(type)){
|
||||
yxStoreProductAttrValueMapper.incSeckillStockDecSales(num,productId,unique);
|
||||
}else {
|
||||
yxStoreProductAttrValueMapper.incStockDecSales(num,productId,unique);
|
||||
@ -183,9 +184,9 @@ public class YxStoreProductAttrServiceImpl extends BaseServiceImpl<StoreProductA
|
||||
@Override
|
||||
public void decProductAttrStock(int num, Long productId, String unique,String type) {
|
||||
int res = 0;
|
||||
if("combination".equals(type)){
|
||||
if(ProductTypeEnum.COMBINATION.getValue().equals(type)){
|
||||
res = yxStoreProductAttrValueMapper.decCombinationStockIncSales(num,productId,unique);
|
||||
}else if("seckill".equals(type)){
|
||||
}else if(ProductTypeEnum.SECKILL.getValue().equals(type)){
|
||||
res = yxStoreProductAttrValueMapper.decSeckillStockIncSales(num,productId,unique);
|
||||
}else {
|
||||
res = yxStoreProductAttrValueMapper.decStockIncSales(num,productId,unique);
|
||||
|
@ -21,6 +21,7 @@ import co.yixiang.constant.ShopConstants;
|
||||
import co.yixiang.dozer.service.IGenerator;
|
||||
import co.yixiang.enums.CommonEnum;
|
||||
import co.yixiang.enums.ProductEnum;
|
||||
import co.yixiang.enums.ProductTypeEnum;
|
||||
import co.yixiang.enums.ShopCommonEnum;
|
||||
import co.yixiang.enums.SortEnum;
|
||||
import co.yixiang.enums.SpecTypeEnum;
|
||||
@ -127,9 +128,9 @@ public class YxStoreProductServiceImpl extends BaseServiceImpl<StoreProductMappe
|
||||
//先处理商品库存,活动商品也要处理,因为共享库存
|
||||
storeProductMapper.incStockDecSales(num, productId);
|
||||
//处理商品外层显示的库存
|
||||
if ("combination".equals(type)) {
|
||||
if (ProductTypeEnum.COMBINATION.getValue().equals(type)) {
|
||||
storeProductMapper.incCombinationStockIncSales(num, productId, activityId);
|
||||
} else if ("seckill".equals(type)) {
|
||||
} else if (ProductTypeEnum.SECKILL.getValue().equals(type)) {
|
||||
storeProductMapper.incSeckillStockIncSales(num, productId, activityId);
|
||||
}
|
||||
//todo 处理砍价商品库存
|
||||
@ -154,12 +155,12 @@ public class YxStoreProductServiceImpl extends BaseServiceImpl<StoreProductMappe
|
||||
throw new YshopException("共享商品库存不足");
|
||||
}
|
||||
//处理商品外层显示的库存
|
||||
if ("combination".equals(type)) {
|
||||
if (ProductTypeEnum.COMBINATION.getValue().equals(type)) {
|
||||
int combinationRes = storeProductMapper.decCombinationStockIncSales(num, productId, activityId);
|
||||
if (combinationRes == 0) {
|
||||
throw new YshopException("拼团商品库存不足");
|
||||
}
|
||||
} else if ("seckill".equals(type)) {
|
||||
} else if (ProductTypeEnum.SECKILL.getValue().equals(type)) {
|
||||
int seckillRes = storeProductMapper.decSeckillStockIncSales(num, productId, activityId);
|
||||
if (seckillRes == 0) {
|
||||
throw new YshopException("秒杀商品库存不足");
|
||||
@ -212,9 +213,9 @@ public class YxStoreProductServiceImpl extends BaseServiceImpl<StoreProductMappe
|
||||
if (storeProductAttrValue == null) {
|
||||
return 0;
|
||||
}
|
||||
if ("pink".equals(type)) {
|
||||
if (ProductTypeEnum.PINK.getValue().equals(type)) {
|
||||
return storeProductAttrValue.getPinkStock();
|
||||
} else if ("seckill".equals(type)) {
|
||||
} else if (ProductTypeEnum.SECKILL.getValue().equals(type)) {
|
||||
return storeProductAttrValue.getSeckillStock();
|
||||
}
|
||||
return storeProductAttrValue.getStock();
|
||||
@ -408,27 +409,36 @@ public class YxStoreProductServiceImpl extends BaseServiceImpl<StoreProductMappe
|
||||
|
||||
// order
|
||||
switch (ProductEnum.toType(order)) {
|
||||
//精品推荐
|
||||
case TYPE_1:
|
||||
wrapper.eq(YxStoreProduct::getIsBest,
|
||||
ShopCommonEnum.IS_STATUS_1.getValue()); //精品推荐
|
||||
ShopCommonEnum.IS_STATUS_1.getValue());
|
||||
break;
|
||||
//首发新品
|
||||
case TYPE_3:
|
||||
wrapper.eq(YxStoreProduct::getIsNew,
|
||||
ShopCommonEnum.IS_STATUS_1.getValue());//// 首发新品
|
||||
ShopCommonEnum.IS_STATUS_1.getValue());
|
||||
break;
|
||||
// 猜你喜欢
|
||||
case TYPE_4:
|
||||
wrapper.eq(YxStoreProduct::getIsBenefit,
|
||||
ShopCommonEnum.IS_STATUS_1.getValue()); //// 猜你喜欢
|
||||
ShopCommonEnum.IS_STATUS_1.getValue());
|
||||
break;
|
||||
// 热门榜单
|
||||
case TYPE_2:
|
||||
wrapper.eq(YxStoreProduct::getIsHot,
|
||||
ShopCommonEnum.IS_STATUS_1.getValue());//// 热门榜单
|
||||
ShopCommonEnum.IS_STATUS_1.getValue());
|
||||
break;
|
||||
}
|
||||
Page<YxStoreProduct> pageModel = new Page<>(page, limit);
|
||||
|
||||
IPage<YxStoreProduct> pageList = storeProductMapper.selectPage(pageModel, wrapper);
|
||||
|
||||
//处理虚拟销量
|
||||
for (YxStoreProduct vo: pageList.getRecords()) {
|
||||
vo.setSales(vo.getSales()+vo.getFicti());
|
||||
}
|
||||
|
||||
|
||||
return generator.convert(pageList.getRecords(), YxStoreProductQueryVo.class);
|
||||
}
|
||||
|
Reference in New Issue
Block a user