caipin 4 سال پیش
والد
کامیت
b7d83a8137
8فایلهای تغییر یافته به همراه124 افزوده شده و 30 حذف شده
  1. 1 1
      dao/manager_dao.go
  2. 55 0
      dao/project_dao.go
  3. 25 0
      services/manager_service.go
  4. 15 0
      services/project_service.go
  5. 2 2
      web/backstage/login_bs.go
  6. 16 25
      web/backstage/project_bs.go
  7. 6 0
      web/routes/routes.go
  8. 4 2
      web/viewmodels/project.go

+ 1 - 1
dao/manager_dao.go

@@ -43,7 +43,7 @@ func (d *ManagerDao) Get(id int) *models.CmManager {
 func (d *ManagerDao) GetAll() []models.CmManager {
 
 	datalist := make([]models.CmManager, 0)
-	err := d.engine.Asc("created_time").Find(&datalist)
+	err := d.engine.Asc("create_time").Find(&datalist)
 	//Asc("displayorder").
 	//Find(&datalist)
 	fmt.Println(err)

+ 55 - 0
dao/project_dao.go

@@ -11,6 +11,7 @@ import (
 
 	"github.com/go-xorm/xorm"
 	"go.mod/models"
+	"go.mod/web/viewmodels"
 )
 
 //数据库操作引擎
@@ -52,6 +53,60 @@ func (d *ProjectDao) GetPage(page int, size int) []models.CmProject {
 	return datalist
 }
 
+func (d *ProjectDao) GetPageBs(pageData viewmodels.ProjectPage, InsideCategoryId int) (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{}
+
+	if InsideCategoryId != 0 && pageData.Search != "" {
+		count, _ := d.engine.
+			Where("insideCategoryId= ? and (code like ? or  name like ?) ", InsideCategoryId, pageData.Search, pageData.Search).
+			Count(Project)
+		_ = d.engine.
+			Where("insideCategoryId= ? and (code like ? or  name like ?) ", InsideCategoryId, pageData.Search, pageData.Search).
+			Limit(size, page).
+			Find(&datalist)
+		return datalist, count
+	}
+
+	if InsideCategoryId != 0 {
+		count, _ := d.engine.
+			Where("insideCategoryId= ?", InsideCategoryId).
+			Count(Project)
+		_ = d.engine.
+			Where("insideCategoryId= ?", InsideCategoryId).
+			Limit(size, page).
+			Find(&datalist)
+		return datalist, count
+	}
+
+	if pageData.Search != "" {
+		count, _ := d.engine.
+			Where(" code like ? or  name like ? ", pageData.Search, pageData.Search).
+			Count(Project)
+		_ = d.engine.
+			Where(" code like ? or  name like ? ", pageData.Search, pageData.Search).
+			Limit(size, page).
+			Find(&datalist)
+		return datalist, count
+	}
+
+	// Where("project_id = ? and bidsection_id =? and contracts_id=?", projectId, bidsectionId, contractsId).
+	count, _ := d.engine.Count(Project)
+	_ = d.engine.
+		Limit(size, page).
+		Find(&datalist)
+	return datalist, count
+}
+
 //设置的值获得数据
 func (d *ProjectDao) GetCode(code string) *models.CmProject {
 	data := &models.CmProject{}

+ 25 - 0
services/manager_service.go

@@ -36,6 +36,7 @@ func NewManagerService() ManagerService {
 //实现getall接口
 func (s *managerService) GetAll() []models.CmManager {
 	return s.dao.GetAll()
+	// return nil
 }
 
 func (s *managerService) CountAll() int64 {
@@ -51,3 +52,27 @@ func (s *managerService) Update(data *models.CmManager, columns []string) error
 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
+// }

+ 15 - 0
services/project_service.go

@@ -35,6 +35,7 @@ type ProjectService interface {
 	Save(projectId int, projectVM viewmodels.Project) error
 	Add(projectVM viewmodels.Project) error
 	SaveBs(projectVM viewmodels.Project, id int) error
+	GetListBs(pageData viewmodels.ProjectPage, InsideCategoryId int) (data []viewmodels.Project, total int64)
 }
 
 //返回service操作类
@@ -145,6 +146,20 @@ func (s *projectService) GetList(page int, size int) []viewmodels.Project {
 	return datalist
 }
 
+// 后端获得列表
+func (s *projectService) GetListBs(pageData viewmodels.ProjectPage, InsideCategoryId int) (data []viewmodels.Project, total int64) {
+	if pageData.Size > 100 {
+		pageData.Size = 100
+	}
+	datalist := make([]viewmodels.Project, 0)
+	projectData, count := s.dao.GetPageBs(pageData, InsideCategoryId)
+	for _, data := range projectData {
+		projectVM := makeProjectVM(&data)
+		datalist = append(datalist, projectVM)
+	}
+	return datalist, count
+}
+
 // 获得项目名称
 func (s *projectService) GetName(code string) []viewmodels.Project {
 	datalist := make([]viewmodels.Project, 0)

+ 2 - 2
web/backstage/login_bs.go

@@ -26,7 +26,7 @@ type LoginBs struct {
 // @Tags 后台 - 登录/登出
 // @Accept  json
 // @Produce  json
-// @Param   account     body    string     true        "CLD账号" 	default(蔡频)
+// @Param   staffName     body    string     true        "CLD账号" 	default(蔡频)
 // @Param   password     body    string    true        "密码"		default(123456)
 // @Success 200 {object} viewmodels.ProjectAccount "{code:0成功,data:viewmodels.ProjectAccount,msg:}"
 // @Failure 400 {string} string	"{code:-1参数类错误,msg:错误信息}"
@@ -59,7 +59,7 @@ func (c *LoginBs) Post() {
 // @Produce  json
 // @Success 200 {string} string	"{code:0,msg:string}"
 // @Failure 400 {string} string "{code:-1,msg:string}"
-// @Router /backstage/out [post]
+// @Router /backstage/login/out [post]
 func (c *LoginBs) PostOut() {
 	c.ServiceBackstage.Out(c.Ctx)
 	c.Ctx.JSON(iris.Map{"code": 0, "msg": ""})

+ 16 - 25
web/backstage/project_bs.go

@@ -23,29 +23,6 @@ type ProjectBs struct {
 	ServiceBackstage services.BackstageService
 }
 
-// // 保存项目管理员信息
-// func (c *ProjectBs) PostSave() {
-// 	ErrMsg := ""
-// 	// 验证内容
-// 	AccountData, err := c.ServiceProjectAccount.ValidRule(c.Ctx)
-// 	if err != nil {
-// 		ErrMsg = utils.FormValidError(err)
-// 		comm.Redirect(c.Ctx.ResponseWriter(), "/account?errMsg="+ErrMsg)
-// 	} else {
-// 		// 获得更新用户ID
-// 		id, err := c.Ctx.Values().GetInt("accountId")
-// 		if err != nil {
-// 			comm.Redirect(c.Ctx.ResponseWriter(), "/account?errMsg="+ErrMsg)
-// 		}
-// 		// 保存信息
-// 		err = c.ServiceProjectAccount.Save(AccountData, id, 0)
-// 		if err != nil {
-// 			comm.Redirect(c.Ctx.ResponseWriter(), "/account?errMsg="+ErrMsg)
-// 		}
-// 		comm.Redirect(c.Ctx.ResponseWriter(), "/account?success=修改成功")
-// 	}
-// }
-
 // @Summary 后台-项目列表相关
 // @Tags 后台 - 项目
 // @Accept  json
@@ -64,12 +41,26 @@ func (c *ProjectBs) GetList() {
 		return
 	}
 
+	// 标段ID
+	InsideCategoryId := 0
+	if pageData.InsideCategoryId != "" {
+		InsideCategoryId, err = utils.GetDecryptId(pageData.InsideCategoryId)
+		if err != nil {
+			c.Ctx.JSON(iris.Map{"code": -1, "msg": "ReadJSON转换异常,请检查参数"})
+			return
+		}
+	}
+
 	// 获得项目信息
-	dataList := c.ServiceProject.GetList(pageData.Page, pageData.Size)
+	dataList, total := c.ServiceProject.GetListBs(pageData, InsideCategoryId)
+	data := map[string]interface{}{
+		"item":  dataList,
+		"total": total,
+	}
 	c.Ctx.JSON(iris.Map{
 		"code": 0,
 		"msg":  "",
-		"data": dataList,
+		"data": data,
 	})
 
 }

+ 6 - 0
web/routes/routes.go

@@ -34,6 +34,7 @@ func Configure(b *bootstrap.Bootstrapper) {
 	ProjectMessageService := services.NewProjectMessageService()
 	VersionService := services.NewVersionService()
 	backstageService := services.NewBackstageService()
+	managerService2 := services.NewManagerService()
 
 	//CSRF相关
 	b.Use(middleware.SetCsrf)
@@ -224,4 +225,9 @@ func Configure(b *bootstrap.Bootstrapper) {
 	backstageAccountCM.Register(backstageService)
 	backstageAccountCM.Router.Use(middleware.SessionsBackstageAuth)
 	backstageAccountCM.Handle(new(backstage.ProjectAccountBs))
+
+	managerCM := mvc.New(b.Party("/api/backstage/manager"))
+	managerCM.Register(managerService2)
+	managerCM.Router.Use(middleware.SessionsBackstageAuth)
+	managerCM.Handle(new(backstage.ManagerBs))
 }

+ 4 - 2
web/viewmodels/project.go

@@ -41,8 +41,10 @@ type ProjectInfo struct {
 	Name        string `from:"name" json:"name"`
 }
 type ProjectPage struct {
-	Page int `form:"page" json:"page"`
-	Size int `form:"size" json:"size"`
+	Page             int    `form:"page" json:"page"`
+	Size             int    `form:"size" json:"size"`
+	InsideCategoryId string `form:"insideCategoryId" json:"insideCategoryId"`
+	Search           string `form:"search" json:"search"`
 }
 
 func (l ProjectPage) ValidatePage() error {