diff --git a/api/merchantAdmin/v1/merchantAdmin.go b/api/merchantAdmin/v1/merchantAdmin.go index b9ca024..8b9e041 100644 --- a/api/merchantAdmin/v1/merchantAdmin.go +++ b/api/merchantAdmin/v1/merchantAdmin.go @@ -10,5 +10,5 @@ type MerchantAdminInfoReq struct { type MerchantAdminInfoRes struct { MerchantId int64 `json:"merchantId"` Username string `json:"username"` - StoreId int64 `json:"storeId"` // 下属门店 id + Role string `json:"role"` } diff --git a/internal/cmd/cmd.go b/internal/cmd/cmd.go index bfda6f3..7c56438 100644 --- a/internal/cmd/cmd.go +++ b/internal/cmd/cmd.go @@ -14,6 +14,7 @@ import ( "server/internal/controller/reward" "server/internal/controller/rewardType" "server/internal/controller/role" + "server/internal/controller/store" "server/internal/controller/task" "server/internal/controller/upload" "server/internal/controller/user" @@ -44,6 +45,7 @@ var ( admin.NewV1(), role.NewV1(), merchant.NewV1(), + store.NewV1(), rewardType.NewV1(), feedback.NewV1(), user.NewV1(), diff --git a/internal/controller/merchantAdmin/merchantAdmin_v1_merchant_admin_info.go b/internal/controller/merchantAdmin/merchantAdmin_v1_merchant_admin_info.go index bdd99a1..4a61118 100644 --- a/internal/controller/merchantAdmin/merchantAdmin_v1_merchant_admin_info.go +++ b/internal/controller/merchantAdmin/merchantAdmin_v1_merchant_admin_info.go @@ -11,9 +11,10 @@ import ( func (c *ControllerV1) MerchantAdminInfo(ctx context.Context, req *v1.MerchantAdminInfoReq) (res *v1.MerchantAdminInfoRes, err error) { merchantAdminId := g.RequestFromCtx(ctx).GetCtxVar("id").Int64() + role := g.RequestFromCtx(ctx).GetCtxVar("role").String() info, err := service.MerchantAdmin().Info(ctx, &model.MerchantAdminInfoIn{MerchantAdminId: merchantAdminId}) if err != nil { return nil, err } - return &v1.MerchantAdminInfoRes{Username: info.Username, MerchantId: info.MerchantId, StoreId: info.StoreId}, nil + return &v1.MerchantAdminInfoRes{Username: info.Username, MerchantId: info.MerchantId, Role: role}, nil } diff --git a/internal/dao/internal/merchant_admins.go b/internal/dao/internal/merchant_admins.go index 706ef30..51ac691 100644 --- a/internal/dao/internal/merchant_admins.go +++ b/internal/dao/internal/merchant_admins.go @@ -27,7 +27,6 @@ type MerchantAdminsColumns struct { RealName string // 真实姓名 Phone string // 手机号 Email string // 邮箱 - Role string // 角色:1=超级管理员,2=普通管理员 Status string // 状态:1=正常,2=禁用 LastLoginAt string // 最后登录时间 CreatedAt string // 创建时间 @@ -47,7 +46,6 @@ var merchantAdminsColumns = MerchantAdminsColumns{ RealName: "real_name", Phone: "phone", Email: "email", - Role: "role", Status: "status", LastLoginAt: "last_login_at", CreatedAt: "created_at", diff --git a/internal/logic/merchantAdmin/merchantAdmin.go b/internal/logic/merchantAdmin/merchantAdmin.go index b60e290..bbf0f8a 100644 --- a/internal/logic/merchantAdmin/merchantAdmin.go +++ b/internal/logic/merchantAdmin/merchantAdmin.go @@ -86,15 +86,11 @@ func (s *sMerchantAdmin) Login(ctx context.Context, in *model.MerchantLoginIn) ( LastLoginAt: gtime.Now(), LastLoginIp: ghttp.RequestFromCtx(ctx).RemoteAddr, }) - }(ctx, mAdminId) + }(context.Background(), mAdminId) return } func (s *sMerchantAdmin) Info(ctx context.Context, in *model.MerchantAdminInfoIn) (out *model.MerchantAdminInfoOut, err error) { - one, err := dao.MerchantAdmins.Ctx(ctx).WherePri(in.MerchantAdminId). - LeftJoin( - dao.Stores.Table(), - fmt.Sprintf("%s.%s = %s.%s", dao.Stores.Table(), dao.Stores.Columns().MerchantId, dao.MerchantAdmins.Table(), dao.MerchantAdmins.Columns().MerchantId)). - Fields(fmt.Sprintf("%s.*, %s.%s %s", dao.MerchantAdmins.Table(), dao.Stores.Table(), dao.Stores.Columns().Id, "storeId")).One() + one, err := dao.MerchantAdmins.Ctx(ctx).WherePri(in.MerchantAdminId).One() if err != nil { return nil, ecode.Fail.Sub("查询商户管理员失败") } @@ -108,7 +104,6 @@ func (s *sMerchantAdmin) Info(ctx context.Context, in *model.MerchantAdminInfoIn return &model.MerchantAdminInfoOut{ Username: admin.Username, MerchantId: admin.MerchantId, - StoreId: one["storeId"].Int64(), }, nil } func (s *sMerchantAdmin) Code(ctx context.Context, in *model.MerchantAdminCodeIn) (out *model.MerchantAdminCodeOut, err error) { diff --git a/internal/logic/store/store.go b/internal/logic/store/store.go index c358bb6..1037b01 100644 --- a/internal/logic/store/store.go +++ b/internal/logic/store/store.go @@ -23,7 +23,15 @@ func init() { } func (s *sStore) List(ctx context.Context, in *model.StoreListIn) (out *model.StoreListOut, err error) { // 1. 初始化返回数据 - return + list := make([]model.Store, 0) + var total int + if err = dao.Stores.Ctx(ctx).Page(in.Page, in.Size).ScanAndCount(&list, &total, false); err != nil { + return nil, ecode.Fail.Sub("门店列表获取失败") + } + return &model.StoreListOut{ + List: list, + Total: total, + }, nil } func (s *sStore) Create(ctx context.Context, in *model.StoreCreateIn) (out *model.CreateOut, err error) { diff --git a/internal/model/do/merchant_admins.go b/internal/model/do/merchant_admins.go index d39cade..56acea1 100644 --- a/internal/model/do/merchant_admins.go +++ b/internal/model/do/merchant_admins.go @@ -19,7 +19,6 @@ type MerchantAdmins struct { RealName interface{} // 真实姓名 Phone interface{} // 手机号 Email interface{} // 邮箱 - Role interface{} // 角色:1=超级管理员,2=普通管理员 Status interface{} // 状态:1=正常,2=禁用 LastLoginAt *gtime.Time // 最后登录时间 CreatedAt *gtime.Time // 创建时间 diff --git a/internal/model/entity/merchant_admins.go b/internal/model/entity/merchant_admins.go index b3c8f07..c989e34 100644 --- a/internal/model/entity/merchant_admins.go +++ b/internal/model/entity/merchant_admins.go @@ -10,20 +10,19 @@ import ( // MerchantAdmins is the golang structure for table merchant_admins. type MerchantAdmins struct { - Id int64 `json:"id" orm:"id" description:"商户管理员ID"` // 商户管理员ID - MerchantId int64 `json:"merchantId" orm:"merchant_id" description:"所属商户ID"` // 所属商户ID - Username string `json:"username" orm:"username" description:"用户名"` // 用户名 - PasswordHash string `json:"passwordHash" orm:"password_hash" description:"密码哈希"` // 密码哈希 - RealName string `json:"realName" orm:"real_name" description:"真实姓名"` // 真实姓名 - Phone string `json:"phone" orm:"phone" description:"手机号"` // 手机号 - Email string `json:"email" orm:"email" description:"邮箱"` // 邮箱 - Role int `json:"role" orm:"role" description:"角色:1=超级管理员,2=普通管理员"` // 角色:1=超级管理员,2=普通管理员 - Status int `json:"status" orm:"status" description:"状态:1=正常,2=禁用"` // 状态:1=正常,2=禁用 - LastLoginAt *gtime.Time `json:"lastLoginAt" orm:"last_login_at" description:"最后登录时间"` // 最后登录时间 - CreatedAt *gtime.Time `json:"createdAt" orm:"created_at" description:"创建时间"` // 创建时间 - UpdatedAt *gtime.Time `json:"updatedAt" orm:"updated_at" description:"更新时间"` // 更新时间 - DeletedAt *gtime.Time `json:"deletedAt" orm:"deleted_at" description:"软删除时间戳"` // 软删除时间戳 - IsPrimary bool `json:"isPrimary" orm:"is_primary" description:"是否主账号:0=否,1=是"` // 是否主账号:0=否,1=是 - LastLoginIp string `json:"lastLoginIp" orm:"last_login_ip" description:"最后登录IP"` // 最后登录IP - RoleId int64 `json:"roleId" orm:"role_id" description:"角色ID"` // 角色ID + Id int64 `json:"id" orm:"id" description:"商户管理员ID"` // 商户管理员ID + MerchantId int64 `json:"merchantId" orm:"merchant_id" description:"所属商户ID"` // 所属商户ID + Username string `json:"username" orm:"username" description:"用户名"` // 用户名 + PasswordHash string `json:"passwordHash" orm:"password_hash" description:"密码哈希"` // 密码哈希 + RealName string `json:"realName" orm:"real_name" description:"真实姓名"` // 真实姓名 + Phone string `json:"phone" orm:"phone" description:"手机号"` // 手机号 + Email string `json:"email" orm:"email" description:"邮箱"` // 邮箱 + Status int `json:"status" orm:"status" description:"状态:1=正常,2=禁用"` // 状态:1=正常,2=禁用 + LastLoginAt *gtime.Time `json:"lastLoginAt" orm:"last_login_at" description:"最后登录时间"` // 最后登录时间 + CreatedAt *gtime.Time `json:"createdAt" orm:"created_at" description:"创建时间"` // 创建时间 + UpdatedAt *gtime.Time `json:"updatedAt" orm:"updated_at" description:"更新时间"` // 更新时间 + DeletedAt *gtime.Time `json:"deletedAt" orm:"deleted_at" description:"软删除时间戳"` // 软删除时间戳 + IsPrimary bool `json:"isPrimary" orm:"is_primary" description:"是否主账号:0=否,1=是"` // 是否主账号:0=否,1=是 + LastLoginIp string `json:"lastLoginIp" orm:"last_login_ip" description:"最后登录IP"` // 最后登录IP + RoleId int64 `json:"roleId" orm:"role_id" description:"角色ID"` // 角色ID } diff --git a/internal/model/merchantAdmin.go b/internal/model/merchantAdmin.go index 64f2686..0f8f934 100644 --- a/internal/model/merchantAdmin.go +++ b/internal/model/merchantAdmin.go @@ -21,7 +21,6 @@ type MerchantAdminInfoIn struct { type MerchantAdminInfoOut struct { Username string MerchantId int64 - StoreId int64 } type MerchantAdminCodeIn struct { Phone string diff --git a/utility/myCasbin/casbin.go b/utility/myCasbin/casbin.go index 1b3dd0b..e7a26bd 100644 --- a/utility/myCasbin/casbin.go +++ b/utility/myCasbin/casbin.go @@ -82,6 +82,7 @@ func init() { } // 商户 { + enforcer.AddPolicy("merchant", "/x/store", "GET", "根据商户 id 获取门店列表") enforcer.AddPolicy("merchant", "/x/merchant/info", "GET", "获取商户信息") }