package controller import ( "VoteManage_Go/api/v1/vote" "VoteManage_Go/internal/model/dto" "VoteManage_Go/internal/service" "github.com/gogf/gf/v2/frame/g" "github.com/gogf/gf/v2/net/ghttp" ) type cVote struct{} func Vote() *cVote { return &cVote{} } func (c cVote) GetVoteDetailList(r *ghttp.Request) { var req *vote.GetVoteDetailListReq if err := r.Parse(&req); err != nil { r.Response.WriteJsonExit(dto.Result{ Code: 400, Message: err.Error(), }) } res, total, err := service.Vote().GetVoteByCondition(r.Context(), req) if err != nil { r.Response.WriteJsonExit(dto.Result{ Code: 400, Message: err.Error(), }) } r.Response.WriteJsonExit(dto.Result{ Code: 200, Message: "success", Data: g.Map{ "list": res, "total": total, }, }) } func (c *cVote) ExportVote(r *ghttp.Request) { var req *vote.GetVoteDetailListReq // 解析请求参数 if err := r.Parse(&req); err != nil { r.Response.WriteJsonExit(dto.Error(err.Error())) } //查询数据,创建excel文件,设置表头,写入数据,设置文件名,保存到缓冲区并返回,设置响应头,指定内容类型为excel文件,指定文件名为fileName,将buffer中的内容写入响应 service.Vote().ExportVote(r, req) } func (c *cVote) GetActivityList(r *ghttp.Request) { var req *vote.GetActivityListReq if err := r.Parse(&req); err != nil { r.Response.WriteJsonExit(dto.Result{ Code: 400, Message: err.Error(), }) } res, total, err := service.Vote().GetActivityList(r.Context(), req) if err != nil { r.Response.WriteJsonExit(dto.Result{ Code: 400, Message: err.Error(), }) } r.Response.WriteJsonExit(dto.Result{ Code: 200, Message: "success", Data: g.Map{ "list": res, "total": total, }, }) }