From b6184e2ddf3db37a94f7efb3b619bbc64642a292 Mon Sep 17 00:00:00 2001
From: chengf <cgf12138@163.com>
Date: 星期二, 27 一月 2026 18:12:48 +0800
Subject: [PATCH] Z四

---
 service-community/src/main/java/com/java110/community/cmd/community/SaveCommunityCmd.java |  115 ++++++++++++++++++++++++++++++++++++++++++++++++++-------
 1 files changed, 100 insertions(+), 15 deletions(-)

diff --git a/service-community/src/main/java/com/java110/community/cmd/community/SaveCommunityCmd.java b/service-community/src/main/java/com/java110/community/cmd/community/SaveCommunityCmd.java
index 41e6c67..87df7b4 100644
--- a/service-community/src/main/java/com/java110/community/cmd/community/SaveCommunityCmd.java
+++ b/service-community/src/main/java/com/java110/community/cmd/community/SaveCommunityCmd.java
@@ -15,25 +15,67 @@
  */
 package com.java110.community.cmd.community;
 
+import com.alibaba.druid.util.StringUtils;
 import com.alibaba.fastjson.JSONArray;
 import com.alibaba.fastjson.JSONObject;
 import com.java110.community.bmo.community.ICommunityBMO;
+import com.java110.community.bmo.community.PropertyManagementRecords;
 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.workflow.WorkflowDto;
+import com.java110.doc.annotation.*;
+import com.java110.dto.community.CommunityDto;
+import com.java110.dto.community.PropertyManagementRecordDto;
+import com.java110.dto.oaWorkflow.WorkflowDto;
 import com.java110.intf.common.IWorkflowV1InnerServiceSMO;
 import com.java110.intf.community.ICommunityV1InnerServiceSMO;
-import com.java110.po.workflow.WorkflowPo;
+import com.java110.intf.community.PropertyManagementRecordsServiceSMO;
+import com.java110.po.community.PropertyManagementRecordPo;
+import com.java110.po.oaWorkflow.WorkflowPo;
 import com.java110.utils.exception.CmdException;
 import com.java110.utils.util.Assert;
 import com.java110.vo.ResultVo;
 import org.slf4j.Logger;
 import com.java110.core.log.LoggerFactory;
 import org.springframework.beans.factory.annotation.Autowired;
