zhangxinlei1996 1 год назад
Родитель
Сommit
aff77c70b4

+ 129 - 2
api/application.api

@@ -8,8 +8,114 @@ type (
 	}
 
 	ClueAddReq {
-		AppId        string `header:"appId,default=10000"`
-		Base_user_id int64  `header:"base_user_id"`
+		AppId        string   `header:"appId,default=10000"`
+		BaseUserId   int64    `header:"base_user_id"`
+		PositionId   int64    `header:"positionId,optional"`
+		EntUserId    int64    `header:"entUserId,optional"`
+		EntId        int64    `header:"entId,optional"`
+		CluesSource  string   `json:"cluesSource"`  //线索来源
+		ClueName     string   `json:"clueName"`     //线索名称
+		Summary      string   `json:"summary"`      //概要信息
+		FollowUpTime int64    `json:"followUpTime"` //下次跟进时间(时间戳)
+		Types        int64    `json:"types"`        //处理方式 1自办;2转办
+		User         []string `json:"user"`         //企业用户id
+	}
+
+	SaleChanceReq {
+		AppId             string   `header:"appId,default=10000"`
+		BaseUserId        int64    `header:"base_user_id"`
+		PositionId        int64    `header:"positionId,optional"`
+		EntUserId         int64    `header:"entUserId,optional"`
+		EntId             int64    `header:"entId,optional"`
+		ChanceName        string   `json:"chanceName"`        //机会名称
+		Owner             string   `json:"owner"`             //机会所有者
+		Summary           string   `json:"summary"`           //概要信息
+		ChanceClassify    string   `json:"chanceClassify"`    //机会分类
+		ExpectedOrderTime int64    `json:"expectedOrderTime"` //最初预计落单段时间 时间戳
+		ExpectedMoney     int64    `json:"expectedOrderTime"` //最初预计落单金额
+		CustomName        string   `json:"customName"`        //客户全称
+		BusinessType      string   `json:"businessType"`      //业务类型
+		Remarks           string   `json:"remarks"`           //备注
+		NextfollowUpTime  int64    `json:"nextfollowUpTime"`  //下次跟进时间戳
+		Types             int64    `json:"types"`             //处理方式 1自办;2转办
+		User              []string `json:"user"`              //企业用户id
+	}
+
+	InfoOperateReq {
+		AppId      string   `header:"appId,default=10000"`
+		BaseUserId int64    `header:"	base_user_id"`
+		PositionId int64    `header:"positionId,optional"`
+		EntUserId  int64    `header:"entUserId,optional"`
+		EntId      int64    `header:"entId,optional"`
+		InfoIdArr  []string `json:"infoIdArr"`  //信息id多条信息
+		IsEmploy   bool     `json:"isEmploy"`   //是否收录true收录 false取消收录
+		SourceType int64    `json:"sourceType"` //来源方式来源;1:标讯信息 2:拟建项目
+		EmployType int64    `json:"employType"` //收录方式类型;1:线索处理 2:机会挖掘 3:任务复盘
+	}
+
+	CompanyOperateReq {
+		AppId      string   `header:"appId,default=10000"`
+		BaseUserId int64    `header:"	base_user_id"`
+		PositionId int64    `header:"positionId,optional"`
+		EntUserId  int64    `header:"entUserId,optional"`
+		EntId      int64    `header:"entId,optional"`
+		CompanyId  []string `json:"companyId"`  //企业标识
+		IsEmploy   bool     `json:"IsEmploy"`   //是否收录true收录false取消收录
+		SourceType int64    `json:"sourceType"` //来源;1:企业搜索 2:采购单位搜索
+		EmployType int64    `json:"employType"` //收录方式;1:检索 2:自动导入
+	}
+
+	TransferReq {
+		AppId         string   `header:"appId,default=10000"`
+		BaseUserId    int64    `header:"	base_user_id"`
+		PositionId    int64    `header:"positionId,optional"`
+		EntUserId     int64    `header:"entUserId,optional"`
+		EntId         int64    `header:"entId,optional"`
+		EmplouIdArr   []string `json:"emplouIdArr"`
+		PositionIdArr []string `json:"positionIdArr"`
+	}
+
+	IgnoreOperateReq {
+		AppId       string   `header:"appId,default=10000"`
+		BaseUserId  int64    `header:"	base_user_id"`
+		PositionId  int64    `header:"positionId,optional"`
+		EntUserId   int64    `header:"entUserId,optional"`
+		EntId       int64    `header:"entId,optional"`
+		EmployIdArr []string `json:"employIdArr"` //收录记录集合
+		IsEmploy    bool     `json:"isEmploy"`    //是否忽略 true 忽略 false取消忽略
+	}
+
+	InfoEmployinfoReq {
+		AppId      string `header:"appId,default=10000"`
+		BaseUserId int64  `header:"	base_user_id"`
+		PositionId int64  `header:"positionId,optional"`
+		EntUserId  int64  `header:"entUserId,optional"`
+		EntId      int64  `header:"entId,optional"`
+		EmployType int64  `json:"employType"` //1资讯收录2客户收录
+		Id         string `json:"id"`         //id
+	}
+
+	CustomAddReq {
+		AppId                string   `header:"appId,default=10000"`
+		BaseUserId           int64    `header:"	base_user_id"`
+		PositionId           int64    `header:"positionId,optional"`
+		EntUserId            int64    `header:"entUserId,optional"`
+		EntId                int64    `header:"entId,optional"`
+		CustomType           string   `json:"customType"`           //客户类型
+		Summary              string   `json:"summary"`              //概要信息
+		CustomAllName        string   `json:"customAllName"`        //客户全称
+		CustomAbbreviation   string   `json:"customAbbreviation"`   //客户简称
+		CustomLevel          string   `json:"customLevel"`          //客户级别
+		CustomIndustry       string   `json:"customIndustry"`       //客户行业
+		CustomDetailIndustry string   `json:"customDetailIndustry"` //客户细分行业
+		Province             string   `json:"province"`             //省份
+		City                 string   `json:"city"`                 //城市
+		District             string   `json:"district"`             //地区
+		Address              string   `json:"address"`              //详细地址
+		CompanyPhone         string   `json:"companyPhone"`         //公司电话
+		NextfollowUpTime     int64    `json:"nextfollowUpTime"`     //下次跟进时间戳
+		Types                string   `json:"types"`                //处理方式 1自办;2转办
+		User                 []string `json:"user"`                 //转办用户
 	}
 )
 
