From acccff9860b271d55c55dc87486f7c20b9896e6c Mon Sep 17 00:00:00 2001 From: puzhibing <393733352@qq.com> Date: 星期一, 13 一月 2025 16:19:54 +0800 Subject: [PATCH] 修改bug --- ruoyi-service/ruoyi-other/src/main/java/com/ruoyi/other/controller/OrderActivityInfoController.java | 4 ruoyi-service/ruoyi-account/src/main/java/com/ruoyi/account/controller/WithdrawalRequestsController.java | 2 ruoyi-api/ruoyi-api-other/src/main/java/com/ruoyi/other/api/domain/GoodsAppUser.java | 3 ruoyi-service/ruoyi-account/src/main/java/com/ruoyi/account/util/payment/model/SinglePayCallbackResult.java | 7 + ruoyi-service/ruoyi-other/src/main/java/com/ruoyi/other/controller/ShopWithdrawController.java | 11 ++ ruoyi-service/ruoyi-other/src/main/java/com/ruoyi/other/util/payment/model/SinglePayCallbackResult.java | 11 ++ ruoyi-service/ruoyi-order/src/main/java/com/ruoyi/order/service/impl/ShoppingCartServiceImpl.java | 111 ++++++++++++++++++++++++--- ruoyi-service/ruoyi-order/src/main/java/com/ruoyi/order/service/impl/OrderServiceImpl.java | 2 ruoyi-api/ruoyi-api-other/src/main/java/com/ruoyi/other/api/feignClient/TechnicianClient.java | 2 ruoyi-common/ruoyi-common-security/src/main/java/com/ruoyi/common/security/service/TokenService.java | 5 ruoyi-service/ruoyi-other/src/main/resources/mapper/other/SeckillActivityInfoMapper.xml | 2 ruoyi-service/ruoyi-account/src/main/java/com/ruoyi/account/controller/AppUserController.java | 6 ruoyi-gateway/src/main/java/com/ruoyi/gateway/filter/AuthFilter.java | 12 +- ruoyi-api/ruoyi-api-account/src/main/java/com/ruoyi/account/api/feignClient/AppUserClient.java | 4 ruoyi-service/ruoyi-other/src/main/java/com/ruoyi/other/service/impl/GoodsServiceImpl.java | 1 15 files changed, 148 insertions(+), 35 deletions(-) diff --git a/ruoyi-api/ruoyi-api-account/src/main/java/com/ruoyi/account/api/feignClient/AppUserClient.java b/ruoyi-api/ruoyi-api-account/src/main/java/com/ruoyi/account/api/feignClient/AppUserClient.java index 91a8228..6d3c044 100644 --- a/ruoyi-api/ruoyi-api-account/src/main/java/com/ruoyi/account/api/feignClient/AppUserClient.java +++ b/ruoyi-api/ruoyi-api-account/src/main/java/com/ruoyi/account/api/feignClient/AppUserClient.java @@ -59,7 +59,7 @@ R<Long> getVipCount(@RequestParam("userId")Long userId, @RequestParam("vipId") Integer vipId ); - @GetMapping("/app-user/listByIds") + @PostMapping("/app-user/listByIds") List<AppUser> listByIds(@RequestParam("ids") List<Long> list); /** @@ -87,7 +87,7 @@ * @param userId * @return */ - @PutMapping("/app-user/setLowerUserShop") + @PostMapping("/app-user/setLowerUserShop") R<List<AppUser>> setLowerUserShop(@RequestParam("userId") Long userId,@RequestParam("shopId") Integer shopId); diff --git a/ruoyi-api/ruoyi-api-other/src/main/java/com/ruoyi/other/api/domain/GoodsAppUser.java b/ruoyi-api/ruoyi-api-other/src/main/java/com/ruoyi/other/api/domain/GoodsAppUser.java index 89d1a01..d6fdd0e 100644 --- a/ruoyi-api/ruoyi-api-other/src/main/java/com/ruoyi/other/api/domain/GoodsAppUser.java +++ b/ruoyi-api/ruoyi-api-other/src/main/java/com/ruoyi/other/api/domain/GoodsAppUser.java @@ -39,6 +39,9 @@ private Long appUserId; @TableField(exist = false) + private String appUserIdStr; + + @TableField(exist = false) @ApiModelProperty(value = "用户名称") private String userName; diff --git a/ruoyi-api/ruoyi-api-other/src/main/java/com/ruoyi/other/api/feignClient/TechnicianClient.java b/ruoyi-api/ruoyi-api-other/src/main/java/com/ruoyi/other/api/feignClient/TechnicianClient.java index f3783fa..71f6c8d 100644 --- a/ruoyi-api/ruoyi-api-other/src/main/java/com/ruoyi/other/api/feignClient/TechnicianClient.java +++ b/ruoyi-api/ruoyi-api-other/src/main/java/com/ruoyi/other/api/feignClient/TechnicianClient.java @@ -29,6 +29,6 @@ * @param ids * @return */ - @PostMapping("/technician-subscribe/getTechnicianByIds") + @PostMapping("/technician/getTechnicianByIds") R<List<Technician>> getTechnicianByIds(@RequestParam("ids") Collection<Integer> ids); } diff --git a/ruoyi-common/ruoyi-common-security/src/main/java/com/ruoyi/common/security/service/TokenService.java b/ruoyi-common/ruoyi-common-security/src/main/java/com/ruoyi/common/security/service/TokenService.java index 746f018..a5735e6 100644 --- a/ruoyi-common/ruoyi-common-security/src/main/java/com/ruoyi/common/security/service/TokenService.java +++ b/ruoyi-common/ruoyi-common-security/src/main/java/com/ruoyi/common/security/service/TokenService.java @@ -5,6 +5,7 @@ import java.util.concurrent.TimeUnit; import javax.servlet.http.HttpServletRequest; +import com.ruoyi.common.core.exception.auth.NotPermissionException; import com.ruoyi.system.api.model.LoginUser; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Component; @@ -90,7 +91,7 @@ public LoginUser getLoginUserApplet() { LoginUser loginUserAppletToken = getLoginUserAppletToken(ServletUtils.getRequest()); if (loginUserAppletToken == null) { - throw new RuntimeException("令牌已过期,请重新登录!"); + throw new NotPermissionException("令牌已过期,请重新登录!"); } return loginUserAppletToken; } @@ -128,7 +129,7 @@ public LoginUser getLoginUser() { LoginUser loginUser = getLoginUser(ServletUtils.getRequest()); if (loginUser == null) { - throw new RuntimeException("令牌已过期,请重新登录!"); + throw new NotPermissionException("令牌已过期,请重新登录!"); } if(null == loginUser.getUserid()){ loginUser.setUserid(loginUser.getSysUser().getUserId()); diff --git a/ruoyi-gateway/src/main/java/com/ruoyi/gateway/filter/AuthFilter.java b/ruoyi-gateway/src/main/java/com/ruoyi/gateway/filter/AuthFilter.java index bf60f1c..12d0cdc 100644 --- a/ruoyi-gateway/src/main/java/com/ruoyi/gateway/filter/AuthFilter.java +++ b/ruoyi-gateway/src/main/java/com/ruoyi/gateway/filter/AuthFilter.java @@ -1,5 +1,6 @@ package com.ruoyi.gateway.filter; +import com.ruoyi.common.core.exception.auth.NotPermissionException; import com.ruoyi.gateway.config.properties.AntiShakeProperties; import org.slf4j.Logger; import org.slf4j.LoggerFactory; @@ -131,7 +132,7 @@ /** * 防抖处理 */ - public void antiShake(ServerHttpRequest request) throws Exception{ + public void antiShake(ServerHttpRequest request) { HttpMethod method = request.getMethod(); if(HttpMethod.OPTIONS == method || !antiShakeProperties.getEnable()){ return; @@ -174,20 +175,19 @@ /** * 验证token * @param request - * @throws Exception */ - public void verifyToken(ServerHttpRequest request) throws Exception{ + public void verifyToken(ServerHttpRequest request) { String token = getToken(request); if (StringUtils.isEmpty(token)) { - throw new RuntimeException("令牌不能为空"); + throw new NotPermissionException("令牌不能为空"); } Claims claims = JwtUtils.parseToken(token); if (claims == null) { - throw new RuntimeException("令牌已过期或验证不正确!"); + throw new NotPermissionException("令牌已过期或验证不正确!"); } String userid = JwtUtils.getUserId(claims); if (StringUtils.isEmpty(userid)) { - throw new RuntimeException("令牌验证失败"); + throw new NotPermissionException("令牌验证失败"); } } diff --git a/ruoyi-service/ruoyi-account/src/main/java/com/ruoyi/account/controller/AppUserController.java b/ruoyi-service/ruoyi-account/src/main/java/com/ruoyi/account/controller/AppUserController.java index 54069b0..62b4272 100644 --- a/ruoyi-service/ruoyi-account/src/main/java/com/ruoyi/account/controller/AppUserController.java +++ b/ruoyi-service/ruoyi-account/src/main/java/com/ruoyi/account/controller/AppUserController.java @@ -643,8 +643,8 @@ } - @GetMapping("/listByIds") - List<AppUser> listByIds(@RequestParam("ids") List<Long> ids) { + @PostMapping("/listByIds") + public List<AppUser> listByIds(@RequestParam("ids") List<Long> ids) { if(ids.size() == 0){ return new ArrayList<>(); } @@ -664,7 +664,7 @@ /** * 设置指定用户的下级用户绑定门店 */ - @PutMapping("setLowerUserShop") + @PostMapping("/setLowerUserShop") public R<Void> setLowerUserShop(@RequestParam("userId") Long userId,@RequestParam("shopId") Integer shopId) { appUserService.update(new LambdaUpdateWrapper<AppUser>() .set(AppUser::getShopId,shopId) diff --git a/ruoyi-service/ruoyi-account/src/main/java/com/ruoyi/account/controller/WithdrawalRequestsController.java b/ruoyi-service/ruoyi-account/src/main/java/com/ruoyi/account/controller/WithdrawalRequestsController.java index 3faa99c..8039212 100644 --- a/ruoyi-service/ruoyi-account/src/main/java/com/ruoyi/account/controller/WithdrawalRequestsController.java +++ b/ruoyi-service/ruoyi-account/src/main/java/com/ruoyi/account/controller/WithdrawalRequestsController.java @@ -157,7 +157,7 @@ @PostMapping("/withdrawalCallback") public Object withdrawalCallback(@RequestBody SinglePayCallbackResult singlePayCallbackResult){ Integer status = singlePayCallbackResult.getStatus(); - if(203 == status){ + if(203 == status || 205 == status){ String merchantOrderNo = singlePayCallbackResult.getMerchantOrderNo(); WithdrawalRequests withdrawalRequests = withdrawalRequestsService.getById(merchantOrderNo); if(1 == withdrawalRequests.getStatus()){ diff --git a/ruoyi-service/ruoyi-account/src/main/java/com/ruoyi/account/util/payment/model/SinglePayCallbackResult.java b/ruoyi-service/ruoyi-account/src/main/java/com/ruoyi/account/util/payment/model/SinglePayCallbackResult.java index 973b2ef..ad66df7 100644 --- a/ruoyi-service/ruoyi-account/src/main/java/com/ruoyi/account/util/payment/model/SinglePayCallbackResult.java +++ b/ruoyi-service/ruoyi-account/src/main/java/com/ruoyi/account/util/payment/model/SinglePayCallbackResult.java @@ -15,6 +15,13 @@ * 202 处理中 批次正在处理中状态 * 203 处理完成 批次中的每笔明细都明确了代付结果 * 204 批次不存在 汇聚未受理该批次的请求,找不到该批次,明确失败 + * 205 交易成功 明确交易成功的状态码 + * 208 订单已取消 代付订单被商户审核为拒绝付款 + * 210 账务冻结中 确认出款后对商户的账户余额进行冻结处理 + * 211 账务解冻中 确认失败后对商户的账户余额进行解冻处理 + * 212 订单取消中 商户审核为拒绝付款的中间状态 + * 213 账务扣款中 确认成功后对商户的账户冻结款的扣款处理 + * 214 订单不存在 汇聚未受理该笔代付请求,找不到该笔订单,明确失败 */ private Integer status; /** diff --git a/ruoyi-service/ruoyi-order/src/main/java/com/ruoyi/order/service/impl/OrderServiceImpl.java b/ruoyi-service/ruoyi-order/src/main/java/com/ruoyi/order/service/impl/OrderServiceImpl.java index 843d6e9..45a70ba 100644 --- a/ruoyi-service/ruoyi-order/src/main/java/com/ruoyi/order/service/impl/OrderServiceImpl.java +++ b/ruoyi-service/ruoyi-order/src/main/java/com/ruoyi/order/service/impl/OrderServiceImpl.java @@ -744,7 +744,7 @@ orderInfo.setRecipient(userAddress.getRecieveName() + "-" + userAddress.getRecievePhone()); orderInfo.setAddress(userAddress.getRecieveAddress()); } - if(StringUtils.isNotEmpty(order.getExpressJson())){ + if(StringUtils.isNotEmpty(order.getExpressJson()) && !"NULL".equals(order.getExpressJson())){ JSONObject jsonObject = JSON.parseObject(order.getExpressJson()); String com = jsonObject.getString("com"); String num = jsonObject.getString("num"); diff --git a/ruoyi-service/ruoyi-order/src/main/java/com/ruoyi/order/service/impl/ShoppingCartServiceImpl.java b/ruoyi-service/ruoyi-order/src/main/java/com/ruoyi/order/service/impl/ShoppingCartServiceImpl.java index 81f8194..d96c6e6 100644 --- a/ruoyi-service/ruoyi-order/src/main/java/com/ruoyi/order/service/impl/ShoppingCartServiceImpl.java +++ b/ruoyi-service/ruoyi-order/src/main/java/com/ruoyi/order/service/impl/ShoppingCartServiceImpl.java @@ -509,6 +509,10 @@ confirmOrderVo.setDiscountAmount(activityAmount); int earnPoint = goodsList.stream().mapToInt(MyShoppingCartVo::getEarnSpendingPoints).sum(); confirmOrderVo.setEarnPoint(earnPoint); + if(BigDecimal.ZERO.compareTo(paymentMoney) > 0){ + paymentMoney = BigDecimal.ZERO; + } + //支付金额,订单金额-订单优惠 confirmOrderVo.setPayMoney(paymentMoney); confirmOrderVo.setResidualPoint(appUser.getAvailablePoint().intValue()); @@ -916,6 +920,10 @@ } } } + if(BigDecimal.ZERO.compareTo(paymentMoney) > 0){ + paymentMoney = BigDecimal.ZERO; + } + //构建订单明细 Order order = new Order(); order.setAppUserId(userid); @@ -1036,21 +1044,98 @@ //开始构建支付数据 //现金支付 paymentMoney = paymentMoney.add(expressFee).setScale(2, RoundingMode.HALF_EVEN); + if(BigDecimal.ZERO.compareTo(paymentMoney) > 0){ + paymentMoney = BigDecimal.ZERO; + } if(1 == shoppingCartPayment.getPaymentType()){ - //调起微信支付 - String goodsNames = goodsList.stream().map(MyShoppingCartVo::getName).collect(Collectors.joining("\n")); - UniPayResult uniPayResult = PaymentUtil.uniPay(order.getOrderNumber(), paymentMoney.doubleValue(), order.getOrderType() == 1 ? "购买服务商品" : "购买单品商品", - goodsNames, "", "/order/shopping-cart/shoppingCartPaymentCallback", appUser.getWxOpenid(), null); - if(null == uniPayResult || !"100".equals(uniPayResult.getRa_Code())){ - return R.fail(null == uniPayResult ? "支付失败" : uniPayResult.getRb_CodeMsg()); + if(BigDecimal.ZERO.compareTo(paymentMoney) < 0){ + //调起微信支付 + String goodsNames = goodsList.stream().map(MyShoppingCartVo::getName).collect(Collectors.joining("\n")); + UniPayResult uniPayResult = PaymentUtil.uniPay(order.getOrderNumber(), paymentMoney.doubleValue(), order.getOrderType() == 1 ? "购买服务商品" : "购买单品商品", + goodsNames, "", "/order/shopping-cart/shoppingCartPaymentCallback", appUser.getWxOpenid(), null); + if(null == uniPayResult || !"100".equals(uniPayResult.getRa_Code())){ + return R.fail(null == uniPayResult ? "支付失败" : uniPayResult.getRb_CodeMsg()); + } + String rc_result = uniPayResult.getRc_Result(); + JSONObject jsonObject = JSON.parseObject(rc_result); + jsonObject.put("orderId", order.getId().toString()); + //将支付数据添加到redis队列中,便于定时任务去校验是否完成支付,没有完成支付支付,15分钟后关闭订单。 + long second = LocalDateTime.now().plusMinutes(15).toEpochSecond(ZoneOffset.UTC); + redisTemplate.opsForZSet().add("OrderPayment", order.getOrderNumber(), second); + return R.ok(jsonObject.toJSONString()); + }else{ + + earnPoint = order.getGetPoint(); + appUser = appUserClient.getAppUserById(order.getAppUserId()); + Integer lavePoint = appUser.getLavePoint(); + paymentMoney = order.getPaymentAmount(); + //构建积分流水记录 + if(earnPoint > 0){ + PointSetting pointSetting = pointSettingClient.getPointSetting(appUser.getVipId()).getData(); + int earnPoint1 = 0; + if(null != pointSetting && 1 == pointSetting.getBuyPointOpen()){ + earnPoint1 = new BigDecimal(earnPoint).multiply(pointSetting.getBuyPoint().divide(new BigDecimal(100))).intValue(); + } + appUser.setShopPoint(appUser.getShopPoint() + earnPoint); + appUser.setLavePoint(appUser.getLavePoint() + earnPoint); + appUser.setTotalPoint(appUser.getTotalPoint() + earnPoint); + appUser.setAvailablePoint(appUser.getAvailablePoint() + earnPoint1); + appUser.setTotalAvailablePoint(appUser.getTotalAvailablePoint() + earnPoint1); + + JSONObject jsonObject = new JSONObject(); + jsonObject.put("shopPoint", earnPoint); + jsonObject.put("availablePoint", earnPoint1); + if(null != pointSetting && 1 == pointSetting.getBuyPointGift()){ + appUser.setTransferablePoint(appUser.getTransferablePoint() + earnPoint1); + jsonObject.put("transferablePoint", earnPoint1); + } + + UserPoint userPoint = new UserPoint(); + userPoint.setType(1); + userPoint.setHistoricalPoint(lavePoint); + userPoint.setVariablePoint(earnPoint); + userPoint.setBalance(appUser.getLavePoint()); + userPoint.setCreateTime(LocalDateTime.now()); + userPoint.setAppUserId(appUser.getId()); + userPoint.setObjectId(order.getId()); + userPoint.setExtention(jsonObject.toJSONString()); + userPointClient.saveUserPoint(userPoint); + } + appUser.setShopAmount(appUser.getShopAmount().add(paymentMoney).setScale(2, RoundingMode.HALF_EVEN)); + appUser.setLastShopTime(LocalDateTime.now()); + appUserClient.editAppUserById(appUser); + //变更等级 + appUserClient.vipUpgrade(appUser.getId()); + //修改订支付状态 + order.setPayStatus(2); + //自提 + if(order.getOrderType() == 1 && StringUtils.isEmpty(order.getAddressJson())){ + order.setOrderStatus(2); + } + orderService.updateById(order); + + //处理优惠券 + if(null != order.getUserCouponId()){ + UserCoupon userCoupon = userCouponClient.getUserCoupon(order.getUserCouponId()).getData(); + if(null != userCoupon && null == userCoupon.getUseTime()){ + userCoupon.setStatus(2); + userCoupon.setUseTime(LocalDateTime.now()); + userCouponClient.editUserCoupon(userCoupon); + } + } + //添加查询快递信息队列 + if(StringUtils.isNotEmpty(order.getExpressJson())){ + //一小时后定时查询快递信息 + redisTemplate.opsForZSet().add("order_express", order.getId(), LocalDateTime.now().plusHours(1).toEpochSecond(ZoneOffset.UTC)); + } + + //删除购物车数据 + userid = tokenService.getLoginUserApplet().getUserid(); + List<OrderGood> list1 = orderGoodService.list(new LambdaQueryWrapper<OrderGood>().eq(OrderGood::getOrderId, order.getId())); + List<Integer> goodsIds1 = list1.stream().map(OrderGood::getGoodsId).collect(Collectors.toList()); + this.remove(new LambdaQueryWrapper<ShoppingCart>().eq(ShoppingCart::getAppUserId, userid).in(ShoppingCart::getGoodsId, goodsIds1)); + } - String rc_result = uniPayResult.getRc_Result(); - JSONObject jsonObject = JSON.parseObject(rc_result); - jsonObject.put("orderId", order.getId().toString()); - //将支付数据添加到redis队列中,便于定时任务去校验是否完成支付,没有完成支付支付,15分钟后关闭订单。 - long second = LocalDateTime.now().plusMinutes(15).toEpochSecond(ZoneOffset.UTC); - redisTemplate.opsForZSet().add("OrderPayment", order.getOrderNumber(), second); - return R.ok(jsonObject.toJSONString()); } //账户余额 BigDecimal redPacketAmount = BigDecimal.ZERO; diff --git a/ruoyi-service/ruoyi-other/src/main/java/com/ruoyi/other/controller/OrderActivityInfoController.java b/ruoyi-service/ruoyi-other/src/main/java/com/ruoyi/other/controller/OrderActivityInfoController.java index 16009ad..ad23743 100644 --- a/ruoyi-service/ruoyi-other/src/main/java/com/ruoyi/other/controller/OrderActivityInfoController.java +++ b/ruoyi-service/ruoyi-other/src/main/java/com/ruoyi/other/controller/OrderActivityInfoController.java @@ -62,7 +62,7 @@ public R<Void> saveActivityConfig(@RequestBody OrderActivityInfo orderActivityInfo){ orderActivityInfo.setIsShelf(0); if (org.springframework.util.StringUtils.hasLength(orderActivityInfo.getVipIds())){ - List<String> vipIds = Arrays.asList(orderActivityInfo.getVipIds().split(",")); + List<String> vipIds = new ArrayList<>(Arrays.asList(orderActivityInfo.getVipIds().split(","))); List<OrderActivityInfo> list = orderActivityInfoService.lambdaQuery() .le(OrderActivityInfo::getStartTime, orderActivityInfo.getStartTime()) .or() @@ -70,7 +70,7 @@ if (!list.isEmpty()){ for (OrderActivityInfo activityInfo : list) { List<String> vips = Arrays.asList(activityInfo.getVipIds().split(",")); - vipIds.retainAll(vips); + vipIds.addAll(vips); if (!vipIds.isEmpty()){ StringBuilder message = new StringBuilder(); List<String> collect = vips.stream().sorted().collect(Collectors.toList()); diff --git a/ruoyi-service/ruoyi-other/src/main/java/com/ruoyi/other/controller/ShopWithdrawController.java b/ruoyi-service/ruoyi-other/src/main/java/com/ruoyi/other/controller/ShopWithdrawController.java index e7e7757..af6ba86 100644 --- a/ruoyi-service/ruoyi-other/src/main/java/com/ruoyi/other/controller/ShopWithdrawController.java +++ b/ruoyi-service/ruoyi-other/src/main/java/com/ruoyi/other/controller/ShopWithdrawController.java @@ -26,6 +26,7 @@ import com.ruoyi.other.util.payment.model.SinglePayCallbackResult; import com.ruoyi.other.util.payment.model.SinglePayResult; import com.ruoyi.system.api.domain.SysUser; +import com.ruoyi.system.api.feignClient.SysUserClient; import com.ruoyi.system.api.model.LoginUser; import io.swagger.annotations.Api; import io.swagger.annotations.ApiOperation; @@ -65,6 +66,9 @@ @Resource private AppUserClient appUserClient; + + @Resource + private SysUserClient sysUserClient; @@ -121,7 +125,8 @@ @GetMapping("/shop/with") @ApiOperation(value = "提现申请", notes = "提现申请列表", tags = {"门店后台"}) public R shopwith(@RequestParam BigDecimal money){ - SysUser sysUser = tokenService.getLoginUser().getSysUser(); + Long userid = tokenService.getLoginUser().getUserid(); + SysUser sysUser = sysUserClient.getSysUser(userid).getData(); Integer objectId = sysUser.getObjectId(); Shop shop = shopService.getById(objectId); if (money.compareTo(shop.getCanWithdrawMoney())>0){ @@ -179,7 +184,7 @@ return R.fail("查询账户余额出错"); } Double useAbleSettAmount = accountBalanceQueryResult.getUseAbleSettAmount(); - if(useAbleSettAmount < shopWithdraw1.getMoney().doubleValue()){ + if(useAbleSettAmount < (shopWithdraw1.getMoney().doubleValue() + 1)){ return R.fail("账户可用余额不足,请先补充账户余额"); } //银行卡转账 @@ -238,7 +243,7 @@ @PostMapping("/withdrawalCallback") public Object withdrawalCallback(@RequestBody SinglePayCallbackResult singlePayCallbackResult){ Integer status = singlePayCallbackResult.getStatus(); - if(203 == status){ + if(203 == status || 205 == status){ String merchantOrderNo = singlePayCallbackResult.getMerchantOrderNo(); ShopWithdraw shopWithdraw = shopWithdrawService.getById(merchantOrderNo); if(1 == shopWithdraw.getStatus()){ diff --git a/ruoyi-service/ruoyi-other/src/main/java/com/ruoyi/other/service/impl/GoodsServiceImpl.java b/ruoyi-service/ruoyi-other/src/main/java/com/ruoyi/other/service/impl/GoodsServiceImpl.java index f44c255..2fbcf1b 100644 --- a/ruoyi-service/ruoyi-other/src/main/java/com/ruoyi/other/service/impl/GoodsServiceImpl.java +++ b/ruoyi-service/ruoyi-other/src/main/java/com/ruoyi/other/service/impl/GoodsServiceImpl.java @@ -459,6 +459,7 @@ List<AppUser> appUsers = appUserClient.listByIds(userIds); for (GoodsAppUser goodsAppUser : goodsAppUserList) { appUsers.stream().filter(u -> u.getId().equals(goodsAppUser.getAppUserId())).findFirst().ifPresent( u -> { + goodsAppUser.setAppUserIdStr(goodsAppUser.getAppUserId().toString()); goodsAppUser.setUserName(u.getName()); goodsAppUser.setPhone(u.getPhone()); VipSetting vipSetting = vipSettingService.getById(u.getVipId()); diff --git a/ruoyi-service/ruoyi-other/src/main/java/com/ruoyi/other/util/payment/model/SinglePayCallbackResult.java b/ruoyi-service/ruoyi-other/src/main/java/com/ruoyi/other/util/payment/model/SinglePayCallbackResult.java index 6953a5a..c511075 100644 --- a/ruoyi-service/ruoyi-other/src/main/java/com/ruoyi/other/util/payment/model/SinglePayCallbackResult.java +++ b/ruoyi-service/ruoyi-other/src/main/java/com/ruoyi/other/util/payment/model/SinglePayCallbackResult.java @@ -11,6 +11,17 @@ public class SinglePayCallbackResult { /** * 交易状态 + * 201 批次已创建 汇聚受理并创建该批次的初始状态 + * 202 处理中 批次正在处理中状态 + * 203 处理完成 批次中的每笔明细都明确了代付结果 + * 204 批次不存在 汇聚未受理该批次的请求,找不到该批次,明确失败 + * 205 交易成功 明确交易成功的状态码 + * 208 订单已取消 代付订单被商户审核为拒绝付款 + * 210 账务冻结中 确认出款后对商户的账户余额进行冻结处理 + * 211 账务解冻中 确认失败后对商户的账户余额进行解冻处理 + * 212 订单取消中 商户审核为拒绝付款的中间状态 + * 213 账务扣款中 确认成功后对商户的账户冻结款的扣款处理 + * 214 订单不存在 汇聚未受理该笔代付请求,找不到该笔订单,明确失败 */ private Integer status; /** diff --git a/ruoyi-service/ruoyi-other/src/main/resources/mapper/other/SeckillActivityInfoMapper.xml b/ruoyi-service/ruoyi-other/src/main/resources/mapper/other/SeckillActivityInfoMapper.xml index 287a6be..e867c1b 100644 --- a/ruoyi-service/ruoyi-other/src/main/resources/mapper/other/SeckillActivityInfoMapper.xml +++ b/ruoyi-service/ruoyi-other/src/main/resources/mapper/other/SeckillActivityInfoMapper.xml @@ -64,7 +64,7 @@ tgc.`name` goodsCategoryName, tg.operating_cost, tg.shop_cost, - tg.purchase_limit maxNum, + tsai.max_num maxNum, tg.home_page_picture, tg.original_price, tg.sale_num, -- Gitblit v1.7.1