|
|
|
|
|
|
|
|
public void sendSmsOut(FssPaccountPay paccountPay) { |
|
|
public void sendSmsOut(FssPaccountPay paccountPay) { |
|
|
try { |
|
|
try { |
|
|
log.info("反白,发送短信...请求参数:{}", paccountPay); |
|
|
log.info("反白,发送短信...请求参数:{}", paccountPay); |
|
|
AflSmsConfig byAgentId = aflSmsConfigRepo.findByAgentId(paccountPay.getAgentId()); |
|
|
|
|
|
//判断是否是比亚迪车辆 才发短信 |
|
|
|
|
|
if(canSendSms(paccountPay, byAgentId)){ |
|
|
|
|
|
String smsTemplate ="尊敬的ETC客户:您好!您的车辆(****%s)ETC账户状态正常且无欠费记录"; |
|
|
|
|
|
String carPlate = paccountPay.getVehicleId().split("_")[0].toString(); |
|
|
|
|
|
// 修改部分:将脱敏部分放在前面,保留后三位 |
|
|
|
|
|
String smsContent = String.format(smsTemplate, |
|
|
|
|
|
carPlate.substring(carPlate.length() - 3)); |
|
|
|
|
|
SendSmsReq sendSmsReq= new SendSmsReq(); |
|
|
|
|
|
sendSmsReq.setSmsContent(smsContent); |
|
|
|
|
|
//查询 车牌 最新手机号 |
|
|
|
|
|
List<AflOrderInfo> byVehicleId = aflOrderInfoRepo.findByVehicleId(paccountPay.getVehicleId().split("_")[0],Integer.parseInt(paccountPay.getVehicleId().split("_")[1])); |
|
|
|
|
|
if(!byVehicleId.isEmpty()&&byVehicleId.get(0).getMobile()!=null) { |
|
|
|
|
|
sendSmsReq.setMobile(byVehicleId.get(0).getMobile()); |
|
|
|
|
|
} |
|
|
|
|
|
QtztJsonRequest qtztJsonRequest = new QtztJsonRequest(); |
|
|
|
|
|
qtztJsonRequest.setData(sendSmsReq); |
|
|
|
|
|
qtztJsonRequest.setStaffId("hcETCqz001"); |
|
|
|
|
|
qtztJsonRequest.setAgentId("52010106004"); |
|
|
|
|
|
qtztJsonRequest.setChannelId("5201010600401140115"); |
|
|
|
|
|
qtztJsonRequest.setSign("123213"); |
|
|
|
|
|
qtztJsonRequest.setStamp("1563271471061"); |
|
|
|
|
|
qtztJsonRequest.setChannelType(2); |
|
|
|
|
|
qtztJsonRequest.setTerminalId("999999999999"); |
|
|
|
|
|
qtztJsonRequest.setToken("123"); |
|
|
|
|
|
qtztJsonRequest.setOrgCode("52010106004"); |
|
|
|
|
|
if(!byVehicleId.isEmpty()) { |
|
|
|
|
|
//查询mobile payId是否已经发送 防止 短信轰炸 |
|
|
|
|
|
if(StringUtils.isNotEmpty(smsTemplate)) { |
|
|
|
|
|
QtztJsonResponse qtztJsonResponse = sendQtzt(qtztJsonRequest, SendSmsResponseData.class,paccountPay,sendSmsReq,"3"); |
|
|
|
|
|
//存储短信发送记录 |
|
|
|
|
|
AflSmsRecord aflSmsRecord = new AflSmsRecord(); |
|
|
|
|
|
aflSmsRecord.setBusinessId(paccountPay.getAgreementNum()); |
|
|
|
|
|
aflSmsRecord.setSendTime(LocalDateTime.now()); |
|
|
|
|
|
aflSmsRecord.setMobile(sendSmsReq.getMobile()); |
|
|
|
|
|
aflSmsRecord.setContent(sendSmsReq.getSmsContent()); |
|
|
|
|
|
aflSmsRecord.setAgentId(paccountPay.getAgentId()); |
|
|
|
|
|
aflSmsRecord.setBusinessType("3"); |
|
|
|
|
|
if(null!=qtztJsonResponse&&qtztJsonResponse.getRcode()==0) { |
|
|
|
|
|
aflSmsRecord.setStatus("0"); |
|
|
|
|
|
}else { |
|
|
|
|
|
aflSmsRecord.setStatus("1"); |
|
|
|
|
|
aflSmsRecord.setErrorMsg(qtztJsonResponse.getRmsg()); |
|
|
|
|
|
long delay = TimeUnit.MINUTES.toMillis(10); |
|
|
|
|
|
rabbitUnifiedProduction.delayAflSmsPushQueue(aflSmsRecord.getId(), (int) delay, 1); |
|
|
|
|
|
|
|
|
if(null!=paccountPay.getAgentId()) { |
|
|
|
|
|
AflSmsConfig byAgentId = aflSmsConfigRepo.findByAgentId(paccountPay.getAgentId()); |
|
|
|
|
|
//判断是否是比亚迪车辆 才发短信 |
|
|
|
|
|
if (canSendSms(paccountPay, byAgentId)) { |
|
|
|
|
|
String smsTemplate = "尊敬的ETC客户:您好!您的车辆(****%s)ETC账户状态正常且无欠费记录,相应ETC通行功能将恢复。"; |
|
|
|
|
|
String carPlate = paccountPay.getVehicleId().split("_")[0].toString(); |
|
|
|
|
|
// 修改部分:将脱敏部分放在前面,保留后三位 |
|
|
|
|
|
String smsContent = String.format(smsTemplate, |
|
|
|
|
|
carPlate.substring(carPlate.length() - 3)); |
|
|
|
|
|
SendSmsReq sendSmsReq = new SendSmsReq(); |
|
|
|
|
|
sendSmsReq.setSmsContent(smsContent); |
|
|
|
|
|
//查询 车牌 最新手机号 |
|
|
|
|
|
List<AflOrderInfo> byVehicleId = aflOrderInfoRepo.findByVehicleId(paccountPay.getVehicleId().split("_")[0], Integer.parseInt(paccountPay.getVehicleId().split("_")[1])); |
|
|
|
|
|
if (!byVehicleId.isEmpty() && byVehicleId.get(0).getMobile() != null) { |
|
|
|
|
|
sendSmsReq.setMobile(byVehicleId.get(0).getMobile()); |
|
|
|
|
|
} |
|
|
|
|
|
QtztJsonRequest qtztJsonRequest = new QtztJsonRequest(); |
|
|
|
|
|
qtztJsonRequest.setData(sendSmsReq); |
|
|
|
|
|
qtztJsonRequest.setStaffId("hcETCqz001"); |
|
|
|
|
|
qtztJsonRequest.setAgentId("52010106004"); |
|
|
|
|
|
qtztJsonRequest.setChannelId("5201010600401140115"); |
|
|
|
|
|
qtztJsonRequest.setSign("123213"); |
|
|
|
|
|
qtztJsonRequest.setStamp("1563271471061"); |
|
|
|
|
|
qtztJsonRequest.setChannelType(2); |
|
|
|
|
|
qtztJsonRequest.setTerminalId("999999999999"); |
|
|
|
|
|
qtztJsonRequest.setToken("123"); |
|
|
|
|
|
qtztJsonRequest.setOrgCode("52010106004"); |
|
|
|
|
|
if (!byVehicleId.isEmpty()) { |
|
|
|
|
|
//查询mobile payId是否已经发送 防止 短信轰炸 |
|
|
|
|
|
if (StringUtils.isNotEmpty(smsTemplate)) { |
|
|
|
|
|
QtztJsonResponse qtztJsonResponse = sendQtzt(qtztJsonRequest, SendSmsResponseData.class, paccountPay, sendSmsReq, "3"); |
|
|
|
|
|
//存储短信发送记录 |
|
|
|
|
|
AflSmsRecord aflSmsRecord = new AflSmsRecord(); |
|
|
|
|
|
aflSmsRecord.setBusinessId(paccountPay.getAgreementNum()); |
|
|
|
|
|
aflSmsRecord.setSendTime(LocalDateTime.now()); |
|
|
|
|
|
aflSmsRecord.setMobile(sendSmsReq.getMobile()); |
|
|
|
|
|
aflSmsRecord.setContent(sendSmsReq.getSmsContent()); |
|
|
|
|
|
aflSmsRecord.setAgentId(paccountPay.getAgentId()); |
|
|
|
|
|
aflSmsRecord.setBusinessType("3"); |
|
|
|
|
|
if (null != qtztJsonResponse && qtztJsonResponse.getRcode() == 0) { |
|
|
|
|
|
aflSmsRecord.setStatus("0"); |
|
|
|
|
|
} else { |
|
|
|
|
|
aflSmsRecord.setStatus("1"); |
|
|
|
|
|
aflSmsRecord.setErrorMsg(qtztJsonResponse.getRmsg()); |
|
|
|
|
|
long delay = TimeUnit.MINUTES.toMillis(10); |
|
|
|
|
|
rabbitUnifiedProduction.delayAflSmsPushQueue(aflSmsRecord.getId(), (int) delay, 1); |
|
|
|
|
|
} |
|
|
|
|
|
aflSmsRecord.setVehicleId(paccountPay.getVehicleId()); |
|
|
|
|
|
aflSmsRecordRepo.save(aflSmsRecord); |
|
|
} |
|
|
} |
|
|
aflSmsRecord.setVehicleId(paccountPay.getVehicleId()); |
|
|
|
|
|
aflSmsRecordRepo.save(aflSmsRecord); |
|
|
|
|
|
} |
|
|
} |
|
|
} |
|
|
} |
|
|
} |
|
|
} |