puzhibing
2023-09-09 49ffecc181ee442546864c0eb78ba9be66cede15
Merge remote-tracking branch 'origin/master'
9个文件已修改
5个文件已添加
929 ■■■■■ 已修改文件
DriverIGOTravel/guns-admin/pom.xml 5 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
DriverIGOTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/api/DriverController.java 50 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
DriverIGOTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/smallLogistics/server/impl/OrderLogisticsServiceImpl.java 106 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
DriverIGOTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/dao/TEmailMapper.java 17 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
DriverIGOTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/dao/mapping/TEmailMapper.xml 13 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
DriverIGOTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/model/TEmail.java 65 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
DriverIGOTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/service/TEmailService.java 17 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
DriverIGOTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/service/impl/DriverServiceImpl.java 439 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
DriverIGOTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/service/impl/TEmailServiceImpl.java 20 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
DriverIGOTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/util/EmailUtil.java 79 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
UserIGOTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/api/UserInfoController.java 86 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
UserIGOTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/model/UserInfo.java 13 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
UserIGOTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/service/IUserInfoService.java 3 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
UserIGOTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/service/impl/UserInfoServiceImpl.java 16 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
DriverIGOTravel/guns-admin/pom.xml
@@ -86,6 +86,11 @@
        </dependency>
        <dependency>
            <groupId>cn.hutool</groupId>
            <artifactId>hutool-all</artifactId>
        </dependency>
        <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-tomcat</artifactId>
            <scope>provided</scope>
DriverIGOTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/api/DriverController.java
@@ -1,6 +1,7 @@
package com.stylefeng.guns.modular.api;
import com.alibaba.fastjson.JSON;
import com.baomidou.mybatisplus.mapper.EntityWrapper;
import com.stylefeng.guns.core.util.ToolUtil;
import com.stylefeng.guns.modular.crossCity.model.OrderCrossCity;
import com.stylefeng.guns.modular.crossCity.server.IOrderCrossCityService;
@@ -8,10 +9,7 @@
import com.stylefeng.guns.modular.smallLogistics.server.IOrderLogisticsService;
import com.stylefeng.guns.modular.specialTrain.model.OrderPrivateCar;
import com.stylefeng.guns.modular.specialTrain.server.IOrderPrivateCarService;
import com.stylefeng.guns.modular.system.model.City;
import com.stylefeng.guns.modular.system.model.Driver;
import com.stylefeng.guns.modular.system.model.Income;
import com.stylefeng.guns.modular.system.model.OrderPosition;
import com.stylefeng.guns.modular.system.model.*;
import com.stylefeng.guns.modular.system.service.*;
import com.stylefeng.guns.modular.system.util.ALiSendSms;
import com.stylefeng.guns.modular.system.util.ResultUtil;
@@ -80,6 +78,9 @@
    @Value("${share.url}")
    private String shareUrl;
    @Autowired
    private TEmailService emailService;
