You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
76 lines
1.7 KiB
76 lines
1.7 KiB
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,
|
|
},
|
|
})
|
|
}
|