@@ -17,4 +123,25 @@ service crmApplication {
 	@doc "添加线索"
 	@handler clueAdd
 	post /crmApplication/clue/add (ClueAddReq) returns (Reply)
+	@doc "创建销售机会"
+	@handler saleChanceAdd
+	post /crmApplication/saleChance/add (SaleChanceReq) returns (Reply)
+	@doc "标讯收录操作"
+	@handler infoOperate
+	post /crmApplication/infoEmploy/operate (InfoOperateReq) returns (Reply)
+	@doc "客户收录操作"
+	@handler companyOperate
+	post /crmApplication/companyEmploy/operate (CompanyOperateReq) returns (Reply)
+	@doc "商业资讯的转办"
+	@handler transfer
+	post /crmApplication/information/transfer (TransferReq) returns (Reply)
+	@doc "忽略操作"
+	@handler ignoreOperate
+	post /crmApplication/ignore/operate (IgnoreOperateReq) returns (Reply)
+	@doc "收录情况"
+	@handler infoEmployinfo
+	post /crmApplication/infoEmploy/info (InfoEmployinfoReq) returns (Reply)
+	@doc "创建客户"
+	@handler customAdd
+	post /crmApplication/custom/add (CustomAddReq) returns (Reply)
 }

+ 28 - 0
api/internal/handler/companyoperatehandler.go

@@ -0,0 +1,28 @@
+package handler
+
+import (
+	"net/http"
+
+	"bp.jydev.jianyu360.cn/CRM/application/api/internal/logic"
+	"bp.jydev.jianyu360.cn/CRM/application/api/internal/svc"
+	"bp.jydev.jianyu360.cn/CRM/application/api/internal/types"
+	"github.com/zeromicro/go-zero/rest/httpx"
+)
+
+func companyOperateHandler(svcCtx *svc.ServiceContext) http.HandlerFunc {
+	return func(w http.ResponseWriter, r *http.Request) {
+		var req types.CompanyOperateReq
+		if err := httpx.Parse(r, &req); err != nil {
+			httpx.Error(w, err)
+			return
+		}
+
+		l := logic.NewCompanyOperateLogic(r.Context(), svcCtx)
+		resp, err := l.CompanyOperate(&req)
+		if err != nil {
+			httpx.Error(w, err)
+		} else {
+			httpx.OkJson(w, resp)
+		}
+	}
+}

