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/machine/SaveAccessControlWhiteCmd.java |   83 +++++++++++++++++++++++++++++++++++++++++
 1 files changed, 82 insertions(+), 1 deletions(-)

diff --git a/service-common/src/main/java/com/java110/common/cmd/machine/SaveAccessControlWhiteCmd.java b/service-common/src/main/java/com/java110/common/cmd/machine/SaveAccessControlWhiteCmd.java
index ec8f8a5..8015998 100644
--- a/service-common/src/main/java/com/java110/common/cmd/machine/SaveAccessControlWhiteCmd.java
+++ b/service-common/src/main/java/com/java110/common/cmd/machine/SaveAccessControlWhiteCmd.java
@@ -15,6 +15,7 @@
  */
 package com.java110.common.cmd.machine;
 
+import com.alibaba.fastjson.JSONArray;
 import com.alibaba.fastjson.JSONObject;
 import com.java110.core.annotation.Java110Cmd;
 import com.java110.core.annotation.Java110Transactional;
@@ -23,8 +24,12 @@
 import com.java110.core.event.cmd.CmdEvent;
 import com.java110.core.factory.GenerateCodeFactory;
 import com.java110.core.smo.IPhotoSMO;
+import com.java110.doc.annotation.*;
+import com.java110.dto.accessControlWhite.AccessControlWhiteDto;
+import com.java110.intf.common.IAccessControlWhiteAuthV1InnerServiceSMO;
 import com.java110.intf.common.IAccessControlWhiteV1InnerServiceSMO;
 import com.java110.po.accessControlWhite.AccessControlWhitePo;
+import com.java110.po.accessControlWhiteAuth.AccessControlWhiteAuthPo;
 import com.java110.utils.exception.CmdException;
 import com.java110.utils.util.Assert;
 import com.java110.utils.util.BeanConvertUtil;
@@ -32,6 +37,45 @@
 import org.springframework.beans.factory.annotation.Autowired;
 import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
