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

This commit is contained in:
Rosy-zhudan
2019-08-30 16:01:12 +08:00
8 changed files with 92 additions and 90 deletions

View File

@@ -973,6 +973,8 @@ func UpdateStoreSkus(ctx *jxcontext.Context, storeID int, skuBindInfos []*StoreS
}
func UpdateStoresSkus(ctx *jxcontext.Context, storeIDs []int, skuBindInfos []*StoreSkuBindInfo, isAsync, isContinueWhenError bool) (hint string, err error) {
globals.SugarLogger.Debugf("UpdateStoresSkus:%s, storeIDs:%v, skuBindInfos:%s", ctx.GetTrackInfo(), storeIDs, utils.Format4Output(skuBindInfos, true))
var num int64
db := dao.GetDB()
skuIDs, err := updateStoresSkusWithoutSync(ctx, db, storeIDs, skuBindInfos)
@@ -1109,9 +1111,9 @@ func updateStoresSkusWithoutSync(ctx *jxcontext.Context, db *dao.DaoDB, storeIDs
// if err = checkStoresSkusSaleCity(ctx, db, storeIDs, skuBindInfos); err != nil {
// return nil, err
// }
if storeIDs, skuBindInfos, err = filterStorePriceChange(ctx, storeIDs, skuBindInfos); err != nil {
return nil, err
}
// if storeIDs, skuBindInfos, err = filterStorePriceChange(ctx, storeIDs, skuBindInfos); err != nil {
// return nil, err
// }
// globals.SugarLogger.Debugf("updateStoresSkusWithoutSync2, storeIDs:%v, skuBindInfos:%s", storeIDs, utils.Format4Output(skuBindInfos, false))
userName := ctx.GetUserName()

View File

@@ -180,6 +180,8 @@ func (task *ParallelTask) Run() {
close(task.subFinishChan)
task.jobList = nil // 如果不释放,任务被管理的话,会导致内存不能释放
task.worker = nil
task.subFinishChan = nil
task.taskChan = nil
})
}

View File

