Kaynağa Gözat

优化添加临时车费用问题

java110 5 yıl önce
ebeveyn
işleme
44f1a5ff9b

+ 2 - 1
service-api/src/main/java/com/java110/api/bmo/tempCarFeeConfig/impl/TempCarFeeConfigBMOImpl.java

@@ -4,6 +4,7 @@ import com.alibaba.fastjson.JSONObject;
 import com.java110.api.bmo.ApiBaseBMO;
 import com.java110.api.bmo.ApiBaseBMO;
 import com.java110.api.bmo.tempCarFeeConfig.ITempCarFeeConfigBMO;
 import com.java110.api.bmo.tempCarFeeConfig.ITempCarFeeConfigBMO;
 import com.java110.core.context.DataFlowContext;
 import com.java110.core.context.DataFlowContext;
+import com.java110.core.factory.GenerateCodeFactory;
 import com.java110.intf.fee.ITempCarFeeConfigInnerServiceSMO;
 import com.java110.intf.fee.ITempCarFeeConfigInnerServiceSMO;
 import com.java110.po.tempCarFeeConfig.TempCarFeeConfigPo;
 import com.java110.po.tempCarFeeConfig.TempCarFeeConfigPo;
 import com.java110.utils.constant.BusinessTypeConstant;
 import com.java110.utils.constant.BusinessTypeConstant;
@@ -26,7 +27,7 @@ public class TempCarFeeConfigBMOImpl extends ApiBaseBMO implements ITempCarFeeCo
      */
      */
     public void addTempCarFeeConfig(JSONObject paramInJson, DataFlowContext dataFlowContext) {
     public void addTempCarFeeConfig(JSONObject paramInJson, DataFlowContext dataFlowContext) {
 
 
-        paramInJson.put("configId", "-1");
+        paramInJson.put("configId", GenerateCodeFactory.getGeneratorId(GenerateCodeFactory.CODE_PREFIX_configId));
         TempCarFeeConfigPo tempCarFeeConfigPo = BeanConvertUtil.covertBean(paramInJson, TempCarFeeConfigPo.class);
         TempCarFeeConfigPo tempCarFeeConfigPo = BeanConvertUtil.covertBean(paramInJson, TempCarFeeConfigPo.class);
         super.insert(dataFlowContext, tempCarFeeConfigPo, BusinessTypeConstant.BUSINESS_TYPE_SAVE_TEMP_CAR_FEE_CONFIG_INFO);
         super.insert(dataFlowContext, tempCarFeeConfigPo, BusinessTypeConstant.BUSINESS_TYPE_SAVE_TEMP_CAR_FEE_CONFIG_INFO);
     }
     }

+ 45 - 0
service-api/src/main/java/com/java110/api/listener/fee/SaveTempCarFeeConfigListener.java

@@ -1,16 +1,22 @@
 package com.java110.api.listener.fee;
 package com.java110.api.listener.fee;
 
 
+import com.alibaba.fastjson.JSONArray;
 import com.alibaba.fastjson.JSONObject;
 import com.alibaba.fastjson.JSONObject;
 import com.java110.api.bmo.tempCarFeeConfig.ITempCarFeeConfigBMO;
 import com.java110.api.bmo.tempCarFeeConfig.ITempCarFeeConfigBMO;
+import com.java110.api.bmo.tempCarFeeConfigAttr.ITempCarFeeConfigAttrBMO;
 import com.java110.api.listener.AbstractServiceApiPlusListener;
 import com.java110.api.listener.AbstractServiceApiPlusListener;
 import com.java110.core.annotation.Java110Listener;
 import com.java110.core.annotation.Java110Listener;
 import com.java110.core.context.DataFlowContext;
 import com.java110.core.context.DataFlowContext;
 import com.java110.core.event.service.api.ServiceDataFlowEvent;
 import com.java110.core.event.service.api.ServiceDataFlowEvent;
+import com.java110.dto.parking.ParkingAreaDto;
+import com.java110.intf.community.IParkingAreaInnerServiceSMO;
 import com.java110.utils.constant.ServiceCodeTempCarFeeConfigConstant;
 import com.java110.utils.constant.ServiceCodeTempCarFeeConfigConstant;
 import com.java110.utils.util.Assert;
 import com.java110.utils.util.Assert;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.http.HttpMethod;
 import org.springframework.http.HttpMethod;
 
 
+import java.util.List;
+
 /**
 /**
  * 保存商户侦听
  * 保存商户侦听
  * add by wuxw 2019-06-30
  * add by wuxw 2019-06-30
@@ -20,6 +26,11 @@ public class SaveTempCarFeeConfigListener extends AbstractServiceApiPlusListener
 
 
     @Autowired
     @Autowired
     private ITempCarFeeConfigBMO tempCarFeeConfigBMOImpl;
     private ITempCarFeeConfigBMO tempCarFeeConfigBMOImpl;
+    @Autowired
+    private ITempCarFeeConfigAttrBMO tempCarFeeConfigAttrBMOImpl;
+
+    @Autowired
+    private IParkingAreaInnerServiceSMO parkingAreaInnerServiceSMOImpl;
 
 
     @Override
     @Override
     protected void validate(ServiceDataFlowEvent event, JSONObject reqJson) {
     protected void validate(ServiceDataFlowEvent event, JSONObject reqJson) {
@@ -33,11 +44,45 @@ public class SaveTempCarFeeConfigListener extends AbstractServiceApiPlusListener
         Assert.hasKeyAndValue(reqJson, "startTime", "请求报文中未包含startTime");
         Assert.hasKeyAndValue(reqJson, "startTime", "请求报文中未包含startTime");
         Assert.hasKeyAndValue(reqJson, "endTime", "请求报文中未包含endTime");
         Assert.hasKeyAndValue(reqJson, "endTime", "请求报文中未包含endTime");
 
 
+        //查询停车场编号
+        ParkingAreaDto parkingAreaDto = new ParkingAreaDto();
+        parkingAreaDto.setPaId(reqJson.getString("paId"));
+        parkingAreaDto.setCommunityId(reqJson.getString("communityId"));
+        List<ParkingAreaDto> parkingAreaDtos = parkingAreaInnerServiceSMOImpl.queryParkingAreas(parkingAreaDto);
+
+        Assert.listOnlyOne(parkingAreaDtos, "停车场不存在");
+        reqJson.put("areaNum", parkingAreaDtos.get(0).getNum());
     }
     }
 
 
     @Override
     @Override
     protected void doSoService(ServiceDataFlowEvent event, DataFlowContext context, JSONObject reqJson) {
     protected void doSoService(ServiceDataFlowEvent event, DataFlowContext context, JSONObject reqJson) {
+
         tempCarFeeConfigBMOImpl.addTempCarFeeConfig(reqJson, context);
         tempCarFeeConfigBMOImpl.addTempCarFeeConfig(reqJson, context);
+
+        //处理房屋属性
+        dealAttr(reqJson, context);
+    }
+
+    private void dealAttr(JSONObject reqJson, DataFlowContext 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("configId", reqJson.getString("configId"));
+            attr.put("communityId", reqJson.getString("communityId"));
+            tempCarFeeConfigAttrBMOImpl.addTempCarFeeConfigAttr(attr, context);
+        }
+
     }
     }
 
 
     @Override
     @Override