From d68fbf88ba3041d76d310b151d4f5e9ae940caee Mon Sep 17 00:00:00 2001 From: wubin Date: Mon, 20 Jul 2020 13:52:54 +0800 Subject: [PATCH] update --- .../BaseStudentController.go | 39 +++++++++++++++++-- .../BaseTeacherController.go | 36 +++++++++++++---- dsBaseWeb/Model/Res.go | 9 +++-- 3 files changed, 68 insertions(+), 16 deletions(-) diff --git a/dsBaseWeb/Business/BaseStudent/BaseStudentController/BaseStudentController.go b/dsBaseWeb/Business/BaseStudent/BaseStudentController/BaseStudentController.go index 6c78b270..54541eeb 100644 --- a/dsBaseWeb/Business/BaseStudent/BaseStudentController/BaseStudentController.go +++ b/dsBaseWeb/Business/BaseStudent/BaseStudentController/BaseStudentController.go @@ -9,7 +9,9 @@ import ( "github.com/bluesky335/IDCheck/IdNumber" "github.com/gin-gonic/gin" "net/http" + "net/url" "os" + "strings" ) //模块的路由配置 @@ -27,6 +29,8 @@ func Routers(r *gin.RouterGroup) { rr.GET("/DownLoadStudentTemplateExcel", DownLoadStudentTemplateExcel) rr.POST("/ImportStudentExcel", ImportStudentExcel) + rr.GET("/DownLoadErrorExcel", DownLoadErrorExcel) + return } @@ -558,12 +562,39 @@ func ImportStudentExcel(c *gin.Context) { return } - if !r.Success { - r.Message = c.Request.Host + "/dsBaseWeb/ExcelTemp/" + fileId + ".xlsx" + message := "" + errorCode := "" + if r.Message == "01" { + errorCode = r.Message + message = "上传的模板不是系统提供的,请重新下载系统提供的模板进行上传!" + } else if r.Message == "02" { + errorCode = r.Message + message = c.Request.Host + "/base/student/DownLoadErrorExcel?fileId=" + fileId + "&fileName=" + url.QueryEscape(strings.Split(header.Filename, ".xlsx")[0]) + } else { + errorCode = "03" + message = "上传文件未找到!" } + c.JSON(http.StatusOK, Model.Res{ - Success: r.Success, - Message: r.Message, + Success: r.Success, + ErrorCode: errorCode, + Message: message, }) } + +/** +功能:下载教师错误的EXCEL模板 +作者:吴缤 +日期:2020-07-20 +*/ +func DownLoadErrorExcel(c *gin.Context) { + fileId := c.Query("fileId") + fileName := c.Query("fileName") + + c.Writer.Header().Add("Content-Disposition", fmt.Sprintf("attachment; filename=%s", fileName+".xlsx")) + c.Writer.Header().Set("Content-Type", "application/octet-stream") + rootPath, _ := os.Getwd() + fileDir := rootPath + "/Html/ExcelTemp/" + fileId + ".xlsx" + c.File(fileDir) +} diff --git a/dsBaseWeb/Business/BaseTeacher/BaseTeacherController/BaseTeacherController.go b/dsBaseWeb/Business/BaseTeacher/BaseTeacherController/BaseTeacherController.go index b9fbc0d4..68d79f4d 100644 --- a/dsBaseWeb/Business/BaseTeacher/BaseTeacherController/BaseTeacherController.go +++ b/dsBaseWeb/Business/BaseTeacher/BaseTeacherController/BaseTeacherController.go @@ -8,7 +8,9 @@ import ( "github.com/bluesky335/IDCheck/IdNumber" "github.com/gin-gonic/gin" "net/http" + "net/url" "os" + "strings" ) //模块的路由配置 @@ -27,7 +29,7 @@ func Routers(r *gin.RouterGroup) { rr.POST("/ImportTeacherExcel", ImportTeacherExcel) - rr.GET("/DownLoadExcel", DownLoadExcel) + rr.GET("/DownLoadErrorExcel", DownLoadErrorExcel) return } @@ -579,20 +581,38 @@ func ImportTeacherExcel(c *gin.Context) { return } - if !r.Success { - r.Message = c.Request.Host + "/dsBaseWeb/ExcelTemp/" + fileId + ".xlsx" + message := "" + errorCode := "" + if r.Message == "01" { + errorCode = r.Message + message = "上传的模板不是系统提供的,请重新下载系统提供的模板进行上传!" + } else if r.Message == "02" { + errorCode = r.Message + message = c.Request.Host + "/base/teacher/DownLoadErrorExcel?fileId=" + fileId + "&fileName=" + url.QueryEscape(strings.Split(header.Filename, ".xlsx")[0]) + } else { + errorCode = "03" + message = "上传文件未找到!" } + c.JSON(http.StatusOK, Model.Res{ - Success: r.Success, - Message: r.Message, + Success: r.Success, + ErrorCode: errorCode, + Message: message, }) } -func DownLoadExcel(c *gin.Context) { - +/** +功能:下载教师错误的EXCEL模板 +作者:吴缤 +日期:2020-07-20 +*/ +func DownLoadErrorExcel(c *gin.Context) { + fileId := c.Query("fileId") fileName := c.Query("fileName") c.Writer.Header().Add("Content-Disposition", fmt.Sprintf("attachment; filename=%s", fileName+".xlsx")) c.Writer.Header().Set("Content-Type", "application/octet-stream") - c.File(r.ExcelPath) + rootPath, _ := os.Getwd() + fileDir := rootPath + "/Html/ExcelTemp/" + fileId + ".xlsx" + c.File(fileDir) } diff --git a/dsBaseWeb/Model/Res.go b/dsBaseWeb/Model/Res.go index b69e8431..18435b45 100644 --- a/dsBaseWeb/Model/Res.go +++ b/dsBaseWeb/Model/Res.go @@ -1,8 +1,9 @@ package Model type Res struct { - Success interface{} `json:"success"` - Message interface{} `json:"message,omitempty"` //omitempty有值就输出,没值则不输出 - List interface{} `json:"list,omitempty"` //omitempty有值就输出,没值则不输出 - Count interface{} `json:"count,omitempty"` //omitempty有值就输出,没值则不输出 + Success interface{} `json:"success"` + Message interface{} `json:"message,omitempty"` //omitempty有值就输出,没值则不输出 + List interface{} `json:"list,omitempty"` //omitempty有值就输出,没值则不输出 + Count interface{} `json:"count,omitempty"` //omitempty有值就输出,没值则不输出 + ErrorCode interface{} `json:"error_code,omitempty"` //omitempty有值就输出,没值则不输出 }