proj_business.go 7.0 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114
  1. // ==========================================================================
  2. // This is auto-generated by gf cli tool. Fill this file as you wish.
  3. // ==========================================================================
  4. package model
  5. import (
  6. "dashoo.cn/micro/app/model/proj/internal"
  7. "dashoo.cn/opms_libary/request"
  8. "github.com/gogf/gf/os/gtime"
  9. )
  10. // ProjBusiness is the golang structure for table proj_business.
  11. type ProjBusiness internal.ProjBusiness
  12. // Fill with you ideas below.
  13. type ProjBusinessSearchReq struct {
  14. NboName string `json:"nboName"` // 项目名称
  15. CustName string `json:"custName"` // 客户名称
  16. SaleName string `json:"saleName"` // 销售姓名
  17. NboType string `json:"nboType"` // 项目类别(A类B类C类)
  18. request.PageReq
  19. }
  20. type AddProjBusinessReq struct {
  21. NboName string `json:"nboName" v:"required#项目名称不能为空"` // 项目名称
  22. CustId int `json:"custId" v:"required#关联客户不能为空"` // 关联客户
  23. CustName string `json:"custName" v:"required#关联客户不能为空"` // 客户名称
  24. NboSource string `json:"nboSource" v:"required#项目来源不能为空"` // 项目来源
  25. ContactId int `json:"contactId" v:"required#关联联系人不能为空"` // 关联联系人
  26. ContactName string `json:"contactName" v:"required#联系人姓名不能为空"` // 联系人姓名
  27. ContactPostion string `json:"contactPostion"` // 联系人岗位
  28. ContactTelephone string `json:"contactTelephone"` // 联系人电话
  29. SaleId int `json:"saleId" v:"required#归属销售不能为空"` // 归属销售
  30. SaleName string `json:"saleName" v:"required#销售姓名不能为空"` // 销售姓名
  31. SalesModel string `json:"salesModel" v:"required|in:10,20,30#销售模式不能为空|销售模式不存在"` // 销售模式(10直销20经销30代理)
  32. DistributorId int `json:"distributorId" v:"required-unless:salesModel,10#经销商/代理商不能为空"` // 经销商/代理商ID
  33. DistributorName string `json:"distributorName" v:"required-unless:salesModel,10#经销商/代理商名称不能为空"` // 经销商/代理商名称
  34. NboBudget float64 `json:"nboBudget"` // 项目预算
  35. ObtainTime *gtime.Time `json:"obtainTime"` // 获取时间
  36. PlanPurchaseTime *gtime.Time `json:"planPurchaseTime"` // 计划采购时间
  37. EstTransTime *gtime.Time `json:"estTransTime"` // 预计成交时间
  38. EstTransPrice float64 `json:"estTransPrice"` // 预计成交价格
  39. RiskProfile string `json:"riskProfile"` // 风险情况
  40. Difficulty string `json:"difficulty"` // 困难点
  41. Competitor string `json:"competitor"` // 竞争公司
  42. Intervention string `json:"intervention"` // 介入情况
  43. Remark string `json:"remark"` // 备注
  44. // 跟进日程
  45. FollowTime *gtime.Time `json:"followTime" v:"required#跟进时间不能为空"` // 跟进时间
  46. FollowUserId int `json:"followUserId"` // 关联跟进负责人
  47. FollowUserName string `json:"followUserName"` // 跟进负责人姓名
  48. FollowContent string `json:"followContent" v:"required#跟进内容不能为空"` // 跟进内容
  49. Products []BusinessProduct `json:"products" v:"required#产品列表不能为空"` // 产品列表
  50. }
  51. type UpdateProjBusinessReq struct {
  52. Id int `p:"id" v:"required# id不能为空"`
  53. *AddProjBusinessReq
  54. }
  55. // BusinessProduct 项目产品
  56. type BusinessProduct struct {
  57. Id int `json:"id"` // 主键
  58. BusId int `json:"busId"` // 关联项目
  59. ProdId int `json:"prodId" v:"required#关联产品不能为空"` // 关联产品
  60. ProdName string `json:"prodName" v:"required#产品名称不能为空"` // 产品名称
  61. ProdCode string `json:"prodCode" v:"required#产品编码不能为空"` // 产品编码
  62. ProdClass string `json:"prodClass" v:"required#产品类别不能为空"` // 产品类别
  63. ProdNum int `json:"prodNum" v:"required#产品数量不能为空"` // 产品数量
  64. ProdPrice float64 `json:"prodPrice" v:"required#产品售价不能为空"` // 产品售价
  65. GuidPrice float64 `json:"guidPrice"` // 建议成交价
  66. ProdUnit string `json:"prodUnit"` // 产品单位
  67. TotalPrice int `json:"totalPrice"` // 总价
  68. Remark string `json:"remark"` // 备注
  69. }
  70. // BusinessGradationReq 项目调级请求
  71. type BusinessGradationReq struct {
  72. Id int `json:"id" v:"required# id不能为空"` // 主键
  73. NboType string `json:"nboType" v:"required|in:A,B,C#项目类别不能为空|项目类别只能为A、B、C"` // 项目类别(A类B类C类)
  74. Remark string `json:"remark"` // 备注
  75. }
  76. // BusinessTransferReq 项目转移请求
  77. type BusinessTransferReq struct {
  78. Id int `json:"id" v:"required# id不能为空"` // 主键
  79. UserId int `json:"userId" v:"required# 负责人不能为空"` // 负责人
  80. UserName string `json:"userName" v:"required# 负责人不能为空"` // 负责人
  81. Remark string `json:"remark"` // 备注
  82. }
  83. // BusinessPrimacyContactReq 设置首要联系人请求
  84. type BusinessPrimacyContactReq struct {
  85. Id int `json:"id" v:"required# id不能为空"` // 主键
  86. ContactId int `json:"contactId" v:"required#关联联系人不能为空"` // 关联联系人
  87. ContactName string `json:"contactName" v:"required#联系人姓名不能为空"` // 联系人姓名
  88. ContactPostion string `json:"contactPostion"` // 联系人岗位
  89. ContactTelephone string `json:"contactTelephone"` // 联系人电话
  90. Remark string `json:"remark"` // 备注
  91. }
  92. // BusinessReq 获取项目关联信息
  93. type BusinessReq struct {
  94. BusId int64 `json:"busId" v:"required# 关联项目不能为空"` // 主键
  95. CuctId int `json:"cuctId"` // 客户联系人
  96. CuctName string `json:"cuctName"` // 客户联系人姓名
  97. OpnType string `json:"opnType"` // 操作类型
  98. request.PageReq
  99. }