go-common/app/service/live/gift/dao/discount_gift.go

40 lines
1.1 KiB
Go
Raw Normal View History

2019-04-22 10:49:16 +00:00
package dao
import (
"context"
"errors"
"fmt"
"go-common/app/service/live/gift/model"
"go-common/library/database/sql"
"go-common/library/log"
"go-common/library/xstr"
)
var _getDiscountGift = "SELECT id,discount_id,gift_id,user_type,discount_price,corner_mark,corner_position FROM discount_gift WHERE discount_id in (%s)"
// GetByDiscountIds GetByDiscountIds
func (d *Dao) GetByDiscountIds(ctx context.Context, ids []int64) (res []*model.DiscountGift, err error) {
log.Info("GetByDiscountIds,ids:%v", ids)
if len(ids) == 0 {
log.Error("query GetByDiscountIds params null")
err = errors.New("params error")
return
}
var rows *sql.Rows
if rows, err = d.db.Query(ctx, fmt.Sprintf(_getDiscountGift, xstr.JoinInts(ids))); err != nil {
log.Error("query GetByDiscountIds error,err %v", err)
return
}
defer rows.Close()
for rows.Next() {
d := &model.DiscountGift{}
if err = rows.Scan(&d.Id, &d.DiscountId, &d.GiftId, &d.UserType, &d.DiscountPrice, &d.CornerMark, &d.CornerPosition); err != nil {
log.Error("GetByDiscountIds scan error,err %v", err)
return
}
res = append(res, d)
}
return
}