|
@@ -1,5 +1,11 @@
|
|
|
package com.usky.iot.service.impl;
|
|
|
|
|
|
+import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
|
|
|
+import com.baomidou.mybatisplus.core.metadata.IPage;
|
|
|
+import com.baomidou.mybatisplus.core.toolkit.Wrappers;
|
|
|
+import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
|
|
|
+import com.usky.common.core.bean.CommonPage;
|
|
|
+import com.usky.common.core.util.DateUtils;
|
|
|
import com.usky.common.security.utils.SecurityUtils;
|
|
|
import com.usky.iot.domain.CrmCustomRemind;
|
|
|
import com.usky.iot.mapper.CrmCustomRemindMapper;
|
|
@@ -10,11 +16,16 @@ import com.aliyuncs.DefaultAcsClient;
|
|
|
import com.aliyuncs.IAcsClient;
|
|
|
import com.aliyuncs.dysmsapi.model.v20170525.SendSmsRequest;
|
|
|
import com.aliyuncs.dysmsapi.model.v20170525.SendSmsResponse;
|
|
|
+import com.aliyuncs.dysmsapi.model.v20170525.QuerySendDetailsRequest;
|
|
|
+import com.aliyuncs.dysmsapi.model.v20170525.QuerySendDetailsResponse;
|
|
|
import com.aliyuncs.exceptions.ClientException;
|
|
|
import com.aliyuncs.profile.DefaultProfile;
|
|
|
import com.google.gson.Gson;
|
|
|
|
|
|
+import java.text.SimpleDateFormat;
|
|
|
import java.time.LocalDateTime;
|
|
|
+import java.time.format.DateTimeFormatter;
|
|
|
+import java.util.Date;
|
|
|
import java.util.List;
|
|
|
import java.util.Random;
|
|
|
|
|
@@ -33,20 +44,38 @@ public class CrmCustomRemindServiceImpl extends AbstractCrudService<CrmCustomRem
|
|
|
public void add(CrmCustomRemind crmCustomRemind){
|
|
|
String method = crmCustomRemind.getRemindMethod();
|
|
|
StringBuffer sendStatus = new StringBuffer();
|
|
|
+ StringBuffer sendContext = new StringBuffer();
|
|
|
//发送短信
|
|
|
- DefaultProfile profile = DefaultProfile.getProfile("cn-beijing", "LTAI9WERPIFIlHDg", "p7SQ0rYpraebcdoJ0l3tOtYmmgrR4q");
|
|
|
+ DefaultProfile profile = DefaultProfile.getProfile("cn-beijing", "LTAI5tH3VvRL5BUkovCokHJX", "SaaWUouNqvcA0C746gcNOH9m6SRYN4");
|
|
|
IAcsClient client = new DefaultAcsClient(profile);
|
|
|
SendSmsRequest request = new SendSmsRequest();
|
|
|
request.setPhoneNumbers(crmCustomRemind.getPhone());//接收短信的手机号码
|
|
|
- request.setSignName("永天智慧云");//短信签名名称
|
|
|
- request.setTemplateCode("SMS_164095840");//短信模板CODE
|
|
|
- String code = "test";
|
|
|
- request.setTemplateParam("{\"code\":\""+code+"\"}");//短信模板变量对应的实际值
|
|
|
+ request.setSignName("上海永天科技股份有限公司");//短信签名名称
|
|
|
+ request.setTemplateCode("SMS_461735160");//短信模板CODE
|
|
|
+ Date date = DateUtils.parseDate(crmCustomRemind.getExpireDate());
|
|
|
+ long days = (date.getTime() - new Date().getTime())/(24*60*60*1000);
|
|
|
+ request.setTemplateParam("{\"name\":\""+crmCustomRemind.getCompanyName()+"\","+"\"days\":\""+days+"\","+"\"custom\":\""+crmCustomRemind.getCustomId()+"\"}");//短信模板变量对应的实际值
|
|
|
+
|
|
|
try {
|
|
|
SendSmsResponse response = client.getAcsResponse(request);
|
|
|
if(response.getCode() != null){
|
|
|
if(response.getCode().equals("OK")){
|
|
|
sendStatus.append("1");
|
|
|
+
|
|
|
+ //查询发送短信内容
|
|
|
+ QuerySendDetailsRequest request1 = new QuerySendDetailsRequest();
|
|
|
+ request1.setPhoneNumber(crmCustomRemind.getPhone());
|
|
|
+ request1.setSendDate(LocalDateTime.now().format(DateTimeFormatter.ofPattern("yyyyMMdd")));
|
|
|
+ request1.setPageSize((long)10);
|
|
|
+ request1.setCurrentPage((long)1);
|
|
|
+ QuerySendDetailsResponse response1 = client.getAcsResponse(request1);
|
|
|
+ if(response1.getCode() != null){
|
|
|
+ if(response1.getCode().equals("OK")){
|
|
|
+ sendContext.append(response1.getSmsSendDetailDTOs().get(0).getContent());
|
|
|
+ }
|
|
|
+
|
|
|
+ }
|
|
|
+
|
|
|
}else{
|
|
|
sendStatus.append("2");
|
|
|
}
|
|
@@ -59,6 +88,7 @@ public class CrmCustomRemindServiceImpl extends AbstractCrudService<CrmCustomRem
|
|
|
}
|
|
|
|
|
|
crmCustomRemind.setSendStatus(sendStatus.toString()); //发送状态需要根据发送返回结果确认
|
|
|
+ crmCustomRemind.setSendContext(sendContext.toString()); //发送内容
|
|
|
crmCustomRemind.setSendTime(LocalDateTime.now());
|
|
|
crmCustomRemind.setCreateBy(SecurityUtils.getUsername());
|
|
|
crmCustomRemind.setCreateTime(LocalDateTime.now());
|
|
@@ -66,4 +96,14 @@ public class CrmCustomRemindServiceImpl extends AbstractCrudService<CrmCustomRem
|
|
|
this.save(crmCustomRemind);
|
|
|
}
|
|
|
|
|
|
+ @Override
|
|
|
+ public CommonPage<CrmCustomRemind> page(Integer current, Integer size){
|
|
|
+ IPage<CrmCustomRemind> page = new Page<>(current,size);
|
|
|
+ LambdaQueryWrapper<CrmCustomRemind> queryWrapper = Wrappers.lambdaQuery();
|
|
|
+ queryWrapper.orderByDesc(CrmCustomRemind::getId);
|
|
|
+ page = this.page(page,queryWrapper);
|
|
|
+
|
|
|
+ return new CommonPage<>(page.getRecords(),page.getTotal(),page.getSize(),page.getCurrent());
|
|
|
+ }
|
|
|
+
|
|
|
}
|