|
@@ -7,18 +7,24 @@
|
|
|
package services
|
|
|
|
|
|
import (
|
|
|
+ "strconv"
|
|
|
+
|
|
|
+ "go.mod/comm"
|
|
|
+ "go.mod/conf"
|
|
|
"go.mod/dao"
|
|
|
"go.mod/datasource"
|
|
|
"go.mod/models"
|
|
|
+ "go.mod/web/viewmodels"
|
|
|
)
|
|
|
|
|
|
//定义管理员Service接口
|
|
|
type ManagerService interface {
|
|
|
- GetAll() []models.CmManager
|
|
|
+ GetAll() (dataList []viewmodels.Manager, total int64)
|
|
|
CountAll() int64
|
|
|
- Get(id int) *models.CmManager
|
|
|
+ Get(id int) *viewmodels.Manager
|
|
|
Update(data *models.CmManager, columns []string) error
|
|
|
Create(data *models.CmManager) error
|
|
|
+ Enable(id int, canLogin int) error
|
|
|
}
|
|
|
|
|
|
//返回service操作类
|
|
@@ -34,18 +40,37 @@ func NewManagerService() ManagerService {
|
|
|
}
|
|
|
|
|
|
//实现getall接口
|
|
|
-func (s *managerService) GetAll() []models.CmManager {
|
|
|
- return s.dao.GetAll()
|
|
|
- // return nil
|
|
|
+func (s *managerService) GetAll() (dataList []viewmodels.Manager, total int64) {
|
|
|
+
|
|
|
+ datalist := make([]viewmodels.Manager, 0)
|
|
|
+ result, total := s.dao.GetAll()
|
|
|
+ for _, item := range result {
|
|
|
+ projectVM := makeManagerVM(&item)
|
|
|
+ datalist = append(datalist, projectVM)
|
|
|
+ }
|
|
|
+ return dataList, total
|
|
|
}
|
|
|
|
|
|
func (s *managerService) CountAll() int64 {
|
|
|
return s.dao.CountAll()
|
|
|
}
|
|
|
|
|
|
-func (s *managerService) Get(id int) *models.CmManager {
|
|
|
- return s.dao.Get(id)
|
|
|
+// 获得管理员详情
|
|
|
+func (s *managerService) Get(id int) *viewmodels.Manager {
|
|
|
+ result := s.dao.Get(id)
|
|
|
+ data := makeManagerVM(result)
|
|
|
+ return &data
|
|
|
}
|
|
|
+
|
|
|
+func (s *managerService) Enable(id int, canLogin int) error {
|
|
|
+ Manager := models.CmManager{}
|
|
|
+ Manager.Id = id
|
|
|
+ Manager.CanLogin = canLogin
|
|
|
+ err := s.dao.Update(&Manager, []string{"CanLogin"})
|
|
|
+
|
|
|
+ return err
|
|
|
+}
|
|
|
+
|
|
|
func (s *managerService) Update(data *models.CmManager, columns []string) error {
|
|
|
return s.dao.Update(data, columns)
|
|
|
}
|
|
@@ -53,26 +78,30 @@ func (s *managerService) Create(data *models.CmManager) error {
|
|
|
return s.dao.Create(data)
|
|
|
}
|
|
|
|
|
|
-// // 构造视图层models
|
|
|
-// func makeProjectVM(projectCM *models.CmProject) viewmodels.Project {
|
|
|
-// projectVM := viewmodels.Project{}
|
|
|
-// id, _ := comm.AesEncrypt(strconv.Itoa(projectCM.Id), conf.SignSecret)
|
|
|
-// userId, _ := comm.AesEncrypt(strconv.Itoa(projectCM.UserId), conf.SignSecret)
|
|
|
-
|
|
|
-// projectVM.Id = id
|
|
|
-// projectVM.Code = projectCM.Code
|
|
|
-// projectVM.Name = projectCM.Name
|
|
|
-// projectVM.Category = projectCM.Category
|
|
|
-// projectVM.StaffName = projectCM.StaffName
|
|
|
-// projectVM.StaffPhone = projectCM.StaffPhone
|
|
|
-// projectVM.StaffQq = projectCM.StaffQq
|
|
|
-// projectVM.StaffTelephone = projectCM.StaffTelephone
|
|
|
-// projectVM.UserId = userId
|
|
|
-// projectVM.UserAccount = projectCM.UserAccount
|
|
|
-
|
|
|
-// if !projectCM.CreateTime.IsZero() {
|
|
|
-// projectVM.CreateTime = projectCM.CreateTime.Format(conf.SysTimeform)
|
|
|
-// }
|
|
|
-
|
|
|
-// return projectVM
|
|
|
-// }
|
|
|
+// 构造视图层models
|
|
|
+func makeManagerVM(projectCM *models.CmManager) viewmodels.Manager {
|
|
|
+ modelsVM := viewmodels.Manager{}
|
|
|
+ id, _ := comm.AesEncrypt(strconv.Itoa(projectCM.Id), conf.SignSecret)
|
|
|
+ // userId, _ := comm.AesEncrypt(strconv.Itoa(projectCM.UserId), conf.SignSecret)
|
|
|
+
|
|
|
+ modelsVM.Id = id
|
|
|
+ modelsVM.Username = projectCM.Username
|
|
|
+ modelsVM.Category = projectCM.Category
|
|
|
+ modelsVM.GroupId = projectCM.GroupId
|
|
|
+ modelsVM.RealName = projectCM.RealName
|
|
|
+ modelsVM.Telephone = projectCM.Telephone
|
|
|
+ modelsVM.LoginIp = projectCM.LoginIp
|
|
|
+ modelsVM.CanLogin = projectCM.CanLogin
|
|
|
+ modelsVM.Office = projectCM.Office
|
|
|
+
|
|
|
+ modelsVM.Category = projectCM.Category
|
|
|
+
|
|
|
+ if !projectCM.LastLogin.IsZero() {
|
|
|
+ modelsVM.LastLogin = projectCM.LastLogin.Format(conf.SysTimeform)
|
|
|
+ }
|
|
|
+ if !projectCM.CreateTime.IsZero() {
|
|
|
+ modelsVM.CreateTime = projectCM.CreateTime.Format(conf.SysTimeform)
|
|
|
+ }
|
|
|
+
|
|
|
+ return modelsVM
|
|
|
+}
|