This commit is contained in:
linfso 2024-06-17 07:29:17 +08:00
parent 9574a52ac1
commit d343ecfc36
24 changed files with 492 additions and 11 deletions

View File

@ -0,0 +1,13 @@
<component name="libraryTable">
<library name="Maven: com.aliyun:alibabacloud-gateway-spi:0.0.1">
<CLASSES>
<root url="jar://$MAVEN_REPOSITORY$/com/aliyun/alibabacloud-gateway-spi/0.0.1/alibabacloud-gateway-spi-0.0.1.jar!/" />
</CLASSES>
<JAVADOC>
<root url="jar://$MAVEN_REPOSITORY$/com/aliyun/alibabacloud-gateway-spi/0.0.1/alibabacloud-gateway-spi-0.0.1-javadoc.jar!/" />
</JAVADOC>
<SOURCES>
<root url="jar://$MAVEN_REPOSITORY$/com/aliyun/alibabacloud-gateway-spi/0.0.1/alibabacloud-gateway-spi-0.0.1-sources.jar!/" />
</SOURCES>
</library>
</component>

View File

@ -0,0 +1,13 @@
<component name="libraryTable">
<library name="Maven: com.aliyun:credentials-java:0.2.4">
<CLASSES>
<root url="jar://$MAVEN_REPOSITORY$/com/aliyun/credentials-java/0.2.4/credentials-java-0.2.4.jar!/" />
</CLASSES>
<JAVADOC>
<root url="jar://$MAVEN_REPOSITORY$/com/aliyun/credentials-java/0.2.4/credentials-java-0.2.4-javadoc.jar!/" />
</JAVADOC>
<SOURCES>
<root url="jar://$MAVEN_REPOSITORY$/com/aliyun/credentials-java/0.2.4/credentials-java-0.2.4-sources.jar!/" />
</SOURCES>
</library>
</component>

View File

@ -0,0 +1,13 @@
<component name="libraryTable">
<library name="Maven: com.aliyun:dysmsapi20170525:2.0.22">
<CLASSES>
<root url="jar://$MAVEN_REPOSITORY$/com/aliyun/dysmsapi20170525/2.0.22/dysmsapi20170525-2.0.22.jar!/" />
</CLASSES>
<JAVADOC>
<root url="jar://$MAVEN_REPOSITORY$/com/aliyun/dysmsapi20170525/2.0.22/dysmsapi20170525-2.0.22-javadoc.jar!/" />
</JAVADOC>
<SOURCES>
<root url="jar://$MAVEN_REPOSITORY$/com/aliyun/dysmsapi20170525/2.0.22/dysmsapi20170525-2.0.22-sources.jar!/" />
</SOURCES>
</library>
</component>

View File

@ -0,0 +1,13 @@
<component name="libraryTable">
<library name="Maven: com.aliyun:endpoint-util:0.0.7">
<CLASSES>
<root url="jar://$MAVEN_REPOSITORY$/com/aliyun/endpoint-util/0.0.7/endpoint-util-0.0.7.jar!/" />
</CLASSES>
<JAVADOC>
<root url="jar://$MAVEN_REPOSITORY$/com/aliyun/endpoint-util/0.0.7/endpoint-util-0.0.7-javadoc.jar!/" />
</JAVADOC>
<SOURCES>
<root url="jar://$MAVEN_REPOSITORY$/com/aliyun/endpoint-util/0.0.7/endpoint-util-0.0.7-sources.jar!/" />
</SOURCES>
</library>
</component>

View File

@ -0,0 +1,13 @@
<component name="libraryTable">
<library name="Maven: com.aliyun:openapiutil:0.1.14">
<CLASSES>
<root url="jar://$MAVEN_REPOSITORY$/com/aliyun/openapiutil/0.1.14/openapiutil-0.1.14.jar!/" />
</CLASSES>
<JAVADOC>
<root url="jar://$MAVEN_REPOSITORY$/com/aliyun/openapiutil/0.1.14/openapiutil-0.1.14-javadoc.jar!/" />
</JAVADOC>
<SOURCES>
<root url="jar://$MAVEN_REPOSITORY$/com/aliyun/openapiutil/0.1.14/openapiutil-0.1.14-sources.jar!/" />
</SOURCES>
</library>
</component>

