puzhibing
2023-09-01 75d6a10fd6ab39dc2db63c8cf4879ebba17f4e54
UserIGOTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/service/impl/UserInfoServiceImpl.java
@@ -102,6 +102,9 @@
    @Autowired
    private PayMoneyUtil payMoneyUtil;
    @Autowired
    private IBankCardService bankCardService;
    @Value("${callbackPath}")
    private String callbackPath;
@@ -110,6 +113,9 @@
    private String salt = "&a.s";
    @Autowired
    private SMSUtil smsUtil;
    /**
     * 获取短信验证码
@@ -117,7 +123,7 @@
     * @return
     */
    @Override
    public ResultUtil queryCaptcha(String phone, Integer type) throws Exception {
    public ResultUtil queryCaptcha(String phone, Integer type, Integer language) throws Exception {
        Random random = new Random();
        Object value = redisUtil.getValue(phone);
        if(value==null){
@@ -126,12 +132,22 @@
                sb.append((int) (random.nextDouble() * 10));
            }
            String authCode = sb.toString();
            String sms = "短信验证码【" + authCode + "】已发到您的手机,验证码将在5分钟后失效,请及时登录!";
            String sms = "";
            //发送验证码短信
            redisUtil.setStrValue(phone, authCode, 5 * 60);//设置五分钟过期
            SMSUtil.send_huawei_sms("b793ae3d41a049059197bfe92cf8bc83", "+" + phone, "[\"" + authCode + "\"]");
            System.out.println(sms);
            switch (language){
                case 1:
                    sms = "您的验证码为:" + authCode + ",该验证码5分钟内有效,请勿泄漏于他人!";
                    break;
                case 2:
                    sms = "Your verification code is: " + authCode + ", the verification code is valid within 5 minutes, do not leak to others!";
                    break;
                case 3:
                    sms = "Votre code de vérification est: " + authCode + ". Ce code est valide pendant 5 minutes. Ne le divulguez pas aux autres!";
                    break;
            }
            smsUtil.sendCellulantMessage(phone, sms);
        }
        return ResultUtil.success();
    }
