From 22d7512ecb341426ecaa5ac8d48d7aa2b37c1059 Mon Sep 17 00:00:00 2001
From: java110 <928255095@qq.com>
Date: 星期四, 09 六月 2022 16:27:41 +0800
Subject: [PATCH] 优化代码

---
 service-job/src/main/java/com/java110/job/task/wechat/FeeCollectionPushMessageTemplate.java |  255 ++++++++++++++++++++++++++++++++++++++------------
 1 files changed, 191 insertions(+), 64 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 f1fef10..12dc71f 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
@@ -1,46 +1,57 @@
 package com.java110.job.task.wechat;
 
 import com.alibaba.fastjson.JSON;
+import com.alibaba.fastjson.JSONObject;
 import com.java110.core.factory.GenerateCodeFactory;
+import com.java110.core.factory.SendSmsFactory;
 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.logSystemError.LogSystemErrorDto;
 import com.java110.dto.owner.OwnerAppUserDto;
+import com.java110.dto.owner.OwnerDto;
 import com.java110.dto.reportOweFee.ReportOweFeeDto;
 import com.java110.dto.reportOweFee.ReportOweFeeItemDto;
 import com.java110.dto.smallWeChat.SmallWeChatDto;
 import com.java110.dto.smallWechatAttr.SmallWechatAttrDto;
+import com.java110.dto.smsConfig.SmsConfigDto;
 import com.java110.dto.task.TaskDto;
 import com.java110.entity.wechat.Content;
 import com.java110.entity.wechat.Data;
 import com.java110.entity.wechat.Miniprogram;
 import com.java110.entity.wechat.PropertyFeeTemplateMessage;
+import com.java110.intf.common.ISmsConfigInnerServiceSMO;
+import com.java110.intf.fee.IFeeCollectionDetailInnerServiceSMO;
 import com.java110.intf.fee.IFeeCollectionOrderInnerServiceSMO;
 import com.java110.intf.fee.IFeeInnerServiceSMO;
 import com.java110.intf.report.IReportOweFeeInnerServiceSMO;
 import com.java110.intf.store.ISmallWeChatInnerServiceSMO;
 import com.java110.intf.store.ISmallWechatAttrInnerServiceSMO;
 import com.java110.intf.user.IOwnerAppUserInnerServiceSMO;
+import com.java110.intf.user.IOwnerInnerServiceSMO;
 import com.java110.job.quartz.TaskSystemQuartz;
+import com.java110.po.feeCollectionDetail.FeeCollectionDetailPo;
+import com.java110.po.feeCollectionOrder.FeeCollectionOrderPo;
 import com.java110.po.logSystemError.LogSystemErrorPo;
 import com.java110.service.smo.ISaveSystemErrorSMO;
 import com.java110.utils.cache.MappingCache;
 import com.java110.utils.constant.WechatConstant;
+import com.java110.utils.util.BeanConvertUtil;
 import com.java110.utils.util.DateUtil;
 import com.java110.utils.util.ExceptionUtil;
 import com.java110.utils.util.StringUtil;
+import com.java110.vo.ResultVo;
 import org.slf4j.Logger;
-import org.slf4j.LoggerFactory;
+import com.java110.core.log.LoggerFactory;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.http.ResponseEntity;
 import org.springframework.stereotype.Component;
 import org.springframework.web.client.RestTemplate;
 
 import java.math.BigDecimal;
+import java.text.DecimalFormat;
 import java.text.ParseException;
