¶Ô±ÈÐÂÎļþ |
| | |
| | | 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.*; |
| | | |
| | | @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"); |
| | | String dtext = formatter.format(date); |
| | | if (dispatchDate == null || !dtext.equals(dispatchDate)) { |
| | | // å®ä¾åä¸ä¸ªè®¤è¯å¯¹è±¡ï¼å
¥åéè¦ä¼ å
¥è
¾è®¯äºè´¦æ· SecretId å SecretKeyï¼æ¤å¤è¿é注æå¯é¥å¯¹çä¿å¯ |
| | | // ä»£ç æ³é²å¯è½ä¼å¯¼è´ SecretId å SecretKey æ³é²ï¼å¹¶å¨èè´¦å·ä¸ææèµæºçå®å
¨æ§ã以ä¸ä»£ç 示ä¾ä»
ä¾åèï¼å»ºè®®éç¨æ´å®å
¨çæ¹å¼æ¥ä½¿ç¨å¯é¥ï¼è¯·åè§ï¼https://cloud.tencent.com/document/product/1278/85305 |
| | | // å¯é¥å¯åå¾å®ç½æ§å¶å° https://console.cloud.tencent.com/cam/capi è¿è¡è·å |
| | | Credential cred = new Credential(SecretId, SecretKey); |
| | | // å®ä¾åä¸ä¸ªhttpé项ï¼å¯éçï¼æ²¡æç¹æ®éæ±å¯ä»¥è·³è¿ |
| | | HttpProfile httpProfile = new HttpProfile(); |
| | | httpProfile.setEndpoint("sms.tencentcloudapi.com"); |
| | | // å®ä¾åä¸ä¸ªclienté项ï¼å¯éçï¼æ²¡æç¹æ®éæ±å¯ä»¥è·³è¿ |
| | | ClientProfile clientProfile = new ClientProfile(); |
| | | clientProfile.setHttpProfile(httpProfile); |
| | | // å®ä¾åè¦è¯·æ±äº§åçclient对象,clientProfileæ¯å¯éç |
| | | SmsClient client = new SmsClient(cred, "ap-beijing", clientProfile); |
| | | // å®ä¾åä¸ä¸ªè¯·æ±å¯¹è±¡,æ¯ä¸ªæ¥å£é½ä¼å¯¹åºä¸ä¸ªrequest对象 |
| | | 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"); |
| | | 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); |
| | | // è¾åº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()+"å°æï¼ä¸ºé¿å
å½±åæ¨çæ£å¸¸ä½¿ç¨è¯·åæ¶ç»è´¹ï¼æ¨å¯ç»å½åææºæ§å
¬å¸ç©èç½ç®¡ç平尿¥è¯¢è¯¦æ
ç»è´¹ï¼å¦æçé®å¯å¨è¯¢æå
¬å¸å®¢æäººåï¼ç¥æ¨çæ´»æå¿«ï¼"); |
| | | this.duanxinlogService.addDuanxinlog(duanxinlog); |
| | | } |
| | | } |
| | | |
| | | } |
| | | } |
| | | |
| | | |
| | | /* |
| | | * 彿°å : sms |
| | | * 说æ : æ¥è¯¢ææå¡å·æ°æ® |
| | | 使ç¨å½åæ¶é´åå»ç»ææ¶é´ |
| | | 使ç¨å·ç æ¥è¯¢ç信表ååºå鿥æï¼å¦æå½åæ¥æå¤§äºå鿥æ |
| | | åéçä¿¡ |
| | | åéçä¿¡ |
| | | |
| | | * è¿åå¼ : æ |
| | | * ä½è
: çé£ |
| | | // * æ¥æ : 2024å¹´2æ28æ¥ |
| | | */ |
| | | // @EnableScheduling |
| | | // @Scheduled(cron = "*/10 * * * * ?")//æµè¯10ç§æ§è¡ä¸æ¬¡ |
| | | // @Scheduled(cron = "0 11 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", "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;//æ¶é´æ³ |
| | | |
| | | 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ï¼æ¤å¤è¿é注æå¯é¥å¯¹çä¿å¯ |
| | | // ä»£ç æ³é²å¯è½ä¼å¯¼è´ SecretId å SecretKey æ³é²ï¼å¹¶å¨èè´¦å·ä¸ææèµæºçå®å
¨æ§ã以ä¸ä»£ç 示ä¾ä»
ä¾åèï¼å»ºè®®éç¨æ´å®å
¨çæ¹å¼æ¥ä½¿ç¨å¯é¥ï¼è¯·åè§ï¼https://cloud.tencent.com/document/product/1278/85305 |
| | | // å¯é¥å¯åå¾å®ç½æ§å¶å° https://console.cloud.tencent.com/cam/capi è¿è¡è·å |
| | | Credential cred = new Credential(SecretId, SecretKey); |
| | | // å®ä¾åä¸ä¸ªhttpé项ï¼å¯éçï¼æ²¡æç¹æ®éæ±å¯ä»¥è·³è¿ |
| | | HttpProfile httpProfile = new HttpProfile(); |
| | | httpProfile.setEndpoint("sms.tencentcloudapi.com"); |
| | | // å®ä¾åä¸ä¸ªclienté项ï¼å¯éçï¼æ²¡æç¹æ®éæ±å¯ä»¥è·³è¿ |
| | | ClientProfile clientProfile = new ClientProfile(); |
| | | clientProfile.setHttpProfile(httpProfile); |
| | | // å®ä¾åè¦è¯·æ±äº§åçclient对象,clientProfileæ¯å¯éç |
| | | SmsClient client = new SmsClient(cred, "ap-beijing", clientProfile); |
| | | // å®ä¾åä¸ä¸ªè¯·æ±å¯¹è±¡,æ¯ä¸ªæ¥å£é½ä¼å¯¹åºä¸ä¸ªrequest对象 |
| | | 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); |
| | | // è¿åç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"); |
| | | 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); |
| | | 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()+"å°æï¼ä¸ºé¿å
å½±åæ¨çæ£å¸¸ä½¿ç¨è¯·åæ¶ç»è´¹ï¼æ¨å¯ç»å½åææºæ§å
¬å¸ç©èç½ç®¡ç平尿¥è¯¢è¯¦æ
ç»è´¹ï¼å¦æçé®å¯å¨è¯¢æå
¬å¸å®¢æäººåï¼ç¥æ¨çæ´»æå¿«ï¼" |
| | | ); |
| | | this.duanxinlogService.addDuanxinlog(duanxinlog); |
| | | } |
| | | } |
| | | |
| | | } |
| | | } |
| | | |
| | | } |