作者 陈志颖

fix:增加排行榜时间判断

... ... @@ -7,7 +7,7 @@ import (
)
type CreateListIntervalCommand struct {
CompanyId int64 `json:"companyId" valid:"Required"` // 公司id
CompanyId int `json:"companyId" valid:"Required"` // 公司id
ListIntervalStartTime time.Time `json:"listIntervalStartTime"` // 排行榜开始时间
ListIntervalEndTime time.Time `json:"listIntervalEndTime"` // 排行榜结束时间
}
... ...
... ... @@ -40,22 +40,54 @@ func (listIntervalService *ListIntervalService) CreateListInterval(createListInt
}
// 获取当前最新排行榜时间
// 判断排行榜时间是否重叠
// 创建排行榜时间命令
newListInterval := &domain.ListInterval {
listListIntervalQuery := &query.ListListIntervalQuery {
CompanyId: createListIntervalCommand.CompanyId,
IntervalStartTime: createListIntervalCommand.ListIntervalStartTime,
IntervalEndTime: createListIntervalCommand.ListIntervalEndTime,
Offset: 0,
Limit: 1,
}
// 保存排行榜时间
if listInterval, err := listIntervalRepository.Save(newListInterval); err != nil {
// 获取上个年榜时间
_, listIntervals, err := listIntervalRepository.Find(tool_funs.SimpleStructToMap(listListIntervalQuery))
if err != nil {
return nil, application.ThrowError(application.INTERNAL_SERVER_ERROR, err.Error())
}
// 判断年榜时间是否和上个年榜重叠
if len(listIntervals) > 0 {
if createListIntervalCommand.ListIntervalStartTime.Before(listIntervals[0].IntervalEndTime) {
return nil, application.ThrowError(application.INTERNAL_SERVER_ERROR, "年榜开始时间必须大于上一个年榜结束时间")
} else {
// 创建排行榜时间命令
newListInterval := &domain.ListInterval {
CompanyId: createListIntervalCommand.CompanyId,
IntervalStartTime: createListIntervalCommand.ListIntervalStartTime,
IntervalEndTime: createListIntervalCommand.ListIntervalEndTime,
}
// 保存排行榜时间
listInterval, err := listIntervalRepository.Save(newListInterval)
if err != nil {
return nil, application.ThrowError(application.INTERNAL_SERVER_ERROR, err.Error())
}
if err := transactionContext.CommitTransaction(); err != nil {
return nil, application.ThrowError(application.TRANSACTION_ERROR, err.Error())
}
return listInterval, nil
}
} else {
// 创建排行榜时间命令
newListInterval := &domain.ListInterval {
CompanyId: createListIntervalCommand.CompanyId,
IntervalStartTime: createListIntervalCommand.ListIntervalStartTime,
IntervalEndTime: createListIntervalCommand.ListIntervalEndTime,
}
// 保存排行榜时间
listInterval, err := listIntervalRepository.Save(newListInterval)
if err != nil {
return nil, application.ThrowError(application.INTERNAL_SERVER_ERROR, err.Error())
}
if err := transactionContext.CommitTransaction(); err != nil {
return nil, application.ThrowError(application.TRANSACTION_ERROR, err.Error())
}
... ...
... ... @@ -7,7 +7,7 @@ import (
// 排行榜时间
type ListInterval struct {
ListIntervalId int `json:"listIntervalId"` // 排行榜时间id
CompanyId int64 `json:"companyId"` // 公司id
CompanyId int `json:"companyId"` // 公司id
IntervalStartTime time.Time `json:"intervalStartTime"` // 排行榜开始时间
IntervalEndTime time.Time `json:"intervalEndTime"` // 排行榜结束时间
}
... ...
... ... @@ -7,5 +7,5 @@ type ListInterval struct {
Id int // 排行榜周期id
ListIntervalStartTime time.Time
ListIntervalEndTime time.Time
CompanyId int64
CompanyId int
}
... ...