package svc import ( "callback/internal/config" "callback/model" "callback/pkg/wxwork/wxapi" "callback/pkg/wxwork/wxbizjsonmsgcrypt" "github.com/zeromicro/go-zero/core/stores/redis" "github.com/zeromicro/go-zero/core/stores/sqlx" ) type ServiceContext struct { Config config.Config Wxcpt *wxbizjsonmsgcrypt.WXBizMsgCrypt WxApi *wxapi.WxApi Redis *redis.Redis CbCustomerModel model.CbCustomerModel CbMsgModel model.CbMsgModel CbServicerModel model.CbServicerModel CbServiceModel model.CbServiceModel CbStaffModel model.CbStaffModel } func NewServiceContext(c config.Config) *ServiceContext { sqlConn := sqlx.NewMysql(c.Mysql.Datasource) newRedis, _ := redis.NewRedis(c.Redis) return &ServiceContext{ Config: c, Wxcpt: wxbizjsonmsgcrypt.NewWXBizMsgCrypt(c.Wxwork.Token, c.Wxwork.EncodingAeskey, c.Wxwork.ReceiverId, wxbizjsonmsgcrypt.JsonType), WxApi: wxapi.NewWxApi(c.Wxwork.Corpid, c.Wxwork.Corpsecret), Redis: newRedis, CbCustomerModel: model.NewCbCustomerModel(sqlConn), CbMsgModel: model.NewCbMsgModel(sqlConn), CbServicerModel: model.NewCbServicerModel(sqlConn), CbServiceModel: model.NewCbServiceModel(sqlConn), CbStaffModel: model.NewCbStaffModel(sqlConn), } }