From c2b97e88614a8c0bb641848a4d868f54cb8382df Mon Sep 17 00:00:00 2001
From: xiaogang <905166056@qq.com>
Date: 星期二, 14 二月 2023 17:21:24 +0800
Subject: [PATCH] 1、优化访客预约2、优化报修设置3、优化缴费明细4、其他相关页面bug调整

---
 service-community/src/main/java/com/java110/community/cmd/visit/SaveVisitCmd.java |   88 ++++++++++++++++++++++++++++++-------------
 1 files changed, 61 insertions(+), 27 deletions(-)

diff --git a/service-community/src/main/java/com/java110/community/cmd/visit/SaveVisitCmd.java b/service-community/src/main/java/com/java110/community/cmd/visit/SaveVisitCmd.java
index e4a403d..3f17855 100644
--- a/service-community/src/main/java/com/java110/community/cmd/visit/SaveVisitCmd.java
+++ b/service-community/src/main/java/com/java110/community/cmd/visit/SaveVisitCmd.java
@@ -2,7 +2,7 @@
 
 import com.alibaba.fastjson.JSONObject;
 import com.java110.core.annotation.Java110Cmd;
-import com.java110.core.context.DataFlowContext;
+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;
@@ -12,20 +12,22 @@
 import com.java110.dto.owner.OwnerCarDto;
 import com.java110.dto.parking.ParkingSpaceDto;
 import com.java110.dto.visit.VisitDto;
+import com.java110.intf.common.ICarBlackWhiteInnerServiceSMO;
 import com.java110.intf.common.IFileInnerServiceSMO;
 import com.java110.intf.common.IFileRelInnerServiceSMO;
 import com.java110.intf.community.IParkingSpaceInnerServiceSMO;
 import com.java110.intf.community.IVisitInnerServiceSMO;
 import com.java110.intf.community.IVisitV1InnerServiceSMO;
+import com.java110.intf.user.ICarBlackWhiteV1InnerServiceSMO;
 import com.java110.intf.user.IOwnerCarAttrInnerServiceSMO;
 import com.java110.intf.user.IOwnerCarInnerServiceSMO;
 import com.java110.intf.user.IOwnerCarV1InnerServiceSMO;
+import com.java110.po.car.CarBlackWhitePo;
 import com.java110.po.car.OwnerCarPo;
 import com.java110.po.file.FileRelPo;
 import com.java110.po.owner.VisitPo;
 import com.java110.po.ownerCarAttr.OwnerCarAttrPo;
 import com.java110.po.parking.ParkingSpacePo;
-import com.java110.utils.constant.BusinessTypeConstant;
 import com.java110.utils.exception.CmdException;
 import com.java110.utils.util.Assert;
 import com.java110.utils.util.BeanConvertUtil;
@@ -36,6 +38,7 @@
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.http.ResponseEntity;
 
+import java.beans.SimpleBeanInfo;
 import java.text.SimpleDateFormat;
 import java.util.Calendar;
 import java.util.Date;
@@ -52,9 +55,6 @@
     private IVisitV1InnerServiceSMO visitV1InnerServiceSMOImpl;
 
     @Autowired
-    private IFileInnerServiceSMO fileInnerServiceSMOImpl;
-
-    @Autowired
     private IFileRelInnerServiceSMO fileRelInnerServiceSMOImpl;
 
     @Autowired
@@ -69,6 +69,12 @@
     @Autowired
     private IOwnerCarInnerServiceSMO ownerCarInnerServiceSMOImpl;
 
+    @Autowired
+    private IFileInnerServiceSMO fileInnerServiceSMOImpl;
+
+    @Autowired
+    private ICarBlackWhiteV1InnerServiceSMO carBlackWhiteV1InnerServiceSMOImpl;
+
     //閿�
     public static final String IS_NEED_REVIEW = "IS_NEED_REVIEW";
 
@@ -81,20 +87,20 @@
     //閿�
     public static final String ASCRIPTION_CAR_AREA_ID = "ASCRIPTION_CAR_AREA_ID";
 
+    public static final String CODE_PREFIX_ID = "10";
+
     @Override
     public void validate(CmdEvent event, ICmdDataFlowContext context, JSONObject reqJson) throws CmdException {
         Assert.hasKeyAndValue(reqJson, "vName", "蹇呭~锛岃濉啓璁垮濮撳悕");
         Assert.hasKeyAndValue(reqJson, "visitGender", "蹇呭~锛岃濉啓璁垮濮撳悕");
         Assert.hasKeyAndValue(reqJson, "phoneNumber", "蹇呭~锛岃濉啓璁垮鑱旂郴鏂瑰紡");
         Assert.hasKeyAndValue(reqJson, "visitTime", "蹇呭~锛岃濉啓璁垮鎷滆鏃堕棿");
-
     }
 
     @Override
