sys_dictionary.go 2.9 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586878889
  1. package service
  2. import (
  3. "gin-vue-admin/global"
  4. "gin-vue-admin/model"
  5. "gin-vue-admin/model/request"
  6. )
  7. // @title CreateSysDictionary
  8. // @description create a SysDictionary
  9. // @param sysDictionary model.SysDictionary
  10. // @auth (2020/04/05 20:22)
  11. // @return err error
  12. func CreateSysDictionary(sysDictionary model.SysDictionary) (err error) {
  13. err = global.GVA_DB.Create(&sysDictionary).Error
  14. return err
  15. }
  16. // @title DeleteSysDictionary
  17. // @description delete a SysDictionary
  18. // @auth (2020/04/05 20:22)
  19. // @param sysDictionary model.SysDictionary
  20. // @return error
  21. func DeleteSysDictionary(sysDictionary model.SysDictionary) (err error) {
  22. err = global.GVA_DB.Delete(sysDictionary).Related(&sysDictionary.SysDictionaryDetails).Delete(&sysDictionary.SysDictionaryDetails).Error
  23. return err
  24. }
  25. // @title UpdateSysDictionary
  26. // @description update a SysDictionary
  27. // @param sysDictionary *model.SysDictionary
  28. // @auth (2020/04/05 20:22)
  29. // @return error
  30. func UpdateSysDictionary(sysDictionary *model.SysDictionary) (err error) {
  31. var dict model.SysDictionary
  32. sysDictionaryMap := map[string]interface{}{
  33. "Name": sysDictionary.Name,
  34. "Type": sysDictionary.Type,
  35. "Status": sysDictionary.Status,
  36. "Desc": sysDictionary.Desc,
  37. }
  38. err = global.GVA_DB.Where("id = ?", sysDictionary.ID).First(&dict).Updates(sysDictionaryMap).Error
  39. return err
  40. }
  41. // @title GetSysDictionary
  42. // @description get the info of a SysDictionary
  43. // @auth (2020/04/05 20:22)
  44. // @param id uint
  45. // @return error
  46. // @return SysDictionary SysDictionary
  47. func GetSysDictionary(id uint) (err error, sysDictionary model.SysDictionary) {
  48. err = global.GVA_DB.Where("id = ?", id).Preload("SysDictionaryDetails").First(&sysDictionary).Error
  49. return
  50. }
  51. // @title GetSysDictionaryInfoList
  52. // @description get SysDictionary list by pagination, 分页获取用户列表
  53. // @auth (2020/04/05 20:22)
  54. // @param info PageInfo
  55. // @return error
  56. func GetSysDictionaryInfoList(info request.SysDictionarySearch) (err error, list interface{}, total int) {
  57. limit := info.PageSize
  58. offset := info.PageSize * (info.Page - 1)
  59. // 创建db
  60. db := global.GVA_DB.Model(&model.SysDictionary{})
  61. var sysDictionarys []model.SysDictionary
  62. // 如果有条件搜索 下方会自动创建搜索语句
  63. if info.Name != "" {
  64. db = db.Where("name LIKE ?", "%"+info.Name+"%")
  65. }
  66. if info.Type != "" {
  67. db = db.Where("type LIKE ?", "%"+info.Type+"%")
  68. }
  69. if info.Status != nil {
  70. db = db.Where("status = ?", info.Status)
  71. }
  72. if info.Desc != "" {
  73. db = db.Where("desc LIKE ?", "%"+info.Desc+"%")
  74. }
  75. err = db.Count(&total).Error
  76. err = db.Limit(limit).Offset(offset).Find(&sysDictionarys).Error
  77. return err, sysDictionarys, total
  78. }