From 130a52f59500889530be3786a72e8cfaca74c8ce Mon Sep 17 00:00:00 2001
From: shiyj1101 <1098226878@qq.com>
Date: 星期三, 30 六月 2021 11:26:53 +0800
Subject: [PATCH] Merge branch 'master' of http://git.homecommunity.cn/supervip/MicroCommunity

---
 service-api/src/main/java/com/java110/api/bmo/allocationUserStorehouse/impl/AllocationUserStorehouseBMOImpl.java |  139 ++++++++++++++++++++++++++--------------------
 1 files changed, 78 insertions(+), 61 deletions(-)

diff --git a/service-api/src/main/java/com/java110/api/bmo/allocationUserStorehouse/impl/AllocationUserStorehouseBMOImpl.java b/service-api/src/main/java/com/java110/api/bmo/allocationUserStorehouse/impl/AllocationUserStorehouseBMOImpl.java
index b8dcab2..0ab44b7 100644
--- a/service-api/src/main/java/com/java110/api/bmo/allocationUserStorehouse/impl/AllocationUserStorehouseBMOImpl.java
+++ b/service-api/src/main/java/com/java110/api/bmo/allocationUserStorehouse/impl/AllocationUserStorehouseBMOImpl.java
@@ -1,11 +1,11 @@
 package com.java110.api.bmo.allocationUserStorehouse.impl;
 
+import com.alibaba.fastjson.JSONArray;
 import com.alibaba.fastjson.JSONObject;
 import com.java110.api.bmo.ApiBaseBMO;
 import com.java110.api.bmo.allocationUserStorehouse.IAllocationUserStorehouseBMO;
 import com.java110.core.context.DataFlowContext;
 import com.java110.dto.userStorehouse.UserStorehouseDto;
-import com.java110.intf.store.IAllocationUserStorehouseInnerServiceSMO;
 import com.java110.intf.store.IUserStorehouseInnerServiceSMO;
 import com.java110.po.allocationUserStorehouse.AllocationUserStorehousePo;
 import com.java110.po.userStorehouse.UserStorehousePo;
