//
|
// 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.CardMapper;
|
import com.flow.mapper.DuanxinlogMapper;
|
import com.flow.mapper.ManagerMapper;
|
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.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;
|
public orderController() {
|
}
|
|
@PostMapping({"payed"})
|
public void changeOrder(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"));
|
String formattedTime = currentTime.format(formatter);
|
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= sfd.parse(card12.getEnddate());
|
Calendar calendar = Calendar.getInstance();
|
calendar.setTime(date);
|
calendar.add(Calendar.YEAR, 1);
|
String newdate = sfd.format(calendar.getTime());
|
card1.setEnddate(newdate);
|
|
Date date1= sfd.parse(card12.getRemainingdays());
|
Calendar calendar1 = Calendar.getInstance();
|
calendar1.setTime(date1);
|
calendar1.add(Calendar.YEAR, 1);
|
String newdate1 = sfd.format(calendar.getTime());
|
card1.setRemainingdays(newdate1);
|
// card1.setCardnumber(value);
|
System.out.println(value);
|
|
// QueryWrapper queryWrapper = new QueryWrapper();
|
// queryWrapper.eq("cardnumber", value);
|
// Card card2 = cardMapper.selectOne(queryWrapper);
|
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);
|
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);
|
}
|
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(phoneNumberSet1[0]);
|
// duanxinlog.setContent("尊敬的用户,您好!您有流量卡将于"+cardList.get(i).getEnddate()+"到期,为避免影响您的正常使用请及时续费,您可登录华星智控公司物联网管理平台查询详情续费,如有疑问可咨询我公司客服人员,祝您生活愉快!"
|
// );
|
this.duanxinlogService.addDuanxinlog(duanxinlog);
|
} catch (TencentCloudSDKException var30) {
|
System.out.println(var30.toString());
|
response.getWriter().println("success");
|
}
|
|
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);
|
String card = request.getParameter("body");
|
// 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);
|
tbFuwuqi.setRechargemoney(String.valueOf(money));
|
|
tbFuwuqi.setCompany("北京华星北斗智控技术有限公司");
|
tbFuwuqi.setCompany(value);
|
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);
|
}
|
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("尊敬的用户,您好!您有流量卡将于"+cardList.get(i).getEnddate()+"到期,为避免影响您的正常使用请及时续费,您可登录华星智控公司物联网管理平台查询详情续费,如有疑问可咨询我公司客服人员,祝您生活愉快!"
|
// );
|
this.duanxinlogService.addDuanxinlog(duanxinlog);
|
} catch (TencentCloudSDKException var30) {
|
System.out.println(var30.toString());
|
response.getWriter().println("success");
|
}
|
|
response.getWriter().println("success");
|
}
|
}
|