From 2afa95337899f6482b90759fd06cb7b206b327cf Mon Sep 17 00:00:00 2001
From: puzhibing <393733352@qq.com>
Date: 星期五, 15 十二月 2023 14:45:03 +0800
Subject: [PATCH] 更新

---
 UserIGOTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/specialTrain/server/impl/OrderPrivateCarServiceImpl.java |  128 +++++++++++++++++++++++++-----------------
 1 files changed, 75 insertions(+), 53 deletions(-)

diff --git a/UserIGOTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/specialTrain/server/impl/OrderPrivateCarServiceImpl.java b/UserIGOTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/specialTrain/server/impl/OrderPrivateCarServiceImpl.java
index 6150e32..cd38bc4 100644
--- a/UserIGOTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/specialTrain/server/impl/OrderPrivateCarServiceImpl.java
+++ b/UserIGOTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/specialTrain/server/impl/OrderPrivateCarServiceImpl.java
@@ -827,8 +827,19 @@
         UserInfo userInfo = userInfoService.selectById(uid);
         map.put("balance", userInfo.getBalance());
         OrderPrivateCar orderPrivateCar = this.selectById(orderId);
-        int i = userCouponRecordService.queryAvailable(uid, orderPrivateCar.getCompanyId(), 1, 1, orderPrivateCar.getOrderMoney());
-        i = i + userCouponRecordService.queryAvailable(uid, orderPrivateCar.getCompanyId(), 1, 0, orderPrivateCar.getOrderMoney());
+        UserActivityDiscount1 query2 = userActivityDiscount1Mapper.query(orderPrivateCar.getCompanyId());
+        double v = orderPrivateCar.getOrderMoney();
+        if(null != query2){
+            Integer orderNum=this.selectCount(new EntityWrapper<OrderPrivateCar>().eq("userId",orderPrivateCar.getUserId()).eq("activityId",query2.getId()).last(" and to_days(getoffTime) = to_days(now())"));
+            if(query2.getDistance()*1000>orderPrivateCar.getMileage() && query2.getOrderNum()>orderNum){
+                Double special = query2.getSpecial();
+                orderPrivateCar.setDiscount(special);
+                Double orderMoney = orderPrivateCar.getOrderMoney();
+                v = new BigDecimal(orderMoney).multiply(new BigDecimal(special / 10)).setScale(2, BigDecimal.ROUND_HALF_EVEN).doubleValue();
+            }
+        }
+        int i = userCouponRecordService.queryAvailable(uid, orderPrivateCar.getCompanyId(), 1, 1, v);
+        i = i + userCouponRecordService.queryAvailable(uid, orderPrivateCar.getCompanyId(), 1, 0, v);
         map.put("coupon", i);
         return map;
     }
@@ -836,8 +847,19 @@
     @Override
     public List<Map<String, Object>> queryCoupon(Integer language, Integer orderId, Integer uid, Integer pageNum, Integer size) throws Exception {
         OrderPrivateCar orderPrivateCar = this.selectById(orderId);
-        List<Map<String, Object>> list = userCouponRecordService.queryCoupon(language, uid, orderPrivateCar.getCompanyId(), 1, 1, orderPrivateCar.getOrderMoney(), pageNum, size);
-        List<Map<String, Object>> list1 = userCouponRecordService.queryCoupon(language, uid, orderPrivateCar.getCompanyId(), 1, 0, orderPrivateCar.getOrderMoney(), pageNum, size);
+        UserActivityDiscount1 query2 = userActivityDiscount1Mapper.query(orderPrivateCar.getCompanyId());
+        double v = orderPrivateCar.getOrderMoney();
+        if(null != query2){
+            Integer orderNum=this.selectCount(new EntityWrapper<OrderPrivateCar>().eq("userId",orderPrivateCar.getUserId()).eq("activityId",query2.getId()).last(" and to_days(getoffTime) = to_days(now())"));
+            if(query2.getDistance()*1000>orderPrivateCar.getMileage() && query2.getOrderNum()>orderNum){
+                Double special = query2.getSpecial();
+                orderPrivateCar.setDiscount(special);
+                Double orderMoney = orderPrivateCar.getOrderMoney();
+                v = new BigDecimal(orderMoney).multiply(new BigDecimal(special / 10)).setScale(2, BigDecimal.ROUND_HALF_EVEN).doubleValue();
+            }
+        }
+        List<Map<String, Object>> list = userCouponRecordService.queryCoupon(language, uid, orderPrivateCar.getCompanyId(), 1, 1, v, pageNum, size);
+        List<Map<String, Object>> list1 = userCouponRecordService.queryCoupon(language, uid, orderPrivateCar.getCompanyId(), 1, 0, v, pageNum, size);
         list.addAll(list1);
         return list;
     }
