report.go 1.6 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455
  1. package english_report
  2. import (
  3. "hongze/hongze_yb_en_api/models/english_company"
  4. "hongze/hongze_yb_en_api/models/english_report"
  5. "hongze/hongze_yb_en_api/models/english_report_email"
  6. "hongze/hongze_yb_en_api/services/alarm_msg"
  7. "hongze/hongze_yb_en_api/utils"
  8. "time"
  9. )
  10. func DealEmail(reportItem *english_report.Report, reportCode string, shareEmailId int) (err error, errMsg string) {
  11. defer func() {
  12. if err != nil {
  13. alarm_msg.SendAlarmMsg(utils.APPNAME+"更新英文报告邮箱PV失败, ErrMsg: "+errMsg, 2)
  14. }
  15. }()
  16. emailItem := new(english_report_email.Email)
  17. userEmail, err := emailItem.GetById(shareEmailId)
  18. if err != nil && err != utils.ErrNoRow {
  19. errMsg = "获取客户邮箱信息失败, Err:" + err.Error()
  20. return
  21. }
  22. if userEmail == nil {
  23. return
  24. }
  25. // 更新报告邮箱pv(冗余)
  26. if err = reportItem.UpdatePvEmailByReportCode(reportCode); err != nil {
  27. errMsg = "更新报告邮箱PV失败, Err:" + err.Error()
  28. return
  29. }
  30. // 记录邮箱PV
  31. pv := &english_report_email.EmailPv{
  32. ReportId: reportItem.Id,
  33. EmailId: userEmail.Id,
  34. CreateTime: time.Now().Local(),
  35. }
  36. if err = pv.Add(); err != nil {
  37. errMsg = "新增邮箱PV失败, Err: " + err.Error()
  38. return
  39. }
  40. // 更新阅读量
  41. if err = emailItem.UpdateViewTotalById(userEmail.Id); err != nil {
  42. errMsg = "更新英文联系人阅读量失败, Err: " + err.Error()
  43. return
  44. }
  45. if userEmail.CompanyId > 0 {
  46. companyItem := new(english_company.Company)
  47. if err = companyItem.UpdateViewTotalByCompanyId(userEmail.CompanyId); err != nil {
  48. errMsg = "更新英文客户阅读量, Err: " + err.Error()
  49. return
  50. }
  51. }
  52. return
  53. }