Просмотр исходного кода

加入添加小区 修改小区功能

java110 лет назад: 5
Родитель
Сommit
d5f7690425

+ 16 - 0
service-api/src/main/java/com/java110/api/bmo/community/ICommunityBMO.java

@@ -156,6 +156,22 @@ public interface ICommunityBMO extends IApiBaseBMO {
      * @return 订单服务能够接受的报文
      */
     public void addCommunity(JSONObject paramInJson, DataFlowContext dataFlowContext);
+    /**
+     * 添加小区信息
+     *
+     * @param paramInJson     接口调用放传入入参
+     * @param dataFlowContext 数据上下文
+     * @return 订单服务能够接受的报文
+     */
+    public void addAttr(JSONObject paramInJson, DataFlowContext dataFlowContext);
+    /**
+     * 添加小区信息
+     *
+     * @param paramInJson     接口调用放传入入参
+     * @param dataFlowContext 数据上下文
+     * @return 订单服务能够接受的报文
+     */
+    public void updateAttr(JSONObject paramInJson, DataFlowContext dataFlowContext);
 
     /**
      * 添加小区信息

+ 28 - 0
service-api/src/main/java/com/java110/api/bmo/community/impl/CommunityBMOImpl.java

@@ -11,6 +11,7 @@ import com.java110.dto.community.CommunityDto;
 import com.java110.dto.workflow.WorkflowDto;
 import com.java110.intf.common.IWorkflowInnerServiceSMO;
 import com.java110.intf.community.ICommunityInnerServiceSMO;
+import com.java110.po.community.CommunityAttrPo;
 import com.java110.po.community.CommunityMemberPo;
 import com.java110.po.community.CommunityPo;
 import com.java110.po.fee.PayFeeConfigPo;
@@ -523,6 +524,33 @@ public class CommunityBMOImpl extends ApiBaseBMO implements ICommunityBMO {
         CommunityPo communityPo = BeanConvertUtil.covertBean(paramInJson, CommunityPo.class);
         super.insert(dataFlowContext, communityPo, BusinessTypeConstant.BUSINESS_TYPE_SAVE_COMMUNITY_INFO);
 
+    }
+    /**
+     * 添加小区信息
+     *
+     * @param paramInJson     接口调用放传入入参
+     * @param dataFlowContext 数据上下文
+     * @return 订单服务能够接受的报文
+     */
+    public void addAttr(JSONObject paramInJson, DataFlowContext dataFlowContext) {
+
+        paramInJson.put("attrId", GenerateCodeFactory.getGeneratorId(GenerateCodeFactory.CODE_PREFIX_attrId));
+        CommunityAttrPo communityAttrPo = BeanConvertUtil.covertBean(paramInJson, CommunityAttrPo.class);
+        super.insert(dataFlowContext, communityAttrPo, BusinessTypeConstant.BUSINESS_TYPE_SAVE_COMMUNITY_INFO);
+
+    }
+    /**
+     * 添加小区信息
+     *
+     * @param paramInJson     接口调用放传入入参
+     * @param dataFlowContext 数据上下文
+     * @return 订单服务能够接受的报文
+     */
+    public void updateAttr(JSONObject paramInJson, DataFlowContext dataFlowContext) {
+
+        CommunityAttrPo communityAttrPo = BeanConvertUtil.covertBean(paramInJson, CommunityAttrPo.class);
+        super.insert(dataFlowContext, communityAttrPo, BusinessTypeConstant.BUSINESS_TYPE_UPDATE_COMMUNITY_INFO);
+
     }
 
     /**

+ 27 - 1
service-api/src/main/java/com/java110/api/listener/community/SaveCommunityListener.java

@@ -1,5 +1,6 @@
 package com.java110.api.listener.community;
 
+import com.alibaba.fastjson.JSONArray;
 import com.alibaba.fastjson.JSONObject;
 import com.java110.api.bmo.community.ICommunityBMO;
 import com.java110.api.listener.AbstractServiceApiPlusListener;
@@ -36,7 +37,8 @@ public class SaveCommunityListener extends AbstractServiceApiPlusListener {
         Assert.hasKeyAndValue(reqJson, "address", "必填,请填写小区地址");
         Assert.hasKeyAndValue(reqJson, "nearbyLandmarks", "必填,请填写小区附近地标");
 
-
+        //属性校验
+        Assert.judgeAttrValue(reqJson);
 
     }
 
@@ -51,6 +53,8 @@ public class SaveCommunityListener extends AbstractServiceApiPlusListener {
         communityBMOImpl.addFeeConfigRepair(reqJson, context); // 报修费用
         communityBMOImpl.addFeeConfigParkingSpaceTemp(reqJson, context);//地下出租
 
+        dealAttr(reqJson, context);
+
         WorkflowPo workflowPo = null;
         workflowPo = new WorkflowPo();
         workflowPo.setCommunityId(reqJson.getString("communityId"));
@@ -63,6 +67,28 @@ public class SaveCommunityListener extends AbstractServiceApiPlusListener {
     }
 
 
+    private void dealAttr(JSONObject paramObj, DataFlowContext context) {
+
+        if (!paramObj.containsKey("attrs")) {
+            return;
+        }
+
+        JSONArray attrs = paramObj.getJSONArray("attrs");
+        if (attrs.size() < 1) {
+            return;
+        }
+
+
+        JSONObject attr = null;
+        for (int attrIndex = 0; attrIndex < attrs.size(); attrIndex++) {
+            attr = attrs.getJSONObject(attrIndex);
+            attr.put("communityId", paramObj.getString("communityId"));
+            communityBMOImpl.addAttr(attr, context);
+        }
+
+    }
+
+
     @Override
     public String getServiceCode() {
         return ServiceCodeConstant.SERVICE_CODE_SAVE_COMMUNITY;

+ 26 - 2
service-api/src/main/java/com/java110/api/listener/community/UpdateCommunityListener.java

@@ -1,13 +1,15 @@
 package com.java110.api.listener.community;
 
+import com.alibaba.fastjson.JSONArray;
 import com.alibaba.fastjson.JSONObject;
 import com.java110.api.bmo.community.ICommunityBMO;
 import com.java110.api.listener.AbstractServiceApiPlusListener;
-import com.java110.utils.constant.ServiceCodeConstant;
-import com.java110.utils.util.Assert;
 import com.java110.core.annotation.Java110Listener;
 import com.java110.core.context.DataFlowContext;
 import com.java110.core.event.service.api.ServiceDataFlowEvent;
+import com.java110.utils.constant.ServiceCodeConstant;
+import com.java110.utils.util.Assert;
+import com.java110.utils.util.StringUtil;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.http.HttpMethod;
 
@@ -29,12 +31,34 @@ public class UpdateCommunityListener extends AbstractServiceApiPlusListener {
         Assert.hasKeyAndValue(reqJson, "address", "必填,请填写小区地址");
         Assert.hasKeyAndValue(reqJson, "nearbyLandmarks", "必填,请填写小区附近地标");
 
+        Assert.judgeAttrValue(reqJson);
     }
 
     @Override
     protected void doSoService(ServiceDataFlowEvent event, DataFlowContext context, JSONObject reqJson) {
 
         communityBMOImpl.updateCommunityOne(reqJson, context);
+
+        if (!reqJson.containsKey("attrs")) {
+            return;
+        }
+
+        JSONArray attrs = reqJson.getJSONArray("attrs");
+        if (attrs.size() < 1) {
+            return;
+        }
+
+
+        JSONObject attr = null;
+        for (int attrIndex = 0; attrIndex < attrs.size(); attrIndex++) {
+            attr = attrs.getJSONObject(attrIndex);
+            attr.put("communityId", reqJson.getString("communityId"));
+            if (!attr.containsKey("attrId") || attr.getString("attrId").startsWith("-") || StringUtil.isEmpty(attr.getString("attrId"))) {
+                communityBMOImpl.addAttr(attr, context);
+                continue;
+            }
+            communityBMOImpl.updateAttr(attr, context);
+        }
     }
 
     @Override

+ 1 - 1
service-community/src/main/java/com/java110/community/smo/impl/RoomInnerServiceSMOImpl.java

@@ -81,7 +81,7 @@ public class RoomInnerServiceSMOImpl extends BaseServiceSMO implements IRoomInne
 
         for (RoomDto room : rooms) {
             try {
-                room.setApartmentName(MappingCache.getValue(room.getApartment().substring(0, 2).toString()) + MappingCache.getValue(room.getApartment().substring(2, 5).toString()));
+                room.setApartmentName(MappingCache.getValue(room.getApartment().substring(0, 2).toString()) + MappingCache.getValue(room.getApartment().substring(2, 4).toString()));
             } catch (Exception e) {
                 logger.error("设置房屋户型失败", e);
             }