微信消息推送优化

This commit is contained in:
xiezhiwen 2019-12-11 14:50:16 +08:00
parent 7a5bf31dff
commit f83cef02be

View File

@ -5,19 +5,14 @@ import java.io.InputStreamReader;
import java.io.OutputStreamWriter;
import java.net.HttpURLConnection;
import java.net.URL;
import java.util.ArrayList;
import java.util.List;
import java.util.Map;
import java.util.UUID;
import org.apache.log4j.LogManager;
import org.apache.log4j.Logger;
import org.quartz.Job;
import org.quartz.JobExecutionContext;
import org.quartz.JobExecutionException;
import com.alibaba.fastjson.JSONObject;
import com.amarsoft.are.jbo.JBOException;
import com.amarsoft.awe.dw.ui.page.body.imp.Integer;
import com.amarsoft.awe.util.ASResultSet;
import com.amarsoft.awe.util.SqlObject;
import com.amarsoft.awe.util.Transaction;
@ -25,7 +20,6 @@ import com.amarsoft.dict.als.cache.CacheLoaderFactory;
import com.tenwa.httpclient.resources.WechatPropertiesUtil;
import com.tenwa.util.SerialNumberUtil;
/**
* 1:微信公众号信息推送
* @author xiezhiwen
@ -66,7 +60,6 @@ public class WechatMessagePush implements Job{
}
}
/**
* 1: 还款提醒发送
* @return
@ -101,16 +94,6 @@ public class WechatMessagePush implements Job{
// 查询所有需要发送还款提醒的数据
String selSql="SELECT CI.CUSTOMERNAME AS CUST_NAME,WUI.MOBILE_,WUI.CERTID_,LCI.CONTRACT_NUMBER,CI.CUSTOMER_NUM,LRP.PLAN_LIST,LCI.ID AS CONTRACT_ID,CI.CUSTOMERID,WUI.OPENID,CONCAT('/wechat/menu?type=payments&id=',LCI.CONTRACT_NUMBER) AS LINK,CONCAT(CONVERT(YEAR(LRP.PLAN_DATE), CHAR),'年',CONVERT(MONTH(LRP.PLAN_DATE), CHAR),'月',CONVERT(DAY(LRP.PLAN_DATE), CHAR),'日') AS KEYWORD1,CONCAT('第', LRP.PLAN_LIST, '期') KEYWORD2,CONCAT(LRP.RENT, '元') KEYWORD3 FROM WECHAT_USER_INFO WUI LEFT JOIN CUSTOMER_INFO CI ON CI.CERTID = WUI.CERTID_ LEFT JOIN LB_UNION_LESSEE LUL ON LUL.CUSTOMER_ID = CI.CUSTOMERID AND LUL.IS_MAIN = 'Y' LEFT JOIN LB_CONTRACT_INFO LCI ON LCI.ID = LUL.CONTRACT_ID AND LCI.CONTRACT_STATUS = '31' LEFT JOIN LC_RENT_PLAN LRP ON LRP.CONTRACT_ID = LCI.ID WHERE WUI.BINDING_STATUS = 'Y' AND (TIMESTAMPDIFF(DAY,DATE_FORMAT(NOW(), '%Y-%m-%d'),DATE_FORMAT(LRP.PLAN_DATE, '%Y-%m-%d')) <=3 AND TIMESTAMPDIFF(DAY,DATE_FORMAT(NOW(), '%Y-%m-%d'),DATE_FORMAT(LRP.PLAN_DATE, '%Y-%m-%d')) >=0) AND NOT EXISTS (SELECT 1 FROM WECHAT_MESSAGE_RECORD WHERE OPENID = WUI.OPENID AND SEND_TYPE = '1' AND CONTRACT_NUMBER = LCI.CONTRACT_NUMBER AND PLAN_LIST = LRP.PLAN_LIST AND SEND_STATUS = 'Y') LIMIT 0, 50000 ";
ASResultSet rs = Sqlca.getASResultSet(new SqlObject(selSql));
// 循环, 逐条发送---如果数据量过大, 超出微信限制, 用此优化
//new Thread(new Runnable() {
// public void run() {
// try {
// Thread.sleep(500);
// } catch (Exception e) {
// e.printStackTrace();
// }
// }
//}).start();
while(rs.next()) {
// 获取接口推送所需数据