Roc 1 år sedan
förälder
incheckning
780002e427
1 ändrade filer med 45 tillägg och 4 borttagningar
  1. 45 4
      controllers/company_user.go

+ 45 - 4
controllers/company_user.go

@@ -2954,10 +2954,7 @@ func (this *CompanyUserController) ViewReportList() {
 	}
 
 	var lastViewTimeT time.Time
-	if lastViewTime == `` {
-		lastViewTimeT = time.Now()
-		lastViewTime = lastViewTimeT.Format(utils.FormatDateTime)
-	} else {
+	if lastViewTime != `` {
 		lastViewTimeT, err = time.ParseInLocation(utils.FormatDateTime, lastViewTime, time.Local)
 		if err != nil {
 			br.Msg = "获取失败"
@@ -2983,16 +2980,60 @@ func (this *CompanyUserController) ViewReportList() {
 
 	// 阅读记录汇总数
 	total := item.FiccViewTotal + item.RaiViewTotal
+
 	switch txtType {
 	case 1:
 		baseCondition += ` AND source = ? `
 		basePars = append(basePars, 4)
 		total = item.FiccViewTotal
+
+		if lastViewTimeT.IsZero() {
+			if item.FiccLastViewTime != `` && item.FiccLastViewTime != `0000-00-00 00:00:00` {
+				lastViewTimeT, _ = time.ParseInLocation(utils.FormatDateTime, item.FiccLastViewTime, time.Local)
+			} else {
+				lastViewTimeT = time.Now()
+			}
+			lastViewTime = lastViewTimeT.Format(utils.FormatDateTime)
+		}
 	// 权益
 	case 2: // ficc
 		baseCondition += ` AND source in (?,?,?) `
 		basePars = append(basePars, 1, 2, 3)
 		total = item.RaiViewTotal
+		if lastViewTimeT.IsZero() {
+			if item.RaiLastViewTime != `` && item.RaiLastViewTime != `0000-00-00 00:00:00` {
+				lastViewTimeT, _ = time.ParseInLocation(utils.FormatDateTime, item.RaiLastViewTime, time.Local)
+			} else {
+				lastViewTimeT = time.Now()
+			}
+			lastViewTime = lastViewTimeT.Format(utils.FormatDateTime)
+		}
+	default:
+		if lastViewTimeT.IsZero() {
+			var ficcViewTime, raiViewTime time.Time
+			if item.FiccLastViewTime != `` && item.FiccLastViewTime != `0000-00-00 00:00:00` {
+				ficcViewTime, _ = time.ParseInLocation(utils.FormatDateTime, item.FiccLastViewTime, time.Local)
+			}
+			if item.RaiLastViewTime != `` && item.RaiLastViewTime != `0000-00-00 00:00:00` {
+				raiViewTime, _ = time.ParseInLocation(utils.FormatDateTime, item.RaiLastViewTime, time.Local)
+			}
+
+			// 如果两个都没有值的话,那么就是当前时间
+			if ficcViewTime.IsZero() && raiViewTime.IsZero() {
+				lastViewTimeT = time.Now()
+			} else if !ficcViewTime.IsZero() && !raiViewTime.IsZero() {
+				if ficcViewTime.After(raiViewTime) {
+					lastViewTimeT = ficcViewTime
+				} else {
+					lastViewTimeT = raiViewTime
+				}
+			} else if !ficcViewTime.IsZero() {
+				lastViewTimeT = ficcViewTime
+			} else {
+				lastViewTimeT = raiViewTime
+			}
+			lastViewTime = lastViewTimeT.Format(utils.FormatDateTime)
+		}
 	}
 
 	// 开始实际的查询