This commit is contained in:
suyl
2021-08-18 10:04:26 +08:00
parent 046a098189
commit a1b2eecd30
3 changed files with 101 additions and 2 deletions

View File

@@ -2113,3 +2113,11 @@ func GetActMtwmVendorSku(ctx *jxcontext.Context, storeID int, keyword string, ac
func DeleteActStoreSkuVendor(ctx *jxcontext.Context, db *dao.DaoDB, actStoreSkuParam []*ActStoreSkuParam) (err error) {
return fmt.Errorf("暂不支持直接取消平台活动,开发中……")
}
func GetActEbaiVendor(ctx *jxcontext.Context, storeIDs, skuIDs []int, keyword, beginAt, endAt string, actType, offset, pageSize int) (page *model.PagedInfo, err error) {
return dao.GetActEbaiVendorPage(dao.GetDB(), storeIDs, skuIDs, keyword, utils.Str2Time(beginAt), utils.Str2Time(endAt), actType, offset, pageSize)
}
func GetActEbaiVendorSku(ctx *jxcontext.Context, actID, keyword string, offset, pageSize int) (page *model.PagedInfo, err error) {
return dao.GetActEbaiVendorSkuPage(dao.GetDB(), actID, keyword, offset, pageSize)
}

View File

@@ -800,3 +800,91 @@ func GetActMtwmVendorSkuPage(db *DaoDB, storeID int, keyword string, actType, of
Commit(db, txDB)
return page, err
}
func GetActEbaiVendorPage(db *DaoDB, storeIDs, skuIDs []int, keyword string, beginAt, endAt time.Time, actType, offset, pageSize int) (page *model.PagedInfo, err error) {
var (
acts []*model.ActEbaiVendor
)
sql := `
SELECT SQL_CALC_FOUND_ROWS a.begin_at, a.end_at, a.act_id, a.act_name
FROM act_ebai_vendor a
LEFT JOIN act_ebai_vendor_sku b ON a.act_id = b.act_id
LEFT JOIN store c ON c.id = b.store_id
`
sqlParams := []interface{}{}
if len(storeIDs) > 0 {
sql += " AND b.store_id IN (" + GenQuestionMarks(len(storeIDs)) + ")"
sqlParams = append(sqlParams, storeIDs)
}
if len(skuIDs) > 0 {
sql += " AND b.sku_id IN (" + GenQuestionMarks(len(skuIDs)) + ")"
sqlParams = append(sqlParams, skuIDs)
}
if keyword != "" {
sql += " AND (b.store_id = ? OR b.sku_id = ? OR b.sku_name LIKE ? OR a.name LIKE ? OR c.name LIKE ?)"
sqlParams = append(sqlParams, keyword, keyword, "%"+keyword+"%", "%"+keyword+"%", "%"+keyword+"%")
}
if !utils.IsTimeZero(beginAt) {
sql += " AND a.begin_at <= ?"
sqlParams = append(sqlParams, beginAt)
}
if !utils.IsTimeZero(endAt) {
sql += " AND a.end_at >= ?"
sqlParams = append(sqlParams, endAt)
}
if actType != 0 {
sql += " AND a.act_type = ?"
sqlParams = append(sqlParams, actType)
}
sql += `
GROUP BY 1, 2, 3, 4
LIMIT ? OFFSET ?
`
sqlParams = append(sqlParams, pageSize, offset)
txDB, _ := Begin(db)
defer func() {
if r := recover(); r != nil {
Rollback(db, txDB)
panic(r)
}
}()
if err = GetRowsTx(txDB, &acts, sql, sqlParams...); err == nil {
page.TotalCount = GetLastTotalRowCount2(db, txDB)
page.Data = acts
}
Commit(db, txDB)
return page, err
}
func GetActEbaiVendorSkuPage(db *DaoDB, actID, keyword string, offset, pageSize int) (page *model.PagedInfo, err error) {
var (
acts []*model.ActEbaiVendorSku
)
sql := `
SELECT SQL_CALC_FOUND_ROWS a.*
FROM act_ebai_vendor_sku a WHERE act_id = ?
LEFT JOIN store b ON b.id = a.store_id
`
sqlParams := []interface{}{actID}
if keyword != "" {
sql += " AND (a.store_id = ? OR a.sku_id = ? OR a.sku_name LIKE ? OR b.name LIKE ?)"
sqlParams = append(sqlParams, keyword, keyword, "%"+keyword+"%", "%"+keyword+"%")
}
sql += `
LIMIT ? OFFSET ?
`
sqlParams = append(sqlParams, pageSize, offset)
txDB, _ := Begin(db)
defer func() {
if r := recover(); r != nil {
Rollback(db, txDB)
panic(r)
}
}()
if err = GetRowsTx(txDB, &acts, sql, sqlParams...); err == nil {
page.TotalCount = GetLastTotalRowCount2(db, txDB)
page.Data = acts
}
Commit(db, txDB)
return page, err
}

View File

@@ -504,6 +504,9 @@ func (c *ActController) GetActMtwmVendorSku() {
// @router /GetActEbaiVendor [get]
func (c *ActController) GetActEbaiVendor() {
c.callGetActEbaiVendor(func(params *tActGetActEbaiVendorParams) (retVal interface{}, errCode string, err error) {
var storeIDs, skuIDs []int
err = jxutils.Strings2Objs(params.StoreIDs, &storeIDs, params.SkuIDs, &skuIDs)
retVal, err = act.GetActEbaiVendor(params.Ctx, storeIDs, skuIDs, params.Keyword, params.BeginAt, params.EndAt, params.ActType, params.Offset, params.PageSize)
return retVal, "", err
})
}
@@ -511,9 +514,8 @@ func (c *ActController) GetActEbaiVendor() {
// @Title 查询饿百平台活动sku
// @Description 查询饿百平台活动sku
// @Param token header string true "认证token"
// @Param actID query int true "活动ID"
// @Param actID query string true "活动ID"
// @Param keyword query string false "关键字"
// @Param actType query int false "折扣或者秒杀"
// @Param offset query int false "起始序号以0开始缺省为0"
// @Param pageSize query int false "表页大小(缺省全部)"
// @Success 200 {object} controllers.CallResult
@@ -521,6 +523,7 @@ func (c *ActController) GetActEbaiVendor() {
// @router /GetActEbaiVendorSku [get]
func (c *ActController) GetActEbaiVendorSku() {
c.callGetActEbaiVendorSku(func(params *tActGetActEbaiVendorSkuParams) (retVal interface{}, errCode string, err error) {
retVal, err = act.GetActEbaiVendorSku(params.Ctx, params.ActID, params.Keyword, params.Offset, params.PageSize)
return retVal, "", err
})
}