From 7007db947ea409a973aee8a681ee86cf9d2708bf Mon Sep 17 00:00:00 2001
From: Your Name <you@example.com>
Date: 星期四, 08 六月 2023 18:54:52 +0800
Subject: [PATCH] 优化1.5 的bug

---
 service-job/src/main/java/com/java110/job/task/wechat/FeeCollectionPushMessageTemplate.java |  106 +++++++++++++++++++++++++++++------------------------
 1 files changed, 58 insertions(+), 48 deletions(-)

diff --git a/service-job/src/main/java/com/java110/job/task/wechat/FeeCollectionPushMessageTemplate.java b/service-job/src/main/java/com/java110/job/task/wechat/FeeCollectionPushMessageTemplate.java
index 12dc71f..9a5b7b7 100644
--- a/service-job/src/main/java/com/java110/job/task/wechat/FeeCollectionPushMessageTemplate.java
+++ b/service-job/src/main/java/com/java110/job/task/wechat/FeeCollectionPushMessageTemplate.java
@@ -7,7 +7,7 @@
 import com.java110.core.factory.WechatFactory;
 import com.java110.dto.community.CommunityDto;
 import com.java110.dto.fee.FeeDto;
-import com.java110.dto.feeCollectionOrder.FeeCollectionOrderDto;
+import com.java110.dto.fee.FeeCollectionOrderDto;
 import com.java110.dto.logSystemError.LogSystemErrorDto;
 import com.java110.dto.owner.OwnerAppUserDto;
 import com.java110.dto.owner.OwnerDto;
@@ -36,6 +36,7 @@
 import com.java110.po.logSystemError.LogSystemErrorPo;
 import com.java110.service.smo.ISaveSystemErrorSMO;
 import com.java110.utils.cache.MappingCache;
+import com.java110.utils.cache.UrlCache;
 import com.java110.utils.constant.WechatConstant;
 import com.java110.utils.util.BeanConvertUtil;
 import com.java110.utils.util.DateUtil;
@@ -209,6 +210,9 @@
                 feeCollectionDetailPo.setCollectionWay(FeeCollectionOrderDto.COLLECTION_WAY_SMS);
                 break;
             case FeeCollectionOrderDto.COLLECTION_WAY_WECHAT:
