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