polymerizesearchlogic.go 1.1 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849
  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. "time"
  10. )
  11. type PolymerizeSearchLogic struct {
  12. ctx context.Context
  13. svcCtx *svc.ServiceContext
  14. logx.Logger
  15. }
  16. func NewPolymerizeSearchLogic(ctx context.Context, svcCtx *svc.ServiceContext) *PolymerizeSearchLogic {
  17. return &PolymerizeSearchLogic{
  18. ctx: ctx,
  19. svcCtx: svcCtx,
  20. Logger: logx.WithContext(ctx),
  21. }
  22. }
  23. // 聚合搜索
  24. func (l *PolymerizeSearchLogic) PolymerizeSearch(in *bxcore.PolymerizeSearchReq) (*bxcore.PolymerizeSearchResp, error) {
  25. // todo: add your logic here and delete this line
  26. if in.SearchCode == "" {
  27. return &bxcore.PolymerizeSearchResp{}, nil
  28. }
  29. data := &bxcore.SearchReturn{}
  30. ks := entity.NewKeyWordsSearch()
  31. IC.Search_Thread <- true
  32. go func(v *bxcore.PolymerizeSearchReq) {
  33. data = ks.PolymerizeSearch(v)
  34. defer func() {
  35. <-IC.Search_Thread
  36. }()
  37. time.Sleep(2 * time.Second)
  38. }(in)
  39. return &bxcore.PolymerizeSearchResp{
  40. ErrCode: 0,
  41. ErrMsg: "",
  42. Data: data,
  43. }, nil
  44. }