Browse Source

optimize pay fee to month

java110 3 years ago
parent
commit
1608c09b23

+ 7 - 3
service-fee/src/main/java/com/java110/fee/cmd/fee/DeleteFeeCmd.java

@@ -7,6 +7,7 @@ import com.java110.core.event.cmd.Cmd;
 import com.java110.core.event.cmd.CmdEvent;
 import com.java110.dto.fee.FeeDetailDto;
 import com.java110.dto.fee.FeeDto;
+import com.java110.fee.feeMonth.IPayFeeMonth;
 import com.java110.intf.community.IRoomInnerServiceSMO;
 import com.java110.intf.fee.IFeeDetailInnerServiceSMO;
 import com.java110.intf.fee.IFeeInnerServiceSMO;
@@ -40,6 +41,9 @@ public class DeleteFeeCmd extends Cmd {
     @Autowired
     private IFeeDetailInnerServiceSMO feeDetailInnerServiceSMOImpl;
 
+    @Autowired
+    private IPayFeeMonth payFeeMonthImpl;
+
     @Override
     public void validate(CmdEvent event, ICmdDataFlowContext context, JSONObject reqJson) throws CmdException {
         // super.validatePageInfo(pd);
@@ -54,9 +58,6 @@ public class DeleteFeeCmd extends Cmd {
 
         Assert.listOnlyOne(feeDtos, "未查询到费用信息 或查询到多条" + reqJson);
 
-//        if ("T".equals(feeDtos.get(0).getIsDefault())) {
-//            throw new IllegalArgumentException("当前费用为默认费用不能做删除");
-//        }
 
         String feeValidate = MappingCache.getValue("DELETE_FEE_VALIDATE");
         if ("ON".equals(feeValidate)) {
@@ -96,5 +97,8 @@ public class DeleteFeeCmd extends Cmd {
                 throw new IllegalArgumentException("删除失败");
             }
         }
+
+        //todo 离散的月
+        payFeeMonthImpl.deleteFeeMonth(payFeePo.getFeeId(),payFeePo.getCommunityId());
     }
 }

+ 8 - 0
service-fee/src/main/java/com/java110/fee/cmd/fee/UpdateFeeCmd.java

@@ -9,6 +9,7 @@ import com.java110.core.factory.GenerateCodeFactory;
 import com.java110.dto.fee.FeeAttrDto;
 import com.java110.dto.fee.FeeConfigDto;
 import com.java110.dto.fee.FeeDto;
+import com.java110.fee.feeMonth.IPayFeeMonth;
 import com.java110.fee.smo.impl.FeeAttrInnerServiceSMOImpl;
 import com.java110.intf.community.IRoomInnerServiceSMO;
 import com.java110.intf.fee.IFeeInnerServiceSMO;
@@ -41,6 +42,9 @@ public class UpdateFeeCmd extends Cmd {
     @Autowired
     private FeeAttrInnerServiceSMOImpl feeAttrInnerServiceSMOImpl;
 
+    @Autowired
+    private IPayFeeMonth payFeeMonthImpl;
+
     @Override
     public void validate(CmdEvent event, ICmdDataFlowContext context, JSONObject reqJson) throws CmdException {
 
@@ -73,6 +77,10 @@ public class UpdateFeeCmd extends Cmd {
             throw new CmdException("修改费用");
         }
 
+        // todo 重新计算离散月
+        payFeeMonthImpl.deleteFeeMonth(payFeePo.getFeeId(),payFeePo.getCommunityId());
+        payFeeMonthImpl.doGeneratorOrRefreshFeeMonth(payFeePo.getFeeId(),payFeePo.getCommunityId());
+
 
         if (reqJson.containsKey("maxEndTime") && !StringUtil.isEmpty(reqJson.getString("maxEndTime"))) {
             FeeAttrDto feeAttrDto = new FeeAttrDto();

+ 7 - 0
service-fee/src/main/java/com/java110/fee/feeMonth/IPayFeeMonth.java

@@ -30,4 +30,11 @@ public interface IPayFeeMonth {
      */
     void payFeeDetailRefreshFeeMonth(String feeId,String detailId,String communityId);
 
+    /**
+     * 删除 费用离散月
+     * @param feeId
+     * @param communityId
+     */
+    void deleteFeeMonth(String feeId,String communityId);
+
 }

+ 9 - 0
service-fee/src/main/java/com/java110/fee/feeMonth/PayFeeMonthImpl.java

@@ -235,6 +235,15 @@ public class PayFeeMonthImpl implements IPayFeeMonth {
         doGeneratorTimeMonthData(feeDto, payFeeMonthOwnerDto, feePrice, feeDetailDtos.get(0).getStartTime(), feeDetailDtos.get(0).getEndTime());
     }
 
+    @Override
+    public void deleteFeeMonth(String feeId, String communityId) {
+
+        PayFeeDetailMonthPo payFeeDetailMonthPo = new PayFeeDetailMonthPo();
+        payFeeDetailMonthPo.setFeeId(feeId);
+        payFeeDetailMonthPo.setCommunityId(communityId);
+        payFeeDetailMonthInnerServiceSMOImpl.deletePayFeeDetailMonth(payFeeDetailMonthPo);
+    }
+
     /**
      * 删除缴费范围内的数据
      *