@@ -73,12 +73,18 @@ func WrapUpdateULEntity(item interface{}, lastOperator string) interface{} {
return item
}
func GenQuestionMarks(count int) string {
marks := ""
func GenQuestionMarks(count int) (marks string) {
if count > 0 {
marks = "?"
for i := 1; i < count; i++ {
marks += ", ?"
if count == 1 {
marks = "?"
} else {
builder := &strings.Builder{}
builder.Grow(1 + (count-1)*3)
builder.WriteString("?")
for i := 1; i < count; i++ {
builder.WriteString(", ?")
}
marks = builder.String()
}
}
return marks

View File

@@ -8,6 +8,16 @@ import (
"git.rosy.net.cn/jx-callback/globals"
)
type SkuCategoryWithVendor struct {
model.SkuCategory
VendorID int `orm:"column(vendor_id)" json:"vendorID"`
VendorOrgCode string `orm:"size(32)" json:"vendorOrgCode"` // 同一平台下不同的商户代码,如果只有一个,可以为空
VendorCatID string `orm:"size(32);column(vendor_cat_id)" json:"vendorCatID"`
SyncStatus int8 `orm:"default(2)"`
}
func GetSellCities(db *DaoDB, nameID int, vendorID int) (cities []*model.Place, err error) {
cities = []*model.Place{}
sql := `
@@ -148,18 +158,18 @@ func GetSkuByCats(db *DaoDB, catIDs []int) (skuList []*model.Sku, err error) {
sql := `
SELECT t1.*
FROM sku t1
JOIN sku_name t2 ON t2.id = t1.name_id
WHERE t1.deleted_at = ?
`
JOIN sku_name t2 ON t2.id = t1.name_id AND t2.deleted_at = ?
WHERE t1.deleted_at = ?`
sqlParams := []interface{}{
utils.DefaultTimeValue,
utils.DefaultTimeValue,
}
if len(catIDs) > 0 {
sql += " AND t2.category_id IN (" + GenQuestionMarks(len(catIDs)) + ")"
sqlParams = append(sqlParams, catIDs)
}
err = GetRows(db, &skuList, sql, sqlParams...)
globals.SugarLogger.Debugf("GetSkuByCats err:%v", err)
// globals.SugarLogger.Debugf("GetSkuByCats err:%v", err)
return skuList, err
}
@@ -187,3 +197,6 @@ func SetSkuSyncStatus(db *DaoDB, vendorID int, skuIDs []int, syncStatus int) (nu
}
return ExecuteSQL(db, sql, sqlParams...)
}
// func GetSkuCategoryWithVendor(db *DaoDB, vendorIDs []int, appOrgCodes []string, catIDs []int) (num int64, err error) {
// }

View File

@@ -31,8 +31,6 @@ enableElmStoreWrite = false
enableMtwmStoreWrite = false
enableWscStoreWrite = false
enablePendingChange = true
aliKey = "LTAI6xJUGaP6WdMQ"
aliSecret = "CLmx5T93Bgi89EGAxWM4RTAXUsiHbM"

View File

@@ -1,7 +1,6 @@
package controllers
import (
"fmt"
"math"
"time"
@@ -321,63 +320,63 @@ func (c *StoreSkuController) GetStoresSkusSaleInfo() {
})
}
// @Title 得到商家商品修改价格请求信息
// @Description 得到商家商品修改价格请求信息
// @Param token header string true "认证token"
// @Param fromTime query string false "申请开始时间"
// @Param toTime query string false "申请结束时间"
// @Param keyword query string false "查询关键字(可以为空,为空表示不限制)"
// @Param storeIDs query string false "门店ID列表"
// @Param itemIDs query string false "id列表对象当前指skuname id"
// @Param types query string false "类型列表对象"
// @Param statuss query string false "状态列表对象"
// @Param offset query int false "门店列表起始序号以0开始缺省为0"
// @Param pageSize query int false "门店列表页大小缺省为50-1表示全部"
// @Success 200 {object} controllers.CallResult
// @Failure 200 {object} controllers.CallResult
// @router /GetStoreOpRequests [get]
func (c *StoreSkuController) GetStoreOpRequests() {
c.callGetStoreOpRequests(func(params *tStoreSkuGetStoreOpRequestsParams) (retVal interface{}, errCode string, err error) {
var (
timeList []time.Time
storeIDs, typeList, statusList, itemIDs []int
)
if timeList, err = jxutils.BatchStr2Time(params.FromTime, params.ToTime); err != nil {
return retVal, "", err
}
if err = jxutils.Strings2Objs(params.StoreIDs, &storeIDs, params.Types, &typeList, params.Statuss, &statusList, params.ItemIDs, &itemIDs); err != nil {
return retVal, "", err
}
retVal, err = cms.GetStoreOpRequests(params.Ctx, timeList[0], timeList[1], params.Keyword, storeIDs, itemIDs, typeList, statusList, params.Offset, params.PageSize)
return retVal, "", err
})
}
// // @Title 得到商家商品修改价格请求信息
// // @Description 得到商家商品修改价格请求信息
// // @Param token header string true "认证token"
// // @Param fromTime query string false "申请开始时间"
// // @Param toTime query string false "申请结束时间"
// // @Param keyword query string false "查询关键字(可以为空,为空表示不限制)"
// // @Param storeIDs query string false "门店ID列表"
// // @Param itemIDs query string false "id列表对象当前指skuname id"
// // @Param types query string false "类型列表对象"
// // @Param statuss query string false "状态列表对象"
// // @Param offset query int false "门店列表起始序号以0开始缺省为0"
// // @Param pageSize query int false "门店列表页大小缺省为50-1表示全部"
// // @Success 200 {object} controllers.CallResult
// // @Failure 200 {object} controllers.CallResult
// // @router /GetStoreOpRequests [get]
// func (c *StoreSkuController) GetStoreOpRequests() {
// c.callGetStoreOpRequests(func(params *tStoreSkuGetStoreOpRequestsParams) (retVal interface{}, errCode string, err error) {
// var (
// timeList []time.Time
// storeIDs, typeList, statusList, itemIDs []int
// )
// if timeList, err = jxutils.BatchStr2Time(params.FromTime, params.ToTime); err != nil {
// return retVal, "", err
// }
// if err = jxutils.Strings2Objs(params.StoreIDs, &storeIDs, params.Types, &typeList, params.Statuss, &statusList, params.ItemIDs, &itemIDs); err != nil {
// return retVal, "", err
// }
// retVal, err = cms.GetStoreOpRequests(params.Ctx, timeList[0], timeList[1], params.Keyword, storeIDs, itemIDs, typeList, statusList, params.Offset, params.PageSize)
// return retVal, "", err
// })
// }
// @Title 处理商家商品价格申请
// @Description 处理商家商品价格申请
// @Param token header string true "认证token"
// @Param reqIDs formData string true "请求ID列表对象"
// @Param handleType formData int true "-1拒绝1批准"
// @Param rejectReason formData string false "拒绝理由,拒绝时要求"
// @Success 200 {object} controllers.CallResult
// @Failure 200 {object} controllers.CallResult
// @router /HandleStoreOpRequest [put]
func (c *StoreSkuController) HandleStoreOpRequest() {
c.callHandleStoreOpRequest(func(params *tStoreSkuHandleStoreOpRequestParams) (retVal interface{}, errCode string, err error) {
var reqIDs []int
if err = jxutils.Strings2Objs(params.ReqIDs, &reqIDs); err != nil {
return retVal, "", err
}
if params.HandleType == 1 {
err = cms.AcceptStoreOpRequests(params.Ctx, reqIDs)
} else if params.HandleType == -1 {
err = cms.RejectStoreOpRequests(params.Ctx, reqIDs, params.RejectReason)
} else {
err = fmt.Errorf("handleType=%d是非法值", params.HandleType)
}
return retVal, "", err
})
}
// // @Title 处理商家商品价格申请
// // @Description 处理商家商品价格申请
// // @Param token header string true "认证token"
// // @Param reqIDs formData string true "请求ID列表对象"
// // @Param handleType formData int true "-1拒绝1批准"
// // @Param rejectReason formData string false "拒绝理由,拒绝时要求"
// // @Success 200 {object} controllers.CallResult
// // @Failure 200 {object} controllers.CallResult
// // @router /HandleStoreOpRequest [put]
// func (c *StoreSkuController) HandleStoreOpRequest() {
// c.callHandleStoreOpRequest(func(params *tStoreSkuHandleStoreOpRequestParams) (retVal interface{}, errCode string, err error) {
// var reqIDs []int
// if err = jxutils.Strings2Objs(params.ReqIDs, &reqIDs); err != nil {
// return retVal, "", err
// }
// if params.HandleType == 1 {
// err = cms.AcceptStoreOpRequests(params.Ctx, reqIDs)
// } else if params.HandleType == -1 {
// err = cms.RejectStoreOpRequests(params.Ctx, reqIDs, params.RejectReason)
// } else {
// err = fmt.Errorf("handleType=%d是非法值", params.HandleType)
// }
// return retVal, "", err
// })
// }
// @Title 根据厂家门店商品信息相应刷新本地数据
// @Description 根据厂家门店商品信息相应刷新本地数据

View File

@@ -73,7 +73,7 @@ func Init() {
EnableElmStoreWrite = EnableStoreWrite && beego.AppConfig.DefaultBool("enableElmStoreWrite", false)
EnableMtwmStoreWrite = EnableStoreWrite && beego.AppConfig.DefaultBool("enableMtwmStoreWrite", false)
EnableWscStoreWrite = EnableStoreWrite && beego.AppConfig.DefaultBool("enableWscStoreWrite", false)
EnablePendingChange = beego.AppConfig.DefaultBool("enablePendingChange", false)
// EnablePendingChange = beego.AppConfig.DefaultBool("enablePendingChange", false)
QiniuBucket = beego.AppConfig.String("qiniuBucket")

View File

@@ -1384,15 +1384,6 @@ func init() {
Filters: nil,
Params: nil})
beego.GlobalControllerRouter["git.rosy.net.cn/jx-callback/controllers:StoreSkuController"] = append(beego.GlobalControllerRouter["git.rosy.net.cn/jx-callback/controllers:StoreSkuController"],
beego.ControllerComments{
Method: "GetStoreOpRequests",
Router: `/GetStoreOpRequests`,
AllowHTTPMethods: []string{"get"},
MethodParams: param.Make(),
Filters: nil,
Params: nil})
beego.GlobalControllerRouter["git.rosy.net.cn/jx-callback/controllers:StoreSkuController"] = append(beego.GlobalControllerRouter["git.rosy.net.cn/jx-callback/controllers:StoreSkuController"],
beego.ControllerComments{
Method: "GetStoreSkus",
@@ -1429,15 +1420,6 @@ func init() {
Filters: nil,
Params: nil})
beego.GlobalControllerRouter["git.rosy.net.cn/jx-callback/controllers:StoreSkuController"] = append(beego.GlobalControllerRouter["git.rosy.net.cn/jx-callback/controllers:StoreSkuController"],
beego.ControllerComments{
Method: "HandleStoreOpRequest",
Router: `/HandleStoreOpRequest`,
AllowHTTPMethods: []string{"put"},
MethodParams: param.Make(),
Filters: nil,
Params: nil})
beego.GlobalControllerRouter["git.rosy.net.cn/jx-callback/controllers:StoreSkuController"] = append(beego.GlobalControllerRouter["git.rosy.net.cn/jx-callback/controllers:StoreSkuController"],
beego.ControllerComments{
Method: "RefreshStoresSkuByVendor",