infoexaminelogic.go 4.7 KB

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