From a061e39dc76444fbfb8fc6674f5076226adc0772 Mon Sep 17 00:00:00 2001 From: summer <> Date: Fri, 17 Oct 2025 13:52:00 +0800 Subject: [PATCH] =?UTF-8?q?feat(1.0):=E5=A2=9E=E5=8A=A0=E8=B6=85=E7=AE=A1?= =?UTF-8?q?=E9=80=BB=E8=BE=91?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- internal/api/app/app_create.go | 9 +++++++++ internal/api/app/app_delete.go | 9 +++++++++ internal/api/app/app_list.go | 4 ++++ internal/api/app/app_modify.go | 9 +++++++++ internal/repository/mysql/dao/mini_program.gen.go | 6 +++++- internal/repository/mysql/model/mini_program.gen.go | 1 + 6 files changed, 37 insertions(+), 1 deletion(-) diff --git a/internal/api/app/app_create.go b/internal/api/app/app_create.go index f7c81c4..7430bc3 100755 --- a/internal/api/app/app_create.go +++ b/internal/api/app/app_create.go @@ -48,6 +48,15 @@ func (h *handler) CreateApp() core.HandlerFunc { return } + if ctx.SessionUserInfo().IsSuper != 1 { + ctx.AbortWithError(core.Error( + http.StatusBadRequest, + code.CreateAppError, + fmt.Sprintf("%s: %s", code.Text(code.CreateAppError), "禁止操作")), + ) + return + } + info, err := h.readDB.MiniProgram.WithContext(ctx.RequestContext()). Where(h.readDB.MiniProgram.AppID.Eq(req.AppID)). First() diff --git a/internal/api/app/app_delete.go b/internal/api/app/app_delete.go index 9905ccc..466911f 100755 --- a/internal/api/app/app_delete.go +++ b/internal/api/app/app_delete.go @@ -44,6 +44,15 @@ func (h *handler) DeleteApp() core.HandlerFunc { return } + if ctx.SessionUserInfo().IsSuper != 1 { + ctx.AbortWithError(core.Error( + http.StatusBadRequest, + code.CreateAppError, + fmt.Sprintf("%s: %s", code.Text(code.CreateAppError), "禁止操作")), + ) + return + } + idList := strings.Split(req.Ids, ",") if len(idList) == 0 || (len(idList) == 1 && idList[0] == "") { ctx.AbortWithError(core.Error( diff --git a/internal/api/app/app_list.go b/internal/api/app/app_list.go index 7568e83..282e284 100755 --- a/internal/api/app/app_list.go +++ b/internal/api/app/app_list.go @@ -83,6 +83,10 @@ func (h *handler) PageList() core.HandlerFunc { query := h.readDB.MiniProgram.WithContext(ctx.RequestContext()) + if ctx.SessionUserInfo().IsSuper != 1 { + query = query.Where(h.readDB.MiniProgram.AdminID.Eq(ctx.SessionUserInfo().Id)) + } + if req.AppID != "" { query = query.Where(h.readDB.MiniProgram.AppID.Eq(req.AppID)) } diff --git a/internal/api/app/app_modify.go b/internal/api/app/app_modify.go index e8d1e02..7e37a8a 100644 --- a/internal/api/app/app_modify.go +++ b/internal/api/app/app_modify.go @@ -49,6 +49,15 @@ func (h *handler) ModifyApp() core.HandlerFunc { return } + if ctx.SessionUserInfo().IsSuper != 1 { + ctx.AbortWithError(core.Error( + http.StatusBadRequest, + code.CreateAppError, + fmt.Sprintf("%s: %s", code.Text(code.CreateAppError), "禁止操作")), + ) + return + } + if req.AppID == "" && req.Name == "" { ctx.AbortWithError(core.Error( http.StatusBadRequest, diff --git a/internal/repository/mysql/dao/mini_program.gen.go b/internal/repository/mysql/dao/mini_program.gen.go index 354bb89..859696c 100644 --- a/internal/repository/mysql/dao/mini_program.gen.go +++ b/internal/repository/mysql/dao/mini_program.gen.go @@ -29,6 +29,7 @@ func newMiniProgram(db *gorm.DB, opts ...gen.DOOption) miniProgram { _miniProgram.ALL = field.NewAsterisk(tableName) _miniProgram.ID = field.NewInt32(tableName, "id") _miniProgram.AppID = field.NewString(tableName, "app_id") + _miniProgram.AdminID = field.NewInt32(tableName, "admin_id") _miniProgram.Name = field.NewString(tableName, "name") _miniProgram.Description = field.NewString(tableName, "description") _miniProgram.Avatar = field.NewString(tableName, "avatar") @@ -49,6 +50,7 @@ type miniProgram struct { ALL field.Asterisk ID field.Int32 // 主键ID AppID field.String // 小程序ID + AdminID field.Int32 // 管理员ID Name field.String // 名称 Description field.String // 描述 Avatar field.String // 头像 @@ -74,6 +76,7 @@ func (m *miniProgram) updateTableName(table string) *miniProgram { m.ALL = field.NewAsterisk(table) m.ID = field.NewInt32(table, "id") m.AppID = field.NewString(table, "app_id") + m.AdminID = field.NewInt32(table, "admin_id") m.Name = field.NewString(table, "name") m.Description = field.NewString(table, "description") m.Avatar = field.NewString(table, "avatar") @@ -97,9 +100,10 @@ func (m *miniProgram) GetFieldByName(fieldName string) (field.OrderExpr, bool) { } func (m *miniProgram) fillFieldMap() { - m.fieldMap = make(map[string]field.Expr, 9) + m.fieldMap = make(map[string]field.Expr, 10) m.fieldMap["id"] = m.ID m.fieldMap["app_id"] = m.AppID + m.fieldMap["admin_id"] = m.AdminID m.fieldMap["name"] = m.Name m.fieldMap["description"] = m.Description m.fieldMap["avatar"] = m.Avatar diff --git a/internal/repository/mysql/model/mini_program.gen.go b/internal/repository/mysql/model/mini_program.gen.go index 3a6821a..8b85295 100644 --- a/internal/repository/mysql/model/mini_program.gen.go +++ b/internal/repository/mysql/model/mini_program.gen.go @@ -14,6 +14,7 @@ const TableNameMiniProgram = "mini_program" type MiniProgram struct { ID int32 `gorm:"column:id;primaryKey;autoIncrement:true;comment:主键ID" json:"id"` // 主键ID AppID string `gorm:"column:app_id;not null;comment:小程序ID" json:"app_id"` // 小程序ID + AdminID int32 `gorm:"column:admin_id;not null;comment:管理员ID" json:"admin_id"` // 管理员ID Name string `gorm:"column:name;not null;comment:名称" json:"name"` // 名称 Description string `gorm:"column:description;not null;comment:描述" json:"description"` // 描述 Avatar string `gorm:"column:avatar;not null;comment:头像" json:"avatar"` // 头像