infoexaminelogic.go 4.6 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151
  1. package logic
  2. import (
  3. jycommon "app.yhyue.com/moapp/jyInfo/rpc/manager/common"
  4. IC "app.yhyue.com/moapp/jyInfo/rpc/manager/init"
  5. md "app.yhyue.com/moapp/jyInfo/rpc/model"
  6. model "app.yhyue.com/moapp/jyInfo/rpc/model/es"
  7. "app.yhyue.com/moapp/jyInfo/rpc/util"
  8. se "app.yhyue.com/moapp/jybase/encrypt"
  9. "context"
  10. "fmt"
  11. "time"
  12. "app.yhyue.com/moapp/jybase/common"
  13. "app.yhyue.com/moapp/jybase/redis"
  14. "app.yhyue.com/moapp/jyInfo/rpc/manager/internal/svc"
  15. "app.yhyue.com/moapp/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_name"] = in.ReviewName
  44. upData["review_time"] = time.Now().Format("2006-01-02 15:04:05")
  45. if in.MsgType == 1 || in.MsgType == 2 {
  46. var info jycommon.Information
  47. db := IC.DB.Where(query).First(&info).Update(upData)
  48. if db.Error != nil {
  49. resp.ErrCode = -1
  50. resp.ErrMsg = "审核不通过,更新数据失败"
  51. }
  52. } else if in.MsgType == 3 {
  53. var info jycommon.SupplyInfo
  54. db := IC.DB.Where(query).First(&info)
  55. if db.Error != nil {
  56. resp.ErrCode = -1
  57. resp.ErrMsg = "审核不通过,供应信息数据查询失败"
  58. } else {
  59. //TODO 释放供应信息点数
  60. //if err := ResourcePowerRelease(md.ResourceCenterRpc, common.Int64All(info.EntId), common.Int64All(info.UserId), md.FuncCode, common.InterfaceToStr(info.AppId)); err != nil {
  61. // resp.ErrCode = -1
  62. // resp.ErrMsg = err.Error()
  63. // break
  64. //}
  65. if db.Update(upData) != nil {
  66. resp.ErrCode = -1
  67. resp.ErrMsg = "审核不通过,供应信息更新失败"
  68. }
  69. }
  70. } else {
  71. resp.ErrCode = -1
  72. resp.ErrMsg = "信息类型有误"
  73. }
  74. case 2:
  75. query := make(map[string]interface{})
  76. query["id"] = msgId
  77. query["app_id"] = in.AppId
  78. upData := make(map[string]interface{})
  79. upData["review_name"] = in.ReviewName
  80. upData["review_desc"] = in.ReviewDetail
  81. upData["status"] = 4
  82. upData["review_time"] = time.Now().Format("2006-01-02 15:04:05")
  83. if in.MsgType == 1 || in.MsgType == 2 {
  84. var info jycommon.Information
  85. db := IC.DB.Where(query).First(&info)
  86. if db.Error != nil {
  87. fmt.Println(db.Error)
  88. resp.ErrCode = -1
  89. resp.ErrMsg = "人工审核通过,获取信息失败"
  90. break
  91. } else {
  92. //nsq发布信息
  93. appInfo := common.StructToMapMore(info)
  94. nsq, err := util.NewNsqInfo(md.NsqConfig.Ip, md.NsqConfig.Topic, in.MsgId, common.InterfaceToStr(info.Type), "2", false, appInfo)
  95. if err != nil || nsq.NsqPushInfo() != nil {
  96. resp.ErrCode = -1
  97. resp.ErrMsg = "人工审核通过,调用nsq失败"
  98. break
  99. }
  100. if db.Update(upData).Error != nil {
  101. resp.ErrCode = -1
  102. resp.ErrMsg = "人工审核通过,nsq发布成功,更新信息失败"
  103. }
  104. }
  105. } else if in.MsgType == 3 {
  106. var info jycommon.SupplyInfo
  107. db := IC.DB.Where(query).First(&info)
  108. if db.Error != nil {
  109. resp.ErrCode = -1
  110. resp.ErrMsg = "人工审核通过,获取供应信息数据失败"
  111. } else {
  112. // 供应信息生成索引
  113. upData["publish_time"] = time.Now().Format("2006-01-02 15:04:05")
  114. upData["published"] = 2
  115. entNameKye := fmt.Sprintf("userEntName_%s_%s_%d", info.UserId, in.MsgId, in.MsgType)
  116. entName := redis.GetStr("other", entNameKye)
  117. supInfo := make(map[string]interface{})
  118. supInfo["id"] = info.Id
  119. supInfo["title"] = info.Title
  120. supInfo["detail"] = info.Detail
  121. supInfo["province"] = info.Province
  122. supInfo["city"] = info.City
  123. if !model.SaveSupplyInfo(entName, supInfo) {
  124. resp.ErrCode = -1
  125. resp.ErrMsg = "人工审核通过,信息发布调用失败"
  126. break
  127. }
  128. if db.Update(upData).Error != nil {
  129. resp.ErrCode = -1
  130. resp.ErrMsg = "人工审核通过,供应信息发布调用成功,更新信息状态失败"
  131. }
  132. }
  133. } else {
  134. resp.ErrCode = -1
  135. resp.ErrMsg = "信息类型有误"
  136. }
  137. default:
  138. resp.ErrCode = -1
  139. resp.ErrMsg = "审批状态有误"
  140. }
  141. return &resp, nil
  142. }