ziwen 1 year ago
parent
commit
acf022975f

+ 38 - 3
controllers/ppt_english.go

@@ -133,7 +133,7 @@ func (this *PptEnglishController) AddPpt() {
 			br.Msg = "请输入目录ID"
 			return
 		}
-		item, err := ppt_english.GetPptEnglishByTitle(req.FirstPage.Title)
+		item, err := ppt_english.GetPptEnglishByTitleAndId(req.FirstPage.Title, this.SysUser.AdminId)
 		if err != nil && err.Error() != utils.ErrNoRow() {
 			br.Msg = "获取数据异常!"
 			br.ErrMsg = "获取数据异常,Err:" + err.Error()
@@ -223,7 +223,7 @@ func (this *PptEnglishController) EditPpt() {
 		br.Msg = "标题不能为空"
 		return
 	}
-	item, err := ppt_english.GetPptEnglishByTitle(req.FirstPage.Title)
+	item, err := ppt_english.GetPptEnglishByTitleAndId(req.FirstPage.Title, this.SysUser.AdminId)
 	if err != nil && err.Error() != utils.ErrNoRow() {
 		br.Msg = "获取数据异常!"
 		br.ErrMsg = "获取数据异常,Err:" + err.Error()
@@ -579,7 +579,7 @@ func (this *PptEnglishController) SaveLog() {
 	}
 
 	// 获取ppt
-	item, err := ppt_english.GetPptEnglishByTitle(req.FirstPage.Title)
+	item, err := ppt_english.GetPptEnglishByTitleAndId(req.FirstPage.Title, this.SysUser.AdminId)
 	if err != nil && err.Error() != utils.ErrNoRow() {
 		br.Msg = "获取数据异常!"
 		br.ErrMsg = "获取数据异常,Err:" + err.Error()
@@ -884,3 +884,38 @@ func (this *PptEnglishController) ToReport() {
 	br.IsAddLog = true
 	br.Data = resp
 }
+
+// TitleCheck
+// @Title 校验标题是否重复
+// @Description 校验标题是否重复接口
+// @Param   Title   query   int  true       "标题"
+// @Success 200 Ret=200 编辑成功
+// @router /titleCheck [get]
+func (this *PptEnglishController) TitleCheck() {
+	br := new(models.BaseResponse).Init()
+	defer func() {
+		this.Data["json"] = br
+		this.ServeJSON()
+	}()
+	title := this.GetString("Title")
+	pptId, _ := this.GetInt("PptId")
+	if title == "" {
+		br.Msg = "标题不能为空"
+		return
+	}
+	item, err := ppt_english.GetPptEnglishByTitleAndId(title, this.SysUser.AdminId)
+	if err != nil && err.Error() != utils.ErrNoRow() {
+		br.Msg = "获取数据异常!"
+		br.ErrMsg = "获取数据异常,Err:" + err.Error()
+		return
+	}
+	if item != nil && item.PptId != pptId {
+		br.Msg = "标题已存在,不可重复添加"
+		br.IsSendEmail = false
+		return
+	}
+
+	br.Ret = 200
+	br.Success = true
+	br.Msg = "校验成功"
+}

+ 39 - 4
controllers/ppt_v2.go

@@ -133,13 +133,13 @@ func (this *PptV2Controller) AddPpt() {
 			br.Msg = "请输入目录ID"
 			return
 		}
-		item, err := models.GetPptV2ByTitle(req.FirstPage.Title)
+		item, err := models.GetPptV2ByTitleAndId(req.FirstPage.Title, this.SysUser.AdminId)
 		if err != nil && err.Error() != utils.ErrNoRow() {
 			br.Msg = "获取数据异常!"
 			br.ErrMsg = "获取数据异常,Err:" + err.Error()
 			return
 		}
-		if item != nil {
+		if item != nil && item.PptId != int(req.PptId) {
 			br.Msg = "标题已存在,不可重复添加"
 			br.IsSendEmail = false
 			return
@@ -224,7 +224,7 @@ func (this *PptV2Controller) EditPpt() {
 		br.Msg = "标题不能为空"
 		return
 	}
-	item, err := models.GetPptV2ByTitle(req.FirstPage.Title)
+	item, err := models.GetPptV2ByTitleAndId(req.FirstPage.Title, this.SysUser.AdminId)
 	if err != nil && err.Error() != utils.ErrNoRow() {
 		br.Msg = "获取数据异常!"
 		br.ErrMsg = "获取数据异常,Err:" + err.Error()
@@ -580,7 +580,7 @@ func (this *PptV2Controller) SaveLog() {
 	}
 
 	// 获取ppt
-	item, err := models.GetPptV2ByTitle(req.FirstPage.Title)
+	item, err := models.GetPptV2ByTitleAndId(req.FirstPage.Title, this.SysUser.AdminId)
 	if err != nil && err.Error() != utils.ErrNoRow() {
 		br.Msg = "获取数据异常!"
 		br.ErrMsg = "获取数据异常,Err:" + err.Error()
@@ -1083,3 +1083,38 @@ func (this *PptV2Controller) BatchToEn() {
 	br.Success = true
 	br.Msg = "操作成功"
 }
+
+// TitleCheck
+// @Title 校验标题是否重复
+// @Description 校验标题是否重复接口
+// @Param   Title   query   int  true       "标题"
+// @Success 200 Ret=200 编辑成功
+// @router /titleCheck [get]
+func (this *PptV2Controller) TitleCheck() {
+	br := new(models.BaseResponse).Init()
+	defer func() {
+		this.Data["json"] = br
+		this.ServeJSON()
+	}()
+	title := this.GetString("Title")
+	pptId, _ := this.GetInt("PptId")
+	if title == "" {
+		br.Msg = "标题不能为空"
+		return
+	}
+	item, err := models.GetPptV2ByTitleAndId(title, this.SysUser.AdminId)
+	if err != nil && err.Error() != utils.ErrNoRow() {
+		br.Msg = "获取数据异常!"
+		br.ErrMsg = "获取数据异常,Err:" + err.Error()
+		return
+	}
+	if item != nil && item.PptId != pptId {
+		br.Msg = "标题已存在,不可重复添加"
+		br.IsSendEmail = false
+		return
+	}
+
+	br.Ret = 200
+	br.Success = true
+	br.Msg = "校验成功"
+}

+ 8 - 0
models/ppt_english/ppt_english.go

@@ -343,3 +343,11 @@ type EnglishPPT2ReportReq struct {
 	Title            string `description:"标题"`
 	Abstract         string `description:"摘要"`
 }
+
+
+func GetPptEnglishByTitleAndId(title string,adminId int) (item *PptEnglish, err error) {
+	o := orm.NewOrmUsingDB("rddp")
+	sql := `SELECT * FROM ppt_english WHERE 1=1 AND title=? AND admin_id=? `
+	err = o.Raw(sql, title, adminId).QueryRow(&item)
+	return
+}

+ 7 - 0
models/ppt_v2.go

@@ -284,3 +284,10 @@ type BatchEnPPT2CnReq struct {
 	PptIds  string `description:"英文PPT主键s"`
 	GroupId int    `description:"目录ID"`
 }
+
+func GetPptV2ByTitleAndId(title string,adminId int) (item *PptV2, err error) {
+	o := orm.NewOrmUsingDB("rddp")
+	sql := `SELECT * FROM ppt_v2 WHERE 1=1 AND title=? AND admin_id=? `
+	err = o.Raw(sql, title, adminId).QueryRow(&item)
+	return
+}

+ 18 - 0
routers/commentsRouter.go

@@ -4876,6 +4876,15 @@ func init() {
             Filters: nil,
             Params: nil})
 
+    beego.GlobalControllerRouter["eta/eta_api/controllers:PptEnglishController"] = append(beego.GlobalControllerRouter["eta/eta_api/controllers:PptEnglishController"],
+        beego.ControllerComments{
+            Method: "TitleCheck",
+            Router: `/titleCheck`,
+            AllowHTTPMethods: []string{"get"},
+            MethodParams: param.Make(),
+            Filters: nil,
+            Params: nil})
+
     beego.GlobalControllerRouter["eta/eta_api/controllers:PptEnglishController"] = append(beego.GlobalControllerRouter["eta/eta_api/controllers:PptEnglishController"],
         beego.ControllerComments{
             Method: "ToReport",
@@ -5155,6 +5164,15 @@ func init() {
             Filters: nil,
             Params: nil})
 
+    beego.GlobalControllerRouter["eta/eta_api/controllers:PptV2Controller"] = append(beego.GlobalControllerRouter["eta/eta_api/controllers:PptV2Controller"],
+        beego.ControllerComments{
+            Method: "TitleCheck",
+            Router: `/titleCheck`,
+            AllowHTTPMethods: []string{"get"},
+            MethodParams: param.Make(),
+            Filters: nil,
+            Params: nil})
+
     beego.GlobalControllerRouter["eta/eta_api/controllers:PptV2Controller"] = append(beego.GlobalControllerRouter["eta/eta_api/controllers:PptV2Controller"],
         beego.ControllerComments{
             Method: "ToEn",