| | |
| | | @Autowired |
| | | private PayMoneyUtil payMoneyUtil; |
| | | |
| | | @Autowired |
| | | private IBankCardService bankCardService; |
| | | |
| | | @Value("${callbackPath}") |
| | | private String callbackPath; |
| | | |
| | |
| | | * @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){ |
| | |
| | | |
| | | //发送验证码短信 |
| | | 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(); |
| | |
| | | * @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){ |
| | |
| | | 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()); |
| | |
| | | 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() + ",请查收"); |
| | | } |
| | |
| | | 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."); |
| | | } |
| | |
| | | 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"); |
| | | } |
| | |
| | | } |
| | | |
| | | @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; |
| | | } |
| | | |
| | |
| | | * @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"); |
| | |
| | | return ResultUtil.success(loginWarpper); |
| | | } |
| | | |
| | | userInfo.setPhoneOperator(phoneOperator); |
| | | userInfo.setPhone(phone); |
| | | userInfo.setUpdateTime(new Date()); |
| | | userInfo.setUpdateUser(userInfo.getId()); |
| | |
| | | * @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); |
| | |
| | | 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(""); |
| | | } |
| | | |
| | | |
| | |
| | | * @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"); |
| | |
| | | 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(); |
| | | } |
| | | |
| | |
| | | * @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); |
| | |
| | | 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){ |
| | |
| | | userInfo.setFirstName(firstName); |
| | | } |
| | | this.updateById(userInfo); |
| | | return ResultUtil.success(); |
| | | } |
| | | |
| | | |
| | |
| | | * 完成余额充值后的处理 |
| | | * @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){ |
| | |
| | | this.addCoupon(userInfo.getId(), query.getAmount(), userInfo.getCompanyId(), query.getId(), language);//添加优惠券 |
| | | |
| | | }else{ |
| | | System.err.println("预支付数据异常(userId = " + id + ")"); |
| | | System.err.println("预支付数据异常(paymentRecordId = " + paymentRecordId + ")"); |
| | | } |
| | | |
| | | } |