View File

@ -0,0 +1,13 @@
<component name="libraryTable">
<library name="Maven: com.aliyun:tea:1.1.14">
<CLASSES>
<root url="jar://$MAVEN_REPOSITORY$/com/aliyun/tea/1.1.14/tea-1.1.14.jar!/" />
</CLASSES>
<JAVADOC>
<root url="jar://$MAVEN_REPOSITORY$/com/aliyun/tea/1.1.14/tea-1.1.14-javadoc.jar!/" />
</JAVADOC>
<SOURCES>
<root url="jar://$MAVEN_REPOSITORY$/com/aliyun/tea/1.1.14/tea-1.1.14-sources.jar!/" />
</SOURCES>
</library>
</component>

View File

@ -0,0 +1,13 @@
<component name="libraryTable">
<library name="Maven: com.aliyun:tea-console:0.0.1">
<CLASSES>
<root url="jar://$MAVEN_REPOSITORY$/com/aliyun/tea-console/0.0.1/tea-console-0.0.1.jar!/" />
</CLASSES>
<JAVADOC>
<root url="jar://$MAVEN_REPOSITORY$/com/aliyun/tea-console/0.0.1/tea-console-0.0.1-javadoc.jar!/" />
</JAVADOC>
<SOURCES>
<root url="jar://$MAVEN_REPOSITORY$/com/aliyun/tea-console/0.0.1/tea-console-0.0.1-sources.jar!/" />
</SOURCES>
</library>
</component>

View File

@ -0,0 +1,13 @@
<component name="libraryTable">
<library name="Maven: com.aliyun:tea-openapi:0.2.6">
<CLASSES>
<root url="jar://$MAVEN_REPOSITORY$/com/aliyun/tea-openapi/0.2.6/tea-openapi-0.2.6.jar!/" />
</CLASSES>
<JAVADOC>
<root url="jar://$MAVEN_REPOSITORY$/com/aliyun/tea-openapi/0.2.6/tea-openapi-0.2.6-javadoc.jar!/" />
</JAVADOC>
<SOURCES>
<root url="jar://$MAVEN_REPOSITORY$/com/aliyun/tea-openapi/0.2.6/tea-openapi-0.2.6-sources.jar!/" />
</SOURCES>
</library>
</component>

View File

@ -0,0 +1,13 @@
<component name="libraryTable">
<library name="Maven: com.aliyun:tea-util:0.2.14">
<CLASSES>
<root url="jar://$MAVEN_REPOSITORY$/com/aliyun/tea-util/0.2.14/tea-util-0.2.14.jar!/" />
</CLASSES>
<JAVADOC>
<root url="jar://$MAVEN_REPOSITORY$/com/aliyun/tea-util/0.2.14/tea-util-0.2.14-javadoc.jar!/" />
</JAVADOC>
<SOURCES>
<root url="jar://$MAVEN_REPOSITORY$/com/aliyun/tea-util/0.2.14/tea-util-0.2.14-sources.jar!/" />
</SOURCES>
</library>
</component>

View File

@ -0,0 +1,13 @@
<component name="libraryTable">
<library name="Maven: com.aliyun:tea-xml:0.1.5">
<CLASSES>
<root url="jar://$MAVEN_REPOSITORY$/com/aliyun/tea-xml/0.1.5/tea-xml-0.1.5.jar!/" />
</CLASSES>
<JAVADOC>
<root url="jar://$MAVEN_REPOSITORY$/com/aliyun/tea-xml/0.1.5/tea-xml-0.1.5-javadoc.jar!/" />
</JAVADOC>
<SOURCES>
<root url="jar://$MAVEN_REPOSITORY$/com/aliyun/tea-xml/0.1.5/tea-xml-0.1.5-sources.jar!/" />
</SOURCES>
</library>
</component>