+                if(StringUtil.isEmpty(reportOweFeeDo.getOwnerId())  || "-1".equals(reportOweFeeDo.getOwnerId())){
+                    return;
+                }
                 if (!StringUtil.isEmpty(reportOweFeeDo.getOwnerId())) {
                     Map paramInfo = getOwnerAppUserDto(feeCollectionOrderDto.getCommunityId(), reportOweFeeDo.getOwnerId());
                     resultVo = doSendWechat(reportOweFeeDo, feeCollectionOrderDto, paramInfo);//寰俊
@@ -293,56 +297,56 @@
             oweUrl = FeeDto.PAYER_OBJ_TYPE_ROOM.equals(reportOweFeeDo.getPayerObjType()) ? oweRoomUrl : oweCarUrl;
             String[] roomName = new String[]{};
             if ("3333".equals(reportOweFeeDo.getPayerObjType())) {
-                roomName = itemDto.getPayerObjName().split("-");
+                roomName = itemDto.getPayerObjName().split("-",3);
             }
             for (OwnerAppUserDto appUserDto : ownerAppUserDtos) {
-                    try {
-                        //鑾峰彇鐢ㄦ埛缂磋垂鍒版湡鏃堕棿
-                        Date endTime = itemDto.getEndTime();
-                        Calendar calendar = Calendar.getInstance();
-                        calendar.setTime(endTime);
-                        calendar.add(Calendar.DATE, -1);
-                        endTime = calendar.getTime();
+                try {
+                    //鑾峰彇鐢ㄦ埛缂磋垂鍒版湡鏃堕棿
+                    Date endTime = itemDto.getEndTime();
+                    Calendar calendar = Calendar.getInstance();
+                    calendar.setTime(endTime);
+                    calendar.add(Calendar.DATE, -1);
+                    endTime = calendar.getTime();
 
-                        Data data = new Data();
-                        PropertyFeeTemplateMessage templateMessage = new PropertyFeeTemplateMessage();
-                        templateMessage.setTemplate_id(templateId);
-                        templateMessage.setTouser(appUserDto.getOpenId());
-                        data.setFirst(new Content(itemDto.getFeeName() + "鎻愰啋"));
-                        if ("3333".equals(reportOweFeeDo.getPayerObjType())) {
-                            data.setKeyword1(new Content(roomName[0] + "鏍�" + roomName[1] + "鍗曞厓" + roomName[2] + "瀹�"));
-                        } else {
-                            data.setKeyword1(new Content(itemDto.getPayerObjName()));
-                        }
-                        DecimalFormat df = new DecimalFormat("0.00");
-                        data.setKeyword2(new Content(df.format(amountOwed) + "鍏�"));
-                        data.setKeyword3(new Content(
-                                DateUtil.getFormatTimeString(itemDto.getStartTime(), DateUtil.DATE_FORMATE_STRING_B)
-                                        + "鑷�"
-                                        + DateUtil.getFormatTimeString(endTime, DateUtil.DATE_FORMATE_STRING_B)));
-                        data.setRemark(new Content("璇锋偍鍙婃椂缂磋垂,濡傛湁鐤戦棶璇疯仈绯荤浉鍏崇墿涓氫汉鍛橈紒"));
-
-                        if (!StringUtil.isEmpty(oweUrl)) {
-                            if (miniprogram == null) {
-                                templateMessage.setUrl(oweUrl + itemDto.getPayerObjId() + "&wAppId=" + weChatDto.getAppId());
-                            } else {
-                                miniprogram.setPagepath(oweUrl.split("@@")[1] + itemDto.getPayerObjId() + "&wAppId=" + weChatDto.getAppId());
-                                templateMessage.setMiniprogram(miniprogram);
-                            }
-                        }
-                        templateMessage.setData(data);
-                        logger.info("鍙戦�佹ā鏉挎秷鎭唴瀹�:{}", JSON.toJSONString(templateMessage));
-                        ResponseEntity<String> responseEntity = outRestTemplate.postForEntity(url, JSON.toJSONString(templateMessage), String.class);
-                        logger.info("寰俊妯℃澘杩斿洖鍐呭:{}", responseEntity);
-                    } catch (Exception e) {
-                        LogSystemErrorPo logSystemErrorPo = new LogSystemErrorPo();
-                        logSystemErrorPo.setErrId(GenerateCodeFactory.getGeneratorId(GenerateCodeFactory.CODE_PREFIX_errId));
-                        logSystemErrorPo.setErrType(LogSystemErrorDto.ERR_TYPE_OWE_FEE);
-                        logSystemErrorPo.setMsg(ExceptionUtil.getStackTrace(e));
-                        saveSystemErrorSMOImpl.saveLog(logSystemErrorPo);
-                        logger.error("娆犺垂鎺ㄩ�佸け璐�" + feeCollectionOrderDto.getCollectionName(), e);
+                    Data data = new Data();
+                    PropertyFeeTemplateMessage templateMessage = new PropertyFeeTemplateMessage();
+                    templateMessage.setTemplate_id(templateId);
+                    templateMessage.setTouser(appUserDto.getOpenId());
+                    data.setFirst(new Content(itemDto.getFeeName() + "鎻愰啋"));
+                    if ("3333".equals(reportOweFeeDo.getPayerObjType())) {
+                        data.setKeyword1(new Content(roomName[0] + "鏍�" + roomName[1] + "鍗曞厓" + roomName[2] + "瀹�"));
+                    } else {
+                        data.setKeyword1(new Content(itemDto.getPayerObjName()));
                     }
+                    DecimalFormat df = new DecimalFormat("0.00");
+                    data.setKeyword2(new Content(df.format(amountOwed) + "鍏�"));
+                    data.setKeyword3(new Content(
+                            DateUtil.getFormatTimeString(itemDto.getStartTime(), DateUtil.DATE_FORMATE_STRING_B)
+                                    + "鑷�"
+                                    + DateUtil.getFormatTimeString(endTime, DateUtil.DATE_FORMATE_STRING_B)));
+                    data.setRemark(new Content("璇锋偍鍙婃椂缂磋垂,濡傛湁鐤戦棶璇疯仈绯荤浉鍏崇墿涓氫汉鍛橈紒"));
+
+                    if (!StringUtil.isEmpty(oweUrl)) {
+                        if (miniprogram == null) {
+                            templateMessage.setUrl(oweUrl + itemDto.getPayerObjId() + "&wAppId=" + weChatDto.getAppId());
+                        } else {
+                            miniprogram.setPagepath(oweUrl.split("@@")[1] + itemDto.getPayerObjId() + "&wAppId=" + weChatDto.getAppId());
+                            templateMessage.setMiniprogram(miniprogram);
+                        }
+                    }
+                    templateMessage.setData(data);
+                    logger.info("鍙戦�佹ā鏉挎秷鎭唴瀹�:{}", JSON.toJSONString(templateMessage));
+                    ResponseEntity<String> responseEntity = outRestTemplate.postForEntity(url, JSON.toJSONString(templateMessage), String.class);
+                    logger.info("寰俊妯℃澘杩斿洖鍐呭:{}", responseEntity);
+                } catch (Exception e) {
+                    LogSystemErrorPo logSystemErrorPo = new LogSystemErrorPo();
+                    logSystemErrorPo.setErrId(GenerateCodeFactory.getGeneratorId(GenerateCodeFactory.CODE_PREFIX_errId));
+                    logSystemErrorPo.setErrType(LogSystemErrorDto.ERR_TYPE_OWE_FEE);
+                    logSystemErrorPo.setMsg(ExceptionUtil.getStackTrace(e));
+                    saveSystemErrorSMOImpl.saveLog(logSystemErrorPo);
+                    logger.error("娆犺垂鎺ㄩ�佸け璐�" + feeCollectionOrderDto.getCollectionName(), e);
                 }
+            }
         }
 
         return new ResultVo(ResultVo.CODE_OK, ResultVo.MSG_OK);
@@ -383,6 +387,11 @@
             param.put("date2", DateUtil.getFormatTimeString(endTime, DateUtil.DATE_FORMATE_STRING_B));
             param.put("mount", reportOweFeeDo.getAmountOwed());
             paramIn = param;
+        }else if(SendSmsFactory.SMS_COMPANY_YIDONG.equals(smsConfigDto1.getSmsType())){
+            paramIn = "灏婃暚鐨勪笟涓�"+ reportOweFeeDo.getOwnerName()+"锛屾偍"+reportOweFeeDo.getPayerObjName()+"鐨�"+itemDtos.get(0).getFeeName()
+                    +"锛岃处鍗曟棩鏈�"+DateUtil.getFormatTimeString(itemDtos.get(0).getStartTime(), DateUtil.DATE_FORMATE_STRING_B)
+                    +"鑷�"+DateUtil.getFormatTimeString(endTime, DateUtil.DATE_FORMATE_STRING_B)
+                    +"锛岀即璐归噾棰濓細"+reportOweFeeDo.getAmountOwed()+"鍏冿紝璇峰強鏃剁即璐�";
         } else {
             paramIn = new String[]{
                     reportOweFeeDo.getOwnerName(),
@@ -408,6 +417,7 @@
     }
 
     private Map getOwnerAppUserDto(String communityId, String memberId) {
+
         SmallWeChatDto smallWeChatDto = new SmallWeChatDto();
         smallWeChatDto.setWeChatType("1100");
         smallWeChatDto.setObjType(SmallWeChatDto.OBJ_TYPE_COMMUNITY);
@@ -458,8 +468,8 @@
         }
         String url = sendTemplate + accessToken;
 
-        String oweRoomUrl = MappingCache.getValue(WechatConstant.WECHAT_DOMAIN, WechatConstant.OWE_FEE_PAGE);
-        String oweCarUrl = MappingCache.getValue(WechatConstant.WECHAT_DOMAIN, WechatConstant.OWE_CAR_FEE_PAGE);
+        String oweRoomUrl = UrlCache.getOwnerUrl()+MappingCache.getValue(WechatConstant.WECHAT_DOMAIN, WechatConstant.OWE_FEE_PAGE);
+        String oweCarUrl = UrlCache.getOwnerUrl()+MappingCache.getValue(WechatConstant.WECHAT_DOMAIN, WechatConstant.OWE_CAR_FEE_PAGE);
         Miniprogram miniprogram = null;
         if (oweRoomUrl.contains("@@")) {
             miniprogram = new Miniprogram();

--
Gitblit v1.8.0