扣款失败发送短信调整:中之保不发送短信,卡尔代偿之后不发送短信

This commit is contained in:
zhanglei 2021-05-14 18:47:45 +08:00
parent 0e784b6b41
commit 06430c5ec3
2 changed files with 67 additions and 9 deletions

View File

@ -3,10 +3,7 @@
*/
package com.tenwa.lease.flow.project.commcheck;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
import com.tenwa.message.QuartzJobMsg;
import jbo.app.tenwa.customer.CUSTOMER_INFO;
import jbo.app.tenwa.doc.LB_DOC_CONTRACT_LIST;
import jbo.com.tenwa.lease.comm.LB_CONTRACT_INFO_TEMP;
@ -18,14 +15,18 @@ import com.amarsoft.are.jbo.BizObjectManager;
import com.amarsoft.are.jbo.JBOFactory;
import com.amarsoft.awe.util.Transaction;
import com.tenwa.template.check.DefaultBussinessCheck;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
/**
* 校验是否电子签约
*
*/
public class MakingContractCarCheck extends DefaultBussinessCheck {
private static final Logger logger = LoggerFactory.getLogger(MakingContractCarCheck.class);
@Override
public Object run(Transaction Sqlca) throws Exception {
logger.info("MakingContractCarCheck20210514 校验合同制作与合同变更是否生成合同。");
StringBuffer Message = new StringBuffer();
Message.append("未填写:");
String flowunid=this.getAttribute("ObjectNo").toString();
@ -42,7 +43,7 @@ public class MakingContractCarCheck extends DefaultBussinessCheck {
BizObject psl = psltMange.createQuery("productid=:productid").setParameter("productid", lcit.getAttribute("PRODUCT_ID").getString()).getSingleResult(false);
if(psl!=null){
if("03".equals(ci.getAttribute("CUSTOMERTYPE").getString())&&"Electronic".equals(psl.getAttribute("SIGNTYPE").getString())){
if("4".equals(ldcl.getAttribute("PROCESS").getString())){
if("6".equals(ldcl.getAttribute("PROCESS").getString())){
putMsg("已完成电子签约!");
setPass(true);
}else{

View File

@ -5,21 +5,27 @@ import com.amarsoft.are.jbo.*;
import com.amarsoft.awe.util.ASResultSet;
import com.amarsoft.awe.util.SqlObject;
import com.amarsoft.awe.util.Transaction;
import com.tenwa.app.manage.util.KHSQContractSignActionTwoUtil;
import com.tenwa.quartz.DateUtil;
import com.tenwa.reckon.util.UUIDUtil;
import jbo.app.tenwa.calc.LC_RENT_INCOME;
import jbo.app.tenwa.calc.LC_RENT_PLAN;
import jbo.com.tenwa.lease.comm.LB_CONTRACT_INFO;
import jbo.com.tenwa.lease.comm.LB_SMS_NOTICE_TASKS;
import jbo.sys.MSG_CONFIG;
import org.apache.commons.lang3.StringUtils;
import org.quartz.*;
import org.quartz.impl.StdSchedulerFactory;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.springframework.util.CollectionUtils;
import java.text.SimpleDateFormat;
import java.util.*;
import java.util.Calendar;
import java.util.Date;
import java.util.HashMap;
import java.util.Map;
public class QuartzJobMsg implements Job {
private static final Logger logger = LoggerFactory.getLogger(QuartzJobMsg.class);
public static final String MSG_GROUP_NAME = "MSG_DEFAULT_GROUP";
@Override
@ -35,6 +41,7 @@ public class QuartzJobMsg implements Job {
String id = data.getString("id");
//获取sql语句
String msgsql = data.getString("msgSql");
logger.info("QuartzJobMsgexecute20210513 msgsql=" + msgsql);
//获取关键字
String msgsqlparam = data.getString("msgsqlparam");
//获取短信内容
@ -98,6 +105,21 @@ public class QuartzJobMsg implements Job {
if (phonenumber == null || phonenumber.toString().length() != 11) {
continue;
}
logger.info("QuartzJobMsgexecute20210513 如果当前是否为【back_day = 还款失败提醒】。msgtype=" + msgtype);
if("back_day".equals(msgtype)){
logger.info("QuartzJobMsgexecute20210513 还款失败提醒 【back_day】。");
//20210429 如果当前合同是卡尔代偿或者中之保订单则不发送短信
logger.info("QuartzJobMsgexecute20210429 如果当前合同是卡尔代偿或者中之保订单则不发送短信。CONTRACT_ID=" + rs.getString("CONTRACT_ID"));
if(null != rs.getString("CONTRACT_ID") && StringUtils.isNotEmpty(rs.getString("CONTRACT_ID"))
&& null != rs.getString("RENT_PLAN_ID") && StringUtils.isNotEmpty(rs.getString("RENT_PLAN_ID"))
&& checkMsg(rs.getString("CONTRACT_ID"), rs.getString("RENT_PLAN_ID"))){
logger.info("QuartzJobMsgexecute20210429 触发条件本条不执行。RENT_PLAN_ID=" + rs.getString("RENT_PLAN_ID"));
logger.info("QuartzJobMsgexecute20210429 触发条件本条不执行。CONTRACT_ID=" + rs.getString("CONTRACT_ID"));
continue;
}
logger.info("QuartzJobMsgexecute20210429 未触发条件继续执行。CONTRACT_ID=" + rs.getString("CONTRACT_ID"));
}
//新起数据库连接
inner_tx = JBOFactory.createJBOTransaction();
inner_tran = Transaction.createTransaction(inner_tx);
@ -274,4 +296,39 @@ public class QuartzJobMsg implements Job {
public Scheduler getScheduler() throws Exception {
return StdSchedulerFactory.getDefaultScheduler();
}
private boolean checkMsg(String contractId, String rentId) {
try {
logger.info("QuartzJobMsgexecute20210429 验证当前订单。CONTRACT_ID=" + contractId);
logger.info("QuartzJobMsgexecute20210429 验证当前订单。rentId=" + rentId);
BizObject lbContractInfo = JBOFactory.createBizObjectQuery(LB_CONTRACT_INFO.CLASS_NAME,"ID=:ID")
.setParameter("ID", contractId).getSingleResult(false);
if(null != lbContractInfo && null != lbContractInfo.getAttribute("distributor_id")
&& StringUtils.isNotEmpty(lbContractInfo.getAttribute("distributor_id").getString())){
logger.info("QuartzJobMsgexecute20210429 渠道id不为空时。DSTB20200430004679[中之保] DSTB20190510003636[卡尔、辉煌国际] distributor_id="
+ lbContractInfo.getAttribute("distributor_id").getString());
if("DSTB20200430004679".equals(lbContractInfo.getAttribute("distributor_id").getString())){
//如果渠道是中之保不发送短信20210429
logger.info("QuartzJobMsgexecute20210429 渠道是中之保不发送短信。contractId=" + contractId);
return true;
}else if ("DSTB20190510003636".equals(lbContractInfo.getAttribute("distributor_id").getString())) {
//如果渠道是卡尔并且是代偿的话不发送短信20210429
logger.info("QuartzJobMsgexecute20210429 渠道是卡尔,如果是代偿的话,不发送短信。");
@SuppressWarnings("unchecked")
BizObject rentplan = JBOFactory.createBizObjectQuery(LC_RENT_PLAN.CLASS_NAME, "ID=:ID").setParameter("ID", rentId).getSingleResult(false);
if(null != rentplan && null != rentplan.getAttribute("COLLECT_STATUS")
&& StringUtils.isNotEmpty(rentplan.getAttribute("COLLECT_STATUS").toString())
&& "代偿".equals(rentplan.getAttribute("COLLECT_STATUS").toString())){
logger.info("QuartzJobMsgexecute20210429 当前渠道是卡尔,并且是代偿,不发送短信。");
return true;
}
}
}
} catch (JBOException e) {
e.printStackTrace();
logger.error("QuartzJobMsgexecute20210429 errorMsg=" + e.getMessage());
}
return false;
}
}