@@ -167,7 +183,7 @@
     * @return
     */
    @Override
    public ResultUtil<LoginWarpper> captchaLogin(String phone, String code, String registIp, Double lat, Double lng,Integer uid,Integer type,
    public ResultUtil<LoginWarpper> captchaLogin(String phoneOperator, String phone, String code, String registIp, Double lat, Double lng,Integer uid,Integer type,
                                                 Integer userType, Integer language) throws Exception {
        boolean b = this.checkCaptcha(phone, code);
        if(!b){
@@ -177,6 +193,7 @@
        UserInfo userInfo = userInfoMapper.queryByPhone(phone);
        if(null == userInfo){
            userInfo = new UserInfo();
            userInfo.setPhoneOperator(phoneOperator);
            userInfo.setPhone(phone);
            userInfo.setPassWord(ShiroKit.md5("", salt));
            userInfo.setNickName(this.getDefaultName());
@@ -217,20 +234,20 @@
                String path = templatePath + "user/register.html";
                Document document = Jsoup.parse(new File(path), "UTF-8");
                if(1 == language){
                    document.getElementById("english").attr("style", "display: none;");
                    document.getElementById("french").attr("style", "display: none;");
                    document.getElementById("english").remove();
                    document.getElementById("french").remove();
                    Element user_chinese = document.getElementById("user_chinese");
                    user_chinese.text("您好 " + userInfo.getNickName() + ",");
                }
                if(2 == language){
                    document.getElementById("chinese").attr("style", "display: none;");
                    document.getElementById("french").attr("style", "display: none;");
                    document.getElementById("chinese").remove();
                    document.getElementById("french").remove();
                    Element user_english = document.getElementById("user_english");
                    user_english.text("Hello " + userInfo.getNickName() + ",");
                }
                if(3 == language){
                    document.getElementById("chinese").attr("style", "display: none;");
                    document.getElementById("english").attr("style", "display: none;");
                    document.getElementById("chinese").remove();
                    document.getElementById("english").remove();
                    Element user_french = document.getElementById("user_french");
                    user_french.text("Bonjour " + userInfo.getNickName() + ",");
                }
@@ -258,47 +275,47 @@
                        String path1 = templatePath + "driver/index.html";
                        Document document1 = Jsoup.parse(new File(path1), "UTF-8");
                        if(1 == language){
                            document1.getElementById("english").attr("style", "display: none;");
                            document1.getElementById("french").attr("style", "display: none;");
                            document1.getElementById("invite").attr("style", "display: none;");
                            document1.getElementById("settle").attr("style", "display: none;");
                            document1.getElementById("pass").attr("style", "display: none;");
                            document1.getElementById("bill").attr("style", "display: none;");
                            document1.getElementById("reward").attr("style", "display: none;");
                            document1.getElementById("rewardToday").attr("style", "display: none;");
                            document1.getElementById("english").remove();
                            document1.getElementById("french").remove();
                            document1.getElementById("invite").remove();
                            document1.getElementById("settle").remove();
                            document1.getElementById("pass").remove();
                            document1.getElementById("bill").remove();
                            document1.getElementById("reward").remove();
                            document1.getElementById("rewardToday").remove();
                            Element user_user = document1.getElementById("user_user");
                            user_user.text("您好 " + driver.getName() + ",");
                            user_user.text("您好 " + driver.getFirstName() + " " + driver.getLastName() + ",");
                            Element user_content = document1.getElementById("user_content");
                            user_content.text("您已成功邀请一位用户注册I-GO,获得奖励GHS " + bigDecimal.doubleValue() + ",请查收");
                        }
                        if(2 == language){
                            document1.getElementById("chinese").attr("style", "display: none;");
                            document1.getElementById("french").attr("style", "display: none;");
                            document1.getElementById("invite1").attr("style", "display: none;");
                            document1.getElementById("settle1").attr("style", "display: none;");
                            document1.getElementById("pass1").attr("style", "display: none;");
                            document1.getElementById("bill1").attr("style", "display: none;");
                            document1.getElementById("reward1").attr("style", "display: none;");
                            document1.getElementById("rewardToday1").attr("style", "display: none;");
                            document1.getElementById("chinese").remove();
                            document1.getElementById("french").remove();
                            document1.getElementById("invite1").remove();
                            document1.getElementById("settle1").remove();
                            document1.getElementById("pass1").remove();
                            document1.getElementById("bill1").remove();
                            document1.getElementById("reward1").remove();
                            document1.getElementById("rewardToday1").remove();
                            Element user1_user = document1.getElementById("user1_user");
                            user1_user.text("Hello " + driver.getName() + ",");
                            user1_user.text("Hello " + driver.getFirstName() + " " + driver.getLastName() + ",");
                            Element user1_content = document1.getElementById("user1_content");
                            user1_content.text("You have succeeded to invite a rider to register with I-GO, so you received a GHS " + bigDecimal.doubleValue() + " bonus, please check your balance.");
                        }
                        if(3 == language){
                            document1.getElementById("chinese").attr("style", "display: none;");
                            document1.getElementById("english").attr("style", "display: none;");
                            document1.getElementById("invite1").attr("style", "display: none;");
                            document1.getElementById("settle1").attr("style", "display: none;");
                            document1.getElementById("pass1").attr("style", "display: none;");
                            document1.getElementById("bill1").attr("style", "display: none;");
                            document1.getElementById("reward1").attr("style", "display: none;");
                            document1.getElementById("rewardToday1").attr("style", "display: none;");
                            document1.getElementById("chinese").remove();
                            document1.getElementById("english").remove();
                            document1.getElementById("invite1").remove();
                            document1.getElementById("settle1").remove();
                            document1.getElementById("pass1").remove();
                            document1.getElementById("bill1").remove();
                            document1.getElementById("reward1").remove();
                            document1.getElementById("rewardToday1").remove();
                            Element user2_user = document1.getElementById("user2_user");
                            user2_user.text("Bonjour " + driver.getName() + ",");
                            user2_user.text("Bonjour " + driver.getFirstName() + " " + driver.getLastName() + ",");
                            Element user2_content = document1.getElementById("user2_content");
                            user2_content.text("Vous avez invité avec succès un utilisateur à s’inscrire à i-go pour recevoir une récompense GHS " + bigDecimal.doubleValue() + ". Veuillez vérifier");
                        }
@@ -348,8 +365,8 @@
                            String path1 = templatePath +  "user/coupon.html";
                            Document document1 = Jsoup.parse(new File(path1), "UTF-8");
                            if(language == 1){
                                document1.getElementById("english").attr("style", "display: none;");
                                document1.getElementById("french").attr("style", "display: none;");
                                document1.getElementById("english").remove();
                                document1.getElementById("french").remove();
                                Element chinese_user = document1.getElementById("chinese_user");
                                chinese_user.text("您好 " + userInfo1.getNickName() + ",");
                                Element chinese_number = document1.getElementById("chinese_number");
@@ -358,8 +375,8 @@
                                chinese_date.text("此活动有效期在" + startTime + "至" + endTime + ",详情请查看I-GO平台");
                            }
                            if(language == 2){
                                document1.getElementById("chinese").attr("style", "display: none;");
                                document1.getElementById("french").attr("style", "display: none;");
                                document1.getElementById("chinese").remove();
                                document1.getElementById("french").remove();
                                Element english_user = document1.getElementById("english_user");
                                english_user.text("Hello " + userInfo1.getNickName() + ",");
                                Element english_number = document1.getElementById("english_number");
@@ -368,8 +385,8 @@
                                english_date.text("You could use them from" + startTime + "to" + endTime);
                            }
                            if(language == 3){
                                document1.getElementById("chinese").attr("style", "display: none;");
                                document1.getElementById("english").attr("style", "display: none;");
                                document1.getElementById("chinese").remove();
                                document1.getElementById("english").remove();
                                Element french_user = document1.getElementById("french_user");
                                french_user.text("Bonjour " + userInfo1.getNickName() + ",");
                                Element french_number = document1.getElementById("french_number");
@@ -405,9 +422,8 @@
    }
    @Override
    public synchronized ResultUtil<LoginWarpper> captchaLogin(String phone, String code, Integer uid, Integer type, Integer userType, Integer language) throws Exception {
        ResultUtil<LoginWarpper> resultUtil = this.captchaLogin(phone, code, null, null, null,uid,type,userType,language);
    public synchronized ResultUtil<LoginWarpper> captchaLogin(String phoneOperator, String phone, String code, Integer uid, Integer type, Integer userType, Integer language) throws Exception {
        ResultUtil<LoginWarpper> resultUtil = this.captchaLogin(phoneOperator, phone, code, null, null, null,uid,type,userType,language);
        return resultUtil;
    }
@@ -538,20 +554,20 @@
                String path = templatePath +  "user/register.html";
                Document document = Jsoup.parse(new File(path), "UTF-8");
                if(1 == language){
                    document.getElementById("english").attr("style", "display: none;");
                    document.getElementById("french").attr("style", "display: none;");
                    document.getElementById("english").remove();
                    document.getElementById("french").remove();
                    Element user_chinese = document.getElementById("user_chinese");
                    user_chinese.text("您好 " + userInfo.getNickName() + ",");
                }
                if(2 == language){
                    document.getElementById("chinese").attr("style", "display: none;");
                    document.getElementById("french").attr("style", "display: none;");
                    document.getElementById("chinese").remove();
                    document.getElementById("french").remove();
                    Element user_english = document.getElementById("user_english");
                    user_english.text("Hello " + userInfo.getNickName() + ",");
                }
                if(3 == language){
                    document.getElementById("chinese").attr("style", "display: none;");
                    document.getElementById("english").attr("style", "display: none;");
                    document.getElementById("chinese").remove();
                    document.getElementById("english").remove();
                    Element user_french = document.getElementById("user_french");
                    user_french.text("Bonjour " + userInfo.getNickName() + ",");
                }
@@ -621,8 +637,8 @@
                    String path = templatePath +  "user/coupon.html";
                    Document document = Jsoup.parse(new File(path), "UTF-8");
                    if(language == 1){
                        document.getElementById("english").attr("style", "display: none;");
                        document.getElementById("french").attr("style", "display: none;");
                        document.getElementById("english").remove();
                        document.getElementById("french").remove();
                        Element chinese_user = document.getElementById("chinese_user");
                        chinese_user.text("您好 " + userInfo.getNickName() + ",");
                        Element chinese_number = document.getElementById("chinese_number");
@@ -631,8 +647,8 @@
                        chinese_date.text("此活动有效期在" + startTime + "至" + endTime + ",详情请查看I-GO平台");
                    }
                    if(language == 2){
                        document.getElementById("chinese").attr("style", "display: none;");
                        document.getElementById("french").attr("style", "display: none;");
                        document.getElementById("chinese").remove();
                        document.getElementById("french").remove();
                        Element english_user = document.getElementById("english_user");
                        english_user.text("Hello " + userInfo.getNickName() + ",");
                        Element english_number = document.getElementById("english_number");
@@ -641,8 +657,8 @@
                        english_date.text("You could use them from" + startTime + "to" + endTime);
                    }
                    if(language == 3){
                        document.getElementById("chinese").attr("style", "display: none;");
                        document.getElementById("english").attr("style", "display: none;");
                        document.getElementById("chinese").remove();
                        document.getElementById("english").remove();
                        Element french_user = document.getElementById("french_user");
                        french_user.text("Bonjour " + userInfo.getNickName() + ",");
                        Element french_number = document.getElementById("french_number");
@@ -740,20 +756,20 @@
                String path = templatePath +  "user/register.html";
                Document document = Jsoup.parse(new File(path), "UTF-8");
                if(1 == language){
                    document.getElementById("english").attr("style", "display: none;");
                    document.getElementById("french").attr("style", "display: none;");
                    document.getElementById("english").remove();
                    document.getElementById("french").remove();
                    Element user_chinese = document.getElementById("user_chinese");
                    user_chinese.text("您好 " + userInfo.getNickName() + ",");
                }
                if(2 == language){
                    document.getElementById("chinese").attr("style", "display: none;");
                    document.getElementById("french").attr("style", "display: none;");
                    document.getElementById("chinese").remove();
                    document.getElementById("french").remove();
                    Element user_english = document.getElementById("user_english");
                    user_english.text("Hello " + userInfo.getNickName() + ",");
                }
                if(3 == language){
                    document.getElementById("chinese").attr("style", "display: none;");
                    document.getElementById("english").attr("style", "display: none;");
                    document.getElementById("chinese").remove();
                    document.getElementById("english").remove();
                    Element user_french = document.getElementById("user_french");
                    user_french.text("Bonjour " + userInfo.getNickName() + ",");
                }
@@ -823,8 +839,8 @@
                    String path = templatePath +  "user/coupon.html";
                    Document document = Jsoup.parse(new File(path), "UTF-8");
                    if(language == 1){
                        document.getElementById("english").attr("style", "display: none;");
                        document.getElementById("french").attr("style", "display: none;");
                        document.getElementById("english").remove();
                        document.getElementById("french").remove();
                        Element chinese_user = document.getElementById("chinese_user");
                        chinese_user.text("您好 " + userInfo.getNickName() + ",");
                        Element chinese_number = document.getElementById("chinese_number");
@@ -833,8 +849,8 @@
                        chinese_date.text("此活动有效期在" + startTime + "至" + endTime + ",详情请查看I-GO平台");
                    }
                    if(language == 2){
                        document.getElementById("chinese").attr("style", "display: none;");
                        document.getElementById("french").attr("style", "display: none;");
                        document.getElementById("chinese").remove();
                        document.getElementById("french").remove();
                        Element english_user = document.getElementById("english_user");
                        english_user.text("Hello " + userInfo.getNickName() + ",");
                        Element english_number = document.getElementById("english_number");
@@ -843,8 +859,8 @@
                        english_date.text("You could use them from" + startTime + "to" + endTime);
                    }
                    if(language == 3){
                        document.getElementById("chinese").attr("style", "display: none;");
                        document.getElementById("english").attr("style", "display: none;");
                        document.getElementById("chinese").remove();
                        document.getElementById("english").remove();
                        Element french_user = document.getElementById("french_user");
                        french_user.text("Bonjour " + userInfo.getNickName() + ",");
                        Element french_number = document.getElementById("french_number");
@@ -902,7 +918,7 @@
     * @throws Exception
     */
    @Override
    public ResultUtil bindingPhone(Integer uid, String phone, String code, Integer language) throws Exception {
    public ResultUtil bindingPhone(Integer uid, String phoneOperator, String phone, String code, Integer language) throws Exception {
        boolean b = this.checkCaptcha(phone, code);
        if(!b){
            return ResultUtil.error(language == 1 ? "验证码无效" : language == 2 ? "Invalid captcha" : "Code de vérification invalide");
@@ -952,6 +968,7 @@
            return ResultUtil.success(loginWarpper);
        }
        userInfo.setPhoneOperator(phoneOperator);
        userInfo.setPhone(phone);
        userInfo.setUpdateTime(new Date());
        userInfo.setUpdateUser(userInfo.getId());
@@ -1099,28 +1116,20 @@
     * @throws Exception
     */
    @Override
    public ResultUtil depositBalance(Integer payType, String accountNumber, Double money, Integer uid, Integer type, Integer language) throws Exception {
    public ResultUtil depositBalance(Integer payType, String bankCardId, Double money, Integer uid, Integer type, Integer language) throws Exception {
        UserInfo userInfo = userInfoMapper.selectById(uid);
        if(money.compareTo(0D) <= 0){
            return ResultUtil.error("支付金额必须大于0元");
            return ResultUtil.error("支付金额必须大于0元", "");
        }
        if(payType == 1){//微信支付
        if(payType == 1){//手机支付
            Integer integer = paymentRecordService.saveData(2, uid, 1, null, null, 1, money, "", 1);//添加预支付数据
//            ResultUtil resultUtil = payMoneyUtil.weixinpay("余额充值",language.toString(),integer.toString(),money+"","/base/wxCancelUserBalance","JSAPI",userInfo.getAppletsOpenId());
//            if(resultUtil.getCode()==200){
//                PaymentRecord paymentRecord = paymentRecordService.selectById(integer);
//                paymentRecordService.updateById(paymentRecord);
//                return resultUtil;
//            }else{
//                return ResultUtil.error("获取支付信息失败", "");
//            }
            SimpleDateFormat sdf = new SimpleDateFormat("yyyyMMddHHmmssSSS");
            String merchantTransactionId = sdf.format(new Date()) + language + integer;
            CheckoutRequest checkoutRequest = new CheckoutRequest();
            checkoutRequest.setMsisdn(Long.valueOf(userInfo.getPhone()));
            checkoutRequest.setCustomerEmail(userInfo.getEmail());
            checkoutRequest.setAccountNumber(accountNumber);
            checkoutRequest.setAccountNumber(userInfo.getPhone());
            checkoutRequest.setCustomerFirstName(userInfo.getFirstName());
            checkoutRequest.setCustomerLastName(userInfo.getLastName());
            checkoutRequest.setRequestAmount(money);
@@ -1128,24 +1137,32 @@
            checkoutRequest.setRequestDescription("Account top-up");
            checkoutRequest.setCallbackUrl(callbackPath + "/base/wxCancelUserBalance");
            checkoutRequest.setPendingRedirectUrl("");
            checkoutRequest.setSuccessRedirectUrl("https://10pz685243.zicp.fun");
            checkoutRequest.setFailRedirectUrl("https://www.baidu.com");
            checkoutRequest.setSuccessRedirectUrl("http://182.160.16.251:81/payMoney/pages/success.html");
            checkoutRequest.setFailRedirectUrl("http://182.160.16.251:81/payMoney/pages/fail.html");
            return TinggPayUtil.checkoutRequest(checkoutRequest);
        }
//        if(payType == 2){//支付宝支付
//            Integer integer = paymentRecordService.saveData(2, uid, 1, null, null, 2, money, "", 1);//添加预支付数据
//            ResultUtil resultUtil = payMoneyUtil.alipay("余额充值","余额充值",integer + "_" + language,money+"","/base/aliCancelUserBalance");
//            if(resultUtil.getCode()==200){
//                PaymentRecord paymentRecord = paymentRecordService.selectById(integer);
//                paymentRecordService.updateById(paymentRecord);
//                return resultUtil;
//            }else{
//                return ResultUtil.error("获取支付信息失败", "");
//            }
//        }
        return ResultUtil.success();
        if(payType == 2){//银行卡支付
            Integer integer = paymentRecordService.saveData(2, uid, 1, null, null, 1, money, "", 1);//添加预支付数据
            BankCard bankCard = bankCardService.selectById(bankCardId);
            SimpleDateFormat sdf = new SimpleDateFormat("yyyyMMddHHmmssSSS");
            String merchantTransactionId = sdf.format(new Date()) + language + integer;
            CheckoutRequest checkoutRequest = new CheckoutRequest();
            checkoutRequest.setMsisdn(Long.valueOf(bankCard.getCode()));
            checkoutRequest.setCustomerEmail(userInfo.getEmail());
            checkoutRequest.setAccountNumber(bankCard.getCode());
            checkoutRequest.setCustomerFirstName(bankCard.getFirstName());
            checkoutRequest.setCustomerLastName(bankCard.getLastName());
            checkoutRequest.setRequestAmount(money);
            checkoutRequest.setMerchantTransactionId(merchantTransactionId);
            checkoutRequest.setRequestDescription("Account top-up");
            checkoutRequest.setCallbackUrl(callbackPath + "/base/wxCancelUserBalance");
            checkoutRequest.setPendingRedirectUrl("");
            checkoutRequest.setSuccessRedirectUrl("http://182.160.16.251:81/payMoney/pages/success.html");
            checkoutRequest.setFailRedirectUrl("http://182.160.16.251:81/payMoney/pages/fail.html");
            return TinggPayUtil.checkoutRequest(checkoutRequest);
        }
        return ResultUtil.success("");
    }
@@ -1158,7 +1175,7 @@
     * @throws Exception
     */
    @Override
    public ResultUtil updatePhone(String code, String phone, Integer uid, Integer language) throws Exception {
    public ResultUtil updatePhone(String code, String phoneOperator, String phone, Integer uid, Integer language) throws Exception {
        boolean b = this.checkCaptcha(phone, code);
        if(!b){
            return ResultUtil.error(language == 1 ? "验证码无效" : language == 2 ? "Invalid captcha" : "Code de vérification invalide");
@@ -1168,10 +1185,9 @@
        if(null != userInfo1){
            return ResultUtil.error(language == 1 ? "手机号已被注册" : language == 2 ? "The phone number has been registered" : "Le numéro de téléphone a été enregistré");
        }
        userInfo.setPhoneOperator(phoneOperator);
        userInfo.setPhone(phone);
        this.updateById(userInfo);
//        smsrecordService.saveData(2, phone, code, "短信验证码【" + code + "】已发到您的手机,验证码将在5分钟后失效,请及时登录!");
        return ResultUtil.success();
    }
@@ -1193,20 +1209,20 @@
            String path = templatePath +  "user/passwordReset.html";
            Document document = Jsoup.parse(new File(path), "UTF-8");
            if(1 == language){
                document.getElementById("english").attr("style", "display: none;");
                document.getElementById("french").attr("style", "display: none;");
                document.getElementById("english").remove();
                document.getElementById("french").remove();
                Element user_chinese = document.getElementById("user_chinese");
                user_chinese.text("您好 " + userInfo.getNickName() + ",");
            }
            if(2 == language){
                document.getElementById("chinese").attr("style", "display: none;");
                document.getElementById("french").attr("style", "display: none;");
                document.getElementById("chinese").remove();
                document.getElementById("french").remove();
                Element user_chinese = document.getElementById("user_english");
                user_chinese.text("Hello " + userInfo.getNickName() + ",");
            }
            if(3 == language){
                document.getElementById("chinese").attr("style", "display: none;");
                document.getElementById("english").attr("style", "display: none;");
                document.getElementById("chinese").remove();
                document.getElementById("english").remove();
                Element user_french = document.getElementById("user_french");
                user_french.text("Bonjour " + userInfo.getNickName() + ",");
            }
@@ -1227,7 +1243,7 @@
     * @throws Exception
     */
    @Override
    public void updateInfo(String avatar, String nickname, Integer sex, Date birthday, String email, String lastName, String firstName, Integer uid) throws Exception {
    public ResultUtil updateInfo(String avatar, String nickname, Integer sex, Date birthday, String email, String code, String lastName, String firstName, Integer uid, Integer language) throws Exception {
        UserInfo userInfo = this.selectById(uid);
        if(ToolUtil.isNotEmpty(avatar)){
            userInfo.setAvatar(avatar);
@@ -1242,6 +1258,10 @@
            userInfo.setBirthday(birthday);
        }
        if(null != email){
            String value = redisUtil.getValue(email);
            if(ToolUtil.isEmpty(value) || code.equals(value)){
                return ResultUtil.error(language == 1 ? "验证码无效" : language == 2 ? "Invalid captcha" : "Code de vérification invalide");
            }
            userInfo.setEmail(email);
        }
        if(null != lastName){
@@ -1251,6 +1271,7 @@
            userInfo.setFirstName(firstName);
        }
        this.updateById(userInfo);
        return ResultUtil.success();
    }
@@ -1270,11 +1291,10 @@
     * 完成余额充值后的处理
     * @param id            用户id
     * @param order_id      工行订单id
     * @param type          支付类型(1=微信,2=支付宝)
     * @throws Exception
     */
    @Override
    public void payCancelUserBalance(Integer id, String order_id, Integer paymentRecordId, Integer type, Integer language) throws Exception {
    public void payCancelUserBalance(Integer id, String order_id, Integer paymentRecordId, Integer language) throws Exception {
        PaymentRecord query = paymentRecordService.selectById(paymentRecordId);
        UserInfo userInfo = this.selectById(query.getUserId());
        if(null != query){
@@ -1291,7 +1311,7 @@
            this.addCoupon(userInfo.getId(), query.getAmount(), userInfo.getCompanyId(), query.getId(), language);//添加优惠券
        }else{
            System.err.println("预支付数据异常(userId = "  + id + ")");
            System.err.println("预支付数据异常(paymentRecordId = "  + paymentRecordId + ")");
        }
    }
@@ -1444,8 +1464,8 @@
                    String path = templatePath +  "user/coupon.html";
                    Document document = Jsoup.parse(new File(path), "UTF-8");
                    if(language == 1){
                        document.getElementById("english").attr("style", "display: none;");
                        document.getElementById("french").attr("style", "display: none;");
                        document.getElementById("english").remove();
                        document.getElementById("french").remove();
                        Element chinese_user = document.getElementById("chinese_user");
                        chinese_user.text("您好 " + userInfo.getNickName() + ",");
                        Element chinese_number = document.getElementById("chinese_number");
@@ -1454,8 +1474,8 @@
                        chinese_date.text("此活动有效期在" + startTime + "至" + endTime + ",详情请查看I-GO平台");
                    }
                    if(language == 2){
                        document.getElementById("chinese").attr("style", "display: none;");
                        document.getElementById("french").attr("style", "display: none;");
                        document.getElementById("chinese").remove();
                        document.getElementById("french").remove();
                        Element english_user = document.getElementById("english_user");
                        english_user.text("Hello " + userInfo.getNickName() + ",");
                        Element english_number = document.getElementById("english_number");
@@ -1464,8 +1484,8 @@
                        english_date.text("You could use them from" + startTime + "to" + endTime);
                    }
                    if(language == 3){
                        document.getElementById("chinese").attr("style", "display: none;");
                        document.getElementById("english").attr("style", "display: none;");
                        document.getElementById("chinese").remove();
                        document.getElementById("english").remove();
                        Element french_user = document.getElementById("french_user");
                        french_user.text("Bonjour " + userInfo.getNickName() + ",");
                        Element french_number = document.getElementById("french_number");
@@ -1569,8 +1589,8 @@
                    String path = templatePath +  "user/coupon.html";
                    Document document = Jsoup.parse(new File(path), "UTF-8");
                    if(language == 1){
                        document.getElementById("english").attr("style", "display: none;");
                        document.getElementById("french").attr("style", "display: none;");
                        document.getElementById("english").remove();
                        document.getElementById("french").remove();
                        Element chinese_user = document.getElementById("chinese_user");
                        chinese_user.text("您好 " + userInfo.getNickName() + ",");
                        Element chinese_number = document.getElementById("chinese_number");
@@ -1579,8 +1599,8 @@
                        chinese_date.text("此活动有效期在" + startTime + "至" + endTime + ",详情请查看I-GO平台");
                    }
                    if(language == 2){
                        document.getElementById("chinese").attr("style", "display: none;");
                        document.getElementById("french").attr("style", "display: none;");
                        document.getElementById("chinese").remove();
                        document.getElementById("french").remove();
                        Element english_user = document.getElementById("english_user");
                        english_user.text("Hello " + userInfo.getNickName() + ",");
                        Element english_number = document.getElementById("english_number");
@@ -1589,8 +1609,8 @@
                        english_date.text("You could use them from" + startTime + "to" + endTime);
                    }
                    if(language == 3){
                        document.getElementById("chinese").attr("style", "display: none;");
                        document.getElementById("english").attr("style", "display: none;");
                        document.getElementById("chinese").remove();
                        document.getElementById("english").remove();
                        Element french_user = document.getElementById("french_user");
                        french_user.text("Bonjour " + userInfo.getNickName() + ",");
                        Element french_number = document.getElementById("french_number");
@@ -1612,6 +1632,7 @@
     * @param id
     */
    private void singlePointLogin(Integer id) throws Exception{
        pushUtil.pushOffline(id, 1);
        //开始验证当前账号是否在别处登录
        String value = redisUtil.getValue("USER_" + id);
        if(ToolUtil.isNotEmpty(value)){//将另外设备上的强迫下线