下单增加起售校验
This commit is contained in:
@@ -113,17 +113,27 @@ public class OrderService {
|
||||
return Result.fail(CodeEnum.PRODUCTSKUERROR);
|
||||
}
|
||||
|
||||
String message = redisUtil.getMessage(RedisCst.ORDER_PRODUCT_NUM + cartId);
|
||||
|
||||
|
||||
String exists = redisUtil.getMessage(RedisCst.ORDER_CART_EXISTS + cartId);
|
||||
|
||||
// 首次加入购物车,并且拥有起售数,设置为起售数
|
||||
if (exists == null && skuWithBLOBs.getSuit() != null && skuWithBLOBs.getSuit() != 0) {
|
||||
number = skuWithBLOBs.getSuit();
|
||||
// 低于起售,删除商品
|
||||
}else if (exists != null && skuWithBLOBs.getSuit() != null && skuWithBLOBs.getSuit() != 0 && number < skuWithBLOBs.getSuit()){
|
||||
redisUtil.deleteByKey(RedisCst.ORDER_CART_EXISTS + cartId);
|
||||
delCart(masterId, cartId);
|
||||
return Result.success(CodeEnum.SUCCESS, masterId);
|
||||
}
|
||||
|
||||
if("1".equals(product.getIsStock().toString())){
|
||||
if ("1".equals(product.getIsDistribute().toString())) {
|
||||
if((message == null && product.getStockNumber()-number<0) ||
|
||||
(product.getStockNumber()-number<0 && message != null && Integer.parseInt(message) < number)){
|
||||
if(product.getStockNumber()-number<0){
|
||||
return Result.fail(CodeEnum.STOCKERROR);
|
||||
}
|
||||
} else if (product.getId().intValue()==Integer.valueOf(skuWithBLOBs.getProductId()).intValue()){
|
||||
if((message == null && skuWithBLOBs.getStockNumber()-number<0) ||
|
||||
(skuWithBLOBs.getStockNumber()-number<0 && message != null && Integer.parseInt(message) < number)){
|
||||
if(skuWithBLOBs.getStockNumber()-number<0){
|
||||
return Result.fail(CodeEnum.STOCKERROR);
|
||||
}
|
||||
}
|
||||
@@ -162,6 +172,7 @@ public class OrderService {
|
||||
cart.setTotalNumber(number);
|
||||
cart.setUuid(uuid);
|
||||
cashierCartMapper.updateByPrimaryKeySelective(cart);
|
||||
|
||||
} else {
|
||||
List<TbCashierCart> list = cashierCartMapper.selectALlByMasterId(masterId, "create");
|
||||
TbCashierCart cashierCart = cashierCartMapper.selectByDetail(masterId, productId, shopId, skuId.toString(), DateUtils.getDay(), uuid);
|
||||
@@ -223,8 +234,10 @@ public class OrderService {
|
||||
}
|
||||
|
||||
cart=cashierCart;
|
||||
redisUtil.saveMessage(RedisCst.ORDER_CART_EXISTS + cart.getId(), "1", 60 * 60 * 24);
|
||||
}
|
||||
|
||||
redisUtil.saveMessage(RedisCst.ORDER_CART_EXISTS + cart.getId(), "1", 60 * 60 * 24);
|
||||
|
||||
|
||||
// skuWithBLOBs.setStockNumber(skuWithBLOBs.getStockNumber()-number);
|
||||
@@ -351,6 +364,13 @@ public class OrderService {
|
||||
// skuWithBLOBs.setUpdatedAt(System.currentTimeMillis());
|
||||
// tbProductSkuMapper.updateByPrimaryKey(skuWithBLOBs);
|
||||
// }
|
||||
// 数量减少, 返还库存
|
||||
String message = redisUtil.getMessage(RedisCst.ORDER_PRODUCT_NUM + cashierCart.getId());
|
||||
redisUtil.deleteByKey(RedisCst.ORDER_PRODUCT_NUM + cashierCart.getId());
|
||||
|
||||
if (message != null) {
|
||||
productService.incrStock(cashierCart.getProductId(), cashierCart.getSkuId(), Integer.parseInt(message));
|
||||
}
|
||||
|
||||
List<String> skuIds=new ArrayList<>();
|
||||
skuIds.add(cashierCart.getSkuId());
|
||||
@@ -504,13 +524,13 @@ public class OrderService {
|
||||
} else {
|
||||
productService.decrStock(cashierCart.getProductId(), cashierCart.getSkuId(), cashierCart.getNumber() - lastNum);
|
||||
}
|
||||
redisUtil.saveMessage(RedisCst.ORDER_PRODUCT_NUM + cashierCart.getId(), cashierCart.getNumber().toString(), 24 * 60*60*1000);
|
||||
redisUtil.saveMessage(RedisCst.ORDER_PRODUCT_NUM + cashierCart.getId(), cashierCart.getNumber().toString(), 24 * 60*60);
|
||||
|
||||
}
|
||||
|
||||
// 首次添加的商品
|
||||
}else {
|
||||
redisUtil.saveMessage(RedisCst.ORDER_PRODUCT_NUM + cashierCart.getId(), cashierCart.getNumber().toString(), 24 * 60*60*1000);
|
||||
redisUtil.saveMessage(RedisCst.ORDER_PRODUCT_NUM + cashierCart.getId(), cashierCart.getNumber().toString(), 24 * 60*60);
|
||||
// 修改库存
|
||||
productService.decrStock(cashierCart.getProductId(), cashierCart.getSkuId(), cashierCart.getNumber());
|
||||
}
|
||||
|
||||
@@ -19,4 +19,5 @@ public class RedisCst {
|
||||
|
||||
public static final String ORDER_MESSAGE="ORDER:MESSAGE:";
|
||||
public static final String ORDER_PRODUCT_NUM = "ORDER_NUM:";
|
||||
public static final String ORDER_CART_EXISTS = "ORDER_CART_EXISTS:";
|
||||
}
|
||||
|
||||
@@ -16,6 +16,7 @@
|
||||
<result column="stock_number" jdbcType="DOUBLE" property="stockNumber" />
|
||||
<result column="cover_img" jdbcType="VARCHAR" property="coverImg" />
|
||||
<result column="warn_line" jdbcType="INTEGER" property="warnLine" />
|
||||
<result column="suit" jdbcType="INTEGER" property="suit" />
|
||||
<result column="weight" jdbcType="DOUBLE" property="weight" />
|
||||
<result column="volume" jdbcType="REAL" property="volume" />
|
||||
<result column="real_sales_number" jdbcType="DOUBLE" property="realSalesNumber" />
|
||||
@@ -31,7 +32,7 @@
|
||||
<sql id="Base_Column_List">
|
||||
id, shop_id, bar_code, product_id, origin_price, cost_price, member_price, meal_price,
|
||||
sale_price, guide_price, strategy_price, stock_number, cover_img, warn_line, weight,
|
||||
volume, real_sales_number, first_shared, second_shared, created_at, updated_at
|
||||
volume, real_sales_number, first_shared, second_shared, created_at, updated_at,suit
|
||||
</sql>
|
||||
<sql id="Blob_Column_List">
|
||||
spec_info, spec_snap
|
||||
|
||||
Reference in New Issue
Block a user