nologinSearchLogic.go 1.9 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081
  1. package logic
  2. import (
  3. "app.yhyue.com/moapp/jybase/common"
  4. "context"
  5. IC "jyBXCore/api/init"
  6. "jyBXCore/api/internal/util"
  7. "jyBXCore/rpc/bxcore"
  8. "log"
  9. "net/http"
  10. "time"
  11. "jyBXCore/api/internal/svc"
  12. "jyBXCore/api/internal/types"
  13. "github.com/zeromicro/go-zero/core/logx"
  14. )
  15. type NologinSearchLogic struct {
  16. logx.Logger
  17. ctx context.Context
  18. r *http.Request
  19. svcCtx *svc.ServiceContext
  20. w http.ResponseWriter
  21. }
  22. func NewNologinSearchLogic(ctx context.Context, svcCtx *svc.ServiceContext, r *http.Request, w http.ResponseWriter) *NologinSearchLogic {
  23. return &NologinSearchLogic{
  24. Logger: logx.WithContext(ctx),
  25. ctx: ctx,
  26. svcCtx: svcCtx,
  27. r: r,
  28. w: w,
  29. }
  30. }
  31. func (l *NologinSearchLogic) NologinSearch(req *types.NoLoginSearchReq) (resp *types.CommonResp, err error) {
  32. defer common.Catch()
  33. t := time.Now()
  34. res, err := l.svcCtx.BxCore.GetSearchListNoLogin(l.ctx, &bxcore.SearchReq{
  35. AppId: req.AppId,
  36. PageNum: req.PageNum,
  37. PageSize: req.PageSize,
  38. SelectType: req.SelectType,
  39. KeyWords: req.KeyWords,
  40. Platform: util.CheckPlatform(l.r),
  41. })
  42. log.Println("请求接口耗时:", time.Since(t).Seconds())
  43. if err != nil {
  44. return &types.CommonResp{
  45. Err_code: res.ErrCode,
  46. Err_msg: res.ErrMsg,
  47. Data: nil,
  48. }, err
  49. }
  50. var data []map[string]interface{}
  51. detailMosaicTxt := IC.C.DetailMosaicTxt
  52. sm := common.StructToMapMore(IC.C.SearchMosaic)
  53. for _, v := range res.Data.List {
  54. d := common.StructToMapMore(v)
  55. for name, t1 := range sm {
  56. ts, _ := t1.(bool)
  57. if !ts {
  58. continue
  59. }
  60. d[name] = detailMosaicTxt
  61. //if v1, ok := d[name]; ok && v1 != "" && v1 != 0 && ts {
  62. // d[name] = detailMosaicTxt
  63. //}
  64. }
  65. data = append(data, d)
  66. }
  67. dataAll := common.StructToMapMore(res.Data)
  68. dataAll["list"] = data
  69. return &types.CommonResp{
  70. Err_code: res.ErrCode,
  71. Err_msg: res.ErrMsg,
  72. Data: dataAll,
  73. }, nil
  74. }