fei.wang
2024-03-21 ab64b09ce3020b376af1e6ee0326ea71330d34ad
src/main/java/com/flow/controller/DuanxinlogController.java
@@ -76,8 +76,10 @@
     */
//    @EnableScheduling
//    @Scheduled(cron = "*/10 * * * * ?")//测试10一次
//    @Scheduled(cron = "0 46 17 * * ?")
    @Scheduled(cron = "0 0 */1 * * ?")//一小时执行一次
    public void smsfuwuqi() throws Exception {
        System.out.println("服务器定时器执行============》》》》》》》》》》》》》》》》");
        QueryWrapper queryWrapper1 = new QueryWrapper();
        queryWrapper1.eq("none", "0");
        List<TbFuwuqi> fuwuqiList = (tbFuwuqiMapper).selectList(queryWrapper1);
@@ -94,7 +96,7 @@
            Long num11 = endTime - starTime;//时间戳
            //不足一天的算作一天,因此在到期天数上加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(DESUtil.decrypt(companyList.getLoginphone(), DESUtil.key));
                String dispatchDate = this.duanxinlogService.userdate(fuwuqiList.get(i).getServername());
                SimpleDateFormat formatter = new SimpleDateFormat("yyyy-MM-dd");
                String dtext = formatter.format(date);
                if (dispatchDate == null || !dtext.equals(dispatchDate)) {
@@ -119,19 +121,20 @@
                    req.setSmsSdkAppId("1400838975");
                    req.setSignName("北京华星北斗智控");
                    req.setTemplateId("2081600");
                    req.setTemplateId("2100321");
//                    String[] templateParamSet1 = {String.valueOf(+num11 / 24 / 60 / 60 / 1000)};
                    String[] templateParamSet1 = {String.valueOf("云服务器还有"+(num11 / 24 / 60 / 60 / 1000+1))};
                    String[] templateParamSet1 = {String.valueOf("您有服务器将于:"  + fuwuqiList.get(i).getEnddate()+"到期,")};
                    req.setTemplateParamSet(templateParamSet1);
                    // 返回的resp是一个SendSmsResponse的实例,与请求对象对应
                    SendSmsResponse resp = client.SendSms(req);
                    // 输出json格式的字符串回包
                    Duanxinlog duanxinlog = new Duanxinlog();
                    duanxinlog.setIdentification(fuwuqiList.get(i).getServername());
                    duanxinlog.setReceiver(fuwuqiList.get(i).getCompany());
                    duanxinlog.setNumber(DESUtil.decrypt(companyList.getLoginphone(), DESUtil.key));
                    duanxinlog.setNumber(DESUtil.decrypt(companyList.getLoginphone(), DESUtil.key));
                    duanxinlog.setContent("您有服务器还有" + (num11 / 24 / 60 / 60 / 1000+1) + "天到期,请登录ioptposition.com续费,如已续费忽略该提示信息");
                    duanxinlog.setContent("尊敬的用户,您好!您有服务器将于"+fuwuqiList.get(i).getEnddate()+"到期,为避免影响您的正常使用请及时续费,您可登录华星智控公司物联网管理平台查询详情续费,如有疑问可咨询我公司客服人员,祝您生活愉快!");
                    this.duanxinlogService.addDuanxinlog(duanxinlog);
                }
            }
@@ -154,13 +157,27 @@
     */
//    @EnableScheduling
//    @Scheduled(cron = "*/10 * * * * ?")//测试10秒执行一次
//    @Scheduled(cron = "0 0 16 * * ?")
    @Scheduled(cron = "0 0 */1 * * ?")//一小时执行一次
    public void sms() throws Exception {
        System.out.println("短信定时器执行============》》》》》》》》》》》》》》》》");
        //查询数据库中所有的引擎数据
        QueryWrapper queryWrapper = new QueryWrapper();
        queryWrapper.eq("none", "0");
//        queryWrapper.eq("num", "8");
        List<Card> cardList = (cardMapper).selectList(queryWrapper);
        for (int i = 0; i < cardList.size(); i++) {
            QueryWrapper queryWrapper3 = new QueryWrapper();
            queryWrapper3.eq("none", "0");
            queryWrapper3.eq("companyName", cardList.get(i).getCompany());
            Company companyList = new Company();
            companyList = (companyMapper).selectOne(queryWrapper3);
            if (companyList == null) {
                QueryWrapper queryWrapper4 = new QueryWrapper();
                queryWrapper4.eq("none", "0");
                queryWrapper4.eq("companyabbname", cardList.get(i).getCompany());
                companyList = (companyMapper).selectOne(queryWrapper4);
            }
            SimpleDateFormat date2 = new SimpleDateFormat("yyyy-MM-dd");
            Date date = new Date();
            Date endDay = date2.parse(cardList.get(i).getEnddate());//结束时间
@@ -169,6 +186,7 @@
            Long num11 = endTime - starTime;//时间戳
            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");
                String dtext = formatter.format(date);
                if (dispatchDate == null || !dtext.equals(dispatchDate)) {
@@ -187,27 +205,31 @@
                    SmsClient client = new SmsClient(cred, "ap-beijing", clientProfile);
                    // 实例化一个请求对象,每个接口都会对应一个request对象
                    SendSmsRequest req = new SendSmsRequest();
            String[] phoneNumberSet1 = {cardList.get(i).getCardnumber()};
//                        String[] phoneNumberSet1 = {cardList.get(i).getCardnumber()};
                    String[] phoneNumberSet1 = {DESUtil.decrypt(companyList.getLoginphone(), DESUtil.key)};
//                    String[] phoneNumberSet1 = {"18701153496"};
                    req.setPhoneNumberSet(phoneNumberSet1);
                    req.setSmsSdkAppId("1400838975");
                    req.setSignName("北京华星北斗智控");
                    req.setTemplateId("1878633");
                    req.setTemplateId("2100321");
//                    String[] templateParamSet1 = {String.valueOf(+num11 / 24 / 60 / 60 / 1000)};
                    String[] templateParamSet1 = {String.valueOf("流量卡")};
                    String[] templateParamSet1 = {String.valueOf("您有流量卡将于:"  + cardList.get(i).getEnddate()+"到期,")};
                    req.setTemplateParamSet(templateParamSet1);
                    // 返回的resp是一个SendSmsResponse的实例,与请求对象对应
                    SendSmsResponse resp = client.SendSms(req);
                    // 输出json格式的字符串回包
                    Duanxinlog duanxinlog = new Duanxinlog();
                    duanxinlog.setIdentification(cardList.get(i).getCardnumber());
                    duanxinlog.setReceiver(cardList.get(i).getCompany());
                    duanxinlog.setNumber(cardList.get(i).getCardnumber());
                    duanxinlog.setContent("您有流量卡还有" + (num11 / 24 / 60 / 60 / 1000+1) + "天到期,请登录ioptposition.com续费,如已续费忽略该提示信息");
                    duanxinlog.setNumber(phoneNumberSet1[0]);
                    duanxinlog.setContent("尊敬的用户,您好!您有流量卡将于"+cardList.get(i).getEnddate()+"到期,为避免影响您的正常使用请及时续费,您可登录华星智控公司物联网管理平台查询详情续费,如有疑问可咨询我公司客服人员,祝您生活愉快!"
                    );
                    this.duanxinlogService.addDuanxinlog(duanxinlog);
                }
            }
        }
    }