-import java.text.SimpleDateFormat;
 import java.util.*;
 
 /**
@@ -67,11 +78,20 @@
     private IOwnerAppUserInnerServiceSMO ownerAppUserInnerServiceSMOImpl;
 
     @Autowired
+    private IOwnerInnerServiceSMO ownerInnerServiceSMOImpl;
+
+    @Autowired
     private IFeeCollectionOrderInnerServiceSMO feeCollectionOrderInnerServiceSMOImpl;
+
+    @Autowired
+    private IFeeCollectionDetailInnerServiceSMO feeCollectionDetailInnerServiceSMOImpl;
 
 
     @Autowired
     private IReportOweFeeInnerServiceSMO reportOweFeeInnerServiceSMOImpl;
+
+    @Autowired
+    private ISmsConfigInnerServiceSMO smsConfigInnerServiceSMOImpl;
 
     @Autowired
     private RestTemplate outRestTemplate;
@@ -118,16 +138,19 @@
         ReportOweFeeDto reportOweFeeDto = new ReportOweFeeDto();
         reportOweFeeDto.setCommunityId(communityDto.getCommunityId());
         reportOweFeeDto.setHasOweFee("Y");
-        long oweCount = reportOweFeeInnerServiceSMOImpl.queryReportOweFeesCount(reportOweFeeDto);
+        int oweCount = reportOweFeeInnerServiceSMOImpl.queryReportOweFeesCount(reportOweFeeDto);
         if (oweCount == 0) {
             return;
         }
 
-        double maxPage = Math.ceil(oweCount / DEFAULT_FEE_COUNT);
+        int maxPage = (int) Math.ceil(oweCount * 1.0 / DEFAULT_FEE_COUNT);
 
-        for (int roomIndex = 0; roomIndex < maxPage; roomIndex++) {
+        for (int roomIndex = 1; roomIndex <= maxPage; roomIndex++) {
             try {
-                doReportOweFeePushMessage(roomIndex * DEFAULT_FEE_COUNT, (roomIndex + 1) * DEFAULT_FEE_COUNT, communityDto, feeCollectionOrderDtos.get(0));
+                doReportOweFeePushMessage(roomIndex, DEFAULT_FEE_COUNT, communityDto, feeCollectionOrderDtos.get(0));
+                FeeCollectionOrderPo feeCollectionOrderPo = BeanConvertUtil.covertBean(feeCollectionOrderDtos.get(0), FeeCollectionOrderPo.class);
+                feeCollectionOrderPo.setState("F");
+                feeCollectionOrderInnerServiceSMOImpl.updateFeeCollectionOrder(feeCollectionOrderPo);
             } catch (Exception e) {
                 LogSystemErrorPo logSystemErrorPo = new LogSystemErrorPo();
                 logSystemErrorPo.setErrId(GenerateCodeFactory.getGeneratorId(GenerateCodeFactory.CODE_PREFIX_errId));
@@ -137,6 +160,7 @@
                 logger.error("娆犺垂鎺ㄩ�佸け璐�" + communityDto.getCommunityId(), e);
             }
         }
+
     }
 
     private void doReportOweFeePushMessage(int page, int row, CommunityDto communityDto, FeeCollectionOrderDto feeCollectionOrderDto) {
@@ -147,8 +171,12 @@
         reportOweFeeDto.setRow(row);
         List<ReportOweFeeDto> reportOweFeeDtos = reportOweFeeInnerServiceSMOImpl.queryReportOweFees(reportOweFeeDto);
         refreshReportOwe(reportOweFeeDtos);
+        if (reportOweFeeDtos.size() > 0) {
+            pushMessage(reportOweFeeDtos, feeCollectionOrderDto);
+        } else {
+            logger.error("褰撳墠娌℃湁娆犺垂淇℃伅" + communityDto.getCommunityId());
+        }
 
-        pushMessage(reportOweFeeDtos, feeCollectionOrderDto);
     }
 
     private void pushMessage(List<ReportOweFeeDto> reportOweFeeDtos, FeeCollectionOrderDto feeCollectionOrderDto) {
@@ -173,19 +201,41 @@
      * @param feeCollectionOrderDto
      */
     private void doPushMessage(ReportOweFeeDto reportOweFeeDo, FeeCollectionOrderDto feeCollectionOrderDto) {
-
+        FeeCollectionDetailPo feeCollectionDetailPo = new FeeCollectionDetailPo();
+        ResultVo resultVo = null;
         switch (feeCollectionOrderDto.getCollectionWay()) {
             case FeeCollectionOrderDto.COLLECTION_WAY_SMS:
-                doSendSms(reportOweFeeDo, feeCollectionOrderDto);
+                resultVo = doSendSms(reportOweFeeDo, feeCollectionOrderDto);//鐭俊
+                feeCollectionDetailPo.setCollectionWay(FeeCollectionOrderDto.COLLECTION_WAY_SMS);
                 break;
             case FeeCollectionOrderDto.COLLECTION_WAY_WECHAT:
-                doSendWechat(reportOweFeeDo, feeCollectionOrderDto);
+                if (!StringUtil.isEmpty(reportOweFeeDo.getOwnerId())) {
+                    Map paramInfo = getOwnerAppUserDto(feeCollectionOrderDto.getCommunityId(), reportOweFeeDo.getOwnerId());
+                    resultVo = doSendWechat(reportOweFeeDo, feeCollectionOrderDto, paramInfo);//寰俊
+                    feeCollectionDetailPo.setCollectionWay(FeeCollectionOrderDto.COLLECTION_WAY_WECHAT);
+                }
                 break;
             case FeeCollectionOrderDto.COLLECTION_WAY_WECHAT_SMS:
-                doSendWechatOrSms(reportOweFeeDo, feeCollectionOrderDto);
+                resultVo = doSendWechatOrSms(reportOweFeeDo, feeCollectionOrderDto, feeCollectionDetailPo);//鐭俊鎴栬�呭井淇�
                 break;
         }
-
+        logger.info("寰俊妯℃澘杩斿洖鍐呭:{}", resultVo);
+        if (resultVo != null) {
+            feeCollectionDetailPo.setCollectionName(feeCollectionOrderDto.getCollectionName());
+            feeCollectionDetailPo.setCommunityId(feeCollectionOrderDto.getCommunityId());
+            feeCollectionDetailPo.setDetailId(GenerateCodeFactory.getGeneratorId(GenerateCodeFactory.CODE_PREFIX_detailId));
+            feeCollectionDetailPo.setFeeName(feeCollectionOrderDto.getCollectionName() + "娆犺垂");
+            feeCollectionDetailPo.setOrderId(feeCollectionOrderDto.getOrderId());
+            feeCollectionDetailPo.setOweAmount(reportOweFeeDo.getAmountOwed());
+            feeCollectionDetailPo.setOwnerId(reportOweFeeDo.getOwnerId());
+            feeCollectionDetailPo.setOwnerName(reportOweFeeDo.getOwnerName());
+            feeCollectionDetailPo.setPayerObjId(reportOweFeeDo.getPayerObjId());
+            feeCollectionDetailPo.setPayerObjName(reportOweFeeDo.getPayerObjName());
+            feeCollectionDetailPo.setPayerObjType(reportOweFeeDo.getPayerObjType());
+            feeCollectionDetailPo.setState(resultVo.getCode() == ResultVo.CODE_OK ? FeeCollectionOrderDto.STATE_FINISH : FeeCollectionOrderDto.STATE_ERROR);
+            feeCollectionDetailPo.setRemarks(resultVo.getMsg().length() > 512 ? resultVo.getMsg().substring(0, 450) : resultVo.getMsg());
+            feeCollectionDetailInnerServiceSMOImpl.saveFeeCollectionDetail(feeCollectionDetailPo);
+        }
     }
 
     /**
@@ -194,13 +244,14 @@
      * @param reportOweFeeDo
      * @param feeCollectionOrderDto
      */