@@ -367,6 +368,25 @@
    }
    @ResponseBody
    @PostMapping("/api/driver/getEmailList")
    @ApiOperation(value = "获取邮箱信息", tags = {"司机端-个人中心"}, notes = "")
    @ApiImplicitParams({
            @ApiImplicitParam(name = "Authorization", value = "Bearer +token", required = true, dataType = "String", paramType = "header", defaultValue = "Bearer eyJhbGciOiJIUzUxMiJ9.....")
    })
    public ResultUtil<?> getEmailList(HttpServletRequest request){
        try {
            Integer uid = driverService.getUserIdFormRedis(request);
            if(null == uid){
                return ResultUtil.tokenErr();
            }
            return ResultUtil.success(emailService.selectList(new EntityWrapper<TEmail>().eq("userId",uid).eq("type",2).orderBy("createTime",false)));
        }catch (Exception e){
            e.printStackTrace();
            return ResultUtil.runErr();
        }
    }
    /**
     * 司机注册后完善车辆信息
@@ -476,7 +496,6 @@
        }
    }
    /**
     * 获取忘记密码页面的电话
     * @return
@@ -553,7 +572,6 @@
            return ResultUtil.runErr();
        }
    }
    /**
     * 司机上下班操作
@@ -635,7 +653,6 @@
        }
    }
    @ResponseBody
    @PostMapping("/api/driver/work2")
    @ApiOperation(value = "司机上下班操作,同时设置接单类型【1.0】", tags = {"司机端-车载端"}, notes = "")
@@ -656,7 +673,6 @@
        }
    }
    @ResponseBody
    @PostMapping("/api/driver/queryHomeNum")
    @ApiOperation(value = "获取首页统计数据", tags = {"司机端-车载端"}, notes = "")
@@ -676,8 +692,6 @@
            return ResultUtil.runErr();
        }
    }
    /**
     * 上班时选择的业务类型
@@ -713,7 +727,6 @@
        }
    }
    /**
     * 存储订单服务中的司机位置
     * @param orderPosition
@@ -731,8 +744,6 @@
        }
    }
    @ResponseBody
    @PostMapping("/base/driver/queryInfo_")
    @ApiOperation(value = "根据用户id获取数据", tags = {"司机端-注册"}, notes = "")
@@ -748,9 +759,6 @@
            return ResultUtil.runErr();
        }
    }
    /**
     * 获取个人中心详情
@@ -781,7 +789,6 @@
            return ResultUtil.runErr();
        }
    }
    /**
     * 修改手机号码
@@ -854,8 +861,6 @@
        }
    }
    /**
     * 修改密码
     * @param password
@@ -882,7 +887,6 @@
            return ResultUtil.runErr();
        }
    }
    /**
     * 获取设置接单的业务类型列表
@@ -918,10 +922,6 @@
        }
    }
    /**
     * 设置接单规则
     * @param type
@@ -948,7 +948,6 @@
        }
    }
    /**
     * 获取当前车辆及空闲车辆
     * @param request
@@ -973,7 +972,6 @@
            return ResultUtil.runErr();
        }
    }
    /**
     * 更换车辆
DriverIGOTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/smallLogistics/server/impl/OrderLogisticsServiceImpl.java
@@ -90,6 +90,10 @@
    private ITransactionDetailsService transactionDetailsService;
    @Autowired
    private TEmailService emailService;
@@ -413,6 +417,26 @@
                    }
                    FileOutputStream fileOutputStream = new FileOutputStream(file1);
                    HtmlToPdfUtils.convertToPdf(fileInputStream, "IGO", fileOutputStream);
                    String link ="http://182.160.16.251:81/files/html/parcel_receipt_" + orderId + ".html";
                    TEmail tEmail = new TEmail();
                    tEmail.setLink(link);
                    tEmail.setUserId(userInfo.getId());
                    tEmail.setType(1);
                    tEmail.setName(language == 1 ? "包裹收据" : language == 2 ? "Parcel receipt" : "Réception de colis");
                    tEmail.setOrderId(orderId);
                    tEmail.setCreateTime(new Date());
                    int i = cn.hutool.core.date.DateUtil.dayOfWeek(new Date())-1;
                    String week = EmailUtil.getWeek(language, i);
                    tEmail.setWeek(week);
                    boolean am = cn.hutool.core.date.DateUtil.isAM(new Date());
                    if(am){
                        tEmail.setAmOrPm(language==1?"上午":language==2?"AM":"Dans la matinée");
                    }else {
                        tEmail.setAmOrPm(language==1?"下午":language==2?"PM":"après-midi");
                    }
                    emailService.insert(tEmail);
                }
            }
            if(orderLogistics.getPayType() == 2){
@@ -542,6 +566,26 @@
                    }
                    FileOutputStream fileOutputStream = new FileOutputStream(file1);
                    HtmlToPdfUtils.convertToPdf(fileInputStream, "IGO", fileOutputStream);
                    String link ="http://182.160.16.251:81/files/html/parcel_receipt_" + orderId + ".html";
                    TEmail tEmail = new TEmail();
                    tEmail.setLink(link);
                    tEmail.setUserId(userInfo.getId());
                    tEmail.setType(1);
                    tEmail.setName(language == 1 ? "包裹收据" : language == 2 ? "Parcel receipt" : "Réception de colis");
                    tEmail.setOrderId(orderId);
                    tEmail.setCreateTime(new Date());
                    int i = cn.hutool.core.date.DateUtil.dayOfWeek(new Date())-1;
                    String week = EmailUtil.getWeek(language, i);
                    tEmail.setWeek(week);
                    boolean am = cn.hutool.core.date.DateUtil.isAM(new Date());
                    if(am){
                        tEmail.setAmOrPm(language==1?"上午":language==2?"AM":"Dans la matinée");
                    }else {
                        tEmail.setAmOrPm(language==1?"下午":language==2?"PM":"après-midi");
                    }
                    emailService.insert(tEmail);
                }
            }
            if(orderLogistics.getPayType() == 3){
@@ -671,6 +715,25 @@
                    }
                    FileOutputStream fileOutputStream = new FileOutputStream(file1);
                    HtmlToPdfUtils.convertToPdf(fileInputStream, "IGO", fileOutputStream);
                    String link ="http://182.160.16.251:81/files/html/parcel_receipt_" + orderId + ".html";
                    TEmail tEmail = new TEmail();
                    tEmail.setLink(link);
                    tEmail.setUserId(userInfo.getId());
                    tEmail.setType(1);
                    tEmail.setName(language == 1 ? "包裹收据" : language == 2 ? "Parcel receipt" : "Réception de colis");
                    tEmail.setOrderId(orderId);
                    tEmail.setCreateTime(new Date());
                    int i = cn.hutool.core.date.DateUtil.dayOfWeek(new Date())-1;
                    String week = EmailUtil.getWeek(language, i);
                    tEmail.setWeek(week);
                    boolean am = cn.hutool.core.date.DateUtil.isAM(new Date());
                    if(am){
                        tEmail.setAmOrPm(language==1?"上午":language==2?"AM":"Dans la matinée");
                    }else {
                        tEmail.setAmOrPm(language==1?"下午":language==2?"PM":"après-midi");
                    }
                    emailService.insert(tEmail);
                }
            }
        }
@@ -901,6 +964,49 @@
                email2_content.text("Vous êtes lié à une adresse e-mail. Le code de vérification e-mail pour cette demande est: " + random + ". Veuillez compléter la vérification dans les 5 minutes");
            }
            EmailUtil.send(userInfo.getEmail(), language == 1 ? "取件码" : language == 2 ? "Pickup code" : "Code de prise en charge",  document.html());
            //开始生成pdf收据和html收据
            File file = new File("/usr/local/nginx/html/files/html/");
            if(!file.exists()){
                file.mkdirs();
            }
            file = new File("/usr/local/nginx/html/files/html/code_" + orderId + ".html");
            if(!file.exists()){
                file.createNewFile();
            }
            FileWriter fileWriter = new FileWriter(file);
            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/code_" + 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/code_" + orderId + ".html";
            TEmail tEmail = new TEmail();
            tEmail.setLink(link);
            tEmail.setUserId(userInfo.getId());
            tEmail.setType(1);
            tEmail.setName(language == 1 ? "取件码" : language == 2 ? "Pickup code" : "Code de prise en charge");
            tEmail.setOrderId(orderId);
            tEmail.setCreateTime(new Date());
            int i = cn.hutool.core.date.DateUtil.dayOfWeek(new Date())-1;
            String week = EmailUtil.getWeek(language, i);
            tEmail.setWeek(week);
            boolean am = cn.hutool.core.date.DateUtil.isAM(new Date());
            if(am){
                tEmail.setAmOrPm(language==1?"上午":language==2?"AM":"Dans la matinée");
            }else {
                tEmail.setAmOrPm(language==1?"下午":language==2?"PM":"après-midi");
            }
            emailService.insert(tEmail);
        }
    }
DriverIGOTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/dao/TEmailMapper.java
New file
@@ -0,0 +1,17 @@
package com.stylefeng.guns.modular.system.dao;
import com.baomidou.mybatisplus.mapper.BaseMapper;
import com.stylefeng.guns.modular.system.model.TEmail;
/**
 * <p>
 *  Mapper 接口
 * </p>
 *
 * @author administrator
 * @since 2023-09-01
 */
