From 5666f193b6eb0731cf6bd312066a32c3b8bb9d51 Mon Sep 17 00:00:00 2001 From: TsMask <340112800@qq.com> Date: Mon, 22 Jul 2024 18:19:00 +0800 Subject: [PATCH] =?UTF-8?q?feat:=20=E7=A4=BA=E4=BE=8B=E4=B8=8E=E4=BF=AE?= =?UTF-8?q?=E6=94=B9=E6=95=B0=E6=8D=AE=E6=AF=94=E8=BE=83=E5=8A=9F=E8=83=BD?= =?UTF-8?q?=E6=8E=A5=E5=8F=A3?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../controller/pt_ne_config_data.go | 65 +++++++++++++++++++ .../practical_training/practical_training.go | 5 ++ 2 files changed, 70 insertions(+) diff --git a/src/modules/practical_training/controller/pt_ne_config_data.go b/src/modules/practical_training/controller/pt_ne_config_data.go index 38b5644f..96d6b72e 100644 --- a/src/modules/practical_training/controller/pt_ne_config_data.go +++ b/src/modules/practical_training/controller/pt_ne_config_data.go @@ -82,6 +82,71 @@ func (s *PtNeConfigDataController) ResetAsDefault(c *gin.Context) { c.JSON(200, result.Ok(nil)) } +// 示例与修改数据比较 +// +// GET /contrast +func (s *PtNeConfigDataController) Contrast(c *gin.Context) { + language := ctx.AcceptLanguage(c) + var querys struct { + NeType string `form:"neType" binding:"required"` + ParamName string `form:"paramName" binding:"required"` + Student string `form:"student"` // 教师携带学生账号查询 + } + if err := c.ShouldBindQuery(&querys); err != nil { + c.JSON(400, result.CodeMsg(400, i18n.TKey(language, "app.common.err400"))) + return + } + + loginUser, _ := ctx.LoginUser(c) + currentUserName := loginUser.User.UserName + deptId := loginUser.User.DeptID + stubTypeContrast := "1" // 比较示例的存根类型 + stubType := "2" // 存根数据类型 0系统 1班级 2个人 + for _, v := range loginUser.User.Roles { + if v.RoleKey == "admin" { + stubTypeContrast = "0" + stubType = "0" + } + if v.RoleKey == "teacher" { + stubTypeContrast = "0" + stubType = "1" + // 查看学生数据 + if querys.Student != "" { + currentUserName = querys.Student + stubTypeContrast = "1" + stubType = "2" + } + } + if v.RoleKey == "student" { + stubTypeContrast = "1" + stubType = "2" + } + } + // 优先查询个人的数据,没有就向系统取 + param := model.PtNeConfigData{ + CreateBy: currentUserName, + NeType: querys.NeType, + StubType: stubType, + ParamName: querys.ParamName, + DeptId: deptId, + } + info := s.ptNeConfigDataService.SelectByStubType(param) + // 查询对比示例 + param.StubType = stubTypeContrast + infoContrast := s.ptNeConfigDataService.SelectByStubType(param) + + // 输出数据内容 + if info.ParamJson != "" { + c.JSON(200, result.Ok(map[string]any{ + "type": info.ParamType, + "data": info.ParamData, + "exampleData": infoContrast.ParamData, + })) + return + } + c.JSON(200, result.Err(nil)) +} + // 网元参数配置信息 // // GET / diff --git a/src/modules/practical_training/practical_training.go b/src/modules/practical_training/practical_training.go index d02fc3c2..2ec08d8d 100644 --- a/src/modules/practical_training/practical_training.go +++ b/src/modules/practical_training/practical_training.go @@ -28,6 +28,10 @@ func Setup(router *gin.Engine) { collectlogs.OperateLog(collectlogs.OptionNew("log.operate.title.neConfigData", collectlogs.BUSINESS_TYPE_OTHER)), controller.NewPtNeConfigData.ResetAsDefault, ) + neConfigDataGroup.GET("/contrast", + middleware.PreAuthorize(nil), + controller.NewPtNeConfigData.Contrast, + ) neConfigDataGroup.GET("", middleware.PreAuthorize(nil), controller.NewPtNeConfigData.Info, @@ -58,6 +62,7 @@ func Setup(router *gin.Engine) { ) neConfigDataLogGroup.PUT("/restore", middleware.PreAuthorize(nil), + collectlogs.OperateLog(collectlogs.OptionNew("log.operate.title.neConfigDataLog", collectlogs.BUSINESS_TYPE_UPDATE)), controller.NewPtNeConfigDataLog.Restore, ) neConfigDataLogGroup.DELETE("",