+    @Java110Transactional
     public void doCmd(CmdEvent event, ICmdDataFlowContext context, JSONObject reqJson) throws CmdException {
-
         String userId = context.getReqHeaders().get("user-id");
-
         reqJson.put("vId", GenerateCodeFactory.getGeneratorId(GenerateCodeFactory.CODE_PREFIX_vId));
         //鏄惁闇�瑕佸鏍�
         String isNeedReviewFlag = CommunitySettingFactory.getValue(reqJson.getString("communityId"), IS_NEED_REVIEW);
@@ -126,7 +132,7 @@
             newTime.setTime(time);
             newTime.add(Calendar.MINUTE, Integer.parseInt(freeTime));//鏃ユ湡鍔犱笂鍒嗛挓
             Date newDate = newTime.getTime();
-            String finishFreeTime = DateUtil.getFormatTimeString(newDate,DateUtil.DATE_FORMATE_STRING_A);
+            String finishFreeTime = DateUtil.getFormatTimeString(newDate, DateUtil.DATE_FORMATE_STRING_A);
             reqJson.put("freeTime", finishFreeTime);
             if (!StringUtils.isEmpty(isNeedReviewFlag) && isNeedReviewFlag.equals("false")) { //涓嶉渶瑕佸鏍稿氨闅忔満鑷姩鍒嗛厤杞︿綅
                 //鑾峰彇灏忓尯閰嶇疆閲岄厤缃殑鍋滆溅鍦篿d
@@ -202,7 +208,6 @@
                 reqJson.put("psId", "-1");
             }
         }
-
         String result = "";
         if (existCar) {
             result = "璁垮淇℃伅鐧昏鎴愬姛,杞﹁締宸茬粡瀛樺湪棰勭害锛岃鎮ㄥ湪棰勭害鍒版湡鍚庯紝鍐嶆杩涜杞﹁締棰勭害锛岃阿璋紒";
@@ -215,24 +220,30 @@
         }
         reqJson.put("stateRemark", result);
         addVisit(reqJson);
+        //娣诲姞鐧藉悕鍗�
+        if (reqJson.containsKey("state") && reqJson.getString("state").equals("1")
+                && !StringUtil.isEmpty(reqJson.getString("carNum"))) { //瀹℃牳閫氳繃锛屼笖鏈夎溅杈�
+            addBlackWhite(reqJson);
+        }
         if (reqJson.containsKey("photo") && !StringUtils.isEmpty(reqJson.getString("photo"))) {
-            FileDto fileDto = new FileDto();
-            fileDto.setFileId(GenerateCodeFactory.getGeneratorId(GenerateCodeFactory.CODE_PREFIX_file_id));
-            fileDto.setFileName(fileDto.getFileId());
-            fileDto.setContext(reqJson.getString("photo"));
-            fileDto.setSuffix("jpeg");
-            fileDto.setCommunityId(reqJson.getString("communityId"));
-            String fileName = fileInnerServiceSMOImpl.saveFile(fileDto);
-            reqJson.put("photoId", fileDto.getFileId());
-            reqJson.put("fileSaveName", fileName);
+            if (reqJson.getString("photo").length() > 512) { //璇存槑鏄浘鐗�
+                FileDto fileDto = new FileDto();
+                fileDto.setFileId(GenerateCodeFactory.getGeneratorId(GenerateCodeFactory.CODE_PREFIX_file_id));
+                fileDto.setFileName(fileDto.getFileId());
+                fileDto.setContext(reqJson.getString("photo"));
+                fileDto.setSuffix("jpeg");
+                fileDto.setCommunityId(reqJson.getString("communityId"));
+                String fileName = fileInnerServiceSMOImpl.saveFile(fileDto);
+                reqJson.put("photo", fileName);
 
+            }
             JSONObject businessUnit = new JSONObject();
-            businessUnit.put("fileRelId", "-1");
+            businessUnit.put("fileRelId", GenerateCodeFactory.getGeneratorId(GenerateCodeFactory.CODE_PREFIX_fileRelId));
             businessUnit.put("relTypeCd", "11000");
             businessUnit.put("saveWay", "table");
             businessUnit.put("objId", reqJson.getString("vId"));
-            businessUnit.put("fileRealName", fileDto.getFileId());
-            businessUnit.put("fileSaveName", fileName);
+            businessUnit.put("fileRealName", reqJson.getString("photo"));
+            businessUnit.put("fileSaveName", reqJson.getString("photo"));
             FileRelPo fileRelPo = BeanConvertUtil.covertBean(businessUnit, FileRelPo.class);
             fileRelInnerServiceSMOImpl.saveFileRel(fileRelPo);
         }
