go-common/app/job/main/app-wall/service/unicom/infoc.go

89 lines
2.1 KiB
Go
Raw Normal View History

2019-04-22 10:49:16 +00:00
package unicom
import (
"strconv"
"time"
"go-common/app/job/main/app-wall/conf"
"go-common/library/log"
binfoc "go-common/library/log/infoc"
)
type infoc struct {
usermob string
phone string
mid string
leve string
integral string
flow string
unicomtype string
now string
}
type packInfoc struct {
usermob string
phone string
mid string
requestNo string
packName string
packIntegral string
packType string
now string
}
// unicomInfoc unicom user infoc
func (s *Service) unicomInfoc(usermob string, phone, leve, integral, flow int, utype string, mid int64, now time.Time) {
select {
case s.logCh[mid%s.c.ChanDBNum] <- infoc{usermob, strconv.Itoa(phone), strconv.FormatInt(mid, 10),
strconv.Itoa(leve), strconv.Itoa(integral), strconv.Itoa(flow), utype, strconv.FormatInt(now.Unix(), 10)}:
default:
log.Warn("unicomInfoc log buffer is full")
}
}
func (s *Service) unicomInfocproc(i int64) {
var (
cliChan = s.logCh[i]
packinf = binfoc.New(conf.Conf.UnicomUserInfoc2)
)
for {
i, ok := <-cliChan
if !ok {
log.Warn("infoc proc exit")
return
}
switch v := i.(type) {
case infoc:
packinf.Info(v.now, "0", v.usermob, v.phone, v.mid, v.leve, v.integral, v.flow, v.unicomtype)
log.Info("unicomInfocproc log mid(%v) phone(%v)", v.mid, v.phone)
}
}
}
// unicomPackInfoc unicom pack infoc
func (s *Service) unicomPackInfoc(usermob, packName, orderNumber string, phone, packIntegral, packType int, mid int64, now time.Time) {
select {
case s.packCh <- packInfoc{usermob, strconv.Itoa(phone), strconv.FormatInt(mid, 10),
orderNumber, packName, strconv.Itoa(packIntegral), strconv.Itoa(packType), strconv.FormatInt(now.Unix(), 10)}:
default:
log.Warn("unicomPackInfoc log buffer is full")
}
}
func (s *Service) unicomPackInfocproc() {
var (
packinf = binfoc.New(conf.Conf.UnicomPackInfoc)
)
for {
i, ok := <-s.packCh
if !ok {
log.Warn("infoc proc exit")
return
}
switch v := i.(type) {
case packInfoc:
packinf.Info(v.now, "0", v.usermob, v.phone, v.mid, v.requestNo, v.packName, v.packIntegral, v.packType)
}
}
}