group_service.go 1.8 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283
  1. /*
  2. * @description: 管理员组
  3. * @Author: CP
  4. * @Date: 2021-06-01 14:56:44
  5. * @FilePath: \construction_management\services\group_service.go
  6. */
  7. package services
  8. import (
  9. "fmt"
  10. "strconv"
  11. "time"
  12. "go.mod/comm"
  13. "go.mod/conf"
  14. "go.mod/dao"
  15. "go.mod/datasource"
  16. "go.mod/models"
  17. "go.mod/web/viewmodels"
  18. )
  19. //定义管理员Service接口
  20. type GroupService interface {
  21. GetAll() (dataList []viewmodels.Group, total int64)
  22. Add(dataVM viewmodels.Group) error
  23. }
  24. //返回service操作类
  25. type groupService struct {
  26. dao *dao.GroupDao
  27. }
  28. //创建管理员service
  29. func NewGroupService() GroupService {
  30. return &groupService{
  31. dao: dao.NewGroupDao(datasource.InstanceDbMaster()),
  32. }
  33. }
  34. //实现getall接口
  35. func (s *groupService) GetAll() (data []viewmodels.Group, total int64) {
  36. datalist := make([]viewmodels.Group, 0)
  37. result, total := s.dao.GetAll()
  38. for _, item := range result {
  39. projectVM := makeGroupVM(&item)
  40. datalist = append(datalist, projectVM)
  41. }
  42. return datalist, total
  43. }
  44. func (s *groupService) Add(dataVM viewmodels.Group) error {
  45. project := &models.CmGroup{}
  46. project.Name = dataVM.Name
  47. // project.Permission = dataVM.Permission
  48. project.Remark = dataVM.Remark
  49. project.CreateTime = time.Now()
  50. fmt.Println(dataVM.Permission)
  51. // err := s.dao.Add(project)
  52. // return err
  53. return nil
  54. }
  55. // 构造视图层models
  56. func makeGroupVM(projectCM *models.CmGroup) viewmodels.Group {
  57. modelsVM := viewmodels.Group{}
  58. id, _ := comm.AesEncrypt(strconv.Itoa(projectCM.Id), conf.SignSecret)
  59. // userId, _ := comm.AesEncrypt(strconv.Itoa(projectCM.UserId), conf.SignSecret)
  60. modelsVM.Id = id
  61. modelsVM.Name = projectCM.Name
  62. modelsVM.Remark = projectCM.Remark
  63. if !projectCM.CreateTime.IsZero() {
  64. modelsVM.CreateTime = projectCM.CreateTime.Format(conf.SysTimeform)
  65. }
  66. return modelsVM
  67. }