//
|
// 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<Card> 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<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();
|
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<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("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");
|
}
|
}
|