123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104 |
- package unicom
- import (
- "strconv"
- "time"
- "go-common/app/interface/main/app-wall/conf"
- log "go-common/library/log"
- binfoc "go-common/library/log/infoc"
- )
- type orderInfoc struct {
- usermob string
- orderType string
- ip string
- mobiApp string
- build string
- now string
- }
- type ipInfoc struct {
- usermob string
- isValide string
- ip string
- mobiApp string
- build string
- now string
- }
- type packInfoc struct {
- usermob string
- phone string
- mid string
- requestNo string
- packName string
- packIntegral string
- packType string
- now string
- }
- // Infoc write data for Hadoop do analytics
- func (s *Service) unicomInfoc(mobiApp, usermob, ip string, build, orderType int, now time.Time) {
- select {
- case s.logCh <- orderInfoc{usermob, strconv.Itoa(orderType), ip, mobiApp, strconv.Itoa(build), strconv.FormatInt(now.Unix(), 10)}:
- default:
- log.Warn("unicomInfoc log buffer is full")
- }
- }
- // Infoc write data for Hadoop do analytics
- func (s *Service) ipInfoc(mobiApp, usermob, ip string, build int, isValide bool, now time.Time) {
- select {
- case s.logCh <- ipInfoc{usermob, strconv.FormatBool(isValide), ip, mobiApp, strconv.Itoa(build), strconv.FormatInt(now.Unix(), 10)}:
- default:
- log.Warn("ipInfoc log buffer is full")
- }
- }
- func (s *Service) unicomInfocproc() {
- var (
- unicominf2 = binfoc.New(conf.Conf.UnicomUserInfoc2)
- ipinf2 = binfoc.New(conf.Conf.UnicomIpInfoc2)
- )
- for {
- i, ok := <-s.logCh
- if !ok {
- log.Warn("infoc proc exit")
- return
- }
- switch v := i.(type) {
- case orderInfoc:
- unicominf2.Info(v.now, "0", v.usermob, v.orderType, v.ip, v.mobiApp, v.build)
- case ipInfoc:
- ipinf2.Info(v.now, "0", v.isValide, v.ip, v.usermob, v.mobiApp, v.build)
- }
- }
- }
- // 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)
- }
- }
- }
|