Browse Source

优化代码

wuxw 2 years ago
parent
commit
fd39967467

+ 1 - 1
java110-core/src/main/java/com/java110/core/smo/impl/ComputeFeeSMOImpl.java

@@ -1717,7 +1717,7 @@ public class ComputeFeeSMOImpl implements IComputeFeeSMO {
                 targetEndDate = feeDto.getImportFeeEndTime();
             }
             //说明欠费
-            if (preEndTime.getTime() < DateUtil.getCurrentDate().getTime()) {
+            if (preEndTime.getTime() <= DateUtil.getCurrentDate().getTime()) {
                 // 目标到期时间 - 到期时间 = 欠费月份
                 oweMonth = 1.0;
             }

+ 1 - 1
service-fee/src/main/java/com/java110/fee/bmo/fee/IFeeBMO.java

@@ -175,7 +175,7 @@ public interface IFeeBMO extends IApiBaseBMO {
      * @param dataFlowContext 数据上下文
      * @return 订单服务能够接受的报文
      */
-    public JSONObject addRoomFee(RoomDto roomDto, JSONObject paramInJson, ICmdDataFlowContext dataFlowContext) ;   /**
+     JSONObject addRoomFee(RoomDto roomDto, JSONObject paramInJson, ICmdDataFlowContext dataFlowContext) ;   /**
      * 添加物业费用
      *
      * @param paramInJson     接口调用放传入入参

+ 4 - 2
service-fee/src/main/java/com/java110/fee/bmo/fee/impl/FeeBMOImpl.java

@@ -428,7 +428,7 @@ public class FeeBMOImpl extends ApiBaseBMO implements IFeeBMO {
         }
         payFeeDetail.setPayOrderId(paramInJson.getString("oId"));
         //todo 缓存收据编号
-        CommonCache.setValue(payFeeDetail.getDetailId()+CommonCache.RECEIPT_CODE,receiptCode,CommonCache.DEFAULT_EXPIRETIME_TWO_MIN);
+        CommonCache.setValue(payFeeDetail.getDetailId() + CommonCache.RECEIPT_CODE, receiptCode, CommonCache.DEFAULT_EXPIRETIME_TWO_MIN);
         // todo 刷入收银人员信息
         freshCashierInfo(payFeeDetail, paramInJson);
 
@@ -726,7 +726,7 @@ public class FeeBMOImpl extends ApiBaseBMO implements IFeeBMO {
         feeAttrPo.setSpecCd(specCd);
         feeAttrPo.setValue(value);
         feeAttrPo.setFeeId(paramInJson.getString("feeId"));
-        feeAttrPo.setAttrId(GenerateCodeFactory.getGeneratorId(GenerateCodeFactory.CODE_PREFIX_attrId,true));
+        feeAttrPo.setAttrId(GenerateCodeFactory.getGeneratorId(GenerateCodeFactory.CODE_PREFIX_attrId, true));
         return feeAttrPo;
 
     }
@@ -790,6 +790,8 @@ public class FeeBMOImpl extends ApiBaseBMO implements IFeeBMO {
         businessUnit.put("batchId", paramInJson.getString("batchId"));
         businessUnit.put("userId", dataFlowContext.getReqHeaders().get(CommonConstant.HTTP_USER_ID));
 
+        businessUnit.put("maxTime", paramInJson.containsKey("endTime") ? paramInJson.getString("endTime") : feeConfigDtos.get(0).getEndTime());
+
         paramInJson.put("feeId", businessUnit.getString("feeId"));
         return businessUnit;
     }

+ 19 - 2
service-job/src/main/java/com/java110/job/adapt/fee/RoomCreatePayFeeAdapt.java

@@ -82,6 +82,8 @@ public class RoomCreatePayFeeAdapt extends DatabusAdaptImpl {
 
     @Autowired
     private IRuleGeneratorPayFeeBillV1InnerServiceSMO ruleGeneratorPayFeeBillV1InnerServiceSMOImpl;
+    @Autowired
+    private IFeeConfigInnerServiceSMO feeConfigInnerServiceSMOImpl;
 
     @Override
     public void execute(Business business, List<Business> businesses) throws ParseException {
@@ -137,10 +139,18 @@ public class RoomCreatePayFeeAdapt extends DatabusAdaptImpl {
         List<PayFeePo> feePos = new ArrayList<>();
         List<FeeAttrPo> feeAttrsPos = new ArrayList<>();
 
+
+        FeeConfigDto feeConfigDto = new FeeConfigDto();
+        feeConfigDto.setCommunityId(data.getString("communityId"));
+        feeConfigDto.setConfigId(data.getString("configId"));
+        List<FeeConfigDto> feeConfigDtos = feeConfigInnerServiceSMOImpl.queryFeeConfigs(feeConfigDto);
+        Assert.listOnlyOne(feeConfigDtos, "当前费用项ID不存在或存在多条" + data.getString("configId"));
+
+
         int saveFlag = 0;
         for (int roomIndex = 0; roomIndex < roomDtos.size(); roomIndex++) {
             //todo 加入 房屋费用
-            feePos.add(addRoomFee(roomDtos.get(roomIndex), data));
+            feePos.add(addRoomFee(roomDtos.get(roomIndex), data, feeConfigDtos.get(0)));
             if (!StringUtil.isEmpty(roomDtos.get(roomIndex).getOwnerId())) {
                 if (!FeeDto.FEE_FLAG_CYCLE.equals(data.getString("feeFlag"))) {
                     feeAttrsPos.add(addFeeAttr(data, FeeAttrDto.SPEC_CD_ONCE_FEE_DEADLINE_TIME, data.containsKey("endTime") ? data.getString("endTime") : data.getString("configEndTime")));
@@ -174,7 +184,8 @@ public class RoomCreatePayFeeAdapt extends DatabusAdaptImpl {
 
     }
 
-    private PayFeePo addRoomFee(RoomDto roomDto, JSONObject paramInJson) {
+    private PayFeePo addRoomFee(RoomDto roomDto, JSONObject paramInJson, FeeConfigDto feeConfigDto) {
+
         String time = DateUtil.getNow(DateUtil.DATE_FORMATE_STRING_A);
         if (paramInJson.containsKey("feeEndDate")) {
             time = paramInJson.getString("feeEndDate");
@@ -201,6 +212,12 @@ public class RoomCreatePayFeeAdapt extends DatabusAdaptImpl {
         businessUnit.put("batchId", paramInJson.getString("batchId"));
         businessUnit.put("userId", paramInJson.getString("userId"));
         paramInJson.put("feeId", businessUnit.getString("feeId"));
+        if (!FeeDto.FEE_FLAG_CYCLE.equals(feeConfigDto.getFeeFlag())
+                && !StringUtil.isEmpty(paramInJson.getString("endTime"))) {
+            paramInJson.put("maxTime", paramInJson.getString("endTime"));
+        } else {
+            paramInJson.put("maxTime", feeConfigDto.getEndTime());
+        }
         return BeanConvertUtil.covertBean(businessUnit, PayFeePo.class);
     }
 

+ 8 - 2
service-job/src/main/java/com/java110/job/cmd/job/RunJobCmd.java

@@ -5,7 +5,9 @@ import com.java110.core.annotation.Java110Cmd;
 import com.java110.core.context.ICmdDataFlowContext;
 import com.java110.core.event.cmd.Cmd;
 import com.java110.core.event.cmd.CmdEvent;
+import com.java110.dto.task.TaskAttrDto;
 import com.java110.dto.task.TaskDto;
+import com.java110.intf.dev.ITaskAttrV1InnerServiceSMO;
 import com.java110.intf.dev.ITaskV1InnerServiceSMO;
 import com.java110.job.quartz.TaskSystemQuartz;
 import com.java110.utils.exception.CmdException;
@@ -25,7 +27,8 @@ public class RunJobCmd extends Cmd {
     @Autowired
     private ITaskV1InnerServiceSMO taskV1InnerServiceSMOImpl;
 
-
+    @Autowired
+    private ITaskAttrV1InnerServiceSMO taskAttrV1InnerServiceSMO;
 
     @Override
     public void validate(CmdEvent event, ICmdDataFlowContext context, JSONObject reqJson) throws CmdException, ParseException {
@@ -41,7 +44,10 @@ public class RunJobCmd extends Cmd {
         List<TaskDto> taskDtos = taskV1InnerServiceSMOImpl.queryTasks(taskDto);
 
         Assert.listOnlyOne(taskDtos,"任务不存在");
-
+        TaskAttrDto taskAttrDto = new TaskAttrDto();
+        taskAttrDto.setTaskId(taskDtos.get(0).getTaskId());
+        List<TaskAttrDto> taskAttrDtos = taskAttrV1InnerServiceSMO.queryTaskAttrs(taskAttrDto);
+        taskDto.setTaskAttr(taskAttrDtos);
 
 
         TaskSystemQuartz taskSystemQuartz = (TaskSystemQuartz) ApplicationContextFactory.getBean(taskDtos.get(0).getClassBean());

+ 10 - 3
service-job/src/main/java/com/java110/job/importData/adapt/ImportCustomFeeQueueDataAdapt.java

@@ -199,6 +199,12 @@ public class ImportCustomFeeQueueDataAdapt extends DefaultImportData implements
         payFeePo.setBatchId(batchId);
         payFeePo.setEndTime(importCustomCreateFeeDto.getStartTime());
         payFeePo.setStartTime(importCustomCreateFeeDto.getCreateTime());
+        if (!FeeDto.FEE_FLAG_CYCLE.equals(feeConfigDtos.get(0).getFeeFlag())
+                && !StringUtil.isEmpty(importCustomCreateFeeDto.getEndTime())) {
+            payFeePo.setMaxTime(importCustomCreateFeeDto.getEndTime());
+        } else {
+            payFeePo.setMaxTime(feeConfigDtos.get(0).getEndTime());
+        }
 
         payFeePos.add(payFeePo);
 
@@ -219,8 +225,8 @@ public class ImportCustomFeeQueueDataAdapt extends DefaultImportData implements
         feeAttrPos.add(feeAttrPo);
 
         //todo 不是周期性费用的场景需要写入结束时间
-        if(!FeeDto.FEE_FLAG_CYCLE.equals(feeConfigDtos.get(0).getFeeFlag())
-                && !StringUtil.isEmpty(importCustomCreateFeeDto.getEndTime())){
+        if (!FeeDto.FEE_FLAG_CYCLE.equals(feeConfigDtos.get(0).getFeeFlag())
+                && !StringUtil.isEmpty(importCustomCreateFeeDto.getEndTime())) {
             feeAttrPo = new FeeAttrPo();
             feeAttrPo.setCommunityId(importCustomCreateFeeDto.getCommunityId());
             feeAttrPo.setAttrId(GenerateCodeFactory.getGeneratorId(GenerateCodeFactory.CODE_PREFIX_attrId, true));
@@ -271,5 +277,6 @@ public class ImportCustomFeeQueueDataAdapt extends DefaultImportData implements
         PayFeeDetailRefreshFeeMonthDto payFeeDetailRefreshFeeMonthDto = new PayFeeDetailRefreshFeeMonthDto();
         payFeeDetailRefreshFeeMonthDto.setCommunityId(importCustomCreateFeeDto.getCommunityId());
         payFeeDetailRefreshFeeMonthDto.setFeeId(payFeePos.get(0).getFeeId());
-        payFeeMonthInnerServiceSMOImpl.doGeneratorOrRefreshFeeMonth(payFeeDetailRefreshFeeMonthDto);    }
+        payFeeMonthInnerServiceSMOImpl.doGeneratorOrRefreshFeeMonth(payFeeDetailRefreshFeeMonthDto);
+    }
 }

+ 3 - 0
service-job/src/main/java/com/java110/job/quartz/TaskSystemQuartz.java

@@ -150,6 +150,9 @@ public abstract class TaskSystemQuartz {
      */
     protected TaskAttrDto getCurTaskAttr(TaskDto taskDto, String specCd) {
         List<TaskAttrDto> taskAttrDtos = taskDto.getTaskAttr();
+        if (taskAttrDtos == null) {
+            return null;
+        }
         for (TaskAttrDto taskAttrDto : taskAttrDtos) {
             if (specCd.equals(taskAttrDto.getSpecCd())) {
                 return taskAttrDto;