From d7d3b53ab846738cc9a4ed3de46d28fd872f333b Mon Sep 17 00:00:00 2001
From: wuxw <928255095@qq.com>
Date: 星期日, 29 十月 2023 14:53:29 +0800
Subject: [PATCH] 优化催交
---
service-job/src/main/java/com/java110/job/adapt/fee/OweFeeCallableAdapt.java | 177 +++++++++++++++++++++++++++++++++++++++++++++--------------
1 files changed, 135 insertions(+), 42 deletions(-)
diff --git a/service-job/src/main/java/com/java110/job/adapt/fee/OweFeeCallableAdapt.java b/service-job/src/main/java/com/java110/job/adapt/fee/OweFeeCallableAdapt.java
index 86cd07a..573bffc 100644
--- a/service-job/src/main/java/com/java110/job/adapt/fee/OweFeeCallableAdapt.java
+++ b/service-job/src/main/java/com/java110/job/adapt/fee/OweFeeCallableAdapt.java
@@ -78,7 +78,7 @@
}
}
- if (oweFeeCallablePos.size() < 1) {
+ if (oweFeeCallablePos.isEmpty()) {
return;
}
@@ -92,50 +92,102 @@
String oweUrl = "";
OweFeeCallablePo updateOweFeeCallablePo = null;
OwnerAppUserDto ownerAppUserDto = null;
- for (OweFeeCallablePo oweFeeCallablePo : oweFeeCallablePos) {
+ String userId = "";
+ List<JSONObject> contents = null;
- if (StringUtil.isEmpty(oweFeeCallablePo.getOwnerId()) || oweFeeCallablePo.getOwnerId().startsWith("-")) {
- updateOweFeeCallablePo = new OweFeeCallablePo();
- updateOweFeeCallablePo.setOfcId(oweFeeCallablePo.getOfcId());
- updateOweFeeCallablePo.setCommunityId(oweFeeCallablePo.getCommunityId());
- updateOweFeeCallablePo.setState(OweFeeCallableDto.STATE_FAIL);
- updateOweFeeCallablePo.setRemark(oweFeeCallablePo.getRemark() + "-涓氫富涓嶅瓨鍦�");
- oweFeeCallableV1InnerServiceSMOImpl.updateOweFeeCallable(updateOweFeeCallablePo);
- continue;
- }
- ownerAppUserDto = new OwnerAppUserDto();
- ownerAppUserDto.setMemberId(oweFeeCallablePo.getOwnerId());
- ownerAppUserDto.setCommunityId(oweFeeCallablePo.getCommunityId());
- ownerAppUserDto.setAppType(OwnerAppUserDto.APP_TYPE_WECHAT);
- List<OwnerAppUserDto> ownerAppUserDtos = ownerAppUserInnerServiceSMOImpl.queryOwnerAppUsers(ownerAppUserDto);
- if (ownerAppUserDtos == null || ownerAppUserDtos.size() < 1) {
- updateOweFeeCallablePo = new OweFeeCallablePo();
- updateOweFeeCallablePo.setOfcId(oweFeeCallablePo.getOfcId());
- updateOweFeeCallablePo.setCommunityId(oweFeeCallablePo.getCommunityId());
- updateOweFeeCallablePo.setState(OweFeeCallableDto.STATE_FAIL);
- updateOweFeeCallablePo.setRemark(oweFeeCallablePo.getRemark() + "-涓氫富鏈粦瀹�");
- oweFeeCallableV1InnerServiceSMOImpl.updateOweFeeCallable(updateOweFeeCallablePo);
- continue;
+ List<OweFeeCallablePo> sendOweFeeCallablePos = null;
+
+ //todo 鎸夋埧灞嬪彂閫�
+ for (int roomIndex = 0; roomIndex < roomIds.size(); roomIndex++) {
+ contents = new ArrayList<>();
+ String notifyWay = MsgNotifyFactory.NOTIFY_WAY_WECHAT;
+ userId = "";
+ String ofcId = "";
+ String ownerId = "";
+ try {
+ sendOweFeeCallablePos = new ArrayList<>();
+ for (OweFeeCallablePo oweFeeCallablePo : oweFeeCallablePos) {
+ if (!oweFeeCallablePo.getPayerObjId().equals(roomIds.getString(roomIndex))) {
+ continue;
+ }
+
+ ofcId = oweFeeCallablePo.getOfcId();
+ ownerId = oweFeeCallablePo.getOwnerId();
+
+ //todo 涓氫富涓嶅瓨鍦�
+ if (StringUtil.isEmpty(oweFeeCallablePo.getOwnerId()) || oweFeeCallablePo.getOwnerId().startsWith("-")) {
+ updateOweFeeCallablePo = new OweFeeCallablePo();
+ updateOweFeeCallablePo.setOfcId(oweFeeCallablePo.getOfcId());
+ updateOweFeeCallablePo.setCommunityId(oweFeeCallablePo.getCommunityId());
+ updateOweFeeCallablePo.setState(OweFeeCallableDto.STATE_FAIL);
+ updateOweFeeCallablePo.setRemark(oweFeeCallablePo.getRemark() + "-涓氫富涓嶅瓨鍦�");
+ oweFeeCallableV1InnerServiceSMOImpl.updateOweFeeCallable(updateOweFeeCallablePo);
+ continue;
+ }
+
+
+ ownerAppUserDto = new OwnerAppUserDto();
+ ownerAppUserDto.setMemberId(oweFeeCallablePo.getOwnerId());
+ ownerAppUserDto.setCommunityId(oweFeeCallablePo.getCommunityId());
+ ownerAppUserDto.setAppType(OwnerAppUserDto.APP_TYPE_WECHAT);
+ List<OwnerAppUserDto> ownerAppUserDtos = ownerAppUserInnerServiceSMOImpl.queryOwnerAppUsers(ownerAppUserDto);
+ if (ownerAppUserDtos != null && ownerAppUserDtos.size() > 0) {
+ userId = ownerAppUserDtos.get(0).getUserId();
+ }
+
+ oweUrl = FeeDto.PAYER_OBJ_TYPE_ROOM.equals(oweFeeCallablePo.getPayerObjType()) ? oweRoomUrl : oweCarUrl;
+ content = new JSONObject();
+ content.put("feeTypeName", oweFeeCallablePo.getFeeName());
+ content.put("payerObjName", oweFeeCallablePo.getPayerObjName());
+ content.put("billAmountOwed", oweFeeCallablePo.getAmountdOwed());
+ content.put("date", DateUtil.dateTimeToDate(oweFeeCallablePo.getStartTime()) + "~" + DateUtil.dateTimeToDate(oweFeeCallablePo.getEndTime()));
+ content.put("url", oweUrl + oweFeeCallablePo.getPayerObjId());
+
+ if (OweFeeCallableDto.CALLABLE_WAY_SMS.equals(oweFeeCallablePo.getCallableWay())) {
+ notifyWay = MsgNotifyFactory.NOTIFY_WAY_ALI;
+ }
+ contents.add(content);
+ sendOweFeeCallablePos.add(oweFeeCallablePo);
+
+ }
+
+ if (contents.isEmpty()) {
+ continue;
+ }
+
+ //todo 鍌即
+ ResultVo resultVo = MsgNotifyFactory.sendOweFeeMsg(data.getString("communityId"), userId, ownerId, contents, notifyWay);
+
+ for (OweFeeCallablePo oweFeeCallablePo : sendOweFeeCallablePos) {
+ if (StringUtil.isEmpty(oweFeeCallablePo.getOwnerId()) || oweFeeCallablePo.getOwnerId().startsWith("-")) {
+ continue;
+ }
+ ofcId = oweFeeCallablePo.getOfcId();
+ updateOweFeeCallablePo = new OweFeeCallablePo();
+ updateOweFeeCallablePo.setOfcId(oweFeeCallablePo.getOfcId());
+ updateOweFeeCallablePo.setCommunityId(oweFeeCallablePo.getCommunityId());
+ if (resultVo.getCode() != ResultVo.CODE_OK) {
+ updateOweFeeCallablePo.setState(OweFeeCallableDto.STATE_FAIL);
+ updateOweFeeCallablePo.setRemark(oweFeeCallablePo.getRemark() + "-" + resultVo.getMsg());
+ } else {
+ updateOweFeeCallablePo.setState(OweFeeCallableDto.STATE_COMPLETE);
+ }
+ oweFeeCallableV1InnerServiceSMOImpl.updateOweFeeCallable(updateOweFeeCallablePo);
+ }
+ }catch (Exception e){
+ e.printStackTrace();
+
+ if(!StringUtil.isEmpty(ofcId)){
+ updateOweFeeCallablePo = new OweFeeCallablePo();
+ updateOweFeeCallablePo.setOfcId(ofcId);
+ updateOweFeeCallablePo.setCommunityId(data.getString("communityId"));
+ updateOweFeeCallablePo.setState(OweFeeCallableDto.STATE_FAIL);
+ updateOweFeeCallablePo.setRemark(e.getMessage());
+ oweFeeCallableV1InnerServiceSMOImpl.updateOweFeeCallable(updateOweFeeCallablePo);
+ }
+
}
- oweUrl = FeeDto.PAYER_OBJ_TYPE_ROOM.equals(oweFeeCallablePo.getPayerObjType()) ? oweRoomUrl : oweCarUrl;
- content = new JSONObject();
- content.put("feeTypeName", oweFeeCallablePo.getFeeName());
- content.put("payerObjName", oweFeeCallablePo.getPayerObjName());
- content.put("billAmountOwed", oweFeeCallablePo.getAmountdOwed());
- content.put("date", DateUtil.dateTimeToDate(oweFeeCallablePo.getStartTime()) + "~" + DateUtil.dateTimeToDate(oweFeeCallablePo.getEndTime()));
- content.put("url", oweUrl);
- ResultVo resultVo = MsgNotifyFactory.sendOweFeeMsg(data.getString("communityId"), ownerAppUserDtos.get(0).getUserId(), content);
- updateOweFeeCallablePo = new OweFeeCallablePo();
- updateOweFeeCallablePo.setOfcId(oweFeeCallablePo.getOfcId());
- updateOweFeeCallablePo.setCommunityId(oweFeeCallablePo.getCommunityId());
- if (resultVo.getCode() != ResultVo.CODE_OK) {
- updateOweFeeCallablePo.setState(OweFeeCallableDto.STATE_FAIL);
- updateOweFeeCallablePo.setRemark(oweFeeCallablePo.getRemark() + "-" + resultVo.getMsg());
- } else {
- updateOweFeeCallablePo.setState(OweFeeCallableDto.STATE_COMPLETE);
- }
- oweFeeCallableV1InnerServiceSMOImpl.updateOweFeeCallable(updateOweFeeCallablePo);
}
}
@@ -163,6 +215,11 @@
OweFeeCallablePo oweFeeCallablePo = null;
for (ReportOweFeeDto reportOweFeeDto : feeDtos) {
+
+ // todo 鏍¢獙 鏃堕棿鑼冨洿
+ if (!hasInTime(reportOweFeeDto, data)) {
+ continue;
+ }
oweFeeCallablePo = new OweFeeCallablePo();
oweFeeCallablePo.setAmountdOwed(reportOweFeeDto.getAmountOwed());
@@ -216,6 +273,17 @@
if (data.containsKey("feeId")) {
reportOweFeeDto.setFeeId(data.getString("feeId"));
}
+ List<String> feeIds = new ArrayList<>();
+
+ if (data.containsKey("feeIds")) {
+ JSONArray feeIdAs = data.getJSONArray("feeIds");
+ for (int feeIndex = 0; feeIndex < feeIdAs.size(); feeIndex++) {
+ feeIds.add(feeIdAs.getString(feeIndex));
+ }
+ if (feeIds.size() > 0) {
+ reportOweFeeDto.setFeeIds(feeIds.toArray(new String[feeIds.size()]));
+ }
+ }
List<String> configIdss = new ArrayList<>();
if (data.containsKey("configIds")) {
JSONArray configIds = data.getJSONArray("configIds");
@@ -232,5 +300,30 @@
}
+ private boolean hasInTime(ReportOweFeeDto tempFeeDto, JSONObject reqJson) {
+ if (!reqJson.containsKey("startTime") || !reqJson.containsKey("endTime")) {
+ return true;
+ }
+
+ String startTime = reqJson.getString("startTime");
+ String endTime = reqJson.getString("endTime");
+
+ if (StringUtil.isEmpty(startTime) || StringUtil.isEmpty(endTime)) {
+ return true;
+ }
+ if (StringUtil.isEmpty(tempFeeDto.getDeadlineTime())) {
+ return true;
+ }
+ if (StringUtil.isEmpty(tempFeeDto.getEndTime())) {
+ return true;
+ }
+
+ if (DateUtil.getDateFromStringB(tempFeeDto.getEndTime()).before(DateUtil.getDateFromStringB(startTime)) && DateUtil.getDateFromStringB(tempFeeDto.getDeadlineTime()).after(DateUtil.getDateFromStringB(endTime))) {
+ return true;
+ }
+
+ return false;
+ }
+
}
--
Gitblit v1.8.0