detail.go 6.0 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245
  1. package duty
  2. import (
  3. "dashoo.cn/micro_libary/response"
  4. "dashoo.cn/modi_webapi/app/common"
  5. "dashoo.cn/modi_webapi/app/model/duty/detail"
  6. detailService "dashoo.cn/modi_webapi/app/service/duty"
  7. "dashoo.cn/modi_webapi/library/request"
  8. "github.com/gogf/gf/net/ghttp"
  9. "github.com/gogf/gf/util/gvalid"
  10. )
  11. // 值周详情控制器
  12. type DetailController struct {
  13. }
  14. // 分页查询
  15. func (c *DetailController) GetPageList(r *ghttp.Request) {
  16. // tenant 租户模式
  17. tenant := r.Header.Get("Tenant")
  18. page := request.GetPageInfo(r)
  19. // 初始化service
  20. service, err := detailService.NewDetailService(tenant)
  21. if err != nil {
  22. response.Json(r, 1, err.Error())
  23. }
  24. pageInfo := common.PageInfo{
  25. Current: page.Current,
  26. PagesSize: page.Size,
  27. }
  28. selectPageReq := common.SelectPageReq{
  29. Tenant: tenant,
  30. Page: &pageInfo,
  31. Order: r.GetString("order"),
  32. }
  33. if dutyList, total, err := service.GetPageList(&selectPageReq); err != nil {
  34. response.Json(r, -1, err.Error())
  35. } else {
  36. var records response.PagedRecords
  37. records.Current = page.Current
  38. records.Size = page.Size
  39. records.Total = total
  40. records.Records = dutyList
  41. response.Json(r, 0, "ok", records)
  42. }
  43. }
  44. // 添加值班
  45. func (c *DetailController) AddDetail(r *ghttp.Request) {
  46. // tenant 租户模式
  47. tenant := r.Header.Get("Tenant")
  48. if DutyId := r.GetInt("DutyId"); DutyId == 0 {
  49. response.Json(r, -1, "值班ID不能为空")
  50. }
  51. var entity *detail.Entity
  52. // 赋值并校验参数
  53. if err := r.Parse(&entity); err != nil {
  54. response.Json(r, -1, err.Error())
  55. }
  56. // 初始化课程详情service
  57. service, err := detailService.NewDetailService(tenant)
  58. if err != nil {
  59. response.Json(r, -1, err.Error())
  60. }
  61. // 获取操作人
  62. realName := r.GetParamVar("realname").String()
  63. entity.CreatedBy = realName
  64. if newId, err := service.Add(entity); err != nil {
  65. response.Json(r, 1, err.Error())
  66. } else {
  67. response.Json(r, 0, "新增成功", newId)
  68. }
  69. }
  70. // 获取详情
  71. func (c *DetailController) GetDetailById(r *ghttp.Request) {
  72. // tenant 租户模式
  73. tenant := r.Header.Get("Tenant")
  74. Id := r.GetInt("Id")
  75. if Id == 0 {
  76. response.Json(r, -1, "Id不能为空")
  77. }
  78. // 初始化课程详情service
  79. service, err := detailService.NewDetailService(tenant)
  80. if err != nil {
  81. response.Json(r, -1, err.Error())
  82. }
  83. if duty, err := service.GetDetailById(Id); err != nil {
  84. response.Json(r, 1, err.Error())
  85. } else {
  86. response.Json(r, 0, "ok", duty)
  87. }
  88. }
  89. // 更新
  90. func (c *DetailController) UpdateDetail(r *ghttp.Request) {
  91. // tenant 租户模式
  92. tenant := r.Header.Get("Tenant")
  93. var entity *detail.UpdDateReq
  94. // 赋值并校验参数
  95. if err := r.Parse(&entity); err != nil {
  96. response.Json(r, -1, err.Error())
  97. }
  98. Id := r.GetInt("Id")
  99. if Id == 0 {
  100. response.Json(r, -1, "Id不能为空")
  101. }
  102. // 初始化课程详情service
  103. service, err := detailService.NewDetailService(tenant)
  104. if err != nil {
  105. response.Json(r, -1, err.Error())
  106. }
  107. // 获取操作人
  108. realName := r.GetParamVar("realname").String()
  109. entity.UpdatedBy = realName
  110. if detail, err := service.Save(Id, entity); err != nil {
  111. response.Json(r, 1, err.Error())
  112. } else {
  113. response.Json(r, 0, "更新成功", detail)
  114. }
  115. }
  116. // 删除
  117. func (c *DetailController) DeleteDetail(r *ghttp.Request) {
  118. // tenant 租户模式
  119. tenant := r.Header.Get("Tenant")
  120. // 详情id
  121. Ids := r.GetInts("ids")
  122. if len(Ids) == 0 {
  123. response.Json(r, -1, "ids不能为空")
  124. }
  125. delIdsReq := new(common.DeleteIdsReq)
  126. delUpdReq := new(common.DeleteUpdReq)
  127. delIdsReq.Id = Ids
  128. // 获取操作人
  129. realName := r.GetParamVar("realname").String()
  130. delUpdReq.UpdatedBy = realName
  131. // 初始化service
  132. service, err := detailService.NewDetailService(tenant)
  133. if err != nil {
  134. response.Json(r, -1, err.Error())
  135. }
  136. if err := service.DeleteById(delIdsReq, delUpdReq); err != nil {
  137. response.Json(r, 1, err.Error())
  138. } else {
  139. response.Json(r, 0, "删除成功")
  140. }
  141. }
  142. // 根据父级id查询
  143. func (c *DetailController) GetDetailByDutyId(r *ghttp.Request) {
  144. // tenant 租户模式
  145. tenant := r.Header.Get("Tenant")
  146. // 初始化service
  147. service, err := detailService.NewDetailService(tenant)
  148. if err != nil {
  149. response.Json(r, -1, err.Error())
  150. }
  151. DutyId := r.GetInt("DutyId")
  152. if result, err := service.GetDetailByDutyId(DutyId); err != nil {
  153. response.Json(r, 1, err.Error())
  154. } else {
  155. response.Json(r, 0, "ok", result)
  156. }
  157. }
  158. // 批量添加
  159. func (c *DetailController) BatchAdd(r *ghttp.Request) {
  160. // tenant 租户模式
  161. tenant := r.Header.Get("Tenant")
  162. // 获取操作人
  163. realName := r.GetParamVar("realname").String()
  164. // 初始化service
  165. service, err := detailService.NewDetailService(tenant)
  166. if err != nil {
  167. response.Json(r, -1, err.Error())
  168. }
  169. detail := new(detail.ListEntity)
  170. if err := r.Parse(detail); err != nil {
  171. // 数据验证错误
  172. if v, ok := err.(*gvalid.Error); ok {
  173. response.Json(r, 1, v.FirstString())
  174. r.ExitAll()
  175. }
  176. // 其他错误
  177. response.Json(r, 1, err.Error())
  178. r.ExitAll()
  179. }
  180. if id, err := service.Adds(detail, realName); err != nil {
  181. response.Json(r, -1, err.Error())
  182. } else {
  183. response.Json(r, 0, "ok", id)
  184. }
  185. }
  186. // 批量保存 先删除再新增
  187. func (c *DetailController) Saves(r *ghttp.Request) {
  188. // tenant 租户模式
  189. tenant := r.Header.Get("Tenant")
  190. // 初始化service
  191. service, err := detailService.NewDetailService(tenant)
  192. if err != nil {
  193. response.Json(r, -1, err.Error())
  194. }
  195. delUpdReq := new(common.DeleteUpdReq)
  196. // 获取操作人
  197. realName := r.GetParamVar("realname").String()
  198. delUpdReq.UpdatedBy = realName
  199. DutyId := r.GetInt("DutyId")
  200. if DutyId == 0 {
  201. response.Json(r, 1, "父级id不能为空")
  202. }
  203. // 先删除
  204. if err := service.DeleteByDutyId(DutyId, delUpdReq); err != nil {
  205. response.Json(r, 1, err.Error())
  206. }
  207. // 新增
  208. detail := new(detail.ListEntity)
  209. if err := r.Parse(detail); err != nil {
  210. // 数据验证错误
  211. if v, ok := err.(*gvalid.Error); ok {
  212. response.Json(r, 1, v.FirstString())
  213. r.ExitAll()
  214. }
  215. // 其他错误
  216. response.Json(r, 1, err.Error())
  217. r.ExitAll()
  218. }
  219. if id, err := service.Adds(detail, realName); err != nil {
  220. response.Json(r, -1, err.Error())
  221. } else {
  222. response.Json(r, 0, "ok", id)
  223. }
  224. }