@@ -22,9 +22,6 @@
 public class AllocationUserStorehouseBMOImpl extends ApiBaseBMO implements IAllocationUserStorehouseBMO {
 
     @Autowired
-    private IAllocationUserStorehouseInnerServiceSMO allocationUserStorehouseInnerServiceSMOImpl;
-
-    @Autowired
     private IUserStorehouseInnerServiceSMO userStorehouseInnerServiceSMOImpl;
 
     /**
@@ -35,63 +32,83 @@
      * @return 璁㈠崟鏈嶅姟鑳藉鎺ュ彈鐨勬姤鏂�
      */
     public void addAllocationUserStorehouse(JSONObject paramInJson, DataFlowContext dataFlowContext) {
-        //鑾峰彇搴撳瓨鏁伴噺
-        String stock = paramInJson.getString("stock");
-        //鑾峰彇杞鏁伴噺
-        String giveQuantity = paramInJson.getString("giveQuantity");
-        //鑾峰彇褰撳墠鐢ㄦ埛id
-        String userId = paramInJson.getString("userId");
-        //鑾峰彇鎺ュ彈杞鐢ㄦ埛id
-        String acceptUserId = paramInJson.getString("acceptUserId");
-        //鑾峰彇鐗╁搧id
-        String resId = paramInJson.getString("resId");
-        paramInJson.put("ausId", "-1");
-        paramInJson.put("createTime", new Date());
-        paramInJson.put("startUserId", userId);
-        paramInJson.put("startUserName", paramInJson.getString("userName"));
-        paramInJson.put("remark", paramInJson.getString("description"));
-        AllocationUserStorehousePo allocationUserStorehousePo = BeanConvertUtil.covertBean(paramInJson, AllocationUserStorehousePo.class);
-        super.insert(dataFlowContext, allocationUserStorehousePo, BusinessTypeConstant.BUSINESS_TYPE_SAVE_ALLOCATION_USER_STOREHOUSE);
-        UserStorehouseDto userStorehouseDto = new UserStorehouseDto();
-        userStorehouseDto.setUserId(userId);
-        userStorehouseDto.setResId(resId);
-        List<UserStorehouseDto> userStorehouseDtos = userStorehouseInnerServiceSMOImpl.queryUserStorehouses(userStorehouseDto);
-        Assert.listOnlyOne(userStorehouseDtos, "鏌ヨ涓汉鐗╁搧淇℃伅閿欒锛�");
-        //鑾峰彇涓汉鐗╁搧淇℃伅id
-        String usId = userStorehouseDtos.get(0).getUsId();
-        UserStorehousePo userStorehousePo = new UserStorehousePo();
-        userStorehousePo.setUsId(usId);
-        //鑾峰彇杞鍚庣殑搴撳瓨鏁伴噺
-        int newStock = Integer.parseInt(stock) - Integer.parseInt(giveQuantity);
-        userStorehousePo.setStock(String.valueOf(newStock));
-        //鏇存柊褰撳墠鐢ㄦ埛搴撳瓨鏁�
-        super.update(dataFlowContext, userStorehousePo, BusinessTypeConstant.BUSINESS_TYPE_UPDATE_USER_STOREHOUSE);
-        UserStorehouseDto userStorehouse = new UserStorehouseDto();
-        userStorehouse.setUserId(acceptUserId);
-        userStorehouse.setResId(resId);
-        List<UserStorehouseDto> userStorehouses = userStorehouseInnerServiceSMOImpl.queryUserStorehouses(userStorehouse);
-        if (userStorehouses != null && userStorehouses.size() == 1) {
-            //鑾峰彇鎺ュ彈鐢ㄦ埛搴撳瓨鏁�
-            String userStock = userStorehouses.get(0).getStock();
-            //鑾峰彇杞鍚庣殑搴撳瓨鏁伴噺
-            int myStock = Integer.parseInt(userStock) + Integer.parseInt(giveQuantity);
-            UserStorehousePo userStorePo = new UserStorehousePo();
-            userStorePo.setUsId(userStorehouses.get(0).getUsId());
-            userStorePo.setStock(String.valueOf(myStock));
-            //鏇存柊褰撳墠鐢ㄦ埛鐨勫簱瀛樻暟閲�
-            super.update(dataFlowContext, userStorePo, BusinessTypeConstant.BUSINESS_TYPE_UPDATE_USER_STOREHOUSE);
-        } else if (userStorehouses != null && userStorehouses.size() > 1) {
-            throw new IllegalArgumentException("鏌ヨ涓汉鐗╁搧淇℃伅閿欒锛�");
-        } else {
-            UserStorehousePo userStorePo = new UserStorehousePo();
-            userStorePo.setUsId("-1");
-            userStorePo.setResId(resId);
-            userStorePo.setResName(paramInJson.getString("resName"));
-            userStorePo.setStoreId(paramInJson.getString("storeId"));
-            userStorePo.setStock(giveQuantity);
-            userStorePo.setUserId(acceptUserId);
-            //淇濆瓨鎺ュ彈杞鐢ㄦ埛涓汉鐗╁搧淇℃伅
-            super.insert(dataFlowContext, userStorePo, BusinessTypeConstant.BUSINESS_TYPE_SAVE_USER_STOREHOUSE);
+        String resourceStores = paramInJson.getString("resourceStores");
+        JSONArray json = JSONArray.parseArray(resourceStores);
+        if (json.size() > 0) {
+            Object[] objects = json.toArray();
+            for (int i = 0; i < objects.length; i++) {
+                Object object = objects[i];
+                JSONObject paramIn = JSONObject.parseObject(String.valueOf(object));
+                //鑾峰彇搴撳瓨鏁伴噺
+                String stock = paramIn.getString("stock");
+                //鑾峰彇杞鏁伴噺
+                String giveQuantity = paramIn.getString("giveQuantity");
+                //鑾峰彇鐗╁搧id
+                String resId = paramIn.getString("resId");
+                String resName = paramIn.getString("resName");
+                //鑾峰彇褰撳墠鐢ㄦ埛id
+                String userId = paramInJson.getString("userId");
+                //鑾峰彇鎺ュ彈杞鐢ㄦ埛id
+                String acceptUserId = paramInJson.getString("acceptUserId");
+                String acceptUserName = paramInJson.getString("acceptUserName");
+                String storeId = paramInJson.getString("storeId");
+                JSONObject allocationUserStorehouseJson = new JSONObject();
+                allocationUserStorehouseJson.put("ausId", "-1");
+                allocationUserStorehouseJson.put("resId", resId);
+                allocationUserStorehouseJson.put("resName", resName);
+                allocationUserStorehouseJson.put("storeId", storeId);
+                allocationUserStorehouseJson.put("stock", stock);
+                allocationUserStorehouseJson.put("giveQuantity", giveQuantity);
+                allocationUserStorehouseJson.put("startUserId", userId);
+                allocationUserStorehouseJson.put("startUserName", paramInJson.getString("userName"));
+                allocationUserStorehouseJson.put("acceptUserId", acceptUserId);
+                allocationUserStorehouseJson.put("acceptUserName", acceptUserName);
+                allocationUserStorehouseJson.put("createTime", new Date());
+                allocationUserStorehouseJson.put("remark", paramInJson.getString("description"));
+                AllocationUserStorehousePo allocationUserStorehousePo = BeanConvertUtil.covertBean(allocationUserStorehouseJson, AllocationUserStorehousePo.class);
+                super.insert(dataFlowContext, allocationUserStorehousePo, BusinessTypeConstant.BUSINESS_TYPE_SAVE_ALLOCATION_USER_STOREHOUSE);
+                UserStorehouseDto userStorehouseDto = new UserStorehouseDto();
+                userStorehouseDto.setUserId(userId);
+                userStorehouseDto.setResId(resId);
+                List<UserStorehouseDto> userStorehouseDtos = userStorehouseInnerServiceSMOImpl.queryUserStorehouses(userStorehouseDto);
+                Assert.listOnlyOne(userStorehouseDtos, "鏌ヨ涓汉鐗╁搧淇℃伅閿欒锛�");
+                //鑾峰彇涓汉鐗╁搧淇℃伅id
+                String usId = userStorehouseDtos.get(0).getUsId();
+                UserStorehousePo userStorehousePo = new UserStorehousePo();
+                userStorehousePo.setUsId(usId);
+                //鑾峰彇杞鍚庣殑搴撳瓨鏁伴噺
+                int newStock = Integer.parseInt(stock) - Integer.parseInt(giveQuantity);
+                userStorehousePo.setStock(String.valueOf(newStock));
+                //鏇存柊褰撳墠鐢ㄦ埛搴撳瓨鏁�
+                super.update(dataFlowContext, userStorehousePo, BusinessTypeConstant.BUSINESS_TYPE_UPDATE_USER_STOREHOUSE);
+                UserStorehouseDto userStorehouse = new UserStorehouseDto();
+                userStorehouse.setUserId(acceptUserId);
+                userStorehouse.setResId(resId);
+                List<UserStorehouseDto> userStorehouses = userStorehouseInnerServiceSMOImpl.queryUserStorehouses(userStorehouse);
+                if (userStorehouses != null && userStorehouses.size() == 1) {
+                    //鑾峰彇鎺ュ彈鐢ㄦ埛搴撳瓨鏁�
+                    String userStock = userStorehouses.get(0).getStock();
+                    //鑾峰彇杞鍚庣殑搴撳瓨鏁伴噺
+                    int myStock = Integer.parseInt(userStock) + Integer.parseInt(giveQuantity);
+                    UserStorehousePo userStorePo = new UserStorehousePo();
+                    userStorePo.setUsId(userStorehouses.get(0).getUsId());
+                    userStorePo.setStock(String.valueOf(myStock));
+                    //鏇存柊褰撳墠鐢ㄦ埛鐨勫簱瀛樻暟閲�
+                    super.update(dataFlowContext, userStorePo, BusinessTypeConstant.BUSINESS_TYPE_UPDATE_USER_STOREHOUSE);
+                } else if (userStorehouses != null && userStorehouses.size() > 1) {
+                    throw new IllegalArgumentException("鏌ヨ涓汉鐗╁搧淇℃伅閿欒锛�");
+                } else {
+                    UserStorehousePo userStorePo = new UserStorehousePo();
+                    userStorePo.setUsId("-1");
+                    userStorePo.setResId(resId);
+                    userStorePo.setResName(resName);
+                    userStorePo.setStoreId(storeId);
+                    userStorePo.setStock(giveQuantity);
+                    userStorePo.setUserId(acceptUserId);
+                    //淇濆瓨鎺ュ彈杞鐢ㄦ埛涓汉鐗╁搧淇℃伅
+                    super.insert(dataFlowContext, userStorePo, BusinessTypeConstant.BUSINESS_TYPE_SAVE_USER_STOREHOUSE);
+                }
+            }
         }
     }
 

--
Gitblit v1.8.0