- 删除GetActVendorInfo,在QueryActs返回结果中包含平台相关信息`
This commit is contained in:
@@ -37,17 +37,6 @@ type ActDetail struct {
|
||||
model.Act2
|
||||
}
|
||||
|
||||
type ActMapPureInfo struct {
|
||||
VendorID int `orm:"column(vendor_id)" json:"vendorID"`
|
||||
VendorActID string `orm:"column(vendor_act_id);size(48)" json:"vendorActID"`
|
||||
SyncStatus int `orm:"default(2)" json:"syncStatus"`
|
||||
}
|
||||
|
||||
type ActVendorInfo struct {
|
||||
model.Act
|
||||
VendorList []*ActMapPureInfo `json:"vendorList"`
|
||||
}
|
||||
|
||||
type tPreCreateActVendorInfo struct {
|
||||
VendorID int
|
||||
|
||||
@@ -505,29 +494,6 @@ func QueryActs(ctx *jxcontext.Context, actID int, offset, pageSize int, keyword
|
||||
return dao.QueryActs(dao.GetDB(), actID, offset, pageSize, keyword, vendorID, statusList, actTypeList, storeID, skuID, cityCode, beginAt, endAt, createdAtFrom, createdAtTo)
|
||||
}
|
||||
|
||||
func GetActVendorInfo(ctx *jxcontext.Context, actID int) (actVendorInfo *ActVendorInfo, err error) {
|
||||
db := dao.GetDB()
|
||||
actMap, err := dao.GetActVendorInfo(db, actID, nil)
|
||||
if err != nil {
|
||||
return nil, err
|
||||
}
|
||||
if len(actMap) == 0 {
|
||||
return nil, fmt.Errorf("不能找到活动:%d", actID)
|
||||
}
|
||||
actVendorInfo = &ActVendorInfo{}
|
||||
for vendorID, v := range actMap {
|
||||
if actVendorInfo.ID == 0 {
|
||||
actVendorInfo.Act = v.Act
|
||||
}
|
||||
actVendorInfo.VendorList = append(actVendorInfo.VendorList, &ActMapPureInfo{
|
||||
VendorID: vendorID,
|
||||
SyncStatus: v.SyncStatus,
|
||||
VendorActID: v.VendorActID,
|
||||
})
|
||||
}
|
||||
return actVendorInfo, err
|
||||
}
|
||||
|
||||
func GetActStoreSkuInfo(ctx *jxcontext.Context, actID int, vendorIDs []int) (actStoreSkuList []*model.ActStoreSku2, err error) {
|
||||
db := dao.GetDB()
|
||||
actStoreSkuMap, err := dao.GetActStoreSkuVendorInfo(db, actID, vendorIDs, nil, nil)
|
||||
|
||||
@@ -10,9 +10,27 @@ import (
|
||||
"git.rosy.net.cn/jx-callback/business/model"
|
||||
)
|
||||
|
||||
type ActMapPureInfo struct {
|
||||
VendorID int `orm:"column(vendor_id)" json:"vendorID"`
|
||||
VendorActID string `orm:"column(vendor_act_id);size(48)" json:"vendorActID"`
|
||||
SyncStatus int `orm:"default(2)" json:"syncStatus"`
|
||||
Remark string `orm:"column(map_remark)" json:"remark"`
|
||||
}
|
||||
|
||||
type ActVendorInfo struct {
|
||||
model.Act
|
||||
VendorList []*ActMapPureInfo `json:"vendorList"`
|
||||
}
|
||||
|
||||
type tActAndMap struct {
|
||||
model.Act
|
||||
MapID int `orm:"column(map_id)" json:"-"` // 内部使用,不暴露
|
||||
ActMapPureInfo
|
||||
}
|
||||
|
||||
type PagedActListInfo struct {
|
||||
TotalCount int `json:"totalCount"`
|
||||
Data []*model.Act `json:"data"`
|
||||
TotalCount int `json:"totalCount"`
|
||||
Data []*ActVendorInfo `json:"data"`
|
||||
}
|
||||
|
||||
func GetActVendorInfo(db *DaoDB, actID int, vendorIDs []int) (actMap map[int]*model.Act2, err error) {
|
||||
@@ -122,7 +140,7 @@ func GetActStoreSkuVendorInfo(db *DaoDB, actID int, vendorIDs, storeIDs, skuIDs
|
||||
func QueryActs(db *DaoDB, actID int, offset, pageSize int, keyword string, vendorID int, statusList []int, actTypeList []int, storeID, skuID, cityCode int, beginAt, endAt, createdAtFrom, createdAtTo time.Time) (pagedInfo *PagedActListInfo, err error) {
|
||||
sql := `
|
||||
SELECT SQL_CALC_FOUND_ROWS
|
||||
t1.*
|
||||
t1.id
|
||||
FROM act t1
|
||||
WHERE 1 = 1
|
||||
`
|
||||
@@ -192,9 +210,11 @@ func QueryActs(db *DaoDB, actID int, offset, pageSize int, keyword string, vendo
|
||||
sqlParams = append(sqlParams, createdAtTo)
|
||||
}
|
||||
sql += `
|
||||
ORDER by t1.id
|
||||
LIMIT ? OFFSET ?`
|
||||
ORDER BY 1
|
||||
LIMIT ? OFFSET ?
|
||||
`
|
||||
sqlParams = append(sqlParams, FormalizePageSize(pageSize), FormalizePageOffset(offset))
|
||||
var idList []int
|
||||
|
||||
pagedInfo = &PagedActListInfo{}
|
||||
Begin(db)
|
||||
@@ -204,13 +224,43 @@ func QueryActs(db *DaoDB, actID int, offset, pageSize int, keyword string, vendo
|
||||
panic(r)
|
||||
}
|
||||
}()
|
||||
err = GetRows(db, &pagedInfo.Data, sql, sqlParams...)
|
||||
if err == nil {
|
||||
pagedInfo.TotalCount = GetLastTotalRowCount(db)
|
||||
Commit(db)
|
||||
} else {
|
||||
if err = GetRows(db, &idList, sql, sqlParams...); err != nil || len(idList) == 0 {
|
||||
Rollback(db)
|
||||
pagedInfo = nil
|
||||
return nil, err
|
||||
}
|
||||
pagedInfo.TotalCount = GetLastTotalRowCount(db)
|
||||
Commit(db)
|
||||
|
||||
sql = `
|
||||
SELECT
|
||||
t1.*,
|
||||
t2.id map_id, t2.vendor_id, t2.vendor_act_id, t2.sync_status, t2.remark map_remark
|
||||
FROM act t1
|
||||
LEFT JOIN act_map t2 ON t2.act_id = t1.id AND t2.deleted_at = ?
|
||||
WHERE t1.id IN (` + GenQuestionMarks(len(idList)) + `)
|
||||
ORDER BY t1.id, t2.vendor_id
|
||||
`
|
||||
sqlParams = []interface{}{
|
||||
utils.DefaultTimeValue,
|
||||
idList,
|
||||
}
|
||||
var actList []*tActAndMap
|
||||
if err = GetRows(db, &actList, sql, sqlParams...); err != nil || len(idList) == 0 {
|
||||
return nil, err
|
||||
}
|
||||
actMap := make(map[int]*ActVendorInfo)
|
||||
for _, v := range actList {
|
||||
tmpAct := actMap[v.ID]
|
||||
if tmpAct == nil {
|
||||
tmpAct = &ActVendorInfo{
|
||||
Act: v.Act,
|
||||
}
|
||||
actMap[v.ID] = tmpAct
|
||||
pagedInfo.Data = append(pagedInfo.Data, tmpAct)
|
||||
}
|
||||
if v.MapID > 0 {
|
||||
tmpAct.VendorList = append(tmpAct.VendorList, &v.ActMapPureInfo)
|
||||
}
|
||||
}
|
||||
return pagedInfo, err
|
||||
}
|
||||
|
||||
@@ -163,20 +163,6 @@ func (c *ActController) CancelAct() {
|
||||
})
|
||||
}
|
||||
|
||||
// @Title 得到活动平台信息
|
||||
// @Description 得到活动平台信息
|
||||
// @Param token header string true "认证token"
|
||||
// @Param actID query int true "活动id"
|
||||
// @Success 200 {object} controllers.CallResult
|
||||
// @Failure 200 {object} controllers.CallResult
|
||||
// @router /GetActVendorInfo [get]
|
||||
func (c *ActController) GetActVendorInfo() {
|
||||
c.callGetActVendorInfo(func(params *tActGetActVendorInfoParams) (retVal interface{}, errCode string, err error) {
|
||||
retVal, err = act.GetActVendorInfo(params.Ctx, params.ActID)
|
||||
return retVal, "", err
|
||||
})
|
||||
}
|
||||
|
||||
// @Title 得到活动门店商品信息
|
||||
// @Description 得到活动门店商品信息
|
||||
// @Param token header string true "认证token"
|
||||
|
||||
@@ -34,15 +34,6 @@ func init() {
|
||||
Filters: nil,
|
||||
Params: nil})
|
||||
|
||||
beego.GlobalControllerRouter["git.rosy.net.cn/jx-callback/controllers:ActController"] = append(beego.GlobalControllerRouter["git.rosy.net.cn/jx-callback/controllers:ActController"],
|
||||
beego.ControllerComments{
|
||||
Method: "GetActVendorInfo",
|
||||
Router: `/GetActVendorInfo`,
|
||||
AllowHTTPMethods: []string{"get"},
|
||||
MethodParams: param.Make(),
|
||||
Filters: nil,
|
||||
Params: nil})
|
||||
|
||||
beego.GlobalControllerRouter["git.rosy.net.cn/jx-callback/controllers:ActController"] = append(beego.GlobalControllerRouter["git.rosy.net.cn/jx-callback/controllers:ActController"],
|
||||
beego.ControllerComments{
|
||||
Method: "PreCreateAct",
|
||||
|
||||
Reference in New Issue
Block a user