peter
2025-11-19 eb357bb9938d569734b04948695726b80c5dfb85
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) {