Procházet zdrojové kódy

查询现货合同接口增加过滤条件

zou.yingbin před 4 roky
rodič
revize
a624cf29a3
5 změnil soubory, kde provedl 101 přidání a 58 odebrání
  1. 12 7
      controllers/ermcp3/qryErmcp3.go
  2. 12 0
      docs/docs.go
  3. 12 0
      docs/swagger.json
  4. 8 0
      docs/swagger.yaml
  5. 57 51
      models/ermcp3.go

+ 12 - 7
controllers/ermcp3/qryErmcp3.go

@@ -91,12 +91,14 @@ func QueryMiddleGoodsDetail(c *gin.Context) {
 
 // QryContractReq 查询合同请求
 type QryContractReq struct {
-	AreadUserId  int64  `form:"userid"`       // 所属机构Id
-	CONTRACTTYPE int32  `form:"contracttype"` // 合同类型 1-采购, -1-销售
-	QUERYTYPE    int32  `form:"querytype"`    // 查询类型
-	USERID       int64  `form:"userid"`       // 用户Id
-	USERTYPE     int32  `form:"usertype"`     // 用户类型
-	CONTRACTID   string `form:"contractid"`   // 合同ID(SpotContractId)
+	AreadUserId    int64  `form:"userid"`         // 所属机构Id
+	CONTRACTTYPE   int32  `form:"contracttype"`   // 合同类型 1-采购, -1-销售
+	QUERYTYPE      int32  `form:"querytype"`      // 查询类型
+	USERID         int64  `form:"userid"`         // 用户Id
+	USERTYPE       int32  `form:"usertype"`       // 用户类型
+	CONTRACTID     string `form:"contractid"`     // 合同ID(SpotContractId)
+	CONTRACTNO     string `form:"contractno"`     // 现货合同编号
+	WRSTANDARDNAME string `form:"wrstandardname"` // 品类名称
 }
 
 // QuerySpotContract
@@ -108,6 +110,8 @@ type QryContractReq struct {
 // @Param contracttype query int false "合同类型 1-采购, -1-销售"
 // @Param querytype query int true "查询类型 1-未提交 2-待审核 3-履约中 4-已完成 (当指定contractid, querytype可不填)"
 // @Param contractid query string false "合同ID(SpotContractId)"
+// @Param contractno query string false "合同编号(模糊匹配)"
+// @Param wrstandardname query string false "商品名称(模糊匹配)"
 // @Success 200 {array} models.Ermcp3Contract
 // @Failure 500 {object} app.Response
 // @Router /Ermcp3/QuerySpotContract [get]
@@ -118,7 +122,8 @@ func QuerySpotContract(c *gin.Context) {
 	a.DoBindReq(&req)
 	m := models.Ermcp3Contract{USERID: mtpcache.GetAreaUserId(req.USERID, req.USERTYPE),
 		QryType: req.QUERYTYPE, CONTRACTTYPE: req.CONTRACTTYPE,
-		OwnUserId: req.USERID, UserType: req.USERTYPE, SPOTCONTRACTID: req.CONTRACTID}
+		OwnUserId: req.USERID, UserType: req.USERTYPE, SPOTCONTRACTID: req.CONTRACTID,
+		CONTRACTNO: req.CONTRACTNO, WRSTANDARDNAME: req.WRSTANDARDNAME}
 	a.DoGetDataI(&m)
 }
 

+ 12 - 0
docs/docs.go

@@ -5164,6 +5164,18 @@ var doc = `{
                         "description": "合同ID(SpotContractId)",
                         "name": "contractid",
                         "in": "query"
+                    },
+                    {
+                        "type": "string",
+                        "description": "合同编号(模糊匹配)",
+                        "name": "contractno",
+                        "in": "query"
+                    },
+                    {
+                        "type": "string",
+                        "description": "商品名称(模糊匹配)",
+                        "name": "wrstandardname",
+                        "in": "query"
                     }
                 ],
                 "responses": {

+ 12 - 0
docs/swagger.json

@@ -5148,6 +5148,18 @@
                         "description": "合同ID(SpotContractId)",
                         "name": "contractid",
                         "in": "query"
+                    },
+                    {
+                        "type": "string",
+                        "description": "合同编号(模糊匹配)",
+                        "name": "contractno",
+                        "in": "query"
+                    },
+                    {
+                        "type": "string",
+                        "description": "商品名称(模糊匹配)",
+                        "name": "wrstandardname",
+                        "in": "query"
                     }
                 ],
                 "responses": {

+ 8 - 0
docs/swagger.yaml

@@ -22029,6 +22029,14 @@ paths:
         in: query
         name: contractid
         type: string
+      - description: 合同编号(模糊匹配)
+        in: query
+        name: contractno
+        type: string
+      - description: 商品名称(模糊匹配)
+        in: query
+        name: wrstandardname
+        type: string
       produces:
       - application/json
       responses:

+ 57 - 51
models/ermcp3.go

@@ -599,57 +599,57 @@ func (r *Ermcp3GoodsEx) GetDataEx() (interface{}, error) {
 
 // Ermcp3Contract 现货合同
 type Ermcp3Contract struct {
-	SPOTCONTRACTID    string  `json:"spotcontractid"  xorm:"'SPOTCONTRACTID'"`       // 现货合同ID(602+Unix秒时间戳(10位)+xxxxxx)
-	CONTRACTNO        string  `json:"contractno"  xorm:"'CONTRACTNO'"`               // 现货合同编号
-	CONTRACTTYPE      int32   `json:"contracttype"  xorm:"'CONTRACTTYPE'"`           // 现货合同类型 - 1:采购 -1:销售
-	USERID            int64   `json:"userid"  xorm:"'USERID'"`                       // 所属机构ID
-	BUYUSERID         int64   `json:"buyuserid"  xorm:"'BUYUSERID'"`                 // 采购方ID
-	BUYUSERName       string  `json:"buyusername"  xorm:"'BUYUSERName'"`             // 采购方名称
-	SELLUSERID        int64   `json:"selluserid"  xorm:"'SELLUSERID'"`               // 销售方ID
-	SELLUSERNAME      string  `json:"sellusername"  xorm:"'SELLUSERNAME'"`           // 销售方名称
-	DELIVERYGOODSID   int32   `json:"deliverygoodsid"  xorm:"'DELIVERYGOODSID'"`     // 现货品种ID
-	WRSTANDARDID      int32   `json:"wrstandardid"  xorm:"'wrstandardid'"`           // 品类ID
-	WRSTANDARDNAME    string  `json:"wrstandardname"  xorm:"'WRSTANDARDNAME'"`       // 品类名称
-	WRSTANDARDCODE    string  `json:"wrstandardcode"  xorm:"'WRSTANDARDCODE'"`       // 品类代码
-	DELIVERYGOODSCODE string  `json:"deliverygoodscode"  xorm:"'DELIVERYGOODSCODE'"` // 现货品种代码
-	DELIVERYGOODSNAME string  `json:"deliverygoodsname"  xorm:"'DELIVERYGOODSNAME'"` // 现货品种名称
-	PRODUCTTYPE       int32   `json:"producttype"  xorm:"'PRODUCTTYPE'"`             // 产品类型 - 1:标准仓单 2:等标 3:非标
-	CONVERTFACTOR     float64 `json:"convertfactor"  xorm:"'CONVERTFACTOR'"`         // 标仓系数(品类)
-	SPOTGOODSDESC     string  `json:"spotgoodsdesc"  xorm:"'SPOTGOODSDESC'"`         // 商品型号
-	PRICETYPE         int32   `json:"pricetype"  xorm:"'PRICETYPE'"`                 // 定价类型 - 1:一口价 2:点价 3:暂定价
-	QTY               float64 `json:"qty"  xorm:"'QTY'"`                             // 数量
-	PRICE             float64 `json:"price"  xorm:"'PRICE'"`                         // 价格\暂定价 [1:一口价、3:暂定价]
-	AMOUNT            float64 `json:"amount"  xorm:"'AMOUNT'"`                       // 金额 [1:一口价、3:暂定价]
-	DELIVERYSTARTDATE string  `json:"deliverystartdate"  xorm:"'DELIVERYSTARTDATE'"` // 交收期(开始)
-	DELIVERYENDDATE   string  `json:"deliveryenddate"  xorm:"'DELIVERYENDDATE'"`     // 交收期(结束)
-	GOODSID           int32   `json:"goodsid"  xorm:"'GOODSID'"`                     // 点价合约ID - 0:为现货,其它为期货商品合约ID [2:点价 3:暂定价]
-	GOODSCODE         string  `json:"goodscode"  xorm:"'GOODSCODE'"`                 // 点价合约代码
-	GOODSNAME         string  `json:"goodsname"  xorm:"'GOODSNAME'"`                 // 点价商品名称
-	PRICEMOVE         float64 `json:"pricemove"  xorm:"'PRICEMOVE'"`                 // 升贴水 [2:点价 3:暂定价]
-	STARTDATE         string  `json:"startdate"  xorm:"'STARTDATE'"`                 // 点价开始日期 [2:点价 3:暂定价]
-	ENDDATE           string  `json:"enddate"  xorm:"'ENDDATE'"`                     // 点价结束日期 [2:点价 3:暂定价]
-	MARGIN            float64 `json:"margin"  xorm:"'MARGIN'"`                       // 当前保证金
-	CONTRACTMARGIN    float64 `json:"contractmargin"  xorm:"'CONTRACTMARGIN'"`       // 合同保证金
-	EnumdicName       string  `json:"enumdicname"  xorm:"'ENUMDICNAME'"`             // 单位名称
-	CONTRACCTSTATUS   int32   `json:"contracctstatus"  xorm:"'CONTRACTSTATUS'"`      // 合同状态 - 0:未提交 1:待审核 2:执行中 3:正常完结 4:审核拒绝 5:异常完结 6:已撤回
-	Remark            string  `json:"remark"  xorm:"'Remark'"`                       // 备注
-	AUDITREMARK       string  `json:"auditremark"  xorm:"'AUDITREMARK'"`             // 审核意见
-	AUDITTIME         string  `json:"audittime"  xorm:"'AUDITTIME'"`                 // 审核时间
-	CREATETIME        string  `json:"createtime"  xorm:"'CREATETIME'"`               // 创建时间
-	UPDATETIME        string  `json:"updatetime"  xorm:"'UPDATETIME'"`               // 更新时间
-	SPOTGOODSBRANDID  int32   `json:"spotgoodsbrandid"  xorm:"'SPOTGOODSBRANDID'"`   // 现货品牌ID(DGFactoryItem表的ID)
-	BRANDNAME         string  `json:"brandname"  xorm:"'brandname'"`                 // 品牌名称
-	ATTACHMENT        string  `json:"attachment"  xorm:"'ATTACHMENT'"`               // 附件
-	UNITID            int32   `json:"unitid"  xorm:"'UNITID'"`                       // 单位id(取品类上的单位id)
-	TRADEUSERID       int64   `json:"tradeuserid"  xorm:"'TRADEUSERID'"`             // 交易员id
-	SALEUSERID        int64   `json:"saleuserid"  xorm:"'SALEUSERID'"`               // 业务员id
-	MERUSERID         int64   `json:"meruserid"  xorm:"'MERUSERID'"`                 // 跟单员id
-	ACCOUNTID         string  `json:"accountid"  xorm:"'ACCOUNTID'"`                 // 期货账户id
-	BIZTYPE           int32   `json:"biztype"  xorm:"'BIZTYPE'"`                     // 业务类型 1-套保 2-套利
-	CURRENCYID        int32   `json:"currencyid"  xorm:"'CURRENCYID'"`               // 币种id
-	SUBJECTID         string  `json:"subjectid"  xorm:"'SUBJECTID'"`                 // 交易主体ID
-	SUBJECTNAME       string  `json:"subjectname"  xorm:"'SUBJECTNAME'"`             // 交易主体名称
-	VATRATE           float64 `json:"vatrate"  xorm:"'VATRATE'"`                     // 增值税率
+	SPOTCONTRACTID    string  `json:"spotcontractid"  xorm:"'SPOTCONTRACTID'"`                       // 现货合同ID(602+Unix秒时间戳(10位)+xxxxxx)
+	CONTRACTNO        string  `json:"contractno"  xorm:"'CONTRACTNO'" form:"contractno"`             // 现货合同编号
+	CONTRACTTYPE      int32   `json:"contracttype"  xorm:"'CONTRACTTYPE'"`                           // 现货合同类型 - 1:采购 -1:销售
+	USERID            int64   `json:"userid"  xorm:"'USERID'"`                                       // 所属机构ID
+	BUYUSERID         int64   `json:"buyuserid"  xorm:"'BUYUSERID'"`                                 // 采购方ID
+	BUYUSERName       string  `json:"buyusername"  xorm:"'BUYUSERName'"`                             // 采购方名称
+	SELLUSERID        int64   `json:"selluserid"  xorm:"'SELLUSERID'"`                               // 销售方ID
+	SELLUSERNAME      string  `json:"sellusername"  xorm:"'SELLUSERNAME'"`                           // 销售方名称
+	DELIVERYGOODSID   int32   `json:"deliverygoodsid"  xorm:"'DELIVERYGOODSID'"`                     // 现货品种ID
+	WRSTANDARDID      int32   `json:"wrstandardid"  xorm:"'wrstandardid'"`                           // 品类ID
+	WRSTANDARDNAME    string  `json:"wrstandardname"  xorm:"'WRSTANDARDNAME'" form:"wrstandardname"` // 品类名称
+	WRSTANDARDCODE    string  `json:"wrstandardcode"  xorm:"'WRSTANDARDCODE'"`                       // 品类代码
+	DELIVERYGOODSCODE string  `json:"deliverygoodscode"  xorm:"'DELIVERYGOODSCODE'"`                 // 现货品种代码
+	DELIVERYGOODSNAME string  `json:"deliverygoodsname"  xorm:"'DELIVERYGOODSNAME'"`                 // 现货品种名称
+	PRODUCTTYPE       int32   `json:"producttype"  xorm:"'PRODUCTTYPE'"`                             // 产品类型 - 1:标准仓单 2:等标 3:非标
+	CONVERTFACTOR     float64 `json:"convertfactor"  xorm:"'CONVERTFACTOR'"`                         // 标仓系数(品类)
+	SPOTGOODSDESC     string  `json:"spotgoodsdesc"  xorm:"'SPOTGOODSDESC'"`                         // 商品型号
+	PRICETYPE         int32   `json:"pricetype"  xorm:"'PRICETYPE'"`                                 // 定价类型 - 1:一口价 2:点价 3:暂定价
+	QTY               float64 `json:"qty"  xorm:"'QTY'"`                                             // 数量
+	PRICE             float64 `json:"price"  xorm:"'PRICE'"`                                         // 价格\暂定价 [1:一口价、3:暂定价]
+	AMOUNT            float64 `json:"amount"  xorm:"'AMOUNT'"`                                       // 金额 [1:一口价、3:暂定价]
+	DELIVERYSTARTDATE string  `json:"deliverystartdate"  xorm:"'DELIVERYSTARTDATE'"`                 // 交收期(开始)
+	DELIVERYENDDATE   string  `json:"deliveryenddate"  xorm:"'DELIVERYENDDATE'"`                     // 交收期(结束)
+	GOODSID           int32   `json:"goodsid"  xorm:"'GOODSID'"`                                     // 点价合约ID - 0:为现货,其它为期货商品合约ID [2:点价 3:暂定价]
+	GOODSCODE         string  `json:"goodscode"  xorm:"'GOODSCODE'"`                                 // 点价合约代码
+	GOODSNAME         string  `json:"goodsname"  xorm:"'GOODSNAME'"`                                 // 点价商品名称
+	PRICEMOVE         float64 `json:"pricemove"  xorm:"'PRICEMOVE'"`                                 // 升贴水 [2:点价 3:暂定价]
+	STARTDATE         string  `json:"startdate"  xorm:"'STARTDATE'"`                                 // 点价开始日期 [2:点价 3:暂定价]
+	ENDDATE           string  `json:"enddate"  xorm:"'ENDDATE'"`                                     // 点价结束日期 [2:点价 3:暂定价]
+	MARGIN            float64 `json:"margin"  xorm:"'MARGIN'"`                                       // 当前保证金
+	CONTRACTMARGIN    float64 `json:"contractmargin"  xorm:"'CONTRACTMARGIN'"`                       // 合同保证金
+	EnumdicName       string  `json:"enumdicname"  xorm:"'ENUMDICNAME'"`                             // 单位名称
+	CONTRACCTSTATUS   int32   `json:"contracctstatus"  xorm:"'CONTRACTSTATUS'"`                      // 合同状态 - 0:未提交 1:待审核 2:执行中 3:正常完结 4:审核拒绝 5:异常完结 6:已撤回
+	Remark            string  `json:"remark"  xorm:"'Remark'"`                                       // 备注
+	AUDITREMARK       string  `json:"auditremark"  xorm:"'AUDITREMARK'"`                             // 审核意见
+	AUDITTIME         string  `json:"audittime"  xorm:"'AUDITTIME'"`                                 // 审核时间
+	CREATETIME        string  `json:"createtime"  xorm:"'CREATETIME'"`                               // 创建时间
+	UPDATETIME        string  `json:"updatetime"  xorm:"'UPDATETIME'"`                               // 更新时间
+	SPOTGOODSBRANDID  int32   `json:"spotgoodsbrandid"  xorm:"'SPOTGOODSBRANDID'"`                   // 现货品牌ID(DGFactoryItem表的ID)
+	BRANDNAME         string  `json:"brandname"  xorm:"'brandname'"`                                 // 品牌名称
+	ATTACHMENT        string  `json:"attachment"  xorm:"'ATTACHMENT'"`                               // 附件
+	UNITID            int32   `json:"unitid"  xorm:"'UNITID'"`                                       // 单位id(取品类上的单位id)
+	TRADEUSERID       int64   `json:"tradeuserid"  xorm:"'TRADEUSERID'"`                             // 交易员id
+	SALEUSERID        int64   `json:"saleuserid"  xorm:"'SALEUSERID'"`                               // 业务员id
+	MERUSERID         int64   `json:"meruserid"  xorm:"'MERUSERID'"`                                 // 跟单员id
+	ACCOUNTID         string  `json:"accountid"  xorm:"'ACCOUNTID'"`                                 // 期货账户id
+	BIZTYPE           int32   `json:"biztype"  xorm:"'BIZTYPE'"`                                     // 业务类型 1-套保 2-套利
+	CURRENCYID        int32   `json:"currencyid"  xorm:"'CURRENCYID'"`                               // 币种id
+	SUBJECTID         string  `json:"subjectid"  xorm:"'SUBJECTID'"`                                 // 交易主体ID
+	SUBJECTNAME       string  `json:"subjectname"  xorm:"'SUBJECTNAME'"`                             // 交易主体名称
+	VATRATE           float64 `json:"vatrate"  xorm:"'VATRATE'"`                                     // 增值税率
 
 	SELLNICKNAME       string `json:"sellnickname"`       // 采购方昵称
 	BUYNICKNAME        string `json:"buynickname"`        // 销售方昵称
@@ -771,6 +771,12 @@ SELECT to_char(t.SPOTCONTRACTID) SPOTCONTRACTID,
 			sqlId.Join(fmt.Sprintf(" and t.contractstatus in (%v)", status))
 		}
 	}
+	if r.CONTRACTNO != "" {
+		sqlId.AndLike("t.contractno", r.CONTRACTNO)
+	}
+	if r.WRSTANDARDNAME != "" {
+		sqlId.AndLike("w.wrstandardname", r.WRSTANDARDNAME)
+	}
 
 	return sqlId.String()
 }