+
+
+@Java110CmdDoc(title = "娣诲姞灏忓尯",
+        description = "涓昏鎻愪緵缁欏绯荤粺娣诲姞灏忓尯",
+        httpMethod = "post",
+        url = "http://{ip}:{port}/app/community.saveCommunity",
+        resource = "communityDoc",
+        author = "鍚村鏂�",
+        serviceCode = "community.saveCommunity",
+        seq = 1
+)
+
+@Java110ParamsDoc(params = {
+        @Java110ParamDoc(name = "address", length = 30, remark = "灏忓尯鍦板潃"),
+        @Java110ParamDoc(name = "cityCode", length = 12, remark = "鍦板尯缂栫爜"),
+        @Java110ParamDoc(name = "feePrice", type = "int",length = 11, remark = "灏忓尯鏀惰垂浠锋牸"),
+        @Java110ParamDoc(name = "mapX", length = 12, remark = "缁忓害"),
+        @Java110ParamDoc(name = "mapY", length = 12, remark = "绾害"),
+        @Java110ParamDoc(name = "name", length = 64, remark = "鍚嶇О"),
+        @Java110ParamDoc(name = "nearbyLandmarks", length = 64, remark = "鍦版爣锛屽xx 鍏洯鏃�"),
+        @Java110ParamDoc(name = "payFeeMonth", type = "int",length = 11, remark = "灏忓尯鏀惰垂鍛ㄦ湡"),
+        @Java110ParamDoc(name = "tel", length = 11, 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="{\"name\":\"api鎺ュ彛灏忓尯\",\"address\":\"澶╂触鐪佸ぉ娲ュ競鍜屽钩鍖篴pi鎺ュ彛灏忓尯\",\"tmpAddress\":\"api鎺ュ彛灏忓尯\",\"areaAddress\":\"澶╂触鐪佸ぉ娲ュ競鍜屽钩鍖篭",\"nearbyLandmarks\":\"23\",\"tel\":\"18909711443\",\"cityCode\":\"120101\",\"mapX\":\"101.33\",\"mapY\":\"101.33\",\"attrs\":[{\"domain\":\"COMMON\",\"listShow\":\"Y\",\"page\":-1,\"records\":0,\"required\":\"Y\",\"row\":0,\"specCd\":\"9329000004\",\"specHoldplace\":\"蹇呭~锛岃濉啓绀惧尯缂栫爜\",\"specId\":\"9329000004\",\"specName\":\"绀惧尯缂栫爜\",\"specShow\":\"Y\",\"specType\":\"2233\",\"specValueType\":\"1001\",\"statusCd\":\"0\",\"tableName\":\"building_community_attr\",\"total\":0,\"value\":\"123123\",\"values\":[]}],\"payFeeMonth\":12,\"feePrice\":0}",
+        resBody="{'code':0,'msg':'鎴愬姛'}"
+)
 
 /**
  * 绫昏〃杩帮細淇濆瓨
@@ -61,6 +103,9 @@
     @Autowired
     private IWorkflowV1InnerServiceSMO workflowV1InnerServiceSMOImpl;
 
+    @Autowired
+    private PropertyManagementRecordsServiceSMO propertyManagementRecordsServiceSMO;
+
     @Override
     public void validate(CmdEvent event, ICmdDataFlowContext cmdDataFlowContext, JSONObject reqJson) {
         Assert.hasKeyAndValue(reqJson, "name", "蹇呭~锛岃濉啓灏忓尯鍚嶇О");
@@ -68,6 +113,8 @@
         Assert.hasKeyAndValue(reqJson, "cityCode", "璇锋眰鎶ユ枃涓湭鍖呭惈cityCode");
         Assert.hasKeyAndValue(reqJson, "payFeeMonth", "璇锋眰鎶ユ枃涓湭鍖呭惈payFeeMonth");
         Assert.hasKeyAndValue(reqJson, "feePrice", "璇锋眰鎶ユ枃涓湭鍖呭惈feePrice");
+        Assert.hasKeyAndValue(reqJson, "takeTime", "璇锋眰鎶ユ枃涓湭鍖呭惈鎺ョ鏃ユ湡");
+        Assert.hasKeyAndValue(reqJson, "communityCode", "璇锋眰鎶ユ枃涓湭鍖呭惈灏忓尯缂栫爜");
         //灞炴�ф牎楠�
         Assert.judgeAttrValue(reqJson);
 
@@ -76,6 +123,18 @@
     @Override
     @Java110Transactional
     public void doCmd(CmdEvent event, ICmdDataFlowContext cmdDataFlowContext, JSONObject reqJson) throws CmdException {
+        CommunityDto communityDto = new CommunityDto();
+        communityDto.setCommunityCode(reqJson.getString("communityCode"));
+        int i = communityV1InnerServiceSMOImpl.queryCommunitysCount(communityDto);
+        if (i > 0) {
+            throw new IllegalArgumentException("娣诲姞娴佺▼澶辫触,灏忓尯缂栫爜閲嶅");
+        }
+        communityDto = new CommunityDto();
+        communityDto.setName(reqJson.getString("name"));
+        i = communityV1InnerServiceSMOImpl.queryCommunitysCount(communityDto);
+        if (i > 0) {
+            throw new IllegalArgumentException("娣诲姞娴佺▼澶辫触,灏忓尯鍚嶇О閲嶅");
+        }
         communityBMOImpl.addCommunity(reqJson, cmdDataFlowContext);
         communityBMOImpl.addCommunityMembers(reqJson, cmdDataFlowContext);
         //浜х敓鐗╀笟璐归厤缃俊鎭� 涓嶈浜х敓榛樿璐�
@@ -98,18 +157,18 @@
             throw new IllegalArgumentException("娣诲姞娴佺▼澶辫触");
         }
 
-        WorkflowPo workflowPo1 = null;
-        workflowPo1 = new WorkflowPo();
-        workflowPo1.setCommunityId(reqJson.getString("communityId"));
-        workflowPo1.setFlowId(GenerateCodeFactory.getGeneratorId(GenerateCodeFactory.CODE_PREFIX_flowId));
-        workflowPo1.setFlowName("鐗╁搧棰嗙敤");
-        workflowPo1.setFlowType(WorkflowDto.FLOW_TYPE_COLLECTION);
-        workflowPo1.setSkipLevel(WorkflowDto.DEFAULT_SKIP_LEVEL);
-        workflowPo1.setStoreId(reqJson.getString("storeId"));
-        flag = workflowV1InnerServiceSMOImpl.saveWorkflow(workflowPo1);
-        if (flag < 1) {
-            throw new IllegalArgumentException("娣诲姞娴佺▼澶辫触");
-        }
+//        WorkflowPo workflowPo1 = null;
+//        workflowPo1 = new WorkflowPo();
+//        workflowPo1.setCommunityId(reqJson.getString("communityId"));
+//        workflowPo1.setFlowId(GenerateCodeFactory.getGeneratorId(GenerateCodeFactory.CODE_PREFIX_flowId));
+//        workflowPo1.setFlowName("鐗╁搧棰嗙敤");
+//        workflowPo1.setFlowType(WorkflowDto.FLOW_TYPE_COLLECTION);
+//        workflowPo1.setSkipLevel(WorkflowDto.DEFAULT_SKIP_LEVEL);
+//        workflowPo1.setStoreId(reqJson.getString("storeId"));
+//        flag = workflowV1InnerServiceSMOImpl.saveWorkflow(workflowPo1);
+//        if (flag < 1) {
+//            throw new IllegalArgumentException("娣诲姞娴佺▼澶辫触");
+//        }
 
         WorkflowPo workflowPo2 = new WorkflowPo();
         workflowPo2.setCommunityId(reqJson.getString("communityId")); //琚皟鎷ㄥ皬鍖�
@@ -122,9 +181,35 @@
         if (flag < 1) {
             throw new IllegalArgumentException("娣诲姞娴佺▼澶辫触");
         }
-        cmdDataFlowContext.setResponseEntity(ResultVo.success());
+        addPropertyManagementRecord(reqJson);
+        cmdDataFlowContext.setResponseEntity(ResultVo.createResponseEntity(reqJson.getString("communityId")));
     }
 
+    private void addPropertyManagementRecord(JSONObject reqJson) {
+        // 浠庤姹傚弬鏁颁腑鑾峰彇蹇呰淇℃伅锛堟牴鎹疄闄呬笟鍔″弬鏁拌皟鏁磌ey锛�
+        String communityId = reqJson.getString("communityId");
+        CommunityDto communityDto = new CommunityDto();
+        communityDto.setCommunityId(communityId);
+        CommunityDto communityDto1 = communityV1InnerServiceSMOImpl.queryCommunitys(communityDto).get(0);
+
+        // 鏋勫缓绠$悊璁板綍PO瀵硅薄
+        PropertyManagementRecordPo recordPo = new PropertyManagementRecordPo();
+        // 璁剧疆涓婚敭ID锛堝鏋滀娇鐢ㄨ嚜澧炰富閿彲鐪佺暐锛岀敱鏁版嵁搴撶敓鎴愶級
+        recordPo.setId(GenerateCodeFactory.getGeneratorId(GenerateCodeFactory.CODE_PREFIX_commentId));
+        recordPo.setCommunityId(communityId);
+        recordPo.setCommunityName(communityDto1.getName());
+        recordPo.setManagementStartDate(communityDto1.getTakeTime()); // 鏍煎紡闇�涓庢暟鎹簱涓�鑷�
+        recordPo.setManagementEndDate(communityDto1.getOutTime() == null ? null : communityDto1.getOutTime()); // 鍒濆涓哄湪绠$姸鎬侊紝閫�绠℃椂闂翠负null
+        recordPo.setStatus(0); // 0-鏈夋晥
+        recordPo.setRemark("灏忓尯鍒涘缓鏃惰嚜鍔ㄦ坊鍔犵殑鍒濆鍦ㄧ璁板綍"); // 澶囨敞淇℃伅
+        // 鍒涘缓鏃堕棿鍜屾洿鏂版椂闂村彲鐢辨暟鎹簱鑷姩鐢熸垚鎴栭�氳繃妗嗘灦濉厖
+
+        // 璋冪敤淇濆瓨鎺ュ彛
+        int saveFlag = propertyManagementRecordsServiceSMO.savePropertyManagementRecord(recordPo);
+        if (saveFlag < 1) {
+            throw new IllegalArgumentException("娣诲姞灏忓尯鍦ㄧ璁板綍澶辫触");
+        }
+    }
 
     private void dealAttr(JSONObject paramObj, ICmdDataFlowContext context) {
 

--
Gitblit v1.8.0