From ace0ed0a12ef6002981864547005d5d07f8545c0 Mon Sep 17 00:00:00 2001 From: linfso Date: Mon, 12 Aug 2024 18:23:43 +0800 Subject: [PATCH] md --- .../erp/emis/service/sms/Sms253Service.java | 101 ++++++++++++++++++ .../mapper/EmisSettleSubBillMapper.xml | 71 ++++++++++-- 2 files changed, 164 insertions(+), 8 deletions(-) create mode 100644 emis-biz/src/main/java/com/xdadan/erp/emis/service/sms/Sms253Service.java diff --git a/emis-biz/src/main/java/com/xdadan/erp/emis/service/sms/Sms253Service.java b/emis-biz/src/main/java/com/xdadan/erp/emis/service/sms/Sms253Service.java new file mode 100644 index 000000000..fa0875ff4 --- /dev/null +++ b/emis-biz/src/main/java/com/xdadan/erp/emis/service/sms/Sms253Service.java @@ -0,0 +1,101 @@ +package com.xdadan.erp.emis.service.sms; + + +import com.alibaba.fastjson.JSONObject; +import com.aliyun.dysmsapi20170525.Client; +import com.aliyun.tea.TeaModel; +import com.aliyun.teautil.Common; +import com.aliyun.teautil.models.RuntimeOptions; +import com.xdadan.erp.emis.domain.enumtype.EmisBizErrorType; +import com.xdadan.erp.emis.domain.exception.EmisBizError; +import com.xdadan.erp.system.service.ISysConfigService; +import lombok.extern.slf4j.Slf4j; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.stereotype.Service; + +@Slf4j +@Service("Sms253Service") +public class Sms253Service { + + @Autowired + private ISysConfigService configService; + + /** + * 发送短信 + * @param signName 签名 + * @param templateCode 模板 + * @param phone 手机号 + * @param tplParam 参数 + */ + public int sendMessage(String signName,String phone, String templateCode,String tplParam) throws EmisBizError { + + String jsonParamStr=configService.selectConfigByKey("sys.sms253.sms"); + JSONObject jObjAliyunParam=JSONObject.parseObject(jsonParamStr); + String accessKeyId=jObjAliyunParam.getString("accessKeyId"); + String accessKeySecret=jObjAliyunParam.getString("accessKeySecret"); + + return innerSendMessage(accessKeyId,accessKeySecret,signName,templateCode,phone,tplParam); + + + } + + /** + * 使用AK&SK初始化账号Client + * @param accessKeyId + * @param accessKeySecret + * @return Client + * @throws Exception + */ + public static Client createClient(String accessKeyId, String accessKeySecret) throws Exception { + com.aliyun.teaopenapi.models.Config config = new com.aliyun.teaopenapi.models.Config() + .setAccessKeyId(accessKeyId) + .setAccessKeySecret(accessKeySecret); + // 访问的域名 + config.endpoint = "dysmsapi.aliyuncs.com"; + return new Client(config); + } + + public static int innerSendMessage(String accessKeyId,String accessKeySecret,String signName,String templateCode, String phone, String tplParam) throws EmisBizError { + try { + Client client = createClient(accessKeyId, accessKeySecret); + com.aliyun.dysmsapi20170525.models.SendSmsRequest sendSmsRequest = new com.aliyun.dysmsapi20170525.models.SendSmsRequest(); + sendSmsRequest.setPhoneNumbers(phone); + sendSmsRequest.setSignName(signName); + sendSmsRequest.setTemplateCode(templateCode); +// sendSmsRequest.setTemplateParam("{\"code\":\""+param+"\"}"); + sendSmsRequest.setTemplateParam(tplParam); + RuntimeOptions runtime = new RuntimeOptions(); + com.aliyun.dysmsapi20170525.models.SendSmsResponse response = client.sendSmsWithOptions(sendSmsRequest, runtime); + String jsonStr= Common.toJSONString(TeaModel.buildMap(response)); + + if(response.getStatusCode()==200) { + if ("OK".equals(response.getBody().getCode())) { + return 1; + } else { + throw new EmisBizError(EmisBizErrorType.FAIL,response.getBody().getMessage()); + } + }else{ + throw new EmisBizError(EmisBizErrorType.FAIL,"短信渠道发送错误"); + } + }catch (Exception e) { + e.printStackTrace(); + throw new EmisBizError(EmisBizErrorType.FAIL,"短信渠道异常"); + } + } + + + public static void main(String[] args) { + + String accessKeyId="LTAI5tA1yz1QK6BVhzg3ne5D"; + String accessKeySecret="bFbFle1hFsy1zeyTeN79FXopPx9yRS"; + String signName="跨境助手"; + String templateCode="SMS_179215861"; + String phoneNumbers="13764645922"; + String param="1234"; + try { + int ret = innerSendMessage(accessKeyId,accessKeySecret,signName,templateCode,phoneNumbers,param); + } catch (Exception e) { + e.printStackTrace(); + } + } +} diff --git a/emis-biz/src/main/resources/mapper/EmisSettleSubBillMapper.xml b/emis-biz/src/main/resources/mapper/EmisSettleSubBillMapper.xml index 148b28bd1..fcfb39cf3 100644 --- a/emis-biz/src/main/resources/mapper/EmisSettleSubBillMapper.xml +++ b/emis-biz/src/main/resources/mapper/EmisSettleSubBillMapper.xml @@ -37,14 +37,51 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" + + + + - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + a.bill_code=b.bill_code and a.del_flag='0' and b.del_flag='0'