+ 28 - 0
api/internal/handler/customaddhandler.go

@@ -0,0 +1,28 @@
+package handler
+
+import (
+	"net/http"
+
+	"bp.jydev.jianyu360.cn/CRM/application/api/internal/logic"
+	"bp.jydev.jianyu360.cn/CRM/application/api/internal/svc"
+	"bp.jydev.jianyu360.cn/CRM/application/api/internal/types"
+	"github.com/zeromicro/go-zero/rest/httpx"
+)
+
+func customAddHandler(svcCtx *svc.ServiceContext) http.HandlerFunc {
+	return func(w http.ResponseWriter, r *http.Request) {
+		var req types.CustomAddReq
+		if err := httpx.Parse(r, &req); err != nil {
+			httpx.Error(w, err)
+			return
+		}
+
+		l := logic.NewCustomAddLogic(r.Context(), svcCtx)
+		resp, err := l.CustomAdd(&req)
+		if err != nil {
+			httpx.Error(w, err)
+		} else {
+			httpx.OkJson(w, resp)
+		}
+	}
+}

+ 28 - 0
api/internal/handler/ignoreoperatehandler.go

@@ -0,0 +1,28 @@
+package handler
+
+import (
+	"net/http"
+
+	"bp.jydev.jianyu360.cn/CRM/application/api/internal/logic"
+	"bp.jydev.jianyu360.cn/CRM/application/api/internal/svc"
+	"bp.jydev.jianyu360.cn/CRM/application/api/internal/types"
+	"github.com/zeromicro/go-zero/rest/httpx"
+)
+
+func ignoreOperateHandler(svcCtx *svc.ServiceContext) http.HandlerFunc {
+	return func(w http.ResponseWriter, r *http.Request) {
+		var req types.IgnoreOperateReq
+		if err := httpx.Parse(r, &req); err != nil {
+			httpx.Error(w, err)
+			return
+		}
+
+		l := logic.NewIgnoreOperateLogic(r.Context(), svcCtx)
+		resp, err := l.IgnoreOperate(&req)
+		if err != nil {
+			httpx.Error(w, err)
+		} else {
+			httpx.OkJson(w, resp)
+		}
+	}
+}

+ 28 - 0
api/internal/handler/infoemployinfohandler.go

@@ -0,0 +1,28 @@
+package handler
+
+import (
+	"net/http"
+
+	"bp.jydev.jianyu360.cn/CRM/application/api/internal/logic"
+	"bp.jydev.jianyu360.cn/CRM/application/api/internal/svc"
+	"bp.jydev.jianyu360.cn/CRM/application/api/internal/types"
+	"github.com/zeromicro/go-zero/rest/httpx"
+)
+
+func infoEmployinfoHandler(svcCtx *svc.ServiceContext) http.HandlerFunc {
+	return func(w http.ResponseWriter, r *http.Request) {
+		var req types.InfoEmployinfoReq
+		if err := httpx.Parse(r, &req); err != nil {
+			httpx.Error(w, err)
+			return
+		}
+
+		l := logic.NewInfoEmployinfoLogic(r.Context(), svcCtx)
+		resp, err := l.InfoEmployinfo(&req)
+		if err != nil {
+			httpx.Error(w, err)
+		} else {
+			httpx.OkJson(w, resp)
+		}
+	}
+}

+ 28 - 0
api/internal/handler/infooperatehandler.go

@@ -0,0 +1,28 @@
+package handler
+
+import (
+	"net/http"
+
+	"bp.jydev.jianyu360.cn/CRM/application/api/internal/logic"
+	"bp.jydev.jianyu360.cn/CRM/application/api/internal/svc"
+	"bp.jydev.jianyu360.cn/CRM/application/api/internal/types"
+	"github.com/zeromicro/go-zero/rest/httpx"
+)
+
+func infoOperateHandler(svcCtx *svc.ServiceContext) http.HandlerFunc {
+	return func(w http.ResponseWriter, r *http.Request) {
+		var req types.InfoOperateReq
+		if err := httpx.Parse(r, &req); err != nil {
+			httpx.Error(w, err)
+			return
+		}
+
+		l := logic.NewInfoOperateLogic(r.Context(), svcCtx)
+		resp, err := l.InfoOperate(&req)
+		if err != nil {
+			httpx.Error(w, err)
+		} else {
+			httpx.OkJson(w, resp)
+		}
+	}
+}

