增加定时任务 处理异常
This commit is contained in:
@@ -20,7 +20,7 @@ type PeakValley struct{}
|
||||
func (r *PeakValley) PeakValleyQuarterPage(req *form.PeakValleyQuarterListReq) map[string]interface{} {
|
||||
count, list, err := repository.GroupRepositorys.PeakValley.GetPeakValleyQuarterPage(req)
|
||||
if err != nil {
|
||||
exception.PanicMsgErr(err, "获取列表失败")
|
||||
exception.PEM(err, "获取列表失败")
|
||||
//return
|
||||
}
|
||||
ListRsp := make(map[string]interface{})
|
||||
@@ -32,7 +32,7 @@ func (r *PeakValley) PeakValleyQuarterPage(req *form.PeakValleyQuarterListReq) m
|
||||
// PeakValleyQuarterEditDetail 获取季度详情-编辑使用
|
||||
func (r *PeakValley) PeakValleyQuarterEditDetail(req *form.PeakValleyQuarterEditDetailReq) *peak_valley_model.PeakValleyQuarter {
|
||||
pvq, err := repository.GroupRepositorys.PeakValley.GetOnePeakValleyQuarter(map[string]interface{}{"id": req.Id})
|
||||
exception.PanicMsgBool(err != nil, "获取季度详情失败")
|
||||
exception.PBM(err != nil, "获取季度详情失败")
|
||||
return pvq
|
||||
}
|
||||
|
||||
@@ -44,11 +44,11 @@ func (r *PeakValley) CreatePeakValleyQuarter(req *form.CreatePeakValleyQuarterRe
|
||||
pvq.Rid = req.RuleId
|
||||
startTime, err := time.Parse("2006-01-02", req.StartTime)
|
||||
endTime, err := time.Parse("2006-01-02", req.EndTime)
|
||||
exception.PanicMsgBool(err != nil, "时间解析失败")
|
||||
exception.PBM(err != nil, "时间解析失败")
|
||||
pvq.StartTime = startTime
|
||||
pvq.EndTime = endTime
|
||||
err = repository.GroupRepositorys.PeakValley.CreatePeakValleyQuarter(pvq)
|
||||
exception.PanicMsgBool(err != nil, "创建季度失败")
|
||||
exception.PBM(err != nil, "创建季度失败")
|
||||
return
|
||||
}
|
||||
|
||||
@@ -56,16 +56,16 @@ func (r *PeakValley) CreatePeakValleyQuarter(req *form.CreatePeakValleyQuarterRe
|
||||
func (r *PeakValley) UpdatePeakValleyQuarter(req *form.UpdatePeakValleyQuarterReq) {
|
||||
var err error
|
||||
pvq, err := repository.GroupRepositorys.PeakValley.GetOnePeakValleyQuarter(map[string]interface{}{"id": req.Id})
|
||||
exception.PanicMsgBool(err != nil, "修改季度失败")
|
||||
exception.PBM(err != nil, "修改季度失败")
|
||||
startTime, err := time.Parse("2006-01-02", req.StartTime)
|
||||
endTime, err := time.Parse("2006-01-02", req.EndTime)
|
||||
exception.PanicMsgBool(err != nil, "时间解析失败")
|
||||
exception.PBM(err != nil, "时间解析失败")
|
||||
pvq.QuarterName = req.QuarterName
|
||||
pvq.Rid = req.RuleId
|
||||
pvq.StartTime = startTime
|
||||
pvq.EndTime = endTime
|
||||
err = repository.GroupRepositorys.PeakValley.UpdatePeakValleyQuarter(pvq)
|
||||
exception.PanicMsgBool(err != nil, "修改季度失败")
|
||||
exception.PBM(err != nil, "修改季度失败")
|
||||
return
|
||||
}
|
||||
|
||||
@@ -90,15 +90,15 @@ func (r *PeakValley) CreatePeakValleyRule(req *form.CreatePeakValleyRuleReq) {
|
||||
if rec := recover(); rec != nil {
|
||||
tx.Rollback() // 如果发生错误,回滚事务
|
||||
fmt.Println("事务回滚")
|
||||
exception.PanicMsg(rec)
|
||||
exception.PM(rec)
|
||||
} else if err != nil {
|
||||
tx.Rollback() // 错误时回滚事务
|
||||
fmt.Println("事务回滚")
|
||||
exception.PanicMsgErr(err, err.Error())
|
||||
exception.PEM(err, err.Error())
|
||||
} else {
|
||||
err = tx.Commit().Error // 提交事务
|
||||
if err != nil {
|
||||
exception.PanicMsgErr(err, "事务提交失败")
|
||||
exception.PEM(err, "事务提交失败")
|
||||
}
|
||||
}
|
||||
}()
|
||||
@@ -180,15 +180,15 @@ func (r *PeakValley) UpdatePeakValleyRule(req *form.UpdatePeakValleyRuleReq) {
|
||||
if rec := recover(); rec != nil {
|
||||
tx.Rollback() // 如果发生错误,回滚事务
|
||||
fmt.Println("事务回滚1", rec)
|
||||
exception.PanicMsg(rec)
|
||||
exception.PM(rec)
|
||||
} else if err != nil {
|
||||
tx.Rollback() // 错误时回滚事务
|
||||
fmt.Println("事务回滚2", err)
|
||||
exception.PanicMsgErr(err, err.Error())
|
||||
exception.PEM(err, err.Error())
|
||||
} else {
|
||||
err = tx.Commit().Error // 提交事务
|
||||
if err != nil {
|
||||
exception.PanicMsgErr(err, "事务提交失败")
|
||||
exception.PEM(err, "事务提交失败")
|
||||
}
|
||||
}
|
||||
}()
|
||||
@@ -235,7 +235,7 @@ func (r *PeakValley) UpdatePeakValleyRule(req *form.UpdatePeakValleyRuleReq) {
|
||||
return
|
||||
}
|
||||
timeBlockIds, err = repository.GroupRepositorys.PeakValley.GetTimeBlockIdsByTimeBlock(tx, uint(start), uint(end))
|
||||
exception.PanicMsgBool(err != nil, "获取时间区块ID列表失败")
|
||||
exception.PBM(err != nil, "获取时间区块ID列表失败")
|
||||
timeBlockIdsMap[item.StartTime+item.EndTime] = timeBlockIds
|
||||
}
|
||||
if total < peak_valley_model.MinutesInADay {
|
||||
@@ -273,7 +273,7 @@ func (r *PeakValley) UpdatePeakValleyRule(req *form.UpdatePeakValleyRuleReq) {
|
||||
func (r *PeakValley) GetPeakValleyRulePage(req *form.PeakValleyRuleListReq) map[string]interface{} {
|
||||
count, list, err := repository.GroupRepositorys.PeakValley.GetPeakValleyRulePage(req)
|
||||
if err != nil {
|
||||
exception.PanicMsgErr(err, "获取列表失败")
|
||||
exception.PEM(err, "获取列表失败")
|
||||
//return
|
||||
}
|
||||
ListRsp := make(map[string]interface{})
|
||||
@@ -287,23 +287,23 @@ func (r *PeakValley) PeakValleyRuleDetail(req *form.PeakValleyRuleDetailReq) map
|
||||
// 获取分了多少个时间段 以及每个时间段的自定义名称 峰谷类型
|
||||
ruleTypes, err := repository.GroupRepositorys.PeakValley.GetPeakValleyRuleTypes(req.RuleId)
|
||||
fmt.Println(ruleTypes)
|
||||
exception.PanicMsgBool(err != nil, "获取规则区块类型失败1")
|
||||
exception.PBM(err != nil, "获取规则区块类型失败1")
|
||||
// 查询指定规则 指定峰谷类型的区块
|
||||
for idx, ruleType := range ruleTypes {
|
||||
// 查询当前类型的时间区块
|
||||
typeBlockList, err := repository.GroupRepositorys.PeakValley.GetPeakValleyRulePriceByTypeAndRuleID(uint(req.RuleId), ruleType.PeakValleyType)
|
||||
exception.PanicMsgBool(err != nil, "获取规则区块类型失败2")
|
||||
exception.PBM(err != nil, "获取规则区块类型失败2")
|
||||
// 根据连贯性 小区块 组合成大区块 (一个区块 或者多个区块)
|
||||
blocks := utils.SplitIntoGroups(typeBlockList)
|
||||
for _, block := range blocks {
|
||||
maxBlockId, minBlockId, err := utils.GetSplitIntMaxMin(block)
|
||||
exception.PanicMsgBool(err != nil, "获取规则区块类型失败3")
|
||||
exception.PBM(err != nil, "获取规则区块类型失败3")
|
||||
customName, err := repository.GroupRepositorys.PeakValley.GetPeakValleyRulePriceCustomName(minBlockId, uint(req.RuleId))
|
||||
exception.PanicMsgBool(err != nil, "获取规则区块类型失败4")
|
||||
exception.PBM(err != nil, "获取规则区块类型失败4")
|
||||
startTime, err := repository.GroupRepositorys.PeakValley.GetBlockStartTime(minBlockId)
|
||||
exception.PanicMsgBool(err != nil, "获取规则区块类型失败5")
|
||||
exception.PBM(err != nil, "获取规则区块类型失败5")
|
||||
endTime, err := repository.GroupRepositorys.PeakValley.GetBlockEndTime(maxBlockId)
|
||||
exception.PanicMsgBool(err != nil, "获取规则区块类型失败6")
|
||||
exception.PBM(err != nil, "获取规则区块类型失败6")
|
||||
startTimeStr := fmt.Sprintf("%02d:%02d", startTime/60, startTime%60)
|
||||
endTimeStr := fmt.Sprintf("%02d:%02d", endTime/60, endTime%60)
|
||||
ruleTimeBlock := peak_valley_model.RuleTimeBlock{
|
||||
@@ -326,21 +326,21 @@ func (r *PeakValley) PeakValleyRuleDetail(req *form.PeakValleyRuleDetailReq) map
|
||||
// PeakValleyRuleEditDetail 获取规则详情-编辑使用
|
||||
func (r *PeakValley) PeakValleyRuleEditDetail(req *form.PeakValleyRuleEditDetailReq) map[string]interface{} {
|
||||
pvr, err := repository.GroupRepositorys.PeakValley.GetOnePeakValleyRule(map[string]interface{}{"rule_id": req.RuleId})
|
||||
exception.PanicMsgBool(err != nil, "获取规则详情失败")
|
||||
exception.PBM(err != nil, "获取规则详情失败")
|
||||
// 获取分了多少个时间段 以及每个时间段的自定义名称 峰谷类型
|
||||
customNames, err := repository.GroupRepositorys.PeakValley.GetPeakValleyRuleCustomName(req.RuleId)
|
||||
exception.PanicMsgBool(err != nil, "获取规则区块类型失败1")
|
||||
exception.PBM(err != nil, "获取规则区块类型失败1")
|
||||
// 查询指定规则 指定峰谷类型的区块
|
||||
for idx, customName := range customNames {
|
||||
// 查询当前类型的时间区块
|
||||
customNameBlockList, err := repository.GroupRepositorys.PeakValley.GetPeakValleyRulePriceByCustomNameAndRuleID(uint(req.RuleId), customName.CustomName)
|
||||
exception.PanicMsgBool(err != nil, "获取规则区块类型失败2")
|
||||
exception.PBM(err != nil, "获取规则区块类型失败2")
|
||||
maxBlockId, minBlockId, err := utils.GetSplitIntMaxMin(customNameBlockList)
|
||||
exception.PanicMsgBool(err != nil, "获取规则区块类型失败3")
|
||||
exception.PBM(err != nil, "获取规则区块类型失败3")
|
||||
startTime, err := repository.GroupRepositorys.PeakValley.GetBlockStartTime(minBlockId)
|
||||
exception.PanicMsgBool(err != nil, "获取规则区块类型失败4")
|
||||
exception.PBM(err != nil, "获取规则区块类型失败4")
|
||||
endTime, err := repository.GroupRepositorys.PeakValley.GetBlockEndTime(maxBlockId)
|
||||
exception.PanicMsgBool(err != nil, "获取规则区块类型失败5")
|
||||
exception.PBM(err != nil, "获取规则区块类型失败5")
|
||||
startTimeStr := fmt.Sprintf("%02d:%02d", startTime/60, startTime%60)
|
||||
endTimeStr := fmt.Sprintf("%02d:%02d", endTime/60, endTime%60)
|
||||
//dump.P(customNameBlockList)
|
||||
|
||||
Reference in New Issue
Block a user