| | |
| | | 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; |
| | |
| | | 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; |
| | |
| | | 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) { |
| | |
| | | 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(); |
| | | |
| | |
| | | if (nowPrice == null) { |
| | | nowPrice = String.valueOf(0); |
| | | } |
| | | userPendingorderVO.setNowPrice(new BigDecimal(nowPrice)); |
| | | userPendingorderVO.setStockName(stock.getStockName()); |
| | | userPendingorderVO.setNowPrice(userPendingorder.getTargetPrice()); |
| | | // userPendingorderVO.setStockName(stock.getStockName()); |
| | | userPendingorderVO.setStockName(stock.getStockSpell()); |
| | | userPendingorderVO.setStockId(stock.getStockCode()); |
| | | userPendingorderVO.setBuyNum(userPendingorder.getBuyNum()); |
| | | userPendingorderVO.setBuyType(userPendingorder.getBuyType()); |
| | |
| | | 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())); |
| | | 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); |
| | | } |
| | | 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) { |