From 4c99ee7028c3fe58a2cd4b8273b22c75c45574fc Mon Sep 17 00:00:00 2001
From: Pu Zhibing <393733352@qq.com>
Date: 星期五, 16 五月 2025 10:27:41 +0800
Subject: [PATCH] 修改文档bug

---
 ManagementIGOTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/controller/general/TCarController.java |  171 ++++++++++++++++++++++++++++++++++++++++++++++++++++-----
 1 files changed, 156 insertions(+), 15 deletions(-)

diff --git a/ManagementIGOTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/controller/general/TCarController.java b/ManagementIGOTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/controller/general/TCarController.java
index ad8bb62..f53daf8 100644
--- a/ManagementIGOTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/controller/general/TCarController.java
+++ b/ManagementIGOTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/controller/general/TCarController.java
@@ -6,19 +6,20 @@
 import com.stylefeng.guns.core.base.tips.ErrorTip;
 import com.stylefeng.guns.core.common.constant.factory.PageFactory;
 import com.stylefeng.guns.core.shiro.ShiroKit;
-import com.stylefeng.guns.core.util.DateUtil;
-import com.stylefeng.guns.core.util.ExcelExportUtil;
-import com.stylefeng.guns.core.util.SinataUtil;
-import com.stylefeng.guns.core.util.WoUtil;
+import com.stylefeng.guns.core.util.*;
 import com.stylefeng.guns.modular.system.dao.CarInsuranceMapper;
 import com.stylefeng.guns.modular.system.model.*;
 import com.stylefeng.guns.modular.system.service.*;
+import com.stylefeng.guns.modular.system.util.EmailUtil;
 import com.stylefeng.guns.modular.system.util.ResultUtil;
 import org.apache.commons.lang.time.DateUtils;
 import org.apache.poi.ss.usermodel.Cell;
 import org.apache.poi.ss.usermodel.Row;
 import org.apache.poi.ss.usermodel.Sheet;
 import org.apache.poi.ss.usermodel.Workbook;
+import org.jsoup.Jsoup;
+import org.jsoup.nodes.Document;
+import org.jsoup.nodes.Element;
 import org.springframework.beans.factory.annotation.Value;
 import org.springframework.stereotype.Controller;
 import org.springframework.web.bind.annotation.*;
@@ -31,6 +32,7 @@
 import javax.annotation.Resource;
 import javax.servlet.http.HttpServletRequest;
 import javax.servlet.http.HttpServletResponse;
+import java.io.File;
 import java.text.DateFormat;
 import java.text.SimpleDateFormat;
 import java.util.*;
@@ -83,8 +85,11 @@
     @Autowired
     private ITCarColorService carColorService;
 
-    @Value("${pushMinistryOfTransport}")
-    private boolean pushMinistryOfTransport;
+    @Value("${spring.mail.template-path}")
+    private String templatePath;
+
+
+
 
     /**
      * 跳转到车辆管理首页
@@ -93,11 +98,15 @@
     public String index() {
         return PREFIX + "tCar.html";
     }
+    
+    
     @RequestMapping("auth")
     public String auth() {
         return PREFIX + "tCarAuth.html";
     }
 
+    
+    
     /**
      * 跳转到添加车辆管理
      */
@@ -128,6 +137,8 @@
         model.addAttribute("zcModelList",zcModelList);
         List<TServerCarmodel> kcModelList = itServerCarmodelService.selectList(new EntityWrapper<TServerCarmodel>().eq("type", 2).eq("state", 1));
         model.addAttribute("kcModelList",kcModelList);
+        List<TServerCarmodel> xjModelList = itServerCarmodelService.selectList(new EntityWrapper<TServerCarmodel>().eq("type", 4).eq("state", 1));
+        model.addAttribute("xjModelList",xjModelList);
         List<TCarColor> state = carColorService.selectList(new EntityWrapper<TCarColor>().eq("state", 1));
         model.addAttribute("color", state);
         return PREFIX + "tCar_add.html";
@@ -190,6 +201,7 @@
         Integer six = 1;
         Integer zcModel = 0;
         Integer kcModel = 0;