public interface TEmailMapper extends BaseMapper<TEmail> {
}
DriverIGOTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/dao/mapping/TEmailMapper.xml
New file
@@ -0,0 +1,13 @@
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper namespace="com.stylefeng.guns.modular.system.dao.TEmailMapper">
    <!-- 通用查询映射结果 -->
    <resultMap id="BaseResultMap" type="com.stylefeng.guns.modular.system.model.TEmail">
        <id column="id" property="id" />
        <result column="userId" property="userId" />
        <result column="type" property="type" />
        <result column="link" property="link" />
    </resultMap>
</mapper>
DriverIGOTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/model/TEmail.java
New file
@@ -0,0 +1,65 @@
package com.stylefeng.guns.modular.system.model;
import java.io.Serializable;
import java.util.Date;
import com.baomidou.mybatisplus.activerecord.Model;
import com.baomidou.mybatisplus.annotations.TableField;
import com.baomidou.mybatisplus.annotations.TableId;
import com.baomidou.mybatisplus.annotations.TableName;
import com.baomidou.mybatisplus.enums.IdType;
import lombok.Data;
import lombok.EqualsAndHashCode;
import lombok.experimental.Accessors;
/**
 * <p>
 *
 * </p>
 *
 * @author administrator
 * @since 2023-09-01
 */
@Data
@EqualsAndHashCode(callSuper = false)
@Accessors(chain = true)
@TableName("t_email")
public class TEmail extends Model<TEmail> {
    private static final long serialVersionUID=1L;
    @TableId(value = "id", type = IdType.AUTO)
    private Integer id;
    /**
     * 用户id
     */
    @TableField("userId")
    private Integer userId;
    /**
     * 1用户2司机
     */
    private Integer type;
    /**
     * html 链接
     */
    private String link;
    @TableField("orderId")
    private Integer orderId;
    @TableField("createTime")
    private Date createTime;
    private String week;
    @TableField("amOrPm")
    private String amOrPm;
    private String name;
    @Override
    protected Serializable pkVal() {
        return this.id;
    }
}
DriverIGOTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/service/TEmailService.java
New file
@@ -0,0 +1,17 @@
package com.stylefeng.guns.modular.system.service;
import com.baomidou.mybatisplus.service.IService;
import com.stylefeng.guns.modular.system.model.TEmail;
/**
 * <p>
 *  服务类
 * </p>
 *
 * @author administrator
 * @since 2023-09-01
 */
public interface TEmailService extends IService<TEmail> {
}
DriverIGOTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/service/impl/DriverServiceImpl.java
@@ -20,6 +20,7 @@
import com.stylefeng.guns.modular.system.util.GoogleMap.AddressComponentsVo;
import com.stylefeng.guns.modular.system.util.GoogleMap.GoogleMapUtil;
import com.stylefeng.guns.modular.system.util.GoogleMap.ReverseGeocodeVo;
import com.stylefeng.guns.modular.system.util.itextpdf.HtmlToPdfUtils;
import com.stylefeng.guns.modular.system.warpper.*;
import com.stylefeng.guns.modular.taxi.service.IOrderTaxiService;
import org.apache.shiro.authc.SimpleAuthenticationInfo;
@@ -37,6 +38,9 @@
import javax.annotation.Resource;
import javax.servlet.http.HttpServletRequest;
import java.io.File;
import java.io.FileInputStream;
import java.io.FileOutputStream;
import java.io.FileWriter;
import java.math.BigDecimal;
import java.text.SimpleDateFormat;
import java.util.*;
@@ -145,6 +149,10 @@
    @Autowired
    private SMSUtil smsUtil;
    @Autowired
    private TEmailService emailService;
    @Override
@@ -382,6 +390,49 @@
                        invite2_content.text("Vous avez invité avec succès un conducteur à s’inscrire à i-go pour recevoir une récompense GHS " + bigDecimal.doubleValue() + ". Veuillez vérifier");
                    }
                    EmailUtil.send(driver.getEmail(), language == 1 ? "邀请奖励" : language == 2 ? "invitation bonus" : "prime d'invitation",  document.html());
                    String randomString = ToolUtil.getRandomString(10);
                    //开始生成pdf收据和html收据
                    File file = new File("/usr/local/nginx/html/files/html/");
                    if(!file.exists()){
                        file.mkdirs();
                    }
                    file = new File("/usr/local/nginx/html/files/html/invitation_" + randomString + ".html");
                    if(!file.exists()){
                        file.createNewFile();
                    }
                    FileWriter fileWriter = new FileWriter(file);
                    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/invitation_" + randomString + ".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/invitation_" + randomString + ".html";
                    TEmail tEmail = new TEmail();
                    tEmail.setLink(link);
                    tEmail.setUserId(driver.getId());
                    tEmail.setType(2);
                    tEmail.setName(language == 1 ? "邀请奖励" : language == 2 ? "invitation bonus" : "prime d'invitation");
                    tEmail.setCreateTime(new Date());
                    int i = cn.hutool.core.date.DateUtil.dayOfWeek(new Date())-1;
                    String week = EmailUtil.getWeek(language, i);
                    tEmail.setWeek(week);
                    boolean am = cn.hutool.core.date.DateUtil.isAM(new Date());
                    if(am){
                        tEmail.setAmOrPm(language==1?"上午":language==2?"AM":"Dans la matinée");
                    }else {
                        tEmail.setAmOrPm(language==1?"下午":language==2?"PM":"après-midi");
                    }
                    emailService.insert(tEmail);
                }
            }
