diff --git a/business/jxstore/cms/store.go b/business/jxstore/cms/store.go index eef765d26..3dfa4bad7 100644 --- a/business/jxstore/cms/store.go +++ b/business/jxstore/cms/store.go @@ -1112,6 +1112,7 @@ func CreateStore(ctx *jxcontext.Context, storeExt *StoreExt, userName string) (i } UpdateOrCreateCourierStores(ctx, store.ID, false, false, false) TryAddStoreBossRole4StoreByMobile(ctx, storeExt.ID, []string{storeExt.Tel1, storeExt.Tel2}) + InsertStoreCategories(ctx, db, store.ID) return store.ID, err } return 0, err @@ -1402,6 +1403,7 @@ func DeleteStore(ctx *jxcontext.Context, storeID int) (num int64, err error) { if globals.IsAddEvent { err = AddEventDetail(db, ctx, model.OperateDelete, storeID, model.ThingTypeStore, storeID, "", "") } + DeleteStoreCategroies(ctx, db, storeID) dao.Commit(db) return num, err // return 0, errors.New("暂不支持删除京西门店") @@ -3107,3 +3109,33 @@ func CleanStoreIsBoughtMatter(ctx *jxcontext.Context) (err error) { _, err = dao.ExecuteSQL(db, sql, sqlParam) return err } + +func InsertStoreCategories(ctx *jxcontext.Context, db *dao.DaoDB, storeID int) (err error) { + err = dao.InsertStoreCategories(db, ctx.GetUserName(), storeID) + return err +} + +func DeleteStoreCategroies(ctx *jxcontext.Context, db *dao.DaoDB, storeID int) (err error) { + err = dao.DeleteStoreCategroies(db, ctx.GetUserName(), storeID) + return err +} + +func InsertStoreCategories(ctx *jxcontext.Context, db *dao.DaoDB, storeID int) (err error) { + err = dao.InsertStoreCategories(db, ctx.GetUserName(), storeID) + return err +} + +func DeleteStoreCategroies(ctx *jxcontext.Context, db *dao.DaoDB, storeID int) (err error) { + err = dao.DeleteStoreCategroies(db, ctx.GetUserName(), storeID) + return err +} + +func InsertStoreCategories(ctx *jxcontext.Context, db *dao.DaoDB, storeID int) (err error) { + err = dao.InsertStoreCategories(db, ctx.GetUserName(), storeID) + return err +} + +func DeleteStoreCategroies(ctx *jxcontext.Context, db *dao.DaoDB, storeID int) (err error) { + err = dao.DeleteStoreCategroies(db, ctx.GetUserName(), storeID) + return err +} diff --git a/business/model/dao/store.go b/business/model/dao/store.go index db2238dcd..ad2b11225 100644 --- a/business/model/dao/store.go +++ b/business/model/dao/store.go @@ -726,3 +726,67 @@ func GetRealLinkStoreID(db *DaoDB, linkStoreID int) (realLinkStoreID int, err er } return realLinkStoreID, err } + +// func GetStoreCategoryMap(db *DaoDB, parentID, storeID, categoryID int) (storeCatMaps []*StoreCatMap, err error) { +// sql := ` +// SELECT a.*, b.level, b.parent_id, b.seq, b.name +// FROM store_category_map a +// JOIN sku_category b ON b.id = a.category_id +// AND a.deleted_at = ? +// AND b.deleted_at = ? +// ` +// sqlParams := []interface{}{ +// utils.DefaultTimeValue, +// utils.DefaultTimeValue, +// } +// if parentID != -1 { +// sql += " AND b.parent_id = ?" +// sqlParams = append(sqlParams, parentID) +// } +// if storeID > 0 { +// sql += " AND a.store_id = ?" +// sqlParams = append(sqlParams, storeID) +// } +// if categoryID > 0 { +// sql += " AND a.category_id = ?" +// sqlParams = append(sqlParams, categoryID) +// } +// err = GetRows(db, &storeCatMaps, sql, sqlParams) +// if err != nil { +// return nil, err +// } +// return storeCatMaps, err +// } + +func InsertStoreCategories(db *DaoDB, userName string, storeID int) (err error) { + sql := ` + INSERT INTO store_category_map + (created_at, updated_at, last_operator, deleted_at, store_id, category_id, store_category_name, store_category_seq) + SELECT ?, ?, ?, ?, ?, id, name, seq + FROM sku_category + WHERE deleted_at = ? + AND is_exd_spec = ? + ` + sqlParams := []interface{}{ + time.Now(), time.Now(), userName, utils.DefaultTimeValue, storeID, + utils.DefaultTimeValue, model.NO, + } + _, err = ExecuteSQL(db, sql, sqlParams) + return err +} + +func DeleteStoreCategroies(db *DaoDB, userName string, storeID int) (err error) { + sql := ` + UPDATE store_category_map + SET deleted_at = ?, last_operator = ? + WHERE deleted_at <> ? + AND store_id = ? + ` + sqlParams := []interface{}{ + time.Now(), userName, + utils.DefaultTimeValue, + storeID, + } + _, err = ExecuteSQL(db, sql, sqlParams) + return err +}