|
@@ -224,8 +224,8 @@ func (this *EtaBusinessController) PageList() {
|
|
|
b.SigningStatus = v.SigningStatus
|
|
|
b.Enable = v.Enable
|
|
|
b.ContractId = v.ContractId
|
|
|
- b.SigningTime = v.SigningTime.Format(utils.FormatDate)
|
|
|
- b.ExpiredTime = v.ExpiredTime.Format(utils.FormatDate)
|
|
|
+ b.SigningTime = utils.TimeTransferString(utils.FormatDate, v.SigningTime)
|
|
|
+ b.ExpiredTime = utils.TimeTransferString(utils.FormatDate, v.ExpiredTime)
|
|
|
b.CreateTime = v.CreateTime.Format(utils.FormatDateTime)
|
|
|
b.ModifyTime = v.ModifyTime.Format(utils.FormatDateTime)
|
|
|
items = append(items, b)
|
|
@@ -319,32 +319,26 @@ func (this *EtaBusinessController) Add() {
|
|
|
}
|
|
|
req.CapitalScale = strings.TrimSpace(req.CapitalScale)
|
|
|
|
|
|
- // 如果仅校验不新增, 那么不做第二页签约时间的校验
|
|
|
+ // 如果仅校验不新增, 那么不做第二页签约时间的校验(已废弃, 20230919签约时间非必填)
|
|
|
var signTime, expiredTime time.Time
|
|
|
if !req.IsCheck {
|
|
|
- if req.SigningTime == "" {
|
|
|
- br.Msg = "签约时间不可为空"
|
|
|
- return
|
|
|
- }
|
|
|
- if req.ExpiredTime == "" {
|
|
|
- br.Msg = "到期时间不可为空"
|
|
|
- return
|
|
|
- }
|
|
|
- signTime, e = time.ParseInLocation(utils.FormatDate, req.SigningTime, time.Local)
|
|
|
- if e != nil {
|
|
|
- br.Msg = "签约时间格式有误"
|
|
|
- br.ErrMsg = "签约时间格式有误, Err: " + e.Error()
|
|
|
- return
|
|
|
- }
|
|
|
- expiredTime, e = time.ParseInLocation(utils.FormatDate, req.ExpiredTime, time.Local)
|
|
|
- if e != nil {
|
|
|
- br.Msg = "到期时间格式有误"
|
|
|
- br.ErrMsg = "到期时间格式有误, Err: " + e.Error()
|
|
|
- return
|
|
|
- }
|
|
|
- if !expiredTime.After(signTime) {
|
|
|
- br.Msg = "到期时间不得早于签约时间"
|
|
|
- return
|
|
|
+ if req.SigningTime != "" && req.ExpiredTime != "" {
|
|
|
+ signTime, e = time.ParseInLocation(utils.FormatDate, req.SigningTime, time.Local)
|
|
|
+ if e != nil {
|
|
|
+ br.Msg = "签约时间格式有误"
|
|
|
+ br.ErrMsg = "签约时间格式有误, Err: " + e.Error()
|
|
|
+ return
|
|
|
+ }
|
|
|
+ expiredTime, e = time.ParseInLocation(utils.FormatDate, req.ExpiredTime, time.Local)
|
|
|
+ if e != nil {
|
|
|
+ br.Msg = "到期时间格式有误"
|
|
|
+ br.ErrMsg = "到期时间格式有误, Err: " + e.Error()
|
|
|
+ return
|
|
|
+ }
|
|
|
+ if !expiredTime.After(signTime) {
|
|
|
+ br.Msg = "到期时间不得早于签约时间"
|
|
|
+ return
|
|
|
+ }
|
|
|
}
|
|
|
}
|
|
|
|
|
@@ -403,17 +397,14 @@ func (this *EtaBusinessController) Add() {
|
|
|
codeEncrypt := utils.MD5(fmt.Sprintf("%s%s", businessCode, utils.BusinessCodeSalt))
|
|
|
|
|
|
now := time.Now().Local()
|
|
|
+ status := eta_business.EtaBusinessSigningStatusWait // 默认待签约
|
|
|
// 若当前时间不在首次签约时间内, 也算作已终止, 进入合约期时会由定时任务改为首次签约
|
|
|
- status := eta_business.EtaBusinessSigningStatusFirst
|
|
|
- isTerminate := true
|
|
|
- if now.Equal(signTime) || now.Equal(expiredTime) {
|
|
|
- isTerminate = false
|
|
|
- }
|
|
|
- if now.After(signTime) && now.Before(expiredTime) {
|
|
|
- isTerminate = false
|
|
|
- }
|
|
|
- if isTerminate {
|
|
|
- status = eta_business.EtaBusinessSigningStatusTerminate
|
|
|
+ if !signTime.IsZero() && !expiredTime.IsZero() {
|
|
|
+ if !now.Before(signTime) && !now.After(expiredTime) {
|
|
|
+ status = eta_business.EtaBusinessSigningStatusFirst // 首次签约
|
|
|
+ } else {
|
|
|
+ status = eta_business.EtaBusinessSigningStatusTerminate // 已终止
|
|
|
+ }
|
|
|
}
|
|
|
|
|
|
// 新增商家和签约
|
|
@@ -441,11 +432,15 @@ func (this *EtaBusinessController) Add() {
|
|
|
businessItem.CreateTime = now
|
|
|
businessItem.ModifyTime = now
|
|
|
contractItem := new(eta_business.EtaBusinessContract)
|
|
|
- contractItem.SigningTime = signTime
|
|
|
- contractItem.ExpiredTime = expiredTime
|
|
|
- contractItem.IsFirst = 1
|
|
|
- contractItem.CreateTime = now
|
|
|
- contractItem.ModifyTime = now
|
|
|
+ if !signTime.IsZero() && !expiredTime.IsZero() {
|
|
|
+ contractItem.SigningTime = signTime
|
|
|
+ contractItem.ExpiredTime = expiredTime
|
|
|
+ contractItem.IsFirst = 1
|
|
|
+ contractItem.CreateTime = now
|
|
|
+ contractItem.ModifyTime = now
|
|
|
+ } else {
|
|
|
+ contractItem = nil
|
|
|
+ }
|
|
|
if e = eta_business.CreateEtaBusinessAndContract(businessItem, contractItem); e != nil {
|
|
|
br.Msg = "操作失败"
|
|
|
br.ErrMsg = "新增商家和签约失败, Err: " + e.Error()
|
|
@@ -704,7 +699,7 @@ func (this *EtaBusinessController) Signing() {
|
|
|
cond := fmt.Sprintf(` AND %s = ?`, eta_business.EtaBusinessContractColumns.EtaBusinessId)
|
|
|
pars := make([]interface{}, 0)
|
|
|
pars = append(pars, req.EtaBusinessId)
|
|
|
- contracts, e := contract.GetItemsByCondition(cond, pars, []string{}, "")
|
|
|
+ contracts, e := contract.GetItemsByCondition(cond, pars, []string{}, "signing_time ASC")
|
|
|
if e != nil {
|
|
|
br.Msg = "操作失败"
|
|
|
br.ErrMsg = "获取商家签约列表失败, Err: " + e.Error()
|
|
@@ -712,10 +707,11 @@ func (this *EtaBusinessController) Signing() {
|
|
|
}
|
|
|
|
|
|
// 校验签约时间是否重叠
|
|
|
- isFirst := true // 是否为首次签约
|
|
|
+ isFirst := true // 是否为首次签约
|
|
|
+ changeFirst := false // 是否需要更新首次签约合同
|
|
|
if len(contracts) > 0 {
|
|
|
isFirst = false
|
|
|
- for _, c := range contracts {
|
|
|
+ for k, c := range contracts {
|
|
|
pass := false
|
|
|
if expiredTime.Before(c.SigningTime) {
|
|
|
pass = true
|
|
@@ -727,6 +723,11 @@ func (this *EtaBusinessController) Signing() {
|
|
|
br.Msg = "签约时间在存续期内, 请检查"
|
|
|
return
|
|
|
}
|
|
|
+ // 若该合同签约时间早于第一份合同(业务上未限制所以可能会出现这种情况, contracts已排序), 则更新为首次签约合同
|
|
|
+ if k == 0 && signTime.Before(c.SigningTime) {
|
|
|
+ changeFirst = true
|
|
|
+ isFirst = true
|
|
|
+ }
|
|
|
}
|
|
|
}
|
|
|
|
|
@@ -739,7 +740,7 @@ func (this *EtaBusinessController) Signing() {
|
|
|
if isFirst {
|
|
|
contract.IsFirst = 1
|
|
|
}
|
|
|
- if e = contract.Create(); e != nil {
|
|
|
+ if e = contract.CreateMaybeUpdateFirst(contract, changeFirst); e != nil {
|
|
|
br.Msg = "操作失败"
|
|
|
br.ErrMsg = "新增签约失败, Err: " + e.Error()
|
|
|
return
|
|
@@ -1034,8 +1035,8 @@ func (this *EtaBusinessController) Detail() {
|
|
|
resp.SigningStatus = item.SigningStatus
|
|
|
resp.Enable = item.Enable
|
|
|
resp.ContractId = item.ContractId
|
|
|
- resp.SigningTime = item.SigningTime.Format(utils.FormatDate)
|
|
|
- resp.ExpiredTime = item.ExpiredTime.Format(utils.FormatDate)
|
|
|
+ resp.SigningTime = utils.TimeTransferString(utils.FormatDate, item.SigningTime)
|
|
|
+ resp.ExpiredTime = utils.TimeTransferString(utils.FormatDate, item.ExpiredTime)
|
|
|
resp.CreateTime = item.CreateTime.Format(utils.FormatDateTime)
|
|
|
resp.ModifyTime = item.ModifyTime.Format(utils.FormatDateTime)
|
|
|
|
|
@@ -1092,7 +1093,7 @@ func (this *EtaBusinessController) ContractList() {
|
|
|
cond := fmt.Sprintf(` AND %s = ?`, eta_business.EtaBusinessContractColumns.EtaBusinessId)
|
|
|
pars := make([]interface{}, 0)
|
|
|
pars = append(pars, businessId)
|
|
|
- order := `signing_time DESC`
|
|
|
+ order := `signing_time ASC`
|
|
|
|
|
|
contractOb := new(eta_business.EtaBusinessContract)
|
|
|
list, e := contractOb.GetItemsByCondition(cond, pars, []string{}, order)
|
|
@@ -1106,8 +1107,8 @@ func (this *EtaBusinessController) ContractList() {
|
|
|
b := new(eta_business.EtaBusinessContractItem)
|
|
|
b.EtaBusinessContractId = v.EtaBusinessContractId
|
|
|
b.EtaBusinessId = v.EtaBusinessId
|
|
|
- b.SigningTime = v.SigningTime.Format(utils.FormatDate)
|
|
|
- b.ExpiredTime = v.ExpiredTime.Format(utils.FormatDate)
|
|
|
+ b.SigningTime = utils.TimeTransferString(utils.FormatDate, v.SigningTime)
|
|
|
+ b.ExpiredTime = utils.TimeTransferString(utils.FormatDate, v.ExpiredTime)
|
|
|
// 到期天数, 终止日按当天的23:59:59算
|
|
|
strEnd := v.ExpiredTime.Format(utils.FormatDate)
|
|
|
strEnd = strEnd + " 23:59:59"
|