123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128 |
- package model
- import (
- "time"
- )
- // LoopOffset single table offset
- type LoopOffset struct {
- IsLoop bool
- OffsetID int64
- OffsetTime string
- TempOffsetID int64
- TempOffsetTime string
- RecoverID int64
- RecoverTime string
- TempRecoverID int64
- TempRecoverTime string
- ReviewID int64
- ReviewTime int64
- }
- // SetLoop .
- func (lo *LoopOffset) SetLoop(isLoop bool) {
- lo.IsLoop = isLoop
- }
- // SetReview .
- func (lo *LoopOffset) SetReview(rid int64, rtime int64) {
- lo.ReviewID = rid
- lo.ReviewTime = rtime
- }
- // SetOffset .
- func (lo *LoopOffset) SetOffset(id int64, t string) {
- if id != 0 {
- lo.OffsetID = id
- }
- if t != "" {
- lo.OffsetTime = t
- if !lo.IsLoop {
- if local, err := time.LoadLocation("Local"); err == nil {
- if t2, e := time.ParseInLocation("2006-01-02 15:04:05", t, local); e == nil && t2.Unix()-lo.ReviewTime > 0 {
- lo.OffsetTime = time.Unix(t2.Unix()-lo.ReviewTime, 0).Format("2006-01-02 15:04:05") //往前推ReviewTime
- }
- }
- }
- }
- }
- // SetTempOffset .
- func (lo *LoopOffset) SetTempOffset(id int64, time string) {
- if id != 0 {
- lo.TempOffsetID = id
- }
- if time != "" {
- lo.TempOffsetTime = time
- }
- }
- // SetRecoverOffset .
- func (lo *LoopOffset) SetRecoverOffset(recoverID int64, recoverTime string) {
- if recoverID >= 0 {
- lo.RecoverID = recoverID
- }
- if recoverTime != "" {
- lo.RecoverTime = recoverTime
- }
- }
- // SetRecoverTempOffset .
- func (lo *LoopOffset) SetRecoverTempOffset(recoverID int64, recoverTime string) {
- if recoverID >= 0 {
- lo.TempRecoverID = recoverID
- }
- if recoverTime != "" {
- lo.TempRecoverTime = recoverTime
- }
- }
- // LoopOffsets more tables offset
- type LoopOffsets map[int]*LoopOffset
- // SetLoops .
- func (los LoopOffsets) SetLoops(i int, isLoop bool) {
- if _, ok := los[i]; ok {
- los[i].IsLoop = isLoop
- }
- }
- // SetOffsets .
- func (los LoopOffsets) SetOffsets(i int, id int64, time string) {
- if id != 0 {
- los[i].OffsetID = id
- }
- if time != "" {
- los[i].OffsetTime = time
- }
- }
- // SetTempOffsets .
- func (los LoopOffsets) SetTempOffsets(i int, id int64, time string) {
- if id != 0 {
- los[i].TempOffsetID = id
- }
- if time != "" {
- los[i].TempOffsetTime = time
- }
- }
- // SetRecoverOffsets .
- func (los LoopOffsets) SetRecoverOffsets(i int, recoverID int64, recoverTime string) {
- if recoverID >= 0 {
- los[i].RecoverID = recoverID
- }
- if recoverTime != "" {
- los[i].RecoverTime = recoverTime
- }
- }
- // SetRecoverTempOffsets .
- func (los LoopOffsets) SetRecoverTempOffsets(i int, recoverID int64, recoverTime string) {
- if recoverID >= 0 {
- los[i].TempRecoverID = recoverID
- }
- if recoverTime != "" {
- los[i].TempRecoverTime = recoverTime
- }
- }
|