infoexaminelogic.go 4.4 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149
  1. package logic
  2. import (
  3. se "app.yhyue.com/moapp/jybase/encrypt"
  4. "context"
  5. "fmt"
  6. jycommon "jyInfo/rpc/manager/common"
  7. IC "jyInfo/rpc/manager/init"
  8. md "jyInfo/rpc/model"
  9. model "jyInfo/rpc/model/es"
  10. "jyInfo/rpc/util"
  11. "time"
  12. "app.yhyue.com/moapp/jybase/common"
  13. "app.yhyue.com/moapp/jybase/redis"
  14. "jyInfo/rpc/manager/internal/svc"
  15. "jyInfo/rpc/manager/type/manager"
  16. "github.com/zeromicro/go-zero/core/logx"
  17. )
  18. type InfoExamineLogic struct {
  19. ctx context.Context
  20. svcCtx *svc.ServiceContext
  21. logx.Logger
  22. }
  23. func NewInfoExamineLogic(ctx context.Context, svcCtx *svc.ServiceContext) *InfoExamineLogic {
  24. return &InfoExamineLogic{
  25. ctx: ctx,
  26. svcCtx: svcCtx,
  27. Logger: logx.WithContext(ctx),
  28. }
  29. }
  30. // 信息审核
  31. func (l *InfoExamineLogic) InfoExamine(in *manager.InfoExamineReq) (*manager.InfoExamineResp, error) {
  32. // todo: add your logic here and delete this line
  33. var resp manager.InfoExamineResp
  34. msgId := se.SE.DecodeString(in.MsgId) //信息id解密
  35. switch in.ReviewStatus {
  36. case 3:
  37. query := make(map[string]interface{})
  38. query["id"] = msgId
  39. query["app_id"] = in.AppId
  40. upData := make(map[string]interface{})
  41. upData["status"] = -2
  42. upData["review_desc"] = in.ReviewDetail
  43. upData["review_time"] = time.Now().Format("2006-01-02 15:04:05")
  44. if in.MsgType == 1 || in.MsgType == 2 {
  45. var info jycommon.Information
  46. db := IC.DB.Where(query).First(&info).Update(upData)
  47. if db.Error != nil {
  48. resp.ErrCode = -1
  49. resp.ErrMsg = "审核不通过,更新数据失败"
  50. }
  51. } else if in.MsgType == 3 {
  52. var info jycommon.SupplyInfo
  53. db := IC.DB.Where(query).First(&info)
  54. if db.Error != nil {
  55. resp.ErrCode = -1
  56. resp.ErrMsg = "审核不通过,供应信息数据查询失败"
  57. } else {
  58. //TODO 释放供应信息点数
  59. //if err := ResourcePowerRelease(md.ResourceCenterRpc, common.Int64All(info.EntId), common.Int64All(info.UserId), md.FuncCode, common.InterfaceToStr(info.AppId)); err != nil {
  60. // resp.ErrCode = -1
  61. // resp.ErrMsg = err.Error()
  62. // break
  63. //}
  64. if db.Update(upData) != nil {
  65. resp.ErrCode = -1
  66. resp.ErrMsg = "审核不通过,供应信息更新失败"
  67. }
  68. }
  69. } else {
  70. resp.ErrCode = -1
  71. resp.ErrMsg = "信息类型有误"
  72. }
  73. case 2:
  74. query := make(map[string]interface{})
  75. query["id"] = msgId
  76. query["app_id"] = in.AppId
  77. upData := make(map[string]interface{})
  78. upData["review_desc"] = in.ReviewDetail
  79. upData["status"] = 4
  80. upData["review_time"] = time.Now().Format("2006-01-02 15:04:05")
  81. if in.MsgType == 1 || in.MsgType == 2 {
  82. var info jycommon.Information
  83. db := IC.DB.Where(query).First(&info)
  84. if db.Error != nil {
  85. fmt.Println(db.Error)
  86. resp.ErrCode = -1
  87. resp.ErrMsg = "人工审核通过,获取信息失败"
  88. break
  89. } else {
  90. //nsq发布信息
  91. appInfo := common.StructToMapMore(info)
  92. nsq, err := util.NewNsqInfo(md.NsqConfig.Ip, md.NsqConfig.Topic, in.MsgId, common.InterfaceToStr(info.Type), "2", false, appInfo)
  93. if err != nil || nsq.NsqPushInfo() != nil {
  94. resp.ErrCode = -1
  95. resp.ErrMsg = "人工审核通过,调用nsq失败"
  96. break
  97. }
  98. if db.Update(upData).Error != nil {
  99. resp.ErrCode = -1
  100. resp.ErrMsg = "人工审核通过,nsq发布成功,更新信息失败"
  101. }
  102. }
  103. } else if in.MsgType == 3 {
  104. var info jycommon.SupplyInfo
  105. db := IC.DB.Where(query).First(&info)
  106. if db.Error != nil {
  107. resp.ErrCode = -1
  108. resp.ErrMsg = "人工审核通过,获取供应信息数据失败"
  109. } else {
  110. // 供应信息生成索引
  111. upData["publish_time"] = time.Now().Format("2006-01-02 15:04:05")
  112. upData["published"] = 2
  113. entNameKye := fmt.Sprintf("userEntName_%s_%s_%d", info.UserId, in.MsgId, in.MsgType)
  114. entName := redis.GetStr("other", entNameKye)
  115. supInfo := make(map[string]interface{})
  116. supInfo["id"] = info.Id
  117. supInfo["title"] = info.Title
  118. supInfo["detail"] = info.Detail
  119. supInfo["province"] = info.Province
  120. supInfo["city"] = info.City
  121. if !model.SaveSupplyInfo(entName, supInfo) {
  122. resp.ErrCode = -1
  123. resp.ErrMsg = "人工审核通过,信息发布调用失败"
  124. break
  125. }
  126. if db.Update(upData).Error != nil {
  127. resp.ErrCode = -1
  128. resp.ErrMsg = "人工审核通过,供应信息发布调用成功,更新信息状态失败"
  129. }
  130. }
  131. } else {
  132. resp.ErrCode = -1
  133. resp.ErrMsg = "信息类型有误"
  134. }
  135. default:
  136. resp.ErrCode = -1
  137. resp.ErrMsg = "审批状态有误"
  138. }
  139. return &resp, nil
  140. }