From e15f561a1f9eddfde503d59baf45a860b131928e Mon Sep 17 00:00:00 2001 From: fei.wang <wf18701153496@163.com> Date: 星期三, 13 八月 2025 14:22:50 +0800 Subject: [PATCH] 更新最新版代码 --- src/main/java/com/flow/controller/DuanxinlogController.java | 885 ++++++++++++++++++++++++++++++++++++++++++++++++++-------- 1 files changed, 755 insertions(+), 130 deletions(-) diff --git a/src/main/java/com/flow/controller/DuanxinlogController.java b/src/main/java/com/flow/controller/DuanxinlogController.java index 8f3cf37..6efb7d0 100644 --- a/src/main/java/com/flow/controller/DuanxinlogController.java +++ b/src/main/java/com/flow/controller/DuanxinlogController.java @@ -1,6 +1,10 @@ package com.flow.controller; +import cn.hutool.json.JSONArray; +import cn.hutool.json.JSONObject; +import com.alipay.api.kms.aliyun.http.HttpRequest; import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; +import com.fasterxml.jackson.databind.ObjectMapper; import com.flow.mapper.*; import com.flow.pojo.*; import com.flow.service.DuanxinlogService; @@ -15,6 +19,13 @@ import com.tencentcloudapi.sms.v20210111.SmsClient; import com.tencentcloudapi.sms.v20210111.models.SendSmsRequest; import com.tencentcloudapi.sms.v20210111.models.SendSmsResponse; +import org.apache.http.HttpEntity; +import org.apache.http.HttpResponse; +import org.apache.http.client.methods.HttpPost; +import org.apache.http.entity.StringEntity; +import org.apache.http.impl.client.CloseableHttpClient; +import org.apache.http.impl.client.HttpClients; +import org.apache.http.util.EntityUtils; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.scheduling.annotation.Scheduled; import org.springframework.stereotype.Component; @@ -23,7 +34,17 @@ import org.springframework.web.bind.annotation.RequestMapping; import org.springframework.web.bind.annotation.RestController; import org.springframework.web.servlet.ModelAndView; +import sun.net.www.http.HttpClient; +import javax.crypto.Mac; +import javax.crypto.spec.SecretKeySpec; +import java.io.BufferedReader; +import java.io.InputStreamReader; +import java.io.OutputStream; +import java.net.HttpURLConnection; +import java.net.URL; +import java.nio.charset.StandardCharsets; +import java.util.Objects; import java.text.SimpleDateFormat; import java.util.*; @@ -52,11 +73,13 @@ @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); @@ -81,8 +104,9 @@ */ // @EnableScheduling // @Scheduled(cron = "*/10 * * * * ?")//娴嬭瘯10涓�娆� -// @Scheduled(cron = "0 46 17 * * ?") - @Scheduled(cron = "0 0 */1 * * ?")//涓�灏忔椂鎵ц涓�娆� + @Scheduled(cron = "0 51 15 * * ?") +// @Scheduled(cron = "0 0 */1 * * ?")//涓�灏忔椂鎵ц涓�娆� + @Scheduled(cron = "0 0/60 8-22 * * ?")//8鐐瑰埌10鐐规瘡10鍒嗛挓鎵ц涓�娆� public void smsfuwuqi() throws Exception { System.out.println("鏈嶅姟鍣ㄥ畾鏃跺櫒鎵ц============銆嬨�嬨�嬨�嬨�嬨�嬨�嬨�嬨�嬨�嬨�嬨�嬨�嬨�嬨�嬨��"); QueryWrapper queryWrapper1 = new QueryWrapper(); @@ -93,8 +117,9 @@ queryWrapper3.eq("none", "0"); queryWrapper3.eq("companyName", fuwuqiList.get(i).getCompany()); Company companyList = (companyMapper).selectOne(queryWrapper3); - SimpleDateFormat date2 = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss"); + SimpleDateFormat date2 = new SimpleDateFormat("yyyy-MM-dd"); Date date = new Date(); + Date endDay = date2.parse(fuwuqiList.get(i).getEnddate());//缁撴潫鏃堕棿 Long starTime = date.getTime(); Long endTime = endDay.getTime(); @@ -102,9 +127,11 @@ //涓嶈冻涓�澶╃殑绠椾綔涓�澶╋紝鍥犳鍦ㄥ埌鏈熷ぉ鏁颁笂鍔�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"); - String dtext = formatter.format(date); - if (dispatchDate == null || !dtext.equals(dispatchDate)) { + if (dispatchDate == null) { +// SimpleDateFormat formatter = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss"); +// Date dtext = formatter.parse(dispatchDate);//缁撴潫鏃堕棿 +// Long endTime1 = dtext.getTime(); +// if ((endTime1-starTime) / 24 / 60 / 60 / 1000 != 0) { // 瀹炰緥鍖栦竴涓璇佸璞★紝鍏ュ弬闇�瑕佷紶鍏ヨ吘璁簯璐︽埛 SecretId 鍜� SecretKey锛屾澶勮繕闇�娉ㄦ剰瀵嗛挜瀵圭殑淇濆瘑 // 浠g爜娉勯湶鍙兘浼氬鑷� SecretId 鍜� SecretKey 娉勯湶锛屽苟濞佽儊璐﹀彿涓嬫墍鏈夎祫婧愮殑瀹夊叏鎬с�備互涓嬩唬鐮佺ず渚嬩粎渚涘弬鑰冿紝寤鸿閲囩敤鏇村畨鍏ㄧ殑鏂瑰紡鏉ヤ娇鐢ㄥ瘑閽ワ紝璇峰弬瑙侊細https://cloud.tencent.com/document/product/1278/85305 // 瀵嗛挜鍙墠寰�瀹樼綉鎺у埗鍙� https://console.cloud.tencent.com/cam/capi 杩涜鑾峰彇 @@ -120,172 +147,770 @@ // 瀹炰緥鍖栦竴涓姹傚璞�,姣忎釜鎺ュ彛閮戒細瀵瑰簲涓�涓猺equest瀵硅薄 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++){ + +// if (phone.split("[,锛宂").length>1){ +// +// } + + 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); + String[] phoneNumberSet12 = {managerList.get(s).getPhone()}; + System.out.println(phoneNumberSet12); + req.setPhoneNumberSet(phoneNumberSet12); + + req.setSmsSdkAppId("1400838975"); + req.setSignName("鍖椾含鍗庢槦鍖楁枟鏅烘帶"); + req.setTemplateId("2318088"); + +// String[] templateParamSet1 = {String.valueOf(+num11 / 24 / 60 / 60 / 1000)}; +// String[] templateParamSet1 = {String.valueOf("鎮ㄦ湁娴侀噺鍗″皢浜庯細" + fuwuqiList.get(i).getEnddate() + "鍒版湡锛�")}; +// req.setTemplateParamSet(templateParamSet1); + // 杩斿洖鐨剅esp鏄竴涓猄endSmsResponse鐨勫疄渚嬶紝涓庤姹傚璞″搴� + SendSmsResponse resp = client.SendSms(req); + } + String phone = DESUtil.decrypt(companyList.getLoginphone(), DESUtil.key); + for (int j = 0; j < phone.split("[,锛宂").length; j++) { + String[] phoneNumberSet1 = {phone.split("[,锛宂")[j]}; + req.setPhoneNumberSet(phoneNumberSet1); req.setSmsSdkAppId("1400838975"); req.setSignName("鍖椾含鍗庢槦鍖楁枟鏅烘帶"); - req.setTemplateId("2100321"); + req.setTemplateId("2318088"); // String[] templateParamSet1 = {String.valueOf(+num11 / 24 / 60 / 60 / 1000)}; - String[] templateParamSet1 = {String.valueOf("鎮ㄦ湁娴侀噺鍗″皢浜庯細" + fuwuqiList.get(i).getEnddate()+"鍒版湡锛�")}; + String[] templateParamSet1 = {String.valueOf("鎮ㄦ湁鏈嶅姟鍣ㄥ皢浜庯細" + fuwuqiList.get(i).getEnddate() + "鍒版湡锛�")}; req.setTemplateParamSet(templateParamSet1); // 杩斿洖鐨剅esp鏄竴涓猄endSmsResponse鐨勫疄渚嬶紝涓庤姹傚璞″搴� SendSmsResponse resp = client.SendSms(req); + // 杈撳嚭json鏍煎紡鐨勫瓧绗︿覆鍥炲寘 + Duanxinlog duanxinlog = new Duanxinlog(); + duanxinlog.setIdentification(fuwuqiList.get(i).getServername()); + duanxinlog.setReceiver(fuwuqiList.get(i).getCompany()); + duanxinlog.setNumber(phone.split("[,锛宂")[j]); +// duanxinlog.setNumber(DESUtil.decrypt(companyList.getLoginphone(), DESUtil.key)); + duanxinlog.setContent("灏婃暚鐨勭敤鎴凤紝鎮ㄥソ锛佹偍鏈夋湇鍔″櫒灏嗕簬" + fuwuqiList.get(i).getEnddate() + "鍒版湡锛屼负閬垮厤褰卞搷鎮ㄧ殑姝e父浣跨敤璇峰強鏃剁画璐癸紝鎮ㄥ彲鐧诲綍鍗庢槦鏅烘帶鍏徃鐗╄仈缃戠鐞嗗钩鍙版煡璇㈣鎯呯画璐癸紝濡傛湁鐤戦棶鍙挩璇㈡垜鍏徃瀹㈡湇浜哄憳锛岀鎮ㄧ敓娲绘剦蹇紒"); + this.duanxinlogService.addDuanxinlog(duanxinlog); } - req.setPhoneNumberSet(phoneNumberSet1); - req.setSmsSdkAppId("1400838975"); - req.setSignName("鍖椾含鍗庢槦鍖楁枟鏅烘帶"); - req.setTemplateId("2100321"); +// } + } else { + SimpleDateFormat formatter = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss"); + Date dtext = formatter.parse(dispatchDate);//缁撴潫鏃堕棿 + Long endTime1 = dtext.getTime(); + if ((endTime1 - starTime) / 24 / 60 / 60 / 1000 != 0) { + // 瀹炰緥鍖栦竴涓璇佸璞★紝鍏ュ弬闇�瑕佷紶鍏ヨ吘璁簯璐︽埛 SecretId 鍜� SecretKey锛屾澶勮繕闇�娉ㄦ剰瀵嗛挜瀵圭殑淇濆瘑 + // 浠g爜娉勯湶鍙兘浼氬鑷� SecretId 鍜� SecretKey 娉勯湶锛屽苟濞佽儊璐﹀彿涓嬫墍鏈夎祫婧愮殑瀹夊叏鎬с�備互涓嬩唬鐮佺ず渚嬩粎渚涘弬鑰冿紝寤鸿閲囩敤鏇村畨鍏ㄧ殑鏂瑰紡鏉ヤ娇鐢ㄥ瘑閽ワ紝璇峰弬瑙侊細https://cloud.tencent.com/document/product/1278/85305 + // 瀵嗛挜鍙墠寰�瀹樼綉鎺у埗鍙� https://console.cloud.tencent.com/cam/capi 杩涜鑾峰彇 + Credential cred = new Credential(SecretId, SecretKey); + // 瀹炰緥鍖栦竴涓猦ttp閫夐」锛屽彲閫夌殑锛屾病鏈夌壒娈婇渶姹傚彲浠ヨ烦杩� + HttpProfile httpProfile = new HttpProfile(); + httpProfile.setEndpoint("sms.tencentcloudapi.com"); + // 瀹炰緥鍖栦竴涓猚lient閫夐」锛屽彲閫夌殑锛屾病鏈夌壒娈婇渶姹傚彲浠ヨ烦杩� + ClientProfile clientProfile = new ClientProfile(); + clientProfile.setHttpProfile(httpProfile); + // 瀹炰緥鍖栬璇锋眰浜у搧鐨刢lient瀵硅薄,clientProfile鏄彲閫夌殑 + SmsClient client = new SmsClient(cred, "ap-beijing", clientProfile); + // 瀹炰緥鍖栦竴涓姹傚璞�,姣忎釜鎺ュ彛閮戒細瀵瑰簲涓�涓猺equest瀵硅薄 + 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("2318088"); // String[] templateParamSet1 = {String.valueOf(+num11 / 24 / 60 / 60 / 1000)}; - String[] templateParamSet1 = {String.valueOf("鎮ㄦ湁鏈嶅姟鍣ㄥ皢浜庯細" + fuwuqiList.get(i).getEnddate()+"鍒版湡锛�")}; - req.setTemplateParamSet(templateParamSet1); - // 杩斿洖鐨剅esp鏄竴涓猄endSmsResponse鐨勫疄渚嬶紝涓庤姹傚璞″搴� - 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("灏婃暚鐨勭敤鎴凤紝鎮ㄥソ锛佹偍鏈夋湇鍔″櫒灏嗕簬"+fuwuqiList.get(i).getEnddate()+"鍒版湡锛屼负閬垮厤褰卞搷鎮ㄧ殑姝e父浣跨敤璇峰強鏃剁画璐癸紝鎮ㄥ彲鐧诲綍鍗庢槦鏅烘帶鍏徃鐗╄仈缃戠鐞嗗钩鍙版煡璇㈣鎯呯画璐癸紝濡傛湁鐤戦棶鍙挩璇㈡垜鍏徃瀹㈡湇浜哄憳锛岀鎮ㄧ敓娲绘剦蹇紒"); - this.duanxinlogService.addDuanxinlog(duanxinlog); +// String[] templateParamSet1 = {String.valueOf("鎮ㄦ湁娴侀噺鍗″皢浜庯細" + fuwuqiList.get(i).getEnddate() + "鍒版湡锛�")}; +// req.setTemplateParamSet(templateParamSet1); + // 杩斿洖鐨剅esp鏄竴涓猄endSmsResponse鐨勫疄渚嬶紝涓庤姹傚璞″搴� + SendSmsResponse resp = client.SendSms(req); + } + String phone = DESUtil.decrypt(companyList.getLoginphone(), DESUtil.key); + for (int j = 0; j < phone.split("[,锛宂").length; j++) { + String[] phoneNumberSet1 = {phone.split("[,锛宂")[j]}; + req.setPhoneNumberSet(phoneNumberSet1); + + req.setSmsSdkAppId("1400838975"); + req.setSignName("鍖椾含鍗庢槦鍖楁枟鏅烘帶"); + req.setTemplateId("2318088"); + +// String[] templateParamSet1 = {String.valueOf(+num11 / 24 / 60 / 60 / 1000)}; +// String[] templateParamSet1 = {String.valueOf("鎮ㄦ湁鏈嶅姟鍣ㄥ皢浜庯細" + fuwuqiList.get(i).getEnddate() + "鍒版湡锛�")}; +// req.setTemplateParamSet(templateParamSet1); + // 杩斿洖鐨剅esp鏄竴涓猄endSmsResponse鐨勫疄渚嬶紝涓庤姹傚璞″搴� + SendSmsResponse resp = client.SendSms(req); + // 杈撳嚭json鏍煎紡鐨勫瓧绗︿覆鍥炲寘 + Duanxinlog duanxinlog = new Duanxinlog(); + duanxinlog.setIdentification(fuwuqiList.get(i).getServername()); + duanxinlog.setReceiver(fuwuqiList.get(i).getCompany()); + duanxinlog.setNumber(phone.split("[,锛宂")[j]); +// duanxinlog.setNumber(DESUtil.decrypt(companyList.getLoginphone(), DESUtil.key)); + duanxinlog.setContent("灏婃暚鐨勭敤鎴凤紝鎮ㄥソ锛佹偍鏈夋湇鍔″櫒灏嗕簬" + fuwuqiList.get(i).getEnddate() + "鍒版湡锛屼负閬垮厤褰卞搷鎮ㄧ殑姝e父浣跨敤璇峰強鏃剁画璐癸紝鎮ㄥ彲鐧诲綍鍗庢槦鏅烘帶鍏徃鐗╄仈缃戠鐞嗗钩鍙版煡璇㈣鎯呯画璐癸紝濡傛湁鐤戦棶鍙挩璇㈡垜鍏徃瀹㈡湇浜哄憳锛岀鎮ㄧ敓娲绘剦蹇紒"); + this.duanxinlogService.addDuanxinlog(duanxinlog); + } + } } } } } +// +// /* +// * 鍑芥暟鍚� : sms +// * 璇存槑 : 鏌ヨ鎵�鏈夊崱鍙锋暟鎹� +// 浣跨敤褰撳墠鏃堕棿鍑忓幓缁撴潫鏃堕棿 +// 浣跨敤鍙风爜鏌ヨ鐭俊琛ㄥ彇鍑哄彂閫佹棩鏈燂紝濡傛灉褰撳墠鏃ユ湡澶т簬鍙戦�佹棩鏈� +// 鍙戦�佺煭淇� +// 鍙戦�佺煭淇� +// +// * 杩斿洖鍊� : 鏃� +// * 浣滆�� : 鐜嬮 +//// * 鏃ユ湡 : 2024骞�2鏈�28鏃� +// */ +//// @EnableScheduling +//// @Scheduled(cron = "*/10 * * * * ?")//娴嬭瘯10绉掓墽琛屼竴娆� +//// @Scheduled(cron = "0 48 10 * * ?") +// @Scheduled(cron = "0 0 */1 * * ?")//涓�灏忔椂鎵ц涓�娆� +// public void sms() throws Exception { +// System.out.println("鐭俊瀹氭椂鍣ㄦ墽琛�============銆嬨�嬨�嬨�嬨�嬨�嬨�嬨�嬨�嬨�嬨�嬨�嬨�嬨�嬨�嬨��"); +// //鏌ヨ鏁版嵁搴撲腑鎵�鏈夌殑寮曟搸鏁版嵁 +// QueryWrapper queryWrapper = new QueryWrapper(); +// queryWrapper.eq("none", "0"); +//// queryWrapper.eq("num", "1"); +// 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); +// } +//// System.out.println("333333"); +// SimpleDateFormat date2 = new SimpleDateFormat("yyyy-MM-dd"); +// Date date = new Date(); +// Date endDay = date2.parse(cardList.get(i).getEnddate());//缁撴潫鏃堕棿 +// Long starTime = date.getTime(); +// Long endTime = endDay.getTime(); +// Long num11 = endTime - starTime;//鏃堕棿鎴� +//// System.out.println("22222222"); +//// System.out.println(+num11 / 24 / 60 / 60 / 1000); +// 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) { +// System.out.println("1111111111111111111"); +// String dispatchDate = this.duanxinlogService.userdate(cardList.get(i).getCardnumber()); +// if (dispatchDate==null){ +//// SimpleDateFormat formatter = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss"); +//// Date dtext = formatter.parse(dispatchDate);//缁撴潫鏃堕棿 +//// Long endTime1 = dtext.getTime(); +//// if ((endTime1-starTime) / 24 / 60 / 60 / 1000 != 0) { +// String randomNumber = new String(); +// // 瀹炰緥鍖栦竴涓璇佸璞★紝鍏ュ弬闇�瑕佷紶鍏ヨ吘璁簯璐︽埛 SecretId 鍜� SecretKey锛屾澶勮繕闇�娉ㄦ剰瀵嗛挜瀵圭殑淇濆瘑 +// // 浠g爜娉勯湶鍙兘浼氬鑷� SecretId 鍜� SecretKey 娉勯湶锛屽苟濞佽儊璐﹀彿涓嬫墍鏈夎祫婧愮殑瀹夊叏鎬с�備互涓嬩唬鐮佺ず渚嬩粎渚涘弬鑰冿紝寤鸿閲囩敤鏇村畨鍏ㄧ殑鏂瑰紡鏉ヤ娇鐢ㄥ瘑閽ワ紝璇峰弬瑙侊細https://cloud.tencent.com/document/product/1278/85305 +// // 瀵嗛挜鍙墠寰�瀹樼綉鎺у埗鍙� https://console.cloud.tencent.com/cam/capi 杩涜鑾峰彇 +// Credential cred = new Credential(SecretId, SecretKey); +// // 瀹炰緥鍖栦竴涓猦ttp閫夐」锛屽彲閫夌殑锛屾病鏈夌壒娈婇渶姹傚彲浠ヨ烦杩� +// HttpProfile httpProfile = new HttpProfile(); +// httpProfile.setEndpoint("sms.tencentcloudapi.com"); +// // 瀹炰緥鍖栦竴涓猚lient閫夐」锛屽彲閫夌殑锛屾病鏈夌壒娈婇渶姹傚彲浠ヨ烦杩� +// ClientProfile clientProfile = new ClientProfile(); +// clientProfile.setHttpProfile(httpProfile); +// // 瀹炰緥鍖栬璇锋眰浜у搧鐨刢lient瀵硅薄,clientProfile鏄彲閫夌殑 +// SmsClient client = new SmsClient(cred, "ap-beijing", clientProfile); +// // 瀹炰緥鍖栦竴涓姹傚璞�,姣忎釜鎺ュ彛閮戒細瀵瑰簲涓�涓猺equest瀵硅薄 +// SendSmsRequest req = new SendSmsRequest(); +//// 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); +// String string = new String(); +// for (int s=0;s<managerList.size();s++){ +// +// if (s!=0){ +// string+=","; +// } +// string += 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); +// // 杩斿洖鐨剅esp鏄竴涓猄endSmsResponse鐨勫疄渚嬶紝涓庤姹傚璞″搴� +// SendSmsResponse resp = client.SendSms(req); +// } +//// phoneNumberSet1[managerList.size()] = DESUtil.decrypt(companyList.getLoginphone(), DESUtil.key); +//// System.out.println(phoneNumberSet1); +// req.setPhoneNumberSet(phoneNumberSet1); +// +// 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); +// // 杩斿洖鐨剅esp鏄竴涓猄endSmsResponse鐨勫疄渚嬶紝涓庤姹傚璞″搴� +// SendSmsResponse resp = client.SendSms(req); +// System.out.println(SendSmsResponse.toJsonString(resp)); +// // 杈撳嚭json鏍煎紡鐨勫瓧绗︿覆鍥炲寘 +// Duanxinlog duanxinlog = new Duanxinlog(); +// duanxinlog.setIdentification(cardList.get(i).getCardnumber()); +// duanxinlog.setReceiver(cardList.get(i).getCompany()); +// duanxinlog.setNumber(string); +// duanxinlog.setContent("灏婃暚鐨勭敤鎴凤紝鎮ㄥソ锛佹偍鏈夋祦閲忓崱灏嗕簬"+cardList.get(i).getEnddate()+"鍒版湡锛屼负閬垮厤褰卞搷鎮ㄧ殑姝e父浣跨敤璇峰強鏃剁画璐癸紝鎮ㄥ彲鐧诲綍鍗庢槦鏅烘帶鍏徃鐗╄仈缃戠鐞嗗钩鍙版煡璇㈣鎯呯画璐癸紝濡傛湁鐤戦棶鍙挩璇㈡垜鍏徃瀹㈡湇浜哄憳锛岀鎮ㄧ敓娲绘剦蹇紒" +// ); +// this.duanxinlogService.addDuanxinlog(duanxinlog); +//// } +// }else{ +// SimpleDateFormat formatter = new SimpleDateFormat("yyyy-MM-dd"); +// Date dtext = formatter.parse(dispatchDate);//缁撴潫鏃堕棿 +// Long endTime1 = dtext.getTime(); +//// System.out.println(dtext); +//// System.out.println(dispatchDate); +//// System.out.println(starTime); +//// System.out.println(endTime1); +//// System.out.println((starTime-endTime1) / 24); +//// System.out.println((starTime-endTime1) / 24 / 60 / 60 / 1000); +//// System.out.println((starTime-endTime1) / 24 / 60 / 60 / 1000 > 0); +// if ((starTime-endTime1) / 24 / 60 / 60 / 1000 != 0) { +// String randomNumber = new String(); +// // 瀹炰緥鍖栦竴涓璇佸璞★紝鍏ュ弬闇�瑕佷紶鍏ヨ吘璁簯璐︽埛 SecretId 鍜� SecretKey锛屾澶勮繕闇�娉ㄦ剰瀵嗛挜瀵圭殑淇濆瘑 +// // 浠g爜娉勯湶鍙兘浼氬鑷� SecretId 鍜� SecretKey 娉勯湶锛屽苟濞佽儊璐﹀彿涓嬫墍鏈夎祫婧愮殑瀹夊叏鎬с�備互涓嬩唬鐮佺ず渚嬩粎渚涘弬鑰冿紝寤鸿閲囩敤鏇村畨鍏ㄧ殑鏂瑰紡鏉ヤ娇鐢ㄥ瘑閽ワ紝璇峰弬瑙侊細https://cloud.tencent.com/document/product/1278/85305 +// // 瀵嗛挜鍙墠寰�瀹樼綉鎺у埗鍙� https://console.cloud.tencent.com/cam/capi 杩涜鑾峰彇 +// Credential cred = new Credential(SecretId, SecretKey); +// // 瀹炰緥鍖栦竴涓猦ttp閫夐」锛屽彲閫夌殑锛屾病鏈夌壒娈婇渶姹傚彲浠ヨ烦杩� +// HttpProfile httpProfile = new HttpProfile(); +// httpProfile.setEndpoint("sms.tencentcloudapi.com"); +// // 瀹炰緥鍖栦竴涓猚lient閫夐」锛屽彲閫夌殑锛屾病鏈夌壒娈婇渶姹傚彲浠ヨ烦杩� +// ClientProfile clientProfile = new ClientProfile(); +// clientProfile.setHttpProfile(httpProfile); +// // 瀹炰緥鍖栬璇锋眰浜у搧鐨刢lient瀵硅薄,clientProfile鏄彲閫夌殑 +// SmsClient client = new SmsClient(cred, "ap-beijing", clientProfile); +// // 瀹炰緥鍖栦竴涓姹傚璞�,姣忎釜鎺ュ彛閮戒細瀵瑰簲涓�涓猺equest瀵硅薄 +// SendSmsRequest req = new SendSmsRequest(); +//// 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); +// String string = new String(); +// for (int s=0;s<managerList.size();s++){ +// +// if (s!=0){ +// string+=","; +// } +// string += 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); +// // 杩斿洖鐨剅esp鏄竴涓猄endSmsResponse鐨勫疄渚嬶紝涓庤姹傚璞″搴� +// SendSmsResponse resp = client.SendSms(req); +// } +//// phoneNumberSet1[managerList.size()] = DESUtil.decrypt(companyList.getLoginphone(), DESUtil.key); +//// System.out.println(phoneNumberSet1); +// req.setPhoneNumberSet(phoneNumberSet1); +// +// 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); +// // 杩斿洖鐨剅esp鏄竴涓猄endSmsResponse鐨勫疄渚嬶紝涓庤姹傚璞″搴� +// SendSmsResponse resp = client.SendSms(req); +// System.out.println(SendSmsResponse.toJsonString(resp)); +// // 杈撳嚭json鏍煎紡鐨勫瓧绗︿覆鍥炲寘 +// Duanxinlog duanxinlog = new Duanxinlog(); +// duanxinlog.setIdentification(cardList.get(i).getCardnumber()); +// duanxinlog.setReceiver(cardList.get(i).getCompany()); +// duanxinlog.setNumber(string); +// duanxinlog.setContent("灏婃暚鐨勭敤鎴凤紝鎮ㄥソ锛佹偍鏈夋祦閲忓崱灏嗕簬"+cardList.get(i).getEnddate()+"鍒版湡锛屼负閬垮厤褰卞搷鎮ㄧ殑姝e父浣跨敤璇峰強鏃剁画璐癸紝鎮ㄥ彲鐧诲綍鍗庢槦鏅烘帶鍏徃鐗╄仈缃戠鐞嗗钩鍙版煡璇㈣鎯呯画璐癸紝濡傛湁鐤戦棶鍙挩璇㈡垜鍏徃瀹㈡湇浜哄憳锛岀鎮ㄧ敓娲绘剦蹇紒" +// ); +// this.duanxinlogService.addDuanxinlog(duanxinlog); +// } +// } +//// String dispatchDate = this.duanxinlogService.userdate(cardList.get(i).getCardnumber()); +// +// } +// +// } +// } /* - * 鍑芥暟鍚� : sms - * 璇存槑 : 鏌ヨ鎵�鏈夊崱鍙锋暟鎹� - 浣跨敤褰撳墠鏃堕棿鍑忓幓缁撴潫鏃堕棿 - 浣跨敤鍙风爜鏌ヨ鐭俊琛ㄥ彇鍑哄彂閫佹棩鏈燂紝濡傛灉褰撳墠鏃ユ湡澶т簬鍙戦�佹棩鏈� - 鍙戦�佺煭淇� - 鍙戦�佺煭淇� + * 鍑芥暟鍚� : sms + * 璇存槑 : 鏌ヨ鎵�鏈夊崱鍙锋暟鎹� + 浣跨敤褰撳墠鏃堕棿鍑忓幓缁撴潫鏃堕棿 + 浣跨敤鍙风爜鏌ヨ鐭俊琛ㄥ彇鍑哄彂閫佹棩鏈燂紝濡傛灉褰撳墠鏃ユ湡澶т簬鍙戦�佹棩鏈� + 鍙戦�佺煭淇� + 鍙戦�佺煭淇� - * 杩斿洖鍊� : 鏃� - * 浣滆�� : 鐜嬮 + * 杩斿洖鍊� : 鏃� + * 浣滆�� : 鐜嬮 // * 鏃ユ湡 : 2024骞�2鏈�28鏃� - */ + */ // @EnableScheduling // @Scheduled(cron = "*/10 * * * * ?")//娴嬭瘯10绉掓墽琛屼竴娆� -// @Scheduled(cron = "0 11 16 * * ?") - @Scheduled(cron = "0 0 */1 * * ?")//涓�灏忔椂鎵ц涓�娆� +// @Scheduled(cron = "0 54 15 * * ?") + @Scheduled(cron = "0 0/10 8-22 * * ?")//8鐐瑰埌10鐐规瘡10鍒嗛挓鎵ц涓�娆� public void sms() throws Exception { System.out.println("鐭俊瀹氭椂鍣ㄦ墽琛�============銆嬨�嬨�嬨�嬨�嬨�嬨�嬨�嬨�嬨�嬨�嬨�嬨�嬨�嬨�嬨��"); - //鏌ヨ鏁版嵁搴撲腑鎵�鏈夌殑寮曟搸鏁版嵁 + //鏌ヨ鏁版嵁搴撲腑鎵�鏈夌殑鍏徃鏁版嵁 QueryWrapper queryWrapper = new QueryWrapper(); - queryWrapper.eq("none", "0"); // queryWrapper.eq("num", "1"); - 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());//缁撴潫鏃堕棿 - Long starTime = date.getTime(); - Long endTime = endDay.getTime(); - Long num11 = endTime - starTime;//鏃堕棿鎴� + queryWrapper.eq("none", "0"); + List<Company> companyList = (companyMapper).selectList(queryWrapper); + //鑾峰彇褰撳墠骞存湀鏃ユ椂闂� + SimpleDateFormat date2 = new SimpleDateFormat("yyyy-MM-dd"); + Date date = new Date(); + String s = date2.format(date); + for (int i = 0; i < companyList.size(); i++) { + //鍒ゆ柇鏉′欢鏄惁鍙戦�佺煭淇″拰鍙戦�佺煭淇℃棩鏈� + if (!Objects.equals(companyList.get(i).getSenddate(), s)) { + //鏍规嵁鍏徃鍚嶇О鏌ヨ鍗″彿 + List<Card> cardList = this.cardMapper.findAllcompanycard(companyList.get(i).getCompanyname(), companyList.get(i).getCompanyabbname()); + for (int j = 0; j < cardList.size(); j++) { + if (cardList.get(j).getEnddate()!=null){ + Date endDay = date2.parse(cardList.get(j).getEnddate());//缁撴潫鏃堕棿 + Long starTime = date.getTime(); + Long endTime = endDay.getTime(); + 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 HH:mm:ss"); - Date dtext = formatter.parse(dispatchDate);//缁撴潫鏃堕棿 - Long endTime1 = dtext.getTime(); - if ((endTime1-starTime) / 24 / 60 / 60 / 1000 != 0) { - String randomNumber = new String(); - // 瀹炰緥鍖栦竴涓璇佸璞★紝鍏ュ弬闇�瑕佷紶鍏ヨ吘璁簯璐︽埛 SecretId 鍜� SecretKey锛屾澶勮繕闇�娉ㄦ剰瀵嗛挜瀵圭殑淇濆瘑 - // 浠g爜娉勯湶鍙兘浼氬鑷� SecretId 鍜� SecretKey 娉勯湶锛屽苟濞佽儊璐﹀彿涓嬫墍鏈夎祫婧愮殑瀹夊叏鎬с�備互涓嬩唬鐮佺ず渚嬩粎渚涘弬鑰冿紝寤鸿閲囩敤鏇村畨鍏ㄧ殑鏂瑰紡鏉ヤ娇鐢ㄥ瘑閽ワ紝璇峰弬瑙侊細https://cloud.tencent.com/document/product/1278/85305 - // 瀵嗛挜鍙墠寰�瀹樼綉鎺у埗鍙� https://console.cloud.tencent.com/cam/capi 杩涜鑾峰彇 - Credential cred = new Credential(SecretId, SecretKey); - // 瀹炰緥鍖栦竴涓猦ttp閫夐」锛屽彲閫夌殑锛屾病鏈夌壒娈婇渶姹傚彲浠ヨ烦杩� - HttpProfile httpProfile = new HttpProfile(); - httpProfile.setEndpoint("sms.tencentcloudapi.com"); - // 瀹炰緥鍖栦竴涓猚lient閫夐」锛屽彲閫夌殑锛屾病鏈夌壒娈婇渶姹傚彲浠ヨ烦杩� - ClientProfile clientProfile = new ClientProfile(); - clientProfile.setHttpProfile(httpProfile); - // 瀹炰緥鍖栬璇锋眰浜у搧鐨刢lient瀵硅薄,clientProfile鏄彲閫夌殑 - SmsClient client = new SmsClient(cred, "ap-beijing", clientProfile); - // 瀹炰緥鍖栦竴涓姹傚璞�,姣忎釜鎺ュ彛閮戒細瀵瑰簲涓�涓猺equest瀵硅薄 - SendSmsRequest req = new SendSmsRequest(); + if ((+num11 / 24 / 60 / 60 / 1000 == 19) || (+num11 / 24 / 60 / 60 / 1000 == 14) || (+num11 / 24 / 60 / 60 / 1000 == 9) || (+num11 / 24 / 60 / 60 / 1000 == 4) || (+num11 / 24 / 60 / 60 / 1000 == 0)) { + + //鍙戦�佺煭淇� + // 瀹炰緥鍖栦竴涓璇佸璞★紝鍏ュ弬闇�瑕佷紶鍏ヨ吘璁簯璐︽埛 SecretId 鍜� SecretKey锛屾澶勮繕闇�娉ㄦ剰瀵嗛挜瀵圭殑淇濆瘑 + // 浠g爜娉勯湶鍙兘浼氬鑷� SecretId 鍜� SecretKey 娉勯湶锛屽苟濞佽儊璐﹀彿涓嬫墍鏈夎祫婧愮殑瀹夊叏鎬с�備互涓嬩唬鐮佺ず渚嬩粎渚涘弬鑰冿紝寤鸿閲囩敤鏇村畨鍏ㄧ殑鏂瑰紡鏉ヤ娇鐢ㄥ瘑閽ワ紝璇峰弬瑙侊細https://cloud.tencent.com/document/product/1278/85305 + // 瀵嗛挜鍙墠寰�瀹樼綉鎺у埗鍙� https://console.cloud.tencent.com/cam/capi 杩涜鑾峰彇 + Credential cred = new Credential(SecretId, SecretKey); + // 瀹炰緥鍖栦竴涓猦ttp閫夐」锛屽彲閫夌殑锛屾病鏈夌壒娈婇渶姹傚彲浠ヨ烦杩� + HttpProfile httpProfile = new HttpProfile(); + httpProfile.setEndpoint("sms.tencentcloudapi.com"); + // 瀹炰緥鍖栦竴涓猚lient閫夐」锛屽彲閫夌殑锛屾病鏈夌壒娈婇渶姹傚彲浠ヨ烦杩� + ClientProfile clientProfile = new ClientProfile(); + clientProfile.setHttpProfile(httpProfile); + // 瀹炰緥鍖栬璇锋眰浜у搧鐨刢lient瀵硅薄,clientProfile鏄彲閫夌殑 + SmsClient client = new SmsClient(cred, "ap-beijing", clientProfile); + // 瀹炰緥鍖栦竴涓姹傚璞�,姣忎釜鎺ュ彛閮戒細瀵瑰簲涓�涓猺equest瀵硅薄 + SendSmsRequest req = new SendSmsRequest(); // 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); - String string = new String(); - for (int s=0;s<managerList.size();s++){ +// String[] phoneNumberSet1 = {DESUtil.decrypt(companyList.get(i).getLoginphone(), DESUtil.key)}; +// String[] phoneNumberSet1 = {"18582279726"}; + //鏌ヨ鏈夋帴鏀剁煭淇℃潈闄愮殑绠$悊鍛樼粰浠栦滑鍙戦�佺煭淇¢�氱煡 + QueryWrapper sms = new QueryWrapper(); + sms.eq("none", "0"); + sms.eq("smsreception", "1"); + List<Manager> managerList = (managerMapper).selectList(sms); + String string = new String(); + System.out.println(cardList.get(j)); + for (int s1 = 0; s1 < managerList.size(); s1++) { - if (s!=0){ - string+=","; + if (s1 != 0) { + string += ","; + } + string += managerList.get(s1).getPhone(); + String[] phoneNumberSet12 = {managerList.get(s1).getPhone()}; + System.out.println(phoneNumberSet12); + req.setPhoneNumberSet(phoneNumberSet12); + req.setSmsSdkAppId("1400838975"); + req.setSignName("鍖椾含鍗庢槦鍖楁枟鏅烘帶"); + req.setTemplateId("2089627"); + String[] templateParamSet1 = {String.valueOf("鏈変娇鐢ㄧ殑鐗╄仈缃戝崱杩樻湁"+(+num11 / 24 / 60 / 60 / 1000+1)),String.valueOf(cardList.get(j).getEnddate())}; + req.setTemplateParamSet(templateParamSet1); + // 杩斿洖鐨剅esp鏄竴涓猄endSmsResponse鐨勫疄渚嬶紝涓庤姹傚璞″搴� + SendSmsResponse resp = client.SendSms(req); + } + String phone = DESUtil.decrypt(companyList.get(i).getLoginphone(), DESUtil.key); + for (int p = 0; p < phone.split("[,锛宂").length; p++) { + String[] phoneNumberSet1 = {phone.split("[,锛宂")[p]}; + System.out.println(phoneNumberSet1); + req.setPhoneNumberSet(phoneNumberSet1); + + req.setSmsSdkAppId("1400838975"); + req.setSignName("鍖椾含鍗庢槦鍖楁枟鏅烘帶"); + req.setTemplateId("2089627"); + String[] templateParamSet1 = {String.valueOf("鏈変娇鐢ㄧ殑鐗╄仈缃戝崱杩樻湁" + (+num11 / 24 / 60 / 60 / 1000 + 1)), String.valueOf(cardList.get(j).getEnddate())}; + req.setTemplateParamSet(templateParamSet1); +// String[] templateParamSet1 = {String.valueOf("鎮ㄦ湁娴侀噺鍗″皢浜庯細" + cardList.get(i).getEnddate() + "鍒版湡锛�")}; +// req.setTemplateParamSet(templateParamSet1); + // 杩斿洖鐨剅esp鏄竴涓猄endSmsResponse鐨勫疄渚嬶紝涓庤姹傚璞″搴� + SendSmsResponse resp = client.SendSms(req); + System.out.println(SendSmsResponse.toJsonString(resp)); + companyList.get(i).setSenddate(s); + //鍙戦�佺煭淇″悗淇敼鍏徃鍙戦�佺煭淇″瓧娈靛拰鏃ユ湡瀛楁 + QueryWrapper queryWrapper2 = new QueryWrapper(); + queryWrapper2.eq("companyId", companyList.get(i).getCompanyid()); + companyMapper.update(companyList.get(i), queryWrapper2); + // 杈撳嚭json鏍煎紡鐨勫瓧绗︿覆鍥炲寘 + Duanxinlog duanxinlog = new Duanxinlog(); + duanxinlog.setIdentification(cardList.get(j).getCardnumber()); + duanxinlog.setReceiver(cardList.get(j).getCompany()); + duanxinlog.setNumber(phone.split("[,锛宂")[p]); + duanxinlog.setContent("鎮ㄦ湁浣跨敤鐨勭墿鑱旂綉鍗¤繕鏈�" + (+num11 / 24 / 60 / 60 / 1000 + 1) + "澶╁嵆灏嗗埌鏈燂紝璇峰湪" + cardList.get(j).getEnddate() + "涔嬪墠缁垂锛屽宸茬画璐瑰拷鐣ヨ鎻愮ず淇℃伅锛屾嫆鏀惰鍥炲R" + ); + this.duanxinlogService.addDuanxinlog(duanxinlog); + break; + } + break; + } +// } + //鍒ゆ柇缁撴潫鏃ユ湡璺濆綋鍓嶆棩鏈熻繕鏈夊涔� + } - string += 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); - // 杩斿洖鐨剅esp鏄竴涓猄endSmsResponse鐨勫疄渚嬶紝涓庤姹傚璞″搴� - SendSmsResponse resp = client.SendSms(req); - } -// phoneNumberSet1[managerList.size()] = DESUtil.decrypt(companyList.getLoginphone(), DESUtil.key); -// System.out.println(phoneNumberSet1); - req.setPhoneNumberSet(phoneNumberSet1); - 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); - // 杩斿洖鐨剅esp鏄竴涓猄endSmsResponse鐨勫疄渚嬶紝涓庤姹傚璞″搴� - SendSmsResponse resp = client.SendSms(req); - System.out.println(SendSmsResponse.toJsonString(resp)); - // 杈撳嚭json鏍煎紡鐨勫瓧绗︿覆鍥炲寘 - Duanxinlog duanxinlog = new Duanxinlog(); - duanxinlog.setIdentification(cardList.get(i).getCardnumber()); - duanxinlog.setReceiver(cardList.get(i).getCompany()); - duanxinlog.setNumber(string); - duanxinlog.setContent("灏婃暚鐨勭敤鎴凤紝鎮ㄥソ锛佹偍鏈夋祦閲忓崱灏嗕簬"+cardList.get(i).getEnddate()+"鍒版湡锛屼负閬垮厤褰卞搷鎮ㄧ殑姝e父浣跨敤璇峰強鏃剁画璐癸紝鎮ㄥ彲鐧诲綍鍗庢槦鏅烘帶鍏徃鐗╄仈缃戠鐞嗗钩鍙版煡璇㈣鎯呯画璐癸紝濡傛湁鐤戦棶鍙挩璇㈡垜鍏徃瀹㈡湇浜哄憳锛岀鎮ㄧ敓娲绘剦蹇紒" - ); - this.duanxinlogService.addDuanxinlog(duanxinlog); + } } } } +// @PostMapping({"sendudp"}) +// public Boolean sendudp(String message,String phone) { +//// String phone = ""; +// // 鍋囪鐗╄仈缃戝崱骞冲彴鐨勭煭淇℃帴鍙e湴鍧� +// String apiUrl = "https://api.spruceiot.cn/api/v1/sms/send"; +// // 鍋囪骞冲彴鐨凙PI瀵嗛挜 +// String apiKey = "your_api_key_here"; +// // 鍋囪骞冲彴鐨勭煭淇℃ā鏉縄D锛堝鏋滈渶瑕侊級 +// String templateId = "your_template_id_here"; +// String accessKey = "448c2cedcdce41428a290d144e81ab6e"; +// String str = "0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ"; +// String accessSecret = "RgoIWycMYGmQfrLwLuT2VWawAhwMO8w7P9zh2dZp"; +// // 鏋勯�犺姹傚弬鏁� +// Map<String, String> params = new HashMap<>(); +// params.put("apiKey", apiKey); +// params.put("to", phone); +// params.put("message", message); +// params.put("templateId", templateId); +// +// try (CloseableHttpClient httpClient = HttpClients.createDefault()) { +// HttpPost httpPost = new HttpPost(apiUrl); +// httpPost.setHeader("Content-Type", "application/json"); +// httpPost.setEntity(new StringEntity(new ObjectMapper().writeValueAsString(params))); +// +// HttpResponse response = httpClient.execute(httpPost); +// HttpEntity responseEntity = response.getEntity(); +// +// if (response.getStatusLine().getStatusCode() == 200) { +// // 鍙戦�佹垚鍔� +// return true; +// } else { +// // 鍙戦�佸け璐� +// System.out.println("Failed to send SMS: " + EntityUtils.toString(responseEntity)); +// return false; +// } +// } catch (Exception e) { +// e.printStackTrace(); +// return false; +// } +// } + @PostMapping({"sendudp"}) + public JSONObject sendudp(String conext,String phone) throws Exception { + String accessKey = "448c2cedcdce41428a290d144e81ab6e"; + String str = "0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ"; + String accessSecret = "RgoIWycMYGmQfrLwLuT2VWawAhwMO8w7P9zh2dZp"; + String nonce = ""; + Date now = new Date(); + SimpleDateFormat dateFormat = new SimpleDateFormat("yyyyMMddHHmmss"); + String Timestamp = dateFormat.format(now); + int length = 30; + Random random = new Random(); + + for (int i = length; i > 0; --i) { + int index = random.nextInt(str.length()); + nonce = nonce + str.charAt(index); + } + + String stringSignTemp = accessKey + nonce + Timestamp; + Mac sha256Hmac = Mac.getInstance("HmacSHA256"); + SecretKeySpec secretKeySpec = new SecretKeySpec(accessSecret.getBytes(StandardCharsets.UTF_8), "HmacSHA256"); + sha256Hmac.init(secretKeySpec); + byte[] hmacBytes = sha256Hmac.doFinal(stringSignTemp.getBytes(StandardCharsets.UTF_8)); + String sign = Base64.getEncoder().encodeToString(hmacBytes); + String targetUrl = "https://api.spruceiot.cn/api/v1/sms/send"; + URL url = new URL(targetUrl); + HttpURLConnection connection = (HttpURLConnection) url.openConnection(); + connection.setRequestMethod("POST"); + connection.setDoOutput(true); + connection.setRequestProperty("Accept-Charset", "UTF-8"); + connection.setRequestProperty("Content-Type", "application/json; charset=UTF-8"); + connection.setRequestProperty("Access-Control-Allow-Origin", "http://localhost:8080"); + connection.setRequestProperty("AccessKey", accessKey); + connection.setRequestProperty("Nonce", nonce); + connection.setRequestProperty("Timestamp", Timestamp); + connection.setRequestProperty("Sign", sign); + + // 鏋勯�犺姹備綋 + JSONObject requestBody = new JSONObject(); + requestBody.put("msisdn",phone ); + requestBody.put("content", conext); + + // 灏嗚姹備綋鍐欏叆杈撳嚭娴� + OutputStream os = connection.getOutputStream(); + os.write(requestBody.toString().getBytes("UTF-8")); + os.flush(); + os.close(); + + BufferedReader reader = new BufferedReader(new InputStreamReader(connection.getInputStream(), "UTF-8")); + StringBuilder response1 = new StringBuilder(); + + String line; + while ((line = reader.readLine()) != null) { + response1.append(line); + } + + reader.close(); + connection.disconnect(); + JSONObject jsonObject = new JSONObject(response1); + int code = jsonObject.getInt("code"); + String message = jsonObject.getStr("message"); + JSONObject result = jsonObject.getJSONObject("result"); +// int total1 = result.getInt("total"); +// JSONArray list = result.getJSONArray("list"); + +// for (int i = 0; i < list.size(); ++i) { +// JSONObject item = list.getJSONObject(i); +// String msisdn = item.getStr("msisdn"); +// String iccid = item.getStr("iccid"); +// String imsi = item.getStr("imsi"); +// System.out.println("msisdn: " + msisdn + ", iccid: " + iccid + ", imsi: " + imsi); +// } +// if (code!=0){ +// return message; +// }else{ + if (code!=0){ + + }else{ + result.set("eStatus", this.getendlog()); + } + return jsonObject; +// } + + } + + public String getendlog( ) throws Exception { + + + String accessKey = "448c2cedcdce41428a290d144e81ab6e"; + String str = "0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ"; + String accessSecret = "RgoIWycMYGmQfrLwLuT2VWawAhwMO8w7P9zh2dZp"; + String nonce = ""; + Date now = new Date(); + SimpleDateFormat dateFormat = new SimpleDateFormat("yyyyMMddHHmmss"); + String Timestamp = dateFormat.format(now); + int length = 30; + Random random = new Random(); + + for (int i = length; i > 0; --i) { + int index = random.nextInt(str.length()); + nonce = nonce + str.charAt(index); + } + + String stringSignTemp = accessKey + nonce + Timestamp; + Mac sha256Hmac = Mac.getInstance("HmacSHA256"); + SecretKeySpec secretKeySpec = new SecretKeySpec(accessSecret.getBytes(StandardCharsets.UTF_8), "HmacSHA256"); + sha256Hmac.init(secretKeySpec); + byte[] hmacBytes = sha256Hmac.doFinal(stringSignTemp.getBytes(StandardCharsets.UTF_8)); + String sign = Base64.getEncoder().encodeToString(hmacBytes); + String targetUrl = "https://api.spruceiot.cn/api/v1/sms/log/query?pageIndex=1&pageSize=1"; + URL url = new URL(targetUrl); + HttpURLConnection connection = (HttpURLConnection) url.openConnection(); + connection.setRequestProperty("Accept-Charset", "UTF-8"); + connection.setRequestProperty("Content-Type", "application/json; charset=UTF-8"); + connection.setRequestProperty("Access-Control-Allow-Origin", "http://localhost:8080"); + connection.setRequestProperty("AccessKey", accessKey); + connection.setRequestProperty("Nonce", nonce); + connection.setRequestProperty("Timestamp", Timestamp); + connection.setRequestProperty("Sign", sign); + connection.connect(); + BufferedReader reader = new BufferedReader(new InputStreamReader(connection.getInputStream(), "UTF-8")); + StringBuilder response1 = new StringBuilder(); + + String line; + while ((line = reader.readLine()) != null) { + response1.append(line); + } + + reader.close(); + connection.disconnect(); + JSONObject jsonObject = new JSONObject(response1); + int code = jsonObject.getInt("code"); + String message = jsonObject.getStr("message"); + JSONObject result = jsonObject.getJSONObject("result"); + JSONArray list = result.getJSONArray("list"); +// if (code!=0){ +// return ""; +// }else{ +// return result.get("status").toString(); +// } +// for (int i = 0; i < list.size(); ++i) { + JSONObject item = list.getJSONObject(0); +// String msisdn = item.getStr("msisdn"); +// String iccid = item.getStr("iccid"); +// String imsi = item.getStr("imsi"); +// System.out.println("msisdn: " + msisdn + ", iccid: " + iccid + ", imsi: " + imsi); +// } + if (item.get("status")=="3"){ + return item.get("message").toString(); + }else{ + return item.get("status").toString(); + } + + } + + @PostMapping({"send"}) + public ModelAndView send(String phone,Integer id,String vname,String enddate) throws Exception { + + SimpleDateFormat date2 = new SimpleDateFormat("yyyy-MM-dd"); + Date date = new Date(); + String s = date2.format(date); + QueryWrapper queryWrapper = new QueryWrapper(); + queryWrapper.eq("none", "0"); + queryWrapper.eq("num", id); + Card cardList = (cardMapper).selectOne(queryWrapper); + + Date endDay = date2.parse(enddate);//缁撴潫鏃堕棿 + Long starTime = date.getTime(); + Long endTime = endDay.getTime(); + Long num11 = endTime - starTime;//鏃堕棿鎴� + //鍒ゆ柇缁撴潫鏃ユ湡璺濆綋鍓嶆棩鏈熻繕鏈夊涔� + + Credential cred = new Credential(this.SecretId, this.SecretKey); + HttpProfile httpProfile = new HttpProfile(); + httpProfile.setEndpoint("sms.tencentcloudapi.com"); + ClientProfile clientProfile = new ClientProfile(); + clientProfile.setHttpProfile(httpProfile); + SmsClient client = new SmsClient(cred, "ap-beijing", clientProfile); + SendSmsRequest req = new SendSmsRequest(); + String[] phoneNumberSet1 = new String[]{phone}; + req.setPhoneNumberSet(phoneNumberSet1); + + req.setSmsSdkAppId("1400838975"); + req.setSignName("鍖椾含鍗庢槦鍖楁枟鏅烘帶"); + req.setTemplateId("2089627"); + + String[] templateParamSet1 = {String.valueOf("鏈変娇鐢ㄧ殑鐗╄仈缃戝崱杩樻湁"+num11 / 24 / 60 / 60 / 1000),String.valueOf(enddate)}; + req.setTemplateParamSet(templateParamSet1); + // 杩斿洖鐨剅esp鏄竴涓猄endSmsResponse鐨勫疄渚嬶紝涓庤姹傚璞″搴� + SendSmsResponse resp = client.SendSms(req); + System.out.println(SendSmsResponse.toJsonString(resp)); + Company companyList = this.companyMapper.findAllcompanycompany(cardList.getCompany()); + companyList.setSenddate(s); + //鍙戦�佺煭淇″悗淇敼鍏徃鍙戦�佺煭淇″瓧娈靛拰鏃ユ湡瀛楁 + QueryWrapper queryWrapper2 = new QueryWrapper(); + queryWrapper2.eq("companyId", companyList.getCompanyid()); + companyMapper.update(companyList, queryWrapper2); + // 杈撳嚭json鏍煎紡鐨勫瓧绗︿覆鍥炲寘 + Duanxinlog duanxinlog = new Duanxinlog(); + duanxinlog.setIdentification(cardList.getCardnumber()); + duanxinlog.setReceiver(cardList.getCompany()); + duanxinlog.setNumber(phone); + duanxinlog.setContent("鎮ㄦ湁浣跨敤鐨勭墿鑱旂綉鍗¤繕鏈�"+num11 / 24 / 60 / 60 / 1000+"澶╁嵆灏嗗埌鏈燂紝璇峰湪" + cardList.getEnddate() + "涔嬪墠缁垂锛屽宸茬画璐瑰拷鐣ヨ鎻愮ず淇℃伅锛屾嫆鏀惰鍥炲R" + ); + this.duanxinlogService.addDuanxinlog(duanxinlog); + ModelAndView modelAndView = new ModelAndView(); + if (Objects.equals(vname, "index")){ + modelAndView.setViewName("/page/index1.jsp"); + }else{ + modelAndView.setViewName("/page/XinXi.jsp"); + } + + return modelAndView; + } + + + + @PostMapping({"sendfuwu"}) + public ModelAndView sendfuwu(String phone,Integer id,String vname) throws Exception { + SimpleDateFormat date2 = new SimpleDateFormat("yyyy-MM-dd"); + Date date = new Date(); + String s = date2.format(date); + QueryWrapper queryWrapper = new QueryWrapper(); + queryWrapper.eq("none", "0"); + queryWrapper.eq("id", id); + TbFuwuqi fuwuqiList = (tbFuwuqiMapper).selectOne(queryWrapper); + + Credential cred = new Credential(this.SecretId, this.SecretKey); + HttpProfile httpProfile = new HttpProfile(); + httpProfile.setEndpoint("sms.tencentcloudapi.com"); + ClientProfile clientProfile = new ClientProfile(); + clientProfile.setHttpProfile(httpProfile); + SmsClient client = new SmsClient(cred, "ap-beijing", clientProfile); + SendSmsRequest req = new SendSmsRequest(); + String[] phoneNumberSet1 = new String[]{phone}; + req.setPhoneNumberSet(phoneNumberSet1); + + req.setSmsSdkAppId("1400838975"); + req.setSignName("鍖椾含鍗庢槦鍖楁枟鏅烘帶"); + req.setTemplateId("2100321"); + String[] templateParamSet1 = {String.valueOf("鎮ㄦ湁鏈嶅姟鍣ㄥ皢浜庯細" + fuwuqiList.getEnddate() + "鍒版湡锛�")}; + req.setTemplateParamSet(templateParamSet1); + // 杩斿洖鐨剅esp鏄竴涓猄endSmsResponse鐨勫疄渚嬶紝涓庤姹傚璞″搴� + SendSmsResponse resp = client.SendSms(req); + System.out.println(SendSmsResponse.toJsonString(resp)); + Company companyList = this.companyMapper.findAllcompanycompany(fuwuqiList.getCompany()); + companyList.setSenddate(s); + //鍙戦�佺煭淇″悗淇敼鍏徃鍙戦�佺煭淇″瓧娈靛拰鏃ユ湡瀛楁 + QueryWrapper queryWrapper2 = new QueryWrapper(); + queryWrapper2.eq("companyId", companyList.getCompanyid()); + companyMapper.update(companyList, queryWrapper2); + // 杈撳嚭json鏍煎紡鐨勫瓧绗︿覆鍥炲寘 + Duanxinlog duanxinlog = new Duanxinlog(); + duanxinlog.setIdentification(fuwuqiList.getServername()); + duanxinlog.setReceiver(fuwuqiList.getCompany()); + duanxinlog.setNumber(phone); + duanxinlog.setContent("灏婃暚鐨勭敤鎴凤紝鎮ㄥソ锛佹偍鏈夋湇鍔″櫒灏嗕簬" + fuwuqiList.getEnddate() + "鍒版湡锛屼负閬垮厤褰卞搷鎮ㄧ殑姝e父浣跨敤璇峰強鏃剁画璐癸紝鎮ㄥ彲鐧诲綍鍗庢槦鏅烘帶鍏徃鐗╄仈缃戠鐞嗗钩鍙版煡璇㈣鎯呯画璐癸紝濡傛湁鐤戦棶鍙挩璇㈡垜鍏徃瀹㈡湇浜哄憳锛岀鎮ㄧ敓娲绘剦蹇紒" + ); + this.duanxinlogService.addDuanxinlog(duanxinlog); + ModelAndView modelAndView = new ModelAndView(); + if (Objects.equals(vname, "index")){ + modelAndView.setViewName("/page/Fuwuqi.jsp"); + }else{ + modelAndView.setViewName("/page/XinXi.jsp"); + } + + return modelAndView; + } } -- Gitblit v1.9.3