Merge remote-tracking branch 'origin/mark' into jdshop

This commit is contained in:
苏尹岚
2021-03-25 18:23:44 +08:00
58 changed files with 2075 additions and 550 deletions

View File

@@ -168,7 +168,7 @@ func getStoreDetail(db *DaoDB, storeID, vendorID int, vendorStoreID, vendorOrgCo
sqlParams = append(sqlParams, vendorOrgCode)
}
if vendorID == model.VendorIDJDShop && vendorOrgCode == "" {
sql += " AND t2.vendor_org_code = 1"
sql += " AND t2.vendor_org_code = 2"
}
if err = GetRow(db, &storeDetail, sql, sqlParams...); err == nil {
storeDetail.PricePercentagePackObj = PricePercentagePack2Obj(storeDetail.PricePercentagePackStr)
@@ -1178,3 +1178,104 @@ func GetStoreAcctExpendLastCreateWayBillFee(db *DaoDB, vendorOrderID string) (la
}
return lastFee, err
}
type GetStoreManageStateResult struct {
StoreName string `json:"storeName"`
VendorStoreID string `orm:"column(vendor_store_id)" json:"vendorStoreID"`
MarketScale int `json:"marketScale"` //市场规模
Comment string `json:"comment"`
model.StoreManageState
}
func GetStoreManageState(db *DaoDB, storeIDs, brandIDs []int, vendorID, sortType, offset, pageSize int) (pagedInfo *model.PagedInfo, err error) {
var (
requestList []*GetStoreManageStateResult
GetStoreManageStateSortTypeMap = map[int]string{
1: "a.cover_area",
2: "c.market_scale",
3: "a.open_time",
4: "a.sku_count",
5: "a.high_sku_count",
6: "a.act_ample",
7: "a.null_order_count",
8: "a.refuse_order_count",
9: "a.store_score",
}
)
sql := `
SELECT SQL_CALC_FOUND_ROWS DISTINCT a.*, b.name store_name, c.vendor_store_id, c.market_scale, b.comment
FROM store_manage_state a
LEFT JOIN store b ON b.id = a.store_id AND b.deleted_at = ?
LEFT JOIN store_map c ON c.store_id = a.store_id AND c.vendor_id = a.vendor_id AND c.deleted_at = ?
WHERE a.vendor_status <> ?
`
sqlParams := []interface{}{
utils.DefaultTimeValue, utils.DefaultTimeValue,
model.StoreStatusDisabled,
}
if len(storeIDs) > 0 {
sql += " AND a.store_id IN (" + GenQuestionMarks(len(storeIDs)) + ")"
sqlParams = append(sqlParams, storeIDs)
}
if len(brandIDs) > 0 {
sql += " AND b.brand_id IN (" + GenQuestionMarks(len(brandIDs)) + ")"
sqlParams = append(sqlParams, brandIDs)
}
if vendorID != -1 {
sql += " AND a.vendor_id = ?"
sqlParams = append(sqlParams, vendorID)
}
if sortType != 0 {
tempSortType := 0
if sortType < 0 {
tempSortType = -sortType
} else {
tempSortType = sortType
}
if GetStoreManageStateSortTypeMap[tempSortType] != "" {
sql += " ORDER BY " + GetStoreManageStateSortTypeMap[tempSortType]
if sortType < 0 {
sql += " DESC"
}
}
}
sql += " LIMIT ? OFFSET ?"
pageSize = jxutils.FormalizePageSize(pageSize)
sqlParams = append(sqlParams, pageSize, offset)
Begin(db)
defer Commit(db)
if err = GetRows(db, &requestList, sql, sqlParams...); err == nil {
return &model.PagedInfo{
TotalCount: GetLastTotalRowCount(db),
Data: requestList,
}, nil
}
return pagedInfo, err
}
func GetStoreManageStateSimple(db *DaoDB, storeIDs, brandIDs []int, vendorID int) (pagedInfo []*model.StoreManageState, err error) {
sql := `
SELECT a.*
FROM store_manage_state a
LEFT JOIN store b ON b.id = a.store_id AND b.deleted_at = ?
WHERE a.vendor_status <> ?
`
sqlParams := []interface{}{
utils.DefaultTimeValue,
model.StoreStatusDisabled,
}
if len(storeIDs) > 0 {
sql += " AND a.store_id IN (" + GenQuestionMarks(len(storeIDs)) + ")"
sqlParams = append(sqlParams, storeIDs)
}
if len(brandIDs) > 0 {
sql += " AND b.brand_id IN (" + GenQuestionMarks(len(brandIDs)) + ")"
sqlParams = append(sqlParams, brandIDs)
}
if vendorID != -1 {
sql += " AND a.vendor_id = ?"
sqlParams = append(sqlParams, vendorID)
}
err = GetRows(db, &pagedInfo, sql, sqlParams...)
return pagedInfo, err
}