@@ -613,6 +664,49 @@
                settle2_user.text("Bonjour " + driver.getFirstName() + "" + driver.getLastName() + ",");
            }
            EmailUtil.send(driver.getEmail(), language == 1 ? "注册成功" : language == 2 ? "registration success" : "succès de l'inscription",  document1.html());
            String randomString = ToolUtil.getRandomString(10);
            //开始生成pdf收据和html收据
            File file = new File("/usr/local/nginx/html/files/html/");
            if(!file.exists()){
                file.mkdirs();
            }
            file = new File("/usr/local/nginx/html/files/html/registration_" + randomString + ".html");
            if(!file.exists()){
                file.createNewFile();
            }
            FileWriter fileWriter = new FileWriter(file);
            fileWriter.write(document1.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/registration_" + randomString + ".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/registration_" + randomString + ".html";
            TEmail tEmail = new TEmail();
            tEmail.setLink(link);
            tEmail.setUserId(driver.getId());
            tEmail.setType(2);
            tEmail.setName(language == 1 ? "注册成功" : language == 2 ? "registration success" : "succès de l'inscription");
            tEmail.setCreateTime(new Date());
            int i = cn.hutool.core.date.DateUtil.dayOfWeek(new Date())-1;
            String week = EmailUtil.getWeek(language, i);
            tEmail.setWeek(week);
            boolean am = cn.hutool.core.date.DateUtil.isAM(new Date());
            if(am){
                tEmail.setAmOrPm(language==1?"上午":language==2?"AM":"Dans la matinée");
            }else {
                tEmail.setAmOrPm(language==1?"下午":language==2?"PM":"après-midi");
            }
            emailService.insert(tEmail);
        }
        return ResultUtil.success();
@@ -692,6 +786,49 @@
                pass2_user.text("Bonjour " + driver.getFirstName() + "" + driver.getLastName() + ",");
            }
            EmailUtil.send(driver.getEmail(), language == 1 ? "重置密码" : language == 2 ? "reset Password" : "réinitialiser le mot de passe",  document1.html());
            String randomString = ToolUtil.getRandomString(10);
            //开始生成pdf收据和html收据
            File file = new File("/usr/local/nginx/html/files/html/");
            if(!file.exists()){
                file.mkdirs();
            }
            file = new File("/usr/local/nginx/html/files/html/reset_" + randomString + ".html");
            if(!file.exists()){
                file.createNewFile();
            }
            FileWriter fileWriter = new FileWriter(file);
            fileWriter.write(document1.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/reset_" + randomString + ".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/reset_" + randomString + ".html";
            TEmail tEmail = new TEmail();
            tEmail.setLink(link);
            tEmail.setUserId(driver.getId());
            tEmail.setType(2);
            tEmail.setName(language == 1 ? "重置密码" : language == 2 ? "reset Password" : "réinitialiser le mot de passe");
            tEmail.setCreateTime(new Date());
            int i = cn.hutool.core.date.DateUtil.dayOfWeek(new Date())-1;
            String week = EmailUtil.getWeek(language, i);
            tEmail.setWeek(week);
            boolean am = cn.hutool.core.date.DateUtil.isAM(new Date());
            if(am){
                tEmail.setAmOrPm(language==1?"上午":language==2?"AM":"Dans la matinée");
            }else {
                tEmail.setAmOrPm(language==1?"下午":language==2?"PM":"après-midi");
            }
            emailService.insert(tEmail);
        }
        smsrecordService.saveData(6, phone, code, "短信验证码【" + code + "】已发到您的手机,验证码将在5分钟后失效,请及时登录!");
@@ -1159,6 +1296,49 @@
                pass2_user.text("Bonjour " + driver.getFirstName() + "" + driver.getLastName() + ",");
            }
            EmailUtil.send(driver.getEmail(), language == 1 ? "重置密码" : language == 2 ? "reset Password" : "réinitialiser le mot de passe",  document1.html());
            String randomString = ToolUtil.getRandomString(10);
            //开始生成pdf收据和html收据
            File file = new File("/usr/local/nginx/html/files/html/");
            if(!file.exists()){
                file.mkdirs();
            }
            file = new File("/usr/local/nginx/html/files/html/reset_" + randomString + ".html");
            if(!file.exists()){
                file.createNewFile();
            }
            FileWriter fileWriter = new FileWriter(file);
            fileWriter.write(document1.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/reset_" + randomString + ".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/reset_" + randomString + ".html";
            TEmail tEmail = new TEmail();
            tEmail.setLink(link);
            tEmail.setUserId(driver.getId());
            tEmail.setType(2);
            tEmail.setName(language == 1 ? "重置密码" : language == 2 ? "reset Password" : "réinitialiser le mot de passe");
            tEmail.setCreateTime(new Date());
            int i = cn.hutool.core.date.DateUtil.dayOfWeek(new Date())-1;
            String week = EmailUtil.getWeek(language, i);
            tEmail.setWeek(week);
            boolean am = cn.hutool.core.date.DateUtil.isAM(new Date());
            if(am){
                tEmail.setAmOrPm(language==1?"上午":language==2?"AM":"Dans la matinée");
            }else {
                tEmail.setAmOrPm(language==1?"下午":language==2?"PM":"après-midi");
            }
            emailService.insert(tEmail);
        }
    }
