| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778 |
- package roi
- import (
- "fmt"
- "sort"
- "time"
- "bet24.com/log"
- )
- var mgr *roiManager
- type roiManager struct {
- list map[string][]*roiInfo
- }
- func Run() {
- mgr = new(roiManager)
- mgr.list = make(map[string][]*roiInfo)
- }
- // 录入数据
- func (this *roiManager) insert(info *roiInfo) {
- defer this.clear()
- insert(info)
- }
- // 删除数据
- func (this *roiManager) del(id int) int {
- defer this.clear()
- return del(id)
- }
- // 获取列表
- func (this *roiManager) getList(beginTime, endTime string) []*roiInfo {
- var list []*roiInfo
- end, _ := time.Parse(dateFormat, endTime)
- for begin, _ := time.Parse(dateFormat, beginTime); !begin.After(end); begin = begin.AddDate(0, 0, 1) {
- dateStr := begin.Format(dateFormat)
- key := fmt.Sprintf("%s", dateStr)
- v, ok := this.list[key]
- if ok {
- list = append(list, v...)
- continue
- }
- for _, v := range getList(dateStr) {
- log.Debug("roimgr.getList ==> %+v", v)
- if time.Now().Sub(begin).Hours() < 72 {
- list = append(list, v)
- continue
- }
- key = fmt.Sprintf("%s", v.DateFlag)
- this.list[key] = append(this.list[key], v)
- list = append(list, v)
- }
- }
- sort.SliceStable(list, func(i, j int) bool {
- return list[i].DateFlag > list[j].DateFlag
- })
- return list
- }
- // 获取列表
- func (this *roiManager) getListByMonth() []*roiInfo {
- return getListByMonth()
- }
- // 清空缓存
- func (this *roiManager) clear() {
- this.list = make(map[string][]*roiInfo)
- return
- }
|