zhongrj
2023-06-29 d40252821a3c8640ae17b8bf2f6357460b36d854
外呼调整
5 files modified
2 files added
154 ■■■■■ changed files
skjcmanager/skjcmanager-service/skjcmanager-alerts/pom.xml 8 ●●●●● patch | view | raw | blame | history
skjcmanager/skjcmanager-service/skjcmanager-alerts/src/main/java/cn/gistack/alerts/sms/controller/SmsController.java 28 ●●●●● patch | view | raw | blame | history
skjcmanager/skjcmanager-service/skjcmanager-alerts/src/main/java/cn/gistack/alerts/sms/excel/SendRainSmsExcel.java 22 ●●●●● patch | view | raw | blame | history
skjcmanager/skjcmanager-service/skjcmanager-alerts/src/main/java/cn/gistack/alerts/sms/listener/ExcelListener.java 55 ●●●●● patch | view | raw | blame | history
skjcmanager/skjcmanager-service/skjcmanager-alerts/src/main/java/cn/gistack/alerts/sms/service/SmsService.java 10 ●●●●● patch | view | raw | blame | history
skjcmanager/skjcmanager-service/skjcmanager-alerts/src/main/java/cn/gistack/alerts/sms/service/impl/SmsServiceImpl.java 24 ●●●●● patch | view | raw | blame | history
skjcmanager/skjcmanager-service/skjcmanager-alerts/src/main/java/cn/gistack/alerts/sms/util/SmsUtils.java 7 ●●●●● patch | view | raw | blame | history
skjcmanager/skjcmanager-service/skjcmanager-alerts/pom.xml
@@ -29,6 +29,14 @@
            <groupId>cn.com.flaginfo.sdk.cmc</groupId>
            <artifactId>send-api-sdk</artifactId>
            <version>1.2.1</version>
<!--            <type>jar</type>-->
<!--            <scope>system</scope>-->
<!--            <systemPath>${project.basedir}/libs/send-api-sdk-1.2.1.jar</systemPath>-->
        </dependency>
        <!--excel-->
        <dependency>
            <groupId>org.springblade</groupId>
            <artifactId>blade-starter-excel</artifactId>
        </dependency>
        <dependency>
            <groupId>cn.gistack</groupId>
skjcmanager/skjcmanager-service/skjcmanager-alerts/src/main/java/cn/gistack/alerts/sms/controller/SmsController.java
@@ -7,16 +7,23 @@
import cn.com.flaginfo.sdk.cmc.api.sms.send.SMSSendRequest;
import cn.gistack.alerts.sms.entity.SmsRequest;
import cn.gistack.alerts.sms.entity.SmsResult;
import cn.gistack.alerts.sms.excel.SendRainSmsExcel;
import cn.gistack.alerts.sms.listener.ExcelListener;
import cn.gistack.alerts.sms.service.SmsService;
import cn.gistack.alerts.sms.util.SmsUtils;
import cn.gistack.alerts.sms.vo.SmsRequestTemplate;
import cn.gistack.system.user.entity.User;
import cn.gistack.system.user.feign.IUserClient;
import com.alibaba.excel.EasyExcel;
import lombok.AllArgsConstructor;
import lombok.extern.slf4j.Slf4j;
import org.springblade.core.excel.util.ExcelUtil;
import org.springblade.core.redis.cache.BladeRedis;
import org.springblade.core.tool.api.R;
import org.springframework.web.bind.annotation.*;
import org.springframework.web.multipart.MultipartFile;
import java.io.IOException;
import java.util.Arrays;
import java.util.List;
import java.util.Map;
@@ -284,4 +291,25 @@
    public R getCallNotConnectSmsNoticeInfo(String callId){
        return R.data(smsService.getCallNotConnectSmsNoticeInfo(callId));
    }
    /**
     * 导入表格发送降雨短信
     * @param file excel文件
     * @param startTime 短信内容填报起始时间
     * @param endTime 短信内容填报截止时间
     * @return
     */
    @GetMapping("/import-send-rain-sms")
    public R importSendRainSms(MultipartFile file,String startTime,String endTime){
        ExcelListener<SendRainSmsExcel> listener = new ExcelListener<>();
        //headRowNumber(1)从第2行开始读取,使用getDatas()方法取出数据
        try {
            EasyExcel.read(file.getInputStream(), SendRainSmsExcel.class, listener).headRowNumber(1).sheet(0).doRead();
        } catch (IOException e) {
            e.printStackTrace();
        }
        List<SendRainSmsExcel> list = listener.getDatas();
        // 导入并返回
        return R.data(smsService.importSendRainSms(list,startTime,endTime));
    }
}
skjcmanager/skjcmanager-service/skjcmanager-alerts/src/main/java/cn/gistack/alerts/sms/excel/SendRainSmsExcel.java
New file
@@ -0,0 +1,22 @@
package cn.gistack.alerts.sms.excel;
import com.alibaba.excel.annotation.ExcelProperty;
import com.alibaba.excel.annotation.write.style.ColumnWidth;
import com.alibaba.excel.annotation.write.style.ContentRowHeight;
import com.alibaba.excel.annotation.write.style.HeadRowHeight;
import lombok.Data;
import java.io.Serializable;
@Data
@ColumnWidth(25)
@HeadRowHeight(20)
@ContentRowHeight(18)
public class SendRainSmsExcel implements Serializable {
    private static final long serialVersionUID = 1L;
    @ColumnWidth(15)
    @ExcelProperty("水库代码")
    private String waterCode;
}
skjcmanager/skjcmanager-service/skjcmanager-alerts/src/main/java/cn/gistack/alerts/sms/listener/ExcelListener.java
New file
@@ -0,0 +1,55 @@
package cn.gistack.alerts.sms.listener;
import com.alibaba.excel.context.AnalysisContext;
import com.alibaba.excel.event.AnalysisEventListener;
import java.util.ArrayList;
import java.util.List;
/**
 * 自定义excel 解析监听器
 * @param <T>
 */