+ 35 - 0
api/internal/handler/routes.go

@@ -17,6 +17,41 @@ func RegisterHandlers(server *rest.Server, serverCtx *svc.ServiceContext) {
 				Path:    "/crmApplication/clue/add",
 				Handler: clueAddHandler(serverCtx),
 			},
+			{
+				Method:  http.MethodPost,
+				Path:    "/crmApplication/saleChance/add",
+				Handler: saleChanceAddHandler(serverCtx),
+			},
+			{
+				Method:  http.MethodPost,
+				Path:    "/crmApplication/infoEmploy/operate",
+				Handler: infoOperateHandler(serverCtx),
+			},
+			{
+				Method:  http.MethodPost,
+				Path:    "/crmApplication/companyEmploy/operate",
+				Handler: companyOperateHandler(serverCtx),
+			},
+			{
+				Method:  http.MethodPost,
+				Path:    "/crmApplication/information/transfer",
+				Handler: transferHandler(serverCtx),
+			},
+			{
+				Method:  http.MethodPost,
+				Path:    "/crmApplication/ignore/operate",
+				Handler: ignoreOperateHandler(serverCtx),
+			},
+			{
+				Method:  http.MethodPost,
+				Path:    "/crmApplication/infoEmploy/info",
+				Handler: infoEmployinfoHandler(serverCtx),
+			},
+			{
+				Method:  http.MethodPost,
+				Path:    "/crmApplication/custom/add",
+				Handler: customAddHandler(serverCtx),
+			},
 		},
 	)
 }

+ 28 - 0
api/internal/handler/salechanceaddhandler.go

@@ -0,0 +1,28 @@
+package handler
+
+import (
+	"net/http"
+
+	"bp.jydev.jianyu360.cn/CRM/application/api/internal/logic"
+	"bp.jydev.jianyu360.cn/CRM/application/api/internal/svc"
+	"bp.jydev.jianyu360.cn/CRM/application/api/internal/types"
+	"github.com/zeromicro/go-zero/rest/httpx"
+)
+
+func saleChanceAddHandler(svcCtx *svc.ServiceContext) http.HandlerFunc {
+	return func(w http.ResponseWriter, r *http.Request) {
+		var req types.SaleChanceReq
+		if err := httpx.Parse(r, &req); err != nil {
+			httpx.Error(w, err)
+			return
+		}
+
+		l := logic.NewSaleChanceAddLogic(r.Context(), svcCtx)
+		resp, err := l.SaleChanceAdd(&req)
+		if err != nil {
+			httpx.Error(w, err)
+		} else {
+			httpx.OkJson(w, resp)
+		}
+	}
+}

+ 28 - 0
api/internal/handler/transferhandler.go

@@ -0,0 +1,28 @@
+package handler
+
+import (
+	"net/http"
+
+	"bp.jydev.jianyu360.cn/CRM/application/api/internal/logic"
+	"bp.jydev.jianyu360.cn/CRM/application/api/internal/svc"
+	"bp.jydev.jianyu360.cn/CRM/application/api/internal/types"
+	"github.com/zeromicro/go-zero/rest/httpx"
+)
+
+func transferHandler(svcCtx *svc.ServiceContext) http.HandlerFunc {
+	return func(w http.ResponseWriter, r *http.Request) {
+		var req types.TransferReq
+		if err := httpx.Parse(r, &req); err != nil {
+			httpx.Error(w, err)
+			return
+		}
+
+		l := logic.NewTransferLogic(r.Context(), svcCtx)
+		resp, err := l.Transfer(&req)
+		if err != nil {
+			httpx.Error(w, err)
+		} else {
+			httpx.OkJson(w, resp)
+		}
+	}
+}

+ 30 - 0
api/internal/logic/companyoperatelogic.go

@@ -0,0 +1,30 @@
+package logic
+
+import (
+	"context"
+
+	"bp.jydev.jianyu360.cn/CRM/application/api/internal/svc"
+	"bp.jydev.jianyu360.cn/CRM/application/api/internal/types"
+
+	"github.com/zeromicro/go-zero/core/logx"
+)
+
+type CompanyOperateLogic struct {
+	logx.Logger
+	ctx    context.Context
+	svcCtx *svc.ServiceContext
+}
+
+func NewCompanyOperateLogic(ctx context.Context, svcCtx *svc.ServiceContext) *CompanyOperateLogic {
+	return &CompanyOperateLogic{
+		Logger: logx.WithContext(ctx),
+		ctx:    ctx,
+		svcCtx: svcCtx,
+	}
+}
+
+func (l *CompanyOperateLogic) CompanyOperate(req *types.CompanyOperateReq) (resp *types.Reply, err error) {
+	// todo: add your logic here and delete this line
+
+	return
+}