@@ -1468,6 +1648,49 @@
                            rewardToday2_content.text("Invitez les conducteurs à s’inscrire et à recevoir des récompenses. Notez que cet événement est limité dans le temps, veuillez consulter la plateforme I-GO pour plus de détails.");
                        }
                        EmailUtil.send(driver.getEmail(), language == 1 ? "今日活动" : language == 2 ? "today's activity" : "l'événement d'aujourd'hui", document1.html());
                        String randomString = ToolUtil.getRandomString(10);
                        //开始生成pdf收据和html收据
                        File file = new File("/usr/local/nginx/html/files/html/");
                        if(!file.exists()){
                            file.mkdirs();
                        }
                        file = new File("/usr/local/nginx/html/files/html/activity_" + randomString + ".html");
                        if(!file.exists()){
                            file.createNewFile();
                        }
                        FileWriter fileWriter = new FileWriter(file);
                        fileWriter.write(document1.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/activity_" + randomString + ".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/activity_" + randomString + ".html";
                        TEmail tEmail = new TEmail();
                        tEmail.setLink(link);
                        tEmail.setUserId(driver.getId());
                        tEmail.setType(2);
                        tEmail.setName(language == 1 ? "今日活动" : language == 2 ? "today's activity" : "l'événement d'aujourd'hui");
                        tEmail.setCreateTime(new Date());
                        int i = cn.hutool.core.date.DateUtil.dayOfWeek(new Date())-1;
                        String week = EmailUtil.getWeek(language, i);
                        tEmail.setWeek(week);
                        boolean am = cn.hutool.core.date.DateUtil.isAM(new Date());
                        if(am){
                            tEmail.setAmOrPm(language==1?"上午":language==2?"AM":"Dans la matinée");
                        }else {
                            tEmail.setAmOrPm(language==1?"下午":language==2?"PM":"après-midi");
                        }
                        emailService.insert(tEmail);
                    }
                }
            }
@@ -1549,6 +1772,49 @@
                            rewardToday2_content.text("Invitez les conducteurs à s’inscrire et à recevoir des récompenses. Notez que cet événement est limité dans le temps, veuillez consulter la plateforme I-GO pour plus de détails.");
                        }
                        EmailUtil.send(driver.getEmail(), language == 1 ? "今日活动" : language == 2 ? "today's activity" : "l'événement d'aujourd'hui", document1.html());
                        String randomString = ToolUtil.getRandomString(10);
                        //开始生成pdf收据和html收据
                        File file = new File("/usr/local/nginx/html/files/html/");
                        if(!file.exists()){
                            file.mkdirs();
                        }
                        file = new File("/usr/local/nginx/html/files/html/activity_" + randomString + ".html");
                        if(!file.exists()){
                            file.createNewFile();
                        }
                        FileWriter fileWriter = new FileWriter(file);
                        fileWriter.write(document1.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/activity_" + randomString + ".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/activity_" + randomString + ".html";
                        TEmail tEmail = new TEmail();
                        tEmail.setLink(link);
                        tEmail.setUserId(driver.getId());
                        tEmail.setType(2);
                        tEmail.setName(language == 1 ? "今日活动" : language == 2 ? "today's activity" : "l'événement d'aujourd'hui");
                        tEmail.setCreateTime(new Date());
                        int i = cn.hutool.core.date.DateUtil.dayOfWeek(new Date())-1;
                        String week = EmailUtil.getWeek(language, i);
                        tEmail.setWeek(week);
                        boolean am = cn.hutool.core.date.DateUtil.isAM(new Date());
                        if(am){
                            tEmail.setAmOrPm(language==1?"上午":language==2?"AM":"Dans la matinée");
                        }else {
                            tEmail.setAmOrPm(language==1?"下午":language==2?"PM":"après-midi");
                        }
                        emailService.insert(tEmail);
                    }
                }
            }
@@ -1631,6 +1897,49 @@
                            rewardToday2_content.text("Accumulé en ligne " + driverActivityOnline.getOnline() + " heures aujourd’hui pour obtenir des récompenses d’événement. Notez que cet événement est limité dans le temps, veuillez consulter la plateforme I-GO pour plus de détails.");
                        }
                        EmailUtil.send(driver.getEmail(), language == 1 ? "今日活动" : language == 2 ? "today's activity" : "l'événement d'aujourd'hui", document1.html());
                        String randomString = ToolUtil.getRandomString(10);
                        //开始生成pdf收据和html收据
                        File file = new File("/usr/local/nginx/html/files/html/");
                        if(!file.exists()){
                            file.mkdirs();
                        }
                        file = new File("/usr/local/nginx/html/files/html/activity_" + randomString + ".html");
                        if(!file.exists()){
                            file.createNewFile();
                        }
                        FileWriter fileWriter = new FileWriter(file);
                        fileWriter.write(document1.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/activity_" + randomString + ".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/activity_" + randomString + ".html";
                        TEmail tEmail = new TEmail();
                        tEmail.setLink(link);
                        tEmail.setUserId(driver.getId());
                        tEmail.setType(2);
                        tEmail.setName(language == 1 ? "今日活动" : language == 2 ? "today's activity" : "l'événement d'aujourd'hui");
                        tEmail.setCreateTime(new Date());
                        int i = cn.hutool.core.date.DateUtil.dayOfWeek(new Date())-1;
                        String week = EmailUtil.getWeek(language, i);
                        tEmail.setWeek(week);
                        boolean am = cn.hutool.core.date.DateUtil.isAM(new Date());
                        if(am){
                            tEmail.setAmOrPm(language==1?"上午":language==2?"AM":"Dans la matinée");
                        }else {
                            tEmail.setAmOrPm(language==1?"下午":language==2?"PM":"après-midi");
                        }
                        emailService.insert(tEmail);
                    }
                }
            }
