fei.wang
2024-05-13 b9b58b9ef261cb290d93465f88a2cbd814b576f0
src/main/java/com/flow/controller/orderController.java
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,313 @@
//
// 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("公司名称:"+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");
        }
        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("公司名称:"+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");
        }
        response.getWriter().println("success");
    }
}