@@ -262,6 +273,7 @@
             ownerCarPo.setState(OwnerCarDto.STATE_NORMAL); //1001 姝e父鐘舵�侊紝2002 杞︿綅閲婃斁娆犺垂鐘舵��  3003 杞︿綅閲婃斁
             ownerCarPo.setCarTypeCd(OwnerCarDto.CAR_TYPE_TEMP); //1001 涓氫富杞﹁締 1002 鎴愬憳杞﹁締 1003 涓存椂杞�
             ownerCarPo.setMemberId(reqJson.getString("ownerId"));
+            ownerCarPo.setLeaseType(OwnerCarDto.LEASE_TYPE_RESERVE); //H 鏈堢杞�   S 鍑哄敭杞�   I 鍐呴儴杞�   NM 鍏嶈垂杞�   R 棰勭害杞�
             ownerCarV1InnerServiceSMOImpl.saveOwnerCar(ownerCarPo);
             //娣诲姞杞﹁締灞炴��
             OwnerCarAttrPo ownerCarAttrPo = new OwnerCarAttrPo();
@@ -298,18 +310,40 @@
     /**
      * 娣诲姞灏忓尯淇℃伅
      *
-     * @param paramInJson     鎺ュ彛璋冪敤鏀句紶鍏ュ叆鍙�
+     * @param paramInJson 鎺ュ彛璋冪敤鏀句紶鍏ュ叆鍙�
      * @return 璁㈠崟鏈嶅姟鑳藉鎺ュ彈鐨勬姤鏂�
      */
     public void addVisit(JSONObject paramInJson) {
-
         JSONObject businessVisit = new JSONObject();
         businessVisit.putAll(paramInJson);
-
         VisitPo visitPo = BeanConvertUtil.covertBean(businessVisit, VisitPo.class);
-        int flag =visitV1InnerServiceSMOImpl.saveVisit(visitPo);
-        if(flag <1){
+        int flag = visitV1InnerServiceSMOImpl.saveVisit(visitPo);
+        if (flag < 1) {
             throw new CmdException("淇濆瓨璁垮澶辫触");
         }
     }
+
+    /**
+     * 娣诲姞鐧藉悕鍗曚俊鎭�
+     *
+     * @param paramInJson
+     */
+    public void addBlackWhite(JSONObject paramInJson) {
+        CarBlackWhitePo carBlackWhitePo = new CarBlackWhitePo();
+        carBlackWhitePo.setBwId(GenerateCodeFactory.getGeneratorId(CODE_PREFIX_ID));
+        carBlackWhitePo.setbId("-1");
+        carBlackWhitePo.setCommunityId(paramInJson.getString("communityId"));
+        carBlackWhitePo.setBlackWhite("2222"); //1111 榛戝悕鍗� 2222 鐧藉悕鍗�
+        carBlackWhitePo.setCarNum(paramInJson.getString("carNum"));
+        carBlackWhitePo.setStartTime(paramInJson.getString("visitTime"));
+        carBlackWhitePo.setEndTime(paramInJson.getString("freeTime"));
+        SimpleDateFormat simpleDateFormat = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
+        carBlackWhitePo.setCreateTime(simpleDateFormat.format(new Date()));
+        ParkingSpaceDto parkingSpaceDto = new ParkingSpaceDto();
+        parkingSpaceDto.setPsId(paramInJson.getString("psId"));
+        List<ParkingSpaceDto> parkingSpaceDtos = parkingSpaceInnerServiceSMOImpl.queryParkingSpaces(parkingSpaceDto); //鏌ヨ杞︿綅
+        Assert.listOnlyOne(parkingSpaceDtos, "鏌ヨ杞︿綅閿欒锛�");
+        carBlackWhitePo.setPaId(parkingSpaceDtos.get(0).getPaId());
+        carBlackWhiteV1InnerServiceSMOImpl.saveCarBlackWhite(carBlackWhitePo);
+    }
 }

--
Gitblit v1.8.0