View File

@ -0,0 +1,13 @@
<component name="libraryTable">
<library name="Maven: com.sun.xml.bind:jaxb-core:2.3.0">
<CLASSES>
<root url="jar://$MAVEN_REPOSITORY$/com/sun/xml/bind/jaxb-core/2.3.0/jaxb-core-2.3.0.jar!/" />
</CLASSES>
<JAVADOC>
<root url="jar://$MAVEN_REPOSITORY$/com/sun/xml/bind/jaxb-core/2.3.0/jaxb-core-2.3.0-javadoc.jar!/" />
</JAVADOC>
<SOURCES>
<root url="jar://$MAVEN_REPOSITORY$/com/sun/xml/bind/jaxb-core/2.3.0/jaxb-core-2.3.0-sources.jar!/" />
</SOURCES>
</library>
</component>

View File

@ -0,0 +1,13 @@
<component name="libraryTable">
<library name="Maven: com.sun.xml.bind:jaxb-impl:2.3.0">
<CLASSES>
<root url="jar://$MAVEN_REPOSITORY$/com/sun/xml/bind/jaxb-impl/2.3.0/jaxb-impl-2.3.0.jar!/" />
</CLASSES>
<JAVADOC>
<root url="jar://$MAVEN_REPOSITORY$/com/sun/xml/bind/jaxb-impl/2.3.0/jaxb-impl-2.3.0-javadoc.jar!/" />
</JAVADOC>
<SOURCES>
<root url="jar://$MAVEN_REPOSITORY$/com/sun/xml/bind/jaxb-impl/2.3.0/jaxb-impl-2.3.0-sources.jar!/" />
</SOURCES>
</library>
</component>

View File

@ -0,0 +1,13 @@
<component name="libraryTable">
<library name="Maven: org.bouncycastle:bcpkix-jdk15on:1.65">
<CLASSES>
<root url="jar://$MAVEN_REPOSITORY$/org/bouncycastle/bcpkix-jdk15on/1.65/bcpkix-jdk15on-1.65.jar!/" />
</CLASSES>
<JAVADOC>
<root url="jar://$MAVEN_REPOSITORY$/org/bouncycastle/bcpkix-jdk15on/1.65/bcpkix-jdk15on-1.65-javadoc.jar!/" />
</JAVADOC>
<SOURCES>
<root url="jar://$MAVEN_REPOSITORY$/org/bouncycastle/bcpkix-jdk15on/1.65/bcpkix-jdk15on-1.65-sources.jar!/" />
</SOURCES>
</library>
</component>

View File

@ -0,0 +1,13 @@
<component name="libraryTable">
<library name="Maven: org.dom4j:dom4j:2.0.3">
<CLASSES>
<root url="jar://$MAVEN_REPOSITORY$/org/dom4j/dom4j/2.0.3/dom4j-2.0.3.jar!/" />
</CLASSES>
<JAVADOC>
<root url="jar://$MAVEN_REPOSITORY$/org/dom4j/dom4j/2.0.3/dom4j-2.0.3-javadoc.jar!/" />
</JAVADOC>
<SOURCES>
<root url="jar://$MAVEN_REPOSITORY$/org/dom4j/dom4j/2.0.3/dom4j-2.0.3-sources.jar!/" />
</SOURCES>
</library>
</component>

View File

