TradingController.java
2.48 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
package com.sl.ms.trade.controller;
import cn.hutool.core.bean.BeanUtil;
import cn.hutool.core.util.ObjectUtil;
import com.sl.ms.trade.domain.TradingDTO;
import com.sl.ms.trade.entity.TradingEntity;
import com.sl.ms.trade.enums.TradingEnum;
import com.sl.ms.trade.service.TradingService;
import com.sl.transport.common.exception.SLException;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiImplicitParam;
import io.swagger.annotations.ApiImplicitParams;
import io.swagger.annotations.ApiOperation;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RequestParam;
import org.springframework.web.bind.annotation.RestController;
import javax.annotation.Resource;
/**
* @author zzj
* @version 1.0
*/
@RestController
@Api(tags = "交易单服务")
@RequestMapping("tradings")
public class TradingController {
@Resource
private TradingService tradingService;
/**
* 根据业务系统订单号 或 交易单号查询交易单 (二个至少传递一个,优先按照交易单号查询)
*
* @param productOrderNo 业务订单号
* @param tradingOrderNo 交易单号
* @return 交易单数据
*/
@GetMapping
@ApiOperation(value = "查询交易单", notes = "根据业务系统订单号 或 交易单号查询交易单 (二个至少传递一个,优先按照交易单号查询)")
@ApiImplicitParams({
@ApiImplicitParam(name = "productOrderNo", value = "业务订单号"),
@ApiImplicitParam(name = "tradingOrderNo", value = "交易单号")
})
public TradingDTO queryTrading(@RequestParam(value = "productOrderNo", required = false) Long productOrderNo,
@RequestParam(value = "tradingOrderNo", required = false) Long tradingOrderNo) {
if (ObjectUtil.isAllEmpty(productOrderNo, tradingOrderNo)) {
throw new SLException(TradingEnum.TRADING_QUERY_PARAM_ERROR);
}
TradingEntity tradingEntity;
if (ObjectUtil.isNotEmpty(tradingOrderNo)) {
tradingEntity = this.tradingService.findTradByTradingOrderNo(tradingOrderNo);
} else {
tradingEntity = this.tradingService.findTradByProductOrderNo(productOrderNo);
}
if (ObjectUtil.isEmpty(tradingEntity)) {
throw new SLException(TradingEnum.NOT_FOUND);
}
return BeanUtil.toBean(tradingEntity, TradingDTO.class);
}
}