java110 2 years ago
parent
commit
f3b4616eb1

+ 3 - 2
java110-interface/src/main/java/com/java110/intf/fee/IPayFeeMonthInnerServiceSMO.java

@@ -30,9 +30,10 @@ public interface IPayFeeMonthInnerServiceSMO {
      * @return
      * @return
      */
      */
     @RequestMapping(value = "/payFeeDetailRefreshFeeMonth", method = RequestMethod.POST)
     @RequestMapping(value = "/payFeeDetailRefreshFeeMonth", method = RequestMethod.POST)
-    int payFeeDetailRefreshFeeMonth(PayFeeDetailRefreshFeeMonthDto payFeeDetailRefreshFeeMonthDto);
-
+    int payFeeDetailRefreshFeeMonth(@RequestBody PayFeeDetailRefreshFeeMonthDto payFeeDetailRefreshFeeMonthDto);
 
 
 
 
+    @RequestMapping(value = "/doGeneratorOrRefreshAllFeeMonth", method = RequestMethod.POST)
+    int doGeneratorOrRefreshAllFeeMonth(@RequestBody PayFeeDetailRefreshFeeMonthDto payFeeDetailRefreshFeeMonthDto);
 
 
 }
 }

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

@@ -147,11 +147,18 @@ public class PayFeeMonthImpl implements IPayFeeMonth {
             tmpPayFeeDetailMonthPo.setOwnerId(payFeeMonthOwnerDto.getOwnerId());
             tmpPayFeeDetailMonthPo.setOwnerId(payFeeMonthOwnerDto.getOwnerId());
             tmpPayFeeDetailMonthPo.setOwnerName(payFeeMonthOwnerDto.getOwnerName());
             tmpPayFeeDetailMonthPo.setOwnerName(payFeeMonthOwnerDto.getOwnerName());
             tmpPayFeeDetailMonthPo.setCurMonthTime(DateUtil.getFormatTimeStringB(calendar.getTime()));
             tmpPayFeeDetailMonthPo.setCurMonthTime(DateUtil.getFormatTimeStringB(calendar.getTime()));
+            tmpPayFeeDetailMonthPo.setState("W"); // todo 这里暂时写死,目前用不到,算是预留字段
             payFeeDetailMonthPos.add(tmpPayFeeDetailMonthPo);
             payFeeDetailMonthPos.add(tmpPayFeeDetailMonthPo);
         }
         }
         payFeeDetailMonthInnerServiceSMOImpl.savePayFeeDetailMonths(payFeeDetailMonthPos);
         payFeeDetailMonthInnerServiceSMOImpl.savePayFeeDetailMonths(payFeeDetailMonthPos);
     }
     }
 
 
+    /**
+     * 小区数据 离散为 月数据
+     *
+     * @param communityId
+     */
+    @Async
     @Override
     @Override
     public void doGeneratorOrRefreshAllFeeMonth(String communityId) {
     public void doGeneratorOrRefreshAllFeeMonth(String communityId) {
 
 

+ 6 - 0
service-fee/src/main/java/com/java110/fee/smo/impl/PayFeeMonthInnerServiceSMOImpl.java

@@ -40,4 +40,10 @@ public class PayFeeMonthInnerServiceSMOImpl extends BaseServiceSMO implements IP
                 payFeeDetailRefreshFeeMonthDto.getCommunityId());
                 payFeeDetailRefreshFeeMonthDto.getCommunityId());
         return 1;
         return 1;
     }
     }
+
+    @Override
+    public int doGeneratorOrRefreshAllFeeMonth(@RequestBody PayFeeDetailRefreshFeeMonthDto payFeeDetailRefreshFeeMonthDto) {
+        payFeeMonthImpl.doGeneratorOrRefreshAllFeeMonth(payFeeDetailRefreshFeeMonthDto.getCommunityId());
+        return 1;
+    }
 }
 }

+ 1 - 2
service-job/src/main/java/com/java110/job/adapt/fee/asyn/impl/PayFeeDetailToMonthIImpl.java

