作者 yangfu
... ... @@ -36,13 +36,13 @@ type CreateCooperationContractCommand struct {
// 业务员抽成比例
SalesmanPercentage float64 `json:"salesmanPercentage"`
// 分红规则激励百分点
DividendsIncentivesPercentage float64 `json:"dividendsIncentivesPercentage"`
DividendsPercentage float64 `json:"dividendsPercentage"`
// 分红规则激励阶段,
DividendsIncentivesStage int `json:"dividendsIncentivesStage,string,"`
DividendsStage int `json:"dividendsStage"`
// 分红规则激励阶段结束
DividendsIncentivesStageEnd int `json:"dividendsIncentivesStageEnd"`
DividendsStageEnd int `json:"dividendsStageEnd"`
// 分红规则激励阶段开始
DividendsIncentivesStageStart int `json:"dividendsIncentivesStageStart"`
DividendsStageStart int `json:"dividendsStageStart"`
} `json:"dividendsIncentivesRules"`
// 金额激励规则列表
MoneyIncentivesRules []struct {
... ...
... ... @@ -31,6 +31,7 @@ type UpdateCooperationContractCommand struct {
} `json:"cooperationContract"`
// 业绩分红激励规则列表
DividendsIncentivesRules []struct {
DividendsIncentivesRuleId string `json:"dividendsIncentivesRuleId"`
// 关联的项目合约编号
CooperationContractNumber string `json:"cooperationContractNumber"`
// 推荐人抽成比例
... ...
... ... @@ -57,7 +57,7 @@ func ToCooperationContractItem(param *allied_creation_cooperation.CooperationCon
}
type MoneyIncentivesRule struct {
MoneyIncentivesRuleId int `json:"moneyIncentivesRuleId"`
MoneyIncentivesRuleId int `json:"moneyIncentivesRuleId,string"`
CooperationContractNumber string `json:"cooperationContractNumber"` // 关联的共创合约编号
MoneyIncentivesAmount float64 `json:"moneyIncentivesAmount"` // 激励金额
MoneyIncentivesStage int `json:"moneyIncentivesStage"` // 金额激励阶段
... ... @@ -67,14 +67,14 @@ type MoneyIncentivesRule struct {
}
type DividendsIncentivesRule struct {
DividendsIncentivesRuleId int `json:"dividendsIncentivesRuleId"`
CooperationContractNumber string `json:"cooperationContractNumber"` // 关联的项目合约编号
ReferrerPercentage float64 `json:"referrerPercentage"` // 推荐人抽成比例
SalesmanPercentage float64 `json:"salesmanPercentage"` // 业务员抽成比例
DividendsIncentivesPercentage float64 `json:"dividendsIncentivesPercentage"` // 分红规则激励百分点
DividendsIncentivesStage int `json:"dividendsIncentivesStage,string"` // 分红规则激励阶段,
DividendsIncentivesStageEnd int64 `json:"dividendsIncentivesStageEnd"` // 分红规则激励阶段结束
DividendsIncentivesStageStart int64 `json:"dividendsIncentivesStageStart"` // 分红规则激励阶段开始
DividendsIncentivesRuleId int `json:"dividendsIncentivesRuleId,string"`
CooperationContractNumber string `json:"cooperationContractNumber"` // 关联的项目合约编号
ReferrerPercentage float64 `json:"referrerPercentage"` // 推荐人抽成比例
SalesmanPercentage float64 `json:"salesmanPercentage"` // 业务员抽成比例
DividendsPercentage float64 `json:"dividendsPercentage"` // 分红规则激励百分点
DividendsStage int `json:"dividendsStage,string"` // 分红规则激励阶段,
DividendsStageEnd int64 `json:"dividendsStageEnd"` // 分红规则激励阶段结束
DividendsStageStart int64 `json:"dividendsStageStart"` // 分红规则激励阶段开始
}
type Relevant struct {
... ... @@ -84,14 +84,21 @@ type Relevant struct {
}
type ContractUndertaker struct {
UndertakerId int `json:"undertakerId,string"`
UndertakerId int `json:"undertakerId,string,"`
Attachment []domain.Attachment `json:"attachment"`
Department domain.Department `json:"department"`
HasReferrer bool `json:"hasReferrer"`
HasSalesman bool `json:"hasSalesman"`
ReferrerUser domain.UserInfo `json:"referrerUser"`
SalesmanUser domain.UserInfo `json:"salesmanUser"`
UserInfo domain.UserInfo `json:"userInfo"`
ReferrerUser struct {
UserId int `json:"userId,string"`
UserInfo domain.UserInfo `json:"userInfo"`
} `json:"referrerUser"`
SalesmanUser struct {
UserId int `json:"userId,string"`
UserInfo domain.UserInfo `json:"userInfo"`
}
UserId int `json:"userId,string"`
UserInfo domain.UserInfo `json:"userInfo"`
}
type CooperationContractInfo struct {
CooperationContract CooperationContractItem `json:"cooperationContract"`
... ... @@ -126,14 +133,14 @@ func ToCooperationContractInfo(param *allied_creation_cooperation.CooperationCon
for _, v := range param.DividendsIncentivesRules {
r := DividendsIncentivesRule{
DividendsIncentivesRuleId: v.DividendsIncentivesRuleId,
CooperationContractNumber: v.CooperationContractNumber,
ReferrerPercentage: v.ReferrerPercentage,
SalesmanPercentage: v.SalesmanPercentage,
DividendsIncentivesPercentage: v.DividendsIncentivesPercentage,
DividendsIncentivesStage: v.DividendsIncentivesStage,
DividendsIncentivesStageEnd: v.DividendsIncentivesStageEnd.UnixNano() / 1e6,
DividendsIncentivesStageStart: v.DividendsIncentivesStageStart.UnixNano() / 1e6,
DividendsIncentivesRuleId: v.DividendsIncentivesRuleId,
CooperationContractNumber: v.CooperationContractNumber,
ReferrerPercentage: v.ReferrerPercentage,
SalesmanPercentage: v.SalesmanPercentage,
DividendsPercentage: v.DividendsIncentivesPercentage,
DividendsStage: v.DividendsIncentivesStage,
DividendsStageEnd: v.DividendsIncentivesStageEnd.UnixNano() / 1e6,
DividendsStageStart: v.DividendsIncentivesStageStart.UnixNano() / 1e6,
}
dividendsIncentivesRules = append(dividendsIncentivesRules, r)
}
... ... @@ -152,33 +159,35 @@ func ToCooperationContractInfo(param *allied_creation_cooperation.CooperationCon
}
for _, v := range param.Undertakers {
attachment := v.ContractAttachment
if len(attachment) == 0 {
attachment = []domain.Attachment{}
}
u := ContractUndertaker{
Attachment: v.ContractAttachment,
Attachment: attachment,
Department: domain.Department{
DepartmentNumber: v.Department.DepartmentNumber,
DepartmentId: int(v.Department.DepartmentId),
DepartmentName: v.Department.DepartmentName,
},
HasReferrer: v.Referrer.UserId > 0,
HasSalesman: v.Salesman.UserId > 0,
ReferrerUser: domain.UserInfo{
UsersName: v.Referrer.UserInfo.UserName,
Phone: v.Referrer.UserInfo.UserPhone,
UsersId: v.Referrer.UserId,
// UserCode :v.
},
SalesmanUser: domain.UserInfo{
UsersName: v.Salesman.UserInfo.UserName,
UsersId: v.Salesman.UserId,
Phone: v.Salesman.UserInfo.UserPhone,
},
HasReferrer: v.Referrer.UserId > 0,
HasSalesman: v.Salesman.UserId > 0,
UndertakerId: v.UndertakerId,
UserId: v.UserId,
UserInfo: domain.UserInfo{
UsersName: v.UserInfo.UserName,
UsersId: v.UserId,
Phone: v.UserInfo.UserPhone,
},
}
u.SalesmanUser.UserId = v.Salesman.UserId
u.SalesmanUser.UserInfo.UsersId = v.Salesman.UserId
u.SalesmanUser.UserInfo.UsersName = v.Salesman.UserInfo.UserName
u.SalesmanUser.UserInfo.Phone = v.Salesman.UserInfo.UserPhone
u.ReferrerUser.UserId = v.Referrer.UserId
u.ReferrerUser.UserInfo.UsersId = v.Referrer.UserId
u.ReferrerUser.UserInfo.UsersName = v.Referrer.UserInfo.UserName
u.ReferrerUser.UserInfo.Phone = v.Referrer.UserInfo.UserPhone
contractUndertaker = append(contractUndertaker, u)
}
undertakerTypesUncheckedAvailable := param.UndertakerTypesUncheckedAvailable
... ...
... ... @@ -26,10 +26,10 @@ func (cooperationContractService *CooperationContractService) CreateCooperationC
CooperationContractNumber: v.CooperationContractNumber,
ReferrerPercentage: v.ReferrerPercentage,
SalesmanPercentage: v.SalesmanPercentage,
DividendsIncentivesPercentage: v.DividendsIncentivesPercentage,
DividendsIncentivesStage: v.DividendsIncentivesStage,
DividendsIncentivesStageEnd: time.Unix(int64(v.DividendsIncentivesStageEnd/1e3), 0),
DividendsIncentivesStageStart: time.Unix(int64(v.DividendsIncentivesStageStart/1e3), 0),
DividendsIncentivesPercentage: v.DividendsPercentage,
DividendsIncentivesStage: v.DividendsStage,
DividendsIncentivesStageEnd: time.Unix(int64(v.DividendsStageEnd/1e3), 0),
DividendsIncentivesStageStart: time.Unix(int64(v.DividendsStageStart/1e3), 0),
}
rules1 = append(rules1, r)
}
... ...
... ... @@ -39,42 +39,31 @@ func ToDividendsEstimateDividendItem(param *allied_creation_cooperation.DataDivi
//金额激励列表
type DividendsEstimateMoneyItem struct {
CooperationContractName string `json:"cooperationContractName"` //合约名称
CooperationContractNumber string `json:"cooperationContractNumber"` //合约编码
CooperationMode struct {
CooperationModeId int `json:"cooperationModeId"`
CooperationModeName string `json:"cooperationModeName"`
CooperationModeNumber string `json:"cooperationModeNumber"`
} `json:"cooperationMode"` //共创模式
CreatedAt int64 `json:"createdAt"` //合约建立时间
Department struct {
DepartmentId int `json:"departmentId"`
CooperationContractId int `json:"cooperationContractId,string"` // 共创合约ID
CooperationContractName string `json:"cooperationContractName"` //合约名称
CooperationContractNumber string `json:"cooperationContractNumber"` //合约编码
CooperationModeName string `json:"cooperationModeName"`
CreatedAt int64 `json:"createdAt"` //合约建立时间
Department struct {
DepartmentId int `json:"departmentId,string"`
DepartmentName string `json:"departmentName"`
} `json:"department"` //发起部门
CooperationContractSponsor struct {
UserId int `json:"userId"`
UserBaseId int `json:"userBaseId"`
UsersName string `json:"userName"`
Phone string `json:"phone"`
} `json:"cooperationContractSponsor"` //合约发起人
CooperationContractSponsorName string `json:"cooperationContractSponsorName"`
}
func ToDividendsEstimateMoneyItem(param *allied_creation_cooperation.DataDividendsEstimateSearchMoney) []DividendsEstimateMoneyItem {
var listdata []DividendsEstimateMoneyItem
for _, v := range param.Grid.List {
item := DividendsEstimateMoneyItem{
CooperationContractId: v.CooperationContractId,
CooperationContractName: v.CooperationContractName,
CooperationContractNumber: v.CooperationContractNumber,
CreatedAt: v.CreatedAt.Unix(),
CreatedAt: v.CreatedAt.UnixNano() / 1e6,
CooperationModeName: v.CooperationContractName,
}
item.CooperationMode.CooperationModeId = v.CooperationMode.CooperationModeId
item.CooperationMode.CooperationModeName = v.CooperationMode.CooperationModeName
item.CooperationMode.CooperationModeNumber = v.CooperationMode.CooperationModeNumber
item.Department.DepartmentId = v.Department.DepartmentId
item.Department.DepartmentName = v.Department.DepartmentName
item.CooperationContractSponsor.UserId = v.CooperationContractSponsor.UserId
item.CooperationContractSponsor.Phone = v.CooperationContractSponsor.UserInfo.Phone
item.CooperationContractSponsor.UsersName = v.CooperationContractSponsor.UserInfo.UsersName
item.CooperationContractSponsorName = v.CooperationContractName
listdata = append(listdata, item)
}
return listdata
... ...
... ... @@ -96,29 +96,17 @@ type (
Grid struct {
Total int `json:"total"`
List []struct {
CooperationContractName string `json:"cooperationContractName"` //合约名称
CooperationContractNumber string `json:"cooperationContractNumber"` //合约编码
DividendsEstimateOrderNumber string `json:"dividendsEstimateOrderNumber"` //订单编号
CooperationMode struct {
CooperationModeId int `json:"cooperationModeId"`
CooperationModeName string `json:"cooperationModeName"`
CooperationModeNumber string `json:"cooperationModeNumber"`
} `json:"cooperationMode"` //共创模式
CreatedAt time.Time `json:"createdAt"` //合约建立时间
Department struct {
DepartmentId int `json:"departmentId"`
CooperationContractId int `json:"cooperationContractId,string"` // 共创合约ID
CooperationContractName string `json:"cooperationContractName"` //合约名称
CooperationContractNumber string `json:"cooperationContractNumber"` //合约编码
CooperationModeName string `json:"cooperationMode"`
CreatedAt time.Time `json:"createdAt"` //合约建立时间
Department struct {
DepartmentId int `json:"departmentId,string"`
DepartmentName string `json:"departmentName"`
} `json:"department"` //发起部门
CooperationContractSponsor struct {
UserId int `json:"userId"`
UserBaseId int `json:"userBaseId"`
UserInfo struct {
UsersName string `json:"userName"`
Phone string `json:"phone"`
UsersId int `json:"userId,string,"`
UserCode string `json:"userCode"`
} `json:"userInfo"`
} `json:"cooperationContractSponsor"` //合约发起人
// 共创合约发起人
CooperationContractSponsorName string `json:"cooperationContractSponsor"`
} `json:"list"`
} `json:"grid"`
}
... ...