123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282
  1. package course
  2. import (
  3. "spaceofcheng/services/controllers"
  4. "spaceofcheng/services/models/model"
  5. "spaceofcheng/services/service/course"
  6. )
  7. // CourseController 商品
  8. type CourseController struct {
  9. serv *course.CourseServ
  10. controllers.BaseController
  11. }
  12. // Constructor 初始化 Controller
  13. // @Title Constructor
  14. // @Description 初始化 Controller, 系统自动调用
  15. func (c *CourseController) Constructor() {
  16. c.serv = course.NewCourseServ(c.Context)
  17. }
  18. // GetCourseList 获取课程列表
  19. func (c *CourseController) GetCourseList() {
  20. caseids := c.GetString("caseid")
  21. if caseids == "" {
  22. cases := c.Context.Get("cases").([]model.SysUserCase)
  23. caseids = c.GetCaseIDs(cases)
  24. }
  25. page, _ := c.GetInt("page")
  26. pageSize, _ := c.GetInt("pagesize")
  27. name := c.GetString("name")
  28. typeid := c.GetString("typeid")
  29. status := c.GetString("status")
  30. courses, err := c.serv.GetCourseList(caseids, name, typeid, status, page, pageSize)
  31. if err != nil {
  32. c.ResponseError(err)
  33. }
  34. c.ResponseJSON(courses)
  35. }
  36. // GetCourseByID 获取课程明细
  37. func (c *CourseController) GetCourseByID() {
  38. courseid := c.GetString(":courseid")
  39. info, err := c.serv.GetCourseByID(courseid)
  40. if err != nil {
  41. c.ResponseError(err)
  42. }
  43. c.ResponseJSON(info)
  44. }
  45. // SaveCourse 保存课程
  46. func (c *CourseController) SaveCourse() {
  47. course := model.TaCourse{}
  48. if err := c.ParseForm(&course); err != nil {
  49. c.ResponseError(err)
  50. }
  51. tagids := c.GetString("tagids")
  52. newinfo, err := c.serv.SaveCourse(course, tagids)
  53. if err != nil {
  54. c.ResponseError(err)
  55. }
  56. c.ResponseJSON(newinfo)
  57. }
  58. // DeleteCourse 删除课程
  59. func (c *CourseController) DeleteCourse() {
  60. courseid := c.GetString(":courseid")
  61. err := c.serv.DelCourse(courseid)
  62. if err != nil {
  63. c.ResponseError(err)
  64. }
  65. c.ResponseJSON("删除成功!")
  66. }
  67. // CoursePublic 课程发布
  68. func (c *CourseController) CoursePublic() {
  69. courseid := c.GetString(":courseid")
  70. err := c.serv.CoursePublic(courseid)
  71. if err != nil {
  72. c.ResponseError(err)
  73. }
  74. c.ResponseJSON("操作成功!")
  75. }
  76. // CourseUnPublic 课程取消发布
  77. func (c *CourseController) CourseUnPublic() {
  78. courseid := c.GetString(":courseid")
  79. err := c.serv.CourseUnPublic(courseid)
  80. if err != nil {
  81. c.ResponseError(err)
  82. }
  83. c.ResponseJSON("操作成功!")
  84. }
  85. // GetCourseImgs 获取课程图片
  86. func (c *CourseController) GetCourseImgs() {
  87. courseid := c.GetString(":courseid")
  88. imgs, err := c.serv.GetCourseImgs(courseid)
  89. if err != nil {
  90. c.ResponseError(err)
  91. }
  92. c.ResponseJSON(imgs)
  93. }
  94. // SaveCourseImg 保存课程图片
  95. func (c *CourseController) SaveCourseImg() {
  96. img := model.TaCourseImg{}
  97. if err := c.ParseForm(&img); err != nil {
  98. c.ResponseError(err)
  99. }
  100. newimg, err := c.serv.SaveCourseImg(img)
  101. if err != nil {
  102. c.ResponseError(err)
  103. }
  104. c.ResponseJSON(newimg)
  105. }
  106. // DelCourseImg 删除课程图片
  107. func (c *CourseController) DelCourseImg() {
  108. courseid := c.GetString(":courseid")
  109. err := c.serv.DelCourseImg(courseid)
  110. if err != nil {
  111. c.ResponseError(err)
  112. }
  113. c.ResponseJSON("操作成功!")
  114. }
  115. // GetCourseSchedule 获取课程排期
  116. func (c *CourseController) GetCourseSchedule() {
  117. name := c.GetString("name")
  118. caseids := c.GetString("caseid")
  119. courseid := c.GetString("courseid")
  120. if caseids == "" {
  121. cases := c.Context.Get("cases").([]model.SysUserCase)
  122. caseids = c.GetCaseIDs(cases)
  123. }
  124. date := c.GetString("date")
  125. page, _ := c.GetInt("page")
  126. pageSize, _ := c.GetInt("pagesize")
  127. list, err := c.serv.GetCourseSchedule(name, caseids, courseid, date, page, pageSize)
  128. if err != nil {
  129. c.ResponseError(err)
  130. }
  131. c.ResponseJSON(list)
  132. }
  133. // GetDetails 获取所有排课
  134. func (c *CourseController) GetDetails() {
  135. caseid := c.GetString("caseid")
  136. date := c.GetString("date")
  137. courseid := c.GetString("courseid")
  138. list, err := c.serv.GetDetails(caseid, date, courseid)
  139. if err != nil {
  140. c.ResponseError(err)
  141. }
  142. c.ResponseJSON(list)
  143. }
  144. // GetDetailByID 获取单个排课信息
  145. func (c *CourseController) GetDetailByID() {
  146. detailid := c.GetString(":detailid")
  147. detail, err := c.serv.GetDetailByID(detailid)
  148. if err != nil {
  149. c.ResponseError(err)
  150. }
  151. c.ResponseJSON(detail)
  152. }
  153. // SaveDetail 保存排课信息
  154. func (c *CourseController) SaveDetail() {
  155. detail := model.TaCourseDetail{}
  156. if err := c.ParseForm(&detail); err != nil {
  157. c.ResponseError(err)
  158. }
  159. newdetail, err := c.serv.SaveDetail(detail)
  160. if err != nil {
  161. c.ResponseError(err)
  162. }
  163. c.ResponseJSON(newdetail)
  164. }
  165. // DelCourseDetail 删除课程明细
  166. func (c *CourseController) DelCourseDetail() {
  167. detailid := c.GetString(":detailid")
  168. err := c.serv.DelCourseDetail(detailid)
  169. if err != nil {
  170. c.ResponseError(err)
  171. }
  172. c.ResponseJSON("删除成功!")
  173. }
  174. // GetSelectCourseList 获取精选课程
  175. // func (c *CourseController) GetSelectCourseList() {
  176. // orgid := c.GetString("orgid")
  177. // courses, err := c.serv.GetSelectCourseList(orgid)
  178. // if err != nil {
  179. // c.ResponseError(err)
  180. // }
  181. // c.ResponseJSON(courses)
  182. // }
  183. // GetCourseByLocation 根据位置获取课程信息
  184. func (c *CourseController) GetCourseByLocation() {
  185. locationid := c.GetString("locationid")
  186. orgid := c.GetString("orgid")
  187. if locationid == "selected" {
  188. courses, err := c.serv.GetSelectCourseList(orgid)
  189. if err != nil {
  190. c.ResponseError(err)
  191. }
  192. c.ResponseJSON(courses)
  193. }
  194. courses, err := c.serv.GetCourseByLocation(orgid, locationid)
  195. if err != nil {
  196. c.ResponseError(err)
  197. }
  198. c.ResponseJSON(courses)
  199. }
  200. // GetCustomerCourse 获取用户课程信息
  201. func (c *CourseController) GetCustomerCourse() {
  202. page, _ := c.GetInt("page")
  203. pageSize, _ := c.GetInt("pagesize")
  204. courses, err := c.serv.GetCustomerCourse(page, pageSize)
  205. if err != nil {
  206. c.ResponseError(err)
  207. }
  208. c.ResponseJSON(courses)
  209. }
  210. // GetCustomerCourseByID 获取用户课程信息明细
  211. func (c *CourseController) GetCustomerCourseByID() {
  212. id := c.GetString(":id")
  213. info, err := c.serv.GetCustomerCourseByID(id)
  214. if err != nil {
  215. c.ResponseError(err)
  216. }
  217. c.ResponseJSON(info)
  218. }
  219. // GetCourseBySendType 根据类型获取课程信息
  220. func (c *CourseController) GetCourseBySendType() {
  221. typeval := c.GetString("type")
  222. caseids := c.GetString("caseid")
  223. if caseids == "" {
  224. cases := c.Context.Get("cases").([]model.SysUserCase)
  225. caseids = c.GetCaseIDs(cases)
  226. }
  227. courses, err := c.serv.GetCourseBySendType(typeval, caseids)
  228. if err != nil {
  229. c.ResponseError(err)
  230. }
  231. c.ResponseJSON(courses)
  232. }
  233. // GetCourseCanUse 获取可用课程列表
  234. func (c *CourseController) GetCourseCanUse() {
  235. caseids := c.GetString("caseid")
  236. if caseids == "" {
  237. cases := c.Context.Get("cases").([]model.SysUserCase)
  238. caseids = c.GetCaseIDs(cases)
  239. }
  240. page, _ := c.GetInt("page")
  241. pageSize, _ := c.GetInt("pagesize")
  242. courses, err := c.serv.GetCourseCanUse(caseids, page, pageSize)
  243. if err != nil {
  244. c.ResponseError(err)
  245. }
  246. c.ResponseJSON(courses)
  247. }
  248. func (c *CourseController) GetCourseForWechatFront() {
  249. org := c.Context.Get("org").(model.SysOrg)
  250. page, _ := c.GetInt("page")
  251. pageSize, _ := c.GetInt("pagesize")
  252. courses, err := c.serv.GetCourseForWechatFront(org.OrgId, page, pageSize)
  253. if err != nil {
  254. c.ResponseError(err)
  255. }
  256. c.ResponseJSON(courses)
  257. }