qryErmcp3.go 25 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649
  1. /**
  2. * @Author: zou.yingbin
  3. * @Create : 2021/4/15 10:35
  4. * @Modify : 2021/4/15 10:35
  5. */
  6. package ermcp3
  7. import (
  8. "github.com/gin-gonic/gin"
  9. "mtp2_if/global/app"
  10. "mtp2_if/global/e"
  11. "mtp2_if/logger"
  12. "mtp2_if/models"
  13. "mtp2_if/mtpcache"
  14. "net/http"
  15. )
  16. // QueryDeliveryGoods
  17. // @Summary 查询现货商品
  18. // @Produce json
  19. // @Security ApiKeyAuth
  20. // @Param userid query int true "用户id"
  21. // @Param usertype query int false "用户类型 2-机构 7-企业成员"
  22. // @Param excludecfg query int false "排除已配置的业务类型商品 1-套保 2-套利"
  23. // @Success 200 {array} models.ErmcpDeliveryGoods
  24. // @Failure 500 {object} app.Response
  25. // @Router /Ermcp3/QueryDeliveryGoods [get]
  26. // @Tags 企业风险管理v3(app)
  27. func QueryDeliveryGoods(c *gin.Context) {
  28. a := app.GinUtils{Gin: app.Gin{C: c}}
  29. req := struct {
  30. UserId int64 `form:"userid" binding:"required"` // 用户id
  31. USERTYPE int32 `form:"usertype"` // 用户类型
  32. ExcludeCfg int32 `form:"excludecfg"` // 排除已配置的业务类型商品 1-套保 2-套利
  33. }{}
  34. a.DoBindReq(&req)
  35. m := models.ErmcpDeliveryGoods{AREAUSERID: mtpcache.GetAreaUserId(req.UserId, req.USERTYPE),
  36. ExcludeCfg: req.ExcludeCfg}
  37. a.DoGetDataI(&m)
  38. }
  39. // QueryDeliveryGoodsDetail
  40. // @Summary 查询现货商品详情
  41. // @Produce json
  42. // @Security ApiKeyAuth
  43. // @Param userid query int true "用户id"
  44. // @Param usertype query int false "用户类型 2-机构 7-企业成员"
  45. // @Param deliverygoodsid query int false "现货商品id"
  46. // @Success 200 {array} models.XHDeliveryGoods
  47. // @Failure 500 {object} app.Response
  48. // @Router /Ermcp3/QueryDeliveryGoodsDetail [get]
  49. // @Tags 企业风险管理v3(app)
  50. func QueryDeliveryGoodsDetail(c *gin.Context) {
  51. a := app.GinUtils{Gin: app.Gin{C: c}}
  52. req := struct {
  53. UserId int64 `form:"userid" binding:"required"` // 用户id
  54. USERTYPE int32 `form:"usertype"` // 用户类型
  55. DeliveryGoodsId int64 `form:"deliverygoodsid"` // 现货商品id
  56. }{}
  57. a.DoBindReq(&req)
  58. m := models.XHDeliveryGoods{AREAUSERID: mtpcache.GetAreaUserId(req.UserId, req.USERTYPE),
  59. DELIVERYGOODSID: req.DeliveryGoodsId}
  60. a.DoGetDataI(&m)
  61. }
  62. // QueryMiddleGoodsDetail
  63. // @Summary 查询套保品种详情(套保品种/商品详情)
  64. // @Produce json
  65. // @Security ApiKeyAuth
  66. // @Param userid query int true "用户id"
  67. // @Param usertype query int false "用户类型 2-机构 7-企业成员"
  68. // @Param middlegoodsid query int false "套保品种id"
  69. // @Success 200 {array} models.TBMiddleGoods
  70. // @Failure 500 {object} app.Response
  71. // @Router /Ermcp3/QueryMiddleGoodsDetail [get]
  72. // @Tags 企业风险管理v3(app)
  73. func QueryMiddleGoodsDetail(c *gin.Context) {
  74. a := app.GinUtils{Gin: app.Gin{C: c}}
  75. req := struct {
  76. USERID int64 `form:"userid" binding:"required"` // 所属机构id
  77. USERTYPE int32 `form:"usertype"` // 用户类型
  78. MIDDLEGOODSID uint32 `form:"middlegoodsid"` // 套保品种id
  79. }{}
  80. a.DoBindReq(&req)
  81. m := models.TBMiddleGoods{AREAUSERID: mtpcache.GetAreaUserId(req.USERID, req.USERTYPE),
  82. MIDDLEGOODSID: int64(req.MIDDLEGOODSID)}
  83. a.DoGetDataI(&m)
  84. }
  85. // QryContractReq 查询合同请求
  86. type QryContractReq struct {
  87. AreadUserId int64 `form:"userid"` // 所属机构Id
  88. CONTRACTTYPE int32 `form:"contracttype"` // 合同类型 1-采购, -1-销售
  89. QUERYTYPE int32 `form:"querytype"` // 查询类型
  90. USERID int64 `form:"userid"` // 用户Id
  91. USERTYPE int32 `form:"usertype"` // 用户类型
  92. CONTRACTID string `form:"contractid"` // 合同ID(SpotContractId)
  93. }
  94. // QuerySpotContract
  95. // @Summary 查询现货合同
  96. // @Produce json
  97. // @Security ApiKeyAuth
  98. // @Param userid query int true "用户id(当指定contractid, userid可不填)"
  99. // @Param usertype query int false "用户类型 2-机构 7-企业成员"
  100. // @Param contracttype query int false "合同类型 1-采购, -1-销售"
  101. // @Param querytype query int true "查询类型 1-未提交 2-待审核 3-履约中 4-已完成 (当指定contractid, querytype可不填)"
  102. // @Param contractid query string false "合同ID(SpotContractId)"
  103. // @Success 200 {array} models.Ermcp3Contract
  104. // @Failure 500 {object} app.Response
  105. // @Router /Ermcp3/QuerySpotContract [get]
  106. // @Tags 企业风险管理v3(app)
  107. func QuerySpotContract(c *gin.Context) {
  108. a := app.GinUtils{Gin: app.Gin{C: c}}
  109. req := QryContractReq{}
  110. a.DoBindReq(&req)
  111. m := models.Ermcp3Contract{USERID: mtpcache.GetAreaUserId(req.USERID, req.USERTYPE),
  112. QryType: req.QUERYTYPE, CONTRACTTYPE: req.CONTRACTTYPE,
  113. OwnUserId: req.USERID, UserType: req.USERTYPE, SPOTCONTRACTID: req.CONTRACTID}
  114. a.DoGetDataI(&m)
  115. }
  116. // QuerySpotContractBS
  117. // @Summary 查询合同(采购/销售)
  118. // @Produce json
  119. // @Security ApiKeyAuth
  120. // @Param userid query int true "用户id"
  121. // @Param usertype query int false "用户类型 2-机构 7-企业成员"
  122. // @Param contracttype query int true "合同类型 1-采购, -1-销售"
  123. // @Param querytype query int true "查询类型 1-全部 2-待点价 3-履约结算 4-已完成"
  124. // @Param contractid query string false "合同ID(SpotContractId)"
  125. // @Success 200 {array} models.Ermcp3SellBuyContract
  126. // @Failure 500 {object} app.Response
  127. // @Router /Ermcp3/QuerySpotContractBS [get]
  128. // @Tags 企业风险管理v3(app)
  129. func QuerySpotContractBS(c *gin.Context) {
  130. a := app.GinUtils{Gin: app.Gin{C: c}}
  131. req := QryContractReq{}
  132. a.DoBindReq(&req)
  133. m := models.Ermcp3SellBuyContract{UserID: mtpcache.GetAreaUserId(req.USERID, req.USERTYPE),
  134. Contracttype: req.CONTRACTTYPE,
  135. OwnUserId: req.USERID, UserType: req.USERTYPE, SpotContractId: req.CONTRACTID, QryType: req.QUERYTYPE}
  136. a.DoGetDataI(&m)
  137. }
  138. // QueryExposureDetail
  139. // @Summary 查询敞口现货明细
  140. // @Produce json
  141. // @Security ApiKeyAuth
  142. // @Param userid query int true "用户id"
  143. // @Param usertype query int false "用户类型 2-机构 7-企业成员"
  144. // @Param middlegoodsid query int true "套保商品"
  145. // @Success 200 {array} models.Ermcp3ExposureDetail
  146. // @Failure 500 {object} app.Response
  147. // @Router /Ermcp3/QueryExposureDetail [get]
  148. // @Tags 企业风险管理v3(app)
  149. func QueryExposureDetail(c *gin.Context) {
  150. a := app.GinUtils{Gin: app.Gin{C: c}}
  151. req := struct {
  152. USERID int64 `form:"userid" binding:"required"` // 用户id
  153. USERTYPE int32 `form:"usertype"` // 用户类型
  154. MIDDLEGOODSID int32 `form:"middlegoodsid" binding:"required"` // 套保商品id
  155. }{}
  156. a.DoBindReq(&req)
  157. m := models.Ermcp3ExposureDetail{Areauserid: req.USERID,
  158. MiddlegoodsId: req.MIDDLEGOODSID}
  159. a.DoGetDataI(&m)
  160. }
  161. // QueryExposureSpot
  162. // @Summary 查询敞口现货头寸(敞口/现货头寸)
  163. // @Produce json
  164. // @Security ApiKeyAuth
  165. // @Param userid query int true "用户id"
  166. // @Param usertype query int false "用户类型 2-机构 7-企业成员"
  167. // @Success 200 {array} models.Ermcp3AreaSpot
  168. // @Failure 500 {object} app.Response
  169. // @Router /Ermcp3/QueryExposureSpot [get]
  170. // @Tags 企业风险管理v3(app)
  171. func QueryExposureSpot(c *gin.Context) {
  172. a := app.GinUtils{Gin: app.Gin{C: c}}
  173. req := struct {
  174. USERID int64 `form:"userid" binding:"required"` // 用户id
  175. }{}
  176. a.DoBindReq(&req)
  177. // 交易员有敞口, 也是按交易员userid生成的, 不用转换为areauserid
  178. m := models.Ermcp3AreaSpot{AREAUSERID: req.USERID}
  179. a.DoGetDataI(&m)
  180. }
  181. // QueryExposureSpotDetail
  182. // @Summary 查询敞口现货头寸明细(敞口/现货头寸/现货明细)
  183. // @Produce json
  184. // @Security ApiKeyAuth
  185. // @Param userid query int true "用户id"
  186. // @Param usertype query int false "用户类型 2-机构 7-企业成员"
  187. // @Param wrstandardid query int true "现货商品ID"
  188. // @Success 200 {array} models.Ermcp3AreaSpotDetail
  189. // @Failure 500 {object} app.Response
  190. // @Router /Ermcp3/QueryExposureSpotDetail [get]
  191. // @Tags 企业风险管理v3(app)
  192. func QueryExposureSpotDetail(c *gin.Context) {
  193. appG := app.GinUtils{Gin: app.Gin{C: c}}
  194. req := struct {
  195. USERID int64 `form:"userid" binding:"required"` // 用户id
  196. USERTYPE int32 `form:"usertype"` // 用户类型
  197. WRSTANDARDID int32 `form:"wrstandardid" binding:"required"` // 现货商品id
  198. }{}
  199. appG.DoBindReq(&req)
  200. m := models.Ermcp3AreaSpotDetail{UserId: req.USERID,
  201. WRSTANDARDID: req.WRSTANDARDID}
  202. appG.DoGetDataI(&m)
  203. }
  204. // QueryDGFactoryItem
  205. // @Summary 查询品种要素定义项
  206. // @Produce json
  207. // @Security ApiKeyAuth
  208. // @Param userid query int false "用户id"
  209. // @Param usertype query int false "用户类型 2-机构 7-企业成员"
  210. // @Param dgfactoryitemid query int false "选择项ID(SEQ_DGFACTORYITEM)"
  211. // @Param deliverygoodsid query int false "现货品种ID"
  212. // @Param dgfactoryitemtypeid query int false "要素项类型"
  213. // @Param orderindex query int false "顺序"
  214. // @Success 200 {array} models.ErmcpDGFactoryItem
  215. // @Failure 500 {object} app.Response
  216. // @Router /Ermcp3/QueryDGFactoryItem [get]
  217. // @Tags 企业风险管理v3(app)
  218. func QueryDGFactoryItem(c *gin.Context) {
  219. appG := app.GinUtils{Gin: app.Gin{C: c}}
  220. req := struct {
  221. USERID int64 `form:"userid"` // 用户id
  222. USERTYPE int32 `form:"usertype"` // 用户类型
  223. DGFACTORYITEMID int64 `form:"dgfactoryitemid"` // 选择项ID(SEQ_DGFACTORYITEM)
  224. DELIVERYGOODSID int32 `form:"deliverygoodsid"` // 现货品种ID
  225. DGFACTORYITEMTYPEID int64 `form:"dgfactoryitemtypeid"` // 要素项类型
  226. ORDERINDEX int32 `form:"orderindex"` // 顺序
  227. }{}
  228. appG.DoBindReq(&req)
  229. m := models.ErmcpDGFactoryItem{
  230. AREAUSERID: mtpcache.GetAreaUserId(req.USERID, req.USERTYPE),
  231. DGFACTORYITEMID: req.DGFACTORYITEMID,
  232. DELIVERYGOODSID: req.DELIVERYGOODSID,
  233. DGFACTORYITEMTYPEID: req.DGFACTORYITEMTYPEID,
  234. ORDERINDEX: req.ORDERINDEX,
  235. }
  236. appG.DoGetDataI(&m)
  237. }
  238. // QueryGoodsbrand
  239. // @Summary 查询商品品牌
  240. // @Produce json
  241. // @Security ApiKeyAuth
  242. // @Param userid query int true "用户id"
  243. // @Param usertype query int false "用户类型 2-机构 7-企业成员"
  244. // @Success 200 {array} models.Ermcp3Brand
  245. // @Failure 500 {object} app.Response
  246. // @Router /Ermcp3/QueryGoodsbrand [get]
  247. // @Tags 企业风险管理v3(app)
  248. func QueryGoodsbrand(c *gin.Context) {
  249. appG := app.GinUtils{Gin: app.Gin{C: c}}
  250. req := struct {
  251. USERID int64 `form:"userid"` // 用户id
  252. USERTYPE int32 `form:"usertype"` // 用户类型
  253. DELIVERYGOODSID int64 `form:"deliverygoodsid"` // 现货品种ID
  254. }{}
  255. appG.DoBindReq(&req)
  256. m := models.Ermcp3Brand{
  257. AREAUSERID: mtpcache.GetAreaUserId(req.USERID, req.USERTYPE),
  258. DELIVERYGOODSID: req.DELIVERYGOODSID,
  259. }
  260. appG.DoGetDataI(&m)
  261. }
  262. // QueryGoodsWrstandard
  263. // @Summary 查询商品品类
  264. // @Produce json
  265. // @Security ApiKeyAuth
  266. // @Param userid query int true "用户id"
  267. // @Param usertype query int false "用户类型 2-机构 7-企业成员"
  268. // @Param deliverygoodsid query int false "现货商品id"
  269. // @Success 200 {array} models.Ermcp3Wrstandard
  270. // @Failure 500 {object} app.Response
  271. // @Router /Ermcp3/QueryGoodsWrstandard [get]
  272. // @Tags 企业风险管理v3(app)
  273. func QueryGoodsWrstandard(c *gin.Context) {
  274. appG := app.GinUtils{Gin: app.Gin{C: c}}
  275. req := struct {
  276. USERID int64 `form:"userid" binding:"required"` // 用户id
  277. USERTYPE int32 `form:"usertype"` // 用户类型
  278. DELIVERYGOODSID int32 `form:"deliverygoodsid"` // 现货商品id
  279. }{}
  280. appG.DoBindReq(&req)
  281. m := models.Ermcp3Wrstandard{AREAUSERID: mtpcache.GetAreaUserId(req.USERID, req.USERTYPE),
  282. DELIVERYGOODSID: req.DELIVERYGOODSID}
  283. appG.DoGetDataI(&m)
  284. }
  285. // QueryAreaStockApply
  286. // @Summary 查询库存申请(出入库记录|库存审核)
  287. // @Produce json
  288. // @Security ApiKeyAuth
  289. // @Param userid query int true "用户ID"
  290. // @Param usertype query int false "用户类型 2-机构 7-企业成员"
  291. // @Param deliverygoodsid query int false "现货商品ID"
  292. // @Param inouttype query string false "出入库类型(可多项,逗号隔开) 5:采购入库 6:销售出库 7:生产入库 8:生产出库"
  293. // @Param spotcontractid query int false "合同ID"
  294. // @Param wrstandardid query int false "品类ID"
  295. // @Param spotgoodsbrandid query int false "品牌ID"
  296. // @Param warehouseinfoid query int false "仓库ID"
  297. // @Param applystatus query string false "申请状态(可多项,逗号隔开)1:待审核 2:审核通过 3:审核拒绝 4:处理失败 5:已撤回"
  298. // @Success 200 {array} models.Ermcp3AreaStockApply
  299. // @Failure 500 {object} app.Response
  300. // @Router /Ermcp3/QueryAreaStockApply [get]
  301. // @Tags 企业风险管理v3(app)
  302. func QueryAreaStockApply(c *gin.Context) {
  303. a := app.NewGinUtils(c)
  304. req := struct {
  305. USERID int64 `form:"userid" binding:"required"` // 用户
  306. WRSTANDARDID int32 `form:"wrstandardid"` // 品类
  307. SPOTGOODSBRANDID int32 `form:"spotgoodsbrandid"` // 品牌
  308. SPOTCONTRACTID string `form:"spotcontractid"` // 合同id
  309. WAREHOUSEINFOID string `form:"warehouseinfoid"` // 仓库id
  310. DELIVERYGOODSID int32 `form:"deliverygoodsid"` // 现货商品id
  311. FilterStatus string `form:"applystatus"` // 申请状态
  312. FilterType string `form:"inouttype"` // 出入库类型
  313. USERTYPE int32 `form:"usertype"` // 用户类型
  314. }{}
  315. a.DoBindReq(&req)
  316. m := models.Ermcp3AreaStockApply{
  317. USERID: req.USERID,
  318. FilterType: req.FilterType,
  319. SPOTCONTRACTID: req.SPOTCONTRACTID,
  320. WRSTANDARDID: req.WRSTANDARDID,
  321. SPOTGOODSBRANDID: req.SPOTGOODSBRANDID,
  322. DELIVERYGOODSID: req.DELIVERYGOODSID,
  323. WAREHOUSEINFOID: req.WAREHOUSEINFOID,
  324. FilterStatus: req.FilterStatus,
  325. }
  326. a.DoGetDataI(&m)
  327. }
  328. // QueryAreaStock
  329. // @Summary 查询机构库存(库存管理/当前库存)
  330. // @Produce json
  331. // @Security ApiKeyAuth
  332. // @Param userid query int true "用户ID"
  333. // @Success 200 {array} models.Ermcp3AreaStock
  334. // @Failure 500 {object} app.Response
  335. // @Router /Ermcp3/QueryAreaStock [get]
  336. // @Tags 企业风险管理v3(app)
  337. func QueryAreaStock(c *gin.Context) {
  338. a := app.GinUtils{Gin: app.Gin{C: c}}
  339. m := models.Ermcp3AreaStock{}
  340. a.DoBindReq(&m)
  341. a.DoGetDataI(&m)
  342. }
  343. // QueryAreaStockApplySum
  344. // @Summary 查询已登记出入库信息(入库登记/已入库信息 | 出库登记/已出库信息)
  345. // @Produce json
  346. // @Security ApiKeyAuth
  347. // @Param spotcontractid query int true "合同ID"
  348. // @Success 200 {array} models.Ermcp3AreaStockApplySum
  349. // @Failure 500 {object} app.Response
  350. // @Router /Ermcp3/QueryAreaStockApplySum [get]
  351. // @Tags 企业风险管理v3(app)
  352. func QueryAreaStockApplySum(c *gin.Context) {
  353. a := app.GinUtils{Gin: app.Gin{C: c}}
  354. req := struct {
  355. SPOTCONTRACTID string `form:"spotcontractid" binding:"required"` // 合同id
  356. }{}
  357. a.DoBindReq(&req)
  358. m := models.Ermcp3AreaStockApplySum{SPOTCONTRACTID: req.SPOTCONTRACTID}
  359. a.DoGetDataI(&m)
  360. }
  361. // QuerySpotGoodsPrice
  362. // @Summary 查询现货市价(现货市价)
  363. // @Produce json
  364. // @Security ApiKeyAuth
  365. // @Param userid query int true "用户ID"
  366. // @Success 200 {array} models.Ermcp3SpotGoodsPrice
  367. // @Failure 500 {object} app.Response
  368. // @Router /Ermcp3/QuerySpotGoodsPrice [get]
  369. // @Tags 企业风险管理v3(app)
  370. func QuerySpotGoodsPrice(c *gin.Context) {
  371. req := struct {
  372. UserId int64 `form:"userid" binding:"required"` // 用户id
  373. }{}
  374. a := app.GinUtils{Gin: app.Gin{C: c}}
  375. a.DoBindReq(&req)
  376. m := models.Ermcp3SpotGoodsPrice{AREAUSERID: req.UserId}
  377. a.DoGetDataI(&m)
  378. }
  379. // QuerySpotGoodsPriceLog
  380. // @Summary 查询现货市价详情(现货市价/详情)
  381. // @Produce json
  382. // @Security ApiKeyAuth
  383. // @Param userid query int true "用户ID"
  384. // @Param deliverygoodsid query int true "现货商品ID"
  385. // @Param brandid query int false "品牌ID"
  386. // @Param wrstandardid query int false "品类ID"
  387. // @Success 200 {array} models.Ermcp3SpotGoodsPriceLog
  388. // @Failure 500 {object} app.Response
  389. // @Router /Ermcp3/QuerySpotGoodsPriceLog [get]
  390. // @Tags 企业风险管理v3(app)
  391. func QuerySpotGoodsPriceLog(c *gin.Context) {
  392. req := struct {
  393. UserId int64 `form:"userid" binding:"required"` // 用户id
  394. DELIVERYGOODSID int32 `form:"deliverygoodsid" binding:"required"` // 现货商品id
  395. WRSTANDARDID int64 `form:"wrstandardid"` // 品类id
  396. BRANDID int32 `form:"brandid"` // 品牌id
  397. }{}
  398. a := app.GinUtils{Gin: app.Gin{C: c}}
  399. a.DoBindReq(&req)
  400. m := models.Ermcp3SpotGoodsPriceLog{AREAUSERID: req.UserId,
  401. DELIVERYGOODSID: req.DELIVERYGOODSID, WRSTANDARDID: req.WRSTANDARDID, SPOTGOODSBRANDID: req.BRANDID}
  402. a.DoGetDataI(&m)
  403. }
  404. // QueryHedgePlan 查询套保计划
  405. // @Summary 查询套保计划
  406. // @Produce json
  407. // @Security ApiKeyAuth
  408. // @Param userid query int true "用户ID"
  409. // @Param usertype query int false "用户类型 2-机构 7-企业成员"
  410. // @Param hedgeplanstatus query string true "套保计划状态(允许多个,逗号隔开) - 0:未提交 1:待审核 2:执行中 3:正常完结 4:审核拒绝 5:异常完结 6:已撤回"
  411. // @Success 200 {array} models.Ermcp3HedgePlan
  412. // @Failure 500 {object} app.Response
  413. // @Router /Ermcp3/QueryHedgePlan [get]
  414. // @Tags 企业风险管理v3(app)
  415. func QueryHedgePlan(c *gin.Context) {
  416. appG := app.Gin{C: c}
  417. req := struct {
  418. UserId int64 `form:"userid" binding:"required"` // 用户id
  419. USERTYPE int32 `form:"usertype"` // 用户类型
  420. HedgePlanStatus string `form:"hedgeplanstatus" binding:"required"` // 状态
  421. }{}
  422. if err := c.ShouldBind(&req); err != nil {
  423. logger.GetLogger().Errorf("query hedgeplanReq,%v", err)
  424. appG.Response(http.StatusBadRequest, e.INVALID_PARAMS, nil)
  425. return
  426. }
  427. var m = models.Ermcp3HedgePlan{Areauserid: req.UserId, UserType: req.USERTYPE}
  428. if d, err := m.GetData(req.HedgePlanStatus); err == nil {
  429. appG.Response(http.StatusOK, e.SUCCESS, d)
  430. } else {
  431. logger.GetLogger().Errorf("query fail, %v", err)
  432. appG.Response(http.StatusBadRequest, e.ERROR_QUERY_FAIL, nil)
  433. }
  434. }
  435. // QueryGoodsGroup
  436. // @Summary 查询期货商品组
  437. // @Produce json
  438. // @Security ApiKeyAuth
  439. // @Param userid query int true "用户id"
  440. // @Param usertype query int false "用户类型 2-机构 7-企业成员"
  441. // @Param excludecfg query int false "排除套保品中已关联的商品组 1-排除"
  442. // @Success 200 {array} models.Ermcp3GoodsGroup
  443. // @Failure 500 {object} app.Response
  444. // @Router /Ermcp3/QueryGoodsGroup [get]
  445. // @Tags 企业风险管理v3(app)
  446. func QueryGoodsGroup(c *gin.Context) {
  447. a := app.GinUtils{Gin: app.Gin{C: c}}
  448. req := struct {
  449. USERID int64 `form:"userid" binding:"required"` // 所属机构id
  450. USERTYPE int32 `form:"usertype"` // 用户类型
  451. EXCLUDECFG int32 `form:"excludecfg"` // 是否排除已配置
  452. }{}
  453. a.DoBindReq(&req)
  454. m := models.Ermcp3GoodsGroup{AreaUserId: mtpcache.GetAreaUserId(req.USERID, req.USERTYPE),
  455. ExcludeCfg: req.EXCLUDECFG}
  456. a.DoGetDataI(&m)
  457. }
  458. // QueryRootUserAccount
  459. // @Summary 查询顶级用户信息
  460. // @Produce json
  461. // @Security ApiKeyAuth
  462. // @Param userid query int true "用户ID"
  463. // @Success 200 {array} models.Ermcp3RootUserAccount
  464. // @Failure 500 {object} app.Response
  465. // @Router /Ermcp3/QueryRootUserAccount [get]
  466. // @Tags 企业风险管理v3(app)
  467. func QueryRootUserAccount(c *gin.Context) {
  468. a := app.GinUtils{Gin: app.Gin{C: c}}
  469. req := struct {
  470. USERID int64 `form:"userid" binding:"required"` // 用户id
  471. }{}
  472. a.DoBindReq(&req)
  473. m := models.Ermcp3RootUserAccount{USERID: req.USERID}
  474. a.DoGetDataI(&m)
  475. }
  476. // QueryPaAreaSubject
  477. // @Summary 查询交易主体
  478. // @Produce json
  479. // @Security ApiKeyAuth
  480. // @Param userid query int true "用户id"
  481. // @Param subjectid query int false "主体ID(SEQ_ERMCP_PA_AREASUBJECT)"
  482. // @Param subjecttype query int false "主体类型 - 1:交易主体 2:业务部门"
  483. // @Param subjectstatus query int false "主体状态 - 1:正常 2: 停用"
  484. // @Success 200 {array} models.Ermcp3PaAreaSubject
  485. // @Failure 500 {object} app.Response
  486. // @Router /Ermcp3/QueryPaAreaSubject [get]
  487. // @Tags 企业风险管理v3(app)
  488. func QueryPaAreaSubject(c *gin.Context) {
  489. a := app.GinUtils{Gin: app.Gin{C: c}}
  490. m := models.Ermcp3PaAreaSubject{}
  491. a.DoBindReq(&m)
  492. a.DoGetDataI(&m)
  493. }
  494. // QueryPaAreaAuditCfg
  495. // @Summary 查询审核设置
  496. // @Produce json
  497. // @Security ApiKeyAuth
  498. // @Param userid query int true "用户id"
  499. // @Success 200 {array} models.Ermcp3PaAreaAuditCfg
  500. // @Failure 500 {object} app.Response
  501. // @Router /Ermcp3/QueryPaAreaAuditCfg [get]
  502. // @Tags 企业风险管理v3(app)
  503. func QueryPaAreaAuditCfg(c *gin.Context) {
  504. a := app.GinUtils{Gin: app.Gin{C: c}}
  505. m := models.Ermcp3PaAreaAuditCfg{}
  506. a.DoBindReq(&m)
  507. a.DoGetDataI(&m)
  508. }
  509. // QueryPaTradeLink
  510. // @Summary 查询期现单据关联
  511. // @Description 页面 app 现货->期现关联->期现单据关联
  512. // @Produce json
  513. // @Security ApiKeyAuth
  514. // @Param userid query int true "用户ID"
  515. // @Success 200 {array} models.Ermcp3PaTradeLink
  516. // @Failure 500 {object} app.Response
  517. // @Router /Ermcp3/QueryPaTradeLink [get]
  518. // @Tags 企业风险管理v3(app)
  519. func QueryPaTradeLink(c *gin.Context) {
  520. a := app.GinUtils{Gin: app.Gin{C: c}}
  521. m := models.Ermcp3PaTradeLink{}
  522. a.DoBindReq(&m)
  523. a.DoGetDataI(&m)
  524. }
  525. // QuerySCMiddleGoods
  526. // @Summary 查询现货订单
  527. // @Description 页面 app 现货->期现关联->期现单据关联->点"关联"按钮->弹出界面 : 现货订单
  528. // @Description 现货编号 即 合同编号
  529. // @Produce json
  530. // @Security ApiKeyAuth
  531. // @Param userid query int true "用户ID(填登录用户的userid)"
  532. // @Param buyorsell query int true "买卖方向 0-买 1-卖"
  533. // @Param goodsgroupid query int true "商品组id"
  534. // @Param contractno query string false "现货编号(模糊匹配)"
  535. // @Param customername query string false "对手方(模糊匹配)"
  536. // @Param wrstandardname query string false "现货商品名称(模糊匹配)"
  537. // @Success 200 {array} models.Ermcp3SCMiddleGoods
  538. // @Failure 500 {object} app.Response
  539. // @Router /Ermcp3/QuerySCMiddleGoods [get]
  540. // @Tags 企业风险管理v3(app)
  541. func QuerySCMiddleGoods(c *gin.Context) {
  542. a := app.GinUtils{Gin: app.Gin{C: c}}
  543. m := models.Ermcp3SCMiddleGoods{}
  544. a.DoBindReq(&m)
  545. a.DoGetDataI(&m)
  546. }
  547. // QueryPaTradeLinkDetail
  548. // @Summary 查询期现关联记录
  549. // @Description 页面 app 现货->期现关联->关联记录
  550. // @Produce json
  551. // @Security ApiKeyAuth
  552. // @Param userid query int true "用户ID(填登录用户的userid)"
  553. // @Param tradeid query string false "期货订单号(模糊匹配)"
  554. // @Param contractno query string false "现货编号(模糊匹配)"
  555. // @Param taname query string false "期货账户(模糊匹配)"
  556. // @Success 200 {array} models.Ermcp3TradeLinkDetail
  557. // @Failure 500 {object} app.Response
  558. // @Router /Ermcp3/QueryPaTradeLinkDetail [get]
  559. // @Tags 企业风险管理v3(app)
  560. func QueryPaTradeLinkDetail(c *gin.Context) {
  561. a := app.GinUtils{Gin: app.Gin{C: c}}
  562. m := models.Ermcp3TradeLinkDetail{}
  563. a.DoBindReq(&m)
  564. a.DoGetDataI(&m)
  565. }
  566. // QueryOutTradeLink
  567. // @Summary 查询外部成交单关联
  568. // @Description 页面 app 现货->期现关联->外部成交单关联
  569. // @Produce json
  570. // @Security ApiKeyAuth
  571. // @Param userid query int true "用户ID(填登录用户的userid)"
  572. // @Param outtradeid query string false "外部订单号(模糊匹配)"
  573. // @Param goodsname query string false "合约名称/代码(模糊匹配)"
  574. // @Param hasinnerorder query int false "关联状态 0-未关联 1-已关联"
  575. // @Success 200 {array} models.Ermcp3OutTradeLink
  576. // @Failure 500 {object} app.Response
  577. // @Router /Ermcp3/QueryOutTradeLink [get]
  578. // @Tags 企业风险管理v3(app)
  579. func QueryOutTradeLink(c *gin.Context) {
  580. a := app.GinUtils{Gin: app.Gin{C: c}}
  581. m := models.Ermcp3OutTradeLink{HASINNERORDER: -1}
  582. a.DoBindReq(&m)
  583. a.DoGetDataI(&m)
  584. }
  585. // QuerySubTaaccount
  586. // @Summary 查询期货子账户
  587. // @Description 页面 app 现货->期现关联->外部成交单关联->点"关联"按钮->选择期货子账户
  588. // @Produce json
  589. // @Security ApiKeyAuth
  590. // @Param parentaccountid query int false "母账号id"
  591. // @Param parentaccountcode query string false "母账号代码"
  592. // @Success 200 {array} models.Ermcp3SubTaaccount
  593. // @Failure 500 {object} app.Response
  594. // @Router /Ermcp3/QuerySubTaaccount [get]
  595. // @Tags 企业风险管理v3(app)
  596. func QuerySubTaaccount(c *gin.Context) {
  597. a := app.GinUtils{Gin: app.Gin{C: c}}
  598. m := models.Ermcp3SubTaaccount{}
  599. a.DoBindReq(&m)
  600. a.DoGetDataI(&m)
  601. }
  602. // QueryInnerTradeLink
  603. // @Summary 查询外部成交单关联的内部单信息(在解除外部关联页面使用)
  604. // @Description 页面 app 现货->期现关联->外部成交单关联->点"解除关联"按钮->解除外部关联的页面信息
  605. // @Produce json
  606. // @Security ApiKeyAuth
  607. // @Param outtradeid query int true "外部成交单号"
  608. // @Success 200 {array} models.Ermcp3InnerTradeLink
  609. // @Failure 500 {object} app.Response
  610. // @Router /Ermcp3/QueryInnerTradeLink [get]
  611. // @Tags 企业风险管理v3(app)
  612. func QueryInnerTradeLink(c *gin.Context) {
  613. a := app.GinUtils{Gin: app.Gin{C: c}}
  614. m := models.Ermcp3InnerTradeLink{}
  615. a.DoBindReq(&m)
  616. a.DoGetDataI(&m)
  617. }