From b5ff50145e846637838a7905610aed3f4ada5e72 Mon Sep 17 00:00:00 2001 From: puzhibing <393733352@qq.com> Date: 星期二, 04 七月 2023 00:08:51 +0800 Subject: [PATCH] 更新部分支付功能逻辑 --- UserIGOTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/service/impl/UserInfoServiceImpl.java | 67 +++++++++++++++++---------------- 1 files changed, 35 insertions(+), 32 deletions(-) diff --git a/UserIGOTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/service/impl/UserInfoServiceImpl.java b/UserIGOTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/service/impl/UserInfoServiceImpl.java index 96662d0..03c065d 100644 --- a/UserIGOTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/service/impl/UserInfoServiceImpl.java +++ b/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; @@ -167,7 +170,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 +180,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()); @@ -405,9 +409,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 +905,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 +955,7 @@ return ResultUtil.success(loginWarpper); } + userInfo.setPhoneOperator(phoneOperator); userInfo.setPhone(phone); userInfo.setUpdateTime(new Date()); userInfo.setUpdateUser(userInfo.getId()); @@ -1099,28 +1103,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元"); } - 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); @@ -1131,20 +1127,28 @@ checkoutRequest.setSuccessRedirectUrl("https://10pz685243.zicp.fun"); checkoutRequest.setFailRedirectUrl("https://www.baidu.com"); 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("获取支付信息失败", ""); -// } -// } + + 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("https://10pz685243.zicp.fun"); + checkoutRequest.setFailRedirectUrl("https://www.baidu.com"); + return TinggPayUtil.checkoutRequest(checkoutRequest); + } return ResultUtil.success(); } @@ -1158,7 +1162,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 +1172,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(); } -- Gitblit v1.7.1