+ 30 - 0
api/internal/logic/customaddlogic.go

@@ -0,0 +1,30 @@
+package logic
+
+import (
+	"context"
+
+	"bp.jydev.jianyu360.cn/CRM/application/api/internal/svc"
+	"bp.jydev.jianyu360.cn/CRM/application/api/internal/types"
+
+	"github.com/zeromicro/go-zero/core/logx"
+)
+
+type CustomAddLogic struct {
+	logx.Logger
+	ctx    context.Context
+	svcCtx *svc.ServiceContext
+}
+
+func NewCustomAddLogic(ctx context.Context, svcCtx *svc.ServiceContext) *CustomAddLogic {
+	return &CustomAddLogic{
+		Logger: logx.WithContext(ctx),
+		ctx:    ctx,
+		svcCtx: svcCtx,
+	}
+}
+
+func (l *CustomAddLogic) CustomAdd(req *types.CustomAddReq) (resp *types.Reply, err error) {
+	// todo: add your logic here and delete this line
+
+	return
+}

+ 30 - 0
api/internal/logic/ignoreoperatelogic.go

@@ -0,0 +1,30 @@
+package logic
+
+import (
+	"context"
+
+	"bp.jydev.jianyu360.cn/CRM/application/api/internal/svc"
+	"bp.jydev.jianyu360.cn/CRM/application/api/internal/types"
+
+	"github.com/zeromicro/go-zero/core/logx"
+)
+
+type IgnoreOperateLogic struct {
+	logx.Logger
+	ctx    context.Context
+	svcCtx *svc.ServiceContext
+}
+
+func NewIgnoreOperateLogic(ctx context.Context, svcCtx *svc.ServiceContext) *IgnoreOperateLogic {
+	return &IgnoreOperateLogic{
+		Logger: logx.WithContext(ctx),
+		ctx:    ctx,
+		svcCtx: svcCtx,
+	}
+}
+
+func (l *IgnoreOperateLogic) IgnoreOperate(req *types.IgnoreOperateReq) (resp *types.Reply, err error) {
+	// todo: add your logic here and delete this line
+
+	return
+}

+ 30 - 0
api/internal/logic/infoemployinfologic.go

@@ -0,0 +1,30 @@
+package logic
+
+import (
+	"context"
+
+	"bp.jydev.jianyu360.cn/CRM/application/api/internal/svc"
+	"bp.jydev.jianyu360.cn/CRM/application/api/internal/types"
+
+	"github.com/zeromicro/go-zero/core/logx"
+)
+
+type InfoEmployinfoLogic struct {
+	logx.Logger
+	ctx    context.Context
+	svcCtx *svc.ServiceContext
+}
+
+func NewInfoEmployinfoLogic(ctx context.Context, svcCtx *svc.ServiceContext) *InfoEmployinfoLogic {
+	return &InfoEmployinfoLogic{
+		Logger: logx.WithContext(ctx),
+		ctx:    ctx,
+		svcCtx: svcCtx,
+	}
+}
+
+func (l *InfoEmployinfoLogic) InfoEmployinfo(req *types.InfoEmployinfoReq) (resp *types.Reply, err error) {
+	// todo: add your logic here and delete this line
+
+	return
+}

+ 30 - 0
api/internal/logic/infooperatelogic.go

@@ -0,0 +1,30 @@
+package logic
+
+import (
+	"context"
+
+	"bp.jydev.jianyu360.cn/CRM/application/api/internal/svc"
+	"bp.jydev.jianyu360.cn/CRM/application/api/internal/types"
+
+	"github.com/zeromicro/go-zero/core/logx"
+)
+
+type InfoOperateLogic struct {
+	logx.Logger
+	ctx    context.Context
+	svcCtx *svc.ServiceContext
+}
+
+func NewInfoOperateLogic(ctx context.Context, svcCtx *svc.ServiceContext) *InfoOperateLogic {
+	return &InfoOperateLogic{
+		Logger: logx.WithContext(ctx),
+		ctx:    ctx,
+		svcCtx: svcCtx,
+	}
+}
+
+func (l *InfoOperateLogic) InfoOperate(req *types.InfoOperateReq) (resp *types.Reply, err error) {
+	// todo: add your logic here and delete this line
+
+	return
+}

