verify.go 2.8KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100
  1. package verify
  2. import (
  3. "spaceofcheng/services/controllers"
  4. "spaceofcheng/services/models"
  5. "spaceofcheng/services/models/model"
  6. "spaceofcheng/services/service/verify"
  7. "time"
  8. )
  9. // CaseController 信息
  10. type VerifyController struct {
  11. dao *verify.VerifyServ
  12. controllers.BaseController
  13. }
  14. // Constructor 初始化 Controller
  15. // @Title Constructor
  16. // @Description 初始化 Controller, 系统自动调用
  17. func (c *VerifyController) Constructor() {
  18. c.dao = verify.NewVerifyServ(c.Context)
  19. }
  20. // GetCustomerCourseDetailListById 根据id获取我的课程详情
  21. func (c *VerifyController) GetCustomerCourseDetailListById() {
  22. customerCourseId := c.GetString(":customerCourseId")
  23. cases := c.Context.Get("cases").([]model.SysUserCase)
  24. caseids := c.GetCaseIDs(cases)
  25. page, _ := c.GetInt("page")
  26. pageSize, _ := c.GetInt("pagesize")
  27. list, err := c.dao.GetCustomerCourseDetailById(customerCourseId, caseids, page, pageSize)
  28. if err != nil {
  29. c.ResponseError(err)
  30. }
  31. c.ResponseJSON(list)
  32. }
  33. // GetCustomerCourseDetailListBytel 根据手机号获取我的课程详情id
  34. func (c *VerifyController) GetCustomerCourseDetailListBytel() {
  35. cases := c.Context.Get("cases").([]model.SysUserCase)
  36. caseids := c.GetCaseIDs(cases)
  37. tel := c.GetString(":tel")
  38. page, _ := c.GetInt("page")
  39. pageSize, _ := c.GetInt("pagesize")
  40. list, err := c.dao.GetCustomerCourseDetailByTel(tel, caseids, page, pageSize)
  41. if err != nil {
  42. c.ResponseError(err)
  43. }
  44. c.ResponseJSON(list)
  45. }
  46. // VerifyCourse核销我的课程详情
  47. func (c *VerifyController) VerifyCourse() {
  48. sysUser := c.Context.Get("user").(model.SysUser)
  49. userId := sysUser.UserId
  50. customerDetailId := c.GetString(":customerDetailId")
  51. customerCourseDetail, err := c.dao.GetCustomerCourseDetailByDetailId(customerDetailId)
  52. if err != nil {
  53. c.ResponseError(err)
  54. }
  55. customerCourse, err := c.dao.GetCustomerCourseByDetailId(customerCourseDetail.CustomerDetailId)
  56. if err != nil {
  57. c.ResponseError(err)
  58. }
  59. if customerCourse.CourseObtaimType == "card" {
  60. customerCard, err := c.dao.GetCustomerCardByDetailId(customerCourseDetail.CustomerDetailId)
  61. if err != nil {
  62. c.ResponseError(err)
  63. }
  64. if customerCard.VerifyStatus == models.VERIFY_USEABLE {
  65. if customerCard.EndDate.Before(time.Now()) {
  66. customerCard.VerifyStatus = models.VERIFY_LATE
  67. err := c.dao.UpdateCustomerCard(customerCard)
  68. if err != nil {
  69. c.ResponseError(err)
  70. }
  71. } else {
  72. customerCard.VerifyStatus = models.VERIFY_USED
  73. err := c.dao.UpdateCustomerCard(customerCard)
  74. if err != nil {
  75. c.ResponseError(err)
  76. }
  77. }
  78. }
  79. }
  80. err = c.dao.UpdateCustomerCourse(customerCourse)
  81. if err != nil {
  82. c.ResponseError(err)
  83. }
  84. err = c.dao.UpdateCustomerCourseDetail(customerCourseDetail, userId)
  85. if err != nil {
  86. c.ResponseError(err)
  87. }
  88. c.ResponseJSON("核销成功")
  89. }