version_service.go 2.3 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106
  1. /*
  2. * @description:版本相关数据操作
  3. * @Author: CP
  4. * @Date: 2020-09-02 09:56:28
  5. * @FilePath: \construction_management\services\version_service.go
  6. */
  7. package services
  8. import (
  9. "errors"
  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 VersionService interface {
  21. Get() *viewmodels.Version
  22. GetListBs(pageData viewmodels.Version) ([]viewmodels.Version, int64)
  23. Add(inputData viewmodels.Version) error
  24. Delete(id int) error
  25. }
  26. //返回service操作类
  27. type versionService struct {
  28. versionDao *dao.VersionDao
  29. }
  30. //创建项目用户service
  31. func NewVersionService() VersionService {
  32. return &versionService{
  33. versionDao: dao.NewVersionDao(datasource.InstanceDbMaster()),
  34. }
  35. }
  36. // 验证项目用户登陆相关
  37. func (s *versionService) Get() *viewmodels.Version {
  38. // 1-1.工程项目是否存在
  39. versionData := s.versionDao.Get()
  40. if versionData.Id == 0 {
  41. return nil
  42. }
  43. versionVm := &viewmodels.Version{}
  44. versionVm.Name = versionData.Name
  45. return versionVm
  46. }
  47. // 获得版本信息列表
  48. func (s *versionService) GetListBs(pageData viewmodels.Version) ([]viewmodels.Version, int64) {
  49. versionList, total := s.versionDao.GetList(pageData)
  50. datalist := make([]viewmodels.Version, 0)
  51. for _, data := range versionList {
  52. itemVM := makeDataVM(&data)
  53. datalist = append(datalist, itemVM)
  54. }
  55. return datalist, total
  56. }
  57. // 新增版本信息11
  58. func (s *versionService) Add(inputData viewmodels.Version) error {
  59. dataCm := &models.CmVersion{}
  60. dataCm.Name = inputData.Name
  61. dataCm.Content = inputData.Content
  62. dataCm.CreateTime = time.Now()
  63. err := s.versionDao.Add(dataCm)
  64. return err
  65. }
  66. // 删除版本信息
  67. func (s *versionService) Delete(id int) error {
  68. // 是否有该版本信息
  69. if versionData := s.versionDao.FindById(id); versionData.Id == 0 {
  70. return errors.New("未找到该版本信息")
  71. }
  72. err := s.versionDao.Delete(id)
  73. return err
  74. }
  75. // 构造视图层models
  76. func makeDataVM(dataCM *models.CmVersion) viewmodels.Version {
  77. dataVM := viewmodels.Version{}
  78. id, _ := comm.AesEncrypt(strconv.Itoa(dataCM.Id), conf.SignSecret)
  79. dataVM.Id = id
  80. dataVM.Name = dataCM.Name
  81. dataVM.Content = dataCM.Content
  82. if !dataCM.CreateTime.IsZero() {
  83. dataVM.CreateTime = dataCM.CreateTime.Format(conf.SysTimeform)
  84. }
  85. return dataVM
  86. }