Parcourir la source

fix:增加图表研报不存在的删除逻辑

zqbao il y a 9 mois
Parent
commit
1f6d1e3f6d
4 fichiers modifiés avec 27 ajouts et 4 suppressions
  1. 7 3
      controllers/chart.go
  2. 7 1
      controllers/my_chart.go
  3. 6 0
      controllers/report.go
  4. 7 0
      models/my_chart.go

+ 7 - 3
controllers/chart.go

@@ -4,7 +4,9 @@ import (
 	"eta/eta_mini_api/models"
 	"eta/eta_mini_api/models/response"
 	"eta/eta_mini_api/services"
+	"eta/eta_mini_api/services/alarm_msg"
 	"eta/eta_mini_api/utils"
+	"fmt"
 )
 
 type ChartController struct {
@@ -77,9 +79,11 @@ func (this *ChartController) Detail() {
 		br.ErrMsg = "获取图表详情失败,Err:" + err.Error()
 		return
 	}
-	if result.Ret != 200 {
-		br.Msg = result.Msg
-		br.ErrMsg = result.ErrMsg
+	if result.Ret == 200 && result.Data.UniqueCode == "" {
+		// 说明后台删除了这个图表,那么尝试将收藏的图表也删除
+		alarm_msg.SendAlarmMsg(fmt.Sprintf("图表不存在,删除图表,id:%d", chartInfoId), 1)
+		models.DeleteMyChartByUserIdAndChartInfoId(user.UserId, chartInfoId)
+		br.Msg = "图表已删除或不存在"
 		return
 	}
 	count, err := models.GetMyChartCount(user.UserId, result.Data.UniqueCode)

+ 7 - 1
controllers/my_chart.go

@@ -275,9 +275,15 @@ func (this *MyChartController) Detail() {
 		br.ErrMsg = result.ErrMsg
 		return
 	}
+	if result.Ret == 200 && result.Data.UniqueCode == "" {
+		models.DeleteMyChartByUserIdAndChartInfoId(user.UserId, chartInfoId)
+		br.Msg = "图表已删除或不存在"
+		return
+	}
+
 	count, err := models.GetMyChartCount(user.UserId, result.Data.UniqueCode)
 	if err != nil {
-		br.Msg = "获取图表详情失败"
+		br.Msg = "图表已删除或不存在"
 		br.ErrMsg = "获取图表详情失败,Err:" + err.Error()
 	}
 	if count > 0 {

+ 6 - 0
controllers/report.go

@@ -41,6 +41,12 @@ func (this *ReportController) Detail() {
 		br.ErrMsg = result.ErrMsg
 		return
 	}
+	if result.Ret == 200 && result.Data.Report.Id == 0 {
+		// 后台没有这个报告,那么尝试删除我的收藏
+		models.DeleteMyReportByUserIdAndReportId(user.UserId, reportId)
+		br.Msg = "该报告已删除或不存在"
+		return
+	}
 
 	count, err := models.GetMyReportCountByUserIdAndReportId(user.UserId, reportId)
 	if err != nil {

+ 7 - 0
models/my_chart.go

@@ -51,3 +51,10 @@ func DeleteMyChart(userId int, uniqueCode string) (err error) {
 	_, err = o.Raw(sql, userId, uniqueCode).Exec()
 	return
 }
+
+func DeleteMyChartByUserIdAndChartInfoId(userId int, chartInfoId int) (err error) {
+	o := orm.NewOrm()
+	sql := `DELETE FROM my_chart WHERE user_id=? AND chart_info_id=?`
+	_, err = o.Raw(sql, userId, chartInfoId).Exec()
+	return
+}