| src/main/java/com/nq/controller/protol/UserController.java | ●●●●● patch | view | raw | blame | history | |
| src/main/java/com/nq/pojo/StockRealTimeBean.java | ●●●●● patch | view | raw | blame | history | |
| src/main/java/com/nq/service/UserPendingorderService.java | ●●●●● patch | view | raw | blame | history | |
| src/main/java/com/nq/service/impl/PriceServicesImpl.java | ●●●●● patch | view | raw | blame | history | |
| src/main/java/com/nq/service/impl/UserPendingorderServiceImpl.java | ●●●●● patch | view | raw | blame | history | |
| src/main/java/com/nq/service/impl/UserPositionServiceImpl.java | ●●●●● patch | view | raw | blame | history | |
| src/main/java/com/nq/ws/WebsocketRunClient.java | ●●●●● patch | view | raw | blame | history | |
| src/main/resources/application.properties | ●●●●● patch | view | raw | blame | history |
src/main/java/com/nq/controller/protol/UserController.java
@@ -213,6 +213,23 @@ } return serverResponse; } //挂单操作-撤销 @RequestMapping({"revocationOrder.do"}) @ResponseBody public ServerResponse revocationOrder(HttpServletRequest request,@RequestParam("id") Integer id) { ServerResponse serverResponse = null; try { serverResponse = this.userPendingorderService.cancelPendingOrder(request,id); } catch (Exception e) { log.error("挂单操作-撤销 = {}", e); } return serverResponse; } //挂单操作-删除 @RequestMapping({"delOrder.do"}) @ResponseBody src/main/java/com/nq/pojo/StockRealTimeBean.java
@@ -25,5 +25,6 @@ private String turnover_numeric; private String time; private String timestamp; private String Open; } src/main/java/com/nq/service/UserPendingorderService.java
@@ -33,4 +33,6 @@ ServerResponse addOrderByAdmin(String phone, String buyNum,String code, String buyType, String lever, String targetPrice, HttpServletRequest request); ServerResponse delOrderByAdmin(Integer id); ServerResponse cancelPendingOrder(HttpServletRequest request, Integer id); } src/main/java/com/nq/service/impl/PriceServicesImpl.java
@@ -63,24 +63,24 @@ if(null == stock){ return BigDecimal.ZERO; } StockSetting stockSetting = stockSettingMapper.selectOne(new QueryWrapper<StockSetting>().eq("stock_code",stockCode)); if(stockSetting != null){ Date newDate = new Date(); DateTime startTime = DateUtil.parseDateTime(stockSetting.getStartTime()); DateTime endTime = DateUtil.parseDateTime(stockSetting.getEndTime()); if(newDate.after(startTime) && newDate.before(endTime)){ // if(TimeUtil.isTradingHour(stockSetting.getStartTime(),stockSetting.getEndTime())){ if(stockSetting.getType().equals("0")){ return new BigDecimal(stockSetting.getPrice()); }else{ String s = doPost(stock.getStockCode()); if(null != s){ Map<String, Object> stringObjectMap = jsonToMap(s); return new BigDecimal(stringObjectMap.get("Last").toString()).multiply(new BigDecimal(stockSetting.getPrice())); } } } } // StockSetting stockSetting = stockSettingMapper.selectOne(new QueryWrapper<StockSetting>().eq("stock_code",stockCode)); // if(stockSetting != null){ // Date newDate = new Date(); // DateTime startTime = DateUtil.parseDateTime(stockSetting.getStartTime()); // DateTime endTime = DateUtil.parseDateTime(stockSetting.getEndTime()); // if(newDate.after(startTime) && newDate.before(endTime)){ //// if(TimeUtil.isTradingHour(stockSetting.getStartTime(),stockSetting.getEndTime())){ // if(stockSetting.getType().equals("0")){ // return new BigDecimal(stockSetting.getPrice()); // }else{ // String s = doPost(stock.getStockCode()); // if(null != s){ // Map<String, Object> stringObjectMap = jsonToMap(s); // return new BigDecimal(stringObjectMap.get("Last").toString()).multiply(new BigDecimal(stockSetting.getPrice())); // } // } // } // } String s = doPost(stock.getStockCode()); if(null != s) { 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()); @@ -350,6 +351,38 @@ 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())); 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); return ServerResponse.createBySuccess("撤销成功!",request); } @Override public ServerResponse orderListByAdmin(int pageNum, int pageSize, String keywords, String status, HttpServletRequest request) { src/main/java/com/nq/service/impl/UserPositionServiceImpl.java
@@ -222,8 +222,10 @@ userPendingorder.setTargetPrice(preMarketPrice); userPendingorder.setAddTime(new Date()); userPendingorder.setStatus(0); userPendingorder.setBuyAmt(preMarketPrice.multiply(new BigDecimal(buyNum)).setScale(2, RoundingMode.HALF_UP)); userPendingorder.setBuyAmt(preMarketPrice.multiply(new BigDecimal(buyNum)).divide(new BigDecimal(lever))); int ret = userPendingorderMapper.insert(userPendingorder); buyAmt = userPendingorder.getBuyAmt(); orderFree = siteSettingBuyFee.multiply(buyAmt); }else { userPosition.setPositionType(user.getAccountType()); userPosition.setPositionSn(KeyUtils.getUniqueKey()); src/main/java/com/nq/ws/WebsocketRunClient.java
@@ -71,6 +71,8 @@ stockRealTimeBean.setPc(stringObjectMap.get("Chg")); stockRealTimeBean.setPcp(stringObjectMap.get("ChgPct") + "%"); stockRealTimeBean.setTime(stringObjectMap.get("Time")); stockRealTimeBean.setOpen(stringObjectMap.get("Open")); stockRealTimeBean.setPrevClose(stringObjectMap.get("PrevClose")); RedisKeyUtil.setCacheRealTimeStock(EStockType.US, stockRealTimeBean); src/main/resources/application.properties
@@ -17,7 +17,7 @@ ftp.user=ftp_stock ftp.pass=123456 ftp.address =/www/wwwroot/ftp_stock/ ftp.server.http.prefix=https://img.yanshiz.com/ ftp.server.http.prefix=https://img.isusstcok.com/ redis1.ip=localhost #redis1.port=6380