Pu Zhibing
8 天以前 4c99ee7028c3fe58a2cd4b8273b22c75c45574fc
ManagementIGOTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/controller/general/TCarController.java
@@ -6,10 +6,7 @@
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.*;
@@ -101,11 +98,15 @@
    public String index() {
        return PREFIX + "tCar.html";
    }
    @RequestMapping("auth")
    public String auth() {
        return PREFIX + "tCarAuth.html";
    }
    /**
     * 跳转到添加车辆管理
     */
@@ -136,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";
@@ -198,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;
@@ -211,7 +215,8 @@
                kcModel = obj.getServerCarModelId();
            }
            if (obj.getType() == 4){
                four = 2;
                four = 4;
                xjModel = obj.getServerCarModelId();
            }
            if (obj.getType() == 5){
                five = 2;
@@ -228,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));
@@ -244,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);
@@ -258,6 +268,7 @@
        Integer six = 1;
        Integer zcModel = 0;
        Integer kcModel = 0;
        Integer xjModel = 0;
        for (TCarService obj : serviceList){
            if (obj.getType() == 1){
                one = 2;
@@ -267,16 +278,24 @@
                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
@@ -441,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)){
@@ -492,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);
        }
@@ -524,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)){
@@ -566,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);
        }
@@ -575,68 +604,119 @@
        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 tCarService = tCarServiceService.selectOne(new EntityWrapper<TCarService>().eq("carId", tCar.getId()).eq("type", Integer.valueOf(serverArray[i])));
                if(null == tCarService){
                    tCarService = new TCarService();
                    tCarService.setCarId(tCar.getId());
                    tCarService.setType(Integer.valueOf(serverArray[i]));
                    if (1 == tCarService.getType()){
                        tCarService.setServerCarModelId(Integer.valueOf(zcModel));
                    }
                    tCarServiceService.insert(tCarService);
                }else{
                    if (1 == tCarService.getType()){
                        tCarService.setServerCarModelId(Integer.valueOf(zcModel));
                    }
                    tCarServiceService.updateById(tCarService);
                TCarService service = new TCarService();
                service.setCarId(tCar.getId());
                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());
        TCar finalTCar = tCar;
        new Thread(new Runnable() {
            @Override
            public void run() {
                try {
                    String path = templatePath +  "driver/index.html";
                    Document document = Jsoup.parse(new File(path), "UTF-8");
                    document.getElementById("chinese").attr("style", "display: none;");
                    document.getElementById("french").attr("style", "display: none;");
                    document.getElementById("invite1").attr("style", "display: none;");
                    document.getElementById("user1").attr("style", "display: none;");
                    document.getElementById("settle1").attr("style", "display: none;");
                    document.getElementById("pass1").attr("style", "display: none;");
                    document.getElementById("email1").attr("style", "display: none;");
                    document.getElementById("bill1").attr("style", "display: none;");
                    document.getElementById("reward1").attr("style", "display: none;");
                    document.getElementById("rewardToday1").attr("style", "display: none;");
                    document.getElementById("driverAudit1").attr("style", "display: none;");
                    Element car_audit1_user = document.getElementById("car_audit1_user");
                    car_audit1_user.text("Hello " + tDriver.getName() + ",");
                    Element car_audit1_content = document.getElementById("car_audit1_content");
                    if(2 == finalTCar.getAuthState()){
                        car_audit1_content.text("You vehicle application has been approved. See the I-GO platform for details.");
                    }else{
                        car_audit1_content.text("Sorry, your vehicle application was not approved. The reason for the failure is: incomplete filling of vehicle information.");
        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();
                    }
                    EmailUtil.send(tDriver.getEmail(), "Vehicle audit notice",  document.html());
                }catch (Exception e){
                    e.printStackTrace();
                }
            }
        }).start();
            }).start();
        }
        return SUCCESS_TIP;
    }
@@ -919,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){