@ -0,0 +1,13 @@
<component name="libraryTable">
<library name="Maven: org.ini4j:ini4j:0.5.4">
<CLASSES>
<root url="jar://$MAVEN_REPOSITORY$/org/ini4j/ini4j/0.5.4/ini4j-0.5.4.jar!/" />
</CLASSES>
<JAVADOC>
<root url="jar://$MAVEN_REPOSITORY$/org/ini4j/ini4j/0.5.4/ini4j-0.5.4-javadoc.jar!/" />
</JAVADOC>
<SOURCES>
<root url="jar://$MAVEN_REPOSITORY$/org/ini4j/ini4j/0.5.4/ini4j-0.5.4-sources.jar!/" />
</SOURCES>
</library>
</component>

View File

@ -0,0 +1,13 @@
<component name="libraryTable">
<library name="Maven: org.jacoco:org.jacoco.agent:runtime:0.8.4">
<CLASSES>
<root url="jar://$MAVEN_REPOSITORY$/org/jacoco/org.jacoco.agent/0.8.4/org.jacoco.agent-0.8.4-runtime.jar!/" />
</CLASSES>
<JAVADOC>
<root url="jar://$MAVEN_REPOSITORY$/org/jacoco/org.jacoco.agent/0.8.4/org.jacoco.agent-0.8.4-javadoc.jar!/" />
</JAVADOC>
<SOURCES>
<root url="jar://$MAVEN_REPOSITORY$/org/jacoco/org.jacoco.agent/0.8.4/org.jacoco.agent-0.8.4-sources.jar!/" />
</SOURCES>
</library>
</component>

View File

@ -169,7 +169,6 @@
<orderEntry type="library" name="Maven: com.aliyun:aliyun-java-sdk-sts:3.0.0" level="project" />
<orderEntry type="library" name="Maven: com.aliyun:aliyun-java-sdk-ecs:4.2.0" level="project" />
<orderEntry type="library" name="Maven: com.aliyun:aliyun-java-sdk-kms:2.7.0" level="project" />
<orderEntry type="library" name="Maven: com.google.code.gson:gson:2.8.9" level="project" />
<orderEntry type="library" name="Maven: io.minio:minio:8.4.5" level="project" />
<orderEntry type="library" name="Maven: com.carrotsearch.thirdparty:simple-xml-safe:2.7.1" level="project" />
<orderEntry type="library" name="Maven: com.google.guava:guava:30.1.1-jre" level="project" />
@ -250,5 +249,22 @@
<orderEntry type="library" name="Maven: commons-logging:commons-logging:1.2" level="project" />
<orderEntry type="library" name="Maven: org.apache.pdfbox:fontbox:2.0.9" level="project" />
<orderEntry type="library" name="Maven: net.coobird:thumbnailator:0.4.11" level="project" />
<orderEntry type="library" name="Maven: com.aliyun:dysmsapi20170525:2.0.22" level="project" />
<orderEntry type="library" name="Maven: com.aliyun:endpoint-util:0.0.7" level="project" />
<orderEntry type="library" name="Maven: com.aliyun:openapiutil:0.1.14" level="project" />
<orderEntry type="library" name="Maven: org.bouncycastle:bcpkix-jdk15on:1.65" level="project" />
<orderEntry type="library" name="Maven: com.aliyun:tea-openapi:0.2.6" level="project" />
<orderEntry type="library" name="Maven: com.aliyun:credentials-java:0.2.4" level="project" />
<orderEntry type="library" name="Maven: org.ini4j:ini4j:0.5.4" level="project" />
<orderEntry type="library" name="Maven: com.sun.xml.bind:jaxb-core:2.3.0" level="project" />
<orderEntry type="library" name="Maven: com.sun.xml.bind:jaxb-impl:2.3.0" level="project" />
<orderEntry type="library" name="Maven: com.aliyun:alibabacloud-gateway-spi:0.0.1" level="project" />
<orderEntry type="library" name="Maven: com.aliyun:tea-xml:0.1.5" level="project" />
<orderEntry type="library" name="Maven: org.dom4j:dom4j:2.0.3" level="project" />
<orderEntry type="library" name="Maven: org.jacoco:org.jacoco.agent:runtime:0.8.4" level="project" />
<orderEntry type="library" name="Maven: com.aliyun:tea-console:0.0.1" level="project" />
<orderEntry type="library" name="Maven: com.aliyun:tea-util:0.2.14" level="project" />
<orderEntry type="library" name="Maven: com.google.code.gson:gson:2.8.9" level="project" />
<orderEntry type="library" name="Maven: com.aliyun:tea:1.1.14" level="project" />
</component>
</module>

