price_driven.go 3.1 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485868788899091
  1. package price_driven
  2. import (
  3. "errors"
  4. "hongze/hongze_yb/models/response"
  5. "hongze/hongze_yb/models/tables/chart_permission"
  6. "hongze/hongze_yb/models/tables/company_product"
  7. "hongze/hongze_yb/models/tables/yb_price_driven"
  8. "hongze/hongze_yb/models/tables/yb_price_driven_visit_log"
  9. "hongze/hongze_yb/services/user"
  10. "hongze/hongze_yb/utils"
  11. )
  12. // GetPriceDrivenDetail 获取价格驱动详情
  13. func GetPriceDrivenDetail(chartPermissionId int) (resp *response.PriceDrivenItem, errMsg string, err error) {
  14. resp = new(response.PriceDrivenItem)
  15. // 获取详情
  16. item, e := yb_price_driven.GetPriceDrivenByChartPermissionId(chartPermissionId)
  17. if e != nil && e != utils.ErrNoRow {
  18. errMsg = "获取失败"
  19. err = errors.New("获取价格驱动信息失败, Err:" + e.Error())
  20. return
  21. }
  22. if item != nil {
  23. resp.PriceDrivenID = item.PriceDrivenID
  24. resp.ChartPermissionID = item.ChartPermissionID
  25. resp.MainVariable = item.MainVariable
  26. resp.CoreDrivenType = item.CoreDrivenType
  27. resp.CoreDrivenContent = item.CoreDrivenContent
  28. resp.CoreContent = item.CoreContent
  29. resp.CreateTime = item.CreateTime.Format(utils.FormatDateTime)
  30. resp.ModifyTime = item.ModifyTime.Format(utils.FormatDateTime)
  31. }
  32. return
  33. }
  34. // SavePriceDrivenVisitLog 保存价格驱动访问记录
  35. func SavePriceDrivenVisitLog(priceDrivenId, sourceAgent int, userInfo user.UserInfo) (errMsg string, err error) {
  36. companyInfo, e := company_product.GetByCompany2ProductId(userInfo.CompanyID, 1)
  37. if e != nil && e != utils.ErrNoRow {
  38. errMsg = "保存失败"
  39. err = errors.New("获取客户信息失败, Err: " + e.Error())
  40. return
  41. }
  42. companyName := "潜在客户"
  43. companyStatus := "潜在"
  44. if companyInfo != nil {
  45. companyName = companyInfo.CompanyName
  46. companyStatus = companyInfo.Status
  47. }
  48. item, e := yb_price_driven.GetPriceDrivenById(priceDrivenId)
  49. if e != nil && e != utils.ErrNoRow {
  50. errMsg = "保存失败"
  51. err = errors.New("获取价格驱动信息失败, Err:" + e.Error())
  52. return
  53. }
  54. permissionId := 0
  55. permissionName := ""
  56. if item != nil {
  57. // 研报10.0这里需要调整成标签,目前急着上线先用着品种
  58. chartPermission, e := chart_permission.GetByChartPermissionId(item.ChartPermissionID)
  59. if e != nil && e != utils.ErrNoRow {
  60. errMsg = "保存失败"
  61. err = errors.New("获取品种权限失败, Err:" + e.Error())
  62. return
  63. }
  64. if chartPermission != nil {
  65. permissionId = int(chartPermission.ChartPermissionID)
  66. permissionName = chartPermission.PermissionName
  67. }
  68. }
  69. logItem := &yb_price_driven_visit_log.YbPriceDrivenVisitLog{
  70. PriceDrivenID: priceDrivenId,
  71. ChartPermissionID: permissionId,
  72. ChartPermissionName: permissionName,
  73. UserID: int(userInfo.UserID),
  74. Mobile: userInfo.Mobile,
  75. RealName: userInfo.RealName,
  76. NickName: userInfo.NickName,
  77. CompanyID: int(userInfo.CompanyID),
  78. CompanyName: companyName,
  79. CompanyStatus: companyStatus,
  80. SourceAgent: sourceAgent,
  81. }
  82. if e := logItem.Create(); e != nil {
  83. errMsg = "保存失败"
  84. err = errors.New("新增价格驱动访问记录失败, Err: " + e.Error())
  85. return
  86. }
  87. return
  88. }