From 257bc9e7601c2e6f06e1098c3f25b38bf2877119 Mon Sep 17 00:00:00 2001 From: wangw <1594593906@qq.com> Date: Mon, 30 Dec 2024 16:23:51 +0800 Subject: [PATCH] =?UTF-8?q?=E4=BA=91=E8=B4=ADos=E7=A7=BB=E9=99=A4?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- pom.xml | 7 - .../app/service/impl/UserServiceImpl.java | 2 +- .../pay/controller/app/AliPayController.java | 146 +++--------------- .../redisService/impl/RedisServiceImpl.java | 6 +- 4 files changed, 29 insertions(+), 132 deletions(-) diff --git a/pom.xml b/pom.xml index 5de3422f..7c4217ec 100644 --- a/pom.xml +++ b/pom.xml @@ -105,13 +105,6 @@ - - - com.yungouos.pay - yungouos-pay-sdk - 2.0.10 - - org.hibernate.validator hibernate-validator diff --git a/src/main/java/com/sqx/modules/app/service/impl/UserServiceImpl.java b/src/main/java/com/sqx/modules/app/service/impl/UserServiceImpl.java index 2de000d5..8cdb91da 100644 --- a/src/main/java/com/sqx/modules/app/service/impl/UserServiceImpl.java +++ b/src/main/java/com/sqx/modules/app/service/impl/UserServiceImpl.java @@ -1498,7 +1498,7 @@ public class UserServiceImpl extends ServiceImpl implements if (ret) { ThreadUtil.execAsync(()->{ discSpinningService.withdrawAsync(entity, money.doubleValue(), "[提现]"); - },true); + }); } } catch (Exception e) { log.error("首绑支付宝发放奖励异常,用户信息:{}", JSONUtil.toJsonStr(entity)); diff --git a/src/main/java/com/sqx/modules/pay/controller/app/AliPayController.java b/src/main/java/com/sqx/modules/pay/controller/app/AliPayController.java index ec5f508d..207ded4a 100644 --- a/src/main/java/com/sqx/modules/pay/controller/app/AliPayController.java +++ b/src/main/java/com/sqx/modules/pay/controller/app/AliPayController.java @@ -32,9 +32,6 @@ import com.sqx.modules.pay.dao.PayDetailsDao; import com.sqx.modules.pay.entity.PayClassify; import com.sqx.modules.pay.entity.PayDetails; import com.sqx.modules.pay.service.PayClassifyService; -import com.yungouos.pay.alipay.AliPay; -import com.yungouos.pay.entity.AliPayH5Biz; -import com.yungouos.pay.util.PaySignUtil; import io.swagger.annotations.Api; import io.swagger.annotations.ApiOperation; import lombok.extern.slf4j.Slf4j; @@ -109,16 +106,16 @@ public class AliPayController { log.info(flag + "回调验证信息"); if (flag) { String tradeStatus = params.get("trade_status"); - if("TRADE_SUCCESS".equals(tradeStatus) || "TRADE_FINISHED".equals(tradeStatus)){ + if ("TRADE_SUCCESS".equals(tradeStatus) || "TRADE_FINISHED".equals(tradeStatus)) { //支付宝返回的订单编号 String outTradeNo = params.get("out_trade_no"); //支付宝支付单号 String tradeNo = params.get("trade_no"); PayDetails payDetails = payDetailsDao.selectByOrderId(outTradeNo); - if(payDetails.getState()==0){ + if (payDetails.getState() == 0) { String format = sdf.format(new Date()); - payDetailsDao.updateState(payDetails.getId(),1,format,tradeNo); - if(payDetails.getType()==1){ + payDetailsDao.updateState(payDetails.getId(), 1, format, tradeNo); + if (payDetails.getType() == 1) { Orders orders = ordersService.selectOrderByOrdersNo(payDetails.getOrderId()); orders.setPayWay(4); orders.setStatus(1); @@ -128,34 +125,34 @@ public class AliPayController { UserEntity byUser = userService.queryByInvitationCode(user.getInviterCode()); Map map = inviteService.updateInvite(byUser, format, user.getUserId(), orders.getPayMoney()); Object oneUserId = map.get("oneUserId"); - if(oneUserId!=null){ + if (oneUserId != null) { orders.setOneUserId(Long.parseLong(String.valueOf(oneUserId))); orders.setOneMoney(new BigDecimal(String.valueOf(map.get("oneMoney")))); } Object twoUserId = map.get("twoUserId"); - if(twoUserId!=null){ + if (twoUserId != null) { orders.setTwoUserId(Long.parseLong(String.valueOf(twoUserId))); orders.setTwoMoney(new BigDecimal(String.valueOf(map.get("twoMoney")))); } Object sysUserId = map.get("sysUserId"); - if(sysUserId!=null){ + if (sysUserId != null) { orders.setSysUserId(Long.parseLong(String.valueOf(sysUserId))); orders.setQdMoney(new BigDecimal(String.valueOf(map.get("qdMoney")))); } ordersService.updateById(orders); ordersService.insertOrders(orders); - }else{ + } else { String remark = payDetails.getRemark(); PayClassify payClassify = payClassifyService.getById(Long.parseLong(remark)); BigDecimal add = payClassify.getMoney().add(payClassify.getGiveMoney()); - userMoneyService.updateMoney(1,payDetails.getUserId(),add.doubleValue()); - UserMoneyDetails userMoneyDetails=new UserMoneyDetails(); + userMoneyService.updateMoney(1, payDetails.getUserId(), add.doubleValue()); + UserMoneyDetails userMoneyDetails = new UserMoneyDetails(); // ✅ userMoneyDetails.setClassify(2); userMoneyDetails.setMoney(add); userMoneyDetails.setUserId(payDetails.getUserId()); userMoneyDetails.setContent("支付宝充值金币"); - userMoneyDetails.setTitle("支付宝充值金币:"+payClassify.getMoney()+",赠送:"+payClassify.getGiveMoney()); + userMoneyDetails.setTitle("支付宝充值金币:" + payClassify.getMoney() + ",赠送:" + payClassify.getGiveMoney()); userMoneyDetails.setType(1); SimpleDateFormat simpleDateFormat = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss"); userMoneyDetails.setCreateTime(simpleDateFormat.format(new Date())); @@ -179,92 +176,15 @@ public class AliPayController { @ApiOperation("支付宝回调") @RequestMapping("/notifyAppYunOS") @Transactional(rollbackFor = Exception.class) - public String notifyAppYunOS(HttpServletRequest request, HttpServletResponse response){ - //获取支付宝POST过来反馈信息 - Map params = new HashMap(); - Map requestParams = request.getParameterMap(); - for (Iterator iter = requestParams.keySet().iterator(); iter.hasNext();) { - String name = (String) iter.next(); - String[] values = (String[]) requestParams.get(name); - String valueStr = ""; - for (int i = 0; i < values.length; i++) { - valueStr = (i == values.length - 1) ? valueStr + values[i] - : valueStr + values[i] + ","; - } - //乱码解决,这段代码在出现乱码时使用。 - //valueStr = new String(valueStr.getBytes("ISO-8859-1"), "utf-8"); - params.put(name, valueStr); - } - String outTradeNo = params.get("outTradeNo"); - String code = params.get("code"); - String key = commonInfoService.findOne(169).getValue(); - try { - boolean flag = PaySignUtil.checkNotifySign(request, key); - if(flag){ - if("1".equals(code)){ - PayDetails payDetails=payDetailsDao.selectByOrderId(outTradeNo); - if(payDetails.getState()==0) { - String format = sdf.format(new Date()); - payDetailsDao.updateState(payDetails.getId(),1,format,null); - if(payDetails.getType()==1){ - Orders orders = ordersService.selectOrderByOrdersNo(payDetails.getOrderId()); - orders.setPayWay(4); - orders.setStatus(1); - orders.setPayTime(DateUtils.format(new Date())); - ordersService.updateById(orders); - UserEntity user = userService.selectUserById(orders.getUserId()); - UserEntity byUser = userService.queryByInvitationCode(user.getInviterCode()); - Map map = inviteService.updateInvite(byUser, format, user.getUserId(), orders.getPayMoney()); - Object oneUserId = map.get("oneUserId"); - if(oneUserId!=null){ - orders.setOneUserId(Long.parseLong(String.valueOf(oneUserId))); - orders.setOneMoney(new BigDecimal(String.valueOf(map.get("oneMoney")))); - } - Object twoUserId = map.get("twoUserId"); - if(twoUserId!=null){ - orders.setTwoUserId(Long.parseLong(String.valueOf(twoUserId))); - orders.setTwoMoney(new BigDecimal(String.valueOf(map.get("twoMoney")))); - } - Object sysUserId = map.get("sysUserId"); - if(sysUserId!=null){ - orders.setSysUserId(Long.parseLong(String.valueOf(sysUserId))); - orders.setQdMoney(new BigDecimal(String.valueOf(map.get("qdMoney")))); - } - ordersService.insertOrders(orders); - }else{ - String remark = payDetails.getRemark(); - PayClassify payClassify = payClassifyService.getById(Long.parseLong(remark)); - BigDecimal add = payClassify.getMoney().add(payClassify.getGiveMoney()); - userMoneyService.updateMoney(1,payDetails.getUserId(),add.doubleValue()); - UserMoneyDetails userMoneyDetails=new UserMoneyDetails(); - // ✅ - userMoneyDetails.setClassify(2); - userMoneyDetails.setMoney(add); - userMoneyDetails.setUserId(payDetails.getUserId()); - userMoneyDetails.setContent("支付宝充值金币"); - userMoneyDetails.setTitle("支付宝充值金币:"+payClassify.getMoney()+",赠送:"+payClassify.getGiveMoney()); - userMoneyDetails.setType(1); - SimpleDateFormat simpleDateFormat = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss"); - userMoneyDetails.setCreateTime(simpleDateFormat.format(new Date())); - userMoneyDetails.setMoneyType(2); - userMoneyDetailsService.save(userMoneyDetails); - } - } - } - return "SUCCESS"; - } - } catch (Exception e) { - e.printStackTrace(); - log.error("云购os支付报错!"+e.getMessage()); - } - return null; + public String notifyAppYunOS(HttpServletRequest request, HttpServletResponse response) { + return "SUCCESS"; } @Login @ApiOperation("支付宝支付订单") @RequestMapping(value = "/payOrder", method = RequestMethod.POST) @Transactional(rollbackFor = Exception.class) - public Result payOrder(Long orderId,Integer classify) { + public Result payOrder(Long orderId, Integer classify) { //通知页面地址 CommonInfo one = commonInfoService.findOne(19); String returnUrl = one.getValue() + "/#/pages/task/recharge"; @@ -274,17 +194,17 @@ public class AliPayController { log.info("回调地址:" + url); Orders orders = ordersDao.selectById(orderId); PayDetails payDetails = payDetailsDao.selectByOrderId(orders.getOrdersNo()); - if(payDetails==null){ - payDetails=new PayDetails(); + if (payDetails == null) { + payDetails = new PayDetails(); payDetails.setState(0); payDetails.setCreateTime(sdf.format(new Date())); payDetails.setOrderId(orders.getOrdersNo()); payDetails.setUserId(orders.getUserId()); payDetails.setMoney(orders.getPayMoney().doubleValue()); payDetails.setType(1); - if(classify==1){ + if (classify == 1) { payDetails.setClassify(4); - }else{ + } else { payDetails.setClassify(5); } payDetailsDao.insert(payDetails); @@ -300,7 +220,7 @@ public class AliPayController { @ApiOperation("支付宝支付订单") @RequestMapping(value = "/payMoney", method = RequestMethod.POST) @Transactional(rollbackFor = Exception.class) - public Result payMoney(Long payClassifyId, Integer classify,@RequestAttribute Long userId) { + public Result payMoney(Long payClassifyId, Integer classify, @RequestAttribute Long userId) { //通知页面地址 CommonInfo one = commonInfoService.findOne(19); String returnUrl = one.getValue() + "/#/pages/task/recharge"; @@ -310,15 +230,15 @@ public class AliPayController { log.info("回调地址:" + url); String generalOrder = getGeneralOrder(); PayClassify payClassify = payClassifyService.getById(payClassifyId); - PayDetails payDetails=new PayDetails(); + PayDetails payDetails = new PayDetails(); payDetails.setState(0); payDetails.setCreateTime(sdf.format(new Date())); payDetails.setOrderId(generalOrder); payDetails.setUserId(userId); payDetails.setMoney(payClassify.getPrice().doubleValue()); - if(classify==1){ + if (classify == 1) { payDetails.setClassify(4); - }else{ + } else { payDetails.setClassify(5); } payDetails.setType(2); @@ -368,7 +288,6 @@ public class AliPayController { } - public Result payApp(String name, String generalOrder, Double money) { CommonInfo one = commonInfoService.findOne(19); String url = one.getValue() + "/sqx_fast/app/aliPay/notifyApp"; @@ -405,7 +324,7 @@ public class AliPayController { model.setSubject(name); model.setOutTradeNo(generalOrder); model.setTimeoutExpress("30m"); - model.setTotalAmount(money +""); + model.setTotalAmount(money + ""); model.setProductCode("QUICK_MSECURITY_PAY"); request.setBizModel(model); request.setNotifyUrl(url); @@ -417,7 +336,7 @@ public class AliPayController { return Result.error("获取订单失败!"); } return Result.success().put("data", result); - } else if("2".equals(payWay.getValue())){ + } else if ("2".equals(payWay.getValue())) { //实例化客户端 AlipayClient alipayClient = new DefaultAlipayClient("https://openapi.alipay.com/gateway.do", commonInfoService.findOne(63).getValue(), commonInfoService.findOne(65).getValue(), "json", AliPayConstants.CHARSET, commonInfoService.findOne(64).getValue(), "RSA2"); //实例化具体API对应的request类,类名称和接口名称对应,当前调用接口名称:alipay.trade.app.pay @@ -439,13 +358,6 @@ public class AliPayController { return Result.error("获取订单失败!"); } return Result.success().put("data", result); - }else{ - url=one.getValue()+"/sqx_fast/app/aliPay/notifyAppYunOS"; - log.info("回调地址:"+url); - String mchId = commonInfoService.findOne(168).getValue(); - String key = commonInfoService.findOne(169).getValue(); - result = AliPay.appPay(generalOrder, String.valueOf(money), mchId, name ,null, url, null, null, null, null,key); - return Result.success().put("data", result); } } catch (AlipayApiException e) { e.printStackTrace(); @@ -491,7 +403,7 @@ public class AliPayController { alipayRequest.setReturnUrl(returnUrl); //线上通知页面地址 String result = alipayClient.pageExecute(alipayRequest).getBody(); return Result.success().put("data", result); - } else if ("2".equals(payWay.getValue())){ + } else if ("2".equals(payWay.getValue())) { AlipayClient alipayClient = new DefaultAlipayClient("https://openapi.alipay.com/gateway.do", commonInfoService.findOne(63).getValue(), commonInfoService.findOne(65).getValue(), "json", AliPayConstants.CHARSET, commonInfoService.findOne(64).getValue(), "RSA2"); AlipayTradeWapPayRequest alipayRequest = new AlipayTradeWapPayRequest(); JSONObject order = new JSONObject(); @@ -507,13 +419,6 @@ public class AliPayController { alipayRequest.setReturnUrl(returnUrl); String form = alipayClient.pageExecute(alipayRequest).getBody(); return Result.success().put("data", form); - }else{ - url=one.getValue()+"/sqx_fast/app/aliPay/notifyAppYunOS"; - log.info("回调地址:"+url); - String mchId = commonInfoService.findOne(168).getValue(); - String key = commonInfoService.findOne(169).getValue(); - AliPayH5Biz aliPayH5Biz = AliPay.h5Pay(generalOrder, String.valueOf(money), mchId, name, null, url, returnUrl, null, null, null,null,key); - return Result.success().put("data", aliPayH5Biz.getForm()); } } catch (AlipayApiException e) { log.error("CreatPayOrderForH5", e); @@ -522,5 +427,4 @@ public class AliPayController { } - } diff --git a/src/main/java/com/sqx/modules/redisService/impl/RedisServiceImpl.java b/src/main/java/com/sqx/modules/redisService/impl/RedisServiceImpl.java index 7c45e604..42ac4952 100644 --- a/src/main/java/com/sqx/modules/redisService/impl/RedisServiceImpl.java +++ b/src/main/java/com/sqx/modules/redisService/impl/RedisServiceImpl.java @@ -84,7 +84,7 @@ public class RedisServiceImpl implements RedisService { expireTime = jsonObject.getLong("expireTime"); } - if ((StrUtil.isNotBlank(permanentlyFreeWatch) && redisUtils.isExpiredSet(freeWatchKey)) || (StrUtil.isNotBlank(permanentlyFreeWatch) && DateUtil.current() >= expireTime)) { + if ((StrUtil.isNotBlank(permanentlyFreeWatch) && redisUtils.isExpiredSet(freeWatchKey)) || (StrUtil.isNotBlank(permanentlyFreeWatch) && DateUtil.current(false) >= expireTime)) { if (StrUtil.isBlank(permanentlyFreeWatch)) { return null; } @@ -108,7 +108,7 @@ public class RedisServiceImpl implements RedisService { redisUtils.set(watchKey, jsonObject.toJSONString(), expire); return false; }else { - return DateUtil.current() > expireTime; + return DateUtil.current(false) > expireTime; } } } @@ -136,6 +136,6 @@ public class RedisServiceImpl implements RedisService { Integer expireTime = jsonObject.getInteger("expireTime"); Long second = jsonObject.getLong("second"); - return expireTime == -1 ? second : expireTime > DateUtil.current() ? expireTime - DateUtil.current() : 0L; + return expireTime == -1 ? second : expireTime > DateUtil.current(false) ? expireTime - DateUtil.current(false) : 0L; } }