- 删除GetActVendorInfo,在QueryActs返回结果中包含平台相关信息`

This commit is contained in:
gazebo
2019-07-10 10:03:26 +08:00
parent 73e04c229c
commit 88d965962a
4 changed files with 61 additions and 68 deletions

View File

@@ -37,17 +37,6 @@ type ActDetail struct {
model.Act2 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 { type tPreCreateActVendorInfo struct {
VendorID int 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) 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) { func GetActStoreSkuInfo(ctx *jxcontext.Context, actID int, vendorIDs []int) (actStoreSkuList []*model.ActStoreSku2, err error) {
db := dao.GetDB() db := dao.GetDB()
actStoreSkuMap, err := dao.GetActStoreSkuVendorInfo(db, actID, vendorIDs, nil, nil) actStoreSkuMap, err := dao.GetActStoreSkuVendorInfo(db, actID, vendorIDs, nil, nil)

View File

@@ -10,9 +10,27 @@ import (
"git.rosy.net.cn/jx-callback/business/model" "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 { type PagedActListInfo struct {
TotalCount int `json:"totalCount"` TotalCount int `json:"totalCount"`
Data []*model.Act `json:"data"` Data []*ActVendorInfo `json:"data"`
} }
func GetActVendorInfo(db *DaoDB, actID int, vendorIDs []int) (actMap map[int]*model.Act2, err error) { 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) { 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 := ` sql := `
SELECT SQL_CALC_FOUND_ROWS SELECT SQL_CALC_FOUND_ROWS
t1.* t1.id
FROM act t1 FROM act t1
WHERE 1 = 1 WHERE 1 = 1
` `
@@ -192,9 +210,11 @@ func QueryActs(db *DaoDB, actID int, offset, pageSize int, keyword string, vendo
sqlParams = append(sqlParams, createdAtTo) sqlParams = append(sqlParams, createdAtTo)
} }
sql += ` sql += `
ORDER by t1.id ORDER BY 1
LIMIT ? OFFSET ?` LIMIT ? OFFSET ?
`
sqlParams = append(sqlParams, FormalizePageSize(pageSize), FormalizePageOffset(offset)) sqlParams = append(sqlParams, FormalizePageSize(pageSize), FormalizePageOffset(offset))
var idList []int
pagedInfo = &PagedActListInfo{} pagedInfo = &PagedActListInfo{}
Begin(db) Begin(db)
@@ -204,13 +224,43 @@ func QueryActs(db *DaoDB, actID int, offset, pageSize int, keyword string, vendo
panic(r) panic(r)
} }
}() }()
err = GetRows(db, &pagedInfo.Data, sql, sqlParams...) if err = GetRows(db, &idList, sql, sqlParams...); err != nil || len(idList) == 0 {
if err == nil {
pagedInfo.TotalCount = GetLastTotalRowCount(db)
Commit(db)
} else {
Rollback(db) 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 return pagedInfo, err
} }

View File

@@ -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 得到活动门店商品信息 // @Title 得到活动门店商品信息
// @Description 得到活动门店商品信息 // @Description 得到活动门店商品信息
// @Param token header string true "认证token" // @Param token header string true "认证token"

View File

@@ -34,15 +34,6 @@ func init() {
Filters: nil, Filters: nil,
Params: 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.GlobalControllerRouter["git.rosy.net.cn/jx-callback/controllers:ActController"] = append(beego.GlobalControllerRouter["git.rosy.net.cn/jx-callback/controllers:ActController"],
beego.ControllerComments{ beego.ControllerComments{
Method: "PreCreateAct", Method: "PreCreateAct",