View File

@ -35,6 +35,7 @@ import com.xdadan.erp.emis.domain.vo.WaybillOrder;
import com.xdadan.erp.emis.service.*;
import com.xdadan.erp.emis.utils.WaybillHelper;
import com.xdadan.erp.system.service.ISysConfigService;
import lombok.extern.slf4j.Slf4j;
import org.apache.commons.lang3.StringUtils;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.security.access.prepost.PreAuthorize;
@ -51,6 +52,7 @@ import java.util.*;
* @author linfso
* @date 2023-12-14 13:02:48
*/
@Slf4j
@RestController
@RequestMapping("/emis/common")
public class EmisCommonController extends EmisBaseController
@ -422,4 +424,25 @@ public class EmisCommonController extends EmisBaseController
return AjaxResult.success("成功",rstList);
}
@RequestMapping("/autoDoSendSmsTest")
public AjaxResult autoDoSendSmsTest(){
String lockKey="autoDoSendSmsTest";
log.error("autoDoSendSmsTest start");
// 加锁查询
redissonService.lock(lockKey,300);
try{
emisBaseService.autoDoSmsSend();
}catch(Exception ex){
ex.printStackTrace();
log.error("autoDoSendSmsTest exception:"+ex.getMessage());
}
log.error("autoDoSendSmsTest end");
redissonService.unlock(lockKey);
return AjaxResult.success("发送成功");
}
}

View File

@ -127,7 +127,6 @@
<orderEntry type="library" name="Maven: com.aliyun:aliyun-java-sdk-sts:3.0.0" level="project" />
<orderEntry type="library" name="Maven: com.aliyun:aliyun-java-sdk-ecs:4.2.0" level="project" />
<orderEntry type="library" name="Maven: com.aliyun:aliyun-java-sdk-kms:2.7.0" level="project" />
<orderEntry type="library" name="Maven: com.google.code.gson:gson:2.8.9" level="project" />
<orderEntry type="library" name="Maven: io.minio:minio:8.4.5" level="project" />
<orderEntry type="library" name="Maven: com.carrotsearch.thirdparty:simple-xml-safe:2.7.1" level="project" />
<orderEntry type="library" name="Maven: com.google.guava:guava:30.1.1-jre" level="project" />
@ -209,5 +208,22 @@
<orderEntry type="library" name="Maven: commons-logging:commons-logging:1.2" level="project" />
<orderEntry type="library" name="Maven: org.apache.pdfbox:fontbox:2.0.9" level="project" />
<orderEntry type="library" name="Maven: net.coobird:thumbnailator:0.4.11" level="project" />
<orderEntry type="library" name="Maven: com.aliyun:dysmsapi20170525:2.0.22" level="project" />
<orderEntry type="library" name="Maven: com.aliyun:endpoint-util:0.0.7" level="project" />
<orderEntry type="library" name="Maven: com.aliyun:openapiutil:0.1.14" level="project" />
<orderEntry type="library" name="Maven: org.bouncycastle:bcpkix-jdk15on:1.65" level="project" />
<orderEntry type="library" name="Maven: com.aliyun:tea-openapi:0.2.6" level="project" />
<orderEntry type="library" name="Maven: com.aliyun:credentials-java:0.2.4" level="project" />
<orderEntry type="library" name="Maven: org.ini4j:ini4j:0.5.4" level="project" />
<orderEntry type="library" name="Maven: com.sun.xml.bind:jaxb-core:2.3.0" level="project" />
<orderEntry type="library" name="Maven: com.sun.xml.bind:jaxb-impl:2.3.0" level="project" />
<orderEntry type="library" name="Maven: com.aliyun:alibabacloud-gateway-spi:0.0.1" level="project" />
<orderEntry type="library" name="Maven: com.aliyun:tea-xml:0.1.5" level="project" />
<orderEntry type="library" name="Maven: org.dom4j:dom4j:2.0.3" level="project" />
<orderEntry type="library" name="Maven: org.jacoco:org.jacoco.agent:runtime:0.8.4" level="project" />
<orderEntry type="library" name="Maven: com.aliyun:tea-console:0.0.1" level="project" />
<orderEntry type="library" name="Maven: com.aliyun:tea-util:0.2.14" level="project" />
<orderEntry type="library" name="Maven: com.google.code.gson:gson:2.8.9" level="project" />
<orderEntry type="library" name="Maven: com.aliyun:tea:1.1.14" level="project" />
</component>
</module>

