dt_system.go 10 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406
  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. Status *int8 `form:"status"`
  212. }
  213. req := new(request[model.DtConfig])
  214. if err := c.BindQuery(req); err != nil {
  215. response.Resp(c, err.Error())
  216. return
  217. }
  218. db := s.DB()
  219. if req.Id != nil && *req.Id != 0 {
  220. db = db.Where("id", req.Id)
  221. }
  222. if req.Group != nil && *req.Group != "" {
  223. db = db.Where("`group`", req.Group)
  224. }
  225. if req.Key != nil && *req.Key != "" {
  226. db = db.Where("`key`", req.Key)
  227. }
  228. if req.Name != nil && *req.Name != "" {
  229. db = db.Where("name LIKE ?", "%"+*req.Name+"%")
  230. }
  231. if req.Status != nil {
  232. db = db.Where("status", req.Status)
  233. }
  234. db = db.Order("`group` ASC, sort ASC")
  235. colInfo := s.GetColumnCommentFromStruct(model.DtConfig{})
  236. resp, err := base.NewQueryBaseHandler(model.NewDtConfig()).List(db, req)
  237. if err != nil {
  238. response.Resp(c, err.Error())
  239. return
  240. }
  241. response.Resp(c, map[string]interface{}{
  242. "cols": colInfo,
  243. "list": resp.List,
  244. "paging": resp.Paging,
  245. })
  246. }
  247. func (s *DtConfigService) Create(c *gin.Context) {
  248. s.SetDbAlias("daytask")
  249. base.NewBaseHandler(model.NewDtConfig()).Create(c, s.DB())
  250. }
  251. func (s *DtConfigService) Update(c *gin.Context) {
  252. s.SetDbAlias("daytask")
  253. base.NewBaseHandler(model.NewDtConfig()).UpdateOne(c, s.DB())
  254. }
  255. func (s *DtConfigService) Delete(c *gin.Context) {
  256. s.SetDbAlias("daytask")
  257. base.NewBaseHandler(model.NewDtConfig()).DeleteOne(c, s.DB())
  258. }
  259. // GetByGroup 按分组获取配置
  260. func (s *DtConfigService) GetByGroup(c *gin.Context) {
  261. s.SetDbAlias("daytask")
  262. group := c.Query("group")
  263. if group == "" {
  264. response.Resp(c, "分组不能为空")
  265. return
  266. }
  267. var configs []model.DtConfig
  268. err := s.DB().Where("`group` = ?", group).Order("sort ASC").Find(&configs).Error
  269. if err != nil {
  270. response.Resp(c, err.Error())
  271. return
  272. }
  273. response.Resp(c, configs)
  274. }
  275. // DtOperationLogService 操作日志服务
  276. type DtOperationLogService struct {
  277. base.BizCommonService
  278. }
  279. func (s *DtOperationLogService) Get(c *gin.Context) {
  280. s.SetDbAlias("daytask")
  281. base.NewBaseHandler(model.NewDtOperationLog()).Get(c, s.DB())
  282. }
  283. func (s *DtOperationLogService) Find(c *gin.Context) {
  284. s.SetDbAlias("daytask")
  285. type request[T any] struct {
  286. base.ListRequest[T]
  287. AdminId *int64 `form:"adminId"`
  288. AdminName *string `form:"adminName"`
  289. Module *string `form:"module"`
  290. Action *string `form:"action"`
  291. Status *int8 `form:"status"`
  292. BeginTime *int64 `form:"beginTime"`
  293. EndTime *int64 `form:"endTime"`
  294. }
  295. req := new(request[model.DtOperationLog])
  296. if err := c.BindQuery(req); err != nil {
  297. response.Resp(c, err.Error())
  298. return
  299. }
  300. db := s.DB()
  301. if req.AdminId != nil && *req.AdminId != 0 {
  302. db = db.Where("admin_id", req.AdminId)
  303. }
  304. if req.AdminName != nil && *req.AdminName != "" {
  305. db = db.Where("admin_name LIKE ?", "%"+*req.AdminName+"%")
  306. }
  307. if req.Module != nil && *req.Module != "" {
  308. db = db.Where("module", req.Module)
  309. }
  310. if req.Action != nil && *req.Action != "" {
  311. db = db.Where("action", req.Action)
  312. }
  313. if req.Status != nil {
  314. db = db.Where("status", req.Status)
  315. }
  316. if req.BeginTime != nil && *req.BeginTime > 0 && req.EndTime != nil && *req.EndTime > 0 {
  317. db = db.Where("created_at BETWEEN ? AND ?", *req.BeginTime, *req.EndTime)
  318. }
  319. colInfo := s.GetColumnCommentFromStruct(model.DtOperationLog{})
  320. resp, err := base.NewQueryBaseHandler(model.NewDtOperationLog()).List(db, req)
  321. if err != nil {
  322. response.Resp(c, err.Error())
  323. return
  324. }
  325. response.Resp(c, map[string]interface{}{
  326. "cols": colInfo,
  327. "list": resp.List,
  328. "paging": resp.Paging,
  329. })
  330. }
  331. // DtDailyStatsService 每日统计服务
  332. type DtDailyStatsService struct {
  333. base.BizCommonService
  334. }
  335. func (s *DtDailyStatsService) Get(c *gin.Context) {
  336. s.SetDbAlias("daytask")
  337. base.NewBaseHandler(model.NewDtDailyStats()).Get(c, s.DB())
  338. }
  339. func (s *DtDailyStatsService) Find(c *gin.Context) {
  340. s.SetDbAlias("daytask")
  341. type request[T any] struct {
  342. base.ListRequest[T]
  343. StartDate *string `form:"startDate"`
  344. EndDate *string `form:"endDate"`
  345. }
  346. req := new(request[model.DtDailyStats])
  347. if err := c.BindQuery(req); err != nil {
  348. response.Resp(c, err.Error())
  349. return
  350. }
  351. db := s.DB()
  352. if req.StartDate != nil && *req.StartDate != "" && req.EndDate != nil && *req.EndDate != "" {
  353. db = db.Where("date BETWEEN ? AND ?", *req.StartDate, *req.EndDate)
  354. }
  355. db = db.Order("date DESC")
  356. colInfo := s.GetColumnCommentFromStruct(model.DtDailyStats{})
  357. resp, err := base.NewQueryBaseHandler(model.NewDtDailyStats()).List(db, req)
  358. if err != nil {
  359. response.Resp(c, err.Error())
  360. return
  361. }
  362. response.Resp(c, map[string]interface{}{
  363. "cols": colInfo,
  364. "list": resp.List,
  365. "paging": resp.Paging,
  366. })
  367. }