瀏覽代碼

维多利亚

home 2 年之前
父節點
當前提交
18a1aa0c07

+ 0 - 11
hx-service-api/victoriatourist-api/src/main/java/com/fjhx/entity/stock/Stock.java

@@ -1,8 +1,5 @@
 package com.fjhx.entity.stock;
 
-import com.baomidou.mybatisplus.annotation.FieldFill;
-import com.baomidou.mybatisplus.annotation.TableField;
-import com.baomidou.mybatisplus.annotation.Version;
 import com.fjhx.base.BaseEntity;
 import lombok.Data;
 import lombok.EqualsAndHashCode;
@@ -36,12 +33,4 @@ public class Stock extends BaseEntity {
      */
     private Long warehouseId;
 
-    /**
-     * 乐观锁
-     */
-    @TableField(fill = FieldFill.INSERT)
-    @Version
-    private Integer version;
-
-
 }

+ 1 - 1
hx-service/victoriatourist/src/main/java/com/fjhx/service/stock/StockService.java

@@ -1,9 +1,9 @@
 package com.fjhx.service.stock;
 
 import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
+import com.fjhx.base.BaseService;
 import com.fjhx.entity.stock.Stock;
 import com.fjhx.params.stock.StockVo;
-import com.fjhx.base.BaseService;
 
 import java.math.BigDecimal;
 import java.util.Map;

+ 3 - 3
hx-service/victoriatourist/src/main/java/com/fjhx/service/stock/impl/StockJournalServiceImpl.java

@@ -3,12 +3,12 @@ package com.fjhx.service.stock.impl;
 import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
 import com.baomidou.mybatisplus.core.toolkit.Wrappers;
 import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
-import com.fjhx.utils.WrapperUtil;
+import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
 import com.fjhx.entity.stock.StockJournal;
-import com.fjhx.params.stock.StockJournalVo;
 import com.fjhx.mapper.stock.StockJournalMapper;
+import com.fjhx.params.stock.StockJournalVo;
 import com.fjhx.service.stock.StockJournalService;
-import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
+import com.fjhx.utils.WrapperUtil;
 import org.springframework.stereotype.Service;
 
 import java.math.BigDecimal;

+ 6 - 9
hx-service/victoriatourist/src/main/java/com/fjhx/service/stock/impl/StockServiceImpl.java

@@ -15,7 +15,6 @@ import com.fjhx.utils.Assert;
 import com.fjhx.utils.WrapperUtil;
 import org.springblade.core.log.exception.ServiceException;
 import org.springblade.core.redis.lock.RedisLockClient;
-import org.springblade.core.secure.utils.AuthUtil;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Service;
 import org.springframework.transaction.annotation.Transactional;
@@ -74,24 +73,23 @@ public class StockServiceImpl extends ServiceImpl<StockMapper, Stock> implements
         // 分布式锁,粒度为物品id + 仓库id
         Boolean flag = redisLockClient.lockFair(VLockConstant.STOCK_LOCK + goodsId + warehouseId,
                 () -> {
-                    Stock stock = getOne(Wrappers.<Stock>lambdaQuery()
-                            .eq(Stock::getGoodsId, goodsId)
-                            .eq(Stock::getWarehouseId, warehouseId));
+                    Stock stock = getOne(q -> q.eq(Stock::getGoodsId, goodsId).eq(Stock::getWarehouseId, warehouseId));
 
                     // 没有物料存储记录,则创建物料
                     if (stock == null) {
+                        if (quantity.compareTo(BigDecimal.ZERO) < 0) {
+                            throw new ServiceException("库存不足,出库失败");
+                        }
+
                         stock = new Stock();
                         stock.setGoodsId(goodsId);
                         stock.setQuantity(quantity);
                         stock.setWarehouseId(warehouseId);
-                        stock.setTenantId(AuthUtil.getTenantId());
                         return save(stock);
                     }
 
                     BigDecimal newQuantity = stock.getQuantity().add(quantity);
-
-                    int compareTo = newQuantity.compareTo(BigDecimal.ZERO);
-                    if (compareTo < 0) {
+                    if (newQuantity.compareTo(BigDecimal.ZERO) < 0) {
                         throw new ServiceException("库存不足,出库失败");
                     }
 
@@ -101,7 +99,6 @@ public class StockServiceImpl extends ServiceImpl<StockMapper, Stock> implements
 
         Assert.eqTrue(flag, ErrorMsgConstant.SYSTEM_BUSY_ERROR);
 
-
         // 添加出入库明细
         stockJournalService.add(
                 quantity.compareTo(BigDecimal.ZERO) > 0 ? StockJournalTypeConstant.IN : StockJournalTypeConstant.OUT,