+        Integer xjModel = 0;
         for (TCarService obj : serviceList){
             if (obj.getType() == 1){
                 one = 2;
@@ -203,7 +215,8 @@
                 kcModel = obj.getServerCarModelId();
             }
             if (obj.getType() == 4){
-                four = 2;
+                four = 4;
+                xjModel = obj.getServerCarModelId();
             }
             if (obj.getType() == 5){
                 five = 2;
@@ -220,11 +233,14 @@
         model.addAttribute("six",six);
         model.addAttribute("zcModel",zcModel);
         model.addAttribute("kcModel",kcModel);
+        model.addAttribute("xjModel",xjModel);
 
         List<TServerCarmodel> zcModelList = itServerCarmodelService.selectList(new EntityWrapper<TServerCarmodel>().eq("type", 1).eq("state", 1));
         model.addAttribute("zcModelList",zcModelList);
         List<TServerCarmodel> kcModelList = itServerCarmodelService.selectList(new EntityWrapper<TServerCarmodel>().eq("type", 2).eq("state", 1));
         model.addAttribute("kcModelList",kcModelList);
+        List<TServerCarmodel> xjModelList = itServerCarmodelService.selectList(new EntityWrapper<TServerCarmodel>().eq("type", 4).eq("state", 1));
+        model.addAttribute("xjModelList",xjModelList);
 
         //车辆品牌
         List<TCarBrand> brandList = tCarBrandService.selectList(new EntityWrapper<TCarBrand>().eq("state", 1));
@@ -236,6 +252,8 @@
         model.addAttribute("color", state);
         return PREFIX + "tCar_edit.html";
     }
+    
+    
     @RequestMapping("/tCar_auth/{tCarId}")
     public String tCarAuth(@PathVariable Integer tCarId, Model model) {
         TCar tCar = tCarService.selectById(tCarId);
@@ -250,20 +268,34 @@
         Integer six = 1;
         Integer zcModel = 0;
         Integer kcModel = 0;
+        Integer xjModel = 0;
         for (TCarService obj : serviceList){
             if (obj.getType() == 1){
                 one = 2;
                 zcModel = obj.getServerCarModelId();
             }
+            if (obj.getType() == 1){
+                four = 2;
+                zcModel = obj.getServerCarModelId();
+            }
+            if (obj.getType() == 4){
+                four = 4;
+                xjModel = obj.getServerCarModelId();
+            }
         }
         model.addAttribute("one",one);
+        model.addAttribute("four",four);
         model.addAttribute("zcModel",zcModel);
+        model.addAttribute("xjModel",xjModel);
         List<TServerCarmodel> zcModelList = itServerCarmodelService.selectList(new EntityWrapper<TServerCarmodel>().eq("type", 1).eq("state", 1));
         model.addAttribute("zcModelList",zcModelList);
+        List<TServerCarmodel> xjModelList = itServerCarmodelService.selectList(new EntityWrapper<TServerCarmodel>().eq("type", 4).eq("state", 1));
+        model.addAttribute("xjModelList",xjModelList);
         LogObjectHolder.me().set(tCar);
         return PREFIX + "tCar_auth.html";
     }
 
+    
     /**
      * 跳转到保险列表页
      * @param carId
@@ -428,7 +460,12 @@
      */
     @RequestMapping(value = "/add")
     @ResponseBody
-    public Object add(TCar tCar,@RequestParam String serverBox,Integer roleType,Integer companyType,Integer oneId,Integer twoId,Integer franchiseeId,String zcModel,String kcModel) {
+    public Object add(TCar tCar,@RequestParam String serverBox,Integer roleType,Integer companyType,Integer oneId,Integer twoId,Integer franchiseeId,String zcModel,String kcModel,String xjModel) throws Exception {
+        TCar tCar1 = tCarService.selectOne(new EntityWrapper<TCar>().eq("state", 1).ne("authState", 4).eq("carLicensePlate", tCar.getCarLicensePlate()));
+        if(null != tCar1){
+            throw new Exception("车牌号重复");
+        }
+
         if (1 == roleType){  //平台
             if (2 == companyType.intValue()){
                 if (SinataUtil.isNotEmpty(oneId)){
@@ -468,6 +505,7 @@
         }
         tCar.setInsertTime(new Date());
         tCar.setState(1);
+        tCar.setAuthState(1);
         tCarService.insert(tCar);
 
         //添加经营业务
@@ -478,8 +516,8 @@
             service.setType(Integer.valueOf(serverArray[i]));
             if (1 == service.getType()){
                 service.setServerCarModelId(Integer.valueOf(zcModel));
-            }else if (3 == service.getType()){
-                service.setServerCarModelId(Integer.valueOf(kcModel));
+            }else if (4 == service.getType()){
+                service.setServerCarModelId(Integer.valueOf(xjModel));
             }
             tCarServiceService.insert(service);
         }
@@ -510,7 +548,12 @@
      */
     @RequestMapping(value = "/update")
     @ResponseBody
-    public Object update(TCar tCar,@RequestParam String serverBox,Integer roleType,Integer companyType,Integer oneId,Integer twoId,Integer franchiseeId,String zcModel,String kcModel) {
+    public Object update(TCar tCar,@RequestParam String serverBox,Integer roleType,Integer companyType,Integer oneId,Integer twoId,Integer franchiseeId,String zcModel,String kcModel,String xjModel)throws Exception {
+        TCar tCar1 = tCarService.selectOne(new EntityWrapper<TCar>().eq("state", 1).ne("authState", 4).eq("carLicensePlate", tCar.getCarLicensePlate()));
+        if(null != tCar1 && tCar.getId().compareTo(tCar1.getId()) != 0){
+            throw new Exception("车牌号重复");
+        }
+
         if (1 == roleType){  //平台
             if (2 == companyType.intValue()){
                 if (SinataUtil.isNotEmpty(oneId)){
@@ -552,8 +595,8 @@
             service.setType(Integer.valueOf(serverArray[i]));
             if (1 == service.getType()){
                 service.setServerCarModelId(Integer.valueOf(zcModel));
-            }else if (3 == service.getType()){
-                service.setServerCarModelId(Integer.valueOf(kcModel));
+            }else if (4 == service.getType()){
+                service.setServerCarModelId(Integer.valueOf(xjModel));
             }
             tCarServiceService.insert(service);
         }
@@ -561,11 +604,17 @@
         tCarService.updateById(tCar);
         return SUCCESS_TIP;
     }
+    
+    
     @RequestMapping(value = "/updateAuth")
     @ResponseBody
-    public Object updateAuth(TCar tCar,String zcModel,@RequestParam String serverBox) {
+    public Object updateAuth(TCar tCar,String zcModel,String xjModel,@RequestParam String serverBox) {
         //添加经营业务
         if(tCar.getAuthState()==2){
+            //删除业务
+            tCarServiceService.delete(new EntityWrapper<TCarService>().eq("carId",tCar.getId()));
+
+            //添加经营业务
             String[] serverArray = serverBox.split(",");
             for (int i=0;i<serverArray.length;i++){
                 TCarService service = new TCarService();
@@ -573,11 +622,102 @@
                 service.setType(Integer.valueOf(serverArray[i]));
                 if (1 == service.getType()){
                     service.setServerCarModelId(Integer.valueOf(zcModel));
+                }else if (4 == service.getType()){
+                    service.setServerCarModelId(Integer.valueOf(xjModel));
                 }
                 tCarServiceService.insert(service);
             }
+
         }
         tCarService.updateById(tCar);
+        tCar = tCarService.selectById(tCar.getId());
+        TDriver tDriver = tDriverService.selectById(tCar.getDriverId());
+
+        if(null != tDriver && ToolUtil.isNotEmpty(tDriver.getEmail())){
+            TCar finalTCar = tCar;
+            new Thread(new Runnable() {
+                @Override
+                public void run() {
+                    try {
+                        Integer language = tDriver.getLanguage();
+                        String path = templatePath +  "driver/index.html";
+                        Document document = Jsoup.parse(new File(path), "UTF-8");
+                        if(1 == language){
+                            document.getElementById("english").remove();
+                            document.getElementById("french").remove();
+                            document.getElementById("invite").remove();
+                            document.getElementById("user").remove();
+                            document.getElementById("settle").remove();
+                            document.getElementById("pass").remove();
+                            document.getElementById("email").remove();
+                            document.getElementById("bill").remove();
+                            document.getElementById("reward").remove();
+                            document.getElementById("rewardToday").remove();
+                            document.getElementById("driverAudit").remove();
+                            document.getElementsByTag("title").get(0).text(2 == finalTCar.getAuthState() ? "车辆审核通过" : "车辆审核不通过");
+                            Element car_audit1_user = document.getElementById("car_audit1_user");
+                            car_audit1_user.text("Hello " + tDriver.getFirstName() + " " + tDriver.getLastName() + ",");
+                            Element car_audit1_content = document.getElementById("car_audit1_content");
+                            if(2 == finalTCar.getAuthState()){
+                                car_audit1_content.html("您的车辆注册申请已获批准<br>详情请查看I-GO APP");
+                            }else{
+                                car_audit1_content.html("我们很遗憾地通知您: 您的车辆申请已被拒绝。相关详情,请与我们的客服联系,致电0577777767或发送电子邮件至support@i-go.group");
+                            }
+                            EmailUtil.send(tDriver.getEmail(), 2 == finalTCar.getAuthState() ? "车辆审核通过" : "车辆审核不通过",  document.html());
+                        }
+                        if(2 == language){
+                            document.getElementById("chinese").remove();
+                            document.getElementById("french").remove();
+                            document.getElementById("invite1").remove();
+                            document.getElementById("user1").remove();
+                            document.getElementById("settle1").remove();
+                            document.getElementById("pass1").remove();
+                            document.getElementById("email1").remove();
+                            document.getElementById("bill1").remove();
+                            document.getElementById("reward1").remove();
+                            document.getElementById("rewardToday1").remove();
+                            document.getElementById("driverAudit1").remove();
+                            document.getElementsByTag("title").get(0).text(2 == finalTCar.getAuthState() ? "Vehicle is verified and qualified" : "Vehicle is not verified and qualified");
+                            Element car_audit2_user = document.getElementById("car_audit2_user");
+                            car_audit2_user.text("Hello " + tDriver.getFirstName() + " " + tDriver.getLastName() + ",");
+                            Element car_audit2_content = document.getElementById("car_audit2_content");
+                            if(2 == finalTCar.getAuthState()){
+                                car_audit2_content.html("Your vehicle application has been approved. <br>See the I-GO platform for details.");
+                            }else{
+                                car_audit2_content.html("We are sorry to inform you that your vehicle application was rejected. Please contact our service for relevant details, call 0577777767 or send e-mail to support@i-go.group");
+                            }
+                            EmailUtil.send(tDriver.getEmail(), 2 == finalTCar.getAuthState() ? "Vehicle is verified and qualified" : "Vehicle is not verified and qualified",  document.html());
+                        }
+                        if(3 == language){
+                            document.getElementById("chinese").remove();
+                            document.getElementById("english").remove();
+                            document.getElementById("invite2").remove();
+                            document.getElementById("user2").remove();
+                            document.getElementById("settle2").remove();
+                            document.getElementById("pass2").remove();
+                            document.getElementById("email2").remove();
+                            document.getElementById("bill2").remove();
+                            document.getElementById("reward2").remove();
+                            document.getElementById("rewardToday2").remove();
+                            document.getElementById("driverAudit2").remove();
+                            document.getElementsByTag("title").get(0).text(2 == finalTCar.getAuthState() ? "Le véhicule est vérifié et qualifié" : "Le véhicule n’est pas vérifié et qualifié");
+                            Element car_audit3_user = document.getElementById("car_audit3_user");
+                            car_audit3_user.text("Bonjour " + tDriver.getFirstName() + " " + tDriver.getLastName() + ",");
+                            Element car_audit3_content = document.getElementById("car_audit3_content");
+                            if(2 == finalTCar.getAuthState()){
+                                car_audit3_content.html("Votre demande de véhicule a été approuvée.<br>Veuillez consulter la plateforme I-GO pour plus de détails.");
+                            }else{
+                                car_audit3_content.html("Nous avons le regret de vous informer que votre demande de véhicule a été rejetée. Veuillez contacter notre service pour plus de détails, appelez 0577777767 ou envoyez un e-mail à support@i-go.group");
+                            }
+                            EmailUtil.send(tDriver.getEmail(), 2 == finalTCar.getAuthState() ? "Le véhicule est vérifié et qualifié" : "Le véhicule n’est pas vérifié et qualifié",  document.html());
+                        }
+                    }catch (Exception e){
+                        e.printStackTrace();
+                    }
+                }
+            }).start();
+        }
+
         return SUCCESS_TIP;
     }
 
@@ -772,7 +912,7 @@
 //                    }
                     //判断服务模式【小件同城物流】
                     if (!six.equals("是") && !six.equals("否")){
-                        return new ErrorTip(500, "服务模式【小件同城物流】内容不正确");
+                        return new ErrorTip(500, "服务模式【小件市内物流】内容不正确");
                     }
 //                    //判断服务模式【小件跨城物流】
 //                    if (!seven.equals("是") && !seven.equals("否")){
@@ -859,6 +999,7 @@
                     car.setCommercialInsuranceTime(DateUtil.parseDate(fifteen));
                     car.setInsertTime(new Date());
                     car.setState(1);
+                    car.setAuthState(2);
                     if (ShiroKit.getUser().getRoleType() == 1){
                         car.setAddType(2);
                     }else if (ShiroKit.getUser().getRoleType() == 2){

--
Gitblit v1.7.1