fei.wang
2024-05-09 871d4095b07cedacb7fbef4c38d64982f539c404
src/main/java/com/flow/controller/DuanxinlogController.java
@@ -1,14 +1,8 @@
package com.flow.controller;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.flow.mapper.CardMapper;
import com.flow.mapper.CompanyMapper;
import com.flow.mapper.DuanxinlogMapper;
import com.flow.mapper.TbFuwuqiMapper;
import com.flow.pojo.Card;
import com.flow.pojo.Company;
import com.flow.pojo.Duanxinlog;
import com.flow.pojo.TbFuwuqi;
import com.flow.mapper.*;
import com.flow.pojo.*;
import com.flow.service.DuanxinlogService;
import com.flow.service.TbFuwuqiService;
import com.flow.util.DESUtil;
@@ -25,8 +19,10 @@
import org.springframework.scheduling.annotation.Scheduled;
import org.springframework.stereotype.Component;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.PostMapping;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;
import org.springframework.web.servlet.ModelAndView;
import java.text.SimpleDateFormat;
import java.util.Date;
@@ -55,10 +51,20 @@
    @Autowired
    CompanyMapper companyMapper;
    @Autowired
    ManagerMapper managerMapper;
    @GetMapping({"findDuanxinlog"})
    result<List<Duanxinlog>> findDuanxinlog(Integer page, Integer limit) {
        PageInfo<Duanxinlog> cz = this.duanxinlogService.FindDuanxinlog(page, limit);
        return resultutil.returnSuccess(cz.getTotal(), cz.getList());
    }
    @PostMapping({"DeleteDuanxinlog"})
    public ModelAndView DeleteManager(String num) {
        this.duanxinlogService.DeleteDuanxinlog(num);
        ModelAndView modelAndView = new ModelAndView();
        modelAndView.setViewName("/page/Duanxinlog.jsp");
        return modelAndView;
    }
    /*
@@ -88,7 +94,7 @@
            queryWrapper3.eq("none", "0");
            queryWrapper3.eq("companyName", fuwuqiList.get(i).getCompany());
            Company companyList = (companyMapper).selectOne(queryWrapper3);
            SimpleDateFormat date2 = new SimpleDateFormat("yyyy-MM-dd");
            SimpleDateFormat date2 = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
            Date date = new Date();
            Date endDay = date2.parse(fuwuqiList.get(i).getEnddate());//结束时间
            Long starTime = date.getTime();
@@ -97,7 +103,7 @@
            //不足一天的算作一天,因此在到期天数上加1
            if (+num11 / 24 / 60 / 60 / 1000 == 19 | +num11 / 24 / 60 / 60 / 1000 == 9 | +num11 / 24 / 60 / 60 / 1000 == 4 | +num11 / 24 / 60 / 60 / 1000 == 0) {
                String dispatchDate = this.duanxinlogService.userdate(fuwuqiList.get(i).getServername());
                SimpleDateFormat formatter = new SimpleDateFormat("yyyy-MM-dd");
                SimpleDateFormat formatter = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
                String dtext = formatter.format(date);
                if (dispatchDate == null || !dtext.equals(dispatchDate)) {
@@ -117,6 +123,27 @@
                    SendSmsRequest req = new SendSmsRequest();
//                    String[] phoneNumberSet1 = {"18701153496"};
                    String[] phoneNumberSet1 = {DESUtil.decrypt(companyList.getLoginphone(), DESUtil.key)};
                    QueryWrapper sms = new QueryWrapper();
                    sms.eq("none", "0");
                    sms.eq("smsreception", "1");
                    List<Manager> managerList = (managerMapper).selectList(sms);
                    for (int s=0;s<managerList.size();s++){
//                        System.out.println(managerList.get(s).getPhone());
//                        phoneNumberSet1[s] = managerList.get(s).getPhone();
                        String[] phoneNumberSet12  = {managerList.get(s).getPhone()};
                        System.out.println(phoneNumberSet12);
                        req.setPhoneNumberSet(phoneNumberSet12);
                        req.setSmsSdkAppId("1400838975");
                        req.setSignName("北京华星北斗智控");
                        req.setTemplateId("2100321");
//                    String[] templateParamSet1 = {String.valueOf(+num11 / 24 / 60 / 60 / 1000)};
                        String[] templateParamSet1 = {String.valueOf("您有流量卡将于:"  + fuwuqiList.get(i).getEnddate()+"到期,")};
                        req.setTemplateParamSet(templateParamSet1);
                        // 返回的resp是一个SendSmsResponse的实例,与请求对象对应
                        SendSmsResponse resp = client.SendSms(req);
                    }
                    req.setPhoneNumberSet(phoneNumberSet1);
                    req.setSmsSdkAppId("1400838975");
@@ -157,7 +184,7 @@
     */
