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

This commit is contained in:
苏尹岚
2020-01-08 09:09:53 +08:00
15 changed files with 173 additions and 46 deletions

View File

@@ -54,7 +54,7 @@ func GetSysConfigAsInt64(db *DaoDB, key string) (value int64, err error) {
configList, err := QueryConfigs(db, key, model.ConfigTypeSys, "")
if err == nil && len(configList) > 0 {
value = utils.Str2Int64WithDefault(configList[0].Value, 0)
} else if IsNoRowsError(err) {
} else if true { //IsNoRowsError(err) { // todo 暂时忽略所有错误
err = nil
}
return value, err

View File

@@ -13,6 +13,11 @@ import (
"git.rosy.net.cn/jx-callback/globals"
)
type StoreSkuAndAct struct {
*model.StoreSkuBind
ActMap map[int]*model.StoreSkuAct
}
var (
dataResFieldMap = map[int]string{
model.VendorIDMTWM: "mtwm_url",
@@ -798,6 +803,55 @@ func GetStoresSkusInfo(db *DaoDB, storeIDs, skuIDs []int) (storeSkuList []*model
return storeSkuList, err
}
func GetStoresSkusAndActInfo(db *DaoDB, storeIDs, skuIDs, vendorIDs []int) (storeSkuAndActList []*StoreSkuAndAct, err error) {
storeSkuList, err := GetStoresSkusInfo(db, storeIDs, skuIDs)
if err == nil && len(storeSkuList) > 0 {
storeSkuActList, err2 := GetStoresSkusAct(db, storeIDs, skuIDs, vendorIDs)
if err = err2; err == nil {
actMap := make(map[int64][]*model.StoreSkuAct)
for _, v := range storeSkuActList {
actMap[jxutils.Combine2Int(v.StoreID, v.SkuID)] = append(actMap[jxutils.Combine2Int(v.StoreID, v.SkuID)], v)
}
for _, v := range storeSkuList {
storeSkuAct := &StoreSkuAndAct{
StoreSkuBind: v,
ActMap: make(map[int]*model.StoreSkuAct),
}
for _, vv := range actMap[jxutils.Combine2Int(v.StoreID, v.SkuID)] {
storeSkuAct.ActMap[vv.VendorID] = vv
}
storeSkuAndActList = append(storeSkuAndActList, storeSkuAct)
}
}
}
return storeSkuAndActList, err
}
func GetStoresSkusAct(db *DaoDB, storeIDs, skuIDs, vendorIDs []int) (storeSkuActList []*model.StoreSkuAct, err error) {
sql := `
SELECT *
FROM store_sku_act t1
WHERE t1.deleted_at = ?
`
sqlParams := []interface{}{
utils.DefaultTimeValue,
}
if len(storeIDs) > 0 {
sql += " AND t1.store_id IN (" + GenQuestionMarks(len(storeIDs)) + ")"
sqlParams = append(sqlParams, storeIDs)
}
if len(skuIDs) > 0 {
sql += " AND t1.sku_id IN (" + GenQuestionMarks(len(skuIDs)) + ")"
sqlParams = append(sqlParams, skuIDs)
}
if len(vendorIDs) > 0 {
sql += " AND t1.vendor_id IN (" + GenQuestionMarks(len(vendorIDs)) + ")"
sqlParams = append(sqlParams, vendorIDs)
}
err = GetRows(db, &storeSkuActList, sql, sqlParams...)
return storeSkuActList, err
}
// vendorID, vendorStoreIDs和vendorSkuIDs都是必须参数
func GetStoresSkusInfoByVendorInfo(db *DaoDB, vendorID int, vendorStoreIDs, vendorSkuIDs []string) (storeSkuList []*StoreSkuBindWithVendorInfo, err error) {
if len(vendorStoreIDs) == 0 || len(vendorSkuIDs) == 0 {