Merge remote-tracking branch 'origin/dev' into hph
This commit is contained in:
commit
33a9b969d0
|
|
@ -1 +1,11 @@
|
|||
/target/
|
||||
### IDEA ###
|
||||
/target/**/*
|
||||
/log/*
|
||||
.idea/*
|
||||
*.iml
|
||||
*/target/*
|
||||
*/*.iml
|
||||
/.gradle/
|
||||
/application.pid
|
||||
/target/*
|
||||
**.jar
|
||||
|
|
@ -46,6 +46,9 @@ public interface TbProductMapper {
|
|||
@Update("update tb_product set stock_number=stock_number+#{num} WHERE id=#{id}")
|
||||
int incrStock(String id, int num);
|
||||
|
||||
@Update("update tb_product set stock_number=stock_number-#{num} WHERE id=#{id} and stock_number-#{num} > 0")
|
||||
@Update("update tb_product set stock_number=stock_number-#{num} WHERE id=#{id} and stock_number-#{num} >= 0")
|
||||
int decrStock(String id, int num);
|
||||
|
||||
@Update("update tb_product set stock_number=stock_number-#{num} WHERE id=#{id}")
|
||||
int decrStockUnCheck(String id, int num);
|
||||
}
|
||||
|
|
|
|||
|
|
@ -44,6 +44,9 @@ public interface TbProductSkuMapper {
|
|||
@Update("update tb_product_sku set stock_number=stock_number+#{num} WHERE id=#{id}")
|
||||
int incrStock(String skuId, int addNum);
|
||||
|
||||
@Update("update tb_product set stock_number=stock_number-#{num} WHERE id=#{id} and stock_number-#{num} > 0")
|
||||
@Update("update tb_product_sku set stock_number=stock_number-#{num} WHERE id=#{id} and stock_number-#{num} >= 0")
|
||||
int decrStock(String id, int num);
|
||||
|
||||
@Update("update tb_product_sku set stock_number=stock_number-#{num} WHERE id=#{id} ")
|
||||
int decrStockUnCheck(String id, int num);
|
||||
}
|
||||
|
|
|
|||
|
|
@ -113,14 +113,17 @@ public class OrderService {
|
|||
return Result.fail(CodeEnum.PRODUCTSKUERROR);
|
||||
}
|
||||
|
||||
String message = redisUtil.getMessage(RedisCst.ORDER_PRODUCT_NUM + cartId);
|
||||
|
||||
if("1".equals(product.getIsStock().toString())){
|
||||
if ("1".equals(product.getIsDistribute().toString())) {
|
||||
if(product.getStockNumber()-number<0){
|
||||
if((message == null && product.getStockNumber()-number<0) ||
|
||||
(product.getStockNumber()-number<0 && message != null && Integer.parseInt(message) < number)){
|
||||
return Result.fail(CodeEnum.STOCKERROR);
|
||||
}
|
||||
} else if (product.getId().intValue()==Integer.valueOf(skuWithBLOBs.getProductId()).intValue()){
|
||||
if(skuWithBLOBs.getStockNumber()-number<0){
|
||||
if((message == null && skuWithBLOBs.getStockNumber()-number<0) ||
|
||||
(skuWithBLOBs.getStockNumber()-number<0 && message != null && Integer.parseInt(message) < number)){
|
||||
return Result.fail(CodeEnum.STOCKERROR);
|
||||
}
|
||||
}
|
||||
|
|
@ -223,7 +226,8 @@ public class OrderService {
|
|||
}
|
||||
|
||||
|
||||
skuWithBLOBs.setStockNumber(skuWithBLOBs.getStockNumber()-number);
|
||||
|
||||
// skuWithBLOBs.setStockNumber(skuWithBLOBs.getStockNumber()-number);
|
||||
skuWithBLOBs.setUpdatedAt(System.currentTimeMillis());
|
||||
tbProductSkuMapper.updateByPrimaryKey(skuWithBLOBs);
|
||||
|
||||
|
|
@ -338,15 +342,15 @@ public class OrderService {
|
|||
if(ObjectUtil.isEmpty(product)){
|
||||
return Result.fail(CodeEnum.PRODUCTINFOERROR);
|
||||
}
|
||||
if("1".equals(product.getIsStock().toString())){
|
||||
TbProductSkuWithBLOBs skuWithBLOBs= tbProductSkuMapper.selectByPrimaryKey(Integer.valueOf(cashierCart.getSkuId()));
|
||||
if(ObjectUtil.isEmpty(skuWithBLOBs)){
|
||||
return Result.fail(CodeEnum.PRODUCTSKUERROR);
|
||||
}
|
||||
skuWithBLOBs.setStockNumber(skuWithBLOBs.getStockNumber()+cashierCart.getTotalNumber());
|
||||
skuWithBLOBs.setUpdatedAt(System.currentTimeMillis());
|
||||
tbProductSkuMapper.updateByPrimaryKey(skuWithBLOBs);
|
||||
}
|
||||
// if("1".equals(product.getIsStock().toString())){
|
||||
// TbProductSkuWithBLOBs skuWithBLOBs= tbProductSkuMapper.selectByPrimaryKey(Integer.valueOf(cashierCart.getSkuId()));
|
||||
// if(ObjectUtil.isEmpty(skuWithBLOBs)){
|
||||
// return Result.fail(CodeEnum.PRODUCTSKUERROR);
|
||||
// }
|
||||
// skuWithBLOBs.setStockNumber(skuWithBLOBs.getStockNumber()+cashierCart.getTotalNumber());
|
||||
// skuWithBLOBs.setUpdatedAt(System.currentTimeMillis());
|
||||
// tbProductSkuMapper.updateByPrimaryKey(skuWithBLOBs);
|
||||
// }
|
||||
|
||||
List<String> skuIds=new ArrayList<>();
|
||||
skuIds.add(cashierCart.getSkuId());
|
||||
|
|
@ -789,6 +793,12 @@ public class OrderService {
|
|||
List<ProductSkuPo> productSkuPos=new ArrayList<>();
|
||||
List<String> skuIds=new ArrayList<>();
|
||||
for (TbCashierCart cashierCart : list) {
|
||||
// 数量减少, 返还库存
|
||||
String message = redisUtil.getMessage(RedisCst.ORDER_PRODUCT_NUM + cashierCart.getId());
|
||||
|
||||
if (message != null) {
|
||||
productService.incrStock(cashierCart.getProductId(), cashierCart.getSkuId(), Integer.parseInt(message));
|
||||
}
|
||||
if (StringUtils.isNotEmpty(cashierCart.getOrderId())) {
|
||||
orderId = Integer.valueOf(cashierCart.getOrderId());
|
||||
|
||||
|
|
@ -817,6 +827,8 @@ public class OrderService {
|
|||
tbProductSkuMapper.batchStockNum(productSkuPos);
|
||||
}
|
||||
|
||||
|
||||
|
||||
return Result.success(CodeEnum.SUCCESS);
|
||||
}
|
||||
|
||||
|
|
|
|||
|
|
@ -956,13 +956,12 @@ public class PayService {
|
|||
tbProductStockDetail.setIsStock(product.getIsStock());
|
||||
tbProductStockDetail.setStockSnap(product.getSelectSpec());
|
||||
tbProductStockDetail.setUnitName(shopUnit.getName());
|
||||
tbProductStockDetail.setProductId(product.getId().toString());
|
||||
|
||||
if (product.getIsDistribute() == 1) {
|
||||
// redisUtil.seckill(RedisCst.PRODUCT + shopId.toString() + ":product" + product.getId().toString(), String.valueOf(detail.getReturnNum() + product.getStockNumber().intValue()));
|
||||
productMapper.updateStockById(product.getId(), detail.getReturnNum() * -1);
|
||||
|
||||
tbProductStockDetail.setProductId(product.getId().toString());
|
||||
tbProductStockDetail.setUnitName(product.getUnitId());
|
||||
tbProductStockDetail.setLeftNumber(product.getStockNumber());
|
||||
tbProductStockDetail.setStockNumber(Double.valueOf(detail.getReturnNum()));
|
||||
} else {
|
||||
|
|
|
|||
|
|
@ -136,12 +136,20 @@ public class ProductService {
|
|||
public void decrStock(String productId, String skuId, int decrNum) {
|
||||
TbProductWithBLOBs product = tbProductMapper.selectByPrimaryKey(Integer.valueOf(productId));
|
||||
if (product.getIsDistribute() == 1) {
|
||||
if (tbProductMapper.decrStock(productId, decrNum) < 1) {
|
||||
throw new MsgException("库存不足,下单失败");
|
||||
if (product.getIsStock() == 1) {
|
||||
if (tbProductMapper.decrStock(productId, decrNum) < 1) {
|
||||
throw new MsgException("库存不足,下单失败");
|
||||
}
|
||||
}else {
|
||||
tbProductMapper.decrStockUnCheck(productId, decrNum);
|
||||
}
|
||||
}else {
|
||||
if (tbProductSkuMapper.decrStock(String.valueOf(skuId), decrNum) < 1) {
|
||||
throw new MsgException("库存不足,下单失败");
|
||||
if (product.getIsStock() == 1) {
|
||||
if (tbProductSkuMapper.decrStock(String.valueOf(skuId), decrNum) < 1) {
|
||||
throw new MsgException("库存不足,下单失败");
|
||||
}
|
||||
}else {
|
||||
tbProductSkuMapper.decrStockUnCheck(String.valueOf(skuId), decrNum);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -20,11 +20,11 @@ logging:
|
|||
file:
|
||||
# 切记,该文件表示正在产出日志的日志文件。并不会打包,当文件大于max-file-size,会根据file-name-pattern格式打包
|
||||
# 名称为log/cashier-client.log文件夹会在项目根目录下,打包后会在启动包同目录下;名称为/log/cashier-client.log的文件夹会在项目所在磁盘的跟目录下
|
||||
name: log/cashier-client.log
|
||||
name: cashier-client.log
|
||||
logback:
|
||||
rollingpolicy:
|
||||
# 单文件的大小,默认10M, 超过之后打包成一个日志文件
|
||||
max-file-size: 1MB
|
||||
max-file-size: 10MB
|
||||
# 日志保存的天数
|
||||
max-history: 30
|
||||
# 打包文件格式,默认: ${LOG_FILE}.%d{yyyy-MM-dd}.%i.gz,书写格式为:文件路径/文件名.%i.文件后缀,其中%i不可省去,否则无日志显示
|
||||
|
|
@ -32,6 +32,7 @@ logging:
|
|||
# 如果是压缩包,里面会多一个名log/ota.2021-11-05.0的日志文件
|
||||
# 如下面的例子,打包之后为: log/2021-11/cashier-client.2020-11-5.0.log,这是一个日志文件
|
||||
file-name-pattern: log/%d{yyyy-MM}/cashier-client.%d{yyyy-MM-dd}.%i.log
|
||||
# file-name-pattern: log/%d{yyyy-MM}/cashier-client.%d{yyyy-MM-dd}.%i.log.gz
|
||||
|
||||
|
||||
gateway:
|
||||
|
|
|
|||
Loading…
Reference in New Issue