From 38d7bffeb4d445f7719b0dc76bb17f3c8a99560d Mon Sep 17 00:00:00 2001
From: java110 <928255095@qq.com>
Date: 星期三, 15 七月 2020 17:57:54 +0800
Subject: [PATCH] 优化完成物品采购

---
 service-store/src/main/java/com/java110/store/smo/impl/ResourceStoreInnerServiceSMOImpl.java |   34 ++++++++++++++++++++++++++++++++--
 1 files changed, 32 insertions(+), 2 deletions(-)

diff --git a/service-store/src/main/java/com/java110/store/smo/impl/ResourceStoreInnerServiceSMOImpl.java b/service-store/src/main/java/com/java110/store/smo/impl/ResourceStoreInnerServiceSMOImpl.java
index 39415ee..7cd2925 100644
--- a/service-store/src/main/java/com/java110/store/smo/impl/ResourceStoreInnerServiceSMOImpl.java
+++ b/service-store/src/main/java/com/java110/store/smo/impl/ResourceStoreInnerServiceSMOImpl.java
@@ -2,17 +2,22 @@
 
 
 import com.java110.core.base.smo.BaseServiceSMO;
-import com.java110.intf.store.IResourceStoreInnerServiceSMO;
-import com.java110.intf.user.IUserInnerServiceSMO;
 import com.java110.dto.PageDto;
 import com.java110.dto.resourceStore.ResourceStoreDto;
+import com.java110.intf.store.IResourceStoreInnerServiceSMO;
+import com.java110.intf.user.IUserInnerServiceSMO;
+import com.java110.po.purchase.ResourceStorePo;
 import com.java110.store.dao.IResourceStoreServiceDao;
+import com.java110.utils.lock.DistributedLock;
+import com.java110.utils.util.Assert;
 import com.java110.utils.util.BeanConvertUtil;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.web.bind.annotation.RequestBody;
 import org.springframework.web.bind.annotation.RestController;
 
+import java.util.HashMap;
 import java.util.List;
+import java.util.Map;
 
 /**
  * @ClassName FloorInnerServiceSMOImpl
@@ -53,6 +58,31 @@
         return resourceResourceStoreServiceDaoImpl.queryResourceStoresCount(BeanConvertUtil.beanCovertMap(resourceResourceStoreDto));
     }
 
+    @Override
+    public int updateResourceStore(@RequestBody ResourceStorePo resourceStorePo) {
+        //鏌ヨ
+        //寮�濮嬮攣浠g爜
+        String requestId = DistributedLock.getLockUUID();
+        String key = this.getClass().getSimpleName() + resourceStorePo.getResId();
+        try {
+            DistributedLock.waitGetDistributedLock(key, requestId);
+            Map info = new HashMap<>();
+            info.put("resId", resourceStorePo.getResId());
+            info.put("storeId", resourceStorePo.getStoreId());
+            List<Map> stores = resourceResourceStoreServiceDaoImpl.getResourceStoreInfo(info);
+
+            Assert.listOnlyOne(stores, "涓嶅瓨鍦ㄨ鐗╁搧");
+            int stock = Integer.parseInt(stores.get(0).get("stock").toString());
+            int newStock = Integer.parseInt(resourceStorePo.getStock());
+            resourceStorePo.setStock((stock + newStock) + "");
+            resourceStorePo.setStatusCd("0");
+            return resourceResourceStoreServiceDaoImpl.updateResourceStoreInfoInstance(BeanConvertUtil.beanCovertMap(resourceStorePo));
+        } finally {
+            DistributedLock.releaseDistributedLock(requestId, key);
+        }
+    }
+
+
     public IResourceStoreServiceDao getResourceStoreServiceDaoImpl() {
         return resourceResourceStoreServiceDaoImpl;
     }

--
Gitblit v1.8.0