Quellcode durchsuchen

我的优惠卷持仓查询增加状态过滤

zhou.xiaoning vor 4 Jahren
Ursprung
Commit
998df50ded
2 geänderte Dateien mit 10 neuen und 4 gelöschten Zeilen
  1. 3 1
      controllers/hsby/hsby.go
  2. 7 3
      models/hsby.go

+ 3 - 1
controllers/hsby/hsby.go

@@ -1208,6 +1208,7 @@ func QueryMyCoupons(c *gin.Context) {
 // QueryMyCouponHoldsReq 我的优惠卷持仓查询请求参数
 type QueryMyCouponHoldsReq struct {
 	AccountIDs string `form:"accountIDs" binding:"required"`
+	HoldStatus string `form:"holdStatus"`
 }
 
 // QueryMyCouponHolds 我的优惠卷持仓查询
@@ -1215,6 +1216,7 @@ type QueryMyCouponHoldsReq struct {
 // @Produce json
 // @Security ApiKeyAuth
 // @Param accountIDs query string true "资金账户列表,格式:1,2,3"
+// @Param holdStatus query string false "持仓状态 - 1:未生效 2:已生效 3:已使用 4:已过期,格式:1,2,3"
 // @Success 200 {object} models.MyCouponHold
 // @Failure 500 {object} app.Response
 // @Router /HSBY/QueryMyCouponHolds [get]
@@ -1231,7 +1233,7 @@ func QueryMyCouponHolds(c *gin.Context) {
 	}
 
 	// 获取数据
-	myCoupons, err := models.GetMyCouponHolds(req.AccountIDs)
+	myCoupons, err := models.GetMyCouponHolds(req.AccountIDs, req.HoldStatus)
 	if err != nil {
 		// 查询失败
 		logger.GetLogger().Errorf("QueryMyCouponHolds failed: %s", err.Error())

+ 7 - 3
models/hsby.go

@@ -1692,14 +1692,18 @@ type MyCouponHold struct {
 }
 
 // GetMyCouponHolds 获取优惠卷明细
-func GetMyCouponHolds(accountIDs string) ([]MyCouponHold, error) {
+func GetMyCouponHolds(accountIDs string, holdStatus string) ([]MyCouponHold, error) {
 	engine := db.GetEngine()
 
 	myCouponHolds := make([]MyCouponHold, 0)
-	if err := engine.Table("COUPONHOLD CH").
+	session := engine.Table("COUPONHOLD CH").
 		Select(`CH.*, CT.COUPONNAME`).
 		Join("INNER", "COUPONTYPE CT", "CT.COUPONTYPEID = CH.COUPONTYPEID").
-		Where(fmt.Sprintf("CH.ACCOUNTID in (%s)", accountIDs)).Find(&myCouponHolds); err != nil {
+		Where(fmt.Sprintf("CH.ACCOUNTID in (%s)", accountIDs))
+	if len(holdStatus) > 0 {
+		session = session.And(fmt.Sprintf("CH.HOLDSTATUS in (%s)", holdStatus))
+	}
+	if err := session.Find(&myCouponHolds); err != nil {
 		return nil, err
 	}