public final class ExcelListener<T> extends AnalysisEventListener<T> {
    /**
     * 自定义用于暂时存储data
     * 可以通过实例获取该值
     */
    private List<T> datas = new ArrayList<>();
    /**
     * 每解析一行都会回调invoke()方法
     * @param object  读取后的数据对象
     * @param context 内容
     */
    @Override
    @SuppressWarnings("unchecked")
    public void invoke(Object object, AnalysisContext context) {
        T map = (T) object;
        //数据存储到list,供批量处理,或后续自己业务逻辑处理。
        datas.add(map);
    }
    @Override
    public void doAfterAllAnalysed(AnalysisContext context) {
        //解析结束销毁不用的资源
        //注意不要调用datas.clear(),否则getDatas为null
    }
    /**
     * 返回数据
     * @return 返回读取的数据集合
     **/
    public List<T> getDatas() {
        return datas;
    }
    /**
     * 设置读取的数据集合
     * @param datas 设置读取的数据集合
     **/
    public void setDatas(List<T> datas) {
        this.datas = datas;
    }
}
skjcmanager/skjcmanager-service/skjcmanager-alerts/src/main/java/cn/gistack/alerts/sms/service/SmsService.java
@@ -3,6 +3,7 @@
import cn.com.flaginfo.sdk.cmc.api.sms.send.SMSSendRequest;
import cn.gistack.alerts.sms.entity.SmsRecord;
import cn.gistack.alerts.sms.entity.SmsResult;
import cn.gistack.alerts.sms.excel.SendRainSmsExcel;
import cn.gistack.alerts.sms.vo.SmsRequestTemplate;
import java.util.List;
@@ -77,4 +78,13 @@
     * @return
     */
    Object getCallNotConnectSmsNoticeInfo(String callId);
    /**
     * 导入表格发送降雨短信
     * @param list 导入的excel 集合数据
     * @param startTime 短信内容填报起始时间
     * @param endTime 短信内容填报截止时间
     * @return
     */
    Object importSendRainSms(List<SendRainSmsExcel> list,String startTime,String endTime);
}
skjcmanager/skjcmanager-service/skjcmanager-alerts/src/main/java/cn/gistack/alerts/sms/service/impl/SmsServiceImpl.java
@@ -11,6 +11,7 @@
import cn.gistack.alerts.sms.entity.SmsRecord;
import cn.gistack.alerts.sms.entity.SmsResult;
import cn.gistack.alerts.sms.entity.SmsTemplate;
import cn.gistack.alerts.sms.excel.SendRainSmsExcel;
import cn.gistack.alerts.sms.service.ISmsRecordService;
import cn.gistack.alerts.sms.service.ISmsResultService;
import cn.gistack.alerts.sms.service.ISmsTemplateService;
@@ -20,6 +21,7 @@
import cn.gistack.common.cache.CacheNames;
import cn.gistack.sm.intelligentCall.entity.CallNotFillRecord;
import cn.gistack.sm.intelligentCall.feign.OutCallClient;
import cn.gistack.sm.sjztmd.feign.IAttResManagePersonClient;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.baomidou.mybatisplus.core.toolkit.IdWorker;
import org.jetbrains.annotations.NotNull;
@@ -61,6 +63,9 @@
    @Autowired
    private OutCallClient outCallClient;
    @Autowired
    private IAttResManagePersonClient attResManagePersonClient;
    /**
     * 发送 xx 变量模板短信
@@ -523,4 +528,23 @@
        // 没有,已过期
        return map;
    }
    /**
     * 导入表格发送降雨短信
     * @param list 导入的excel 集合数据
     * @param startTime 短信内容填报起始时间
     * @param endTime 短信内容填报截止时间
     * @return
     */
    @Override
    public Object importSendRainSms(List<SendRainSmsExcel> list,String startTime,String endTime) {
        // 获取水库个数
        Integer size = list.size();
        // 通过水库代码获取巡查责任人及技术责任人手机号
//        Set<String> personList = attResManagePersonClient.getPersonListByWaterCodeList(list);
        // 返回
        return null;
    }
}
skjcmanager/skjcmanager-service/skjcmanager-alerts/src/main/java/cn/gistack/alerts/sms/util/SmsUtils.java
@@ -11,6 +11,7 @@
import cn.com.flaginfo.sdk.cmc.api.sms.send.SMSSendRequest;
import cn.com.flaginfo.sdk.cmc.common.ApiEnum;
import cn.gistack.common.constant.SmsConstant;
import org.springblade.core.tool.utils.StringUtil;
import org.springframework.stereotype.Component;
import java.text.SimpleDateFormat;
@@ -122,4 +123,10 @@
//        System.out.println(request.isSucc());
//        System.out.println(JSON.toJSONString(request));
//    }
    public static void main(String[] args) {
        String redisByTaskId = "123";
        String taskId = "";
        boolean flag = !StringUtil.equalsIgnoreCase(redisByTaskId, taskId);
        System.out.println("flag = " + flag);
    }
}