peter
2025-10-29 f3b9e9f5024c13c6e70711a3ec98b4538378bd85
src/main/java/com/nq/service/impl/UserPendingorderServiceImpl.java
@@ -12,6 +12,8 @@
import com.github.pagehelper.PageInfo;
import com.nq.common.ServerResponse;
import com.nq.dao.*;
import com.nq.enums.EStockType;
import com.nq.enums.EUserAssets;
import com.nq.pojo.*;
import com.nq.service.*;
import com.nq.utils.timeutil.DateTimeUtil;
@@ -65,6 +67,12 @@
    private ISiteSettingService iSiteSettingService;
    @Autowired
    private UserPositionMapper userPositionMapper;
    @Autowired
    private UserAssetsServices userAssetsServices;
    @Autowired
    private MoneyLogMapper  moneyLogMapper;
    @Autowired
    private UserAssetsMapper userAssetsMapper;
    @Override
    public ServerResponse addOrder(String stockId, Integer buyNum, Integer buyType, Integer lever, BigDecimal profitTarget, BigDecimal stopTarget, BigDecimal targetPrice, HttpServletRequest request) {
@@ -118,7 +126,7 @@
            User user = (User) JsonUtil.string2Obj(userJson, User.class);
//            log.info("user:{}",user);
            if (user != null) {
                List<UserPendingorder> userPendingorders = userPendingorderMapper.selectList(new QueryWrapper<UserPendingorder>().eq("user_id", user.getId()));
                List<UserPendingorder> userPendingorders = userPendingorderMapper.selectList(new QueryWrapper<UserPendingorder>().eq("user_id", user.getId()).orderByDesc("add_time"));
                List UserPendingorderList = new ArrayList();
@@ -136,7 +144,8 @@
                        nowPrice = String.valueOf(0);
                    }
                    userPendingorderVO.setNowPrice(new BigDecimal(nowPrice));
                    userPendingorderVO.setStockName(stock.getStockName());
//                    userPendingorderVO.setStockName(stock.getStockName());
                    userPendingorderVO.setStockName(stock.getStockSpell());
                    userPendingorderVO.setStockId(stock.getStockCode());
                    userPendingorderVO.setBuyNum(userPendingorder.getBuyNum());
                    userPendingorderVO.setBuyType(userPendingorder.getBuyType());
@@ -311,6 +320,36 @@
        return ServerResponse.createByErrorMsg("Please log in");
    }
    public void delUserPendingorderTask() {
        log.info("===========删除挂单任务开始==========");
        List<UserPendingorder> userPendingorderList = this.userPendingorderMapper.selectList(new QueryWrapper<UserPendingorder>().eq("status",0));
        for (UserPendingorder userPendingorder : userPendingorderList) {
            //修改状态
            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()));
            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.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);
        }
        log.info("===========删除挂单任务结束==========");
    }
    @Override
    public ServerResponse orderListByAdmin(int pageNum, int pageSize, String keywords, String status, HttpServletRequest request) {