From d8907cf0106dfef63c49b1f239d27f3772a2716e Mon Sep 17 00:00:00 2001 From: gazebo Date: Sun, 9 Sep 2018 20:43:48 +0800 Subject: [PATCH] - sku category man almost ok. - mysql connect str add utf8mb4. --- business/jxstore/cms/cms.go | 34 ++++++++++++ business/jxstore/cms/sku.go | 76 ++++++++++++++++++++++++-- business/jxstore/cms/store.go | 4 +- business/model/dao/dao.go | 12 ++--- business/model/sku.go | 21 ++++---- business/partner/partner.go | 5 +- business/partner/purchase/elm/sku.go | 8 ++- business/partner/purchase/jd/sku.go | 40 +++++++++++++- business/partner/purchase/jd/store.go | 5 +- conf/app.conf | 7 +-- controllers/cms_sku.go | 78 ++++++++++++++++++++++++++- globals/beegodb/beegodb.go | 17 +++--- globals/globals.go | 6 +++ routers/commentsRouter_controllers.go | 32 +++++++++++ 14 files changed, 304 insertions(+), 41 deletions(-) diff --git a/business/jxstore/cms/cms.go b/business/jxstore/cms/cms.go index 12f0d4a5f..56107de17 100644 --- a/business/jxstore/cms/cms.go +++ b/business/jxstore/cms/cms.go @@ -4,9 +4,18 @@ import ( "errors" "git.rosy.net.cn/jx-callback/business/jxcallback/scheduler/basesch" + "git.rosy.net.cn/jx-callback/business/model" + "git.rosy.net.cn/jx-callback/business/model/dao" "git.rosy.net.cn/jx-callback/business/partner" ) +type VendorSync struct { +} + +var ( + CurVendorSync VendorSync +) + var ( ErrHaveNotImplementedYet = errors.New("还没有实现") ) @@ -14,3 +23,28 @@ var ( func GetPurchaseHandler(vendorID int) partner.IPurchasePlatformHandler { return basesch.FixedBaseScheduler.GetPurchasePlatformFromVendorID(vendorID) } + +func (v *VendorSync) SyncCategory(categoryID int, isForce bool, userName string) (err error) { + db := dao.GetDB() + cats := []*model.SkuCategory{} + if categoryID != 0 { + err = dao.GetRows(db, &cats, "SELECT * FROM sku_category WHERE id = ?", categoryID) + } else { + err = dao.GetRows(db, &cats, "SELECT * FROM sku_category") + } + for _, cat := range cats { + if (cat.JdSyncStatus & model.SyncFlagNewMask) != 0 { // 新增 + err = GetPurchaseHandler(model.VendorIDJD).CreateCategory(cat, userName) + } else if (cat.JdSyncStatus&model.SyncFlagModifiedMask) != 0 || isForce { // 修改 + err = GetPurchaseHandler(model.VendorIDJD).UpdateCategory(cat, userName) + } + if err == nil { + cat.JdSyncStatus = 0 + _, err = dao.UpdateEntity(db, cat, "JdSyncStatus") + } + if err != nil { + break + } + } + return err +} diff --git a/business/jxstore/cms/sku.go b/business/jxstore/cms/sku.go index 8a599b1ea..37f128862 100644 --- a/business/jxstore/cms/sku.go +++ b/business/jxstore/cms/sku.go @@ -1,13 +1,23 @@ package cms import ( + "errors" + + "git.rosy.net.cn/jx-callback/business/jxutils" "git.rosy.net.cn/jx-callback/business/model" "git.rosy.net.cn/jx-callback/business/model/dao" ) -func GetVendorCategories(vendorID int) ([]*model.SkuVendorCategory, error) { - cats := []*model.SkuVendorCategory{} - return cats, dao.GetRows(nil, &cats, "SELECT * FROM sku_vendor_category WHERE vendor_id = ?", vendorID) +var ( + ErrInputCatsDoesntMatch = errors.New("输入的类别列表不合法,需要输入一个父ID下的所有子类别") +) + +// parentID 为-1表示所有 +func GetVendorCategories(vendorID int, parentID int) (cats []*model.SkuVendorCategory, err error) { + if parentID == -1 { + return cats, dao.GetRows(nil, &cats, "SELECT * FROM sku_vendor_category WHERE vendor_id = ?", vendorID) + } + return cats, dao.GetRows(nil, &cats, "SELECT * FROM sku_vendor_category WHERE vendor_id = ? AND parent_id = ?", vendorID, parentID) } func GetSkuMetaInfo() (*model.SkuMetaInfo, error) { @@ -16,3 +26,63 @@ func GetSkuMetaInfo() (*model.SkuMetaInfo, error) { SpecUnits: model.SpecUnitNames, }, nil } + +// parentID 为-1表示所有 +func GetCategories(parentID int) (cats []*model.SkuCategory, err error) { + if parentID == -1 { + return cats, dao.GetRows(nil, &cats, "SELECT * FROM sku_category") + } + return cats, dao.GetRows(nil, &cats, "SELECT * FROM sku_category WHERE parent_id = ?", parentID) +} + +func AddCategory(cat *model.SkuCategory, userName string) (outCat *model.SkuCategory, err error) { + cat.ID = 0 + cat.JdSyncStatus = model.SyncFlagNewMask + if err = dao.CreateEntity(nil, cat); err == nil { + outCat = cat + err = CurVendorSync.SyncCategory(cat.ID, false, userName) + } + return outCat, err +} + +func UpdateCategory(categoryID int, payload map[string]interface{}, userName string) (num int64, err error) { + cat := &model.SkuCategory{} + cat.ID = categoryID + valid := jxutils.NormalMakeMapByStructObject(payload, cat, userName) + valid["JdSyncStatus"] = model.SyncFlagModifiedMask + db := dao.GetDB() + if num, err = dao.UpdateEntityByKV(db, cat, valid, nil); err == nil { + err = CurVendorSync.SyncCategory(categoryID, false, userName) + } + return num, err +} + +func ReorderCategories(parentID int, categoryIDs []int, userName string) (err error) { + var cats []*model.SkuCategory + parentCat := &model.SkuCategory{} + parentCat.ID = parentID + db := dao.GetDB() + if err = dao.GetEntity(db, parentCat); err == nil { + if err = dao.GetRows(db, &cats, "SELECT * FROM sku_category WHERE parent_id = ?", parentID); err == nil { + catsLen := len(cats) + if catsLen != len(categoryIDs) { + return ErrInputCatsDoesntMatch + } + catsMap := make(map[int]*model.SkuCategory, catsLen) + for _, cat := range cats { + catsMap[cat.ID] = cat + } + for k, v := range categoryIDs { + catsMap[v].Seq = k * 5 + // catsMap[v].JdSyncStatus = model.SyncFlagModifiedMask + if _, err = dao.UpdateEntity(db, catsMap[v], "Seq"); err != nil { + break + } + } + if err == nil { + err = GetPurchaseHandler(model.VendorIDJD).ReorderCategories(parentCat, userName) + } + } + } + return err +} diff --git a/business/jxstore/cms/store.go b/business/jxstore/cms/store.go index 349b5caa6..4b7910888 100644 --- a/business/jxstore/cms/store.go +++ b/business/jxstore/cms/store.go @@ -211,11 +211,9 @@ func GetVendorStore(vendorStoreID string, vendorID int) (retVal *StoreExt, err e func UpdateStore(storeID int, payload map[string]interface{}, userName string) (num int64, err error) { store := &model.Store{} store.ID = storeID - valid := jxutils.NormalMakeMapByStructObject(payload, &model.Store{}, userName) + valid := jxutils.NormalMakeMapByStructObject(payload, store, userName) db := dao.GetDB() - globals.SugarLogger.Debug("1") if num, err = dao.UpdateEntityByKV(db, store, valid, nil); err == nil { - globals.SugarLogger.Debug("2") dummy := &model.StoreMap{} _, err2 := dao.UpdateEntityByKV(db, dummy, utils.Params2Map("SyncStatus", model.SyncFlagModifiedMask), utils.Params2Map("StoreID", store.ID)) if err = err2; err == nil { diff --git a/business/model/dao/dao.go b/business/model/dao/dao.go index 55dfae07f..3f6fd9f56 100644 --- a/business/model/dao/dao.go +++ b/business/model/dao/dao.go @@ -69,11 +69,11 @@ func GetRows(db *DaoDB, inPtr interface{}, sql string, values ...interface{}) (e return err } -func GetEntity(db *DaoDB, item interface{}, cols ...string) error { +func GetEntity(db *DaoDB, item interface{}, cols ...string) (err error) { if db == nil { db = GetDB() } - err := utils.CallFuncLogError(func() error { + err = utils.CallFuncLogError(func() error { return db.db.Read(item, cols...) }, reflect.TypeOf(item).Name()) return err @@ -109,13 +109,13 @@ func UpdateEntityByKV(db *DaoDB, item interface{}, kvs map[string]interface{}, c return num, err } -func CreateEntity(db *DaoDB, item interface{}) error { +func CreateEntity(db *DaoDB, item interface{}) (err error) { if db == nil { db = GetDB() } - err := utils.CallFuncLogError(func() error { - _, err2 := db.db.Insert(item) // todo 这里需要将ID赋值么? - return err2 + err = utils.CallFuncLogError(func() error { + _, err = db.db.Insert(item) // todo 这里需要将ID赋值么? + return err }, reflect.TypeOf(item).Name()) return err } diff --git a/business/model/sku.go b/business/model/sku.go index 612f08add..5e22011a9 100644 --- a/business/model/sku.go +++ b/business/model/sku.go @@ -69,20 +69,19 @@ func (*SkuVendorCategory) TableUnique() [][]string { type SkuCategory struct { ModelIDCUL - Name string `orm:"size(255);unique"` - ParentID int `orm:"column(parent_id)"` - Level int8 - Type int8 // 类别类型 - Seq int + Name string `orm:"size(255);unique" json:"name"` + ParentID int `orm:"column(parent_id)" json:"parentID"` + Level int8 `json:"level"` + Type int8 `json:"type"` // 类别类型,即是普通类别还是特殊用于做活动的类别 + Seq int `json:"seq"` - JdID int64 `orm:"column(jd_id);index"` // 这个是指商家自己的商品类别在京东平台上的ID - JdCategoryID int `orm:"column(jd_category_id)"` // 这个是指对应的京东商品类别 + JdID int64 `orm:"column(jd_id);index" json:"jdID"` // 这个是指商家自己的商品类别在京东平台上的ID + JdCategoryID int `orm:"column(jd_category_id)" json:"jdCategoryID"` // 这个是指对应的京东商品类别 - ElmCategoryID int64 `orm:"column(elm_category_id)"` // 这个是指对应的饿了么商品类别 - EbaiCategoryID int64 `orm:"column(ebai_category_id)"` // 这个是指对应的饿百商品类别 + ElmCategoryID int64 `orm:"column(elm_category_id)" json:"elmCategoryID"` // 这个是指对应的饿了么商品类别 + EbaiCategoryID int64 `orm:"column(ebai_category_id)" json:"ebaiCategoryID"` // 这个是指对应的饿百商品类别 - // MtID string `orm:"size(48);index"` - // DidiID string `orm:"size(48);index"` + JdSyncStatus int8 `orm:"default(2)" json:"jdSyncStatus"` } type SkuName struct { diff --git a/business/partner/partner.go b/business/partner/partner.go index 79806d5fd..fdd94bbc5 100644 --- a/business/partner/partner.go +++ b/business/partner/partner.go @@ -67,8 +67,9 @@ type IPurchasePlatformHandler interface { CreateCategory(cat *model.SkuCategory, userName string) (err error) ReadCategory(vendorCatID string) (cat *model.SkuCategory, err error) ReadCategories() (cats []*model.SkuCategory, err error) - UpdateCategory(cat *model.SkuCategory) error - DeleteCategory(cat *model.SkuCategory) error + UpdateCategory(cat *model.SkuCategory, userName string) error + DeleteCategory(cat *model.SkuCategory, userName string) error + ReorderCategories(parentCat *model.SkuCategory, userName string) (err error) CreateSku(sku *model.Sku) (err error) ReadSku(vendorSkuID string) (skuName *model.SkuName, sellPlaces []*model.Place, sku *model.Sku, err error) diff --git a/business/partner/purchase/elm/sku.go b/business/partner/purchase/elm/sku.go index c63263aff..172fc4261 100644 --- a/business/partner/purchase/elm/sku.go +++ b/business/partner/purchase/elm/sku.go @@ -14,11 +14,15 @@ func (p *PurchaseHandler) ReadCategories() (cats []*model.SkuCategory, err error return nil, nil } -func (p *PurchaseHandler) UpdateCategory(cat *model.SkuCategory) error { +func (p *PurchaseHandler) UpdateCategory(cat *model.SkuCategory, userName string) error { return nil } -func (p *PurchaseHandler) DeleteCategory(cat *model.SkuCategory) error { +func (p *PurchaseHandler) DeleteCategory(cat *model.SkuCategory, userName string) error { + return nil +} + +func (p *PurchaseHandler) ReorderCategories(parentCat *model.SkuCategory, userName string) (err error) { return nil } diff --git a/business/partner/purchase/jd/sku.go b/business/partner/purchase/jd/sku.go index 74b1627fa..9d8e10a09 100644 --- a/business/partner/purchase/jd/sku.go +++ b/business/partner/purchase/jd/sku.go @@ -25,6 +25,10 @@ type skuInfoExt struct { } func (p *PurchaseHandler) CreateCategory(cat *model.SkuCategory, userName string) (err error) { + if !globals.EnableStoreWrite { + return nil + } + var jdPid int64 if cat.ParentID != 0 { pCat := &model.SkuCategory{} @@ -73,15 +77,43 @@ func (p *PurchaseHandler) ReadCategories() (cats []*model.SkuCategory, err error return nil, err } -func (p *PurchaseHandler) UpdateCategory(cat *model.SkuCategory) error { +func (p *PurchaseHandler) UpdateCategory(cat *model.SkuCategory, userName string) error { + if !globals.EnableStoreWrite { + return nil + } + return api.JdAPI.UpdateShopCategory(cat.JdID, cat.Name) } -func (p *PurchaseHandler) DeleteCategory(cat *model.SkuCategory) error { +func (p *PurchaseHandler) DeleteCategory(cat *model.SkuCategory, userName string) error { + if !globals.EnableStoreWrite { + return nil + } + return api.JdAPI.DelShopCategory(cat.JdID) } +func (p *PurchaseHandler) ReorderCategories(parentCat *model.SkuCategory, userName string) (err error) { + if !globals.EnableStoreWrite { + return nil + } + + var cats []*model.SkuCategory + if err = dao.GetRows(nil, &cats, "SELECT * FROM sku_category WHERE parent_id = ? ORDER BY seq", parentCat.ID); err == nil { + jdCatIDs := make([]int64, len(cats)) + for k, v := range cats { + jdCatIDs[k] = v.JdID + } + err = api.JdAPI.ChangeShopCategoryOrder(parentCat.JdID, jdCatIDs) + } + return err +} + func (p *PurchaseHandler) cuSku(sku *model.Sku, handler func(skuExt *skuInfoExt, skuName string, shopCategories []int64, addParams map[string]interface{}) (string, error)) (err error) { + if !globals.EnableStoreWrite { + return nil + } + var otherInfo skuInfoExt db := dao.GetDB() err = dao.GetRow(nil, &otherInfo, ` @@ -197,6 +229,10 @@ func (p *PurchaseHandler) UpdateSku(sku *model.Sku) (err error) { } func (p *PurchaseHandler) DeleteSku(sku *model.Sku) (err error) { + if !globals.EnableStoreWrite { + return nil + } + params := map[string]interface{}{ "fixedStatus": 4, } diff --git a/business/partner/purchase/jd/store.go b/business/partner/purchase/jd/store.go index e5b40c529..267f62db8 100644 --- a/business/partner/purchase/jd/store.go +++ b/business/partner/purchase/jd/store.go @@ -7,6 +7,7 @@ import ( "git.rosy.net.cn/jx-callback/business/jxcallback/scheduler" "git.rosy.net.cn/jx-callback/business/jxutils" "git.rosy.net.cn/jx-callback/business/model/dao" + "git.rosy.net.cn/jx-callback/globals" "git.rosy.net.cn/baseapi/utils" "git.rosy.net.cn/jx-callback/business/model" @@ -62,7 +63,9 @@ func (p *PurchaseHandler) ReadStore(vendorStoreID string) (*model.Store, error) } func (p *PurchaseHandler) UpdateStore(vendorStoreID string, store *model.Store, userName string) error { - return nil + if !globals.EnableStoreWrite { + return nil + } params := map[string]interface{}{ "outSystemId": utils.Int2Str(int(store.ID)), "stationName": store.Name, diff --git a/conf/app.conf b/conf/app.conf index a6ffcf7a9..c9c47c3bb 100644 --- a/conf/app.conf +++ b/conf/app.conf @@ -16,6 +16,7 @@ autonaviKey = "4427170f870af2110becb8852d36ab08" generateLegacyJxOrder = false enableStore = true +enableStoreWrite = false aliKey = "LTAI6xJUGaP6WdMQ" aliSecret = "CLmx5T93Bgi89EGAxWM4RTAXUsiHbM" @@ -42,7 +43,7 @@ dadaSourceID = "73753" weixinAppID = "wxbf235770edaabc5c" weixinSecret = "ba32b269a068a5b72486a0beafd171e8" -dbConnectStr = "root:WebServer@1@tcp(127.0.0.1:3306)/jxd_dev_0?charset=utf8&loc=Local&parseTime=true" +dbConnectStr = "root:WebServer@1@tcp(127.0.0.1:3306)/jxd_dev_0?charset=utf8mb4&loc=Local&parseTime=true" [prod] freshFoodServerURL = "http://portal.int.jxc4.com" @@ -66,7 +67,7 @@ dadaSourceID = "6660" weixinAppID = "wx2bb99eb5d2c9b82c" weixinSecret = "6bbbed1443cc062c20a015a64c07a531" -dbConnectStr = "root:WebServer@1@tcp(db1.int.jxc4.com:3306)/jxd_dev_0?charset=utf8&loc=Local&parseTime=true" +dbConnectStr = "root:WebServer@1@tcp(db1.int.jxc4.com:3306)/jxd_dev_0?charset=utf8mb4&loc=Local&parseTime=true" enableStore = false @@ -92,4 +93,4 @@ dadaSourceID = "6660" weixinAppID = "wx2bb99eb5d2c9b82c" weixinSecret = "6bbbed1443cc062c20a015a64c07a531" -dbConnectStr = "root:WebServer@1@tcp(127.0.0.1:3306)/jxd_dev_0?charset=utf8&loc=Local&parseTime=true" +dbConnectStr = "root:WebServer@1@tcp(127.0.0.1:3306)/jxd_dev_0?charset=utf8mb4&loc=Local&parseTime=true" diff --git a/controllers/cms_sku.go b/controllers/cms_sku.go index 4a9ef5e69..5191b5ca9 100644 --- a/controllers/cms_sku.go +++ b/controllers/cms_sku.go @@ -1,7 +1,9 @@ package controllers import ( + "git.rosy.net.cn/baseapi/utils" "git.rosy.net.cn/jx-callback/business/jxstore/cms" + "git.rosy.net.cn/jx-callback/business/model" "github.com/astaxie/beego" ) @@ -13,12 +15,16 @@ type SkuController struct { // @Description 得到厂商商品类别(区别于商家SKU类别) // @Param token header string true "认证token" // @Param vendorID query int true "厂商ID" +// @Param parentID query int false "父ID,-1表示所有,缺省为-1" // @Success 200 {object} controllers.CallResult // @Failure 200 {object} controllers.CallResult // @router /GetVendorCategories [get] func (c *SkuController) GetVendorCategories() { c.callGetVendorCategories(func(params *tSkuGetVendorCategoriesParams) (retVal interface{}, errCode string, err error) { - retVal, err = cms.GetVendorCategories(params.VendorID) + if c.GetString("parentID") == "" { + params.ParentID = -1 + } + retVal, err = cms.GetVendorCategories(params.VendorID, params.ParentID) return retVal, "", err }) } @@ -35,3 +41,73 @@ func (c *SkuController) GetSkuMetaInfo() { return retVal, "", err }) } + +// @Title 得到商品类别 +// @Description 得到商品类别(区别于厂商家SKU类别) +// @Param token header string true "认证token" +// @Param parentID query int false "父ID,-1表示所有,缺省为-1" +// @Success 200 {object} controllers.CallResult +// @Failure 200 {object} controllers.CallResult +// @router /GetCategories [get] +func (c *SkuController) GetCategories() { + c.callGetCategories(func(params *tSkuGetCategoriesParams) (retVal interface{}, errCode string, err error) { + if c.GetString("parentID") == "" { + params.ParentID = -1 + } + retVal, err = cms.GetCategories(params.ParentID) + return retVal, "", err + }) +} + +// @Title 新增商品类别 +// @Description 新增商品类别(区别于厂商家SKU类别) +// @Param token header string true "认证token" +// @Param payload formData string true "json数据,skuCategory对象()" +// @Success 200 {object} controllers.CallResult +// @Failure 200 {object} controllers.CallResult +// @router /AddCategory [post] +func (c *SkuController) AddCategory() { + c.callAddCategory(func(params *tSkuAddCategoryParams) (retVal interface{}, errCode string, err error) { + cat := &model.SkuCategory{} + if err = utils.UnmarshalUseNumber([]byte(params.Payload), cat); err == nil { + retVal, err = cms.AddCategory(cat, GetUserNameFromToken(params.Token)) + } + return retVal, "", err + }) +} + +// @Title 修改商品类别 +// @Description 修改商品类别(区别于厂商家SKU类别) +// @Param token header string true "认证token" +// @Param categoryID formData int true "类别ID,payload中的相应字段会被忽略" +// @Param payload formData string true "json数据,skuCategory对象()" +// @Success 200 {object} controllers.CallResult +// @Failure 200 {object} controllers.CallResult +// @router /UpdateCategory [put] +func (c *SkuController) UpdateCategory() { + c.callUpdateCategory(func(params *tSkuUpdateCategoryParams) (retVal interface{}, errCode string, err error) { + payload := make(map[string]interface{}) + if err = utils.UnmarshalUseNumber([]byte(params.Payload), &payload); err == nil { + retVal, err = cms.UpdateCategory(params.CategoryID, payload, GetUserNameFromToken(params.Token)) + } + return retVal, "", err + }) +} + +// @Title 商品类别重排序 +// @Description 商品类别重排序(区别于厂商家SKU类别) +// @Param token header string true "认证token" +// @Param categoryID formData int true "父ID" +// @Param ids formData string true "同一父类别下的所有子类别ID列表([1,2,3,4])" +// @Success 200 {object} controllers.CallResult +// @Failure 200 {object} controllers.CallResult +// @router /ReorderCategories [put] +func (c *SkuController) ReorderCategories() { + c.callReorderCategories(func(params *tSkuReorderCategoriesParams) (retVal interface{}, errCode string, err error) { + var idList []int + if err = utils.UnmarshalUseNumber([]byte(params.Ids), &idList); err == nil { + err = cms.ReorderCategories(params.CategoryID, idList, GetUserNameFromToken(params.Token)) + } + return retVal, "", err + }) +} diff --git a/globals/beegodb/beegodb.go b/globals/beegodb/beegodb.go index b9befe540..b4fa0ccef 100644 --- a/globals/beegodb/beegodb.go +++ b/globals/beegodb/beegodb.go @@ -3,6 +3,7 @@ package beegodb import ( "git.rosy.net.cn/jx-callback/business/legacymodel" "git.rosy.net.cn/jx-callback/business/model" + "git.rosy.net.cn/jx-callback/globals" "github.com/astaxie/beego" "github.com/astaxie/beego/orm" ) @@ -24,13 +25,15 @@ func Init() { orm.RegisterModel(new(legacymodel.Jxorder2)) orm.RegisterModel(new(legacymodel.Jxordersku2)) - orm.RegisterModel(&model.Place{}) - orm.RegisterModel(&model.Store{}, &model.StoreSub{}, &model.StoreMap{}) - orm.RegisterModel(&model.SkuVendorCategory{}, &model.StoreSkuCategoryMap{}, &model.SkuName{}, &model.Sku{}, &model.SkuNamePlaceBind{}, &model.StoreSkuBind{}) - // db.Set("gorm:table_options", "CHARSET=utf8mb4").AutoMigrate(&model.SkuCategory{}) - orm.RegisterModel(&model.SkuCategory{}) - orm.RegisterModel(&model.WeiXins{}, &model.JxBackendUser{}) - orm.RegisterModel(&model.DurableTask{}, &model.DurableTaskItem{}) + if globals.EnableStore { + orm.RegisterModel(&model.Place{}) + orm.RegisterModel(&model.Store{}, &model.StoreSub{}, &model.StoreMap{}) + orm.RegisterModel(&model.SkuVendorCategory{}, &model.StoreSkuCategoryMap{}, &model.SkuName{}, &model.Sku{}, &model.SkuNamePlaceBind{}, &model.StoreSkuBind{}) + // db.Set("gorm:table_options", "CHARSET=utf8mb4").AutoMigrate(&model.SkuCategory{}) + orm.RegisterModel(&model.SkuCategory{}) + orm.RegisterModel(&model.WeiXins{}, &model.JxBackendUser{}) + orm.RegisterModel(&model.DurableTask{}, &model.DurableTaskItem{}) + } // create table orm.RunSyncdb("default", false, true) } diff --git a/globals/globals.go b/globals/globals.go index 685b98f82..404e58216 100644 --- a/globals/globals.go +++ b/globals/globals.go @@ -30,6 +30,9 @@ var ( AliKey string AliSecret string + + EnableStore bool + EnableStoreWrite bool ) func init() { @@ -59,4 +62,7 @@ func Init() { AliKey = beego.AppConfig.DefaultString("aliKey", "") AliSecret = beego.AppConfig.DefaultString("aliSecret", "") + + EnableStore = beego.AppConfig.DefaultBool("enableStore", false) + EnableStoreWrite = beego.AppConfig.DefaultBool("enableStoreWrite", false) } diff --git a/routers/commentsRouter_controllers.go b/routers/commentsRouter_controllers.go index 9b068b269..cdaec9741 100644 --- a/routers/commentsRouter_controllers.go +++ b/routers/commentsRouter_controllers.go @@ -127,6 +127,22 @@ func init() { MethodParams: param.Make(), Params: nil}) + beego.GlobalControllerRouter["git.rosy.net.cn/jx-callback/controllers:SkuController"] = append(beego.GlobalControllerRouter["git.rosy.net.cn/jx-callback/controllers:SkuController"], + beego.ControllerComments{ + Method: "AddCategory", + Router: `/AddCategory`, + AllowHTTPMethods: []string{"post"}, + MethodParams: param.Make(), + Params: nil}) + + beego.GlobalControllerRouter["git.rosy.net.cn/jx-callback/controllers:SkuController"] = append(beego.GlobalControllerRouter["git.rosy.net.cn/jx-callback/controllers:SkuController"], + beego.ControllerComments{ + Method: "GetCategories", + Router: `/GetCategories`, + AllowHTTPMethods: []string{"get"}, + MethodParams: param.Make(), + Params: nil}) + beego.GlobalControllerRouter["git.rosy.net.cn/jx-callback/controllers:SkuController"] = append(beego.GlobalControllerRouter["git.rosy.net.cn/jx-callback/controllers:SkuController"], beego.ControllerComments{ Method: "GetSkuMetaInfo", @@ -143,6 +159,22 @@ func init() { MethodParams: param.Make(), Params: nil}) + beego.GlobalControllerRouter["git.rosy.net.cn/jx-callback/controllers:SkuController"] = append(beego.GlobalControllerRouter["git.rosy.net.cn/jx-callback/controllers:SkuController"], + beego.ControllerComments{ + Method: "ReorderCategories", + Router: `/ReorderCategories`, + AllowHTTPMethods: []string{"put"}, + MethodParams: param.Make(), + Params: nil}) + + beego.GlobalControllerRouter["git.rosy.net.cn/jx-callback/controllers:SkuController"] = append(beego.GlobalControllerRouter["git.rosy.net.cn/jx-callback/controllers:SkuController"], + beego.ControllerComments{ + Method: "UpdateCategory", + Router: `/UpdateCategory`, + AllowHTTPMethods: []string{"put"}, + MethodParams: param.Make(), + Params: nil}) + beego.GlobalControllerRouter["git.rosy.net.cn/jx-callback/controllers:StoreController"] = append(beego.GlobalControllerRouter["git.rosy.net.cn/jx-callback/controllers:StoreController"], beego.ControllerComments{ Method: "AddStoreVendorMap",