From dd9759eaa3dabd3d55943fc0c741fd5018d2d76e Mon Sep 17 00:00:00 2001
From: java110 <928255095@qq.com>
Date: 星期三, 31 五月 2023 16:43:29 +0800
Subject: [PATCH] optimize dining

---
 service-store/src/main/java/com/java110/store/cmd/resourceStore/ListResourceStoresCmd.java |   53 ++++++++++++++++++++++++++++++++++++++++++++++++++---
 1 files changed, 50 insertions(+), 3 deletions(-)

diff --git a/service-store/src/main/java/com/java110/store/cmd/resourceStore/ListResourceStoresCmd.java b/service-store/src/main/java/com/java110/store/cmd/resourceStore/ListResourceStoresCmd.java
index 09f6225..2d81ce5 100644
--- a/service-store/src/main/java/com/java110/store/cmd/resourceStore/ListResourceStoresCmd.java
+++ b/service-store/src/main/java/com/java110/store/cmd/resourceStore/ListResourceStoresCmd.java
@@ -1,6 +1,7 @@
 package com.java110.store.cmd.resourceStore;
 
 import com.alibaba.fastjson.JSONObject;
+import com.google.protobuf.Api;
 import com.java110.core.annotation.Java110Cmd;
 import com.java110.core.context.ICmdDataFlowContext;
 import com.java110.core.event.cmd.Cmd;
@@ -8,6 +9,7 @@
 import com.java110.dto.PageDto;
 import com.java110.dto.basePrivilege.BasePrivilegeDto;
 import com.java110.dto.resourceStore.ResourceStoreDto;
+import com.java110.dto.resourceStoreTimes.ResourceStoreTimesDto;
 import com.java110.dto.storehouse.StorehouseDto;
 import com.java110.intf.community.IMenuInnerServiceSMO;
 import com.java110.intf.store.IResourceStoreInnerServiceSMO;
@@ -26,6 +28,10 @@
 import java.util.List;
 import java.util.Map;
 
+/**
+ * 鏌ヨ鐗╁搧
+ * add by wuxw 2023-01-19
+ */
 @Java110Cmd(serviceCode = "resourceStore.listResourceStores")
 public class ListResourceStoresCmd extends Cmd {
 
@@ -52,12 +58,20 @@
         basePrivilegeDto.setResource("/viewGroupResource");
         basePrivilegeDto.setUserId(userId);
         List<Map> privileges = menuInnerServiceSMOImpl.checkUserHasResource(basePrivilegeDto);
-        if (reqJson.containsKey("operationType") && reqJson.getString("operationType").equals("1000") && privileges.size() > 0) {
+        if ("1000".equals(reqJson.getString("operationType")) && privileges.size() > 0) {
             resourceStoreDto.setShType("");
             resourceStoreDto.setShObjIds(new String[]{reqJson.getString("communityId"), reqJson.getString("storeId")});
         } else if (StorehouseDto.SH_TYPE_COMMUNITY.equals(resourceStoreDto.getShType()) || privileges.size() == 0) {
-            resourceStoreDto.setShType(StorehouseDto.SH_TYPE_COMMUNITY);
+            //add by wuxw 杩欓噷 淇敼涓� 灏忓尯浠撳簱涔熻兘閲囪喘 妯″紡 鎵�浠ヨ繖閲屼笉闄愬埗
+            //resourceStoreDto.setShType(StorehouseDto.SH_TYPE_COMMUNITY);
             resourceStoreDto.setShObjId(reqJson.getString("communityId"));
+        }
+        BasePrivilegeDto basePrivilegeDto1 = new BasePrivilegeDto();
+        basePrivilegeDto1.setResource("/viewHiddenWarehouse");
+        basePrivilegeDto1.setUserId(userId);
+        List<Map> viewHiddenWarehousePrivileges = menuInnerServiceSMOImpl.checkUserHasResource(basePrivilegeDto1);
+        if (viewHiddenWarehousePrivileges.size() == 0) {
+            resourceStoreDto.setIsShow("true");
         }
         int count = resourceStoreInnerServiceSMOImpl.queryResourceStoresCount(resourceStoreDto);
         List<ApiResourceStoreDataVo> resourceStores = new ArrayList<>();
@@ -67,7 +81,9 @@
         BigDecimal totalPrice = BigDecimal.ZERO;
         if (count > 0) {
             resourceStores = BeanConvertUtil.covertBeanList(resourceStoreInnerServiceSMOImpl.queryResourceStores(resourceStoreDto), ApiResourceStoreDataVo.class);
-            //鏌ヨ鎬讳环
+            //todo 璁$畻鐗╁搧 搴撳瓨鍜� 浠锋牸
+            queryResourceStoreAndResourceTotalPrice(resourceStores);
+            resourceStoreDto.setPage(Integer.valueOf(reqJson.getString("page")));
             subTotalPrice = new BigDecimal(resourceStoreInnerServiceSMOImpl.queryResourceStoresTotalPrice(resourceStoreDto));
             resourceStoreDto.setPage(PageDto.DEFAULT_PAGE);
             totalPrice = new BigDecimal(resourceStoreInnerServiceSMOImpl.queryResourceStoresTotalPrice(resourceStoreDto));
@@ -83,4 +99,35 @@
         ResponseEntity<String> responseEntity = new ResponseEntity<String>(JSONObject.toJSONString(apiResourceStoreVo), HttpStatus.OK);
         context.setResponseEntity(responseEntity);
     }
+
+    /**
+     * 璁$畻鐗╁搧鐨勬暟閲忓拰閲戦
+     *
+     * @param resourceStores
+     */
+    private void queryResourceStoreAndResourceTotalPrice(List<ApiResourceStoreDataVo> resourceStores) {
+
+        if (resourceStores == null || resourceStores.size() < 1) {
+            return;
+        }
+
+
+        BigDecimal stock = new BigDecimal(0.0);
+        BigDecimal totalPrice = new BigDecimal(0.0);
+        for (ApiResourceStoreDataVo resourceStore : resourceStores) {
+            List<ResourceStoreTimesDto> resourceStoreTimesDtos = resourceStore.getTimes();
+            if (resourceStoreTimesDtos == null || resourceStoreTimesDtos.size() < 1) {
+                continue;
+            }
+
+            for (ResourceStoreTimesDto resourceStoreTimesDto : resourceStoreTimesDtos) {
+                stock = stock.add(new BigDecimal(resourceStoreTimesDto.getStock()));
+                totalPrice = totalPrice.add(new BigDecimal(resourceStoreTimesDto.getTotalPrice()));
+            }
+
+            resourceStore.setStock(stock.doubleValue() + "");
+            resourceStore.setTotalPrice(totalPrice.doubleValue() + "");
+        }
+
+    }
 }

--
Gitblit v1.8.0