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

  1. package controller
  2. import (
  3. "VoteManage_Go/api/v1/vote"
  4. "VoteManage_Go/internal/model/dto"
  5. "VoteManage_Go/internal/service"
  6. "github.com/gogf/gf/v2/frame/g"
  7. "github.com/gogf/gf/v2/net/ghttp"
  8. )
  9. type cVote struct{}
  10. func Vote() *cVote {
  11. return &cVote{}
  12. }
  13. func (c cVote) GetVoteDetailList(r *ghttp.Request) {
  14. var req *vote.GetVoteDetailListReq
  15. if err := r.Parse(&req); err != nil {
  16. r.Response.WriteJsonExit(dto.Result{
  17. Code: 400,
  18. Message: err.Error(),
  19. })
  20. }
  21. res, total, err := service.Vote().GetVoteByCondition(r.Context(), req)
  22. if err != nil {
  23. r.Response.WriteJsonExit(dto.Result{
  24. Code: 400,
  25. Message: err.Error(),
  26. })
  27. }
  28. r.Response.WriteJsonExit(dto.Result{
  29. Code: 200,
  30. Message: "success",
  31. Data: g.Map{
  32. "list": res,
  33. "total": total,
  34. },
  35. })
  36. }
  37. func (c *cVote) ExportVote(r *ghttp.Request) {
  38. var req *vote.GetVoteDetailListReq
  39. // 解析请求参数
  40. if err := r.Parse(&req); err != nil {
  41. r.Response.WriteJsonExit(dto.Error(err.Error()))
  42. }
  43. //查询数据,创建excel文件,设置表头,写入数据,设置文件名,保存到缓冲区并返回,设置响应头,指定内容类型为excel文件,指定文件名为fileName,将buffer中的内容写入响应
  44. service.Vote().ExportVote(r, req)
  45. }
  46. func (c *cVote) GetActivityList(r *ghttp.Request) {
  47. var req *vote.GetActivityListReq
  48. if err := r.Parse(&req); err != nil {
  49. r.Response.WriteJsonExit(dto.Result{
  50. Code: 400,
  51. Message: err.Error(),
  52. })
  53. }
  54. res, total, err := service.Vote().GetActivityList(r.Context(), req)
  55. if err != nil {
  56. r.Response.WriteJsonExit(dto.Result{
  57. Code: 400,
  58. Message: err.Error(),
  59. })
  60. }
  61. r.Response.WriteJsonExit(dto.Result{
  62. Code: 200,
  63. Message: "success",
  64. Data: g.Map{
  65. "list": res,
  66. "total": total,
  67. },
  68. })
  69. }