From e15f561a1f9eddfde503d59baf45a860b131928e Mon Sep 17 00:00:00 2001
From: fei.wang <wf18701153496@163.com>
Date: 星期三, 13 八月 2025 14:22:50 +0800
Subject: [PATCH] 更新最新版代码

---
 src/main/java/com/flow/controller/orderController.java |  415 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
 1 files changed, 415 insertions(+), 0 deletions(-)

diff --git a/src/main/java/com/flow/controller/orderController.java b/src/main/java/com/flow/controller/orderController.java
new file mode 100644
index 0000000..044ecbb
--- /dev/null
+++ b/src/main/java/com/flow/controller/orderController.java
@@ -0,0 +1,415 @@
+//
+// 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);
+                // 杩斿洖鐨剅esp鏄竴涓猄endSmsResponse鐨勫疄渚嬶紝涓庤姹傚璞″搴�
+                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);
+                    // 杩斿洖鐨剅esp鏄竴涓猄endSmsResponse鐨勫疄渚嬶紝涓庤姹傚璞″搴�
+//                    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);
+                // 杩斿洖鐨剅esp鏄竴涓猄endSmsResponse鐨勫疄渚嬶紝涓庤姹傚璞″搴�
+                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);
+                // 杩斿洖鐨剅esp鏄竴涓猄endSmsResponse鐨勫疄渚嬶紝涓庤姹傚璞″搴�
+//                    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");
+    }
+}

--
Gitblit v1.9.3