From 9ca5005c7785161e1f2cd07ed28b6abed8ad5386 Mon Sep 17 00:00:00 2001 From: 13405411873 <1994398261@qq.com> Date: Tue, 29 Apr 2025 11:05:02 +0800 Subject: [PATCH 1/3] =?UTF-8?q?=E8=B7=AF=E5=BE=84=E8=B0=83=E6=95=B4?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../src/main/java/com/ruoyi/api/PayApi.java | 80 ++++++++++--------- .../service/impl/MemberPointsServiceImpl.java | 6 +- .../src/main/resources/application.yml | 7 ++ 3 files changed, 54 insertions(+), 39 deletions(-) diff --git a/ruoyi-admin/src/main/java/com/ruoyi/api/PayApi.java b/ruoyi-admin/src/main/java/com/ruoyi/api/PayApi.java index 41dceb5..f2086b8 100644 --- a/ruoyi-admin/src/main/java/com/ruoyi/api/PayApi.java +++ b/ruoyi-admin/src/main/java/com/ruoyi/api/PayApi.java @@ -116,43 +116,51 @@ public class PayApi { @RequestMapping("/entPay") @ApiOperation(value = "商家转账给用户") public JSONObject entPay(String orderNo){ - LambdaQueryWrapper queryWrapper =new LambdaQueryWrapper<>(); - queryWrapper.eq(MemberPoints::getOrderNo,orderNo).last("limit 1"); - MemberPoints memberPoints = pointsService.getOne(queryWrapper); - if (!memberPoints.getUserId().equals(SecurityUtils.getUserId())){ - throw new RuntimeException("非本人账户"); - } - SysUser sysUser = sysUserService.selectUserById(memberPoints.getUserId()); - // 初始化商户配置 - TransferToUser.TransferToUserRequest userRequest = new TransferToUser.TransferToUserRequest(); - userRequest.appid = appConfig.getAppId(); - userRequest.openid=sysUser.getOpenId(); - // 将元转换为分 - double pointsInYuan = memberPoints.getPoints(); - userRequest.transferAmount = BigDecimal.valueOf(pointsInYuan).multiply(BigDecimal.valueOf(100)).setScale(0, RoundingMode.HALF_UP).longValue(); + try{ + LambdaQueryWrapper queryWrapper =new LambdaQueryWrapper<>(); + queryWrapper.eq(MemberPoints::getOrderNo,orderNo).last("limit 1"); + MemberPoints memberPoints = pointsService.getOne(queryWrapper); + if (!memberPoints.getUserId().equals(SecurityUtils.getUserId())){ + throw new RuntimeException("非本人账户"); + } + SysUser sysUser = sysUserService.selectUserById(memberPoints.getUserId()); + // 初始化商户配置 + TransferToUser.TransferToUserRequest userRequest = new TransferToUser.TransferToUserRequest(); + userRequest.appid = appConfig.getAppId(); + userRequest.openid=sysUser.getOpenId(); + // 将元转换为分 + double pointsInYuan = memberPoints.getPoints(); + userRequest.transferAmount = BigDecimal.valueOf(pointsInYuan).multiply(BigDecimal.valueOf(100)).setScale(0, RoundingMode.HALF_UP).longValue(); + + userRequest.notifyUrl = wechatPayConfig.getZhuanNotifyUrl(); + userRequest.outBillNo = orderNo; + userRequest.transferSceneId = "1000"; + userRequest.transferRemark = "通告快接积分提现"; + List transferSceneReportInfos = new ArrayList<>(); + TransferToUser.TransferSceneReportInfo transferSceneReportInfo = new TransferToUser.TransferSceneReportInfo(); + transferSceneReportInfo.infoContent = "发布通告得积分"; + transferSceneReportInfo.infoType = "活动名称"; + TransferToUser.TransferSceneReportInfo transferSceneReportInfo2 = new TransferToUser.TransferSceneReportInfo(); + transferSceneReportInfo2.infoContent = "发布通告得积分"; + transferSceneReportInfo2.infoType = "奖励说明"; + transferSceneReportInfos.add(transferSceneReportInfo); + transferSceneReportInfos.add(transferSceneReportInfo2); + userRequest.transferSceneReportInfos = transferSceneReportInfos; + TransferToUser.TransferToUserResponse run = transferToUser.run(userRequest); + JSONObject res = new JSONObject(); + res.put("runData",run); + JSONObject config = new JSONObject(); + config.put("appId",appConfig.getAppId()); + config.put("mchId",wechatPayConfig.getMchId()); + res.put("config",config); + return res; + }catch (Exception e){ + LambdaQueryWrapper queryWrapper = new LambdaQueryWrapper<>(); + queryWrapper.eq(MemberPoints::getOrderNo,orderNo); + pointsService.remove(queryWrapper); + throw new RuntimeException(e); + } - userRequest.notifyUrl = wechatPayConfig.getZhuanNotifyUrl(); - userRequest.outBillNo = orderNo; - userRequest.transferSceneId = "1000"; - userRequest.transferRemark = "通告快接积分提现"; - List transferSceneReportInfos = new ArrayList<>(); - TransferToUser.TransferSceneReportInfo transferSceneReportInfo = new TransferToUser.TransferSceneReportInfo(); - transferSceneReportInfo.infoContent = "发布通告得积分"; - transferSceneReportInfo.infoType = "活动名称"; - TransferToUser.TransferSceneReportInfo transferSceneReportInfo2 = new TransferToUser.TransferSceneReportInfo(); - transferSceneReportInfo2.infoContent = "发布通告得积分"; - transferSceneReportInfo2.infoType = "奖励说明"; - transferSceneReportInfos.add(transferSceneReportInfo); - transferSceneReportInfos.add(transferSceneReportInfo2); - userRequest.transferSceneReportInfos = transferSceneReportInfos; - TransferToUser.TransferToUserResponse run = transferToUser.run(userRequest); - JSONObject res = new JSONObject(); - res.put("runData",run); - JSONObject config = new JSONObject(); - config.put("appId",appConfig.getAppId()); - config.put("mchId",wechatPayConfig.getMchId()); - res.put("config",config); - return res; } diff --git a/ruoyi-admin/src/main/java/com/ruoyi/member/service/impl/MemberPointsServiceImpl.java b/ruoyi-admin/src/main/java/com/ruoyi/member/service/impl/MemberPointsServiceImpl.java index ea9e52e..1130ff3 100644 --- a/ruoyi-admin/src/main/java/com/ruoyi/member/service/impl/MemberPointsServiceImpl.java +++ b/ruoyi-admin/src/main/java/com/ruoyi/member/service/impl/MemberPointsServiceImpl.java @@ -153,9 +153,7 @@ public class MemberPointsServiceImpl extends ServiceImpl lambdaQueryWrapper = new LambdaQueryWrapper<>(); lambdaQueryWrapper @@ -166,6 +164,8 @@ public class MemberPointsServiceImpl extends ServiceImpl Date: Tue, 29 Apr 2025 14:56:50 +0800 Subject: [PATCH 2/3] 1 --- .../member/controller/MemberPointsController.java | 14 ++++++++++++++ .../ruoyi/member/service/IMemberPointsService.java | 9 +++++++++ .../service/impl/MemberPointsServiceImpl.java | 3 ++- 3 files changed, 25 insertions(+), 1 deletion(-) diff --git a/ruoyi-admin/src/main/java/com/ruoyi/member/controller/MemberPointsController.java b/ruoyi-admin/src/main/java/com/ruoyi/member/controller/MemberPointsController.java index fe10f6f..ae6cff9 100644 --- a/ruoyi-admin/src/main/java/com/ruoyi/member/controller/MemberPointsController.java +++ b/ruoyi-admin/src/main/java/com/ruoyi/member/controller/MemberPointsController.java @@ -7,6 +7,7 @@ import com.ruoyi.common.annotation.Log; import com.ruoyi.common.core.controller.BaseController; import com.ruoyi.common.core.domain.AjaxResult; import com.ruoyi.common.enums.BusinessType; +import com.ruoyi.common.utils.SecurityUtils; import com.ruoyi.member.domain.MemberPoints; import com.ruoyi.member.service.IMemberPointsService; import org.springframework.beans.factory.annotation.Autowired; @@ -47,6 +48,19 @@ public class MemberPointsController extends BaseController { return success(list); } + /** + * 查询在途订单 + * @author PQZ + * @date 14:36 2025/4/29 + * @return com.ruoyi.common.core.domain.AjaxResult + **/ + @GetMapping("/getOnWayOrder") + public AjaxResult getOnWayOrder() { + Long userId = SecurityUtils.getUserId(); + List list = memberPointsService.getOnWayOrder(userId); + return success(list.isEmpty()?null:list); + } + /** * 新增博主积分变动记录 diff --git a/ruoyi-admin/src/main/java/com/ruoyi/member/service/IMemberPointsService.java b/ruoyi-admin/src/main/java/com/ruoyi/member/service/IMemberPointsService.java index 6dcfdfd..df3e7fd 100644 --- a/ruoyi-admin/src/main/java/com/ruoyi/member/service/IMemberPointsService.java +++ b/ruoyi-admin/src/main/java/com/ruoyi/member/service/IMemberPointsService.java @@ -61,4 +61,13 @@ public interface IMemberPointsService extends IService { * @type type 回调状态(success:成功,其他为失败) **/ void payoutCallback(String orderNo,String type); + + /** + * 查询当前登录用户在途订单 + * @author PQZ + * @date 14:32 2025/4/29 + * @param userId 用户id + * @return java.util.List + **/ + List getOnWayOrder(Long userId); } diff --git a/ruoyi-admin/src/main/java/com/ruoyi/member/service/impl/MemberPointsServiceImpl.java b/ruoyi-admin/src/main/java/com/ruoyi/member/service/impl/MemberPointsServiceImpl.java index 1130ff3..38b9a30 100644 --- a/ruoyi-admin/src/main/java/com/ruoyi/member/service/impl/MemberPointsServiceImpl.java +++ b/ruoyi-admin/src/main/java/com/ruoyi/member/service/impl/MemberPointsServiceImpl.java @@ -183,7 +183,8 @@ public class MemberPointsServiceImpl extends ServiceImpl **/ - private List getOnWayOrder(Long userId){ + @Override + public List getOnWayOrder(Long userId){ LambdaQueryWrapper lambdaQueryWrapper = new LambdaQueryWrapper<>(); lambdaQueryWrapper .eq(MemberPoints::getUserId,userId) From 9a1c267afc95cc2374825f3d6003b77414f1f361 Mon Sep 17 00:00:00 2001 From: PQZ Date: Tue, 29 Apr 2025 15:17:19 +0800 Subject: [PATCH 3/3] 1 --- ruoyi-admin/src/main/java/com/ruoyi/api/PayApi.java | 2 +- .../com/ruoyi/member/controller/MemberPointsController.java | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/ruoyi-admin/src/main/java/com/ruoyi/api/PayApi.java b/ruoyi-admin/src/main/java/com/ruoyi/api/PayApi.java index f2086b8..1174827 100644 --- a/ruoyi-admin/src/main/java/com/ruoyi/api/PayApi.java +++ b/ruoyi-admin/src/main/java/com/ruoyi/api/PayApi.java @@ -130,7 +130,7 @@ public class PayApi { userRequest.openid=sysUser.getOpenId(); // 将元转换为分 double pointsInYuan = memberPoints.getPoints(); - userRequest.transferAmount = BigDecimal.valueOf(pointsInYuan).multiply(BigDecimal.valueOf(100)).setScale(0, RoundingMode.HALF_UP).longValue(); + userRequest.transferAmount = BigDecimal.valueOf(pointsInYuan).multiply(BigDecimal.valueOf(10)).setScale(0, RoundingMode.HALF_UP).longValue(); userRequest.notifyUrl = wechatPayConfig.getZhuanNotifyUrl(); userRequest.outBillNo = orderNo; diff --git a/ruoyi-admin/src/main/java/com/ruoyi/member/controller/MemberPointsController.java b/ruoyi-admin/src/main/java/com/ruoyi/member/controller/MemberPointsController.java index ae6cff9..e58d28b 100644 --- a/ruoyi-admin/src/main/java/com/ruoyi/member/controller/MemberPointsController.java +++ b/ruoyi-admin/src/main/java/com/ruoyi/member/controller/MemberPointsController.java @@ -58,7 +58,7 @@ public class MemberPointsController extends BaseController { public AjaxResult getOnWayOrder() { Long userId = SecurityUtils.getUserId(); List list = memberPointsService.getOnWayOrder(userId); - return success(list.isEmpty()?null:list); + return success(list.isEmpty()?null:list.get(0)); }