소스 검색

优化代码

Your Name 3 년 전
부모
커밋
2349b31d5b

+ 25 - 2
service-common/src/main/java/com/java110/common/cmd/machine/DeleteAccessControlWhiteCmd.java

@@ -22,8 +22,11 @@ import com.java110.core.context.ICmdDataFlowContext;
 import com.java110.core.event.cmd.Cmd;
 import com.java110.core.event.cmd.CmdEvent;
 import com.java110.doc.annotation.*;
+import com.java110.dto.accessControlWhiteAuth.AccessControlWhiteAuthDto;
+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 +35,8 @@ import org.springframework.beans.factory.annotation.Autowired;
 import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
 
+import java.util.List;
+
 
 @Java110CmdDoc(title = "删除门禁授权白名单",
         description = "主要用于员工,外卖和访客删除授权门禁白名单",
@@ -56,8 +61,8 @@ import org.slf4j.LoggerFactory;
 )
 
 @Java110ExampleDoc(
-        reqBody="{\"acwId\":\"xxx\",\"communityId\":\"2022121921870161\"}",
-        resBody="{\"code\":0,\"msg\":\"成功\"}"
+        reqBody = "{\"acwId\":\"xxx\",\"communityId\":\"2022121921870161\"}",
+        resBody = "{\"code\":0,\"msg\":\"成功\"}"
 )
 /**
  * 类表述:删除
@@ -76,6 +81,9 @@ public class DeleteAccessControlWhiteCmd extends Cmd {
     @Autowired
     private IAccessControlWhiteV1InnerServiceSMO accessControlWhiteV1InnerServiceSMOImpl;
 
+    @Autowired
+    private IAccessControlWhiteAuthV1InnerServiceSMO accessControlWhiteAuthV1InnerServiceSMOImpl;
+
     @Override
     public void validate(CmdEvent event, ICmdDataFlowContext cmdDataFlowContext, JSONObject reqJson) {
         Assert.hasKeyAndValue(reqJson, "acwId", "acwId不能为空");
@@ -94,6 +102,21 @@ public class DeleteAccessControlWhiteCmd extends Cmd {
             throw new CmdException("删除数据失败");
         }
 
+        AccessControlWhiteAuthDto accessControlWhiteAuthDto = new AccessControlWhiteAuthDto();
+        accessControlWhiteAuthDto.setAcwId(accessControlWhitePo.getAcwId());
+        accessControlWhiteAuthDto.setCommunityId(accessControlWhiteAuthDto.getCommunityId());
+        List<AccessControlWhiteAuthDto> accessControlWhiteAuthDtos = accessControlWhiteAuthV1InnerServiceSMOImpl.queryAccessControlWhiteAuths(accessControlWhiteAuthDto);
+        AccessControlWhiteAuthPo accessControlWhiteAuthPo = null;
+        for (AccessControlWhiteAuthDto tmpAccessControlWhiteAuthDto : accessControlWhiteAuthDtos) {
+            accessControlWhiteAuthPo = new AccessControlWhiteAuthPo();
+            accessControlWhiteAuthPo.setAcwaId(tmpAccessControlWhiteAuthDto.getAcwaId());
+            accessControlWhiteAuthPo.setCommunityId(tmpAccessControlWhiteAuthDto.getCommunityId());
+            flag = accessControlWhiteAuthV1InnerServiceSMOImpl.deleteAccessControlWhiteAuth(accessControlWhiteAuthPo);
+            if (flag < 1) {
+                throw new CmdException("删除数据失败");
+            }
+        }
+
         cmdDataFlowContext.setResponseEntity(ResultVo.success());
     }
 }

+ 34 - 4
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;
@@ -25,8 +26,10 @@ 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;
@@ -36,7 +39,6 @@ import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
 
 
-
 @Java110CmdDoc(title = "门禁授权白名单",
         description = "主要用于员工,外卖和访客授权门禁白名单",
         httpMethod = "post",
@@ -71,8 +73,8 @@ import org.slf4j.LoggerFactory;
 )
 
 @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\":\"成功\"}"
+        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\":\"成功\"}"
 )
 
 /**
@@ -95,12 +97,15 @@ public class SaveAccessControlWhiteCmd extends Cmd {
     @Autowired
     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");
@@ -117,6 +122,12 @@ public class SaveAccessControlWhiteCmd extends Cmd {
             throw new CmdException(reqJson.getString("personName") + "-" + reqJson.getString("tel") + ",人员已存在,您可以删除重新添加,或者修改");
         }
 
+        JSONArray machineIds = reqJson.getJSONArray("machineIds");
+        if (machineIds == null || machineIds.size() < 1) {
+            throw new CmdException("未包含授权设备");
+        }
+
+
     }
 
     @Override
@@ -125,12 +136,31 @@ public class SaveAccessControlWhiteCmd extends Cmd {
 
         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"));