cpTrade.go 3.9 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485868788899091
  1. package cptrade
  2. import (
  3. "mtp2_if/db"
  4. "mtp2_if/global/app"
  5. "mtp2_if/global/e"
  6. "mtp2_if/logger"
  7. "net/http"
  8. "time"
  9. "github.com/gin-gonic/gin"
  10. )
  11. // QueryPresaleApplyReq 产能预售申请表请求参数
  12. type QueryPresaleApplyReq struct {
  13. UserID int `form:"userid" binding:"required"`
  14. ApplyID int `form:"applyid"`
  15. AccountID int `form:"accountid"`
  16. }
  17. // Cptradepresaleapply CPTRADE_PRESALEAPPLY 产能预售申请表
  18. type Cptradepresaleapply struct {
  19. Applyid int64 `json:"applyid" xorm:"'APPLYID'" binding:"required"` // 申请ID(181+Unix秒时间戳(10位)+xxxxxx)
  20. Userid int64 `json:"userid" xorm:"'USERID'"` // 申请人ID
  21. Accountid int64 `json:"accountid" xorm:"'ACCOUNTID'"` // 申请人账户ID
  22. Goodscode string `json:"goodscode" xorm:"'GOODSCODE'"` // 商品代码
  23. Goodsname string `json:"goodsname" xorm:"'GOODSNAME'"` // 商品名称
  24. Relatedgoodsid int64 `json:"relatedgoodsid" xorm:"'RELATEDGOODSID'"` // 关联交易合约ID
  25. Presaleqty int64 `json:"presaleqty" xorm:"'PRESALEQTY'"` // 预售数量
  26. Starttime time.Time `json:"starttime" xorm:"'STARTTIME'"` // 预售开始时间
  27. Endtime time.Time `json:"endtime" xorm:"'ENDTIME'"` // 预售结束时间
  28. Attachmenturl string `json:"attachmenturl" xorm:"'ATTACHMENTURL'"` // 附件地址
  29. Applystatus int64 `json:"applystatus" xorm:"'APPLYSTATUS'"` // 申请状态 - 1:已提交 2:初审通过 3:初审拒绝 4:初审失败 5复审通过 6:复审拒绝 7:复审失败 8:已撤销
  30. Handlestatus int64 `json:"handlestatus" xorm:"'HANDLESTATUS'"` // 处理状态
  31. Applytime time.Time `json:"applytime" xorm:"'APPLYTIME'"` // 申请时间
  32. Firstremark string `json:"firstremark" xorm:"'FIRSTREMARK'"` // 初审备注
  33. Marketid int64 `json:"marketid" xorm:"'MARKETID'"` // 预售市场ID
  34. Secondauditid int64 `json:"secondauditid" xorm:"'SECONDAUDITID'"` // 复审人
  35. Secondaudittime time.Time `json:"secondaudittime" xorm:"'SECONDAUDITTIME'"` // 复审时间
  36. Secondremark string `json:"secondremark" xorm:"'SECONDREMARK'"` // 复审备注
  37. Tradedate string `json:"tradedate" xorm:"'TRADEDATE'"` // 交易日(yyyyMMdd)
  38. }
  39. // TableName is
  40. func (Cptradepresaleapply) TableName() string {
  41. return "CPTRADE_PRESALEAPPLY"
  42. }
  43. // QueryPreasleApply 查询产能预售申请表信息
  44. // @Summary 查询产能预售申请表信息
  45. // @Produce json
  46. // @Param userid query int true "账户ID"
  47. // @Param applyid query int false "申请ID"
  48. // @Param accountid query int false "资金账户ID"
  49. // @Success 0 {object} app.Response
  50. // @Failure 500 {object} app.Response
  51. // @Router /CPTrade/QueryPreasleApply [get]
  52. // @Tags 产能预售
  53. func QueryPreasleApply(c *gin.Context) {
  54. appG := app.Gin{C: c}
  55. // 获取请求参数
  56. var queryPresaleApplyReq QueryPresaleApplyReq
  57. if err := appG.C.ShouldBindQuery(&queryPresaleApplyReq); err != nil {
  58. logger.GetLogger().Errorf("QueryPreasleApply failed: %s", err.Error())
  59. appG.Response(http.StatusBadRequest, e.INVALID_PARAMS, nil)
  60. return
  61. }
  62. // 查询数据
  63. engine := db.GetEngine()
  64. cptradepresaleapplys := make([]Cptradepresaleapply, 0)
  65. s := engine.Where("userid=?", queryPresaleApplyReq.UserID)
  66. if queryPresaleApplyReq.AccountID != 0 {
  67. s = s.And("accountid=?", queryPresaleApplyReq.AccountID)
  68. }
  69. if queryPresaleApplyReq.ApplyID != 0 {
  70. s = s.And("applyid=?", queryPresaleApplyReq.ApplyID)
  71. }
  72. // 执行查询
  73. err := s.Find(&cptradepresaleapplys)
  74. if err != nil {
  75. // 查询失败
  76. logger.GetLogger().Errorf("QueryPreasleApply failed: %s", err.Error())
  77. appG.Response(http.StatusBadRequest, e.ERROR_QUERY_FAIL, nil)
  78. return
  79. }
  80. appG.Response(http.StatusOK, e.SUCCESS, cptradepresaleapplys)
  81. }