+
+
+@Java110CmdDoc(title = "闂ㄧ鎺堟潈鐧藉悕鍗�",
+        description = "涓昏鐢ㄤ簬鍛樺伐锛屽鍗栧拰璁垮鎺堟潈闂ㄧ鐧藉悕鍗�",
+        httpMethod = "post",
+        url = "http://{ip}:{port}/app/machine.saveAccessControlWhite",
+        resource = "commonDoc",
+        author = "鍚村鏂�",
+        serviceCode = "machine.saveAccessControlWhite"
+)
+
+@Java110ParamsDoc(params = {
+        @Java110ParamDoc(name = "communityId", length = 30, remark = "灏忓尯ID"),
+        @Java110ParamDoc(name = "machineId", length = 30, remark = "闂ㄧID"),
+        @Java110ParamDoc(name = "personName", length = 30, remark = "浜哄憳鍚嶇О"),
+        @Java110ParamDoc(name = "tel", length = 30, remark = "鐢佃瘽"),
+        @Java110ParamDoc(name = "idCard", length = 30, remark = "韬唤璇�"),
+        @Java110ParamDoc(name = "personType", length = 30, remark = "浜哄憳绫诲瀷 1001\t鍛樺伐\n" +
+                "2002\t澶栧崠浜哄憳\n" +
+                "3003\t蹇�掍汉鍛榎n" +
+                "4004\t璁垮浜哄憳\n" +
+                "5005\t鍏朵粬浜哄憳"),
+        @Java110ParamDoc(name = "startTime", length = 30, remark = "寮�濮嬫椂闂� YYYY-MM-DD hh24:mi:ss"),
+        @Java110ParamDoc(name = "endTime", length = 30, remark = "缁撴潫鏃堕棿 YYYY-MM-DD hh24:mi:ss"),
+        @Java110ParamDoc(name = "accessControlKey", length = 30, remark = "闂ㄧ鍗″彿 闈炲繀濉�"),
+        @Java110ParamDoc(name = "photo", length = 30, remark = "浜鸿劯 "),
+})
+
+@Java110ResponseDoc(
+        params = {
+                @Java110ParamDoc(name = "code", type = "int", length = 11, defaultValue = "0", remark = "杩斿洖缂栧彿锛�0 鎴愬姛 鍏朵粬澶辫触"),
+                @Java110ParamDoc(name = "msg", type = "String", length = 250, defaultValue = "鎴愬姛", remark = "鎻忚堪"),
+        }
+)
+
+@Java110ExampleDoc(
+        reqBody = "{\"machineId\":\"102023012407190005\",\"personName\":\"寮犲揩閫抃",\"tel\":\"18909714562\",\"idCard\":\"\",\"personType\":\"3003\",\"startTime\":\"2023-01-05 02:10:00\",\"endTime\":\"2023-02-08 02:10:00\",\"accessControlKey\":\"\",\"photo\":\"https://java110.oss-cn-beijing.aliyuncs.com/hc/img/20230124/ec4cfb4f-4953-44f2-89ab-383dc955b005.jpg\",\"communityId\":\"2022121921870161\"}",
+        resBody = "{\"code\":0,\"msg\":\"鎴愬姛\"}"
+)
 
 /**
  * 绫昏〃杩帮細淇濆瓨
@@ -54,17 +98,35 @@
     private IAccessControlWhiteV1InnerServiceSMO accessControlWhiteV1InnerServiceSMOImpl;
 
     @Autowired
+    private IAccessControlWhiteAuthV1InnerServiceSMO accessControlWhiteAuthV1InnerServiceSMOImpl;
+
+    @Autowired
     private IPhotoSMO photoSMOImpl;
 
     @Override
     public void validate(CmdEvent event, ICmdDataFlowContext cmdDataFlowContext, JSONObject reqJson) {
-        Assert.hasKeyAndValue(reqJson, "machineId", "璇锋眰鎶ユ枃涓湭鍖呭惈machineId");
+        Assert.hasKey(reqJson, "machineIds", "璇锋眰鎶ユ枃涓湭鍖呭惈machineId");
         Assert.hasKeyAndValue(reqJson, "communityId", "璇锋眰鎶ユ枃涓湭鍖呭惈communityId");
         Assert.hasKeyAndValue(reqJson, "personName", "璇锋眰鎶ユ枃涓湭鍖呭惈personName");
         Assert.hasKeyAndValue(reqJson, "tel", "璇锋眰鎶ユ枃涓湭鍖呭惈tel");
         Assert.hasKeyAndValue(reqJson, "personType", "璇锋眰鎶ユ枃涓湭鍖呭惈personType");
         Assert.hasKeyAndValue(reqJson, "startTime", "璇锋眰鎶ユ枃涓湭鍖呭惈startTime");
         Assert.hasKeyAndValue(reqJson, "endTime", "璇锋眰鎶ユ枃涓湭鍖呭惈endTime");
+
+        AccessControlWhiteDto accessControlWhiteDto = new AccessControlWhiteDto();
+        accessControlWhiteDto.setCommunityId(reqJson.getString("communityId"));
+        accessControlWhiteDto.setTel(reqJson.getString("tel"));
+        accessControlWhiteDto.setMachineId(reqJson.getString("machineId"));
+        int count = accessControlWhiteV1InnerServiceSMOImpl.queryAccessControlWhitesCount(accessControlWhiteDto);
+        if (count > 0) {
+            throw new CmdException(reqJson.getString("personName") + "-" + reqJson.getString("tel") + ",浜哄憳宸插瓨鍦紝鎮ㄥ彲浠ュ垹闄ら噸鏂版坊鍔狅紝鎴栬�呬慨鏀�");
+        }
+
+        JSONArray machineIds = reqJson.getJSONArray("machineIds");
+        if (machineIds == null || machineIds.size() < 1) {
+            throw new CmdException("鏈寘鍚巿鏉冭澶�");
+        }
+
 
     }
 
@@ -74,12 +136,31 @@
 
         AccessControlWhitePo accessControlWhitePo = BeanConvertUtil.covertBean(reqJson, AccessControlWhitePo.class);
         accessControlWhitePo.setAcwId(GenerateCodeFactory.getGeneratorId(CODE_PREFIX_ID));
+        accessControlWhitePo.setMachineId("-1");
         int flag = accessControlWhiteV1InnerServiceSMOImpl.saveAccessControlWhite(accessControlWhitePo);
 
         if (flag < 1) {
             throw new CmdException("淇濆瓨鏁版嵁澶辫触");
         }
 
+        JSONArray machineIds = reqJson.getJSONArray("machineIds");
+
+        AccessControlWhiteAuthPo accessControlWhiteAuthPo = null;
+        for (int machineIndex = 0; machineIndex < machineIds.size(); machineIndex++) {
+            accessControlWhiteAuthPo = new AccessControlWhiteAuthPo();
+            accessControlWhiteAuthPo.setAcwaId(GenerateCodeFactory.getGeneratorId(CODE_PREFIX_ID));
+            accessControlWhiteAuthPo.setAcwId(accessControlWhitePo.getAcwId());
+            accessControlWhiteAuthPo.setCommunityId(accessControlWhitePo.getCommunityId());
+            accessControlWhiteAuthPo.setMachineId(machineIds.getString(machineIndex));
+
+            flag = accessControlWhiteAuthV1InnerServiceSMOImpl.saveAccessControlWhiteAuth(accessControlWhiteAuthPo);
+
+            if (flag < 1) {
+                throw new CmdException("淇濆瓨鏁版嵁澶辫触");
+            }
+        }
+
+
         photoSMOImpl.savePhoto(reqJson, accessControlWhitePo.getAcwId(), reqJson.getString("communityId"));
 
 

--
Gitblit v1.8.0