+ 30 - 0
api/internal/logic/salechanceaddlogic.go

@@ -0,0 +1,30 @@
+package logic
+
+import (
+	"context"
+
+	"bp.jydev.jianyu360.cn/CRM/application/api/internal/svc"
+	"bp.jydev.jianyu360.cn/CRM/application/api/internal/types"
+
+	"github.com/zeromicro/go-zero/core/logx"
+)
+
+type SaleChanceAddLogic struct {
+	logx.Logger
+	ctx    context.Context
+	svcCtx *svc.ServiceContext
+}
+
+func NewSaleChanceAddLogic(ctx context.Context, svcCtx *svc.ServiceContext) *SaleChanceAddLogic {
+	return &SaleChanceAddLogic{
+		Logger: logx.WithContext(ctx),
+		ctx:    ctx,
+		svcCtx: svcCtx,
+	}
+}
+
+func (l *SaleChanceAddLogic) SaleChanceAdd(req *types.SaleChanceReq) (resp *types.Reply, err error) {
+	// todo: add your logic here and delete this line
+
+	return
+}

+ 30 - 0
api/internal/logic/transferlogic.go

@@ -0,0 +1,30 @@
+package logic
+
+import (
+	"context"
+
+	"bp.jydev.jianyu360.cn/CRM/application/api/internal/svc"
+	"bp.jydev.jianyu360.cn/CRM/application/api/internal/types"
+
+	"github.com/zeromicro/go-zero/core/logx"
+)
+
+type TransferLogic struct {
+	logx.Logger
+	ctx    context.Context
+	svcCtx *svc.ServiceContext
+}
+
+func NewTransferLogic(ctx context.Context, svcCtx *svc.ServiceContext) *TransferLogic {
+	return &TransferLogic{
+		Logger: logx.WithContext(ctx),
+		ctx:    ctx,
+		svcCtx: svcCtx,
+	}
+}
+
+func (l *TransferLogic) Transfer(req *types.TransferReq) (resp *types.Reply, err error) {
+	// todo: add your logic here and delete this line
+
+	return
+}

+ 108 - 2
api/internal/types/types.go

