生成门店商品备份表
This commit is contained in:
@@ -3844,3 +3844,48 @@ func getSkuNamePrice(db *dao.DaoDB, skuID int, orgPrice int64) (price int64, nam
|
||||
}
|
||||
return price, nameID
|
||||
}
|
||||
|
||||
func BackUpStoreSkuBind(ctx *jxcontext.Context, isAsync, isContinueWhenError bool) (hint string, err error) {
|
||||
var (
|
||||
db = dao.GetDB()
|
||||
storeSkuBinds []*model.StoreSkuBind
|
||||
snapshotAt = time.Now()
|
||||
)
|
||||
storeSkuBindHis := &model.StoreSkuBindHistory{
|
||||
SnapshotAt: snapshotAt.AddDate(0, 0, -3),
|
||||
}
|
||||
storeSkuBindHis2 := &model.StoreSkuBindHistory{
|
||||
SnapshotAt: snapshotAt,
|
||||
}
|
||||
dao.DeleteEntity(db, storeSkuBindHis, "SnapShotAt")
|
||||
dao.DeleteEntity(db, storeSkuBindHis2, "SnapShotAt")
|
||||
sql := `SELECT * FROM store_sku_bind WHERE deleted_at = ?`
|
||||
sqlParams := []interface{}{utils.DefaultTimeValue}
|
||||
err = dao.GetRows(db, &storeSkuBinds, sql, sqlParams)
|
||||
task := tasksch.NewParallelTask("RefreshOrdersPriceInfo", tasksch.NewParallelConfig().SetIsContinueWhenError(isContinueWhenError), ctx,
|
||||
func(task *tasksch.ParallelTask, batchItemList []interface{}, params ...interface{}) (retVal interface{}, err error) {
|
||||
v := batchItemList[0].(*model.StoreSkuBind)
|
||||
dao.Begin(db)
|
||||
defer func() {
|
||||
if r := recover(); r != nil {
|
||||
dao.Rollback(db)
|
||||
panic(r)
|
||||
}
|
||||
}()
|
||||
storeSkuBindHis := &model.StoreSkuBindHistory{}
|
||||
storeSkuBindHis.StoreSkuBind = *v
|
||||
storeSkuBindHis.StoreSkuBindID = v.ID
|
||||
storeSkuBindHis.SnapshotAt = snapshotAt
|
||||
dao.CreateEntity(db, storeSkuBindHis)
|
||||
dao.Commit(db)
|
||||
return retVal, err
|
||||
}, storeSkuBinds)
|
||||
tasksch.HandleTask(task, nil, true).Run()
|
||||
if isAsync {
|
||||
hint = task.GetID()
|
||||
} else {
|
||||
_, err = task.GetResult(0)
|
||||
hint = "1"
|
||||
}
|
||||
return hint, err
|
||||
}
|
||||
|
||||
@@ -135,42 +135,8 @@ func (*StoreSkuBind) TableIndex() [][]string {
|
||||
}
|
||||
|
||||
type StoreSkuBindHistory struct {
|
||||
ModelIDCULD
|
||||
StoreSkuBind
|
||||
StoreSkuBindID int `orm:"column(store_sku_bind_id)"`
|
||||
StoreID int `orm:"column(store_id)"`
|
||||
SkuID int `orm:"column(sku_id)"`
|
||||
SubStoreID int `orm:"column(sub_store_id)"`
|
||||
Price int // 单位为分,不用int64的原因是这里不需要累加
|
||||
UnitPrice int // 这个是一斤的门店商品价,放在这里的原因是避免额外增加一张store sku_name表,逻辑上要保证同一SKU NAME中的所有SKU这个字段的数据一致
|
||||
Status int
|
||||
|
||||
// ElmID int64 `orm:"column(elm_id);index"`
|
||||
MtwmID int64 `orm:"column(mtwm_id);index"`
|
||||
EbaiID int64 `orm:"column(ebai_id);index"`
|
||||
// WscID int64 `orm:"column(wsc_id);index"` // 表示微盟skuId
|
||||
// WscID2 int64 `orm:"column(wsc_id2);index"` // 表示微盟goodsId
|
||||
|
||||
// ElmSyncStatus int8 `orm:"default(2)"`
|
||||
JdSyncStatus int8 `orm:"default(2)"`
|
||||
MtwmSyncStatus int8 `orm:"default(2)"`
|
||||
EbaiSyncStatus int8 `orm:"default(2)"`
|
||||
// WscSyncStatus int8 `orm:"default(2)"`
|
||||
|
||||
JdPrice int `json:"jdPrice"`
|
||||
MtwmPrice int `json:"mtwmPrice"`
|
||||
EbaiPrice int `json:"ebaiPrice"`
|
||||
JxPrice int `json:"jxPrice"`
|
||||
|
||||
JdLockTime *time.Time `orm:"null" json:"jdLockTime"`
|
||||
MtwmLockTime *time.Time `orm:"null" json:"mtwmLockTime"`
|
||||
EbaiLockTime *time.Time `orm:"null" json:"ebaiLockTime"`
|
||||
JxLockTime *time.Time `orm:"null" json:"jxLockTime"`
|
||||
|
||||
AutoSaleAt time.Time `orm:"type(datetime);null" json:"autoSaleAt"`
|
||||
|
||||
StatusSaleBegin int16 //商品可售时间范围
|
||||
StatusSaleEnd int16
|
||||
|
||||
SnapshotAt time.Time `orm:"type(datetime);null;index" json:"snapshotAt"`
|
||||
}
|
||||
|
||||
|
||||
@@ -712,3 +712,18 @@ func (c *StoreSkuController) RefreshJxPriceByVendor2() {
|
||||
return retVal, "", err
|
||||
})
|
||||
}
|
||||
|
||||
// @Title 生成门店商品备份表
|
||||
// @Description 生成门店商品备份表
|
||||
// @Param token header string true "认证token"
|
||||
// @Param isAsync formData bool false "是否异步,缺省是同步"
|
||||
// @Param isContinueWhenError formData bool false "单个同步失败是否继续,缺省false"
|
||||
// @Success 200 {object} controllers.CallResult
|
||||
// @Failure 200 {object} controllers.CallResult
|
||||
// @router /BackUpStoreSkuBind [post]
|
||||
func (c *StoreSkuController) BackUpStoreSkuBind() {
|
||||
c.callBackUpStoreSkuBind(func(params *tStoreSkuBackUpStoreSkuBindParams) (retVal interface{}, errCode string, err error) {
|
||||
retVal, err = cms.BackUpStoreSkuBind(params.Ctx, params.IsAsync, params.IsContinueWhenError)
|
||||
return retVal, "", err
|
||||
})
|
||||
}
|
||||
|
||||
@@ -655,6 +655,15 @@ func init() {
|
||||
Filters: nil,
|
||||
Params: nil})
|
||||
|
||||
beego.GlobalControllerRouter["git.rosy.net.cn/jx-callback/controllers:JxOrderController"] = append(beego.GlobalControllerRouter["git.rosy.net.cn/jx-callback/controllers:JxOrderController"],
|
||||
beego.ControllerComments{
|
||||
Method: "GetMatterOrderStatus",
|
||||
Router: `/GetMatterOrderStatus`,
|
||||
AllowHTTPMethods: []string{"post"},
|
||||
MethodParams: param.Make(),
|
||||
Filters: nil,
|
||||
Params: nil})
|
||||
|
||||
beego.GlobalControllerRouter["git.rosy.net.cn/jx-callback/controllers:JxOrderController"] = append(beego.GlobalControllerRouter["git.rosy.net.cn/jx-callback/controllers:JxOrderController"],
|
||||
beego.ControllerComments{
|
||||
Method: "GetMyOrderCountInfo",
|
||||
@@ -1773,6 +1782,15 @@ 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: "BackUpStoreSkuBind",
|
||||
Router: `/BackUpStoreSkuBind`,
|
||||
AllowHTTPMethods: []string{"post"},
|
||||
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: "CopyStoreSkus",
|
||||
|
||||
Reference in New Issue
Block a user