proj_business.go 7.7 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111
  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. // 添加数据
  14. type ProjBusinessReq struct {
  15. NboName string `json:"nboName" v:"required#项目名称不能为空"` // 项目名称
  16. CustId int `json:"custId" v:"required#关联客户不能为空"` // 关联客户
  17. CustName string `json:"custName" v:"required#关联客户不能为空"` // 客户名称
  18. NboType string `json:"nboType" v:"required|in:A,B,C#项目类别不能为空|项目类别只能为A、B、C"` // 项目类别(A类B类C类)
  19. NboPhase string `json:"nboPhase"` // 项目阶段(暂不起用)
  20. NboSource string `json:"nboSource" v:"required#关联客户不能为空"` // 项目来源
  21. NboBudget float64 `json:"nboBudget"` // 项目预算
  22. ApproStatus string `json:"approStatus" v:"in:10,20,30,40,60#审批状态错误"` // 审批状态(10待审批20审批中30审批通过40审批退回60审批拒绝)
  23. ContactId int `json:"contactId" v:"required#关联联系人不能为空"` // 关联联系人
  24. ContactName string `json:"contactName" v:"required#关联联系人不能为空"` // 联系人姓名
  25. ContactPostion string `json:"contactPostion" v:"required#联系人岗位不能为空"` // 联系人岗位
  26. ContactTelephone string `json:"contactTelephone" v:"required#联系人岗位不能为空"` // 联系人电话
  27. MakerId int `json:"makerId" v:"required#关联决策人不能为空"` // 关联决策人
  28. MakerName string `json:"makerName" v:"required#决策人姓名不能为空"` // 决策人姓名
  29. MakerPost string `json:"makerPost" v:"required#决策人岗位不能为空"` // 决策人岗位
  30. MakerTelephone string `json:"makerTelephone" v:"required#决策人电话不能为空"` // 决策人电话
  31. SalesModel string `json:"salesModel" v:"required|in:10,20,30#销售模式不能为空|销售模式不存在"` // 销售模式(10直销20经销30代理)
  32. SaleId int `json:"saleId" v:"required#归属销售不能为空"` // 归属销售
  33. SaleName string `json:"saleName" v:"required#归属销售不能为空"` // 销售姓名
  34. DistributorId int `json:"distributorId"` // 经销商/代理商ID
  35. DistributorName string `json:"distributorName"` // 经销商/代理商名称
  36. FinalFollowTime *gtime.Time `json:"finalFollowTime"` // 最后跟进时间
  37. NextFollowTime *gtime.Time `json:"nextFollowTime"` // 下次跟进时间
  38. PlanPurchaseTime *gtime.Time `json:"planPurchaseTime"` // 计划采购时间
  39. EstTransTime *gtime.Time `json:"estTransTime"` // 预计成交时间
  40. EstTransPrice float64 `json:"estTransPrice"` // 预计成交价格
  41. RiskProfile string `json:"riskProfile"` // 风险情况
  42. Difficulty string `json:"difficulty"` // 困难点
  43. Competitor string `json:"competitor"` // 竞争公司
  44. Intervention string `json:"intervention"` // 介入情况
  45. DeptId int `json:"deptId"` // 所属部门ID
  46. DeptName string `json:"deptName"` // 所属部门
  47. Remark string `json:"remark"` // 备注
  48. }
  49. type ProjBusinessSearchReq struct {
  50. NboName string `json:"nboName"` // 项目名称
  51. CustName string `json:"custName"` // 客户名称
  52. SaleName string `json:"saleName"` // 销售姓名
  53. NboType string `json:"nboType"` // 项目类别(A类B类C类)
  54. request.PageReq
  55. }
  56. type AddProjBusinessReq struct {
  57. NboName string `json:"nboName" v:"required#项目名称不能为空"` // 项目名称
  58. CustId int `json:"custId" v:"required#关联客户不能为空"` // 关联客户
  59. CustName string `json:"custName" v:"required#关联客户不能为空"` // 客户名称
  60. EstTransTime *gtime.Time `json:"estTransTime"` // 预计成交时间
  61. EstTransPrice float64 `json:"estTransPrice"` // 预计成交价格
  62. NextFollowTime *gtime.Time `json:"nextFollowTime"` // 下次跟进时间
  63. Remark string `json:"remark"` // 备注
  64. Products []BusinessProduct `json:"products"` // 产品列表
  65. }
  66. type UpdateProjBusinessReq struct {
  67. Id int `p:"id" v:"required# id不能为空"`
  68. *AddProjBusinessReq
  69. }
  70. // 项目产品
  71. type BusinessProduct struct {
  72. Id int `json:"id"` // 主键
  73. Name string `json:"name" v:"required#产品名称不能为空"` // 产品名称
  74. Category string `json:"category" v:"required#产品类别不能为空"` // 产品类别
  75. Unit string `json:"unit" v:"required#单位不能为空"` // 单位
  76. OriginalPrice int `json:"originalPrice" v:"required#原价不能为空"` // 原价
  77. SellingPrice int `json:"sellingPrice" v:"required#售价不能为空"` // 售价
  78. Quantity int `json:"quantity" v:"required#数量不能为空"` // 数量
  79. Discount int `json:"discount" v:"required#折扣不能为空"` // 折扣
  80. TotalPrice int `json:"totalPrice"` // 总价
  81. Remark string `json:"remark"` // 备注
  82. }
  83. // 项目调级请求
  84. type BusinessGradationReq struct {
  85. Id int `json:"id" v:"required# id不能为空"` // 主键
  86. NboType string `json:"nboType" v:"required|in:A,B,C#项目类别不能为空|项目类别只能为A、B、C"` // 项目类别(A类B类C类)
  87. }
  88. // 项目转移请求
  89. type BusinessTransferReq struct {
  90. Id int `json:"id" v:"required# id不能为空"` // 主键
  91. UserId int `json:"userId" v:"required# 负责人不能为空"` // 负责人
  92. UserName string `json:"userName" v:"required# 负责人不能为空"` // 负责人
  93. Remark string `json:"remark"` // 备注
  94. }
  95. // 获取项目关联信息
  96. type BusinessReq struct {
  97. BusId int64 `json:"busId" v:"required# 关联项目不能为空"` // 主键
  98. }