From 07b70a81dd94f638d31108c2029b44c26f6dde69 Mon Sep 17 00:00:00 2001
From: luodangjia <luodangjia>
Date: 星期三, 15 一月 2025 09:58:42 +0800
Subject: [PATCH] 12.18
---
ruoyi-service/ruoyi-other/src/main/java/com/ruoyi/other/controller/ShopWithdrawController.java | 60 ++++++++++++++++++++++++++++++++++++++++++++++++------------
1 files changed, 48 insertions(+), 12 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 be86361..835ff42 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
@@ -70,9 +70,13 @@
@Resource
private SysUserClient sysUserClient;
-
-
-
+
+
+ @GetMapping("/getShopById")
+ @ApiOperation("通过门店id获取账户信息回填")
+ public R<Shop> getShopById(Integer id) {
+ return R.ok(shopService.getById(id));
+ }
/**
* 提现申请列表
@@ -90,7 +94,8 @@
return R.ok(Page.of(pageNum, pageSize));
}
Page<ShopWithdraw> page = shopWithdrawService.page(Page.of(pageNum, pageSize), new LambdaQueryWrapper<ShopWithdraw>()
- .in(collect1.size() > 0, ShopWithdraw::getShopId, collect1));
+ .in(collect1.size() > 0, ShopWithdraw::getShopId, collect1)
+ .orderByDesc(ShopWithdraw::getCreateTime));
List<ShopWithdraw> records = page.getRecords();
List<Integer> collect = records.stream().map(ShopWithdraw::getShopId).collect(Collectors.toList());
List<Shop> shops = null;
@@ -112,9 +117,10 @@
public R<IPage<ShopWithdraw>> shoplist(@ApiParam("页码") @RequestParam Integer pageNum,
@ApiParam("每一页数据大小") Integer pageSize,
ShopWithdraw shopWithdraw) {
- Integer objectId = tokenService.getLoginUser().getSysUser().getObjectId();
+ LoginUser loginUser = tokenService.getLoginUser();
+ SysUser sysUser = sysUserClient.getSysUser(loginUser.getUserid()).getData();
Page<ShopWithdraw> page = shopWithdrawService.page(Page.of(pageNum, pageSize), new LambdaQueryWrapper<ShopWithdraw>()
- .eq(ShopWithdraw::getShopId,objectId)
+ .eq(sysUser!=null,ShopWithdraw::getShopId,sysUser.getObjectId())
.eq(shopWithdraw.getAuditStatus()!=null,ShopWithdraw::getAuditStatus,shopWithdraw.getAuditStatus())
.orderByDesc(ShopWithdraw::getCreateTime)
);
@@ -125,9 +131,10 @@
@GetMapping("/shop/info")
@ApiOperation(value = "提现申请列表上方数据", notes = "提现申请列表", tags = {"门店后台"})
public R<Shop> shopCommissionStatisticsinfo(){
- Integer objectId = tokenService.getLoginUser().getSysUser().getObjectId();
- Shop byId = shopService.getById(objectId);
- List<ShopWithdraw> list = shopWithdrawService.lambdaQuery().eq(ShopWithdraw::getShopId, objectId)
+ LoginUser loginUser = tokenService.getLoginUser();
+ SysUser sysUser = sysUserClient.getSysUser(loginUser.getUserid()).getData();
+ Shop byId = shopService.getById(sysUser.getObjectId());
+ List<ShopWithdraw> list = shopWithdrawService.lambdaQuery().eq(ShopWithdraw::getShopId, sysUser.getObjectId())
.eq(ShopWithdraw::getAuditStatus, 0).list();
if (!list.isEmpty()){
BigDecimal bigDecimal = list.stream().map(ShopWithdraw::getMoney).reduce(BigDecimal::add).orElse(BigDecimal.ZERO);
@@ -135,6 +142,7 @@
}else {
byId.setWithdrawAuditMoney(BigDecimal.ZERO);
}
+ byId.setWithdrawMoney(byId.getWithdrawMoney().subtract(byId.getWithdrawAuditMoney()));
return R.ok(byId);
}
@@ -191,6 +199,7 @@
@ApiOperation("审核")
public R<Void> audit(@RequestBody ShopWithdraw shopWithdraw) {
LoginUser loginUser = tokenService.getLoginUser();
+
ShopWithdraw shopWithdraw1 = shopWithdrawService.getById(shopWithdraw.getId());
if(0 != shopWithdraw1.getAuditStatus()){
return R.fail("不能重复审核");
@@ -263,9 +272,9 @@
@PostMapping("/withdrawalCallback")
public Object withdrawalCallback(@RequestBody SinglePayCallbackResult singlePayCallbackResult){
Integer status = singlePayCallbackResult.getStatus();
+ String merchantOrderNo = singlePayCallbackResult.getMerchantOrderNo();
+ ShopWithdraw shopWithdraw = shopWithdrawService.getById(merchantOrderNo);
if(203 == status || 205 == status){
- String merchantOrderNo = singlePayCallbackResult.getMerchantOrderNo();
- ShopWithdraw shopWithdraw = shopWithdrawService.getById(merchantOrderNo);
if(1 == shopWithdraw.getStatus()){
shopWithdraw.setStatus(2);
shopWithdraw.setArrivalTime(LocalDateTime.now());
@@ -274,8 +283,35 @@
JSONObject jsonObject = new JSONObject();
jsonObject.put("statusCode", 2001);
return jsonObject;
+ }else{
+ //回退金额和添加变动明细
+ Shop shop = shopService.getById(shopWithdraw.getShopId());
+ BigDecimal balance = shop.getBalance();
+ BigDecimal canWithdrawMoney = shop.getCanWithdrawMoney();
+ BigDecimal withdrawMoney = shop.getWithdrawMoney();
+ shop.setBalance(balance.add(shopWithdraw.getMoney()).setScale(2, RoundingMode.HALF_EVEN));
+ shop.setCanWithdrawMoney(canWithdrawMoney.add(shopWithdraw.getMoney()).setScale(2, RoundingMode.HALF_EVEN));
+ shop.setWithdrawMoney(withdrawMoney.subtract(shopWithdraw.getMoney()).setScale(2, RoundingMode.HALF_EVEN));
+ shopService.updateById(shop);
+ //添加门店变动明细
+ ShopBalanceStatement shopBalanceStatement = new ShopBalanceStatement();
+ shopBalanceStatement.setShopId(shop.getId());
+ shopBalanceStatement.setType(4);
+ shopBalanceStatement.setHistoricalBalance(balance);
+ shopBalanceStatement.setVariableAmount(shopWithdraw.getMoney());
+ shopBalanceStatement.setBalance(shop.getBalance());
+ shopBalanceStatement.setCreateUserId(shopWithdraw.getAuditUserId());
+ shopBalanceStatement.setCreateTime(LocalDateTime.now());
+ shopBalanceStatement.setObjectId(shopWithdraw.getId());
+ shopBalanceStatementService.save(shopBalanceStatement);
+ shopWithdraw.setStatus(3);
+ shopWithdraw.setRemark(singlePayCallbackResult.getErrorCodeDesc());
+ shopWithdrawService.updateById(shopWithdraw);
+
+ JSONObject jsonObject = new JSONObject();
+ jsonObject.put("statusCode", 2001);
+ return jsonObject;
}
- return new JSONObject();
}
}
--
Gitblit v1.7.1