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("",