caipin 3 yıl önce
ebeveyn
işleme
7dc0ae3271

+ 17 - 2
dao/version_dao.go

@@ -12,6 +12,7 @@ import (
 
 	"github.com/go-xorm/xorm"
 	"go.mod/models"
+	"go.mod/web/viewmodels"
 )
 
 // 数据库操作引擎
@@ -53,12 +54,26 @@ func (d *VersionDao) FindById(id int) *models.CmVersion {
 }
 
 // 获得版本更新列表
-func (d *VersionDao) GetList() []models.CmVersion {
+func (d *VersionDao) GetList(pageData viewmodels.Version) ([]models.CmVersion, int64) {
+
+	page := pageData.Page
+	size := pageData.Size
+	if page == 1 {
+		page = 0
+	} else {
+		page--
+		page = page * size
+	}
+
 	datalist := make([]models.CmVersion, 0)
+	version := &models.CmVersion{}
+
+	count, _ := d.engine.
+		Count(version)
 	_ = d.engine.
 		Desc("id").
 		Find(&datalist)
-	return datalist
+	return datalist, count
 }
 
 // 新增

+ 4 - 4
services/version_service.go

@@ -22,7 +22,7 @@ import (
 //定义项目用户Service接口
 type VersionService interface {
 	Get() *viewmodels.Version
-	GetListBs() []viewmodels.Version
+	GetListBs(pageData viewmodels.Version) ([]viewmodels.Version, int64)
 	Add(inputData viewmodels.Version) error
 	Delete(id int) error
 }
@@ -53,9 +53,9 @@ func (s *versionService) Get() *viewmodels.Version {
 }
 
 // 获得版本信息列表
-func (s *versionService) GetListBs() []viewmodels.Version {
+func (s *versionService) GetListBs(pageData viewmodels.Version) ([]viewmodels.Version, int64) {
 
-	versionList := s.versionDao.GetList()
+	versionList, total := s.versionDao.GetList(pageData)
 
 	datalist := make([]viewmodels.Version, 0)
 	for _, data := range versionList {
@@ -63,7 +63,7 @@ func (s *versionService) GetListBs() []viewmodels.Version {
 		datalist = append(datalist, itemVM)
 	}
 
-	return datalist
+	return datalist, total
 }
 
 // 新增版本信息11

+ 24 - 6
web/backstage/version_bs.go

@@ -25,16 +25,34 @@ type VersionBs struct {
 
 // 获得版本信息列表
 func (c *VersionBs) PostList() {
+
+	var (
+		err error
+	)
+
+	pageData := viewmodels.Version{}
+	if err = c.Ctx.ReadJSON(&pageData); err != nil {
+		log.Println("folder-ValidRule-ReadForm转换异常, error=", err)
+		c.Ctx.JSON(iris.Map{"code": -1, "msg": err})
+		return
+	}
+
+	if err = pageData.ValidatePage(); err != nil {
+		log.Println("参数验证错误, error=", err)
+		c.Ctx.JSON(iris.Map{"code": -1, "msg": err})
+		return
+	}
+
 	// 获得项目信息
-	dataList := c.VersionService.GetListBs()
-	// data := map[string]interface{}{
-	// 	"items": dataList,
-	// 	"total": total,
-	// }
+	dataList, total := c.VersionService.GetListBs(pageData)
+	data := map[string]interface{}{
+		"items": dataList,
+		"total": total,
+	}
 	c.Ctx.JSON(iris.Map{
 		"code": 0,
 		"msg":  "",
-		"data": dataList,
+		"data": data,
 	})
 }
 

+ 10 - 0
web/viewmodels/version.go

@@ -13,6 +13,8 @@ type Version struct {
 	Name       string `form:"name" json:"name" `
 	CreateTime string `form:"createTime" json:"createTime" `
 	Content    string `form:"content" json:"content" `
+	Page       int    `form:"page" json:"page"`
+	Size       int    `form:"size" json:"size"`
 }
 
 func (l Version) ValidateAdd() error {
@@ -27,3 +29,11 @@ func (l Version) ValidateDel() error {
 		validation.Field(&l.Id, validation.Required.Error("ID不能为空")),
 	)
 }
+
+func (l Version) ValidatePage() error {
+	return validation.ValidateStruct(&l,
+		// 字符的4倍
+		validation.Field(&l.Page, validation.Required.Error("当前页不能为空")),
+		// validation.Field(&l.Size, validation.Required.Error("每页数量不能为空")),
+	)
+}