max time
This commit is contained in:
parent
431b36a2b1
commit
9686088e4b
|
@ -9,6 +9,7 @@ import (
|
|||
"github.com/smbrave/goutil"
|
||||
"github.com/spf13/cast"
|
||||
"gorm.io/gorm/utils"
|
||||
"math"
|
||||
"strings"
|
||||
"time"
|
||||
)
|
||||
|
@ -125,20 +126,32 @@ func (q *QyWeixin) GetCheckinData(day, userId string) (*UserCheckIn, error) {
|
|||
userData.UserId = userId
|
||||
exception := make([]string, 0)
|
||||
isException := false
|
||||
startTime := int64(math.MaxInt64)
|
||||
endTime := int64(0)
|
||||
for _, checkdata := range checkindatas {
|
||||
c := cast.ToStringMap(checkdata)
|
||||
checkinType := cast.ToString(c["checkin_type"])
|
||||
exceptionType := cast.ToString(c["exception_type"])
|
||||
checkinTime := cast.ToInt64(c["checkin_time"])
|
||||
if exceptionType != "" {
|
||||
isException = true
|
||||
}
|
||||
|
||||
exception = append(exception, exceptionType)
|
||||
if checkinType == "上班打卡" {
|
||||
userData.StartTime = cast.ToInt64(c["checkin_time"])
|
||||
if checkinTime < startTime {
|
||||
startTime = checkinTime
|
||||
}
|
||||
} else if checkinType == "下班打卡" {
|
||||
userData.EndTime = cast.ToInt64(c["checkin_time"])
|
||||
if checkinTime > endTime {
|
||||
endTime = checkinTime
|
||||
}
|
||||
}
|
||||
}
|
||||
if startTime != int64(math.MaxInt64) {
|
||||
userData.StartTime = startTime
|
||||
}
|
||||
userData.EndTime = endTime
|
||||
userData.Rawdata = goutil.EncodeJSON(checkindatas)
|
||||
if isException {
|
||||
userData.Exception = strings.Join(exception, ",")
|
||||
|
|
Loading…
Reference in New Issue