@@ -860,6 +882,22 @@
         ResultUtil resultUtil = ResultUtil.success("");
         orderPrivateCar.setCouponMoney(0D);//初始化历史数据
         orderPrivateCar.setCouponId(null);
+
+        //计算折扣
+        UserActivityDiscount1 query2 = userActivityDiscount1Mapper.query(orderPrivateCar.getCompanyId());
+        if(null != query2){
+            Integer orderNum=this.selectCount(new EntityWrapper<OrderPrivateCar>().eq("userId",orderPrivateCar.getUserId()).eq("activityId",query2.getId()).last(" and to_days(getoffTime) = to_days(now())"));
+            if(query2.getDistance()*1000>orderPrivateCar.getMileage() && query2.getOrderNum()>orderNum){
+                Double special = query2.getSpecial();
+                orderPrivateCar.setDiscount(special);
+                double v = new BigDecimal(orderMoney).multiply(new BigDecimal(special / 10)).setScale(2, BigDecimal.ROUND_HALF_EVEN).doubleValue();
+                if(orderMoney.compareTo(v) > 0){
+                    orderPrivateCar.setDiscountMoney(orderMoney - v);
+                    orderPrivateCar.setActivityId(query2.getId());
+                    orderMoney = v;
+                }
+            }
+        }
 
         //计算优惠券
         UserCouponRecord userCouponRecord = null;
@@ -892,22 +930,6 @@
             orderMoney = orderMoney - query.getMoney();
             orderPrivateCar.setRedPacketMoney(query.getMoney());
             orderPrivateCar.setRedPacketId(query.getId());
