fei.wang
7 天以前 e15f561a1f9eddfde503d59baf45a860b131928e
src/main/java/com/flow/controller/orderController.java
@@ -5,12 +5,14 @@
package com.flow.controller;
import com.flow.pojo.Card;
import com.flow.pojo.Chongzhi;
import com.flow.pojo.TbFuwuqi;
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;
@@ -18,15 +20,20 @@
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;
@@ -46,19 +53,32 @@
    @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;
        double mones = (double) values.length * money;
        DecimalFormat decimalFormat = new DecimalFormat("#.##");
        String formattedMones = decimalFormat.format(mones);
        double result = Double.parseDouble(formattedMones) * 0.06;
@@ -67,15 +87,52 @@
        String kaiMoney = decimalFormat.format(finalResult);
        String[] var21 = values;
        int var22 = values.length;
        for(int var23 = 0; var23 < var22; ++var23) {
        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));
            card1.setCardnumber(value);
            this.cardService.UpdateCardNum(card1);
//            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");
@@ -84,22 +141,22 @@
        if (value1 != null && value1 != "") {
            chongzhi = new Chongzhi();
            chongzhi.setCzcard(card);
            chongzhi.setCzmoney(formattedMones);
            chongzhi.setCzmoney(String.valueOf(money));
            chongzhi.setJynum(out_trade_no);
            chongzhi.setCzdate(formattedTime);
            chongzhi.setStatus("未开票");
            chongzhi.setKaimoney(kaiMoney);
            chongzhi.setKaimoney(String.valueOf(money));
            chongzhi.setCompany(value1);
            this.chongZhiService.addChongZhi(chongzhi);
        } else {
            chongzhi = new Chongzhi();
            chongzhi.setCzcard(card);
            chongzhi.setCzmoney(formattedMones);
            chongzhi.setCzmoney(String.valueOf(money));
            chongzhi.setJynum(out_trade_no);
            chongzhi.setCzdate(formattedTime);
            chongzhi.setCompany("无");
            chongzhi.setStatus("未开票");
            chongzhi.setKaimoney(kaiMoney);
            chongzhi.setKaimoney(String.valueOf(money));
            this.chongZhiService.addChongZhi(chongzhi);
        }
@@ -115,16 +172,84 @@
            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(formattedMones), String.valueOf(values.length)};
            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");
@@ -138,10 +263,14 @@
        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;
        double mones = (double) values.length * money;
        DecimalFormat decimalFormat = new DecimalFormat("#.##");
        String formattedMones = decimalFormat.format(mones);
        double result = Double.parseDouble(formattedMones) * 0.06;
@@ -151,15 +280,20 @@
        String[] var21 = values;
        int var22 = values.length;
        for(int var23 = 0; var23 < var22; ++var23) {
        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.setCompany("北京华星北斗智控技术有限公司");
            tbFuwuqi.setCompany(value);
            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);
        }
@@ -200,6 +334,61 @@
            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("北京华星北斗智控");
@@ -208,9 +397,17 @@
            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");