-    private void doSendWechatOrSms(ReportOweFeeDto reportOweFeeDo, FeeCollectionOrderDto feeCollectionOrderDto) {
-        Map paramInfo = getOwnerAppUserDto(feeCollectionOrderDto.getCommunityId(), reportOweFeeDo.getOwnerId());
+    private ResultVo doSendWechatOrSms(ReportOweFeeDto reportOweFeeDo, FeeCollectionOrderDto feeCollectionOrderDto, FeeCollectionDetailPo feeCollectionDetailPo) {
+        Map paramInfo = getOwnerAppUserDto(feeCollectionOrderDto.getCommunityId(), reportOweFeeDo.getOweId());
         if (paramInfo == null) {
-            doSendSms(reportOweFeeDo, feeCollectionOrderDto);
-            return;
+            feeCollectionDetailPo.setCollectionWay(FeeCollectionOrderDto.COLLECTION_WAY_SMS);
+            return doSendSms(reportOweFeeDo, feeCollectionOrderDto);//鐭俊鎺ㄩ��
         }
-        doSendWechat(reportOweFeeDo, feeCollectionOrderDto, paramInfo);
+        feeCollectionDetailPo.setCollectionWay(FeeCollectionOrderDto.COLLECTION_WAY_WECHAT);
+        return doSendWechat(reportOweFeeDo, feeCollectionOrderDto, paramInfo);//寰俊鎺ㄩ��
     }
 
     /**
@@ -209,12 +260,12 @@
      * @param reportOweFeeDo
      * @param feeCollectionOrderDto
      */
-    private void doSendWechat(ReportOweFeeDto reportOweFeeDo, FeeCollectionOrderDto feeCollectionOrderDto) {
+    private ResultVo doSendWechat(ReportOweFeeDto reportOweFeeDo, FeeCollectionOrderDto feeCollectionOrderDto) {
         Map paramInfo = getOwnerAppUserDto(feeCollectionOrderDto.getCommunityId(), reportOweFeeDo.getOwnerId());
         if (paramInfo == null) {
-            return;
+            return new ResultVo(ResultVo.CODE_ERROR, "涓氫富鏈粦瀹�");
         }
-        doSendWechat(reportOweFeeDo, feeCollectionOrderDto, paramInfo);
+        return doSendWechat(reportOweFeeDo, feeCollectionOrderDto, paramInfo);
     }
 
     /**
@@ -223,61 +274,78 @@
      * @param reportOweFeeDo
      * @param feeCollectionOrderDto
      */
-    private void doSendWechat(ReportOweFeeDto reportOweFeeDo, FeeCollectionOrderDto feeCollectionOrderDto, Map paramInfo) {
+    private ResultVo doSendWechat(ReportOweFeeDto reportOweFeeDo, FeeCollectionOrderDto feeCollectionOrderDto, Map paramInfo) {
         if (paramInfo == null) {
-            return;
+            return new ResultVo(ResultVo.CODE_ERROR, "涓氫富鏈粦瀹�");
         }
         String templateId = paramInfo.get("templateId").toString();
-        String accessToken = paramInfo.get("accessToken").toString();
         String url = paramInfo.get("url").toString();
-        String oweRoomUrl = paramInfo.get("oweCarUrl").toString();
+        String oweRoomUrl = paramInfo.get("oweRoomUrl").toString();
         String oweCarUrl = paramInfo.get("oweCarUrl").toString();
-        SmallWeChatDto weChatDto = (SmallWeChatDto)paramInfo.get("weChatDto");
-        Miniprogram miniprogram = paramInfo.get("oweCarUrl") == null ? null : (Miniprogram) paramInfo.get("oweCarUrl");
+        SmallWeChatDto weChatDto = (SmallWeChatDto) paramInfo.get("weChatDto");
+        Miniprogram miniprogram = paramInfo.get("miniprogram") == null ? null : (Miniprogram) paramInfo.get("miniprogram");
         List<OwnerAppUserDto> ownerAppUserDtos = (List<OwnerAppUserDto>) paramInfo.get("ownerAppUserDtos");
 
         List<ReportOweFeeItemDto> itemDtos = reportOweFeeDo.getItems();
         String oweUrl = "";
         for (ReportOweFeeItemDto itemDto : itemDtos) {
+            BigDecimal amountOwed = new BigDecimal(itemDto.getAmountOwed());
             oweUrl = FeeDto.PAYER_OBJ_TYPE_ROOM.equals(reportOweFeeDo.getPayerObjType()) ? oweRoomUrl : oweCarUrl;
-            for (OwnerAppUserDto appUserDto : ownerAppUserDtos) {
-                try {
-
-                    Data data = new Data();
-                    PropertyFeeTemplateMessage templateMessage = new PropertyFeeTemplateMessage();
-                    templateMessage.setTemplate_id(templateId);
-                    templateMessage.setTouser(appUserDto.getOpenId());
-                    /*data.setFirst(new Content("鐗╀笟璐圭即璐规彁閱�"));*/
-                    data.setFirst(new Content(itemDto.getFeeName() + "鎻愰啋"));
-                    data.setKeyword1(new Content(itemDto.getPayerObjName()));
-                    data.setKeyword2(new Content(itemDto.getAmountOwed()));
-                    data.setKeyword3(new Content(
-                            DateUtil.getFormatTimeString(itemDto.getStartTime(), DateUtil.DATE_FORMATE_STRING_B)
-                                    + "鑷�"
-                                    + DateUtil.getFormatTimeString(itemDto.getEndTime(), 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);
-                }
+            String[] roomName = new String[]{};
+            if ("3333".equals(reportOweFeeDo.getPayerObjType())) {
+                roomName = itemDto.getPayerObjName().split("-");
             }
+            for (OwnerAppUserDto appUserDto : ownerAppUserDtos) {
+                    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);
+                    }
+                }
         }
+
+        return new ResultVo(ResultVo.CODE_OK, ResultVo.MSG_OK);
     }
 
     /**
@@ -286,8 +354,57 @@
      * @param reportOweFeeDo
      * @param feeCollectionOrderDto
      */
-    private void doSendSms(ReportOweFeeDto reportOweFeeDo, FeeCollectionOrderDto feeCollectionOrderDto) {
+    private ResultVo doSendSms(ReportOweFeeDto reportOweFeeDo, FeeCollectionOrderDto feeCollectionOrderDto) {
 
+        SmsConfigDto smsConfigDto = new SmsConfigDto();
+        smsConfigDto.setObjId(feeCollectionOrderDto.getCommunityId());
+        smsConfigDto.setSmsBusi(SmsConfigDto.SMS_BUSI_OWE);
+        List<SmsConfigDto> smsConfigDtos = smsConfigInnerServiceSMOImpl.querySmsConfigs(smsConfigDto);
+
+        if (smsConfigDtos == null || smsConfigDtos.size() < 1) {
+            return new ResultVo(ResultVo.CODE_ERROR, "鏈厤缃煭淇′俊鎭�");
+        }
+        Object paramIn = null;
+        List<ReportOweFeeItemDto> itemDtos = reportOweFeeDo.getItems();
+        //鑾峰彇鐢ㄦ埛缂磋垂鍒版湡鏃堕棿
+        Date endTime = itemDtos.get(0).getEndTime();
+        Calendar calendar = Calendar.getInstance();
+        calendar.setTime(endTime);
+        calendar.add(Calendar.DATE, -1);
+        endTime = calendar.getTime();
+        SmsConfigDto smsConfigDto1 = BeanConvertUtil.covertBean(smsConfigDtos.get(0), SmsConfigDto.class);
+        // 灏婃暚鐨勪笟涓�${user}锛屾偍${house}鐨�${feeType}锛岃处鍗曟棩鏈�${date}鑷�${date2}锛岀即璐归噾棰濓細${mount}鍏冿紝璇峰強鏃剁即璐�
+        if ("ALI".equals(smsConfigDto1.getSmsType())) {
+            JSONObject param = new JSONObject();
+            param.put("user", reportOweFeeDo.getOwnerName());
+            param.put("house", reportOweFeeDo.getPayerObjName());
+            param.put("feeType", itemDtos.get(0).getFeeName());
+            param.put("date", DateUtil.getFormatTimeString(itemDtos.get(0).getStartTime(), DateUtil.DATE_FORMATE_STRING_B));
+            param.put("date2", DateUtil.getFormatTimeString(endTime, DateUtil.DATE_FORMATE_STRING_B));
+            param.put("mount", reportOweFeeDo.getAmountOwed());
+            paramIn = param;
+        } else {
+            paramIn = new String[]{
+                    reportOweFeeDo.getOwnerName(),
+                    reportOweFeeDo.getPayerObjName(),
+                    reportOweFeeDo.getAmountOwed()
+            };
+        }
+
+        OwnerDto ownerDto = new OwnerDto();
+        ownerDto.setCommunityId(feeCollectionOrderDto.getCommunityId());
+        ownerDto.setOwnerId(reportOweFeeDo.getOwnerId());
+        List<OwnerDto> ownerDtos = ownerInnerServiceSMOImpl.queryOwners(ownerDto);
+
+        if (ownerDtos == null || ownerDtos.size() < 1) {
+            return new ResultVo(ResultVo.CODE_ERROR, "涓氫富涓嶅瓨鍦�");
+        }
+        ResultVo resultVo = null;
+        for (OwnerDto ownerDto1 : ownerDtos) {
+            resultVo = SendSmsFactory.sendOweFeeSms(ownerDto1.getLink(), smsConfigDto1, paramIn);
+        }
+
+        return resultVo;
     }
 
     private Map getOwnerAppUserDto(String communityId, String memberId) {
@@ -328,6 +445,7 @@
         OwnerAppUserDto ownerAppUserDto = new OwnerAppUserDto();
         ownerAppUserDto.setCommunityId(weChatDto.getObjId());
         ownerAppUserDto.setAppType(OwnerAppUserDto.APP_TYPE_WECHAT);
+        ownerAppUserDto.setMemberId(memberId);
         List<OwnerAppUserDto> ownerAppUserDtos = ownerAppUserInnerServiceSMOImpl.queryOwnerAppUsers(ownerAppUserDto);
 
         if (ownerAppUserDtos == null || ownerAppUserDtos.size() < 1) {
@@ -355,7 +473,6 @@
 
         Map paramInfo = new HashMap();
         paramInfo.put("templateId", templateId);
-        paramInfo.put("accessToken", accessToken);
         paramInfo.put("url", url);
         paramInfo.put("miniprogram", miniprogram);
         paramInfo.put("oweCarUrl", oweCarUrl);
@@ -377,19 +494,23 @@
         }
         ReportOweFeeDto reportOweFeeDto = new ReportOweFeeDto();
         reportOweFeeDto.setPayerObjIds(payObjIds.toArray(new String[payObjIds.size()]));
+        reportOweFeeDto.setHasOweFee("Y");
         List<ReportOweFeeDto> allReportOweFeeDtos = reportOweFeeInnerServiceSMOImpl.queryReportAllOweFees(reportOweFeeDto);
         List<ReportOweFeeDto> reportOweFeeDtos = new ArrayList<>();
         for (ReportOweFeeDto reportOweFee : allReportOweFeeDtos) {
             ReportOweFeeDto reportOwe = new ReportOweFeeDto();
             reportOwe.setOweId(reportOweFee.getOweId());
+            reportOwe.setHasOweFee("Y");
             reportOweFee.setPayerObjType(reportOweFee.getPayerObjType());
             if (reportOweFee.getPayerObjType().equals("3333")) {
                 List<ReportOweFeeDto> reportOweFees = reportOweFeeInnerServiceSMOImpl.queryReportAllOweFeesByRoom(reportOwe);
                 reportOweFee.setOweId(reportOweFees.get(0).getOweId());
+                reportOweFee.setOwnerId(reportOweFees.get(0).getOwnerId());
                 reportOweFee.setOwnerName(reportOweFees.get(0).getOwnerName());
             } else if (reportOweFee.getPayerObjType().equals("6666")) {
                 List<ReportOweFeeDto> reportOweFees = reportOweFeeInnerServiceSMOImpl.queryReportAllOweFeesByCar(reportOwe);
                 reportOweFee.setOweId(reportOweFees.get(0).getOweId());
+                reportOweFee.setOwnerId(reportOweFees.get(0).getOwnerId());
                 reportOweFee.setOwnerName(reportOweFees.get(0).getOwnerName());
             }
             reportOweFeeDtos.add(reportOweFee);
@@ -435,6 +556,12 @@
             if (!StringUtil.isEmpty(reportOweFeeDto.getOwnerName()) && StringUtil.isEmpty(oldReportOweFeeDto.getOwnerName())) {
                 oldReportOweFeeDto.setOwnerName(reportOweFeeDto.getOwnerName());
             }
+            if (!StringUtil.isEmpty(reportOweFeeDto.getOwnerId()) && StringUtil.isEmpty(oldReportOweFeeDto.getOwnerId())) {
+                oldReportOweFeeDto.setOwnerId(reportOweFeeDto.getOwnerId());
+            }
+            if (!StringUtil.isEmpty(reportOweFeeDto.getPayerObjType()) && StringUtil.isEmpty(oldReportOweFeeDto.getPayerObjType())) {
+                oldReportOweFeeDto.setPayerObjType(reportOweFeeDto.getPayerObjType());
+            }
             oldReportOweFeeDto.setUpdateTime(reportOweFeeDto.getUpdateTime());
             oldReportOweFeeDto.setConfigName(reportOweFeeDto.getConfigName());
         }

--
Gitblit v1.8.0