浏览代码

修改研究员列表排序

kobe6258 8 月之前
父节点
当前提交
3f7f2f2967

+ 10 - 1
controllers/user/analyst_controller.go

@@ -29,10 +29,19 @@ func (an *AnalystController) AnalystList() {
 			Current:  an.PageInfo.Current,
 			PageSize: an.PageInfo.PageSize,
 		}
+		if an.PageInfo.LatestId == 0 {
+			pageRes.Total = analyst.GetAnalystCount()
+			pageRes.LatestId = pageRes.Total
+			an.PageInfo.LatestId = pageRes.LatestId
+			an.PageInfo.Total = pageRes.Total
+		} else {
+			pageRes.LatestId = an.PageInfo.LatestId
+			pageRes.Total = an.PageInfo.Total
+		}
 		pageRes.Total = analyst.GetAnalystCount()
 		an.PageInfo.Total = pageRes.Total
 		pageRes.TotalPage = page.TotalPages(pageRes.Total, pageRes.PageSize)
-		list, err := analyst.GetAnalystList(pageRes, userInfo.Id)
+		list, err := analyst.GetAnalystList(an.PageInfo, userInfo.Id)
 		if err != nil {
 			an.FailedResult("获取研究员列表失败", result)
 			return

+ 2 - 2
domian/financial_analyst/financial_analyst_service.go

@@ -16,9 +16,9 @@ type FinancialAnalystDTO struct {
 	Deleted      bool
 }
 
-func GetAnalystList(pageInfo page.Page) (analystsDTO []FinancialAnalystDTO, err error) {
+func GetAnalystList(pageInfo page.PageInfo) (analystsDTO []FinancialAnalystDTO, err error) {
 	offset := page.StartIndex(pageInfo.Current, pageInfo.PageSize)
-	anaylsts, err := financialAnalystDao.GetAnalystList(offset, pageInfo.PageSize)
+	anaylsts, err := financialAnalystDao.GetAnalystList(pageInfo.LatestId, offset, pageInfo.PageSize)
 	for _, analyst := range anaylsts {
 		analystsDTO = append(analystsDTO, convertToBaseDTO(analyst))
 	}

+ 14 - 3
models/financial_analyst/financial_analyst.go

@@ -1,6 +1,8 @@
 package financial_analyst
 
 import (
+	"errors"
+	logger "eta/eta_mini_ht_api/common/component/log"
 	"eta/eta_mini_ht_api/models"
 	"gorm.io/gorm"
 	"gorm.io/gorm/clause"
@@ -59,15 +61,24 @@ func GetAnalystByName(name string) (analyst CrmFinancialAnalyst, err error) {
 
 func GetCount() (total int64) {
 	db := models.Main()
-	err := db.Model(&CrmFinancialAnalyst{}).Select("count(*) count").Scan(&total).Error
+	err := db.Model(&CrmFinancialAnalyst{}).Select("count(*) count").Scan(&total).Order("id asc").Error
 	if err != nil {
 		return 0
 	}
 	return
 }
 
-func GetAnalystList(offset int, limit int) (analysts []CrmFinancialAnalyst, err error) {
+func GetAnalystList(latestId int64, offset int, limit int) (analysts []CrmFinancialAnalyst, err error) {
+	if latestId < 0 {
+		err = errors.New("非法的id参数")
+		logger.Error("非法的id参数:%d", latestId)
+		return
+	}
+	if limit <= 0 {
+		err = errors.New("非法的limit参数")
+		logger.Error("非法的limit参数:%d", limit)
+	}
 	db := models.Main()
-	err = db.Select(columns).Offset(offset).Limit(limit).Find(&analysts).Order("create_time desc").Error
+	err = db.Select(columns).Where(" id<= ? ", latestId).Offset(offset).Limit(limit).Find(&analysts).Order("create_time desc").Error
 	return
 }

+ 1 - 2
routers/router.go

@@ -4,7 +4,6 @@ import (
 	"eta/eta_mini_ht_api/controllers/media"
 	"eta/eta_mini_ht_api/controllers/report"
 	"eta/eta_mini_ht_api/controllers/user"
-	"eta/eta_mini_ht_api/middleware"
 	"github.com/beego/beego/v2/server/web"
 	"github.com/beego/beego/v2/server/web/filter/cors"
 	"time"
@@ -21,7 +20,7 @@ func init() {
 	}))
 	//增加授权拦截
 
-	web.InsertFilter("*", web.BeforeRouter, middleware.AuthMiddleware())
+	//web.InsertFilter("*", web.BeforeRouter, middleware.AuthMiddleware())
 
 	ns := web.NewNamespace("/htapi",
 		web.NSNamespace("/user",

+ 2 - 2
service/analyst/analyst_service.go

@@ -21,8 +21,8 @@ func GetAnalystCount() (total int64) {
 	return analystService.GetCount()
 }
 
-func GetAnalystList(page page.Page, userId int) (analysts []Analyst, err error) {
-	List, err := analystService.GetAnalystList(page)
+func GetAnalystList(pageInfo page.PageInfo, userId int) (analysts []Analyst, err error) {
+	List, err := analystService.GetAnalystList(pageInfo)
 	if err != nil {
 		logger.Error("查询研究员列表失败:%v", err)
 		err = exception.New(exception.GetAnalystListFailed)