|
@@ -1,5 +1,6 @@
|
|
|
package com.zcxk.rmcp.pay.service.impl.pay;
|
|
|
|
|
|
+import com.zcxk.core.utils.DateUtil;
|
|
|
import com.zcxk.rmcp.pay.commom.exception.ServiceException;
|
|
|
import com.zcxk.rmcp.pay.commom.model.AjaxMessage;
|
|
|
import com.zcxk.rmcp.pay.commom.model.Pagination;
|
|
@@ -8,14 +9,12 @@ import com.zcxk.rmcp.pay.commom.util.ExcelUtil;
|
|
|
import com.zcxk.rmcp.pay.commom.util.MessageSend.SMSClient;
|
|
|
import com.zcxk.rmcp.pay.commom.util.MessageSend.SendReq;
|
|
|
import com.zcxk.rmcp.pay.commom.util.UserUtil;
|
|
|
-import com.zcxk.rmcp.pay.dao.pay.BaseClosingAccountInfoMapper;
|
|
|
-import com.zcxk.rmcp.pay.dao.pay.PayFeeMapper;
|
|
|
-import com.zcxk.rmcp.pay.dao.pay.PayMessagesendrecordMapper;
|
|
|
-import com.zcxk.rmcp.pay.dao.pay.PayMessagetemplateMapper;
|
|
|
+import com.zcxk.rmcp.pay.dao.pay.*;
|
|
|
import com.zcxk.rmcp.pay.dto.LoginUser;
|
|
|
import com.zcxk.rmcp.pay.dto.pay.*;
|
|
|
import com.zcxk.rmcp.pay.dto.pay.payfee.PayValveStateInfoDto;
|
|
|
import com.zcxk.rmcp.pay.entity.ProgramItem;
|
|
|
+import com.zcxk.rmcp.pay.entity.pay.MeasurementInstance;
|
|
|
import com.zcxk.rmcp.pay.entity.pay.PayBaseAccount;
|
|
|
import com.zcxk.rmcp.pay.entity.pay.PayControlRule;
|
|
|
import com.zcxk.rmcp.pay.quartz.entity.QuartzEntity;
|
|
@@ -34,6 +33,7 @@ import org.apache.commons.lang3.StringUtils;
|
|
|
import org.springframework.beans.factory.InitializingBean;
|
|
|
import org.springframework.beans.factory.annotation.Autowired;
|
|
|
import org.springframework.stereotype.Service;
|
|
|
+import org.springframework.util.CollectionUtils;
|
|
|
|
|
|
import javax.annotation.Resource;
|
|
|
import javax.servlet.http.HttpServletResponse;
|
|
@@ -42,6 +42,7 @@ import java.math.BigInteger;
|
|
|
import java.time.LocalDateTime;
|
|
|
import java.time.format.DateTimeFormatter;
|
|
|
import java.util.ArrayList;
|
|
|
+import java.util.Date;
|
|
|
import java.util.HashMap;
|
|
|
import java.util.List;
|
|
|
import java.util.stream.Collectors;
|
|
@@ -78,6 +79,9 @@ public class PayMessagesendrecordServiceImp implements PayMessagesendrecordServi
|
|
|
|
|
|
@Autowired
|
|
|
PayFeeService payFeeService;
|
|
|
+ @Autowired
|
|
|
+ private MeasurementInstanceMapper measurementInstanceMapper;
|
|
|
+
|
|
|
|
|
|
|
|
|
public void insert(PayMessagesendrecordDto payMessagesendrecordDto) {
|
|
@@ -101,11 +105,7 @@ public class PayMessagesendrecordServiceImp implements PayMessagesendrecordServi
|
|
|
//站点为空则加入用户站点查询
|
|
|
if( loginUser !=null){
|
|
|
//站点权限
|
|
|
- payMessagesendrecordDto.setSiteId(BigInteger.valueOf(loginUser.getSiteId()));
|
|
|
- //客户权限
|
|
|
- payMessagesendrecordDto.setCustomerId(BigInteger.valueOf(loginUser.getCustomerId()));
|
|
|
- //数据权限
|
|
|
- payMessagesendrecordDto.setProgramItems(UserUtil.getCurrentSiteProgramItems(loginUser));
|
|
|
+
|
|
|
}
|
|
|
|
|
|
List<PayMessagesendrecordDto> list = payMessagesendrecordMapper.findList(payMessagesendrecordDto);
|
|
@@ -133,29 +133,24 @@ public class PayMessagesendrecordServiceImp implements PayMessagesendrecordServi
|
|
|
public Pagination<PayDebtMessageDto> findDebtList(String condition, BigDecimal beginDebtFee, BigDecimal endDebtFee, List<BigInteger> accountIds, int pageNum, int pageSize) {
|
|
|
LoginUser loginUser = UserUtil.getCurrentUser();
|
|
|
|
|
|
- Integer siteId=null;
|
|
|
- Integer customerId=null;
|
|
|
- List<ProgramItem> programItems=null;
|
|
|
- if( loginUser !=null){
|
|
|
- //站点权限
|
|
|
- siteId=loginUser.getSiteId();
|
|
|
- //客户权限
|
|
|
- customerId=loginUser.getCustomerId();
|
|
|
- //数据权限
|
|
|
- programItems=UserUtil.getCurrentSiteProgramItems(loginUser);
|
|
|
- }
|
|
|
- //获取最新账期
|
|
|
-
|
|
|
- BaseClosingAccountInfoDto baseClosingAccountInfoDto=baseClosingAccountInfoMapper.getLastClosingAccount(loginUser.getSiteId(),loginUser.getCustomerId());
|
|
|
|
|
|
- if(baseClosingAccountInfoDto == null){
|
|
|
-// throw new ServiceException(ResultStatus.ClOSING_ACCCOUNT_NOT_EXIT);
|
|
|
- return new Pagination<>(new Page(pageNum,pageSize));
|
|
|
+ //获取最新账期
|
|
|
+ List<MeasurementInstance> history = measurementInstanceMapper.findHistory(null, loginUser.getCompanyId(), loginUser.getDepartmentId());
|
|
|
+ MeasurementInstance measurementInstance=new MeasurementInstance();
|
|
|
+ if(!CollectionUtils.isEmpty(history)){
|
|
|
+ measurementInstance=history.get(0);
|
|
|
+ }
|
|
|
+ Date billingPeriod = measurementInstance.getBillingPeriod();
|
|
|
+ Integer year=null;
|
|
|
+ Integer month=null;
|
|
|
+ if(billingPeriod!=null){
|
|
|
+ year=DateUtil.getYear(billingPeriod);
|
|
|
+ month=DateUtil.getMonth(billingPeriod);
|
|
|
}
|
|
|
//分页
|
|
|
PageHelper.startPage(pageNum,pageSize);
|
|
|
//获取数据
|
|
|
- List<PayDebtMessageDto> list = payMessagesendrecordMapper.findDebtList( baseClosingAccountInfoDto.getYear(),baseClosingAccountInfoDto.getMonth(), condition, beginDebtFee, endDebtFee, accountIds,siteId,customerId,programItems);
|
|
|
+ List<PayDebtMessageDto> list = payMessagesendrecordMapper.findDebtList( year,month, condition, beginDebtFee, endDebtFee, accountIds,loginUser.getTenantId(),loginUser.getUserCondition());
|
|
|
|
|
|
return new Pagination<>(list);
|
|
|
}
|
|
@@ -179,7 +174,7 @@ public class PayMessagesendrecordServiceImp implements PayMessagesendrecordServi
|
|
|
//获取数据
|
|
|
List<PayDebtMessageDto> list =new ArrayList();
|
|
|
if(baseClosingAccountInfoDto != null){
|
|
|
- list = payMessagesendrecordMapper.findDebtList( baseClosingAccountInfoDto.getYear(),baseClosingAccountInfoDto.getMonth(), condition, beginDebtFee, endDebtFee, null,siteId,customerId,programItems);
|
|
|
+ list = payMessagesendrecordMapper.findDebtList( baseClosingAccountInfoDto.getYear(),baseClosingAccountInfoDto.getMonth(), condition, beginDebtFee, endDebtFee, null,loginUser.getTenantId(),loginUser.getUserCondition());
|
|
|
}
|
|
|
String title = "客户欠费记录";
|
|
|
|
|
@@ -241,7 +236,7 @@ public class PayMessagesendrecordServiceImp implements PayMessagesendrecordServi
|
|
|
}
|
|
|
|
|
|
//获取短信模板
|
|
|
- PayMessageTemplateDto templateList= payMessagetemplateMapper.get(BigInteger.valueOf(loginUser.getSiteId()),BigInteger.valueOf(loginUser.getCustomerId()),0,null);
|
|
|
+ PayMessageTemplateDto templateList= payMessagetemplateMapper.get(loginUser.getTenantId(),0,null);
|
|
|
if(templateList == null){
|
|
|
//获取短信模板失败,没查询到有效模板
|
|
|
throw new ServiceException(ResultStatus.MESSAGE_TEMPLATE_FAILED);
|
|
@@ -258,7 +253,7 @@ public class PayMessagesendrecordServiceImp implements PayMessagesendrecordServi
|
|
|
throw new ServiceException(ResultStatus.ClOSING_ACCCOUNT_NOT_EXIT);
|
|
|
}
|
|
|
//获取数据
|
|
|
- List<PayDebtMessageDto> debtList = payMessagesendrecordMapper.findDebtList( baseClosingAccountInfoDto.getYear(),baseClosingAccountInfoDto.getMonth(), condition, beginDebtFee, endDebtFee, accountIds,siteId,customerId,programItems);
|
|
|
+ List<PayDebtMessageDto> debtList = payMessagesendrecordMapper.findDebtList( baseClosingAccountInfoDto.getYear(),baseClosingAccountInfoDto.getMonth(), condition, beginDebtFee, endDebtFee, accountIds,loginUser.getTenantId(),loginUser.getUserCondition());
|
|
|
if(debtList.size()==0){
|
|
|
//获取欠费信息失败
|
|
|
throw new ServiceException(ResultStatus.MESSAGE_DEBTFEE_FAILED);
|
|
@@ -286,7 +281,7 @@ public class PayMessagesendrecordServiceImp implements PayMessagesendrecordServi
|
|
|
payMessageTemplateDto.setSendType(0);
|
|
|
|
|
|
//获取短信模板
|
|
|
- PayMessageTemplateDto templateList= payMessagetemplateMapper.get(BigInteger.valueOf(siteId),BigInteger.valueOf(customerId),0,1);
|
|
|
+ PayMessageTemplateDto templateList= payMessagetemplateMapper.get("",0,1);
|
|
|
if(templateList == null){
|
|
|
//获取短信模板失败,没查询到有效模板
|
|
|
throw new ServiceException(ResultStatus.MESSAGE_TEMPLATE_FAILED);
|
|
@@ -305,7 +300,7 @@ public class PayMessagesendrecordServiceImp implements PayMessagesendrecordServi
|
|
|
throw new ServiceException(ResultStatus.ClOSING_ACCCOUNT_NOT_EXIT);
|
|
|
}
|
|
|
//获取数据
|
|
|
- List<PayDebtMessageDto> debtList = payMessagesendrecordMapper.findDebtList( baseClosingAccountInfoDto.getYear(),baseClosingAccountInfoDto.getMonth(), null, null, null, null,siteId,customerId,null);
|
|
|
+ List<PayDebtMessageDto> debtList = payMessagesendrecordMapper.findDebtList( baseClosingAccountInfoDto.getYear(),baseClosingAccountInfoDto.getMonth(), null, null, null, null,null,null);
|
|
|
if(debtList.size()==0){
|
|
|
//获取欠费信息失败
|
|
|
throw new ServiceException(ResultStatus.MESSAGE_DEBTFEE_FAILED);
|
|
@@ -523,7 +518,7 @@ public class PayMessagesendrecordServiceImp implements PayMessagesendrecordServi
|
|
|
}
|
|
|
}
|
|
|
|
|
|
- public Integer sendEstimateMessage(BigInteger siteId, BigInteger customerId, PayMessageTemplateDto templates, Integer year,Integer month, PayBaseAccount payDebtMessageDto) {
|
|
|
+ public Integer sendEstimateMessage(String tenantId, PayMessageTemplateDto templates, Integer year,Integer month, PayBaseAccount payDebtMessageDto) {
|
|
|
String template = "";
|
|
|
template=templates.getTemplate4();
|
|
|
//拼接短信内容
|
|
@@ -570,8 +565,7 @@ public class PayMessagesendrecordServiceImp implements PayMessagesendrecordServi
|
|
|
payMessagesendrecordDto.setUpdateBy(templates.getUpdateBy());
|
|
|
payMessagesendrecordDto.setUpdateDate(LocalDateTime.now());
|
|
|
payMessagesendrecordDto.setDelFlag("0");
|
|
|
- payMessagesendrecordDto.setSiteId(siteId);
|
|
|
- payMessagesendrecordDto.setCustomerId(customerId);
|
|
|
+ payMessagesendrecordDto.setTenantId(tenantId);
|
|
|
payMessagesendrecordMapper.insert(payMessagesendrecordDto);
|
|
|
return result;
|
|
|
}
|
|
@@ -680,7 +674,7 @@ public class PayMessagesendrecordServiceImp implements PayMessagesendrecordServi
|
|
|
programItems=UserUtil.getCurrentSiteProgramItems(loginUser);
|
|
|
}
|
|
|
//获取短信模板
|
|
|
- PayMessageTemplateDto templateList= payMessagetemplateMapper.get(BigInteger.valueOf(loginUser.getSiteId()),BigInteger.valueOf(loginUser.getCustomerId()),0,null);
|
|
|
+ PayMessageTemplateDto templateList= payMessagetemplateMapper.get(loginUser.getTenantId(),0,null);
|
|
|
if(templateList == null){
|
|
|
//获取短信模板失败,没查询到有效模板
|
|
|
throw new ServiceException(ResultStatus.MESSAGE_TEMPLATE_FAILED);
|
|
@@ -743,19 +737,18 @@ public class PayMessagesendrecordServiceImp implements PayMessagesendrecordServi
|
|
|
|
|
|
Integer successNmu=0;
|
|
|
for(PayDebtPushMessageDto payDebtPushMessageDto: payDebtPushMessageDtos){
|
|
|
- successNmu = successNmu+ sendPayDebtPushMessages(siteId, customerId, templateList, baseClosingAccountInfoDto, payDebtPushMessageDto,0);
|
|
|
+ successNmu = successNmu+ sendPayDebtPushMessages(loginUser.getTenantId(), templateList, baseClosingAccountInfoDto, payDebtPushMessageDto,0);
|
|
|
}
|
|
|
return new AjaxMessage<>(ResultStatus.OK,"推送成功"+successNmu+"条");
|
|
|
}
|
|
|
|
|
|
- public AjaxMessage<String> sendPayDebtPushMessagesByAuto(Integer siteId, Integer customerId){
|
|
|
+ public AjaxMessage<String> sendPayDebtPushMessagesByAuto(String tenantId){
|
|
|
PayMessageTemplateDto payMessageTemplateDto = new PayMessageTemplateDto();
|
|
|
- payMessageTemplateDto.setSiteId(BigInteger.valueOf(siteId));
|
|
|
- payMessageTemplateDto.setCustomerId(BigInteger.valueOf(customerId));
|
|
|
+
|
|
|
payMessageTemplateDto.setSendType(0);
|
|
|
|
|
|
//获取短信模板
|
|
|
- PayMessageTemplateDto templateList= payMessagetemplateMapper.get(BigInteger.valueOf(siteId),BigInteger.valueOf(customerId),0,1);
|
|
|
+ PayMessageTemplateDto templateList= payMessagetemplateMapper.get(tenantId,0,1);
|
|
|
if(templateList == null){
|
|
|
//获取短信模板失败,没查询到有效模板
|
|
|
throw new ServiceException(ResultStatus.MESSAGE_TEMPLATE_FAILED);
|
|
@@ -769,10 +762,9 @@ public class PayMessagesendrecordServiceImp implements PayMessagesendrecordServi
|
|
|
throw new ServiceException(ResultStatus.MESSAGE_CONFIGURATION_ISEMPTY);
|
|
|
}
|
|
|
//获取最新账期
|
|
|
- BaseClosingAccountInfoDto baseClosingAccountInfoDto=baseClosingAccountInfoMapper.getLastClosingAccount(siteId,customerId);
|
|
|
- if(baseClosingAccountInfoDto == null){
|
|
|
- throw new ServiceException(ResultStatus.ClOSING_ACCCOUNT_NOT_EXIT);
|
|
|
- }
|
|
|
+
|
|
|
+ BaseClosingAccountInfoDto baseClosingAccountInfoDto=new BaseClosingAccountInfoDto();
|
|
|
+
|
|
|
|
|
|
List<Integer> types =new ArrayList<>();
|
|
|
types.add(1); //欠费天数
|
|
@@ -819,12 +811,12 @@ public class PayMessagesendrecordServiceImp implements PayMessagesendrecordServi
|
|
|
|
|
|
Integer successNmu=0;
|
|
|
for(PayDebtPushMessageDto payDebtPushMessageDto: payDebtPushMessageDtos){
|
|
|
- successNmu = successNmu+ sendPayDebtPushMessages(siteId, customerId, templateList, baseClosingAccountInfoDto, payDebtPushMessageDto,0);
|
|
|
+ successNmu = successNmu+ sendPayDebtPushMessages(tenantId, templateList, baseClosingAccountInfoDto, payDebtPushMessageDto,0);
|
|
|
}
|
|
|
return new AjaxMessage<>(ResultStatus.OK,"推送成功"+successNmu+"条");
|
|
|
}
|
|
|
|
|
|
- private Integer sendPayDebtPushMessages(Integer siteId, Integer customerId, PayMessageTemplateDto templateList, BaseClosingAccountInfoDto baseClosingAccountInfoDto, PayDebtPushMessageDto payDebtPushMessageDto,Integer type) {
|
|
|
+ private Integer sendPayDebtPushMessages(String tenantId, PayMessageTemplateDto templateList, BaseClosingAccountInfoDto baseClosingAccountInfoDto, PayDebtPushMessageDto payDebtPushMessageDto,Integer type) {
|
|
|
String template;
|
|
|
|
|
|
if(payDebtPushMessageDto.getIsDays() != null &&payDebtPushMessageDto.getIsDays() == 1){
|
|
@@ -894,8 +886,8 @@ public class PayMessagesendrecordServiceImp implements PayMessagesendrecordServi
|
|
|
payMessagesendrecordDto.setUpdateBy(templateList.getUpdateBy());
|
|
|
payMessagesendrecordDto.setUpdateDate(LocalDateTime.now());
|
|
|
payMessagesendrecordDto.setDelFlag("0");
|
|
|
- payMessagesendrecordDto.setSiteId(BigInteger.valueOf(siteId));
|
|
|
- payMessagesendrecordDto.setCustomerId(BigInteger.valueOf(customerId));
|
|
|
+ payMessagesendrecordDto.setTenantId(tenantId);
|
|
|
+
|
|
|
payMessagesendrecordMapper.insert(payMessagesendrecordDto);
|
|
|
}
|
|
|
return result;
|