浏览代码

fix:计算剩余天数

zqbao 9 月之前
父节点
当前提交
7c9ffb6b0c
共有 2 个文件被更改,包括 21 次插入2 次删除
  1. 20 1
      controllers/user.go
  2. 1 1
      models/user.go

+ 20 - 1
controllers/user.go

@@ -7,6 +7,7 @@ import (
 	"eta/eta_mini_crm/models/response"
 	"eta/eta_mini_crm/services"
 	"eta/eta_mini_crm/utils"
+	"math"
 	"strings"
 	"time"
 
@@ -494,7 +495,7 @@ func (this *UserController) List() {
 		case "CreateTime":
 			param = "u.create_time"
 		case "RestDate":
-			param = "u.rest_date"
+			param = "u.valid_end_time"
 		}
 		switch sortType {
 		case "asc":
@@ -613,6 +614,24 @@ func (this *UserController) List() {
 		br.Msg = "查询用户失败,系统错误,Err:" + err.Error()
 		return
 	}
+	for _, u := range userList {
+		if u.ValidEndTime == "" {
+			u.RestDate = 0
+		} else {
+			endTime, err := time.Parse(utils.FormatDateTime, u.ValidEndTime)
+			if err != nil {
+				br.Msg = "用户有效时间格式有误"
+				br.ErrMsg = "用户有效时间格式有误,Err:" + err.Error()
+				return
+			}
+			// 对天数向上取整
+			daysBetween := int(math.Ceil(time.Until(endTime).Hours() / 24))
+			if daysBetween < 0 {
+				daysBetween = 0
+			}
+			u.RestDate = daysBetween
+		}
+	}
 	page := paging.GetPaging(currentIndex, pageSize, total)
 	resp := new(response.UserListResp)
 	resp.Paging = page

+ 1 - 1
models/user.go

@@ -139,7 +139,7 @@ func GetUserList(condition string, pars []interface{}, startSize, pageSize int)
 }
 
 func GetUserListByConditonSort(condition, sortConditon string, pars []interface{}, startSize, pageSize int) (items []*UserView, err error) {
-	sql := `SELECT u.*, su.sys_real_name AS seller_name, TIMESTAMPDIFF(DAY, NOW(), valid_end_time) AS rest_day
+	sql := `SELECT u.*, su.sys_real_name AS seller_name
 	FROM user AS u
 	LEFT JOIN sys_user AS su
 	ON u.seller_id = su.sys_user_id