company_product.go 3.9 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586
  1. package models
  2. import (
  3. "rdluck_tools/orm"
  4. "time"
  5. )
  6. type CompanyProduct struct {
  7. CompanyProductId int `orm:"column(company_product_id);pk" description:"客户产品id"`
  8. CompanyId int `description:"客户id"`
  9. ProductId int `description:"产品id"`
  10. ProductName string `description:"产品名称"`
  11. CompanyName string `description:"客户名称"`
  12. Source string `description:"来源"`
  13. Reasons string `description:"新增理由"`
  14. Status string `description:"客户状态"`
  15. IndustryId int `description:"行业id"`
  16. IndustryName string `description:"行业名称"`
  17. SellerId int `description:"销售id"`
  18. SellerName string `description:"销售名称"`
  19. GroupId int `description:"销售分组id"`
  20. DepartmentId int `description:"销售部门id"`
  21. IsSuspend int `description:"1:暂停,0:启用"`
  22. SuspendTime time.Time `description:"暂停启用时间"`
  23. ApproveStatus string `description:"审批状态:'审批中','通过','驳回'"`
  24. FreezeTime time.Time `description:"冻结时间"`
  25. Remark string `description:"备注信息"`
  26. CreateTime time.Time `description:"创建时间"`
  27. ModifyTime time.Time `description:"修改时间"`
  28. StartDate string `description:"开始日期"`
  29. EndDate string `description:"结束日期"`
  30. LoseReason string `description:"流失原因"`
  31. LossTime time.Time `description:"流失时间"`
  32. CompanyType string `description:"客户类型"`
  33. }
  34. //判断客户权限总数
  35. func GetCompanyProductPermissionCount(companyId, productId int) (count int, err error) {
  36. sql := ` SELECT COUNT(DISTINCT c.chart_permission_id) AS COUNT FROM company AS a
  37. INNER JOIN company_product AS b ON a.company_id=b.company_id
  38. INNER JOIN company_report_permission AS c ON a.company_id=c.company_id
  39. WHERE b.company_id=? AND b.product_id=?
  40. AND b.status IN('正式','试用')
  41. AND c.product_id=? `
  42. o := orm.NewOrm()
  43. err = o.Raw(sql, companyId, productId, productId).QueryRow(&count)
  44. return
  45. }
  46. type CompanyProductDetail struct {
  47. CompanyProductId int `orm:"column(company_product_id);pk" description:"客户产品id"`
  48. CompanyId int `description:"客户id"`
  49. ProductId int `description:"产品id"`
  50. ProductName string `description:"产品名称"`
  51. CompanyName string `description:"客户名称"`
  52. Source string `description:"来源"`
  53. Reasons string `description:"新增理由"`
  54. Status string `description:"客户状态"`
  55. IndustryId int `description:"行业id"`
  56. IndustryName string `description:"行业名称"`
  57. SellerId int `description:"销售id"`
  58. SellerName string `description:"销售名称"`
  59. GroupId int `description:"销售分组id"`
  60. DepartmentId int `description:"销售部门id"`
  61. IsSuspend int `description:"1:暂停,0:启用"`
  62. SuspendTime time.Time `description:"暂停启用时间"`
  63. ApproveStatus string `description:"审批状态:'审批中','通过','驳回'"`
  64. FreezeTime time.Time `description:"冻结时间"`
  65. Remark string `description:"备注信息"`
  66. CreateTime time.Time `description:"创建时间"`
  67. ModifyTime time.Time `description:"修改时间"`
  68. StartDate string `description:"开始日期"`
  69. EndDate string `description:"结束日期"`
  70. LoseReason string `description:"流失原因"`
  71. LossTime time.Time `description:"流失时间"`
  72. }
  73. func GetCompanyProductsByUserId(userId int) (items []*CompanyProductDetail, err error) {
  74. sql := ` SELECT a.* FROM company_product AS a
  75. INNER JOIN wx_user AS b ON a.company_id=b.company_id
  76. WHERE b.user_id=? `
  77. o := orm.NewOrm()
  78. _, err = o.Raw(sql, userId).QueryRows(&items)
  79. return
  80. }