// // Source code recreated from a .class file by IntelliJ IDEA // (powered by FernFlower decompiler) // package com.flow.controller; import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; import com.flow.mapper.*; import com.flow.pojo.*; import com.flow.service.CardService; import com.flow.service.ChongZhiService; import com.flow.service.DuanxinlogService; import com.flow.service.TbFuwuqiService; import com.flow.util.DESUtil; import com.tencentcloudapi.common.Credential; import com.tencentcloudapi.common.exception.TencentCloudSDKException; 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 java.io.IOException; import java.text.DecimalFormat; import java.text.ParseException; import java.text.SimpleDateFormat; import java.time.LocalDateTime; import java.time.format.DateTimeFormatter; import java.util.ArrayList; import java.util.Calendar; import java.util.Date; import java.util.List; import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse; import org.springframework.beans.factory.annotation.Autowired; 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; @RestController @RequestMapping({"/order"}) public class orderController { private String SecretId = "AKIDrjZOI4e6KLZu9FAsSRN8eOwSt52lbMBz"; private String SecretKey = "xnRtHUL3YqdMyOLVSBjKkz1pQoxujS4d"; @Autowired CardService cardService; @Autowired ChongZhiService chongZhiService; @Autowired TbFuwuqiService tbFuwuqiService; @Autowired CardMapper cardMapper; @Autowired DuanxinlogService duanxinlogService; @Autowired ManagerMapper managerMapper; @Autowired CompanyMapper companyMapper; public orderController() { } @PostMapping({"payed"}) public void changeOrder(HttpServletRequest request, HttpServletResponse response) throws ParseException, IOException { LocalDateTime currentTime = LocalDateTime.now(); System.out.println(currentTime); DateTimeFormatter formatter = DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm:ss"); String out_trade_no = request.getParameter("out_trade_no"); double money = Double.parseDouble(request.getParameter("total_amount")); String formattedTime = currentTime.format(formatter); System.out.println(formattedTime); String card = request.getParameter("body"); String[] values = card.split(","); double mones = (double) values.length * money; DecimalFormat decimalFormat = new DecimalFormat("#.##"); String formattedMones = decimalFormat.format(mones); double result = Double.parseDouble(formattedMones) * 0.06; String formattedResult = decimalFormat.format(result); double finalResult = Double.parseDouble(formattedMones) - Double.parseDouble(formattedResult); String kaiMoney = decimalFormat.format(finalResult); String[] var21 = values; int var22 = values.length; List list = new ArrayList<>(); for (int var23 = 0; var23 < var22; ++var23) { String value = var21[var23]; Card card1 = new Card(); card1.setRechargedate(formattedTime); // card1.setRechargemoney(String.valueOf(money)); QueryWrapper queryWrapper = new QueryWrapper(); queryWrapper.eq("num", (long) Integer.parseInt(value)); Card card12 = cardMapper.selectOne(queryWrapper); SimpleDateFormat sfd = new SimpleDateFormat("yyyy-MM-dd"); Date date = new Date(); Date endDay = sfd.parse(card12.getEnddate());//结束时间 card1.setRechargemoney(card12.getUnitprice().toString()); Long starTime = date.getTime(); Long endTime = endDay.getTime(); Long num11 = endTime - starTime; if ((num11 / 24 / 60 / 60 / 1000) < 0) { LocalDateTime currentTime1 = LocalDateTime.now(); DateTimeFormatter formatter1 = DateTimeFormatter.ofPattern("yyyy-MM-dd"); String formattedTime1 = currentTime1.format(formatter1); Calendar calendar = Calendar.getInstance(); Date date1 = sfd.parse(formattedTime1); calendar.setTime(date1); calendar.add(Calendar.YEAR, 1); String newdate = sfd.format(calendar.getTime()); card1.setEnddate(newdate); } else { Calendar calendar = Calendar.getInstance(); Date date1 = sfd.parse(card12.getEnddate()); calendar.setTime(date1); calendar.add(Calendar.YEAR, 1); String newdate = sfd.format(calendar.getTime()); card1.setEnddate(newdate); } String s = card12.getRemainingdays().split("天")[0]; Integer i = Integer.parseInt(s) + 365; card1.setRemainingdays(i + "天"); System.out.println(value); card1.setNum((long) Integer.parseInt(value)); System.out.println(card1); list.add(card1); // this.cardService.UpdateCardNum(card1); } cardMapper.updateBatchByIdcz(list); System.out.println("充值记录"); String value1 = request.getParameter("subject"); System.out.println(value1); Chongzhi chongzhi; if (value1 != null && value1 != "") { chongzhi = new Chongzhi(); chongzhi.setCzcard(card); chongzhi.setCzmoney(String.valueOf(money)); chongzhi.setJynum(out_trade_no); chongzhi.setCzdate(formattedTime); chongzhi.setStatus("未开票"); chongzhi.setKaimoney(String.valueOf(money)); chongzhi.setCompany(value1); this.chongZhiService.addChongZhi(chongzhi); } else { chongzhi = new Chongzhi(); chongzhi.setCzcard(card); chongzhi.setCzmoney(String.valueOf(money)); chongzhi.setJynum(out_trade_no); chongzhi.setCzdate(formattedTime); chongzhi.setCompany("无"); chongzhi.setStatus("未开票"); chongzhi.setKaimoney(String.valueOf(money)); this.chongZhiService.addChongZhi(chongzhi); } System.out.println("添加成功"); try { 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[]{"15210640466"}; req.setPhoneNumberSet(phoneNumberSet1); String string = new String(); QueryWrapper sms = new QueryWrapper(); sms.eq("none", "0"); sms.eq("smsreception", "1"); List 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(); 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("1907853"); // String[] templateParamSet1 = {String.valueOf(+num11 / 24 / 60 / 60 / 1000)}; String[] templateParamSet1 = new String[]{value1, formattedTime, String.valueOf(money), String.valueOf(values.length)}; req.setTemplateParamSet(templateParamSet1); // 返回的resp是一个SendSmsResponse的实例,与请求对象对应 SendSmsResponse resp = client.SendSms(req); } QueryWrapper queryWrapper = new QueryWrapper(); queryWrapper.eq("companyName", value1); queryWrapper.eq("none", 0); Company company = companyMapper.selectOne(queryWrapper); // company.getLoginphone().split("[,,]") String loginphone = DESUtil.decrypt(company.getLoginphone(), DESUtil.key); for (int i = 0; i < loginphone.split("[,,]").length; i++) { // for (int j = 0; j < phone.split("[,,]").length; j++) { String[] phoneNumberSet11 = {loginphone.split("[,,]")[i]}; req.setPhoneNumberSet(phoneNumberSet11); req.setSmsSdkAppId("1400838975"); req.setSignName("北京华星北斗智控"); req.setTemplateId("1907853"); String[] templateParamSet1 = new String[]{value1, formattedTime, String.valueOf(money), String.valueOf(values.length)}; req.setTemplateParamSet(templateParamSet1); SendSmsResponse resp = client.SendSms(req); System.out.println(SendSmsResponse.toJsonString(resp)); // 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(value1); duanxinlog.setReceiver(value1); duanxinlog.setNumber(loginphone.split("[,,]")[i]); duanxinlog.setContent("公司名称:" + value1 + ",充值时间:" + formattedTime + ",充值总金额:" + String.valueOf(formattedMones) + ",充值卡号数量:" + String.valueOf(values.length)); this.duanxinlogService.addDuanxinlog(duanxinlog); // } } req.setSmsSdkAppId("1400838975"); req.setSignName("北京华星北斗智控"); req.setTemplateId("1907853"); String[] templateParamSet1 = new String[]{value1, formattedTime, String.valueOf(money), String.valueOf(values.length)}; req.setTemplateParamSet(templateParamSet1); SendSmsResponse resp = client.SendSms(req); System.out.println(SendSmsResponse.toJsonString(resp)); Duanxinlog duanxinlog = new Duanxinlog(); duanxinlog.setIdentification(value1); duanxinlog.setReceiver(value1); duanxinlog.setNumber(string); duanxinlog.setContent("公司名称:" + value1 + ",充值时间:" + formattedTime + ",充值总金额:" + String.valueOf(formattedMones) + ",充值卡号数量:" + String.valueOf(values.length)); this.duanxinlogService.addDuanxinlog(duanxinlog); } catch (TencentCloudSDKException var30) { System.out.println(var30.toString()); response.getWriter().println("success"); } catch (Exception e) { throw new RuntimeException(e); } response.getWriter().println("success"); } @PostMapping({"payedFuwuqi"}) public void changeOrderFuwuqi(HttpServletRequest request, HttpServletResponse response) throws ParseException, IOException { LocalDateTime currentTime = LocalDateTime.now(); DateTimeFormatter formatter = DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm:ss"); String out_trade_no = request.getParameter("out_trade_no"); double money = Double.parseDouble(request.getParameter("total_amount")); // double money = 0.02; String formattedTime = currentTime.format(formatter); System.out.println("6666666666"); System.out.println(money); System.out.println(formattedTime); String card = request.getParameter("body"); System.out.println(card); // String card = "北京华星北斗智控技术有限公司"; String[] values = card.split(","); double mones = (double) values.length * money; DecimalFormat decimalFormat = new DecimalFormat("#.##"); String formattedMones = decimalFormat.format(mones); double result = Double.parseDouble(formattedMones) * 0.06; String formattedResult = decimalFormat.format(result); double finalResult = Double.parseDouble(formattedMones) - Double.parseDouble(formattedResult); String kaiMoney = decimalFormat.format(finalResult); String[] var21 = values; int var22 = values.length; for (int var23 = 0; var23 < var22; ++var23) { String value = var21[var23]; System.out.println(value); TbFuwuqi tbFuwuqi = new TbFuwuqi(); tbFuwuqi.setRechargedate(formattedTime); System.out.println(String.valueOf(money)); tbFuwuqi.setRechargemoney(String.valueOf(money)); tbFuwuqi.setServername(value); // QueryWrapper queryWrapper = new QueryWrapper(); // queryWrapper.eq("servername", value); TbFuwuqi tbFuwuqi1 = tbFuwuqiService.ifFuwuqi(tbFuwuqi); // tbFuwuqi.setCompany("北京华星北斗智控技术有限公司"); tbFuwuqi.setCompany(tbFuwuqi1.getCompany()); System.out.println(tbFuwuqi); this.tbFuwuqiService.Updatefuwuqi(tbFuwuqi); } System.out.println("充值记录"); String value1 = request.getParameter("subject"); System.out.println(value1); Chongzhi chongzhi; if (value1 != null && value1 != "") { chongzhi = new Chongzhi(); chongzhi.setCzcard(card); chongzhi.setCzmoney(formattedMones); chongzhi.setJynum(out_trade_no); chongzhi.setCzdate(formattedTime); chongzhi.setStatus("未开票"); chongzhi.setKaimoney(kaiMoney); chongzhi.setCompany(value1); this.chongZhiService.addChongZhi(chongzhi); } else { chongzhi = new Chongzhi(); chongzhi.setCzcard(card); chongzhi.setCzmoney(formattedMones); chongzhi.setJynum(out_trade_no); chongzhi.setCzdate(formattedTime); chongzhi.setCompany("无"); chongzhi.setStatus("未开票"); chongzhi.setKaimoney(kaiMoney); this.chongZhiService.addChongZhi(chongzhi); } System.out.println("添加成功"); try { 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[]{"15210640466"}; QueryWrapper sms = new QueryWrapper(); sms.eq("none", "0"); sms.eq("smsreception", "1"); List 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("1907853"); // String[] templateParamSet1 = {String.valueOf(+num11 / 24 / 60 / 60 / 1000)}; String[] templateParamSet1 = new String[]{value1, formattedTime, String.valueOf(money), String.valueOf(values.length)}; req.setTemplateParamSet(templateParamSet1); // 返回的resp是一个SendSmsResponse的实例,与请求对象对应 SendSmsResponse resp = client.SendSms(req); } QueryWrapper queryWrapper = new QueryWrapper(); queryWrapper.eq("companyName", value1); queryWrapper.eq("none", 0); Company company = companyMapper.selectOne(queryWrapper); // company.getLoginphone().split("[,,]") String loginphone = DESUtil.decrypt(company.getLoginphone(), DESUtil.key); for (int i = 0; i < loginphone.split("[,,]").length; i++) { // for (int j = 0; j < phone.split("[,,]").length; j++) { String[] phoneNumberSet11 = {loginphone.split("[,,]")[i]}; req.setPhoneNumberSet(phoneNumberSet11); req.setSmsSdkAppId("1400838975"); req.setSignName("北京华星北斗智控"); req.setTemplateId("1907853"); String[] templateParamSet1 = new String[]{value1, formattedTime, String.valueOf(money), String.valueOf(values.length)}; req.setTemplateParamSet(templateParamSet1); SendSmsResponse resp = client.SendSms(req); System.out.println(SendSmsResponse.toJsonString(resp)); // 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(value1); duanxinlog.setReceiver(value1); duanxinlog.setNumber(loginphone.split("[,,]")[i]); duanxinlog.setContent("公司名称:" + value1 + ",充值时间:" + formattedTime + ",充值总金额:" + String.valueOf(formattedMones) + ",充值卡号数量:" + String.valueOf(values.length)); this.duanxinlogService.addDuanxinlog(duanxinlog); // } } req.setPhoneNumberSet(phoneNumberSet1); req.setSmsSdkAppId("1400838975"); req.setSignName("北京华星北斗智控"); req.setTemplateId("1907853"); String[] templateParamSet1 = new String[]{value1, formattedTime, String.valueOf(formattedMones), String.valueOf(values.length)}; req.setTemplateParamSet(templateParamSet1); SendSmsResponse resp = client.SendSms(req); System.out.println(SendSmsResponse.toJsonString(resp)); Duanxinlog duanxinlog = new Duanxinlog(); duanxinlog.setIdentification(value1); duanxinlog.setReceiver(value1); duanxinlog.setNumber(phoneNumberSet1[0]); duanxinlog.setContent("公司名称:" + value1 + ",充值时间:" + formattedTime + ",充值总金额:" + String.valueOf(formattedMones) + ",充值卡号数量:" + String.valueOf(values.length)); this.duanxinlogService.addDuanxinlog(duanxinlog); } catch (TencentCloudSDKException var30) { System.out.println(var30.toString()); response.getWriter().println("success"); } catch (Exception e) { throw new RuntimeException(e); } response.getWriter().println("success"); } }