wuxw hace 1 año
padre
commit
f4fc01d488

+ 23 - 10
service-fee/src/main/java/com/java110/fee/cmd/meterWater/SaveMeterWaterCmd.java

@@ -31,10 +31,7 @@ import com.java110.dto.payFee.PayFeeBatchDto;
 import com.java110.dto.user.UserDto;
 import com.java110.dto.user.UserDto;
 import com.java110.fee.feeMonth.IPayFeeMonth;
 import com.java110.fee.feeMonth.IPayFeeMonth;
 import com.java110.intf.community.IRoomInnerServiceSMO;
 import com.java110.intf.community.IRoomInnerServiceSMO;
-import com.java110.intf.fee.IFeeAttrInnerServiceSMO;
-import com.java110.intf.fee.IMeterWaterV1InnerServiceSMO;
-import com.java110.intf.fee.IPayFeeBatchV1InnerServiceSMO;
-import com.java110.intf.fee.IPayFeeV1InnerServiceSMO;
+import com.java110.intf.fee.*;
 import com.java110.intf.user.IOwnerInnerServiceSMO;
 import com.java110.intf.user.IOwnerInnerServiceSMO;
 import com.java110.intf.user.IUserInnerServiceSMO;
 import com.java110.intf.user.IUserInnerServiceSMO;
 import com.java110.po.fee.FeeAttrPo;
 import com.java110.po.fee.FeeAttrPo;
@@ -45,6 +42,7 @@ import com.java110.utils.cache.MappingCache;
 import com.java110.utils.exception.CmdException;
 import com.java110.utils.exception.CmdException;
 import com.java110.utils.util.Assert;
 import com.java110.utils.util.Assert;
 import com.java110.utils.util.BeanConvertUtil;
 import com.java110.utils.util.BeanConvertUtil;
+import com.java110.utils.util.ListUtil;
 import com.java110.utils.util.StringUtil;
 import com.java110.utils.util.StringUtil;
 import com.java110.vo.ResultVo;
 import com.java110.vo.ResultVo;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.beans.factory.annotation.Autowired;