//    @EnableScheduling
//    @Scheduled(cron = "*/10 * * * * ?")//测试10秒执行一次
//    @Scheduled(cron = "0 0 16 * * ?")
//    @Scheduled(cron = "0 49 10 * * ?")
    @Scheduled(cron = "0 0 */1 * * ?")//一小时执行一次
    public void sms() throws Exception {
        System.out.println("短信定时器执行============》》》》》》》》》》》》》》》》");
@@ -178,7 +205,7 @@
                queryWrapper4.eq("companyabbname", cardList.get(i).getCompany());
                companyList = (companyMapper).selectOne(queryWrapper4);
            }
            SimpleDateFormat date2 = new SimpleDateFormat("yyyy-MM-dd");
            SimpleDateFormat date2 = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
            Date date = new Date();
            Date endDay = date2.parse(cardList.get(i).getEnddate());//结束时间
            Long starTime = date.getTime();
@@ -187,7 +214,7 @@
            if (+num11 / 24 / 60 / 60 / 1000 == 19 | +num11 / 24 / 60 / 60 / 1000 == 9 | +num11 / 24 / 60 / 60 / 1000 == 4 | +num11 / 24 / 60 / 60 / 1000 == 0) {
                String dispatchDate = this.duanxinlogService.userdate(cardList.get(i).getCardnumber());
//                    String dispatchDate = this.duanxinlogService.userdate(cardList.get(i).getCardnumber());
                SimpleDateFormat formatter = new SimpleDateFormat("yyyy-MM-dd");
                SimpleDateFormat formatter = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
                String dtext = formatter.format(date);
                if (dispatchDate == null || !dtext.equals(dispatchDate)) {
                    String randomNumber = new String();
@@ -208,6 +235,29 @@
//                        String[] phoneNumberSet1 = {cardList.get(i).getCardnumber()};
                    String[] phoneNumberSet1 = {DESUtil.decrypt(companyList.getLoginphone(), DESUtil.key)};
//                    String[] phoneNumberSet1 = {"18701153496"};
                    QueryWrapper sms = new QueryWrapper();
                    sms.eq("none", "0");
                    sms.eq("smsreception", "1");
                    List<Manager> managerList = (managerMapper).selectList(sms);
                    for (int s=0;s<managerList.size();s++){
//                        System.out.println(managerList.get(s).getPhone());
//                        phoneNumberSet1[s] = managerList.get(s).getPhone();
                        String[] phoneNumberSet12  = {managerList.get(s).getPhone()};
                        System.out.println(phoneNumberSet12);
                        req.setPhoneNumberSet(phoneNumberSet12);
                        req.setSmsSdkAppId("1400838975");
                        req.setSignName("北京华星北斗智控");
                        req.setTemplateId("2100321");
//                    String[] templateParamSet1 = {String.valueOf(+num11 / 24 / 60 / 60 / 1000)};
                        String[] templateParamSet1 = {String.valueOf("您有流量卡将于:"  + cardList.get(i).getEnddate()+"到期,")};
                        req.setTemplateParamSet(templateParamSet1);
                        // 返回的resp是一个SendSmsResponse的实例,与请求对象对应
                        SendSmsResponse resp = client.SendSms(req);
                    }
//                    phoneNumberSet1[managerList.size()] = DESUtil.decrypt(companyList.getLoginphone(), DESUtil.key);
//                    System.out.println(phoneNumberSet1);
                    req.setPhoneNumberSet(phoneNumberSet1);
                    req.setSmsSdkAppId("1400838975");
@@ -219,6 +269,7 @@
                    req.setTemplateParamSet(templateParamSet1);
                    // 返回的resp是一个SendSmsResponse的实例,与请求对象对应
                    SendSmsResponse resp = client.SendSms(req);
                    System.out.println(SendSmsResponse.toJsonString(resp));
                    // 输出json格式的字符串回包
                    Duanxinlog duanxinlog = new Duanxinlog();
                    duanxinlog.setIdentification(cardList.get(i).getCardnumber());