caipin 4 years ago
parent
commit
f06eb8f016
4 changed files with 44 additions and 4 deletions
  1. 38 0
      dao/project_dao.go
  2. 1 0
      services/backstage_service.go
  3. 3 3
      services/project_service.go
  4. 2 1
      web/backstage/project_bs.go

+ 38 - 0
dao/project_dao.go

@@ -53,6 +53,44 @@ func (d *ProjectDao) GetPage(page int, size int) []models.CmProject {
 	return datalist
 }
 
+func (d *ProjectDao) GetPageBsByCategory(pageData viewmodels.ProjectPage, category string) (data []models.CmProject, total int64) {
+	datalist := make([]models.CmProject, 0)
+	page := pageData.Page
+	size := pageData.Size
+	if page == 1 {
+		page = 0
+	} else {
+		page--
+		page = page * size
+	}
+
+	Project := &models.CmProject{}
+
+	sql := ""
+	var args = make([]interface{}, 0)
+
+	if category != "" {
+		sql += "inside_category = ?"
+		args = append(args, category)
+	}
+
+	if pageData.Search != "" {
+		args = append(args, pageData.Search)
+		args = append(args, pageData.Search)
+		search := "(code like ? or  name like ?)"
+		sql = strings.Join([]string{sql, search}, " and ")
+	}
+
+	count, _ := d.engine.
+		Where(sql, args...).
+		Count(Project)
+	_ = d.engine.
+		Where(sql, args...).
+		Limit(size, page).
+		Find(&datalist)
+	return datalist, count
+}
+
 func (d *ProjectDao) GetPageBsByStaffName(pageData viewmodels.ProjectPage, staffName string) (data []models.CmProject, total int64) {
 	datalist := make([]models.CmProject, 0)
 	page := pageData.Page

+ 1 - 0
services/backstage_service.go

@@ -235,6 +235,7 @@ func (s *backstageService) ValidCldStaff(loginData viewmodels.StaffCld, writer h
 			manager.Qq = result.Data.Qq
 			manager.Fixedphone = result.Data.Fixedphone
 			manager.Position = result.Data.Position
+			manager.CanLogin = 1
 
 			err = s.managerDao.Create(manager)
 			if err != nil {

+ 3 - 3
services/project_service.go

@@ -35,7 +35,7 @@ type ProjectService interface {
 	Save(projectId int, projectVM viewmodels.Project) error
 	Add(projectVM viewmodels.Project) error
 	SaveBs(projectVM viewmodels.Project, id int, manager *models.CmManager) error
-	GetListBs(pageData viewmodels.ProjectPage, staffName string) (data []viewmodels.Project, total int64)
+	GetListBs(pageData viewmodels.ProjectPage, staffName string, category string) (data []viewmodels.Project, total int64)
 }
 
 //返回service操作类
@@ -147,7 +147,7 @@ func (s *projectService) GetList(page int, size int) []viewmodels.Project {
 }
 
 // 后端获得列表
-func (s *projectService) GetListBs(pageData viewmodels.ProjectPage, staffName string) (data []viewmodels.Project, total int64) {
+func (s *projectService) GetListBs(pageData viewmodels.ProjectPage, staffName string, category string) (data []viewmodels.Project, total int64) {
 	if pageData.Size > 100 {
 		pageData.Size = 100
 	}
@@ -168,7 +168,7 @@ func (s *projectService) GetListBs(pageData viewmodels.ProjectPage, staffName st
 	}
 	//待启用
 
-	projectData, count := s.dao.GetPageBsByStaffName(pageData, staffName)
+	projectData, count := s.dao.GetPageBsByCategory(pageData, category)
 
 	for _, data := range projectData {
 		projectVM := makeProjectVM(&data)

+ 2 - 1
web/backstage/project_bs.go

@@ -52,13 +52,14 @@ func (c *ProjectBs) PostList() {
 	}
 
 	staffName, err := utils.GetBackstageKey(c.Ctx, "StaffName")
+	category, err := utils.GetBackstageKey(c.Ctx, "Category")
 	if err != nil {
 		c.Ctx.JSON(iris.Map{"code": -1, "msg": fmt.Sprintf("%s", err)})
 		return
 	}
 
 	// 获得项目信息
-	dataList, total := c.ServiceProject.GetListBs(pageData, staffName)
+	dataList, total := c.ServiceProject.GetListBs(pageData, staffName, category)
 	data := map[string]interface{}{
 		"items": dataList,
 		"total": total,