by Robin at 20240511
This commit is contained in:
parent
7064b771e2
commit
f6ee79f147
|
@ -112,48 +112,6 @@ type OpGetMobilePhoneByUserIdResp struct {
|
||||||
Data *OpGetMobilePhoneByUserIdData `json:"data"`
|
Data *OpGetMobilePhoneByUserIdData `json:"data"`
|
||||||
}
|
}
|
||||||
|
|
||||||
// 根据UserId模糊查询(和姓名取交集)
|
|
||||||
type OpListFuzzilyByUserIdReq struct {
|
|
||||||
base.BaseRequest
|
|
||||||
UserId *int64 `json:"user_id"` //user_id模糊匹配
|
|
||||||
Role *int64 `json:"role"` //角色
|
|
||||||
Offset int `json:"offset"`
|
|
||||||
Limit int `json:"limit"`
|
|
||||||
Sort []string
|
|
||||||
}
|
|
||||||
|
|
||||||
type OpListFuzzilyByUserIdData struct {
|
|
||||||
List []*OpListVO `json:"list"`
|
|
||||||
Offset int `json:"offset"`
|
|
||||||
More int `json:"more"`
|
|
||||||
}
|
|
||||||
|
|
||||||
type OpListFuzzilyByUserIdResp struct {
|
|
||||||
base.BaseResponse
|
|
||||||
Data *OpListFuzzilyByUserIdData `json:"data"`
|
|
||||||
}
|
|
||||||
|
|
||||||
// 根据Name模糊查询
|
|
||||||
type OpListFuzzilyByNameReq struct {
|
|
||||||
base.BaseRequest
|
|
||||||
Name string `json:"name"` //name模糊匹配
|
|
||||||
Role *int64 `json:"role"` //角色
|
|
||||||
Offset int `json:"offset"`
|
|
||||||
Limit int `json:"limit"`
|
|
||||||
Sort []string
|
|
||||||
}
|
|
||||||
|
|
||||||
type OpListFuzzilyByNameData struct {
|
|
||||||
List []*OpListVO `json:"list"`
|
|
||||||
Offset int `json:"offset"`
|
|
||||||
More int `json:"more"`
|
|
||||||
}
|
|
||||||
|
|
||||||
type OpListFuzzilyByNameResp struct {
|
|
||||||
base.BaseResponse
|
|
||||||
Data *OpListFuzzilyByNameData `json:"data"`
|
|
||||||
}
|
|
||||||
|
|
||||||
// op 列表-查询他人
|
// op 列表-查询他人
|
||||||
type OpListOthersByMidReq struct {
|
type OpListOthersByMidReq struct {
|
||||||
base.BaseRequest
|
base.BaseRequest
|
||||||
|
|
|
@ -29,18 +29,6 @@ func (p *OpGetMobilePhoneByUserIdReq) ProvideNotNullValue() (params []*validator
|
||||||
return params
|
return params
|
||||||
}
|
}
|
||||||
|
|
||||||
func (p *OpListFuzzilyByUserIdReq) ProvideNotNullValue() (params []*validator.JsonParam) {
|
|
||||||
params = make([]*validator.JsonParam, 1)
|
|
||||||
params[0] = validator.NewInt64PtrParam("查询UserId不可为空!", p.UserId)
|
|
||||||
return params
|
|
||||||
}
|
|
||||||
|
|
||||||
func (p *OpListFuzzilyByNameReq) ProvideNotNullValue() (params []*validator.JsonParam) {
|
|
||||||
params = make([]*validator.JsonParam, 1)
|
|
||||||
params[0] = validator.NewStringParam("查询UserId不可为空!", p.Name)
|
|
||||||
return params
|
|
||||||
}
|
|
||||||
|
|
||||||
func (p *OpListOthersByMidReq) ProvideNotNullValue() (params []*validator.JsonParam) {
|
func (p *OpListOthersByMidReq) ProvideNotNullValue() (params []*validator.JsonParam) {
|
||||||
params = make([]*validator.JsonParam, 1)
|
params = make([]*validator.JsonParam, 1)
|
||||||
params[0] = validator.NewInt64PtrParam("查询Mid不可为空!", p.Mid)
|
params[0] = validator.NewInt64PtrParam("查询Mid不可为空!", p.Mid)
|
||||||
|
|
|
@ -0,0 +1,37 @@
|
||||||
|
package proto
|
||||||
|
|
||||||
|
import "service/api/base"
|
||||||
|
|
||||||
|
// 根据UserId模糊查询(和姓名取并集)
|
||||||
|
type OpListFuzzilyByUserIdReq struct {
|
||||||
|
base.BaseRequest
|
||||||
|
UserIdString string `json:"user_id_string"` //user_id模糊匹配
|
||||||
|
Offset int `json:"offset"`
|
||||||
|
Limit int `json:"limit"`
|
||||||
|
Sort []string
|
||||||
|
}
|
||||||
|
|
||||||
|
type OpListFuzzilyByUserIdData struct {
|
||||||
|
}
|
||||||
|
|
||||||
|
type OpListFuzzilyByUserIdResp struct {
|
||||||
|
base.BaseResponse
|
||||||
|
Data *OpListFuzzilyByUserIdData `json:"data"`
|
||||||
|
}
|
||||||
|
|
||||||
|
// 根据Name模糊查询
|
||||||
|
type OpListFuzzilyByNameReq struct {
|
||||||
|
base.BaseRequest
|
||||||
|
Name string `json:"name"` //name模糊匹配
|
||||||
|
Offset int `json:"offset"`
|
||||||
|
Limit int `json:"limit"`
|
||||||
|
Sort []string
|
||||||
|
}
|
||||||
|
|
||||||
|
type OpListFuzzilyByNameData struct {
|
||||||
|
}
|
||||||
|
|
||||||
|
type OpListFuzzilyByNameResp struct {
|
||||||
|
base.BaseResponse
|
||||||
|
Data *OpListFuzzilyByNameData `json:"data"`
|
||||||
|
}
|
|
@ -1,4 +1,125 @@
|
||||||
package dao
|
package dao
|
||||||
|
|
||||||
|
import (
|
||||||
|
"encoding/json"
|
||||||
|
"fmt"
|
||||||
|
"service/app/mix/conf"
|
||||||
|
"service/bizcommon/util"
|
||||||
|
"service/dbstruct"
|
||||||
|
"service/library/elasticsearchdb"
|
||||||
|
"service/library/logger"
|
||||||
|
|
||||||
|
streameracctproto "service/api/proto/streamer_acct/proto"
|
||||||
|
|
||||||
|
"github.com/gin-gonic/gin"
|
||||||
|
"github.com/olivere/elastic/v7"
|
||||||
|
)
|
||||||
|
|
||||||
|
const (
|
||||||
|
EsEnvProd = 0
|
||||||
|
EsEnvTest = 1
|
||||||
|
EsEnvLocal = 2
|
||||||
|
)
|
||||||
|
|
||||||
type ElasticSearch struct {
|
type ElasticSearch struct {
|
||||||
|
clientMix *elastic.Client
|
||||||
|
indexsuffix string
|
||||||
|
}
|
||||||
|
|
||||||
|
func NewElasticSearch(cfg *conf.ConfigSt) (es *ElasticSearch, err error) {
|
||||||
|
es = new(ElasticSearch)
|
||||||
|
|
||||||
|
es.clientMix, err = elasticsearchdb.NewElasticSearchClient(cfg.ElasticSearch)
|
||||||
|
if err != nil {
|
||||||
|
logger.Error("NewElasticSearchClient fail, cfg: %v, err: %v", util.ToJson(cfg.ElasticSearch), err)
|
||||||
|
return
|
||||||
|
}
|
||||||
|
|
||||||
|
es.indexsuffix = cfg.ElasticSearch.IndexSuffix
|
||||||
|
|
||||||
|
return
|
||||||
|
}
|
||||||
|
|
||||||
|
const (
|
||||||
|
IndexStreamerAcct = "streamer_acct"
|
||||||
|
TypeStreamerAcct = "_doc"
|
||||||
|
)
|
||||||
|
|
||||||
|
func (es *ElasticSearch) getIndexStreamerAcct() string {
|
||||||
|
return IndexStreamerAcct + es.indexsuffix
|
||||||
|
}
|
||||||
|
|
||||||
|
func (es *ElasticSearch) CreateStreamerAcct(ctx *gin.Context, streameraccts []*dbstruct.EsStreamerAcct) error {
|
||||||
|
bulk := es.clientMix.Bulk().Index(es.getIndexStreamerAcct()).Refresh("true")
|
||||||
|
for _, streameracct := range streameraccts {
|
||||||
|
bulk.Add(elastic.NewBulkCreateRequest().Doc(streameracct))
|
||||||
|
}
|
||||||
|
_, err := bulk.Do(ctx)
|
||||||
|
return err
|
||||||
|
}
|
||||||
|
|
||||||
|
func (es *ElasticSearch) UpdateStreamerAcct(ctx *gin.Context, streameracct *dbstruct.EsStreamerAcct) error {
|
||||||
|
_, err := es.clientMix.Update().Index(es.getIndexStreamerAcct()).Id(fmt.Sprint(streameracct.Mid)).Doc(map[string]any{
|
||||||
|
"name": streameracct.Name,
|
||||||
|
"ut": streameracct.Ut,
|
||||||
|
}).Do(ctx)
|
||||||
|
return err
|
||||||
|
}
|
||||||
|
|
||||||
|
func (es *ElasticSearch) GetStreamerAcctListFuzzilyByName(ctx *gin.Context, req *streameracctproto.OpListFuzzilyByNameReq) (list []*dbstruct.EsStreamerAcct, err error) {
|
||||||
|
|
||||||
|
list = make([]*dbstruct.EsStreamerAcct, 0)
|
||||||
|
|
||||||
|
delFlagClause := elastic.NewMatchQuery("del_flag", 0)
|
||||||
|
nameClause := elastic.NewMatchQuery("name", req.Name)
|
||||||
|
query := elastic.NewBoolQuery()
|
||||||
|
query.Must(nameClause, delFlagClause)
|
||||||
|
|
||||||
|
res, err := es.clientMix.Search(es.getIndexStreamerAcct()).Query(query).From(req.Offset).Size(req.Limit).Sort("ct", true).Do(ctx)
|
||||||
|
if err != nil {
|
||||||
|
logger.Error("Search %v fail, err: %v", IndexStreamerAcct, err)
|
||||||
|
return
|
||||||
|
}
|
||||||
|
|
||||||
|
for _, hit := range res.Hits.Hits {
|
||||||
|
streameracct := &dbstruct.EsStreamerAcct{}
|
||||||
|
err = json.Unmarshal(hit.Source, streameracct)
|
||||||
|
if err != nil {
|
||||||
|
logger.Error("json Unmarshal fail, err: %v", err)
|
||||||
|
return
|
||||||
|
}
|
||||||
|
list = append(list, streameracct)
|
||||||
|
}
|
||||||
|
|
||||||
|
return
|
||||||
|
}
|
||||||
|
|
||||||
|
func (es *ElasticSearch) GetStreamerAcctListFuzzilyByUserId(ctx *gin.Context, req *streameracctproto.OpListFuzzilyByUserIdReq) (list []*dbstruct.EsStreamerAcct, err error) {
|
||||||
|
|
||||||
|
list = make([]*dbstruct.EsStreamerAcct, 0)
|
||||||
|
|
||||||
|
delFlagClause := elastic.NewMatchQuery("del_flag", 0)
|
||||||
|
nameClause := elastic.NewMatchQuery("name", req.UserIdString)
|
||||||
|
userIdStringClause := elastic.NewMatchQuery("user_id_string", req.UserIdString)
|
||||||
|
orClause := elastic.NewBoolQuery().Should(nameClause, userIdStringClause)
|
||||||
|
query := elastic.NewBoolQuery().Must()
|
||||||
|
query.Must(orClause, delFlagClause)
|
||||||
|
|
||||||
|
res, err := es.clientMix.Search(es.getIndexStreamerAcct()).Query(query).From(req.Offset).Size(req.Limit).Sort("ct", true).Do(ctx)
|
||||||
|
if err != nil {
|
||||||
|
logger.Error("Search %v fail, err: %v", IndexStreamerAcct, err)
|
||||||
|
return
|
||||||
|
}
|
||||||
|
|
||||||
|
for _, hit := range res.Hits.Hits {
|
||||||
|
streameracct := &dbstruct.EsStreamerAcct{}
|
||||||
|
err = json.Unmarshal(hit.Source, streameracct)
|
||||||
|
if err != nil {
|
||||||
|
logger.Error("json Unmarshal fail, err: %v", err)
|
||||||
|
return
|
||||||
|
}
|
||||||
|
list = append(list, streameracct)
|
||||||
|
}
|
||||||
|
|
||||||
|
return
|
||||||
}
|
}
|
||||||
|
|
|
@ -1246,57 +1246,6 @@ func (m *Mongo) GetAccountListByPhoneHash(ctx *gin.Context, phonehash string) ([
|
||||||
return list, err
|
return list, err
|
||||||
}
|
}
|
||||||
|
|
||||||
func (m *Mongo) GetStreamerAcctListFuzzilyByName(ctx *gin.Context, req *accountproto.OpListFuzzilyByNameReq) ([]*dbstruct.StreamerAcct, error) {
|
|
||||||
list := make([]*dbstruct.StreamerAcct, 0)
|
|
||||||
col := m.getColStreamerAcct()
|
|
||||||
query := qmgo.M{
|
|
||||||
"del_flag": 0,
|
|
||||||
"name": bson.M{
|
|
||||||
"$regex": req.Name,
|
|
||||||
},
|
|
||||||
}
|
|
||||||
if len(req.Sort) == 0 {
|
|
||||||
req.Sort = append(req.Sort, "-ct")
|
|
||||||
}
|
|
||||||
|
|
||||||
err := col.Find(ctx, query).Sort(req.Sort...).Skip(int64(req.Offset)).Limit(int64(req.Limit)).All(&list)
|
|
||||||
if err == qmgo.ErrNoSuchDocuments {
|
|
||||||
err = nil
|
|
||||||
return list, err
|
|
||||||
}
|
|
||||||
return list, err
|
|
||||||
}
|
|
||||||
|
|
||||||
func (m *Mongo) GetStreamerAcctListFuzzilyByUserId(ctx *gin.Context, req *accountproto.OpListFuzzilyByUserIdReq) ([]*dbstruct.StreamerAcct, error) {
|
|
||||||
list := make([]*dbstruct.StreamerAcct, 0)
|
|
||||||
col := m.getColStreamerAcct()
|
|
||||||
query := qmgo.M{
|
|
||||||
"del_flag": 0,
|
|
||||||
"$or": []bson.M{
|
|
||||||
{
|
|
||||||
"name": bson.M{
|
|
||||||
"$regex": fmt.Sprint(util.DerefInt64(req.UserId)),
|
|
||||||
},
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"user_id_string": bson.M{
|
|
||||||
"$regex": fmt.Sprint(util.DerefInt64(req.UserId)),
|
|
||||||
},
|
|
||||||
},
|
|
||||||
},
|
|
||||||
}
|
|
||||||
if len(req.Sort) == 0 {
|
|
||||||
req.Sort = append(req.Sort, "-ct")
|
|
||||||
}
|
|
||||||
|
|
||||||
err := col.Find(ctx, query).Sort(req.Sort...).Skip(int64(req.Offset)).Limit(int64(req.Limit)).All(&list)
|
|
||||||
if err == qmgo.ErrNoSuchDocuments {
|
|
||||||
err = nil
|
|
||||||
return list, err
|
|
||||||
}
|
|
||||||
return list, err
|
|
||||||
}
|
|
||||||
|
|
||||||
func (m *Mongo) UpdateAccountByIds(ctx *gin.Context, account *dbstruct.Account, ids []int64) error {
|
func (m *Mongo) UpdateAccountByIds(ctx *gin.Context, account *dbstruct.Account, ids []int64) error {
|
||||||
col := m.getColAccount()
|
col := m.getColAccount()
|
||||||
set := util.EntityToM(account)
|
set := util.EntityToM(account)
|
||||||
|
@ -1446,25 +1395,6 @@ func (m *Mongo) CreateAccountHis(ctx *gin.Context, accounts []*dbstruct.Account)
|
||||||
return err
|
return err
|
||||||
}
|
}
|
||||||
|
|
||||||
// streamer_acct相关
|
|
||||||
func (m *Mongo) CreateStreamerAcct(ctx *gin.Context, accounts []*dbstruct.StreamerAcct) error {
|
|
||||||
col := m.getColStreamerAcct()
|
|
||||||
_, err := col.InsertMany(ctx, accounts)
|
|
||||||
return err
|
|
||||||
}
|
|
||||||
|
|
||||||
func (m *Mongo) UpdateStreamerAcctName(ctx *gin.Context, id int64, name string) error {
|
|
||||||
col := m.getColStreamerAcct()
|
|
||||||
up := qmgo.M{
|
|
||||||
"$set": qmgo.M{
|
|
||||||
"ut": time.Now().Unix(),
|
|
||||||
"name": name,
|
|
||||||
},
|
|
||||||
}
|
|
||||||
err := col.UpdateId(ctx, id, up)
|
|
||||||
return err
|
|
||||||
}
|
|
||||||
|
|
||||||
// vericode相关
|
// vericode相关
|
||||||
func (m *Mongo) CreateVeriCode(ctx *gin.Context, vericode *dbstruct.VeriCode) error {
|
func (m *Mongo) CreateVeriCode(ctx *gin.Context, vericode *dbstruct.VeriCode) error {
|
||||||
col := m.getColVeriCode()
|
col := m.getColVeriCode()
|
||||||
|
|
|
@ -53,6 +53,7 @@ type IStore interface {
|
||||||
type Store struct {
|
type Store struct {
|
||||||
*Mongo
|
*Mongo
|
||||||
*Mysql
|
*Mysql
|
||||||
|
*ElasticSearch
|
||||||
}
|
}
|
||||||
|
|
||||||
func NewStore(cfg *conf.ConfigSt) (store *Store, err error) {
|
func NewStore(cfg *conf.ConfigSt) (store *Store, err error) {
|
||||||
|
@ -68,9 +69,16 @@ func NewStore(cfg *conf.ConfigSt) (store *Store, err error) {
|
||||||
return
|
return
|
||||||
}
|
}
|
||||||
|
|
||||||
|
es, err := NewElasticSearch(cfg)
|
||||||
|
if err != nil {
|
||||||
|
logger.Error("NewElasticSearch fail, err: %v", err)
|
||||||
|
return
|
||||||
|
}
|
||||||
|
|
||||||
store = &Store{
|
store = &Store{
|
||||||
Mongo: mongo,
|
Mongo: mongo,
|
||||||
Mysql: mysql,
|
Mysql: mysql,
|
||||||
|
ElasticSearch: es,
|
||||||
}
|
}
|
||||||
return
|
return
|
||||||
}
|
}
|
||||||
|
|
|
@ -17,6 +17,7 @@ import (
|
||||||
moment_audit_taskproto "service/api/proto/moment_audit_task/proto"
|
moment_audit_taskproto "service/api/proto/moment_audit_task/proto"
|
||||||
realname_authenticationproto "service/api/proto/realname_authentication/proto"
|
realname_authenticationproto "service/api/proto/realname_authentication/proto"
|
||||||
streamerproto "service/api/proto/streamer/proto"
|
streamerproto "service/api/proto/streamer/proto"
|
||||||
|
streameracctproto "service/api/proto/streamer_acct/proto"
|
||||||
streamerauthapprovalproto "service/api/proto/streamerauthapproval/proto"
|
streamerauthapprovalproto "service/api/proto/streamerauthapproval/proto"
|
||||||
streamerlinkproto "service/api/proto/streamerlink/proto"
|
streamerlinkproto "service/api/proto/streamerlink/proto"
|
||||||
thumbsupproto "service/api/proto/thumbsup/proto"
|
thumbsupproto "service/api/proto/thumbsup/proto"
|
||||||
|
@ -364,9 +365,12 @@ func (s *Service) ApiUpdateAccount(ctx *gin.Context, req *accountproto.ApiUpdate
|
||||||
return
|
return
|
||||||
}
|
}
|
||||||
|
|
||||||
if oldAccount.GetRole() == consts.Streamer {
|
if oldAccount.GetRole() == consts.Streamer && req.Account.Name != nil {
|
||||||
if err := _DefaultAccount.OpUpdateStreamerAcctName(ctx, util.DerefInt64(req.Account.Mid), util.DerefString(req.Account.Name)); err != nil {
|
if err := _DefaultStreamerAcct.OpUpdate(ctx, &dbstruct.EsStreamerAcct{
|
||||||
logger.Error("OpUpdateStreamerAcctName fail, req: %v, err: %v", util.ToJson(req), err)
|
Mid: req.Account.GetMid(),
|
||||||
|
Name: req.Account.GetName(),
|
||||||
|
}); err != nil {
|
||||||
|
logger.Error("OpUpdate fail, req: %v, err: %v", util.ToJson(req), err)
|
||||||
ec = errcode.ErrCodeAccountSrvFail
|
ec = errcode.ErrCodeAccountSrvFail
|
||||||
return
|
return
|
||||||
}
|
}
|
||||||
|
@ -1231,24 +1235,22 @@ func (s *Service) ApiGetStreamerExtListFuzzilyByUserId(ctx *gin.Context, req *st
|
||||||
ec = errcode.ErrCodeStreamerSrvOk
|
ec = errcode.ErrCodeStreamerSrvOk
|
||||||
|
|
||||||
//1.从主播用户表中模糊匹配所有主播信息的用户侧数据,按mid正序排序
|
//1.从主播用户表中模糊匹配所有主播信息的用户侧数据,按mid正序排序
|
||||||
accountList, err := _DefaultAccount.OpListStreamerAcctFuzzilyByUserId(ctx, &accountproto.OpListFuzzilyByUserIdReq{
|
streameraccts, err := _DefaultStreamerAcct.OpListStreamerAcctFuzzilyByUserId(ctx, &streameracctproto.OpListFuzzilyByUserIdReq{
|
||||||
UserId: req.UserId,
|
UserIdString: fmt.Sprint(util.DerefInt64(req.UserId)),
|
||||||
Role: goproto.Int64(consts.Streamer),
|
|
||||||
Offset: req.Offset,
|
Offset: req.Offset,
|
||||||
Limit: req.Limit,
|
Limit: req.Limit,
|
||||||
Sort: []string{"_id"},
|
Sort: []string{"_id"},
|
||||||
})
|
})
|
||||||
if err != nil {
|
if err != nil {
|
||||||
logger.Error("Account OpListFuzzilyByUserId fail, req: %v, err: %v", util.ToJson(req), err)
|
logger.Error("StreamerAcct OpListFuzzilyByUserId fail, req: %v, err: %v", util.ToJson(req), err)
|
||||||
ec = errcode.ErrCodeAccountSrvFail
|
ec = errcode.ErrCodeAccountSrvFail
|
||||||
return
|
return
|
||||||
}
|
}
|
||||||
|
|
||||||
//2.获取mids
|
//2.获取mids
|
||||||
mids := make([]int64, 0)
|
mids := make([]int64, 0)
|
||||||
for _, v := range accountList {
|
for _, v := range streameraccts {
|
||||||
mid := util.DerefInt64(v.Mid)
|
mids = append(mids, v.Mid)
|
||||||
mids = append(mids, mid)
|
|
||||||
}
|
}
|
||||||
|
|
||||||
mp, err := s.utilGetStreamerExtMapByMids(ctx, mids, consts.InterfaceType_Api)
|
mp, err := s.utilGetStreamerExtMapByMids(ctx, mids, consts.InterfaceType_Api)
|
||||||
|
@ -1270,9 +1272,8 @@ func (s *Service) ApiGetStreamerExtListFuzzilyByName(ctx *gin.Context, req *stre
|
||||||
ec = errcode.ErrCodeStreamerSrvOk
|
ec = errcode.ErrCodeStreamerSrvOk
|
||||||
|
|
||||||
//1.从主播用户表中模糊匹配所有主播信息的用户侧数据,按mid正序排序
|
//1.从主播用户表中模糊匹配所有主播信息的用户侧数据,按mid正序排序
|
||||||
accountList, err := _DefaultAccount.OpListStreamerAcctFuzzilyByName(ctx, &accountproto.OpListFuzzilyByNameReq{
|
streameraccts, err := _DefaultStreamerAcct.OpListStreamerAcctFuzzilyByName(ctx, &streameracctproto.OpListFuzzilyByNameReq{
|
||||||
Name: req.Name,
|
Name: req.Name,
|
||||||
Role: goproto.Int64(consts.Streamer),
|
|
||||||
Offset: req.Offset,
|
Offset: req.Offset,
|
||||||
Limit: req.Limit,
|
Limit: req.Limit,
|
||||||
Sort: []string{"_id"},
|
Sort: []string{"_id"},
|
||||||
|
@ -1285,9 +1286,8 @@ func (s *Service) ApiGetStreamerExtListFuzzilyByName(ctx *gin.Context, req *stre
|
||||||
|
|
||||||
//2.获取mids
|
//2.获取mids
|
||||||
mids := make([]int64, 0)
|
mids := make([]int64, 0)
|
||||||
for _, v := range accountList {
|
for _, v := range streameraccts {
|
||||||
mid := util.DerefInt64(v.Mid)
|
mids = append(mids, v.Mid)
|
||||||
mids = append(mids, mid)
|
|
||||||
}
|
}
|
||||||
|
|
||||||
mp, err := s.utilGetStreamerExtMapByMids(ctx, mids, consts.InterfaceType_Api)
|
mp, err := s.utilGetStreamerExtMapByMids(ctx, mids, consts.InterfaceType_Api)
|
||||||
|
|
|
@ -152,24 +152,6 @@ func (p *Account) OpListByUserId(ctx *gin.Context, req *accountproto.OpListByUse
|
||||||
return list, nil
|
return list, nil
|
||||||
}
|
}
|
||||||
|
|
||||||
func (p *Account) OpListStreamerAcctFuzzilyByUserId(ctx *gin.Context, req *accountproto.OpListFuzzilyByUserIdReq) ([]*dbstruct.StreamerAcct, error) {
|
|
||||||
list, err := p.store.GetStreamerAcctListFuzzilyByUserId(ctx, req)
|
|
||||||
if err != nil {
|
|
||||||
logger.Error("GetStreamerAcctListFuzzilyByUserId fail, err: %v", err)
|
|
||||||
return nil, err
|
|
||||||
}
|
|
||||||
return list, nil
|
|
||||||
}
|
|
||||||
|
|
||||||
func (p *Account) OpListStreamerAcctFuzzilyByName(ctx *gin.Context, req *accountproto.OpListFuzzilyByNameReq) ([]*dbstruct.StreamerAcct, error) {
|
|
||||||
list, err := p.store.GetStreamerAcctListFuzzilyByName(ctx, req)
|
|
||||||
if err != nil {
|
|
||||||
logger.Error("GetStreamerAcctListFuzzilyByName fail, err: %v", err)
|
|
||||||
return nil, err
|
|
||||||
}
|
|
||||||
return list, nil
|
|
||||||
}
|
|
||||||
|
|
||||||
func (p *Account) OpUpdateByIds(ctx *gin.Context, req *accountproto.OpUpdateByIdsReq) error {
|
func (p *Account) OpUpdateByIds(ctx *gin.Context, req *accountproto.OpUpdateByIdsReq) error {
|
||||||
err := p.store.UpdateAccountByIds(ctx, req.Account, req.Ids)
|
err := p.store.UpdateAccountByIds(ctx, req.Account, req.Ids)
|
||||||
if err != nil {
|
if err != nil {
|
||||||
|
@ -282,22 +264,3 @@ func (p *Account) OpListByPhoneHash(ctx *gin.Context, phonehash string) ([]*dbst
|
||||||
}
|
}
|
||||||
return list, nil
|
return list, nil
|
||||||
}
|
}
|
||||||
|
|
||||||
func (p *Account) OpCreateStreamerAcct(ctx *gin.Context, accounts []*dbstruct.StreamerAcct) error {
|
|
||||||
|
|
||||||
err := p.store.CreateStreamerAcct(ctx, accounts)
|
|
||||||
if err != nil {
|
|
||||||
logger.Error("CreateAccount fail, err: %v", err)
|
|
||||||
return err
|
|
||||||
}
|
|
||||||
return nil
|
|
||||||
}
|
|
||||||
|
|
||||||
func (p *Account) OpUpdateStreamerAcctName(ctx *gin.Context, mid int64, name string) error {
|
|
||||||
err := p.store.UpdateStreamerAcctName(ctx, mid, name)
|
|
||||||
if err != nil {
|
|
||||||
logger.Error("UpdateAccount fail, err: %v", err)
|
|
||||||
return err
|
|
||||||
}
|
|
||||||
return nil
|
|
||||||
}
|
|
||||||
|
|
|
@ -0,0 +1,58 @@
|
||||||
|
package logic
|
||||||
|
|
||||||
|
import (
|
||||||
|
"service/app/mix/dao"
|
||||||
|
"service/dbstruct"
|
||||||
|
"service/library/logger"
|
||||||
|
|
||||||
|
"github.com/gin-gonic/gin"
|
||||||
|
|
||||||
|
streameracctproto "service/api/proto/streamer_acct/proto"
|
||||||
|
)
|
||||||
|
|
||||||
|
type StreamerAcct struct {
|
||||||
|
store *dao.Store
|
||||||
|
}
|
||||||
|
|
||||||
|
func NewStreamerAcct(store *dao.Store) (a *StreamerAcct) {
|
||||||
|
a = &StreamerAcct{
|
||||||
|
store: store,
|
||||||
|
}
|
||||||
|
return
|
||||||
|
}
|
||||||
|
|
||||||
|
func (p *StreamerAcct) OpCreate(ctx *gin.Context, streameraccts []*dbstruct.EsStreamerAcct) error {
|
||||||
|
err := p.store.CreateStreamerAcct(ctx, streameraccts)
|
||||||
|
if err != nil {
|
||||||
|
logger.Error("CreateStreamerAcct fail, err: %v", err)
|
||||||
|
return err
|
||||||
|
}
|
||||||
|
return nil
|
||||||
|
}
|
||||||
|
|
||||||
|
func (p *StreamerAcct) OpUpdate(ctx *gin.Context, streameracct *dbstruct.EsStreamerAcct) error {
|
||||||
|
err := p.store.UpdateStreamerAcct(ctx, streameracct)
|
||||||
|
if err != nil {
|
||||||
|
logger.Error("UpdateStreamerAcct fail, err: %v", err)
|
||||||
|
return err
|
||||||
|
}
|
||||||
|
return nil
|
||||||
|
}
|
||||||
|
|
||||||
|
func (p *StreamerAcct) OpListStreamerAcctFuzzilyByUserId(ctx *gin.Context, req *streameracctproto.OpListFuzzilyByUserIdReq) ([]*dbstruct.EsStreamerAcct, error) {
|
||||||
|
list, err := p.store.GetStreamerAcctListFuzzilyByUserId(ctx, req)
|
||||||
|
if err != nil {
|
||||||
|
logger.Error("GetStreamerAcctListFuzzilyByUserId fail, err: %v", err)
|
||||||
|
return nil, err
|
||||||
|
}
|
||||||
|
return list, nil
|
||||||
|
}
|
||||||
|
|
||||||
|
func (p *StreamerAcct) OpListStreamerAcctFuzzilyByName(ctx *gin.Context, req *streameracctproto.OpListFuzzilyByNameReq) ([]*dbstruct.EsStreamerAcct, error) {
|
||||||
|
list, err := p.store.GetStreamerAcctListFuzzilyByName(ctx, req)
|
||||||
|
if err != nil {
|
||||||
|
logger.Error("GetStreamerAcctListFuzzilyByName fail, err: %v", err)
|
||||||
|
return nil, err
|
||||||
|
}
|
||||||
|
return list, nil
|
||||||
|
}
|
|
@ -288,42 +288,6 @@ func (s *Service) OpGetMobilePhoneByUserIdBusinessValidate(ctx *gin.Context, req
|
||||||
return
|
return
|
||||||
}
|
}
|
||||||
|
|
||||||
func (s *Service) OpGetAccountListFuzzilyByUserIdBusinessValidate(ctx *gin.Context, req *accountproto.OpListFuzzilyByUserIdReq) (ec errcode.ErrCode) {
|
|
||||||
ec = errcode.ErrCodeAccountSrvOk
|
|
||||||
|
|
||||||
// 1.业务校验
|
|
||||||
result := businessvalidator.NewAuthBusinessValidator(ctx, req).
|
|
||||||
QueryAccount(_DefaultAccount.OpListByMid).
|
|
||||||
EnsureAccountExist().
|
|
||||||
EnsureIsOpRole().
|
|
||||||
Validate().
|
|
||||||
Collect()
|
|
||||||
if ec = result[0].(errcode.ErrCode); ec != errcode.ErrCodeOk {
|
|
||||||
logger.Error("OpGetAccountListFuzzilyByUserId business validation failed")
|
|
||||||
return
|
|
||||||
}
|
|
||||||
|
|
||||||
return
|
|
||||||
}
|
|
||||||
|
|
||||||
func (s *Service) OpGetAccountListFuzzilyByNameBusinessValidate(ctx *gin.Context, req *accountproto.OpListFuzzilyByNameReq) (ec errcode.ErrCode) {
|
|
||||||
ec = errcode.ErrCodeAccountSrvOk
|
|
||||||
|
|
||||||
// 1.业务校验
|
|
||||||
result := businessvalidator.NewAuthBusinessValidator(ctx, req).
|
|
||||||
QueryAccount(_DefaultAccount.OpListByMid).
|
|
||||||
EnsureAccountExist().
|
|
||||||
EnsureIsOpRole().
|
|
||||||
Validate().
|
|
||||||
Collect()
|
|
||||||
if ec = result[0].(errcode.ErrCode); ec != errcode.ErrCodeOk {
|
|
||||||
logger.Error("OpGetAccountListFuzzilyByName business validation failed")
|
|
||||||
return
|
|
||||||
}
|
|
||||||
|
|
||||||
return
|
|
||||||
}
|
|
||||||
|
|
||||||
func (s *Service) OpGetAccountListForOthersByMiBusinessValidated(ctx *gin.Context, req *accountproto.OpListOthersByMidReq) (ec errcode.ErrCode) {
|
func (s *Service) OpGetAccountListForOthersByMiBusinessValidated(ctx *gin.Context, req *accountproto.OpListOthersByMidReq) (ec errcode.ErrCode) {
|
||||||
ec = errcode.ErrCodeAccountSrvOk
|
ec = errcode.ErrCodeAccountSrvOk
|
||||||
|
|
||||||
|
|
|
@ -29,6 +29,7 @@ import (
|
||||||
realname_authenticationproto "service/api/proto/realname_authentication/proto"
|
realname_authenticationproto "service/api/proto/realname_authentication/proto"
|
||||||
resourceproto "service/api/proto/resource/proto"
|
resourceproto "service/api/proto/resource/proto"
|
||||||
streamerproto "service/api/proto/streamer/proto"
|
streamerproto "service/api/proto/streamer/proto"
|
||||||
|
streameracctproto "service/api/proto/streamer_acct/proto"
|
||||||
streamerauthapprovalproto "service/api/proto/streamerauthapproval/proto"
|
streamerauthapprovalproto "service/api/proto/streamerauthapproval/proto"
|
||||||
streamerlinkproto "service/api/proto/streamerlink/proto"
|
streamerlinkproto "service/api/proto/streamerlink/proto"
|
||||||
textaudittaskproto "service/api/proto/textaudittask/proto"
|
textaudittaskproto "service/api/proto/textaudittask/proto"
|
||||||
|
@ -51,7 +52,6 @@ import (
|
||||||
"service/library/contentaudit/imageaudit"
|
"service/library/contentaudit/imageaudit"
|
||||||
"service/library/contentaudit/textaudit"
|
"service/library/contentaudit/textaudit"
|
||||||
videomoderation "service/library/contentaudit/video_moderation"
|
videomoderation "service/library/contentaudit/video_moderation"
|
||||||
elasticsearch "service/library/elastic_search"
|
|
||||||
"service/library/logger"
|
"service/library/logger"
|
||||||
"service/library/melody"
|
"service/library/melody"
|
||||||
"service/library/mycrypto"
|
"service/library/mycrypto"
|
||||||
|
@ -124,6 +124,7 @@ var (
|
||||||
_DefaultZoneMomentCreateTimes *logic.ZoneMomentCreateTimes
|
_DefaultZoneMomentCreateTimes *logic.ZoneMomentCreateTimes
|
||||||
_DefaultVideoModeration *logic.VideoModeration
|
_DefaultVideoModeration *logic.VideoModeration
|
||||||
_DefaultVideoModerationTask *logic.VideoModerationTask
|
_DefaultVideoModerationTask *logic.VideoModerationTask
|
||||||
|
_DefaultStreamerAcct *logic.StreamerAcct
|
||||||
)
|
)
|
||||||
|
|
||||||
type Service struct {
|
type Service struct {
|
||||||
|
@ -152,12 +153,6 @@ func (s *Service) Init(c any) (err error) {
|
||||||
logger.Error("cryptoService init, err: %v", err)
|
logger.Error("cryptoService init, err: %v", err)
|
||||||
}
|
}
|
||||||
|
|
||||||
err = elasticsearch.Init(cfg.ElasticSearch)
|
|
||||||
if err != nil {
|
|
||||||
logger.Error("elasticsearch.Init fail, cfg: %v, err: %v", util.ToJson(cfg.ElasticSearch), err)
|
|
||||||
return
|
|
||||||
}
|
|
||||||
|
|
||||||
s.defaultMelody = melody.New()
|
s.defaultMelody = melody.New()
|
||||||
|
|
||||||
err = alipaycli.InitMulti(cfg.Alipay, cfg.AlipayMYTS)
|
err = alipaycli.InitMulti(cfg.Alipay, cfg.AlipayMYTS)
|
||||||
|
@ -220,6 +215,7 @@ func (s *Service) Init(c any) (err error) {
|
||||||
_DefaultVideoModerationTask = logic.NewVideoModerationTask(store)
|
_DefaultVideoModerationTask = logic.NewVideoModerationTask(store)
|
||||||
|
|
||||||
_DefaultVas = logic.NewVas(store, _DefaultStreamer, _DefaultAccount, _DefaultZone, _DefaultZoneThirdPartner, _DefaultZoneCollaborator)
|
_DefaultVas = logic.NewVas(store, _DefaultStreamer, _DefaultAccount, _DefaultZone, _DefaultZoneThirdPartner, _DefaultZoneCollaborator)
|
||||||
|
_DefaultStreamerAcct = logic.NewStreamerAcct(store)
|
||||||
return
|
return
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -817,9 +813,12 @@ func (s *Service) OpUpdateAccount(ctx *gin.Context, req *accountproto.OpUpdateRe
|
||||||
return
|
return
|
||||||
}
|
}
|
||||||
|
|
||||||
if oldAccount.GetRole() == consts.Streamer {
|
if oldAccount.GetRole() == consts.Streamer && req.Account.Name != nil {
|
||||||
if err := _DefaultAccount.OpUpdateStreamerAcctName(ctx, util.DerefInt64(req.Account.Mid), util.DerefString(req.Account.Name)); err != nil {
|
if err := _DefaultStreamerAcct.OpUpdate(ctx, &dbstruct.EsStreamerAcct{
|
||||||
logger.Error("OpUpdateStreamerAcctName fail, req: %v, err: %v", util.ToJson(req), err)
|
Mid: req.Account.GetMid(),
|
||||||
|
Name: req.Account.GetName(),
|
||||||
|
}); err != nil {
|
||||||
|
logger.Error("OpUpdate fail, req: %v, err: %v", util.ToJson(req), err)
|
||||||
ec = errcode.ErrCodeAccountSrvFail
|
ec = errcode.ErrCodeAccountSrvFail
|
||||||
return
|
return
|
||||||
}
|
}
|
||||||
|
@ -1773,20 +1772,20 @@ func (s *Service) OpApproveStreamerAuthApproval(ctx *gin.Context, req *streamera
|
||||||
ec = errcode.ErrCodeAccountSrvFail
|
ec = errcode.ErrCodeAccountSrvFail
|
||||||
return
|
return
|
||||||
}
|
}
|
||||||
streamerAccts := make([]*dbstruct.StreamerAcct, 0)
|
streamerAccts := make([]*dbstruct.EsStreamerAcct, 0)
|
||||||
for _, acct := range accountList {
|
for _, acct := range accountList {
|
||||||
streamerAccts = append(streamerAccts, &dbstruct.StreamerAcct{
|
streamerAccts = append(streamerAccts, &dbstruct.EsStreamerAcct{
|
||||||
Mid: acct.Mid,
|
Mid: acct.GetMid(),
|
||||||
Name: acct.Name,
|
Name: acct.GetName(),
|
||||||
UserIdString: acct.UserIdString,
|
UserIdString: acct.GetUserIdString(),
|
||||||
Ct: acct.Ct,
|
Ct: acct.GetCt(),
|
||||||
Ut: acct.Ut,
|
Ut: acct.GetUt(),
|
||||||
DelFlag: acct.DelFlag,
|
DelFlag: acct.GetDelFlag(),
|
||||||
})
|
})
|
||||||
}
|
}
|
||||||
err = _DefaultAccount.OpCreateStreamerAcct(ctx, streamerAccts)
|
err = _DefaultStreamerAcct.OpCreate(ctx, streamerAccts)
|
||||||
if err != nil {
|
if err != nil {
|
||||||
logger.Error("_DefaultAccount OpCreateStreamerAcct fail, req: %v, err: %v", util.ToJson(req), err)
|
logger.Error("_DefaultStreamerAcct OpCreate fail, req: %v, err: %v", util.ToJson(req), err)
|
||||||
ec = errcode.ErrCodeAccountSrvFail
|
ec = errcode.ErrCodeAccountSrvFail
|
||||||
return
|
return
|
||||||
}
|
}
|
||||||
|
@ -1991,9 +1990,8 @@ func (s *Service) OpGetStreamerExtListFuzzilyByUserId(ctx *gin.Context, req *str
|
||||||
}
|
}
|
||||||
|
|
||||||
//1.从主播用户表中模糊匹配所有主播信息的用户侧数据,按mid正序排序
|
//1.从主播用户表中模糊匹配所有主播信息的用户侧数据,按mid正序排序
|
||||||
accountList, err := _DefaultAccount.OpListStreamerAcctFuzzilyByUserId(ctx, &accountproto.OpListFuzzilyByUserIdReq{
|
streameraccts, err := _DefaultStreamerAcct.OpListStreamerAcctFuzzilyByUserId(ctx, &streameracctproto.OpListFuzzilyByUserIdReq{
|
||||||
UserId: req.UserId,
|
UserIdString: fmt.Sprint(util.DerefInt64(req.UserId)),
|
||||||
Role: goproto.Int64(consts.Streamer),
|
|
||||||
Offset: req.Offset,
|
Offset: req.Offset,
|
||||||
Limit: req.Limit,
|
Limit: req.Limit,
|
||||||
})
|
})
|
||||||
|
@ -2005,9 +2003,8 @@ func (s *Service) OpGetStreamerExtListFuzzilyByUserId(ctx *gin.Context, req *str
|
||||||
|
|
||||||
//2.获取mids
|
//2.获取mids
|
||||||
mids := make([]int64, 0)
|
mids := make([]int64, 0)
|
||||||
for _, v := range accountList {
|
for _, v := range streameraccts {
|
||||||
mid := util.DerefInt64(v.Mid)
|
mids = append(mids, v.Mid)
|
||||||
mids = append(mids, mid)
|
|
||||||
}
|
}
|
||||||
|
|
||||||
mp, err := s.utilGetStreamerExtMapByMids(ctx, mids, consts.InterfaceType_Op)
|
mp, err := s.utilGetStreamerExtMapByMids(ctx, mids, consts.InterfaceType_Op)
|
||||||
|
@ -2033,9 +2030,8 @@ func (s *Service) OpGetStreamerExtListFuzzilyByName(ctx *gin.Context, req *strea
|
||||||
}
|
}
|
||||||
|
|
||||||
//1.从主播用户表中模糊匹配所有主播信息的用户侧数据,按mid正序排序
|
//1.从主播用户表中模糊匹配所有主播信息的用户侧数据,按mid正序排序
|
||||||
accountList, err := _DefaultAccount.OpListStreamerAcctFuzzilyByName(ctx, &accountproto.OpListFuzzilyByNameReq{
|
streameraccts, err := _DefaultStreamerAcct.OpListStreamerAcctFuzzilyByName(ctx, &streameracctproto.OpListFuzzilyByNameReq{
|
||||||
Name: req.Name,
|
Name: req.Name,
|
||||||
Role: goproto.Int64(consts.Streamer),
|
|
||||||
Offset: req.Offset,
|
Offset: req.Offset,
|
||||||
Limit: req.Limit,
|
Limit: req.Limit,
|
||||||
})
|
})
|
||||||
|
@ -2047,9 +2043,8 @@ func (s *Service) OpGetStreamerExtListFuzzilyByName(ctx *gin.Context, req *strea
|
||||||
|
|
||||||
//2.获取mids
|
//2.获取mids
|
||||||
mids := make([]int64, 0)
|
mids := make([]int64, 0)
|
||||||
for _, v := range accountList {
|
for _, v := range streameraccts {
|
||||||
mid := util.DerefInt64(v.Mid)
|
mids = append(mids, v.Mid)
|
||||||
mids = append(mids, mid)
|
|
||||||
}
|
}
|
||||||
|
|
||||||
mp, err := s.utilGetStreamerExtMapByMids(ctx, mids, consts.InterfaceType_Op)
|
mp, err := s.utilGetStreamerExtMapByMids(ctx, mids, consts.InterfaceType_Op)
|
||||||
|
|
|
@ -92,7 +92,10 @@ func (handler *TextAuditTaskResultHandler) generateAccountNameUpdateFunc() {
|
||||||
}
|
}
|
||||||
|
|
||||||
if acct.GetRole() == consts.Streamer {
|
if acct.GetRole() == consts.Streamer {
|
||||||
return _DefaultAccount.OpUpdateStreamerAcctName(ctx, util.DerefInt64(mid), util.DerefString(name))
|
return _DefaultStreamerAcct.OpUpdate(ctx, &dbstruct.EsStreamerAcct{
|
||||||
|
Mid: util.DerefInt64(mid),
|
||||||
|
Name: util.DerefString(name),
|
||||||
|
})
|
||||||
}
|
}
|
||||||
|
|
||||||
return nil
|
return nil
|
||||||
|
|
|
@ -32,6 +32,48 @@ type Account struct {
|
||||||
DelFlag *int64 `json:"del_flag" bson:"del_flag"` // 删除标记,0-否,1-是
|
DelFlag *int64 `json:"del_flag" bson:"del_flag"` // 删除标记,0-否,1-是
|
||||||
}
|
}
|
||||||
|
|
||||||
|
func (p *Account) GetMid() int64 {
|
||||||
|
if p == nil || p.Mid == nil {
|
||||||
|
return -1
|
||||||
|
}
|
||||||
|
return *p.Mid
|
||||||
|
}
|
||||||
|
|
||||||
|
func (p *Account) GetName() string {
|
||||||
|
if p == nil || p.Name == nil {
|
||||||
|
return ""
|
||||||
|
}
|
||||||
|
return *p.Name
|
||||||
|
}
|
||||||
|
|
||||||
|
func (p *Account) GetUserIdString() string {
|
||||||
|
if p == nil || p.UserIdString == nil {
|
||||||
|
return ""
|
||||||
|
}
|
||||||
|
return *p.UserIdString
|
||||||
|
}
|
||||||
|
|
||||||
|
func (p *Account) GetCt() int64 {
|
||||||
|
if p == nil || p.Ct == nil {
|
||||||
|
return 0
|
||||||
|
}
|
||||||
|
return *p.Ct
|
||||||
|
}
|
||||||
|
|
||||||
|
func (p *Account) GetUt() int64 {
|
||||||
|
if p == nil || p.Ut == nil {
|
||||||
|
return 0
|
||||||
|
}
|
||||||
|
return *p.Ut
|
||||||
|
}
|
||||||
|
|
||||||
|
func (p *Account) GetDelFlag() int64 {
|
||||||
|
if p == nil || p.DelFlag == nil {
|
||||||
|
return 0
|
||||||
|
}
|
||||||
|
return *p.DelFlag
|
||||||
|
}
|
||||||
|
|
||||||
func (p *Account) GetRole() int64 {
|
func (p *Account) GetRole() int64 {
|
||||||
if p == nil || p.Role == nil {
|
if p == nil || p.Role == nil {
|
||||||
return -1
|
return -1
|
||||||
|
|
|
@ -27,7 +27,6 @@ mix_mysql:
|
||||||
read_timeout_s: 5
|
read_timeout_s: 5
|
||||||
write_timeout_s: 3
|
write_timeout_s: 3
|
||||||
|
|
||||||
|
|
||||||
crypto:
|
crypto:
|
||||||
aes:
|
aes:
|
||||||
private_key: "Xbz1145141919810"
|
private_key: "Xbz1145141919810"
|
||||||
|
@ -144,3 +143,4 @@ elastic_search:
|
||||||
username: "elastic"
|
username: "elastic"
|
||||||
password: "Wishpal@2024"
|
password: "Wishpal@2024"
|
||||||
sniff: false
|
sniff: false
|
||||||
|
index_suffix: "_prod"
|
|
@ -144,3 +144,4 @@ elastic_search:
|
||||||
username: "elastic"
|
username: "elastic"
|
||||||
password: "Wishpal@2024"
|
password: "Wishpal@2024"
|
||||||
sniff: false
|
sniff: false
|
||||||
|
index_suffix: "_test"
|
|
@ -170,7 +170,8 @@ type ElasticSearchConfig struct {
|
||||||
Uri string `json:"uri" yaml:"uri"` // 实例地址
|
Uri string `json:"uri" yaml:"uri"` // 实例地址
|
||||||
Username string `json:"username" yaml:"username"` // 用户名
|
Username string `json:"username" yaml:"username"` // 用户名
|
||||||
Password string `json:"password" yaml:"password"` // 密码
|
Password string `json:"password" yaml:"password"` // 密码
|
||||||
Sniff bool `json:"sniff" yaml:"sniff"`
|
Sniff bool `json:"sniff" yaml:"sniff"` // sniffer
|
||||||
|
IndexSuffix string `json:"index_suffix" yaml:"index_suffix"` // 索引后缀
|
||||||
}
|
}
|
||||||
|
|
||||||
func LoadConfig(configFilePath string, cfg interface{}) error {
|
func LoadConfig(configFilePath string, cfg interface{}) error {
|
||||||
|
|
|
@ -8,7 +8,7 @@ import (
|
||||||
"github.com/olivere/elastic/v7"
|
"github.com/olivere/elastic/v7"
|
||||||
)
|
)
|
||||||
|
|
||||||
func Init(cfg *configcenter.ElasticSearchConfig) (client *elastic.Client, err error) {
|
func NewElasticSearchClient(cfg *configcenter.ElasticSearchConfig) (client *elastic.Client, err error) {
|
||||||
client, err = elastic.NewClient(
|
client, err = elastic.NewClient(
|
||||||
elastic.SetURL(cfg.Uri),
|
elastic.SetURL(cfg.Uri),
|
||||||
elastic.SetSniff(cfg.Sniff),
|
elastic.SetSniff(cfg.Sniff),
|
||||||
|
|
Loading…
Reference in New Issue