package store import ( "context" "server/internal/dao" "server/internal/model" "server/internal/model/do" "server/internal/service" "server/utility/ecode" "github.com/gogf/gf/v2/database/gdb" ) type sStore struct { } func New() service.IStore { return &sStore{} } func init() { service.RegisterStore(New()) } func (s *sStore) List(ctx context.Context, in *model.StoreListIn) (out *model.StoreListOut, err error) { // 1. 初始化返回数据 return } func (s *sStore) Create(ctx context.Context, in *model.StoreCreateIn) (out *model.CreateOut, err error) { // 1. 检查门店名称是否重复 exist, err := dao.Stores.Ctx(ctx).Where(do.Stores{Name: in.Name}).Exist() if err != nil { return nil, ecode.Fail.Sub("新增门店查重出现异常") } if exist { return nil, ecode.Params.Sub("门店名称已存在") } // 2. 使用事务处理数据插入 if err = dao.Stores.Transaction(ctx, func(ctx context.Context, tx gdb.TX) error { // 2.1 生成唯一的门店编号 // 2.2 插入门店基本信息 // 2.3 创建门店管理员账号 // 2.4 初始化门店配置 return nil }); err != nil { return nil, err } return } func (s *sStore) Update(ctx context.Context, in *model.StoreUpdateIn) (out *model.UpdateOut, err error) { // 1. 验证门店是否存在 // 2. 验证操作权限(商户管理员或门店管理员) // 3. 检查更新后的门店名称是否重复 // 4. 使用事务更新门店信息 // 5. 记录操作日志 return } func (s *sStore) Delete(ctx context.Context, in *model.StoreDeleteIn) (out *model.DeleteOut, err error) { // 1. 验证门店是否存在 // 2. 验证操作权限(仅允许商户管理员) // 3. 检查门店状态(是否有关联数据) // 4. 使用事务处理删除操作 // 5. 清理相关数据 // 6. 记录操作日志 return } func (s *sStore) Info(ctx context.Context, in *model.StoreInfoIn) (out *model.StoreInfoOut, err error) { // 1. 验证门店是否存在 // 2. 验证访问权限 // 3. 获取门店基本信息 // 4. 获取门店配置信息 // 5. 获取门店管理员信息 // 6. 获取门店统计信息 // 7. 处理敏感信息 return }