fix version 1

This commit is contained in:
2026-09-22 21:15:34 +08:00
parent 9f86366638
commit d63d7e8b3a
277 changed files with 9959 additions and 1514 deletions

View File

@@ -15,7 +15,7 @@ import (
// 删除分类
func Delete(ctx context.Context, in *pb.IdentRequest) (reply *pb.IdentityStatusReply, err error) {
// parse authorization meta.
_, err = service.ParseMetaCtx(ctx, &service.ParseOptions{RoleValue: "Mall_Admin"})
auth, err := service.ParseMetaCtx(ctx, &service.ParseOptions{RoleValue: "Mall_Admin"})
if err != nil {
return nil, err
}
@@ -25,11 +25,22 @@ func Delete(ctx context.Context, in *pb.IdentRequest) (reply *pb.IdentityStatusR
return nil, errcode.ErrInvalidArgument
}
err = impl.DBService.Where("id=? or identity=?", in.GetId(), in.GetIdentity()).Delete(&models.MallCategory{}).Error
if err != nil {
printer.Error(err.Error())
// 只能删除当前登录者所属店铺的分类
owner, _ := auth.Owner.(map[string]any)
storeIdentity, _ := owner["store_identity"].(string)
if storeIdentity == "" {
return nil, errcode.ErrPermissionDenied
}
tx := impl.DBService.Where("id=? or identity=?", in.GetId(), in.GetIdentity()).
Where("store_identity = ?", storeIdentity).Delete(&models.MallCategory{})
if tx.Error != nil {
printer.Error(tx.Error.Error())
return nil, errcode.ErrDB
}
if tx.RowsAffected == 0 {
return nil, errcode.ErrPermissionDenied
}
return &pb.IdentityStatusReply{
Code: 0,

View File

@@ -13,7 +13,7 @@ import (
// 修改分类
func Modify(ctx context.Context, in *pb.CategoryItem) (reply *pb.IdentityStatusReply, err error) {
_, err = service.ParseMetaCtx(ctx, &service.ParseOptions{RoleValue: "Mall_Admin"})
auth, err := service.ParseMetaCtx(ctx, &service.ParseOptions{RoleValue: "Mall_Admin"})
if err != nil {
return nil, err
}
@@ -22,16 +22,27 @@ func Modify(ctx context.Context, in *pb.CategoryItem) (reply *pb.IdentityStatusR
return nil, errcode.ErrInvalidArgument
}
// 只能修改当前登录者所属店铺的分类
owner, _ := auth.Owner.(map[string]any)
storeIdentity, _ := owner["store_identity"].(string)
if storeIdentity == "" {
return nil, errcode.ErrPermissionDenied
}
data, err := ref(in)
if err != nil {
printer.Error(err.Error())
return nil, errcode.ErrInternal
}
err = impl.DBService.Select("title", "en_title", "parent_id", "paths", "intro", "icon", "sort", "status", "keys").Where("identity=?", in.GetIdentity()).Updates(&data).Error
if err != nil {
printer.Error(err.Error())
tx := impl.DBService.Select("title", "en_title", "parent_id", "paths", "intro", "icon", "sort", "status", "keys").
Where("identity=?", in.GetIdentity()).Where("store_identity = ?", storeIdentity).Updates(&data)
if tx.Error != nil {
printer.Error(tx.Error.Error())
return nil, errcode.ErrDB
}
if tx.RowsAffected == 0 {
return nil, errcode.ErrPermissionDenied
}
return &pb.IdentityStatusReply{
Identity: in.Identity,