View File

@ -77,7 +77,36 @@
<version>0.4.11</version>
</dependency>
<!-- <dependency>-->
<!-- 阿里云短信服务 -->
<dependency>
<groupId>com.aliyun</groupId>
<artifactId>dysmsapi20170525</artifactId>
<version>2.0.22</version>
</dependency>
<dependency>
<groupId>com.aliyun</groupId>
<artifactId>tea-openapi</artifactId>
<version>0.2.6</version>
</dependency>
<dependency>
<groupId>com.aliyun</groupId>
<artifactId>tea-console</artifactId>
<version>0.0.1</version>
</dependency>
<dependency>
<groupId>com.aliyun</groupId>
<artifactId>tea-util</artifactId>
<version>0.2.14</version>
</dependency>
<dependency>
<groupId>com.aliyun</groupId>
<artifactId>tea</artifactId>
<version>1.1.14</version>
</dependency>
<!-- <dependency>-->
<!-- <groupId>com.fastreport</groupId>-->
<!-- <artifactId>fastreport</artifactId>-->
<!-- <version>1.0.0</version>-->

View File

@ -22,10 +22,13 @@ package com.xdadan.erp.emis.service;
import com.alibaba.fastjson.serializer.SerializerFeature;
import com.alibaba.fastjson.serializer.ValueFilter;
import com.fasterxml.jackson.annotation.JsonFormat;
import com.xdadan.erp.common.core.domain.AjaxResult;
import com.xdadan.erp.common.core.domain.entity.SysUser;
import com.xdadan.erp.common.utils.DateUtils;
import com.xdadan.erp.common.utils.DictUtils;
import com.xdadan.erp.common.utils.HTTPHelper;
import com.xdadan.erp.common.utils.SecurityUtils;
import com.xdadan.erp.common.utils.sign.MD5;
import com.xdadan.erp.emis.domain.*;
import com.xdadan.erp.emis.domain.enumtype.EmisBizErrorType;
import com.xdadan.erp.emis.domain.enumtype.PaymentStatus;
@ -39,10 +42,13 @@ package com.xdadan.erp.emis.service;
import com.xdadan.erp.emis.service.IEmisWaybillCargoService;
import com.xdadan.erp.emis.service.IEmisWaybillFeeitemService;
import com.xdadan.erp.emis.service.IEmisWaybillService;
import com.xdadan.erp.emis.service.sms.AliyunSMSService;
import com.xdadan.erp.emis.utils.HTTPHelperV3;
import com.xdadan.erp.emis.utils.Kd100Helper;
import com.xdadan.erp.emis.utils.WaybillHelper;
import com.xdadan.erp.emis.utils.sensitive.Convert;
import com.xdadan.erp.system.mapper.SysUserMapper;
import com.xdadan.erp.system.service.ISysConfigService;
import jdk.nashorn.internal.runtime.Undefined;
import lombok.extern.slf4j.Slf4j;
import org.apache.commons.lang3.StringUtils;
@ -64,6 +70,10 @@ package com.xdadan.erp.emis.service;
@Service
@Slf4j
public class EmisBaseService {
@Autowired
private ISysConfigService configService;
@Autowired
protected EmisWaybillMapper emisWaybillMapper;
@ -134,6 +144,10 @@ public class EmisBaseService {
@Autowired
private EmisSmsSendRecordMapper emisSmsSendRecordMapper;
@Autowired
private AliyunSMSService aliyunSMSService;
/**
* 获取客户完整手机号 国家+电话 eg: 0086-1381861188
@ -486,6 +500,9 @@ public class EmisBaseService {
return null;
}
/**
* 获取国际物流信息
*/
public void doTransferTraceUpdate() {
EmisTmsTransferTrace emisTmsTransferTrace = new EmisTmsTransferTrace();
emisTmsTransferTrace.getParams().put("needTrace", "1");
@ -547,6 +564,52 @@ public class EmisBaseService {
}
/**
* 短信发送
*/
public void autoDoSmsSend() {
EmisSmsSendRecord emisSmsSendRecord = new EmisSmsSendRecord();
emisSmsSendRecord.getParams().put("needSend", "1");
List<EmisSmsSendRecord> list = emisSmsSendRecordMapper.selectEmisSmsSendRecordList(emisSmsSendRecord);
if(!CollectionUtil.isEmpty(list)){
for(EmisSmsSendRecord dt:list){
log.error("===>Start 发送短信:"+dt.getBillCode()+","+dt.getPhone()+" :smsType:"+dt.getSmsType());
try {
if ("1".equals(dt.getSmsType())) {
aliyunSMSService.sendMessage("探路速运", "SMS_465316363", dt.getPhone(), dt.getContent());
}
else if ("2".equals(dt.getSmsType())) {
aliyunSMSService.sendMessage("探路速运", "SMS_465341331", dt.getPhone(), dt.getContent());
}
else if ("3".equals(dt.getSmsType())) {
aliyunSMSService.sendMessage("探路速运", "SMS_465386407", dt.getPhone(), dt.getContent());
}
else{
continue;
}
dt.setSendStatus("1");
dt.setErrMsg("短信发送成功");
}catch (Exception ex){
dt.setSendStatus("-1");
}
dt.setFee("0");
dt.setSmsChannel("aliyun");
emisSmsSendRecordMapper.updateEmisSmsSendRecord(dt);
log.error("===>End 发送短信");
}
}
}
/**
* 更新签收状态
* @param billCode
@ -664,13 +727,15 @@ public class EmisBaseService {
String content="尊敬的用户:您的运单${name}从${Sendingcountry}寄往${Receivingcountry}因${Problemtype}的问题导致货物时效延误预计送达时间${time},详询400-025-7080感谢您对探路速运的支持!";
String sendingcountry=oldEmisWaybill.getSendCountryName();
String receivingcountry=oldEmisWaybill.getReceiveCountryName();
content = content.replace("${Sendingcountry}",receivingcountry);
content = content.replace("${Receivingcountry}",sendingcountry);
content = content.replace("${Sendingcountry}",sendingcountry);
content = content.replace("${Receivingcountry}",receivingcountry);
content = content.replace("${name}",mainBillCode);
content = content.replace("${Problemtype}",emisProblemType.getTypeName());
content = content.replace("${time}",DateUtils.parseDateToStr(DateUtils.YYYY_MM_DD,newEstDate));
EmisSmsSendRecord emisSmsSendRecord = new EmisSmsSendRecord();
emisSmsSendRecord.setBillCode(mainBillCode);
emisSmsSendRecord.setSmsType("2"); // 签收短信
emisSmsSendRecord.setSmsType("3"); // 问题件
emisSmsSendRecord.setPhone(waybill.getReceiveMobile());
emisSmsSendRecord.setContent(content);
emisSmsSendRecord.setSendSiteCode(waybillProblemInfo.getRegisterSiteCode());

View File

@ -0,0 +1,97 @@
package com.xdadan.erp.emis.service.sms;
import com.alibaba.fastjson.JSONObject;
import com.aliyun.dysmsapi20170525.Client;
import com.aliyun.dysmsapi20170525.models.SendSmsResponse;
import com.aliyun.tea.TeaModel;
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("AliyunSMSService")
public class AliyunSMSService {
@Autowired
private ISysConfigService configService;
/**
* 发送短信
* @param signName 签名
* @param templateCode 模板
* @param phone 手机号
* @param param 参数
*/
public int sendMessage(String signName, String templateCode, String phone, String param) throws EmisBizError {
String jsonParamStr=configService.selectConfigByKey("sys.aliyun.sms");
JSONObject jObjParam=JSONObject.parseObject(jsonParamStr);
String accessKeyId=jObjParam.getString("accessKeyId");
String accessKeySecret=jObjParam.getString("accessKeySecret");
return innerSendMessage(accessKeyId,accessKeySecret,signName,templateCode,phone,param);
}
/**
* 使用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 phoneNumbers, String param) throws EmisBizError {
try {
Client client = createClient(accessKeyId, accessKeySecret);
com.aliyun.dysmsapi20170525.models.SendSmsRequest sendSmsRequest = new com.aliyun.dysmsapi20170525.models.SendSmsRequest();
sendSmsRequest.setPhoneNumbers(phoneNumbers);
sendSmsRequest.setSignName(signName);
sendSmsRequest.setTemplateCode(templateCode);
sendSmsRequest.setTemplateParam("{\"code\":\""+param+"\"}");
com.aliyun.teautil.models.RuntimeOptions runtime = new com.aliyun.teautil.models.RuntimeOptions();
com.aliyun.dysmsapi20170525.models.SendSmsResponse response = client.sendSmsWithOptions(sendSmsRequest, runtime);
String jsonStr=com.aliyun.teautil.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();
}
}
}

View File

@ -37,9 +37,9 @@ public class LogisticTask {
*/
@Async
@Scheduled(fixedRate = 1000L * 60 * 5)
public void autoQueryTransferInfo() {
String lockKey="autoQueryTransferInfo";
log.error("autoQueryTransferInfo start");
public void autoDoQueryTransferInfo() {
String lockKey="autoDoQueryTransferInfo";
log.error("autoDoQueryTransferInfo start");
// 加锁查询
redissonService.lock(lockKey,300);
@ -47,14 +47,36 @@ public class LogisticTask {
emisBaseService.doTransferTraceUpdate();
}catch(Exception ex){
ex.printStackTrace();
log.error("autoQueryTransferInfo exception:"+ex.getMessage());
log.error("autoDoQueryTransferInfo exception:"+ex.getMessage());
}
log.error("autoQueryTransferInfo end");
log.error("autoDoQueryTransferInfo end");
redissonService.unlock(lockKey);
}
/**
* 自动发送短信
*/
// @Async
// @Scheduled(fixedRate = 1000L * 60 * 5)
// public void autoDoSendSms() {
// String lockKey="autoDoSendSms";
// log.error("autoDoSendSms start");
//
// // 加锁查询
// redissonService.lock(lockKey,300);
// try{
// emisBaseService.autoDoSmsSend();
// }catch(Exception ex){
// ex.printStackTrace();
// log.error("autoDoSendSms exception:"+ex.getMessage());
// }
// log.error("autoDoSendSms end");
//
// redissonService.unlock(lockKey);
// }
}

View File

@ -72,6 +72,11 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
and create_time <![CDATA[ <= ]]> #{params.endCreateTime}
</if>
<if test="params.needSend != null and params.needSend != '1'">
and send_status = '0'
</if>
<if test="params.privSiteCode != null and params.privSiteCode != '88888'">
and (
a.send_site_code in (