dt_system.go 10 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402
  1. package daytask
  2. import (
  3. model "go_server/model/biz_modules/daytask"
  4. "go_server/model/common/response"
  5. "go_server/service/base"
  6. "github.com/gin-gonic/gin"
  7. )
  8. // DtAdminService 管理员服务
  9. type DtAdminService struct {
  10. base.BizCommonService
  11. }
  12. func (s *DtAdminService) Get(c *gin.Context) {
  13. s.SetDbAlias("daytask")
  14. base.NewBaseHandler(model.NewDtAdmin()).Get(c, s.DB())
  15. }
  16. func (s *DtAdminService) Find(c *gin.Context) {
  17. s.SetDbAlias("daytask")
  18. type request[T any] struct {
  19. base.ListRequest[T]
  20. Id *int64 `form:"id"`
  21. Username *string `form:"username"`
  22. Nickname *string `form:"nickname"`
  23. RoleId *int64 `form:"roleId"`
  24. Status *int8 `form:"status"`
  25. }
  26. req := new(request[model.DtAdmin])
  27. if err := c.BindQuery(req); err != nil {
  28. response.Resp(c, err.Error())
  29. return
  30. }
  31. db := s.DB()
  32. if req.Id != nil && *req.Id != 0 {
  33. db = db.Where("id", req.Id)
  34. }
  35. if req.Username != nil && *req.Username != "" {
  36. db = db.Where("username LIKE ?", "%"+*req.Username+"%")
  37. }
  38. if req.Nickname != nil && *req.Nickname != "" {
  39. db = db.Where("nickname LIKE ?", "%"+*req.Nickname+"%")
  40. }
  41. if req.RoleId != nil && *req.RoleId != 0 {
  42. db = db.Where("role_id", req.RoleId)
  43. }
  44. if req.Status != nil {
  45. db = db.Where("status", req.Status)
  46. }
  47. colInfo := s.GetColumnCommentFromStruct(model.DtAdmin{})
  48. resp, err := base.NewQueryBaseHandler(model.NewDtAdmin()).List(db, req)
  49. if err != nil {
  50. response.Resp(c, err.Error())
  51. return
  52. }
  53. response.Resp(c, map[string]interface{}{
  54. "cols": colInfo,
  55. "list": resp.List,
  56. "paging": resp.Paging,
  57. })
  58. }
  59. func (s *DtAdminService) Create(c *gin.Context) {
  60. s.SetDbAlias("daytask")
  61. base.NewBaseHandler(model.NewDtAdmin()).Create(c, s.DB())
  62. }
  63. func (s *DtAdminService) Update(c *gin.Context) {
  64. s.SetDbAlias("daytask")
  65. base.NewBaseHandler(model.NewDtAdmin()).UpdateOne(c, s.DB())
  66. }
  67. func (s *DtAdminService) Delete(c *gin.Context) {
  68. s.SetDbAlias("daytask")
  69. base.NewBaseHandler(model.NewDtAdmin()).DeleteOne(c, s.DB())
  70. }
  71. // DtRoleService 角色服务
  72. type DtRoleService struct {
  73. base.BizCommonService
  74. }
  75. func (s *DtRoleService) Get(c *gin.Context) {
  76. s.SetDbAlias("daytask")
  77. base.NewBaseHandler(model.NewDtRole()).Get(c, s.DB())
  78. }
  79. func (s *DtRoleService) Find(c *gin.Context) {
  80. s.SetDbAlias("daytask")
  81. type request[T any] struct {
  82. base.ListRequest[T]
  83. Id *int64 `form:"id"`
  84. Name *string `form:"name"`
  85. Code *string `form:"code"`
  86. Status *int8 `form:"status"`
  87. }
  88. req := new(request[model.DtRole])
  89. if err := c.BindQuery(req); err != nil {
  90. response.Resp(c, err.Error())
  91. return
  92. }
  93. db := s.DB()
  94. if req.Id != nil && *req.Id != 0 {
  95. db = db.Where("id", req.Id)
  96. }
  97. if req.Name != nil && *req.Name != "" {
  98. db = db.Where("name LIKE ?", "%"+*req.Name+"%")
  99. }
  100. if req.Code != nil && *req.Code != "" {
  101. db = db.Where("code", req.Code)
  102. }
  103. if req.Status != nil {
  104. db = db.Where("status", req.Status)
  105. }
  106. db = db.Order("sort ASC")
  107. colInfo := s.GetColumnCommentFromStruct(model.DtRole{})
  108. resp, err := base.NewQueryBaseHandler(model.NewDtRole()).List(db, req)
  109. if err != nil {
  110. response.Resp(c, err.Error())
  111. return
  112. }
  113. response.Resp(c, map[string]interface{}{
  114. "cols": colInfo,
  115. "list": resp.List,
  116. "paging": resp.Paging,
  117. })
  118. }
  119. func (s *DtRoleService) Create(c *gin.Context) {
  120. s.SetDbAlias("daytask")
  121. base.NewBaseHandler(model.NewDtRole()).Create(c, s.DB())
  122. }
  123. func (s *DtRoleService) Update(c *gin.Context) {
  124. s.SetDbAlias("daytask")
  125. base.NewBaseHandler(model.NewDtRole()).UpdateOne(c, s.DB())
  126. }
  127. func (s *DtRoleService) Delete(c *gin.Context) {
  128. s.SetDbAlias("daytask")
  129. base.NewBaseHandler(model.NewDtRole()).DeleteOne(c, s.DB())
  130. }
  131. // DtMenuService 菜单服务
  132. type DtMenuService struct {
  133. base.BizCommonService
  134. }
  135. func (s *DtMenuService) Get(c *gin.Context) {
  136. s.SetDbAlias("daytask")
  137. base.NewBaseHandler(model.NewDtMenu()).Get(c, s.DB())
  138. }
  139. func (s *DtMenuService) Find(c *gin.Context) {
  140. s.SetDbAlias("daytask")
  141. type request[T any] struct {
  142. base.ListRequest[T]
  143. Id *int64 `form:"id"`
  144. ParentId *int64 `form:"parentId"`
  145. Name *string `form:"name"`
  146. Type *int8 `form:"type"`
  147. Status *int8 `form:"status"`
  148. }
  149. req := new(request[model.DtMenu])
  150. if err := c.BindQuery(req); err != nil {
  151. response.Resp(c, err.Error())
  152. return
  153. }
  154. db := s.DB()
  155. if req.Id != nil && *req.Id != 0 {
  156. db = db.Where("id", req.Id)
  157. }
  158. if req.ParentId != nil {
  159. db = db.Where("parent_id", req.ParentId)
  160. }
  161. if req.Name != nil && *req.Name != "" {
  162. db = db.Where("name LIKE ?", "%"+*req.Name+"%")
  163. }
  164. if req.Type != nil {
  165. db = db.Where("type", req.Type)
  166. }
  167. if req.Status != nil {
  168. db = db.Where("status", req.Status)
  169. }
  170. db = db.Order("sort ASC")
  171. colInfo := s.GetColumnCommentFromStruct(model.DtMenu{})
  172. resp, err := base.NewQueryBaseHandler(model.NewDtMenu()).List(db, req)
  173. if err != nil {
  174. response.Resp(c, err.Error())
  175. return
  176. }
  177. response.Resp(c, map[string]interface{}{
  178. "cols": colInfo,
  179. "list": resp.List,
  180. "paging": resp.Paging,
  181. })
  182. }
  183. func (s *DtMenuService) Create(c *gin.Context) {
  184. s.SetDbAlias("daytask")
  185. base.NewBaseHandler(model.NewDtMenu()).Create(c, s.DB())
  186. }
  187. func (s *DtMenuService) Update(c *gin.Context) {
  188. s.SetDbAlias("daytask")
  189. base.NewBaseHandler(model.NewDtMenu()).UpdateOne(c, s.DB())
  190. }
  191. func (s *DtMenuService) Delete(c *gin.Context) {
  192. s.SetDbAlias("daytask")
  193. base.NewBaseHandler(model.NewDtMenu()).DeleteOne(c, s.DB())
  194. }
  195. // DtConfigService 系统配置服务
  196. type DtConfigService struct {
  197. base.BizCommonService
  198. }
  199. func (s *DtConfigService) Get(c *gin.Context) {
  200. s.SetDbAlias("daytask")
  201. base.NewBaseHandler(model.NewDtConfig()).Get(c, s.DB())
  202. }
  203. func (s *DtConfigService) Find(c *gin.Context) {
  204. s.SetDbAlias("daytask")
  205. type request[T any] struct {
  206. base.ListRequest[T]
  207. Id *int64 `form:"id"`
  208. Group *string `form:"group"`
  209. Key *string `form:"key"`
  210. Name *string `form:"name"`
  211. }
  212. req := new(request[model.DtConfig])
  213. if err := c.BindQuery(req); err != nil {
  214. response.Resp(c, err.Error())
  215. return
  216. }
  217. db := s.DB()
  218. if req.Id != nil && *req.Id != 0 {
  219. db = db.Where("id", req.Id)
  220. }
  221. if req.Group != nil && *req.Group != "" {
  222. db = db.Where("`group`", req.Group)
  223. }
  224. if req.Key != nil && *req.Key != "" {
  225. db = db.Where("`key`", req.Key)
  226. }
  227. if req.Name != nil && *req.Name != "" {
  228. db = db.Where("name LIKE ?", "%"+*req.Name+"%")
  229. }
  230. db = db.Order("`group` ASC, sort ASC")
  231. colInfo := s.GetColumnCommentFromStruct(model.DtConfig{})
  232. resp, err := base.NewQueryBaseHandler(model.NewDtConfig()).List(db, req)
  233. if err != nil {
  234. response.Resp(c, err.Error())
  235. return
  236. }
  237. response.Resp(c, map[string]interface{}{
  238. "cols": colInfo,
  239. "list": resp.List,
  240. "paging": resp.Paging,
  241. })
  242. }
  243. func (s *DtConfigService) Create(c *gin.Context) {
  244. s.SetDbAlias("daytask")
  245. base.NewBaseHandler(model.NewDtConfig()).Create(c, s.DB())
  246. }
  247. func (s *DtConfigService) Update(c *gin.Context) {
  248. s.SetDbAlias("daytask")
  249. base.NewBaseHandler(model.NewDtConfig()).UpdateOne(c, s.DB())
  250. }
  251. func (s *DtConfigService) Delete(c *gin.Context) {
  252. s.SetDbAlias("daytask")
  253. base.NewBaseHandler(model.NewDtConfig()).DeleteOne(c, s.DB())
  254. }
  255. // GetByGroup 按分组获取配置
  256. func (s *DtConfigService) GetByGroup(c *gin.Context) {
  257. s.SetDbAlias("daytask")
  258. group := c.Query("group")
  259. if group == "" {
  260. response.Resp(c, "分组不能为空")
  261. return
  262. }
  263. var configs []model.DtConfig
  264. err := s.DB().Where("`group` = ?", group).Order("sort ASC").Find(&configs).Error
  265. if err != nil {
  266. response.Resp(c, err.Error())
  267. return
  268. }
  269. response.Resp(c, configs)
  270. }
  271. // DtOperationLogService 操作日志服务
  272. type DtOperationLogService struct {
  273. base.BizCommonService
  274. }
  275. func (s *DtOperationLogService) Get(c *gin.Context) {
  276. s.SetDbAlias("daytask")
  277. base.NewBaseHandler(model.NewDtOperationLog()).Get(c, s.DB())
  278. }
  279. func (s *DtOperationLogService) Find(c *gin.Context) {
  280. s.SetDbAlias("daytask")
  281. type request[T any] struct {
  282. base.ListRequest[T]
  283. AdminId *int64 `form:"adminId"`
  284. AdminName *string `form:"adminName"`
  285. Module *string `form:"module"`
  286. Action *string `form:"action"`
  287. Status *int8 `form:"status"`
  288. BeginTime *int64 `form:"beginTime"`
  289. EndTime *int64 `form:"endTime"`
  290. }
  291. req := new(request[model.DtOperationLog])
  292. if err := c.BindQuery(req); err != nil {
  293. response.Resp(c, err.Error())
  294. return
  295. }
  296. db := s.DB()
  297. if req.AdminId != nil && *req.AdminId != 0 {
  298. db = db.Where("admin_id", req.AdminId)
  299. }
  300. if req.AdminName != nil && *req.AdminName != "" {
  301. db = db.Where("admin_name LIKE ?", "%"+*req.AdminName+"%")
  302. }
  303. if req.Module != nil && *req.Module != "" {
  304. db = db.Where("module", req.Module)
  305. }
  306. if req.Action != nil && *req.Action != "" {
  307. db = db.Where("action", req.Action)
  308. }
  309. if req.Status != nil {
  310. db = db.Where("status", req.Status)
  311. }
  312. if req.BeginTime != nil && *req.BeginTime > 0 && req.EndTime != nil && *req.EndTime > 0 {
  313. db = db.Where("created_at BETWEEN ? AND ?", *req.BeginTime, *req.EndTime)
  314. }
  315. colInfo := s.GetColumnCommentFromStruct(model.DtOperationLog{})
  316. resp, err := base.NewQueryBaseHandler(model.NewDtOperationLog()).List(db, req)
  317. if err != nil {
  318. response.Resp(c, err.Error())
  319. return
  320. }
  321. response.Resp(c, map[string]interface{}{
  322. "cols": colInfo,
  323. "list": resp.List,
  324. "paging": resp.Paging,
  325. })
  326. }
  327. // DtDailyStatsService 每日统计服务
  328. type DtDailyStatsService struct {
  329. base.BizCommonService
  330. }
  331. func (s *DtDailyStatsService) Get(c *gin.Context) {
  332. s.SetDbAlias("daytask")
  333. base.NewBaseHandler(model.NewDtDailyStats()).Get(c, s.DB())
  334. }
  335. func (s *DtDailyStatsService) Find(c *gin.Context) {
  336. s.SetDbAlias("daytask")
  337. type request[T any] struct {
  338. base.ListRequest[T]
  339. StartDate *string `form:"startDate"`
  340. EndDate *string `form:"endDate"`
  341. }
  342. req := new(request[model.DtDailyStats])
  343. if err := c.BindQuery(req); err != nil {
  344. response.Resp(c, err.Error())
  345. return
  346. }
  347. db := s.DB()
  348. if req.StartDate != nil && *req.StartDate != "" && req.EndDate != nil && *req.EndDate != "" {
  349. db = db.Where("date BETWEEN ? AND ?", *req.StartDate, *req.EndDate)
  350. }
  351. db = db.Order("date DESC")
  352. colInfo := s.GetColumnCommentFromStruct(model.DtDailyStats{})
  353. resp, err := base.NewQueryBaseHandler(model.NewDtDailyStats()).List(db, req)
  354. if err != nil {
  355. response.Resp(c, err.Error())
  356. return
  357. }
  358. response.Resp(c, map[string]interface{}{
  359. "cols": colInfo,
  360. "list": resp.List,
  361. "paging": resp.Paging,
  362. })
  363. }