From ae42d2da37fe9d161e7058b51367b95f24c3d97a Mon Sep 17 00:00:00 2001
From: java110 <928255095@qq.com>
Date: 星期二, 13 六月 2023 15:11:36 +0800
Subject: [PATCH] optimize

---
 service-common/src/main/java/com/java110/common/cmd/chargeMachine/ListChargeMachineCmd.java |   78 +++++++++++++++++++++++++++++++++++++-
 1 files changed, 75 insertions(+), 3 deletions(-)

diff --git a/service-common/src/main/java/com/java110/common/cmd/chargeMachine/ListChargeMachineCmd.java b/service-common/src/main/java/com/java110/common/cmd/chargeMachine/ListChargeMachineCmd.java
index 0a7fa9e..78e250c 100644
--- a/service-common/src/main/java/com/java110/common/cmd/chargeMachine/ListChargeMachineCmd.java
+++ b/service-common/src/main/java/com/java110/common/cmd/chargeMachine/ListChargeMachineCmd.java
@@ -16,14 +16,17 @@
 package com.java110.common.cmd.chargeMachine;
 
 import com.alibaba.fastjson.JSONObject;
+import com.java110.common.charge.IChargeCore;
 import com.java110.core.annotation.Java110Cmd;
-import com.java110.core.annotation.Java110Transactional;
 import com.java110.core.context.ICmdDataFlowContext;
 import com.java110.core.event.cmd.Cmd;
 import com.java110.core.event.cmd.CmdEvent;
-import com.java110.core.factory.GenerateCodeFactory;
+import com.java110.dto.chargeMachine.ChargeRuleFeeDto;
+import com.java110.dto.smallWeChat.SmallWeChatDto;
 import com.java110.intf.common.IChargeMachineV1InnerServiceSMO;
-import com.java110.po.chargeMachine.ChargeMachinePo;
+import com.java110.intf.common.IChargeRuleFeeV1InnerServiceSMO;
+import com.java110.intf.store.ISmallWeChatInnerServiceSMO;
+import com.java110.utils.cache.UrlCache;
 import com.java110.utils.exception.CmdException;
 import com.java110.utils.util.Assert;
 import com.java110.utils.util.BeanConvertUtil;
@@ -57,6 +60,15 @@
     @Autowired
     private IChargeMachineV1InnerServiceSMO chargeMachineV1InnerServiceSMOImpl;
 
+    @Autowired
+    private ISmallWeChatInnerServiceSMO smallWeChatInnerServiceSMOImpl;
+
+    @Autowired
+    private IChargeRuleFeeV1InnerServiceSMO chargeRuleFeeV1InnerServiceSMOImpl;
+
+    @Autowired
+    private IChargeCore chargeCoreImpl;
+
     @Override
     public void validate(CmdEvent event, ICmdDataFlowContext cmdDataFlowContext, JSONObject reqJson) {
         super.validatePageInfo(reqJson);
@@ -74,6 +86,13 @@
 
         if (count > 0) {
             chargeMachineDtos = chargeMachineV1InnerServiceSMOImpl.queryChargeMachines(chargeMachineDto);
+            freshQrCodeUrl(chargeMachineDtos);
+
+            // todo  鏌ヨ璁惧鏄惁鍦ㄧ嚎
+            queryMachineState(chargeMachineDtos);
+
+            // todo 鍒峰叆绠楄垂瑙勫垯
+            queryChargeRuleFee(chargeMachineDtos);
         } else {
             chargeMachineDtos = new ArrayList<>();
         }
@@ -84,4 +103,57 @@
 
         cmdDataFlowContext.setResponseEntity(responseEntity);
     }
+
+    private void queryChargeRuleFee(List<ChargeMachineDto> chargeMachineDtos) {
+        if (chargeMachineDtos == null || chargeMachineDtos.size() != 1) {
+            return;
+        }
+
+        ChargeRuleFeeDto chargeRuleFeeDto = new ChargeRuleFeeDto();
+        chargeRuleFeeDto.setRuleId(chargeMachineDtos.get(0).getRuleId());
+        chargeRuleFeeDto.setCommunityId(chargeMachineDtos.get(0).getCommunityId());
+        List<ChargeRuleFeeDto> fees = chargeRuleFeeV1InnerServiceSMOImpl.queryChargeRuleFees(chargeRuleFeeDto);
+
+        chargeMachineDtos.get(0).setFees(fees);
+
+    }
+
+    private void queryMachineState(List<ChargeMachineDto> chargeMachineDtos) {
+
+        if (chargeMachineDtos == null || chargeMachineDtos.size() < 1 || chargeMachineDtos.size() > 10) {
+            return;
+        }
+
+        chargeCoreImpl.queryChargeMachineState(chargeMachineDtos);
+    }
+
+    /**
+     * 鍏呯數妗╀簩缁寸爜
+     *
+     * @param chargeMachineDtos
+     */
+    private void freshQrCodeUrl(List<ChargeMachineDto> chargeMachineDtos) {
+
+        if (chargeMachineDtos == null || chargeMachineDtos.size() < 1) {
+            return;
+        }
+
+        SmallWeChatDto smallWeChatDto = new SmallWeChatDto();
+        smallWeChatDto.setObjId(chargeMachineDtos.get(0).getCommunityId());
+        smallWeChatDto.setWeChatType(SmallWeChatDto.WECHAT_TYPE_PUBLIC);
+        List<SmallWeChatDto> smallWeChatDtos = smallWeChatInnerServiceSMOImpl.querySmallWeChats(smallWeChatDto);
+        String appId = "";
+        if (smallWeChatDtos != null && smallWeChatDtos.size() > 0) {
+            appId = smallWeChatDtos.get(0).getAppId();
+        }
+        String ownerUrl = UrlCache.getOwnerUrl();
+
+        for (ChargeMachineDto chargeMachineDto : chargeMachineDtos) {
+            chargeMachineDto.setQrCode(ownerUrl + "/#/pages/machine/machineToCharge?machineId="
+                    + chargeMachineDto.getMachineId()
+                    + "&communityId=" + chargeMachineDto.getCommunityId()
+                    + "&wAppId=" + appId
+            );
+        }
+    }
 }

--
Gitblit v1.8.0