@@ -39,7 +39,6 @@ import java.util.*;
 @Service
 @Service
 public class PayFeeDetailToMonthIImpl implements IPayFeeDetailToMonth {
 public class PayFeeDetailToMonthIImpl implements IPayFeeDetailToMonth {
 
 
-
     @Autowired
     @Autowired
     private IFeeInnerServiceSMO feeInnerServiceSMOImpl;
     private IFeeInnerServiceSMO feeInnerServiceSMOImpl;
 
 
@@ -75,7 +74,7 @@ public class PayFeeDetailToMonthIImpl implements IPayFeeDetailToMonth {
         //todo 转换为月(优化版)
         //todo 转换为月(优化版)
         toPayFeeDetailMonth(businessPayFeeDetail, feeDto);
         toPayFeeDetailMonth(businessPayFeeDetail, feeDto);
 
 
-        //todo 转换为月
+        // 转换为月
         //toMonth(businessPayFeeDetail, feeDto, startTime, endTime, createTime);
         //toMonth(businessPayFeeDetail, feeDto, startTime, endTime, createTime);
 
 
         //todo 如果是租金 则延长房屋租期
         //todo 如果是租金 则延长房屋租期

+ 89 - 0
service-job/src/main/java/com/java110/job/task/fee/GeneratePayFeeDetailMonthTemplate.java

@@ -0,0 +1,89 @@
+package com.java110.job.task.fee;
+
+import com.java110.core.factory.GenerateCodeFactory;
+import com.java110.core.smo.IComputeFeeSMO;
+import com.java110.dto.community.CommunityDto;
+import com.java110.dto.fee.FeeAttrDto;
+import com.java110.dto.fee.FeeConfigDto;
+import com.java110.dto.fee.FeeDto;
+import com.java110.dto.logSystemError.LogSystemErrorDto;
+import com.java110.dto.payFeeDetailMonth.PayFeeDetailRefreshFeeMonthDto;
+import com.java110.dto.reportOweFee.ReportOweFeeDto;
+import com.java110.dto.task.TaskDto;
+import com.java110.intf.common.ILogSystemErrorInnerServiceSMO;
+import com.java110.intf.community.IParkingSpaceInnerServiceSMO;
+import com.java110.intf.community.IRoomInnerServiceSMO;
+import com.java110.intf.fee.IFeeConfigInnerServiceSMO;
+import com.java110.intf.fee.IFeeDetailInnerServiceSMO;
+import com.java110.intf.fee.IFeeInnerServiceSMO;
+import com.java110.intf.fee.IPayFeeMonthInnerServiceSMO;
+import com.java110.intf.report.IReportOweFeeInnerServiceSMO;
+import com.java110.intf.user.IOwnerCarInnerServiceSMO;
+import com.java110.intf.user.IOwnerRoomRelInnerServiceSMO;
+import com.java110.job.quartz.TaskSystemQuartz;
+import com.java110.po.logSystemError.LogSystemErrorPo;
+import com.java110.po.reportOweFee.ReportOweFeePo;
+import com.java110.service.smo.ISaveSystemErrorSMO;
+import com.java110.utils.util.DateUtil;
+import com.java110.utils.util.ExceptionUtil;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.stereotype.Component;
+
+import java.util.HashMap;
+import java.util.List;
+import java.util.Map;
+
+/**
+ * @ClassName GeneratePayFeeDetailMonthTemplate
+ * @Description TODO  费用离散处理任务
+ * @Author wuxw
+ * @Date 2020/6/4 8:33
+ * @Version 1.0
+ * add by wuxw 2020/6/4
+ **/
+@Component
+public class GeneratePayFeeDetailMonthTemplate extends TaskSystemQuartz {
+
+    @Autowired
+    private IPayFeeMonthInnerServiceSMO payFeeMonthInnerServiceSMOImpl;
+
+    @Autowired
+    private ISaveSystemErrorSMO saveSystemErrorSMOImpl;
+
+    @Override
+    protected void process(TaskDto taskDto) throws Exception {
+
+        // 获取小区
+        List<CommunityDto> communityDtos = getAllCommunity();
+
+        for (CommunityDto communityDto : communityDtos) {
+            try {
+                generateMonthFee(taskDto, communityDto);
+            } catch (Exception e) {
+                e.printStackTrace();
+                LogSystemErrorPo logSystemErrorPo = new LogSystemErrorPo();
+                logSystemErrorPo.setErrId(GenerateCodeFactory.getGeneratorId(GenerateCodeFactory.CODE_PREFIX_errId));
+                logSystemErrorPo.setErrType(LogSystemErrorDto.ERR_TYPE_JOB);
+                logSystemErrorPo.setMsg(ExceptionUtil.getStackTrace(e));
+                saveSystemErrorSMOImpl.saveLog(logSystemErrorPo);
+                logger.error("费用出账失败" + communityDto.getCommunityId(), e);
+            }
+        }
+
+    }
+
+    /**
+     * 根据小区生成账单
+     *
+     * @param communityDto
+     */
+    private void generateMonthFee(TaskDto taskDto, CommunityDto communityDto) {
+
+        PayFeeDetailRefreshFeeMonthDto payFeeDetailRefreshFeeMonthDto = new PayFeeDetailRefreshFeeMonthDto();
+        payFeeDetailRefreshFeeMonthDto.setCommunityId(communityDto.getCommunityId());
+        payFeeMonthInnerServiceSMOImpl.doGeneratorOrRefreshAllFeeMonth(payFeeDetailRefreshFeeMonthDto);
+
+    }
+
+
+}