下单增加起售校验
This commit is contained in:
@@ -113,17 +113,27 @@ public class OrderService {
|
|||||||
return Result.fail(CodeEnum.PRODUCTSKUERROR);
|
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.getIsStock().toString())){
|
||||||
if ("1".equals(product.getIsDistribute().toString())) {
|
if ("1".equals(product.getIsDistribute().toString())) {
|
||||||
if((message == null && product.getStockNumber()-number<0) ||
|
if(product.getStockNumber()-number<0){
|
||||||
(product.getStockNumber()-number<0 && message != null && Integer.parseInt(message) < number)){
|
|
||||||
return Result.fail(CodeEnum.STOCKERROR);
|
return Result.fail(CodeEnum.STOCKERROR);
|
||||||
}
|
}
|
||||||
} else if (product.getId().intValue()==Integer.valueOf(skuWithBLOBs.getProductId()).intValue()){
|
} else if (product.getId().intValue()==Integer.valueOf(skuWithBLOBs.getProductId()).intValue()){
|
||||||
if((message == null && skuWithBLOBs.getStockNumber()-number<0) ||
|
if(skuWithBLOBs.getStockNumber()-number<0){
|
||||||
(skuWithBLOBs.getStockNumber()-number<0 && message != null && Integer.parseInt(message) < number)){
|
|
||||||
return Result.fail(CodeEnum.STOCKERROR);
|
return Result.fail(CodeEnum.STOCKERROR);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@@ -162,6 +172,7 @@ public class OrderService {
|
|||||||
cart.setTotalNumber(number);
|
cart.setTotalNumber(number);
|
||||||
cart.setUuid(uuid);
|
cart.setUuid(uuid);
|
||||||
cashierCartMapper.updateByPrimaryKeySelective(cart);
|
cashierCartMapper.updateByPrimaryKeySelective(cart);
|
||||||
|
|
||||||
} else {
|
} else {
|
||||||
List<TbCashierCart> list = cashierCartMapper.selectALlByMasterId(masterId, "create");
|
List<TbCashierCart> list = cashierCartMapper.selectALlByMasterId(masterId, "create");
|
||||||
TbCashierCart cashierCart = cashierCartMapper.selectByDetail(masterId, productId, shopId, skuId.toString(), DateUtils.getDay(), uuid);
|
TbCashierCart cashierCart = cashierCartMapper.selectByDetail(masterId, productId, shopId, skuId.toString(), DateUtils.getDay(), uuid);
|
||||||
@@ -223,8 +234,10 @@ public class OrderService {
|
|||||||
}
|
}
|
||||||
|
|
||||||
cart=cashierCart;
|
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);
|
// skuWithBLOBs.setStockNumber(skuWithBLOBs.getStockNumber()-number);
|
||||||
@@ -351,6 +364,13 @@ public class OrderService {
|
|||||||
// skuWithBLOBs.setUpdatedAt(System.currentTimeMillis());
|
// skuWithBLOBs.setUpdatedAt(System.currentTimeMillis());
|
||||||
// tbProductSkuMapper.updateByPrimaryKey(skuWithBLOBs);
|
// 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<>();
|
List<String> skuIds=new ArrayList<>();
|
||||||
skuIds.add(cashierCart.getSkuId());
|
skuIds.add(cashierCart.getSkuId());
|
||||||
@@ -504,13 +524,13 @@ public class OrderService {
|
|||||||
} else {
|
} else {
|
||||||
productService.decrStock(cashierCart.getProductId(), cashierCart.getSkuId(), cashierCart.getNumber() - lastNum);
|
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 {
|
}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());
|
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_MESSAGE="ORDER:MESSAGE:";
|
||||||
public static final String ORDER_PRODUCT_NUM = "ORDER_NUM:";
|
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="stock_number" jdbcType="DOUBLE" property="stockNumber" />
|
||||||
<result column="cover_img" jdbcType="VARCHAR" property="coverImg" />
|
<result column="cover_img" jdbcType="VARCHAR" property="coverImg" />
|
||||||
<result column="warn_line" jdbcType="INTEGER" property="warnLine" />
|
<result column="warn_line" jdbcType="INTEGER" property="warnLine" />
|
||||||
|
<result column="suit" jdbcType="INTEGER" property="suit" />
|
||||||
<result column="weight" jdbcType="DOUBLE" property="weight" />
|
<result column="weight" jdbcType="DOUBLE" property="weight" />
|
||||||
<result column="volume" jdbcType="REAL" property="volume" />
|
<result column="volume" jdbcType="REAL" property="volume" />
|
||||||
<result column="real_sales_number" jdbcType="DOUBLE" property="realSalesNumber" />
|
<result column="real_sales_number" jdbcType="DOUBLE" property="realSalesNumber" />
|
||||||
@@ -31,7 +32,7 @@
|
|||||||
<sql id="Base_Column_List">
|
<sql id="Base_Column_List">
|
||||||
id, shop_id, bar_code, product_id, origin_price, cost_price, member_price, meal_price,
|
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,
|
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>
|
||||||
<sql id="Blob_Column_List">
|
<sql id="Blob_Column_List">
|
||||||
spec_info, spec_snap
|
spec_info, spec_snap
|
||||||
|
|||||||
Reference in New Issue
Block a user