- service/dto/controller 各拆 18 文件,一表一文件;跨表编排留在 outfit_generation_task_service - controller 共享 struct(outfit/member)保 /outfit/*、/member/* 前缀,路由零漂移(28 路径 diff 为空) - 修复 4 个缺失 g.Meta handler:/user/profile、/avatar/get、/body-measurement/get、/hairstyle/list 从 ALL 收敛为 GET - 工具包并入 agent/ 单包(weather/imagegen/avatar/scoring),NewCache 泛化 NewTTLCache - 虎皮椒支付适配器内联 service/payment_order_service.go,member 服务拆 4 表文件 - 冒烟 21 路径全绿 + 客户端 dart analyze 零 error
38 lines
1.1 KiB
Go
38 lines
1.1 KiB
Go
package controller
|
|
|
|
import (
|
|
"context"
|
|
|
|
commonHttp "slogan-agent/common"
|
|
"slogan-agent/styleagent/model/dto"
|
|
"slogan-agent/styleagent/service"
|
|
|
|
"github.com/gogf/gf/v2/frame/g"
|
|
)
|
|
|
|
// member 为 /member/* 簇共享控制器类型(struct 名 kebab-case 决定路由前缀,
|
|
// 多表拆分文件但保持同一类型,避免路径漂移)
|
|
type member struct{}
|
|
|
|
var Member = new(member)
|
|
|
|
// PlanList 会员套餐列表
|
|
func (c *member) PlanList(ctx context.Context, req *dto.MemberPlanListReq) (res *dto.MemberPlanListRes, err error) {
|
|
list, err := service.MemberPlanService.PlanList(ctx)
|
|
if err != nil {
|
|
return nil, err
|
|
}
|
|
return &dto.MemberPlanListRes{List: list}, nil
|
|
}
|
|
|
|
// Status 我的会员状态
|
|
func (c *member) Status(ctx context.Context, req *dto.MemberStatusReq) (res *dto.MemberStatusRes, err error) {
|
|
st, err := service.MemberPlanService.Status(ctx, commonHttp.GetUserId(g.RequestFromCtx(ctx)))
|
|
if err != nil {
|
|
return nil, err
|
|
}
|
|
return &dto.MemberStatusRes{
|
|
IsVip: st.IsVip, ExpireAt: st.ExpireAt, PlanName: st.PlanName, Benefits: st.Benefits,
|
|
}, nil
|
|
}
|