Merge branch 'feat-cjy-customerContract' into dev

This commit is contained in:
cjy 2026-02-02 11:44:45 +08:00
commit bf8bd3b9eb

View File

@ -232,32 +232,46 @@ func UpdateContract(req *bundle.ContractUpdateRequest) (res *bundle.ComResponse,
}
contract.OperatorTime = time.Now()
// 验证并转换支付周期子表
paymentPeriods := make([]int32, 0, len(req.Contract.PaymentCycles))
// 支付周期:前端传 -1 表示不保存该条,过滤掉
paymentCyclesFiltered := make([]*bundle.ContractPaymentCycle, 0, len(req.Contract.PaymentCycles))
for _, pc := range req.Contract.PaymentCycles {
if pc.PaymentCyclePeriod != -1 {
paymentCyclesFiltered = append(paymentCyclesFiltered, pc)
}
}
// 验证并转换支付周期子表
paymentPeriods := make([]int32, 0, len(paymentCyclesFiltered))
for _, pc := range paymentCyclesFiltered {
paymentPeriods = append(paymentPeriods, pc.PaymentCyclePeriod)
}
if msg, e := validateCyclePeriods(paymentPeriods, "支付周期"); e != nil {
res.Msg = msg
return res, e
}
paymentCycles, msg, e := convertPaymentCycles(req.Contract.PaymentCycles, contract.ContractUUID, false)
paymentCycles, msg, e := convertPaymentCycles(paymentCyclesFiltered, contract.ContractUUID, false)
if e != nil {
res.Msg = msg
return res, e
}
contract.PaymentCycles = paymentCycles
// 验证并转换开发周期子表
devPeriods := make([]int32, 0, len(req.Contract.DevelopmentCycles))
// 开发周期:前端传 -1 表示不保存该条,过滤掉
devCyclesFiltered := make([]*bundle.DevelopmentCycle, 0, len(req.Contract.DevelopmentCycles))
for _, dc := range req.Contract.DevelopmentCycles {
if dc.DevelopmentPeriod != -1 {
devCyclesFiltered = append(devCyclesFiltered, dc)
}
}
// 验证并转换开发周期子表
devPeriods := make([]int32, 0, len(devCyclesFiltered))
for _, dc := range devCyclesFiltered {
devPeriods = append(devPeriods, dc.DevelopmentPeriod)
}
if msg, e := validateCyclePeriods(devPeriods, "开发周期"); e != nil {
res.Msg = msg
return res, e
}
devCycles, msg, e := convertDevelopmentCycles(req.Contract.DevelopmentCycles, contract.ContractUUID, false)
devCycles, msg, e := convertDevelopmentCycles(devCyclesFiltered, contract.ContractUUID, false)
if e != nil {
res.Msg = msg
return res, e
@ -308,32 +322,46 @@ func UpdateContract(req *bundle.ContractUpdateRequest) (res *bundle.ComResponse,
}
contract.OperatorTime = time.Now()
// 验证并转换支付周期子表
paymentPeriods := make([]int32, 0, len(req.Contract.PaymentCycles))
// 支付周期:前端传 -1 表示不保存该条,过滤掉
paymentCyclesFiltered := make([]*bundle.ContractPaymentCycle, 0, len(req.Contract.PaymentCycles))
for _, pc := range req.Contract.PaymentCycles {
if pc.PaymentCyclePeriod != -1 {
paymentCyclesFiltered = append(paymentCyclesFiltered, pc)
}
}
// 验证并转换支付周期子表
paymentPeriods := make([]int32, 0, len(paymentCyclesFiltered))
for _, pc := range paymentCyclesFiltered {
paymentPeriods = append(paymentPeriods, pc.PaymentCyclePeriod)
}
if msg, e := validateCyclePeriods(paymentPeriods, "支付周期"); e != nil {
res.Msg = msg
return res, e
}
paymentCycles, msg, e := convertPaymentCycles(req.Contract.PaymentCycles, req.Contract.ContractUUID, true)
paymentCycles, msg, e := convertPaymentCycles(paymentCyclesFiltered, req.Contract.ContractUUID, true)
if e != nil {
res.Msg = msg
return res, e
}
contract.PaymentCycles = paymentCycles
// 验证并转换开发周期子表
devPeriods := make([]int32, 0, len(req.Contract.DevelopmentCycles))
// 开发周期:前端传 -1 表示不保存该条,过滤掉
devCyclesFiltered := make([]*bundle.DevelopmentCycle, 0, len(req.Contract.DevelopmentCycles))
for _, dc := range req.Contract.DevelopmentCycles {
if dc.DevelopmentPeriod != -1 {
devCyclesFiltered = append(devCyclesFiltered, dc)
}
}
// 验证并转换开发周期子表
devPeriods := make([]int32, 0, len(devCyclesFiltered))
for _, dc := range devCyclesFiltered {
devPeriods = append(devPeriods, dc.DevelopmentPeriod)
}
if msg, e := validateCyclePeriods(devPeriods, "开发周期"); e != nil {
res.Msg = msg
return res, e
}
devCycles, msg, e := convertDevelopmentCycles(req.Contract.DevelopmentCycles, req.Contract.ContractUUID, true)
devCycles, msg, e := convertDevelopmentCycles(devCyclesFiltered, req.Contract.ContractUUID, true)
if e != nil {
res.Msg = msg
return res, e