puzhibing
2023-07-25 c91d30ae503c1a37c60a2fc83f610e032d56a26c
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;
@@ -117,7 +120,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){
@@ -130,7 +133,19 @@
            //发送验证码短信
            redisUtil.setStrValue(phone, authCode, 5 * 60);//设置五分钟过期
            SMSUtil.send_huawei_sms("b793ae3d41a049059197bfe92cf8bc83", "+" + phone, "[\"" + authCode + "\"]");
            String templateId = "";
            switch (language){
                case 1:
                    templateId = "b793ae3d41a049059197bfe92cf8bc83";
                    break;
                case 2:
                    templateId = "058c7d11ce594d668841cceb49fb5c9a";
                    break;
                case 3:
                    templateId = "4edbe604da6546808ffda582085b3c83";
                    break;
            }
            SMSUtil.send_huawei_sms(templateId, "+" + phone, "[\"" + authCode + "\"]");
            System.out.println(sms);
        }
        return ResultUtil.success();
@@ -167,7 +182,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 +192,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());
@@ -268,7 +284,7 @@
                            document1.getElementById("rewardToday").attr("style", "display: none;");
                            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() + ",请查收");
                        }
@@ -283,7 +299,7 @@
                            document1.getElementById("rewardToday1").attr("style", "display: none;");
                            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.");
                        }
@@ -298,7 +314,7 @@
                            document1.getElementById("rewardToday1").attr("style", "display: none;");
                            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");
                        }
@@ -405,9 +421,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;
    }
@@ -902,7 +917,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 +967,7 @@
            return ResultUtil.success(loginWarpper);
        }
        userInfo.setPhoneOperator(phoneOperator);
        userInfo.setPhone(phone);
        userInfo.setUpdateTime(new Date());
        userInfo.setUpdateUser(userInfo.getId());
@@ -1099,28 +1115,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 +1136,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 +1174,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 +1184,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();
    }
@@ -1227,7 +1242,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 +1257,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 +1270,7 @@
            userInfo.setFirstName(firstName);
        }
        this.updateById(userInfo);
        return ResultUtil.success();
    }
@@ -1270,11 +1290,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 +1310,7 @@
            this.addCoupon(userInfo.getId(), query.getAmount(), userInfo.getCompanyId(), query.getId(), language);//添加优惠券
        }else{
            System.err.println("预支付数据异常(userId = "  + id + ")");
            System.err.println("预支付数据异常(paymentRecordId = "  + paymentRecordId + ")");
        }
    }