From eb357bb9938d569734b04948695726b80c5dfb85 Mon Sep 17 00:00:00 2001
From: peter <14100000001@qq.com>
Date: Wed, 19 Nov 2025 10:40:27 +0800
Subject: [PATCH] 代理后台新增删除用户、提现审核

---
 src/main/java/com/nq/service/impl/UserPendingorderServiceImpl.java |   39 +++++++++++++++++++++++++++++++++++++--
 1 files changed, 37 insertions(+), 2 deletions(-)

diff --git a/src/main/java/com/nq/service/impl/UserPendingorderServiceImpl.java b/src/main/java/com/nq/service/impl/UserPendingorderServiceImpl.java
index c26b761..9175cc3 100644
--- a/src/main/java/com/nq/service/impl/UserPendingorderServiceImpl.java
+++ b/src/main/java/com/nq/service/impl/UserPendingorderServiceImpl.java
@@ -5,6 +5,7 @@
 import java.util.Date;
 import java.util.List;
 
+import cn.hutool.core.util.ObjectUtil;
 import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
 import com.baomidou.mybatisplus.core.toolkit.StringUtils;
 import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
@@ -143,7 +144,7 @@
                     if (nowPrice == null) {
                         nowPrice = String.valueOf(0);
                     }
-                    userPendingorderVO.setNowPrice(new BigDecimal(nowPrice));
+                    userPendingorderVO.setNowPrice(userPendingorder.getTargetPrice());
 //                    userPendingorderVO.setStockName(stock.getStockName());
                     userPendingorderVO.setStockName(stock.getStockSpell());
                     userPendingorderVO.setStockId(stock.getStockCode());
@@ -334,12 +335,13 @@
             UserAssets userAssets =  userAssetsMapper.selectOne(queryWrapper);
             String before = userAssets.getAvailableBalance().toString();
             userAssets.setAvailableBalance(userAssets.getAvailableBalance().add(userPendingorder.getBuyAmt()));
+            userAssets.setFreezeMoney(userAssets.getFreezeMoney().subtract(userPendingorder.getBuyAmt()));
             userAssetsMapper.updateById(userAssets);
             MoneyLog moneyLog = new MoneyLog();
             moneyLog.setDescs(EUserAssets.BUY_REFUND.getDesc());
             moneyLog.setBeFore(before);
             moneyLog.setAfter(userAssets.getAvailableBalance().toString());
-            moneyLog.setAmount(userAssets.getAvailableBalance().toString());
+            moneyLog.setAmount(userPendingorder.getBuyAmt().toString());
             moneyLog.setAccectType("US");
             moneyLog.setType(EUserAssets.BUY_REFUND.getCode());
             moneyLog.setUserId(userPendingorder.getUserId()+"");
@@ -350,6 +352,39 @@
         log.info("===========删除挂单任务结束==========");
     }
 
+    public ServerResponse cancelPendingOrder(HttpServletRequest request, Integer id){
+        log.info("===========撤销挂单==========");
+        UserPendingorder userPendingorder = this.userPendingorderMapper.selectById(id);
+        if(ObjectUtil.isEmpty(userPendingorder)){
+            return ServerResponse.createByErrorMsg("订单不存在!",request);
+        }else if(userPendingorder.getStatus() == 2){
+            return ServerResponse.createByErrorMsg("订单已撤销,请勿重复操作!",request);
+        }
+        //修改状态
+        userPendingorder.setStatus(2);
+        userPendingorderMapper.updateById(userPendingorder);
+        //退款
+        QueryWrapper<UserAssets>  queryWrapper = new QueryWrapper<>();
+        queryWrapper.eq("accect_type","US");
+        queryWrapper.eq("user_id",userPendingorder.getUserId());
+        UserAssets userAssets =  userAssetsMapper.selectOne(queryWrapper);
+        String before = userAssets.getAvailableBalance().toString();
+        userAssets.setAvailableBalance(userAssets.getAvailableBalance().add(userPendingorder.getBuyAmt()));
+        userAssets.setFreezeMoney(userAssets.getFreezeMoney().subtract(userPendingorder.getBuyAmt()));
+        userAssetsMapper.updateById(userAssets);
+        MoneyLog moneyLog = new MoneyLog();
+        moneyLog.setDescs(EUserAssets.BUY_REFUND.getDesc());
+        moneyLog.setBeFore(before);
+        moneyLog.setAfter(userAssets.getAvailableBalance().toString());
+        moneyLog.setAmount(userPendingorder.getBuyAmt().toString());
+        moneyLog.setAccectType("US");
+        moneyLog.setType(EUserAssets.BUY_REFUND.getCode());
+        moneyLog.setUserId(userPendingorder.getUserId()+"");
+        moneyLog.setSymbol(EStockType.getEStockTypeByCode("US").getSymbol());
+        moneyLog.setCreateTime(new Date());
+        moneyLogMapper.insert(moneyLog);
+        return ServerResponse.createBySuccess("撤销成功!",request);
+    }
 
     @Override
     public ServerResponse orderListByAdmin(int pageNum, int pageSize, String keywords, String status, HttpServletRequest request) {

--
Gitblit v1.9.3