@@ -87,6 +85,9 @@ public class SaveMeterWaterCmd extends Cmd {
     @Autowired
     @Autowired
     private IOwnerInnerServiceSMO ownerInnerServiceSMOImpl;
     private IOwnerInnerServiceSMO ownerInnerServiceSMOImpl;
 
 
+    @Autowired
+    private IPayFeeConfigV1InnerServiceSMO payFeeConfigV1InnerServiceSMOImpl;
+
     @Autowired
     @Autowired
     private IPayFeeBatchV1InnerServiceSMO payFeeBatchV1InnerServiceSMOImpl;
     private IPayFeeBatchV1InnerServiceSMO payFeeBatchV1InnerServiceSMOImpl;
 
 
@@ -105,7 +106,6 @@ public class SaveMeterWaterCmd extends Cmd {
 
 
     @Override
     @Override
     public void validate(CmdEvent event, ICmdDataFlowContext cmdDataFlowContext, JSONObject reqJson) {
     public void validate(CmdEvent event, ICmdDataFlowContext cmdDataFlowContext, JSONObject reqJson) {
-        Assert.hasKeyAndValue(reqJson, "feeTypeCd", "请求报文中未包含费用类型");
         Assert.hasKeyAndValue(reqJson, "configId", "请求报文中未包含费用项");
         Assert.hasKeyAndValue(reqJson, "configId", "请求报文中未包含费用项");
         Assert.hasKeyAndValue(reqJson, "objType", "请求报文中未包含objType");
         Assert.hasKeyAndValue(reqJson, "objType", "请求报文中未包含objType");
         Assert.hasKeyAndValue(reqJson, "objId", "请求报文中未包含objId");
         Assert.hasKeyAndValue(reqJson, "objId", "请求报文中未包含objId");
@@ -119,11 +119,22 @@ public class SaveMeterWaterCmd extends Cmd {
         if (reqJson.getDoubleValue("curDegrees") < reqJson.getDoubleValue("preDegrees")) {
         if (reqJson.getDoubleValue("curDegrees") < reqJson.getDoubleValue("preDegrees")) {
             throw new CmdException("当前读数小于上期读数");
             throw new CmdException("当前读数小于上期读数");
         }
         }
+
+
     }
     }
 
 
     @Override
     @Override
     @Java110Transactional
     @Java110Transactional
     public void doCmd(CmdEvent event, ICmdDataFlowContext cmdDataFlowContext, JSONObject reqJson) throws CmdException {
     public void doCmd(CmdEvent event, ICmdDataFlowContext cmdDataFlowContext, JSONObject reqJson) throws CmdException {
+
+        FeeConfigDto feeConfigDto = new FeeConfigDto();
+        feeConfigDto.setConfigId(reqJson.getString("configId"));
+        feeConfigDto.setCommunityId(reqJson.getString("communityId"));
+        List<FeeConfigDto> feeConfigDtos = payFeeConfigV1InnerServiceSMOImpl.queryPayFeeConfigs(feeConfigDto);
+        if (ListUtil.isNull(feeConfigDtos)) {
+            throw new CmdException("费用项不存在");
+        }
+        reqJson.put("feeTypeCd", feeConfigDtos.get(0).getFeeTypeCd());
         String objId = reqJson.getString("objId");
         String objId = reqJson.getString("objId");
         RoomDto roomDto = new RoomDto();
         RoomDto roomDto = new RoomDto();
         roomDto.setRoomId(objId);
         roomDto.setRoomId(objId);
@@ -151,15 +162,17 @@ public class SaveMeterWaterCmd extends Cmd {
             //将数组转成list集合(电费黑名单集合)
             //将数组转成list集合(电费黑名单集合)
             electricRemarkList = Arrays.asList(electricSplit);
             electricRemarkList = Arrays.asList(electricSplit);
         }
         }
+
+
         //如果是水费,且在水费黑名单就直接生成水费记录,不生成费用
         //如果是水费,且在水费黑名单就直接生成水费记录,不生成费用
         if (waterRemarkList.contains(communityId)
         if (waterRemarkList.contains(communityId)
                 && FeeConfigDto.FEE_TYPE_CD_METER.equals(reqJson.getString("feeTypeCd"))) {
                 && FeeConfigDto.FEE_TYPE_CD_METER.equals(reqJson.getString("feeTypeCd"))) {
             reqJson.put("feeId", "-1");
             reqJson.put("feeId", "-1");
-            addMeterWater(reqJson);
+            addMeterWater(reqJson, roomList.get(0));
         } else if (electricRemarkList.contains(communityId)
         } else if (electricRemarkList.contains(communityId)
                 && FeeConfigDto.FEE_TYPE_CD_WATER.equals(reqJson.getString("feeTypeCd"))) {
                 && FeeConfigDto.FEE_TYPE_CD_WATER.equals(reqJson.getString("feeTypeCd"))) {
             reqJson.put("feeId", "-1");
             reqJson.put("feeId", "-1");
-            addMeterWater(reqJson);
+            addMeterWater(reqJson, roomList.get(0));
         } else {
         } else {
             PayFeePo payFeePo = BeanConvertUtil.covertBean(reqJson, PayFeePo.class);
             PayFeePo payFeePo = BeanConvertUtil.covertBean(reqJson, PayFeePo.class);
             payFeePo.setFeeId(GenerateCodeFactory.getGeneratorId(GenerateCodeFactory.CODE_PREFIX_feeId));
             payFeePo.setFeeId(GenerateCodeFactory.getGeneratorId(GenerateCodeFactory.CODE_PREFIX_feeId));
@@ -178,7 +191,7 @@ public class SaveMeterWaterCmd extends Cmd {
 
 
             //todo 先写 不然 写月离散表 查询费用时 查不到
             //todo 先写 不然 写月离散表 查询费用时 查不到
             reqJson.put("feeId", payFeePo.getFeeId());
             reqJson.put("feeId", payFeePo.getFeeId());
-            addMeterWater(reqJson);
+            addMeterWater(reqJson, roomList.get(0));
 
 
             int flag = payFeeV1InnerServiceSMOImpl.savePayFee(payFeePo);
             int flag = payFeeV1InnerServiceSMOImpl.savePayFee(payFeePo);
             if (flag < 1) {
             if (flag < 1) {
@@ -257,13 +270,13 @@ public class SaveMeterWaterCmd extends Cmd {
      * @param paramInJson 接口调用放传入入参
      * @param paramInJson 接口调用放传入入参
      * @return 订单服务能够接受的报文
      * @return 订单服务能够接受的报文
      */
      */
-    public void addMeterWater(JSONObject paramInJson) {
+    public void addMeterWater(JSONObject paramInJson, RoomDto roomDto) {
         MeterWaterPo meterWaterPo = BeanConvertUtil.covertBean(paramInJson, MeterWaterPo.class);
         MeterWaterPo meterWaterPo = BeanConvertUtil.covertBean(paramInJson, MeterWaterPo.class);
         if (StringUtil.isEmpty(meterWaterPo.getbId())) {
         if (StringUtil.isEmpty(meterWaterPo.getbId())) {
             meterWaterPo.setbId("-1");
             meterWaterPo.setbId("-1");
         }
         }
         meterWaterPo.setWaterId(GenerateCodeFactory.getGeneratorId(CODE_PREFIX_ID));
         meterWaterPo.setWaterId(GenerateCodeFactory.getGeneratorId(CODE_PREFIX_ID));
-
+        meterWaterPo.setObjName(roomDto.getFloorNum() + "-" + roomDto.getUnitNum() + "-" + roomDto.getRoomNum());
         int flag = meterWaterV1InnerServiceSMOImpl.saveMeterWater(meterWaterPo);
         int flag = meterWaterV1InnerServiceSMOImpl.saveMeterWater(meterWaterPo);
 
 
         if (flag < 1) {
         if (flag < 1) {