From 871d4095b07cedacb7fbef4c38d64982f539c404 Mon Sep 17 00:00:00 2001 From: fei.wang <wf18701153496@163.com> Date: 星期四, 09 五月 2024 15:40:15 +0800 Subject: [PATCH] 测试提交 --- src/main/java/com/flow/controller/DuanxinlogController.java | 287 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++ 1 files changed, 287 insertions(+), 0 deletions(-) diff --git a/src/main/java/com/flow/controller/DuanxinlogController.java b/src/main/java/com/flow/controller/DuanxinlogController.java new file mode 100644 index 0000000..63517cb --- /dev/null +++ b/src/main/java/com/flow/controller/DuanxinlogController.java @@ -0,0 +1,287 @@ +package com.flow.controller; + +import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; +import com.flow.mapper.*; +import com.flow.pojo.*; +import com.flow.service.DuanxinlogService; +import com.flow.service.TbFuwuqiService; +import com.flow.util.DESUtil; +import com.flow.util.result; +import com.flow.util.resultutil; +import com.github.pagehelper.PageInfo; +import com.tencentcloudapi.common.Credential; +import com.tencentcloudapi.common.profile.ClientProfile; +import com.tencentcloudapi.common.profile.HttpProfile; +import com.tencentcloudapi.sms.v20210111.SmsClient; +import com.tencentcloudapi.sms.v20210111.models.SendSmsRequest; +import com.tencentcloudapi.sms.v20210111.models.SendSmsResponse; +import org.springframework.beans.factory.annotation.Autowired; +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; +import java.util.List; + +@RestController +@RequestMapping({"/hxzk"}) +@Component +public class DuanxinlogController { + + private String SecretId = "AKIDrjZOI4e6KLZu9FAsSRN8eOwSt52lbMBz"; + private String SecretKey = "xnRtHUL3YqdMyOLVSBjKkz1pQoxujS4d"; + @Autowired + DuanxinlogService duanxinlogService; + + @Autowired + CardMapper cardMapper; + @Autowired + TbFuwuqiMapper tbFuwuqiMapper; + @Autowired + DuanxinlogMapper duanxinlogMapper; + + @Autowired + TbFuwuqiService tbFuwuqiService; + + @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; + + } + + /* + * 鍑芥暟鍚� : smsfuwuqi + * 璇存槑 : + 鏈嶅姟鍣� + 鏌ヨ鎵�鏈夋湇鍔″櫒鏁版嵁 + 鏍规嵁鍏徃鍚嶇О鏌ヨ鐢佃瘽 + 浣跨敤褰撳墠鏃堕棿鍑忓幓缁撴潫鏃堕棿 + 浣跨敤鍙风爜鏌ヨ鐭俊琛ㄥ彇鍑哄彂閫佹棩鏈燂紝濡傛灉褰撳墠鏃ユ湡澶т簬鍙戦�佹棩鏈� + 鍙戦�佺煭淇� + * 杩斿洖鍊� : 鏃� + * 浣滆�� : 鐜嬮 +// * 鏃ユ湡 : 2024骞�2鏈�28鏃� + */ +// @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); + for (int i = 0; i < fuwuqiList.size(); i++) { + QueryWrapper queryWrapper3 = new QueryWrapper(); + 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"); + Date date = new Date(); + Date endDay = date2.parse(fuwuqiList.get(i).getEnddate());//缁撴潫鏃堕棿 + Long starTime = date.getTime(); + Long endTime = endDay.getTime(); + 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(fuwuqiList.get(i).getServername()); + SimpleDateFormat formatter = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss"); + String dtext = formatter.format(date); + if (dispatchDate == null || !dtext.equals(dispatchDate)) { + + // 瀹炰緥鍖栦竴涓璇佸璞★紝鍏ュ弬闇�瑕佷紶鍏ヨ吘璁簯璐︽埛 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("2100321"); + +// 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); + } + req.setPhoneNumberSet(phoneNumberSet1); + + 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); + // 杩斿洖鐨剅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); + } + } + + } + } + + + /* + * 鍑芥暟鍚� : sms + * 璇存槑 : 鏌ヨ鎵�鏈夊崱鍙锋暟鎹� + 浣跨敤褰撳墠鏃堕棿鍑忓幓缁撴潫鏃堕棿 + 浣跨敤鍙风爜鏌ヨ鐭俊琛ㄥ彇鍑哄彂閫佹棩鏈燂紝濡傛灉褰撳墠鏃ユ湡澶т簬鍙戦�佹棩鏈� + 鍙戦�佺煭淇� + 鍙戦�佺煭淇� + + * 杩斿洖鍊� : 鏃� + * 浣滆�� : 鐜嬮 +// * 鏃ユ湡 : 2024骞�2鏈�28鏃� + */ +// @EnableScheduling +// @Scheduled(cron = "*/10 * * * * ?")//娴嬭瘯10绉掓墽琛屼竴娆� +// @Scheduled(cron = "0 49 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", "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 HH:mm:ss"); + Date date = new Date(); + Date endDay = date2.parse(cardList.get(i).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"); + String dtext = formatter.format(date); + if (dispatchDate == null || !dtext.equals(dispatchDate)) { + 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); + 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); + // 杩斿洖鐨剅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(phoneNumberSet1[0]); + duanxinlog.setContent("灏婃暚鐨勭敤鎴凤紝鎮ㄥソ锛佹偍鏈夋祦閲忓崱灏嗕簬"+cardList.get(i).getEnddate()+"鍒版湡锛屼负閬垮厤褰卞搷鎮ㄧ殑姝e父浣跨敤璇峰強鏃剁画璐癸紝鎮ㄥ彲鐧诲綍鍗庢槦鏅烘帶鍏徃鐗╄仈缃戠鐞嗗钩鍙版煡璇㈣鎯呯画璐癸紝濡傛湁鐤戦棶鍙挩璇㈡垜鍏徃瀹㈡湇浜哄憳锛岀鎮ㄧ敓娲绘剦蹇紒" + ); + this.duanxinlogService.addDuanxinlog(duanxinlog); + } + } + + } + } + +} -- Gitblit v1.9.3