@@ -8,6 +8,112 @@ type Reply struct {
 }
 
 type ClueAddReq struct {
-	AppId        string `header:"appId,default=10000"`
-	Base_user_id int64  `header:"base_user_id"`
+	AppId        string   `header:"appId,default=10000"`
+	BaseUserId   int64    `header:"base_user_id"`
+	PositionId   int64    `header:"positionId,optional"`
+	EntUserId    int64    `header:"entUserId,optional"`
+	EntId        int64    `header:"entId,optional"`
+	CluesSource  string   `json:"cluesSource"`  //线索来源
+	ClueName     string   `json:"clueName"`     //线索名称
+	Summary      string   `json:"summary"`      //概要信息
+	FollowUpTime int64    `json:"followUpTime"` //下次跟进时间(时间戳)
+	Types        int64    `json:"types"`        //处理方式 1自办;2转办
+	User         []string `json:"user"`         //企业用户id
+}
+
+type SaleChanceReq struct {
+	AppId             string   `header:"appId,default=10000"`
+	BaseUserId        int64    `header:"base_user_id"`
+	PositionId        int64    `header:"positionId,optional"`
+	EntUserId         int64    `header:"entUserId,optional"`
+	EntId             int64    `header:"entId,optional"`
+	ChanceName        string   `json:"chanceName"`        //机会名称
+	Owner             string   `json:"owner"`             //机会所有者
+	Summary           string   `json:"summary"`           //概要信息
+	ChanceClassify    string   `json:"chanceClassify"`    //机会分类
+	ExpectedOrderTime int64    `json:"expectedOrderTime"` //最初预计落单段时间 时间戳
+	ExpectedMoney     int64    `json:"expectedOrderTime"` //最初预计落单金额
+	CustomName        string   `json:"customName"`        //客户全称
+	BusinessType      string   `json:"businessType"`      //业务类型
+	Remarks           string   `json:"remarks"`           //备注
+	NextfollowUpTime  int64    `json:"nextfollowUpTime"`  //下次跟进时间戳
+	Types             int64    `json:"types"`             //处理方式 1自办;2转办
+	User              []string `json:"user"`              //企业用户id
+}
+
+type InfoOperateReq struct {
+	AppId      string   `header:"appId,default=10000"`
+	BaseUserId int64    `header:"	base_user_id"`
+	PositionId int64    `header:"positionId,optional"`
+	EntUserId  int64    `header:"entUserId,optional"`
+	EntId      int64    `header:"entId,optional"`
+	InfoIdArr  []string `json:"infoIdArr"`  //信息id多条信息
+	IsEmploy   bool     `json:"isEmploy"`   //是否收录true收录 false取消收录
+	SourceType int64    `json:"sourceType"` //来源方式来源;1:标讯信息 2:拟建项目
+	EmployType int64    `json:"employType"` //收录方式类型;1:线索处理 2:机会挖掘 3:任务复盘
+}
+
+type CompanyOperateReq struct {
+	AppId      string   `header:"appId,default=10000"`
+	BaseUserId int64    `header:"	base_user_id"`
+	PositionId int64    `header:"positionId,optional"`
+	EntUserId  int64    `header:"entUserId,optional"`
+	EntId      int64    `header:"entId,optional"`
+	CompanyId  []string `json:"companyId"`  //企业标识
+	IsEmploy   bool     `json:"IsEmploy"`   //是否收录true收录false取消收录
+	SourceType int64    `json:"sourceType"` //来源;1:企业搜索 2:采购单位搜索
+	EmployType int64    `json:"employType"` //收录方式;1:检索 2:自动导入
+}
+
+type TransferReq struct {
+	AppId         string   `header:"appId,default=10000"`
+	BaseUserId    int64    `header:"	base_user_id"`
+	PositionId    int64    `header:"positionId,optional"`
+	EntUserId     int64    `header:"entUserId,optional"`
+	EntId         int64    `header:"entId,optional"`
+	EmplouIdArr   []string `json:"emplouIdArr"`
+	PositionIdArr []string `json:"positionIdArr"`
+}
+
+type IgnoreOperateReq struct {
+	AppId       string   `header:"appId,default=10000"`
+	BaseUserId  int64    `header:"	base_user_id"`
+	PositionId  int64    `header:"positionId,optional"`
+	EntUserId   int64    `header:"entUserId,optional"`
+	EntId       int64    `header:"entId,optional"`
+	EmployIdArr []string `json:"employIdArr"` //收录记录集合
+	IsEmploy    bool     `json:"isEmploy"`    //是否忽略 true 忽略 false取消忽略
+}
+
+type InfoEmployinfoReq struct {
+	AppId      string `header:"appId,default=10000"`
+	BaseUserId int64  `header:"	base_user_id"`
+	PositionId int64  `header:"positionId,optional"`
+	EntUserId  int64  `header:"entUserId,optional"`
+	EntId      int64  `header:"entId,optional"`
+	EmployType int64  `json:"employType"` //1资讯收录2客户收录
+	Id         string `json:"id"`         //id
+}
+
+type CustomAddReq struct {
+	AppId                string   `header:"appId,default=10000"`
+	BaseUserId           int64    `header:"	base_user_id"`
+	PositionId           int64    `header:"positionId,optional"`
+	EntUserId            int64    `header:"entUserId,optional"`
+	EntId                int64    `header:"entId,optional"`
+	CustomType           string   `json:"customType"`           //客户类型
+	Summary              string   `json:"summary"`              //概要信息
+	CustomAllName        string   `json:"customAllName"`        //客户全称
+	CustomAbbreviation   string   `json:"customAbbreviation"`   //客户简称
+	CustomLevel          string   `json:"customLevel"`          //客户级别
+	CustomIndustry       string   `json:"customIndustry"`       //客户行业
+	CustomDetailIndustry string   `json:"customDetailIndustry"` //客户细分行业
+	Province             string   `json:"province"`             //省份
+	City                 string   `json:"city"`                 //城市
+	District             string   `json:"district"`             //地区
+	Address              string   `json:"address"`              //详细地址
+	CompanyPhone         string   `json:"companyPhone"`         //公司电话
+	NextfollowUpTime     int64    `json:"nextfollowUpTime"`     //下次跟进时间戳
+	Types                string   `json:"types"`                //处理方式 1自办;2转办
+	User                 []string `json:"user"`                 //转办用户
 }