You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
56 lines
1.5 KiB
56 lines
1.5 KiB
package archive |
|
|
|
import ( |
|
"context" |
|
"database/sql" |
|
"net/url" |
|
|
|
"go-common/app/interface/main/creative/model/archive" |
|
"go-common/library/ecode" |
|
"go-common/library/log" |
|
) |
|
|
|
const ( |
|
_flow = "/videoup/flows" |
|
_porderSQL = "SELECT id,aid,industry_id,brand_id,brand_name,official,show_type,advertiser,agent,ctime,mtime FROM archive_porder WHERE aid=? AND show_front = 1" |
|
) |
|
|
|
// Flows fn |
|
func (d *Dao) Flows(c context.Context) (flows []*archive.Flow, err error) { |
|
params := url.Values{} |
|
flows = []*archive.Flow{} |
|
var res struct { |
|
Code int `json:"code"` |
|
Data []*archive.Flow `json:"data"` |
|
} |
|
if err = d.client.Get(c, d.flow, "", params, &res); err != nil { |
|
log.Error("archive.Flow url(%s) error(%v)", d.flow+"?"+params.Encode(), err) |
|
err = ecode.CreativeArchiveAPIErr |
|
return |
|
} |
|
if res.Code != 0 { |
|
log.Error("archive.Flow url(%s) res(%v)", d.flow+"?"+params.Encode(), res) |
|
err = ecode.CreativeArchiveAPIErr |
|
return |
|
} |
|
if res.Data == nil || len(res.Data) == 0 { |
|
return |
|
} |
|
flows = res.Data |
|
return |
|
} |
|
|
|
// Porder NOTE: move to up service |
|
func (d *Dao) Porder(c context.Context, aid int64) (pd *archive.Porder, err error) { |
|
row := d.db.QueryRow(c, _porderSQL, aid) |
|
pd = &archive.Porder{} |
|
if err = row.Scan(&pd.ID, &pd.AID, &pd.IndustryID, &pd.BrandID, &pd.BrandName, &pd.Official, &pd.ShowType, &pd.Advertiser, &pd.Agent, &pd.Ctime, &pd.Mtime); err != nil { |
|
if err == sql.ErrNoRows { |
|
pd = nil |
|
err = nil |
|
} else { |
|
log.Error("row.Scan error(%v)", err) |
|
} |
|
} |
|
return |
|
}
|
|
|