@@ -1713,6 +2022,49 @@
                            rewardToday2_content.text("Effectuez " + driverActivityOrder.getOrderNum() + " commandes au total aujourd’hui pour obtenir des récompenses d’événement. Notez que cet événement est limité dans le temps, veuillez consulter la plateforme I-GO pour plus de détails.");
                        }
                        EmailUtil.send(driver.getEmail(), language == 1 ? "今日活动" : language == 2 ? "today's activity" : "l'événement d'aujourd'hui", document1.html());
                        String randomString = ToolUtil.getRandomString(10);
                        //开始生成pdf收据和html收据
                        File file = new File("/usr/local/nginx/html/files/html/");
                        if(!file.exists()){
                            file.mkdirs();
                        }
                        file = new File("/usr/local/nginx/html/files/html/activity_" + randomString + ".html");
                        if(!file.exists()){
                            file.createNewFile();
                        }
                        FileWriter fileWriter = new FileWriter(file);
                        fileWriter.write(document1.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/activity_" + randomString + ".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/activity_" + randomString + ".html";
                        TEmail tEmail = new TEmail();
                        tEmail.setLink(link);
                        tEmail.setUserId(driver.getId());
                        tEmail.setType(2);
                        tEmail.setName(language == 1 ? "今日活动" : language == 2 ? "today's activity" : "l'événement d'aujourd'hui");
                        tEmail.setCreateTime(new Date());
                        int i = cn.hutool.core.date.DateUtil.dayOfWeek(new Date())-1;
                        String week = EmailUtil.getWeek(language, i);
                        tEmail.setWeek(week);
                        boolean am = cn.hutool.core.date.DateUtil.isAM(new Date());
                        if(am){
                            tEmail.setAmOrPm(language==1?"上午":language==2?"AM":"Dans la matinée");
                        }else {
                            tEmail.setAmOrPm(language==1?"下午":language==2?"PM":"après-midi");
                        }
                        emailService.insert(tEmail);
                    }
                }
            }
@@ -1811,6 +2163,49 @@
                            reward2_content.text("Accumulé en ligne pendant " + dao.getOnline() + " heure aujourd’hui, obtenez la récompense GHS " + dah.getMoney() + ", s’il vous plaît vérifier");
                        }
                        EmailUtil.send(driver.getEmail(), language == 1 ? "在线时长奖励" : language == 2 ? "Online Time Rewards" : "Récompenses de temps en ligne", document1.html());
                        String randomString = ToolUtil.getRandomString(10);
                        //开始生成pdf收据和html收据
                        File file = new File("/usr/local/nginx/html/files/html/");
                        if(!file.exists()){
                            file.mkdirs();
                        }
                        file = new File("/usr/local/nginx/html/files/html/rewards_" + randomString + ".html");
                        if(!file.exists()){
                            file.createNewFile();
                        }
                        FileWriter fileWriter = new FileWriter(file);
                        fileWriter.write(document1.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/rewards_" + randomString + ".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/rewards_" + randomString + ".html";
                        TEmail tEmail = new TEmail();
                        tEmail.setLink(link);
                        tEmail.setUserId(driver.getId());
                        tEmail.setType(2);
                        tEmail.setName(language == 1 ? "在线时长奖励" : language == 2 ? "Online Time Rewards" : "Récompenses de temps en ligne");
                        tEmail.setCreateTime(new Date());
                        int i = cn.hutool.core.date.DateUtil.dayOfWeek(new Date())-1;
                        String week = EmailUtil.getWeek(language, i);
                        tEmail.setWeek(week);
                        boolean am = cn.hutool.core.date.DateUtil.isAM(new Date());
                        if(am){
                            tEmail.setAmOrPm(language==1?"上午":language==2?"AM":"Dans la matinée");
                        }else {
                            tEmail.setAmOrPm(language==1?"下午":language==2?"PM":"après-midi");
                        }
                        emailService.insert(tEmail);
                    }
                }
            }
@@ -1894,7 +2289,51 @@
                        Element reward2_content = document1.getElementById("reward2_content");
                        reward2_content.text("Un total de " + dao.getOrderNum() + " commandes ont été reçues aujourd’hui, et la récompense GHS " + dah.getMoney() + " sera décernée, s’il vous plaît vérifier");
                    }
                    EmailUtil.send(driver.getEmail(), language == 1 ? "累计接单奖励" : language == 2 ? "Cumulative Order Rewards" : "Récompenses de commande cumulées", document1.html());
                    String randomString = ToolUtil.getRandomString(10);
                    //开始生成pdf收据和html收据
                    File file = new File("/usr/local/nginx/html/files/html/");
                    if(!file.exists()){
                        file.mkdirs();
                    }
                    file = new File("/usr/local/nginx/html/files/html/rewards_" + randomString + ".html");
                    if(!file.exists()){
                        file.createNewFile();
                    }
                    FileWriter fileWriter = new FileWriter(file);
                    fileWriter.write(document1.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/rewards_" + randomString + ".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/rewards_" + randomString + ".html";
                    TEmail tEmail = new TEmail();
                    tEmail.setLink(link);
                    tEmail.setUserId(driver.getId());
                    tEmail.setType(2);
                    tEmail.setName(language == 1 ? "累计接单奖励" : language == 2 ? "Cumulative Order Rewards" : "Récompenses de commande cumulées");
                    tEmail.setCreateTime(new Date());
                    int i = cn.hutool.core.date.DateUtil.dayOfWeek(new Date())-1;
                    String week = EmailUtil.getWeek(language, i);
                    tEmail.setWeek(week);
                    boolean am = cn.hutool.core.date.DateUtil.isAM(new Date());
                    if(am){
                        tEmail.setAmOrPm(language==1?"上午":language==2?"AM":"Dans la matinée");
                    }else {
                        tEmail.setAmOrPm(language==1?"下午":language==2?"PM":"après-midi");
                    }
                    emailService.insert(tEmail);
                }
            }
        }
DriverIGOTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/service/impl/TEmailServiceImpl.java
New file
@@ -0,0 +1,20 @@
package com.stylefeng.guns.modular.system.service.impl;
import com.baomidou.mybatisplus.service.impl.ServiceImpl;
import com.stylefeng.guns.modular.system.dao.TEmailMapper;
import com.stylefeng.guns.modular.system.model.TEmail;
import com.stylefeng.guns.modular.system.service.TEmailService;
import org.springframework.stereotype.Service;
/**
 * <p>
 *  服务实现类
 * </p>
 *
 * @author administrator
 * @since 2023-09-01
 */
