| | |
| | | package com.yami.trading.api.controller.dz; |
| | | |
| | | import com.yami.trading.bean.dz.ExchangeApplyOrderDz; |
| | | import com.yami.trading.common.constants.Constants; |
| | | import com.yami.trading.common.domain.Result; |
| | | import com.yami.trading.common.exception.YamiShopBindException; |
| | |
| | | @ResponseBody |
| | | public Result buyDz(@RequestParam("dzId") String dzId, |
| | | @RequestParam(value = "password", required = false) String password, |
| | | @RequestParam("num") double num) { |
| | | @RequestParam(name = "num", defaultValue = "1") double num) { |
| | | lock.lock(); |
| | | try { |
| | | if (orderCreated.get()) { |
| | |
| | | if (partyId == null || partyId.isEmpty()) { |
| | | throw new YamiShopBindException("请先登录"); |
| | | } |
| | | return stockDzService.buyDz(dzId, password, num, partyId); |
| | | return stockDzService.buyDz(dzId, password, num, partyId, false); |
| | | } catch (Exception e) { |
| | | log.error(e.getMessage()); |
| | | } finally{ |
| | |
| | | |
| | | |
| | | |
| | | |
| | | /** |
| | | * 大宗交易订单列表 |
| | | * @param pageNum |
| | | * @param pageSize |
| | | * @param state |
| | | * @return |
| | | */ |
| | | @ApiOperation("大宗交易订单列表") |
| | | @ApiOperation("大宗交易持仓订单列表") |
| | | @PostMapping({"getDzOrderList.do"}) |
| | | @ResponseBody |
| | | public Result getDzOrderList(@RequestParam(value = "pageNum", defaultValue = "1") int pageNum, |
| | | @RequestParam(value = "pageSize", defaultValue = "5") int pageSize, |
| | | @RequestParam(value = "state", required = false) String state) { |
| | | @RequestParam(value = "pageSize", defaultValue = "5") int pageSize) { |
| | | String partyId = SecurityUtils.getCurrentUserId(); |
| | | if (partyId == null || partyId.isEmpty()) { |
| | | throw new YamiShopBindException("请先登录"); |
| | | } |
| | | return stockDzService.getDzOrderList(pageNum, pageSize, state, partyId, Constants.US_STOCKS); |
| | | return stockDzService.getDzOrderList(pageNum, pageSize, ExchangeApplyOrderDz.STATE_POSITION, partyId, Constants.US_STOCKS); |
| | | } |
| | | |
| | | @ApiOperation("大宗交易历史订单列表") |
| | | @PostMapping({"getDzHistoryList.do"}) |
| | | @ResponseBody |
| | | public Result getDzHistoryList(@RequestParam(value = "pageNum", defaultValue = "1") int pageNum, |
| | | @RequestParam(value = "pageSize", defaultValue = "5") int pageSize) { |
| | | String partyId = SecurityUtils.getCurrentUserId(); |
| | | if (partyId == null || partyId.isEmpty()) { |
| | | throw new YamiShopBindException("请先登录"); |
| | | } |
| | | return stockDzService.getDzOrderList(pageNum, pageSize, null, partyId, Constants.US_STOCKS); |
| | | } |
| | | |
| | | |
| | | @ApiOperation("大宗平仓") |
| | | @GetMapping({"closeStockDz.do"}) |
| | | @ResponseBody |
| | | public Result closeStockDz(@RequestParam("id") String id, |
| | | @RequestParam(value = "num", required = false) Double num) { |
| | | lock.lock(); |
| | | try { |
| | | if (orderCreated.get()) { |
| | | throw new YamiShopBindException("当前交易人数过多,请稍后重试"); |
| | | } |
| | | orderCreated.set(true); |
| | | String partyId = SecurityUtils.getCurrentUserId(); |
| | | if (partyId == null || partyId.isEmpty()) { |
| | | throw new YamiShopBindException("请先登录"); |
| | | } |
| | | return stockDzService.closeDz(id, num, partyId, false); |
| | | } catch (Exception e) { |
| | | log.error(e.getMessage()); |
| | | } finally{ |
| | | lock.unlock(); |
| | | orderCreated.set(false); |
| | | } |
| | | throw new YamiShopBindException("订单异常,请稍后重试"); |
| | | } |
| | | |
| | | } |