From 5e7d78b46082efbbd5ea73216d8b9db3d0cd3821 Mon Sep 17 00:00:00 2001
From: wuxw <928255095@qq.com>
Date: 星期六, 27 八月 2022 14:35:21 +0800
Subject: [PATCH] 优化diam

---
 service-common/src/main/java/com/java110/common/cmd/machine/GetCarMachineQrCodeUrl.java |   61 +++++++++++++++++++++++++++---
 1 files changed, 54 insertions(+), 7 deletions(-)

diff --git a/service-common/src/main/java/com/java110/common/cmd/machine/GetCarMachineQrCodeUrl.java b/service-common/src/main/java/com/java110/common/cmd/machine/GetCarMachineQrCodeUrl.java
index f8a6442..ec6b64d 100644
--- a/service-common/src/main/java/com/java110/common/cmd/machine/GetCarMachineQrCodeUrl.java
+++ b/service-common/src/main/java/com/java110/common/cmd/machine/GetCarMachineQrCodeUrl.java
@@ -19,16 +19,24 @@
 import com.java110.common.bmo.machine.IMachineOpenDoorBMO;
 import com.java110.core.annotation.Java110Cmd;
 import com.java110.core.context.ICmdDataFlowContext;
-import com.java110.core.event.cmd.AbstractServiceCmdListener;
+import com.java110.core.event.cmd.Cmd;
 import com.java110.core.event.cmd.CmdEvent;
+import com.java110.core.factory.CommunitySettingFactory;
+import com.java110.core.log.LoggerFactory;
+import com.java110.dto.communitySetting.CommunitySettingDto;
+import com.java110.dto.parkingBoxArea.ParkingBoxAreaDto;
+import com.java110.dto.smallWeChat.SmallWeChatDto;
+import com.java110.intf.community.IParkingBoxAreaV1InnerServiceSMO;
+import com.java110.intf.store.ISmallWeChatInnerServiceSMO;
 import com.java110.utils.cache.MappingCache;
 import com.java110.utils.exception.CmdException;
 import com.java110.utils.util.Assert;
+import com.java110.utils.util.StringUtil;
 import com.java110.vo.ResultVo;
 import org.slf4j.Logger;
-import org.slf4j.LoggerFactory;
 import org.springframework.beans.factory.annotation.Autowired;
-import org.springframework.http.ResponseEntity;
+
+import java.util.List;
 
 /**
  * 绫昏〃杩帮細淇濆瓨
@@ -41,7 +49,7 @@
  * // modify by 寮犱笁 at 2021-09-12 绗�10琛屽湪鏌愮鍦烘櫙涓嬪瓨鍦ㄦ煇绉峛ug 闇�瑕佷慨澶嶏紝娉ㄩ噴10鑷�20琛� 鍔犲叆 20琛岃嚦30琛�
  */
 @Java110Cmd(serviceCode = "machine.getCarMachineQrCodeUrl")
-public class GetCarMachineQrCodeUrl extends AbstractServiceCmdListener {
+public class GetCarMachineQrCodeUrl extends Cmd {
 
     private static Logger logger = LoggerFactory.getLogger(GetCarMachineQrCodeUrl.class);
 
@@ -50,19 +58,58 @@
     @Autowired
     private IMachineOpenDoorBMO machineOpenDoorBMOImpl;
 
+    @Autowired
+    private ISmallWeChatInnerServiceSMO smallWeChatInnerServiceSMOImpl;
+    @Autowired
+    private IParkingBoxAreaV1InnerServiceSMO parkingBoxAreaV1InnerServiceSMOImpl;
+
     @Override
     public void validate(CmdEvent event, ICmdDataFlowContext cmdDataFlowContext, JSONObject reqJson) {
         Assert.hasKeyAndValue(reqJson, "communityId", "璇锋眰鎶ユ枃涓湭鍖呭惈灏忓尯淇℃伅");
-        Assert.hasKeyAndValue(reqJson, "paId", "璇锋眰鎶ユ枃涓湭鍖呭惈鍋滆溅鍦�");
+        Assert.hasKeyAndValue(reqJson, "boxId", "璇锋眰鎶ユ枃涓湭鍖呭惈宀椾涵");
 
     }
 
     @Override
     public void doCmd(CmdEvent event, ICmdDataFlowContext cmdDataFlowContext, JSONObject reqJson) throws CmdException {
 
+        SmallWeChatDto smallWeChatDto = new SmallWeChatDto();
+        smallWeChatDto.setObjId(reqJson.getString("communityId"));
+        smallWeChatDto.setWeChatType(SmallWeChatDto.WECHAT_TYPE_PUBLIC);
+        List<SmallWeChatDto> smallWeChatDtos = smallWeChatInnerServiceSMOImpl.querySmallWeChats(smallWeChatDto);
         String ownerUrl = MappingCache.getValue("OWNER_WECHAT_URL");
-        ownerUrl += ("/#/pages/tempParkingFee/tempParkingFee?paId="+reqJson.getString("paId"));
-        reqJson.put("url",ownerUrl);
+        ownerUrl += ("/#/pages/tempParkingFee/tempParkingFee?paId=" + getPaIds(reqJson)+"&communityId="+reqJson.getString("communityId"));
+        if (smallWeChatDtos != null && smallWeChatDtos.size() > 0) {
+            ownerUrl += ("&appId=" + smallWeChatDtos.get(0).getAppId());
+        }
+
+        if (reqJson.containsKey("machineId") && !"-1".equals(reqJson.getString("machineId"))) {
+            ownerUrl += ("&machineId=" + reqJson.getString("machineId"));
+        }
+
+        String aliAppId = CommunitySettingFactory.getValue(reqJson.getString("communityId"),"APP_ID");
+       if( !StringUtil.isEmpty(aliAppId)){
+           ownerUrl += ("&aliAppId=" + aliAppId);
+       }
+        reqJson.put("url", ownerUrl);
         cmdDataFlowContext.setResponseEntity(ResultVo.createResponseEntity(reqJson));
     }
+
+    private String getPaIds(JSONObject reqJson) {
+        if (reqJson.containsKey("boxId") && !StringUtil.isEmpty(reqJson.getString("boxId"))) {
+            ParkingBoxAreaDto parkingBoxAreaDto = new ParkingBoxAreaDto();
+            parkingBoxAreaDto.setBoxId(reqJson.getString("boxId"));
+            parkingBoxAreaDto.setCommunityId(reqJson.getString("communityId"));
+            parkingBoxAreaDto.setDefaultArea(ParkingBoxAreaDto.DEFAULT_AREA_TRUE);
+            List<ParkingBoxAreaDto> parkingBoxAreaDtos = parkingBoxAreaV1InnerServiceSMOImpl.queryParkingBoxAreas(parkingBoxAreaDto);
+
+            if (parkingBoxAreaDtos == null || parkingBoxAreaDtos.size() < 1) {
+                throw new CmdException("鏈煡鍒板仠杞﹀満淇℃伅");
+            }
+
+
+            return parkingBoxAreaDtos.get(0).getPaId();
+        }
+        return "";
+    }
 }

--
Gitblit v1.8.0