keywordlistService.go 1.1 KB

123456789101112131415161718192021222324252627282930313233343536373839404142
  1. package service
  2. import (
  3. . "bp.jydev.jianyu360.cn/SocialPlatform/knowledgeBase/entity"
  4. "bp.jydev.jianyu360.cn/SocialPlatform/knowledgeBase/rpc/knowledge/knowledge"
  5. "bp.jydev.jianyu360.cn/SocialPlatform/knowledgeBase/rpc/knowledge/util"
  6. "encoding/json"
  7. "fmt"
  8. )
  9. type SKeywordService struct {
  10. *knowledge.KeywordListReq
  11. }
  12. func NewSKeywordService(in *knowledge.KeywordListReq) *SKeywordService {
  13. return &SKeywordService{
  14. in,
  15. }
  16. }
  17. func (s *SKeywordService) GetKeywordList() (resp *knowledge.KeywordListResp, err error) {
  18. res := Mysql.SelectBySql(fmt.Sprintf(`SELECT sk.name,sk.state,sk.mold FROM %s sk WHERE sk.state >= 0 AND FIND_IN_SET(1,sk.group)`, util.TableKeyword))
  19. resp = &knowledge.KeywordListResp{}
  20. if res != nil && len(*res) > 0 {
  21. var (
  22. b, e = json.Marshal(*res)
  23. list []*knowledge.KeywordList
  24. )
  25. if e == nil && len(b) > 0 {
  26. e = json.Unmarshal(b, &list)
  27. }
  28. if e != nil {
  29. resp.ErrorMsg = e.Error()
  30. resp.ErrorCode = -1
  31. } else {
  32. resp.Data = list
  33. }
  34. } else {
  35. resp.ErrorMsg = fmt.Sprintf("未查到 %s 的数据", util.TableKeyword)
  36. resp.ErrorCode = -1
  37. }
  38. return
  39. }