package controller import ( "context" adminv1 "tool-api/api/admin/v1" userv1 "tool-api/api/user/v1" "tool-api/internal/logic" ) // ============================================================================ // 软件开发服务二期控制器(迭代-2026-09-30) // // 与 goods 同款拆分(同一 controller 对象不能同时 Bind 到 UserAuth / AdminAuth 两组): // - Service 用户端(介绍页 / 作品 / 报价 / 站内信,需用户登录) // - AdminService 管理端(模块 / 作品 / 报价处理) // ============================================================================ // cService 用户端软件开发服务接口 type cService struct{} // cAdminService 管理端软件开发服务接口 type cAdminService struct{} var ( Service = &cService{} AdminService = &cAdminService{} ) // ---- 用户端:介绍页 / 作品 ---- func (c *cService) ServicePage(ctx context.Context, req *userv1.ServicePageReq) (res *userv1.ServicePageRes, err error) { return logic.ServicePage(ctx) } func (c *cService) WorksList(ctx context.Context, req *userv1.WorksListReq) (res *userv1.WorksListRes, err error) { return logic.ServiceWorks(ctx, req) } func (c *cService) WorkDetail(ctx context.Context, req *userv1.WorkDetailReq) (res *userv1.WorkDetailRes, err error) { return logic.ServiceWorkDetail(ctx, req.Id) } // ---- 用户端:报价申请 ---- func (c *cService) QuoteSubmit(ctx context.Context, req *userv1.QuoteSubmitReq) (res *userv1.QuoteSubmitRes, err error) { return logic.ServiceQuoteSubmit(ctx, req) } func (c *cService) QuoteMine(ctx context.Context, req *userv1.QuoteMineReq) (res *userv1.QuoteMineRes, err error) { return logic.ServiceQuoteMine(ctx, req.Limit) } // ---- 用户端:站内信 ---- func (c *cService) MessageList(ctx context.Context, req *userv1.MessageListReq) (res *userv1.MessageListRes, err error) { return logic.MessageList(ctx, req.Limit) } func (c *cService) MessageUnread(ctx context.Context, req *userv1.MessageUnreadReq) (res *userv1.MessageUnreadRes, err error) { return logic.MessageUnreadCount(ctx) } func (c *cService) MessageRead(ctx context.Context, req *userv1.MessageReadReq) (res *userv1.MessageReadRes, err error) { return logic.MessageMarkRead(ctx, req.Id) } // ---- 管理端:介绍页模块 ---- func (c *cAdminService) BlockList(ctx context.Context, req *adminv1.AdminServiceBlockListReq) (res *adminv1.AdminServiceBlockListRes, err error) { return logic.AdminServiceBlockList(ctx) } func (c *cAdminService) BlockSave(ctx context.Context, req *adminv1.AdminServiceBlockSaveReq) (res *adminv1.AdminServiceBlockSaveRes, err error) { return logic.AdminServiceBlockSave(ctx, req) } func (c *cAdminService) BlockDelete(ctx context.Context, req *adminv1.AdminServiceBlockDeleteReq) (res *adminv1.AdminServiceBlockDeleteRes, err error) { return logic.AdminServiceBlockDelete(ctx, req.Id) } // ---- 管理端:作品案例 ---- func (c *cAdminService) WorkList(ctx context.Context, req *adminv1.AdminServiceWorkListReq) (res *adminv1.AdminServiceWorkListRes, err error) { return logic.AdminServiceWorkList(ctx, req) } func (c *cAdminService) WorkDetail(ctx context.Context, req *adminv1.AdminServiceWorkDetailReq) (res *adminv1.AdminServiceWorkDetailRes, err error) { return logic.AdminServiceWorkDetail(ctx, req.Id) } func (c *cAdminService) WorkSave(ctx context.Context, req *adminv1.AdminServiceWorkSaveReq) (res *adminv1.AdminServiceWorkSaveRes, err error) { return logic.AdminServiceWorkSave(ctx, req) } func (c *cAdminService) WorkDelete(ctx context.Context, req *adminv1.AdminServiceWorkDeleteReq) (res *adminv1.AdminServiceWorkDeleteRes, err error) { return logic.AdminServiceWorkDelete(ctx, req.Id) } // ---- 管理端:报价申请 ---- func (c *cAdminService) QuoteList(ctx context.Context, req *adminv1.AdminServiceQuoteListReq) (res *adminv1.AdminServiceQuoteListRes, err error) { return logic.AdminServiceQuoteList(ctx, req) } func (c *cAdminService) QuoteHandle(ctx context.Context, req *adminv1.AdminServiceQuoteHandleReq) (res *adminv1.AdminServiceQuoteHandleRes, err error) { return logic.AdminServiceQuoteHandle(ctx, req) }