Blame view

service-job/src/main/java/com/java110/job/task/fee/GenerateBillProTemplate.java 3.22 KB
88e030b7   王彪总   init project
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
  package com.java110.job.task.fee;
  
  import com.java110.core.factory.CommunitySettingFactory;
  import com.java110.core.factory.GenerateCodeFactory;
  import com.java110.core.smo.IComputeFeeSMO;
  import com.java110.dto.room.RoomDto;
  import com.java110.dto.community.CommunityDto;
  import com.java110.dto.fee.*;
  import com.java110.dto.log.LogSystemErrorDto;
  import com.java110.dto.owner.OwnerCarDto;
  import com.java110.dto.owner.OwnerRoomRelDto;
  import com.java110.dto.task.TaskDto;
  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.IRuleGeneratorPayFeeBillV1InnerServiceSMO;
  import com.java110.intf.user.IOwnerCarInnerServiceSMO;
  import com.java110.intf.user.IOwnerRoomRelInnerServiceSMO;
  import com.java110.job.quartz.TaskSystemQuartz;
  import com.java110.po.log.LogSystemErrorPo;
  import com.java110.service.smo.ISaveSystemErrorSMO;
  import com.java110.utils.constant.ResponseConstant;
  import com.java110.utils.exception.TaskTemplateException;
  import com.java110.utils.util.DateUtil;
  import com.java110.utils.util.ExceptionUtil;
  import com.java110.utils.util.StringUtil;
  import org.springframework.beans.factory.annotation.Autowired;
  import org.springframework.stereotype.Component;
  
  import java.math.BigDecimal;
  import java.util.Calendar;
  import java.util.Date;
  import java.util.List;
  import java.util.Map;
  
  /**
   * 根据 pay_fee_rule 生成 pay_fee 账单
9750b443   王彪总   fix(config): 更新配置...
40
   * 只有项目设置了 按月生成费用 ON是有效
88e030b7   王彪总   init project
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
   *
   * @Author wuxw
   * @Date 2020/6/4 8:33
   * @Version 1.0
   * add by wuxw 2020/6/4
   **/
  @Component
  public class GenerateBillProTemplate extends TaskSystemQuartz {
  
      private static final String TASK_ATTR_VALUE_ONCE_MONTH = "005"; //一次性按月出账
  
  
      @Autowired
      private ISaveSystemErrorSMO saveSystemErrorSMOImpl;
  
      @Autowired
      private IRuleGeneratorPayFeeBillV1InnerServiceSMO ruleGeneratorPayFeeBillV1InnerServiceSMOImpl;
  
  
  
      @Override
      protected void process(TaskDto taskDto) throws Exception {
  
9750b443   王彪总   fix(config): 更新配置...
64
          // 获取项目
88e030b7   王彪总   init project
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
          List<CommunityDto> communityDtos = getAllCommunity();
  
          for (CommunityDto communityDto : communityDtos) {
              try {
                  doRuleCreatePayFeeBill(taskDto, communityDto);
              } catch (Throwable e) {
  
                  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);
              }
          }
  
      }
  
      /**
       * 根据 pay_fee_rule 产生 账单
       *
       * @param taskDto
       * @param communityDto
       */
      private void doRuleCreatePayFeeBill(TaskDto taskDto, CommunityDto communityDto) {
  
  
  
          ruleGeneratorPayFeeBillV1InnerServiceSMOImpl.covertCommunityPayFee(communityDto.getCommunityId());
      }
  
  
  }