-        }
-       //计算折扣
-        UserActivityDiscount1 query2 = userActivityDiscount1Mapper.query(orderPrivateCar.getCompanyId());
-        if(null != query2){
-            Integer orderNum=this.selectCount(new EntityWrapper<OrderPrivateCar>().eq("userId",orderPrivateCar.getUserId()).eq("activityId",query2.getId()).last(" and to_days(getoffTime) = to_days(now())"));
-            if(query2.getDistance()*1000>orderPrivateCar.getMileage() && query2.getOrderNum()>orderNum){
-                Double special = query2.getSpecial();
-                orderPrivateCar.setDiscount(special);
-                double v = new BigDecimal(orderMoney).multiply(new BigDecimal(special / 10)).setScale(2, BigDecimal.ROUND_HALF_EVEN).doubleValue();
-                if(orderMoney.compareTo(v) > 0){
-                    orderPrivateCar.setDiscountMoney(orderMoney - v);
-                    orderPrivateCar.setActivityId(query2.getId());
-                    orderMoney = v;
-                }
-            }
-
         }
 
         if(payType == 1){//手机支付
@@ -1034,7 +1056,7 @@
                             if(1 == language){
                                 document.getElementById("english").remove();
                                 document.getElementById("french").remove();
-                                document.getElementsByTag("title").get(0).text("打车收据");
+                                document.getElementsByTag("title").get(0).text("I-GO电子收据");
                                 Element title_chinese = document.getElementById("title_chinese");
                                 title_chinese.text(DateUtil.conversionFormat(language, sdf.format(orderPrivateCar.getTravelTime())) + ",您在I-GO1个订单消费GHS " + orderPrivateCar.getPayMoney());
                                 Element xcf_chinese = document.getElementById("xcf_chinese");
@@ -1079,7 +1101,7 @@
                             if(2 == language){
                                 document.getElementById("chinese").remove();
                                 document.getElementById("french").remove();
-                                document.getElementsByTag("title").get(0).text("Ride Receipt");
+                                document.getElementsByTag("title").get(0).text("Receipt");
                                 Element title_english = document.getElementById("title_english");
                                 title_english.text(DateUtil.conversionFormat(language, sdf.format(orderPrivateCar.getTravelTime())) + ",You spent GHS " + orderPrivateCar.getPayMoney() + " on the trip ");
                                 Element xcf_english = document.getElementById("xcf_english");
@@ -1124,7 +1146,7 @@
                             if(3 == language){
                                 document.getElementById("chinese").remove();
                                 document.getElementById("english").remove();
-                                document.getElementsByTag("title").get(0).text("Reçu de course");
+                                document.getElementsByTag("title").get(0).text("Reçu");
                                 Element title_french = document.getElementById("title_french");
                                 title_french.text("Le " + DateUtil.conversionFormat(language, sdf.format(orderPrivateCar.getTravelTime())) + ", vous avez dépensé GHS " + orderPrivateCar.getPayMoney() + " sur le voyage");
                                 Element xcf_french = document.getElementById("xcf_french");
@@ -1166,7 +1188,7 @@
                                 Element server_tel_french = document.getElementById("server_tel_french");
                                 server_tel_french.attr("href", "tel:" + (null != phone ? phone.getPhone() : ""));
                             }
-                            EmailUtil.send(userInfo.getEmail(), language == 1 ? "打车收据" : language == 2 ? "Ride Receipt" : "Reçu de course",  document.html());
+                            EmailUtil.send(userInfo.getEmail(), language == 1 ? "I-GO电子收据" : language == 2 ? "Receipt" : "Reçu",  document.html());
 
                             //开始生成pdf收据和html收据
                             File file = new File("/usr/local/nginx/html/files/html/");
@@ -1194,6 +1216,7 @@
                                 FileOutputStream fileOutputStream = new FileOutputStream(file1);
                                 HtmlToPdfUtils.convertToPdf(fileInputStream, "IGO", fileOutputStream);
                             }catch (Exception e){
+                                e.printStackTrace();
                                 System.out.println("html转pdf异常");
                             }
 
@@ -1201,7 +1224,7 @@
                             TEmail tEmail = new TEmail();
                             tEmail.setLink(link);
                             tEmail.setUserId(uid);
-                            tEmail.setName(language == 1 ? "打车收据" : language == 2 ? "Ride Receipt" : "Reçu de course");
+                            tEmail.setName(language == 1 ? "I-GO电子收据" : language == 2 ? "Receipt" : "Reçu");
                             tEmail.setType(1);
                             tEmail.setOrderId(orderId);
                             tEmail.setCreateTime(new Date());
@@ -1349,7 +1372,7 @@
                             if(1 == language){
                                 document.getElementById("english").remove();
                                 document.getElementById("french").remove();
-                                document.getElementsByTag("title").get(0).text("打车收据");
+                                document.getElementsByTag("title").get(0).text("I-GO电子收据");
                                 Element title_chinese = document.getElementById("title_chinese");
                                 title_chinese.text(DateUtil.conversionFormat(language, sdf.format(orderPrivateCar.getTravelTime())) + ",您在I-GO1个订单消费GHS " + orderPrivateCar.getPayMoney());
                                 Element xcf_chinese = document.getElementById("xcf_chinese");
@@ -1394,7 +1417,7 @@
                             if(2 == language){
                                 document.getElementById("chinese").remove();
                                 document.getElementById("french").remove();
-                                document.getElementsByTag("title").get(0).text("Ride Receipt");
+                                document.getElementsByTag("title").get(0).text("Receipt");
                                 Element title_english = document.getElementById("title_english");
                                 title_english.text(DateUtil.conversionFormat(language, sdf.format(orderPrivateCar.getTravelTime())) + ",You spent GHS " + orderPrivateCar.getPayMoney() + " on the trip ");
                                 Element xcf_english = document.getElementById("xcf_english");
@@ -1439,7 +1462,7 @@
                             if(3 == language){
                                 document.getElementById("chinese").remove();
                                 document.getElementById("english").remove();
-                                document.getElementsByTag("title").get(0).text("Reçu de course");
+                                document.getElementsByTag("title").get(0).text("Reçu");
                                 Element title_french = document.getElementById("title_french");
                                 title_french.text("Le " + DateUtil.conversionFormat(language, sdf.format(orderPrivateCar.getTravelTime())) + ", vous avez dépensé GHS " + orderPrivateCar.getPayMoney() + " sur le voyage");
                                 Element xcf_french = document.getElementById("xcf_french");
@@ -1482,7 +1505,7 @@
                                 server_tel_french.attr("href", "tel:" + (null != phone ? phone.getPhone() : ""));
                             }
 
-                            EmailUtil.send(userInfo.getEmail(), language == 1 ? "打车收据" : language == 2 ? "Ride Receipt" : "Reçu de course",  document.html());
+                            EmailUtil.send(userInfo.getEmail(), language == 1 ? "I-GO电子收据" : language == 2 ? "Receipt" : "Reçu",  document.html());
 
                             //开始生成pdf收据和html收据
                             File file = new File("/usr/local/nginx/html/files/html/");
@@ -1506,13 +1529,18 @@
                             if(!file1.exists()){
                                 file1.createNewFile();
                             }
-                            FileOutputStream fileOutputStream = new FileOutputStream(file1);
-                            HtmlToPdfUtils.convertToPdf(fileInputStream, "IGO", fileOutputStream);
+                            try {
+                                FileOutputStream fileOutputStream = new FileOutputStream(file1);
+                                HtmlToPdfUtils.convertToPdf(fileInputStream, "IGO", fileOutputStream);
+                            }catch (Exception e){
+                                e.printStackTrace();
+                                System.out.println("html转pdf异常");
+                            }
                             String link ="http://182.160.16.251:81/files/html/ride_receipt_" + orderId + ".html";
                             TEmail tEmail = new TEmail();
                             tEmail.setLink(link);
                             tEmail.setUserId(uid);
-                            tEmail.setName(language == 1 ? "打车收据" : language == 2 ? "Ride Receipt" : "Reçu de course");
+                            tEmail.setName(language == 1 ? "I-GO电子收据" : language == 2 ? "Receipt" : "Reçu");
                             tEmail.setType(1);
                             tEmail.setOrderId(orderId);
                             tEmail.setCreateTime(new Date());
@@ -1643,7 +1671,7 @@
                     Element user_chinese = document.getElementById("user_chinese");
                     user_chinese.text("您好 " + userInfo.getNickName() + ",");
                     Element time_chinese = document.getElementById("time_chinese");
-                    time_chinese.text("此活动有效期在 " + DateUtil.conversionFormat(language, sdf.format(query.getInsertTime())) + " 至 " + DateUtil.conversionFormat(language, sdf.format(query.getEndTime())) + ",详情请查看I-GO平台");
+                    time_chinese.text("此活动有效期在 " + DateUtil.conversionFormat(language, sdf.format(query.getInsertTime())) + " 至 " + DateUtil.conversionFormat(language, sdf.format(query.getExpirationTime())) + ",详情请查看I-GO平台");
                 }
                 if(2 == language){
                     document.getElementById("chinese").remove();
@@ -1652,7 +1680,7 @@
                     Element user_english = document.getElementById("user_english");
                     user_english.text("Hello " + userInfo.getNickName() + ",");
                     Element time_english = document.getElementById("time_english");
-                    time_english.text("You could use it from " + DateUtil.conversionFormat(language, sdf.format(query.getInsertTime())) + " to " + DateUtil.conversionFormat(language, sdf.format(query.getEndTime())) + ",check more details on the app.");
+                    time_english.text("You could use it from " + DateUtil.conversionFormat(language, sdf.format(query.getInsertTime())) + " to " + DateUtil.conversionFormat(language, sdf.format(query.getExpirationTime())) + ",check more details on the app.");
                 }
                 if(3 == language){
                     document.getElementById("chinese").remove();
@@ -1661,7 +1689,7 @@
                     Element user_french = document.getElementById("user_french");
                     user_french.text("Bonjour " + userInfo.getNickName() + ",");
                     Element time_french = document.getElementById("time_french");
-                    time_french.text("Cette promotion est valable du " + DateUtil.conversionFormat(language, sdf.format(query.getInsertTime())) + " au " + DateUtil.conversionFormat(language, sdf.format(query.getEndTime())) + ". Veuillez consulter la plateforme i-go pour plus de détails.");
+                    time_french.text("Cette promotion est valable du " + DateUtil.conversionFormat(language, sdf.format(query.getInsertTime())) + " au " + DateUtil.conversionFormat(language, sdf.format(query.getExpirationTime())) + ". Veuillez consulter la plateforme i-go pour plus de détails.");
                 }
 
                 EmailUtil.send(userInfo.getEmail(), language == 1 ? "红包活动" : language == 2 ? "Lucky-promo activities" : "Activités bonus",  document.html());
@@ -1678,17 +1706,6 @@
                 fileWriter.write(document.html());
                 fileWriter.flush();
                 fileWriter.close();
-                FileInputStream fileInputStream = new FileInputStream(file);
-                File file1 = new File("/usr/local/nginx/html/files/pdf/");
-                if(!file1.exists()){
-                    file1.mkdirs();
-                }
-                file1 = new File("/usr/local/nginx/html/files/pdf/redpacket_" + orderId + ".pdf");
-                if(!file1.exists()){
-                    file1.createNewFile();
-                }
-                FileOutputStream fileOutputStream = new FileOutputStream(file1);
-                HtmlToPdfUtils.convertToPdf(fileInputStream, "IGO", fileOutputStream);
 
                 String link ="http://182.160.16.251:81/files/html/redpacket_" + orderId + ".html";
                 TEmail tEmail = new TEmail();
@@ -1859,7 +1876,7 @@
                             if(1 == language){
                                 document.getElementById("english").remove();
                                 document.getElementById("french").remove();
-                                document.getElementsByTag("title").get(0).text("打车收据");
+                                document.getElementsByTag("title").get(0).text("I-GO电子收据");
                                 Element title_chinese = document.getElementById("title_chinese");
                                 title_chinese.text(DateUtil.conversionFormat(language, sdf.format(orderPrivateCar.getTravelTime())) + ",您在I-GO1个订单消费GHS " + orderPrivateCar.getPayMoney());
                                 Element xcf_chinese = document.getElementById("xcf_chinese");
@@ -1904,7 +1921,7 @@
                             if(2 == language){
                                 document.getElementById("chinese").remove();
                                 document.getElementById("french").remove();
-                                document.getElementsByTag("title").get(0).text("Ride Receipt");
+                                document.getElementsByTag("title").get(0).text("Receipt");
                                 Element title_english = document.getElementById("title_english");
                                 title_english.text(DateUtil.conversionFormat(language, sdf.format(orderPrivateCar.getTravelTime())) + ",You spent GHS " + orderPrivateCar.getPayMoney() + " on the trip ");
                                 Element xcf_english = document.getElementById("xcf_english");
@@ -1949,7 +1966,7 @@
                             if(3 == language){
                                 document.getElementById("chinese").remove();
                                 document.getElementById("english").remove();
-                                document.getElementsByTag("title").get(0).text("Reçu de course");
+                                document.getElementsByTag("title").get(0).text("Reçu");
                                 Element title_french = document.getElementById("title_french");
                                 title_french.text("Le " + DateUtil.conversionFormat(language, sdf.format(orderPrivateCar.getTravelTime())) + ", vous avez dépensé GHS " + orderPrivateCar.getPayMoney() + " sur le voyage");
                                 Element xcf_french = document.getElementById("xcf_french");
@@ -1992,7 +2009,7 @@
                                 server_tel_french.attr("href", "tel:" + (null != phone ? phone.getPhone() : ""));
                             }
 
-                            EmailUtil.send(userInfo.getEmail(), language == 1 ? "打车收据" : language == 2 ? "Ride Receipt" : "Reçu de course",  document.html());
+                            EmailUtil.send(userInfo.getEmail(), language == 1 ? "I-GO电子收据" : language == 2 ? "Receipt" : "Reçu",  document.html());
 
                             //开始生成pdf收据和html收据
                             File file = new File("/usr/local/nginx/html/files/html/");
@@ -2016,14 +2033,19 @@
                             if(!file1.exists()){
                                 file1.createNewFile();
                             }
-                            FileOutputStream fileOutputStream = new FileOutputStream(file1);
-                            HtmlToPdfUtils.convertToPdf(fileInputStream, "IGO", fileOutputStream);
+                            try {
+                                FileOutputStream fileOutputStream = new FileOutputStream(file1);
+                                HtmlToPdfUtils.convertToPdf(fileInputStream, "IGO", fileOutputStream);
+                            }catch (Exception e){
+                                e.printStackTrace();
+                                System.out.println("html转pdf异常");
+                            }
 
 
                             String link ="http://182.160.16.251:81/files/html/ride_receipt_" + id + ".html";
                             TEmail tEmail = new TEmail();
                             tEmail.setLink(link);
-                            tEmail.setName(language == 1 ? "打车收据" : language == 2 ? "Ride Receipt" : "Reçu de course");
+                            tEmail.setName(language == 1 ? "I-GO电子收据" : language == 2 ? "Receipt" : "Reçu");
                             tEmail.setUserId(userInfo.getId());
                             tEmail.setType(1);
                             tEmail.setOrderId(id);

--
Gitblit v1.7.1