// ========================================================================== // This is auto-generated by gf cli tool. Fill this file as you wish. // ========================================================================== package model import ( "dashoo.cn/micro/app/model/proj/internal" "dashoo.cn/opms_libary/request" "github.com/gogf/gf/os/gtime" ) // ProjBusiness is the golang structure for table proj_business. type ProjBusiness internal.ProjBusiness // Fill with you ideas below. type ProjBusinessSearchReq struct { NboName string `json:"nboName"` // 项目名称 CustId int `json:"custId"` // 客户名称 CustName string `json:"custName"` // 客户名称 SaleName string `json:"saleName"` // 销售姓名 NboType string `json:"nboType"` // 项目类别(A类B类C类) ProductLine string `json:"productLine"` // 产品线 NboSource string `json:"nboSource"` // 项目来源 DistributorName string `json:"distributorName"` // 经销商/代理商名称 //FilingTime *gtime.Time `json:"filingTime"` // 项目备案时间 ProvinceId int `json:"provinceId"` request.PageReq } type ProjBusinessRes struct { ProjBusiness ContractAmount float64 `json:"contractAmount"` // 合同金额 ProjClosingTime *gtime.Time `json:"projClosingTime"` // 合同金额 FollowCount int `json:"followCount"` // 跟进次数 QuotationFileList []*ProjBusinessFile `json:"quotationFileList" ` // 报价单文件 Products []BusinessProduct `json:"products" ` // 产品列表 } type AddProjBusinessReq struct { NboName string `json:"nboName" v:"required#项目名称不能为空"` // 项目名称 CustId int `json:"custId" v:"required|min:1#|关联客户不能为空"` // 关联客户 CustName string `json:"custName" v:"required#关联客户不能为空"` // 客户名称 ProductLine string `json:"productLine" v:"required#产品线不能为空"` // 产品线 NboSource string `json:"nboSource" v:"required#项目来源不能为空"` // 项目来源 BidId int `json:"bidId" v:"required-if:nboSource,80#客户招标不能为空"` // 客户招标Id BidInfo string `json:"bidInfo" v:"required-if:nboSource,80#客户招标信息不能为空"` // 客户招标信息 SaleId int `json:"saleId" v:"required|min:1#|归属销售不能为空"` // 归属销售 SaleName string `json:"saleName" v:"required#销售姓名不能为空"` // 销售姓名 SalesModel string `json:"salesModel" v:"required|in:10,20,30#销售模式不能为空|销售模式不存在"` // 销售模式(10直销20经销30代理) DistributorId int `json:"distributorId" v:"required-unless:salesModel,10#经销商/代理商不能为空"` // 经销商/代理商ID DistributorName string `json:"distributorName" v:"required-unless:salesModel,10#经销商/代理商名称不能为空"` // 经销商/代理商名称 NboType string `json:"nboType" v:"required|in:30,50#项目级别不能为空|项目级别错误"` // 项目级别 IsBig string `json:"isBig" v:"required#是否大项目不能为空"` // 是否大项目 Remark string `json:"remark" ` // 备注 } type UpdateProjBusinessReq struct { Id int `json:"id" ` // 主键 NboType string `json:"nboType" ` // 项目级别 // 创建 NboName string `json:"nboName" ` // 项目名称 CustId int `json:"custId" ` // 关联客户 CustName string `json:"custName" ` // 客户名称 ProductLine string `json:"productLine" ` // 产品线 NboSource string `json:"nboSource" ` // 项目来源 BidId int `json:"bidId" ` // 客户招标Id BidInfo string `json:"bidInfo" ` // 客户招标信息 SaleId int `json:"saleId" ` // 归属销售 SaleName string `json:"saleName" ` // 销售姓名 SalesModel string `json:"salesModel" ` // 销售模式(10直销20经销30代理) DistributorId int `json:"distributorId" ` // 经销商/代理商ID DistributorName string `json:"distributorName" ` // 经销商/代理商名称 IsBig string `json:"isBig" ` // 是否大项目 // C => B NboBudget float64 `json:"nboBudget" ` // 项目预算 DealerSalesId int `json:"dealerSalesId" ` // 关联经销商销售 DealerSalesName string `json:"dealerSalesName" ` // 经销商销售名称 DealerSalesContact string `json:"dealerSalesContact" ` // 经销商销售电话/微信 EstTransPrice float64 `json:"estTransPrice" ` // 预计出货金额 //QuotationFile string `json:"quotationFile" v:"required#报价单文件不能为空"` // 报价单文件 Products []BusinessProduct `json:"products" ` // 产品列表 // B => A PurchasingWay string `json:"purchasingWay" ` // 采购方式 CapitalSource string `json:"capitalSource" ` // 资金来源 PlanPurchaseTime *gtime.Time `json:"planPurchaseTime" ` // 计划采购时间 ContactId int `json:"contactId" ` // 关联联系人 ContactName string `json:"contactName" ` // 联系人姓名 ContactTelephone string `json:"contactTelephone" ` // 联系人电话 //ContactWechat string `json:"contactWechat" v:"required#联系人微信不能为空"` // 联系人微信 //MakerId int `json:"makerId" v:"required|min:1#|关联决策人不能为空"` // 关联决策人 MakerName string `json:"makerName" ` // 决策人姓名 MakerDept string `json:"makerDept" ` // 决策人部门 //IsAdoptDashoo string `json:"isAdoptDashoo" v:"required#是否采纳大数技术参数不能为空"` // 是否采纳大数技术参数(上传附件) //DashooParamFile string `json:"dashooParamFile" v:"required-if:isAdoptDashoo,10#大数参数文件不能为空"` // 大数参数文件 Competitor string `json:"competitor" ` // 竞争公司 CustomerIntentionFactory string `json:"customerIntentionFactory" ` // 客户倾向厂家 Remark string `json:"remark" ` // 备注 } // 必填原因注释 //type UpdateProjBusinessReq struct { // Id int `json:"id" v:"required|min:1#|id不能为空"` // 主键 // NboType string `json:"nboType" v:"required|in:10,20,30#项目级别不能为空|项目级别错误"` // 项目级别 // // 创建 // NboName string `json:"nboName" v:"required#项目名称不能为空"` // 项目名称 // CustId int `json:"custId" v:"required|min:1#|关联客户不能为空"` // 关联客户 // CustName string `json:"custName" v:"required#关联客户不能为空"` // 客户名称 // ProductLine string `json:"productLine" v:"required#产品线不能为空"` // 产品线 // NboSource string `json:"nboSource" v:"required#项目来源不能为空"` // 项目来源 // BidId int `json:"bidId" v:"required-if:nboSource,80#客户招标不能为空"` // 客户招标Id // BidInfo string `json:"bidInfo" v:"required-if:nboSource,80#客户招标信息不能为空"` // 客户招标信息 // SaleId int `json:"saleId" v:"required|min:1#|归属销售不能为空"` // 归属销售 // SaleName string `json:"saleName" v:"required#销售姓名不能为空"` // 销售姓名 // SalesModel string `json:"salesModel" v:"required|in:10,20,30#销售模式不能为空|销售模式错误"` // 销售模式(10直销20经销30代理) // DistributorId int `json:"distributorId" v:"required-unless:salesModel,10|min:1#|经销商/代理商不能为空"` // 经销商/代理商ID // DistributorName string `json:"distributorName" v:"required-unless:salesModel,10#经销商/代理商名称不能为空"` // 经销商/代理商名称 // IsBig string `json:"isBig" v:"required#是否大项目不能为空"` // 是否大项目 // // // C => B // NboBudget float64 `json:"nboBudget" v:"required|min:1#|项目预算不能为空"` // 项目预算 // DealerSalesId int `json:"dealerSalesId" v:"required-with:distributorName#|经销商销售不能为空"` // 关联经销商销售 // DealerSalesName string `json:"dealerSalesName" v:"required-with:distributorName#经销商销售名称不能为空"` // 经销商销售名称 // DealerSalesContact string `json:"dealerSalesContact" v:"required-with:distributorName#经销商销售电话不能为空"` // 经销商销售电话/微信 // EstTransPrice float64 `json:"estTransPrice" v:"required#预计出货金额不能为空"` // 预计出货金额 // //QuotationFile string `json:"quotationFile" v:"required#报价单文件不能为空"` // 报价单文件 // Products []BusinessProduct `json:"products" v:"required#产品列表不能为空"` // 产品列表 // // B => A // PurchasingWay string `json:"purchasingWay" v:"required#采购方式不能为空"` // 采购方式 // CapitalSource string `json:"capitalSource" v:"required#资金来源不能为空"` // 资金来源 // PlanPurchaseTime *gtime.Time `json:"planPurchaseTime" v:"required#计划采购时间不能为空"` // 计划采购时间 // ContactId int `json:"contactId" v:"required|min:1#|联系人不能为空"` // 关联联系人 // ContactName string `json:"contactName" v:"required#联系人姓名不能为空"` // 联系人姓名 // ContactTelephone string `json:"contactTelephone" v:"required#联系人电话不能为空"` // 联系人电话 // //ContactWechat string `json:"contactWechat" v:"required#联系人微信不能为空"` // 联系人微信 // //MakerId int `json:"makerId" v:"required|min:1#|关联决策人不能为空"` // 关联决策人 // MakerName string `json:"makerName" v:"required#决策人姓名不能为空"` // 决策人姓名 // MakerDept string `json:"makerDept" v:"required#决策人部门不能为空"` // 决策人部门 // //IsAdoptDashoo string `json:"isAdoptDashoo" v:"required#是否采纳大数技术参数不能为空"` // 是否采纳大数技术参数(上传附件) // //DashooParamFile string `json:"dashooParamFile" v:"required-if:isAdoptDashoo,10#大数参数文件不能为空"` // 大数参数文件 // Competitor string `json:"competitor" v:"required#竞争公司不能为空"` // 竞争公司 // CustomerIntentionFactory string `json:"customerIntentionFactory" v:"required#客户倾向厂家不能为空"` // 客户倾向厂家 // Remark string `json:"remark" ` // 备注 //} // BusinessProduct 项目产品 type BusinessProduct struct { Id int `json:"id"` // 主键 BusId int `json:"busId"` // 关联项目 ProdId int `json:"prodId" v:"required|min:1#|关联产品不能为空"` // 关联产品 ProdName string `json:"prodName" v:"required#产品名称不能为空"` // 产品名称 ProdCode string `json:"prodCode" v:"required#产品编码不能为空"` // 产品编码 ProdClass string `json:"prodClass" v:"required#产品类别不能为空"` // 产品类别 ProdNum int `json:"prodNum" v:"required#产品数量不能为空"` // 产品数量 ProdPrice float64 `json:"prodPrice" v:"required#产品售价不能为空"` // 产品售价 GuidPrice float64 `json:"guidPrice"` // 建议成交价 ProdUnit string `json:"prodUnit"` // 产品单位 TotalPrice int `json:"totalPrice"` // 总价 Remark string `json:"remark"` // 备注 } // BusinessUpgradeReq 项目升级请求 type BusinessUpgradeReq struct { Id int `json:"id" v:"required|min:1#|id不能为空"` // 主键 NboType string `json:"nboType" v:"required|in:10,20,30#项目级别不能为空|项目级别错误"` // 项目级别 // C => B NboBudget float64 `json:"nboBudget" v:"required-unless:nboType,30#项目预算不能为空"` // 项目预算 SalesModel string `json:"salesModel" v:"required-unless:nboType,30|in:10,20,30#销售模式不能为空|销售模式错误"` // 销售模式(10直销20经销30代理) DealerSalesId int `json:"dealerSalesId" v:"required-unless:nboType,30,salesModel,10#经销商销售不能为空"` // 关联经销商销售 DealerSalesName string `json:"dealerSalesName" v:"required-unless:nboType,30,salesModel,10#经销商销售名称不能为空"` // 经销商销售名称 DealerSalesContact string `json:"dealerSalesContact" v:"required-unless:nboType,30,salesModel,10#经销商销售电话/微信不能为空"` // 经销商销售电话/微信 EstTransPrice float64 `json:"estTransPrice" v:"required-unless:nboType,30#预计出货金额不能为空"` // 预计出货金额 QuotationFile string `json:"quotationFile" v:"required-unless:nboType,30#报价单文件不能为空"` // 报价单文件 Products []BusinessProduct `json:"products" v:"required-unless:nboType,30#产品列表不能为空"` // 产品列表 // B => A PurchasingWay string `json:"purchasingWay" v:"required-if:nboType,10#采购方式不能为空"` // 采购方式 CapitalSource string `json:"capitalSource" v:"required-if:nboType,10#资金来源不能为空"` // 资金来源 PlanPurchaseTime *gtime.Time `json:"planPurchaseTime" v:"required-if:nboType,10#计划采购时间不能为空"` // 计划采购时间 ContactId int `json:"contactId" v:"required-if:nboType,10#联系人不能为空"` // 关联联系人 ContactName string `json:"contactName" v:"required-if:nboType,10#联系人姓名不能为空"` // 联系人姓名 ContactTelephone string `json:"contactTelephone" v:"required-if:nboType,10#联系人电话不能为空"` // 联系人电话 MakerId int `json:"makerId" v:"required-if:nboType,10#关联决策人不能为空"` // 关联决策人 MakerName string `json:"makerName" v:"required-if:nboType,10#决策人姓名不能为空"` // 决策人姓名 MakerDept string `json:"makerDept" v:"required-if:nboType,10#决策人部门不能为空"` // 决策人部门 IsAdoptDashoo string `json:"isAdoptDashoo" v:"required-if:nboType,10#是否采纳大数技术参数不能为空"` // 是否采纳大数技术参数(上传附件) DashooParamFile string `json:"dashooParamFile" v:"required-if:isAdoptDashoo,10#大数参数文件不能为空"` // 大数参数文件 Competitor string `json:"competitor" v:"required-if:nboType,10#竞争公司不能为空"` // 竞争公司 CustomerIntentionFactory string `json:"customerIntentionFactory" v:"required-if:nboType,10#客户倾向厂家不能为空"` // 客户倾向厂家 // 储备 => C ProjConversionReason string `json:"projConversionReason" v:"required-if:nboType,30#转化原因不能为空"` // 项目转化原因 Remark string `json:"remark"` // 备注 } // BusinessDowngradeReq 项目降级请求 type BusinessDowngradeReq struct { Id int `json:"id" v:"required|min:1#|id不能为空"` // 主键 NboType string `json:"nboType" v:"required|in:10,20,30,50#项目级别不能为空|项目级别错误"` // 项目级别 Remark string `json:"remark" v:"required# 降级原因不能为空"` // 备注原因 } // BusinessTransferReq 项目转移请求 type BusinessTransferReq struct { Id int `json:"id" v:"required|min:1#|id不能为空"` // 主键 UserId int `json:"userId" v:"required# 负责人不能为空"` // 负责人 UserName string `json:"userName" v:"required# 负责人不能为空"` // 负责人 Remark string `json:"remark"` // 备注 } // SysAdminBusinessTransferReq 系统管理员项目转移请求 type SysAdminBusinessTransferReq struct { Ids []int `json:"ids" v:"required# ids不能为空"` // 主键 UserId int `json:"userId" v:"required# 负责人不能为空"` // 负责人 UserName string `json:"userName" v:"required# 负责人不能为空"` // 负责人 Remark string `json:"remark"` // 备注 } // BusinessToReserveReq 项目转为储备项目 type BusinessToReserveReq struct { Id int `json:"id" v:"required|min:1#|id不能为空"` // 主键 ProjConversionReason string `json:"projConversionReason" v:"required# 项目转化原因不能为空"` // 项目转化原因 } // BusinessPrimacyContactReq 设置首要联系人请求 type BusinessPrimacyContactReq struct { Id int `json:"id" v:"required|min:1#|id不能为空"` // 主键 ContactId int `json:"contactId" v:"required#关联联系人不能为空"` // 关联联系人 ContactName string `json:"contactName" v:"required#联系人姓名不能为空"` // 联系人姓名 ContactPostion string `json:"contactPostion"` // 联系人岗位 ContactTelephone string `json:"contactTelephone"` // 联系人电话 Remark string `json:"remark"` // 备注 } // UpdateBusinessStatusReq 更新项目状态请求 type UpdateBusinessStatusReq struct { Id int `json:"id" v:"required|min:1#|id不能为空"` // 主键 NboStatus string `json:"nboStatus" v:"required|in:10,20,30# 项目状态不能为空|项目状态不存在"` // 项目状态 Remark string `json:"remark"` // 备注 } // BusinessReq 获取项目关联信息 type BusinessReq struct { BusId int64 `json:"busId" v:"required|min:1#|关联项目不能为空"` // 主键 request.PageReq } // BusinessDynamicsReq 获取项目关联信息 type BusinessDynamicsReq struct { BusId int64 `json:"busId" v:"required|min:1#|关联项目不能为空"` // 主键 OpnType string `json:"opnType"` // 操作类型 request.PageReq } type SetBusinessContactReq struct { BusId int `json:"busId" ` // 关联项目 ContactId int `json:"contactIds" ` // 联系人主键 ContactType string `json:"contactType" ` // 联系人类型 }