From 60de92280e4cd66a914f41b0681656a62cde346d Mon Sep 17 00:00:00 2001
From: Pu Zhibing <393733352@qq.com>
Date: 星期二, 14 一月 2025 14:50:52 +0800
Subject: [PATCH] 修改bug
---
ruoyi-service/ruoyi-other/src/main/java/com/ruoyi/other/controller/ShopWithdrawController.java | 48 +++++++++++++++++++++++++++++++++++++++---------
1 files changed, 39 insertions(+), 9 deletions(-)
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 f761f1e..f0a432b 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
@@ -3,6 +3,7 @@
import com.alibaba.fastjson2.JSONObject;
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
+import com.baomidou.mybatisplus.core.conditions.update.LambdaUpdateWrapper;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.ruoyi.account.api.feignClient.AppUserClient;
@@ -25,16 +26,21 @@
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;
import io.swagger.annotations.ApiParam;
+import org.springframework.util.CollectionUtils;
import org.springframework.web.bind.annotation.*;
import javax.annotation.Resource;
import java.math.BigDecimal;
import java.math.RoundingMode;
import java.time.LocalDateTime;
+import java.util.List;
+import java.util.Optional;
+import java.util.stream.Collectors;
/**
* <p>
@@ -61,6 +67,9 @@
@Resource
private AppUserClient appUserClient;
+
+ @Resource
+ private SysUserClient sysUserClient;
@@ -73,10 +82,28 @@
public R<IPage<ShopWithdraw>> list(@ApiParam("页码") @RequestParam Integer pageNum,
@ApiParam("每一页数据大小") Integer pageSize,
ShopWithdraw shopWithdraw) {
-
+ List<Shop> list = shopService.list(new LambdaUpdateWrapper<Shop>()
+ .like(StringUtils.isNotEmpty(shopWithdraw.getShopName()), Shop::getName, shopWithdraw.getShopName())
+ .eq(Shop::getDelFlag, 0));
+ List<Integer> collect1 = list.stream().map(Shop::getId).collect(Collectors.toList());
+ if (CollectionUtils.isEmpty(collect1)){
+ return R.ok(Page.of(pageNum, pageSize));
+ }
Page<ShopWithdraw> page = shopWithdrawService.page(Page.of(pageNum, pageSize), new LambdaQueryWrapper<ShopWithdraw>()
- .like(StringUtils.isNotEmpty(shopWithdraw.getShopName()), ShopWithdraw::getShopName, shopWithdraw.getShopName()));
- page.getRecords().forEach(item-> item.setShopName(shopService.getById(item.getShopId()).getName()));
+ .in(collect1.size() > 0, ShopWithdraw::getShopId, collect1));
+ List<ShopWithdraw> records = page.getRecords();
+ List<Integer> collect = records.stream().map(ShopWithdraw::getShopId).collect(Collectors.toList());
+ List<Shop> shops = null;
+ if(collect.size() > 0){
+ shops = shopService.listByIds(collect);
+ }
+ for(ShopWithdraw item : records){
+ Optional<Shop> first = shops.stream().filter(s -> s.getId().equals(item.getShopId())).findFirst();
+ if(first.isPresent()){
+ item.setShopName(first.get().getName());
+ }
+ item.setIdStr(item.getId().toString());
+ }
return R.ok(page);
}
@@ -91,6 +118,7 @@
.eq(shopWithdraw.getAuditStatus()!=null,ShopWithdraw::getAuditStatus,shopWithdraw.getAuditStatus())
.orderByDesc(ShopWithdraw::getCreateTime)
);
+ page.getRecords().forEach(s->s.setIdStr(s.getId().toString()));
return R.ok(page);
}
@@ -105,7 +133,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){
@@ -119,6 +148,7 @@
shopWithdraw.setMoney(money);
shopWithdraw.setAuditStatus(0);
shopWithdraw.setStatus(1);
+ shopWithdraw.setCreateTime(LocalDateTime.now());
shopWithdrawService.save(shopWithdraw);
//扣除账户余额及添加变动明细
BigDecimal balance = shop.getBalance();
@@ -131,7 +161,7 @@
//添加门店变动明细
ShopBalanceStatement shopBalanceStatement = new ShopBalanceStatement();
shopBalanceStatement.setShopId(shop.getId());
- shopBalanceStatement.setType(5);
+ shopBalanceStatement.setType(4);
shopBalanceStatement.setHistoricalBalance(balance);
shopBalanceStatement.setVariableAmount(money);
shopBalanceStatement.setBalance(shop.getBalance());
@@ -163,12 +193,12 @@
return R.fail("查询账户余额出错");
}
Double useAbleSettAmount = accountBalanceQueryResult.getUseAbleSettAmount();
- if(useAbleSettAmount < shopWithdraw1.getMoney().doubleValue()){
+ if(useAbleSettAmount < (shopWithdraw1.getMoney().doubleValue() + 1)){
return R.fail("账户可用余额不足,请先补充账户余额");
}
//银行卡转账
SinglePay singlePay = new SinglePay();
- singlePay.setTradeMerchantNo("");
+ singlePay.setTradeMerchantNo(TransferUtil.sysTradeMerchantNo);
singlePay.setMerchantOrderNo(shopWithdraw1.getId().toString());
singlePay.setReceiverAccountNoEnc(shop.getReceiverAccountNoEnc());
singlePay.setReceiverNameEnc(shop.getReceiverNameEnc());
@@ -195,7 +225,7 @@
//添加门店变动明细
ShopBalanceStatement shopBalanceStatement = new ShopBalanceStatement();
shopBalanceStatement.setShopId(shop.getId());
- shopBalanceStatement.setType(5);
+ shopBalanceStatement.setType(4);
shopBalanceStatement.setHistoricalBalance(balance);
shopBalanceStatement.setVariableAmount(money);
shopBalanceStatement.setBalance(shop.getBalance());
@@ -222,7 +252,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()){
--
Gitblit v1.7.1