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