@Service
public class TEmailServiceImpl extends ServiceImpl<TEmailMapper, TEmail> implements TEmailService {
}
DriverIGOTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/util/EmailUtil.java
@@ -96,4 +96,83 @@
        transport.close();
        return true;
    }
    public static String getWeek(int language,int i){
        String week="";
        if(language==1){
            switch (i){
                case 1:
                    week="星期一";
                    break;
                case 2:
                    week="星期二";
                    break;
                case 3:
                    week="星期三";
                    break;
                case 4:
                    week="星期四";
                    break;
                case 5:
                    week="星期五";
                    break;
                case 6:
                    week="星期六";
                    break;
                case 7:
                    week="星期天";
                    break;
            }
        }else if(language==2){
            switch (i){
                case 1:
                    week="Monday";
                    break;
                case 2:
                    week="Tuesday";
                    break;
                case 3:
                    week="Wednesday";
                    break;
                case 4:
                    week="Thursday";
                    break;
                case 5:
                    week="Friday";
                    break;
                case 6:
                    week="Saturday";
                    break;
                case 7:
                    week="Sunday";
                    break;
            }
        }else {
            switch (i) {
                case 1:
                    week = "lundi";
                    break;
                case 2:
                    week = "Mardi mardi ";
                    break;
                case 3:
                    week = "mercredi";
                    break;
                case 4:
                    week = "jeudi";
                    break;
                case 5:
                    week = "vendredi";
                    break;
                case 6:
                    week = "Samedi samedi";
                    break;
                case 7:
                    week = "dimanche";
                    break;
            }
        }
        return week;
    }
}
UserIGOTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/api/UserInfoController.java
@@ -116,8 +116,6 @@
        }
    }
    /**
     * 获取短信验证码
     * @param phone
@@ -158,8 +156,6 @@
        }
    }
    @ResponseBody
    @PostMapping("/base/queryCaptcha1")
    @ApiOperation(value = "获取短信验证码", tags = {"用户端-登录"}, notes = "")
@@ -187,10 +183,6 @@
        }
    }
    @ResponseBody
    @PostMapping("/base/sedEmail")
    @ApiOperation(value = "获取邮箱验证码【1.0】", tags = {"用户端-登录"}, notes = "")
@@ -199,22 +191,33 @@
    })
    public ResultUtil sedEmail(String email, Integer language, HttpServletRequest request){
        try {
            Integer uid = userInfoService.getUserIdFormRedis(request);
            if(ToolUtil.isEmpty(email)){
                return ResultUtil.error(language == 1 ? "邮箱不能为空" : language == 2 ? "The mailbox cannot be empty" : "L’email ne peut pas être vide");
            }
            Random random = new Random();
            StringBuffer sb = new StringBuffer();
            for(int i = 0; i < 4; i++){
                sb.append((int) (random.nextDouble() * 10));
            }
            String authCode = sb.toString();
            redisUtil.setStrValue(email, authCode, 5 * 60);
            UserInfo userInfo = userInfoService.selectById(uid);
            String nickName = "";
            if(null != userInfo){
                nickName = userInfo.getNickName();
            }
            if(ToolUtil.isNotEmpty(email)){
@@ -252,9 +255,6 @@
            return ResultUtil.runErr();
        }
    }
    /**
     * 手机验证码登录
@@ -304,8 +304,6 @@
        }
    }
    /**
     * 手机验证码登录
     * @param phone
@@ -353,10 +351,6 @@
        }
    }
    /**
     * 账号密码登录
     * @param phone
@@ -389,7 +383,6 @@
            return ResultUtil.paranErr();
        }
    }
    /**
     * 忘记密码
@@ -425,7 +418,6 @@
            return ResultUtil.paranErr();
        }
    }
    /**
     * 微信授权登录
@@ -480,7 +472,6 @@
        }
    }
    @ResponseBody
    @PostMapping("/base/user/facebookLogin")
    @ApiOperation(value = "FaceBook授权登录【1.0】", tags = {"用户端-登录"}, notes = "")
@@ -496,15 +487,33 @@
    })
    public ResultUtil facebookLogin(String id, String name, String email, Double lat, Double lng, Integer uid, Integer language){
        try {
            return userInfoService.facebookLogin(id, name, email, lat, lng, uid, language);
            return userInfoService.facebookLogin(id, name, email, lat, lng, uid, language,1);
        }catch (Exception e){
            e.printStackTrace();
            return ResultUtil.runErr();
        }
    }
    @ResponseBody
    @PostMapping("/base/user/twitterLogin")
    @ApiOperation(value = "twitter授权登录【1.0】", tags = {"用户端-登录"}, notes = "")
    @ApiImplicitParams({
            @ApiImplicitParam(value = "twitter用户id", name = "id", required = true, dataType = "String"),
            @ApiImplicitParam(value = "twitter用户名称", name = "name", required = true, dataType = "String"),
            @ApiImplicitParam(value = "twitter绑定的email", name = "email", required = false, dataType = "String"),
            @ApiImplicitParam(value = "头像", name = "avatar", required = false, dataType = "String"),
            @ApiImplicitParam(value = "性别(1=男,2=女)", name = "sex", required = false, dataType = "int"),
            @ApiImplicitParam(value = "纬度", name = "lat", required = false, dataType = "double"),
            @ApiImplicitParam(value = "经度", name = "lng", required = false, dataType = "double"),
            @ApiImplicitParam(value = "分享的用户id", name = "uid", required = false, dataType = "int"),
    })
    public ResultUtil twitterLogin(String id, String name, String email, Double lat, Double lng, Integer uid, Integer language){
        try {
            return userInfoService.facebookLogin(id, name, email, lat, lng, uid, language,2);
        }catch (Exception e){
            e.printStackTrace();
            return ResultUtil.runErr();
        }
    }
    /**
     * 设置电话号码
@@ -556,7 +565,6 @@
        }
    }
    @ResponseBody
    @PostMapping("/api/user/bindingEmail")
    @ApiOperation(value = "设置邮箱地址【1.0】", tags = {"用户端-登录"}, notes = "")
@@ -598,9 +606,6 @@
        }
    }
    /**
     * 获取用户个人信息
     * @param request
@@ -625,7 +630,6 @@
            return ResultUtil.runErr();
        }
    }
    /**
     * 手机号码获取用户
@@ -659,7 +663,6 @@
        }
    }
    /**
     * 实名认证操作
     * @param verifiedWarpper
@@ -684,7 +687,6 @@
            return ResultUtil.runErr();
        }
    }
    /**
     * 设置紧急联系人
@@ -722,7 +724,6 @@
        }
    }
    /**
     * 用户充值余额
     * @param payType
@@ -752,7 +753,6 @@
            return ResultUtil.runErr();
        }
    }
    /**
     * 修改手机号码
@@ -837,8 +837,6 @@
        }
    }
    /**
     * 修改登录密码
     * @param password
@@ -864,7 +862,6 @@
            return ResultUtil.runErr();
        }
    }
    /**
     * 修改个人信息
@@ -902,7 +899,6 @@
        }
    }
    @ResponseBody
    @PostMapping("/api/user/queryRealName")
    @ApiOperation(value = "获取实名认证的数据", tags = {"用户端-个人中心"}, notes = "")
@@ -923,7 +919,6 @@
        }
    }
    /**
     * 后台调用禁用用户
     * @param uid
@@ -943,7 +938,6 @@
            return ResultUtil.runErr();
        }
    }
    /**
     * 仿socket接口(单点登录)
@@ -1033,8 +1027,6 @@
        }
    }
    @ResponseBody
    @PostMapping("/api/user/editLanguage")
    @ApiOperation(value = "修改多语言配置", tags = {"用户端-个人中心"}, notes = "")
@@ -1058,7 +1050,6 @@
        }
    }
    @ResponseBody
    @PostMapping("/base/user/addReportLoss")
    @ApiOperation(value = "提交报失", tags = {"用户端-个人中心"}, notes = "")
@@ -1078,8 +1069,6 @@
        }
    }
    @ResponseBody
    @PostMapping("/base/user/queryOrderLicensePlate")
    @ApiOperation(value = "获取报失也车牌等信息", tags = {"用户端-个人中心"}, notes = "")
@@ -1097,8 +1086,6 @@
        }
    }
    @ResponseBody
    @RequestMapping("/base/user/image")
    public String image(@RequestPart("file") MultipartFile file) {
@@ -1109,8 +1096,6 @@
            return null;
        }
    }
    @ResponseBody
    @PostMapping("/api/user/queryBankCardList")
@@ -1139,8 +1124,6 @@
            return ResultUtil.runErr();
        }
    }
    @ResponseBody
    @PostMapping("/api/user/addBankCard")
@@ -1184,8 +1167,6 @@
        }
    }
    @ResponseBody
    @PostMapping("/api/user/delBankCard")
    @ApiOperation(value = "删除银行卡【1.1】", tags = {"用户端-个人中心"}, notes = "")
@@ -1202,7 +1183,6 @@
            return ResultUtil.runErr();
        }
    }
    /**
     * 下载pdf
UserIGOTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/model/UserInfo.java
@@ -172,6 +172,19 @@
     */
    @TableField("language")
    private Integer language;
    /**
     * 推特id
     */
    @TableField("twitterId")
    private String twitterId;
    public String getTwitterId() {
        return twitterId;
    }
    public void setTwitterId(String twitterId) {
        this.twitterId = twitterId;
    }
    public Integer getuType() {
        return uType;
UserIGOTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/service/IUserInfoService.java
@@ -90,7 +90,7 @@
     * @return
     * @throws Exception
     */
    ResultUtil facebookLogin(String id, String name, String email, Double lat, Double lng, Integer uid, Integer language) throws Exception;
    ResultUtil facebookLogin(String id, String name, String email, Double lat, Double lng, Integer uid, Integer language,int type) throws Exception;
    /**
@@ -249,4 +249,5 @@
     * @return
     */
    Integer queryLanguage(Integer uid, Integer language);
}
UserIGOTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/service/impl/UserInfoServiceImpl.java
@@ -414,6 +414,7 @@
                        emailService.insert(tEmail);
                    }
                }
                if(type == 1){//用户分享
                    UserInfo userInfo1 = userInfoMapper.selectById(uid);
                    List<Map<String, Object>> query = userActivityInviteMapper.query(userInfo1.getCompanyId());
@@ -928,8 +929,13 @@
    @Override
    public ResultUtil facebookLogin(String id, String name, String email, Double lat, Double lng, Integer uid, Integer language) throws Exception {
        UserInfo userInfo = this.selectOne(new EntityWrapper<UserInfo>().eq("faceBookId", id).ne("flag", 3));
    public ResultUtil facebookLogin(String id, String name, String email, Double lat, Double lng, Integer uid, Integer language,int type) throws Exception {
        UserInfo userInfo=null;
        if(type==1){
             userInfo = this.selectOne(new EntityWrapper<UserInfo>().eq("faceBookId", id).ne("flag", 3));
        }else {
             userInfo = this.selectOne(new EntityWrapper<UserInfo>().eq("twitterId", id).ne("flag", 3));
        }
        if(null == userInfo){
            userInfo = new UserInfo();
            userInfo.setEmail(email);
@@ -939,7 +945,11 @@
            userInfo.setBalance(0D);
            userInfo.setIntegral(0);
            userInfo.setPassWord(ShiroKit.md5("", salt));
            if(type==1){
            userInfo.setFaceBookId(id);
            }else {
                userInfo.setTwitterId(id);
            }
            userInfo.setState(1);
            userInfo.setFlag(1);
            userInfo.setInsertTime(new Date());
@@ -1036,8 +1046,6 @@
                }
                emailService.insert(tEmail);
            }
            this.addCoupon(userInfo, language);//添加优惠券
        }