polymerizesearchlogic.go 1.0 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647
  1. package logic
  2. import (
  3. "context"
  4. "github.com/zeromicro/go-zero/core/logx"
  5. "jyBXCore/rpc/entity"
  6. IC "jyBXCore/rpc/init"
  7. "jyBXCore/rpc/internal/svc"
  8. "jyBXCore/rpc/type/bxcore"
  9. )
  10. type PolymerizeSearchLogic struct {
  11. ctx context.Context
  12. svcCtx *svc.ServiceContext
  13. logx.Logger
  14. }
  15. func NewPolymerizeSearchLogic(ctx context.Context, svcCtx *svc.ServiceContext) *PolymerizeSearchLogic {
  16. return &PolymerizeSearchLogic{
  17. ctx: ctx,
  18. svcCtx: svcCtx,
  19. Logger: logx.WithContext(ctx),
  20. }
  21. }
  22. // 聚合搜索
  23. func (l *PolymerizeSearchLogic) PolymerizeSearch(in *bxcore.PolymerizeSearchReq) (*bxcore.PolymerizeSearchResp, error) {
  24. // todo: add your logic here and delete this line
  25. if in.SearchCode == "" {
  26. return &bxcore.PolymerizeSearchResp{}, nil
  27. }
  28. data := &bxcore.SearchReturn{}
  29. ks := entity.NewKeyWordsSearch()
  30. IC.Search_Thread <- true
  31. go func(v *bxcore.PolymerizeSearchReq) {
  32. data = ks.PolymerizeSearch(v)
  33. defer func() {
  34. <-IC.Search_Thread
  35. }()
  36. }(in)
  37. return &bxcore.PolymerizeSearchResp{
  38. ErrCode: 0,
  39. ErrMsg: "",
  40. Data: data,
  41. }, nil
  42. }