diff --git a/link_homework/go.mod b/link_homework/go.mod index b117c0a..28540fa 100644 --- a/link_homework/go.mod +++ b/link_homework/go.mod @@ -8,7 +8,6 @@ require ( github.com/gogf/gf/contrib/nosql/redis/v2 v2.8.1 github.com/gogf/gf/v2 v2.8.1 github.com/golang-jwt/jwt/v4 v4.5.1 - github.com/golang-jwt/jwt/v5 v5.2.1 ) require ( diff --git a/link_homework/go.sum b/link_homework/go.sum index 1c40066..c981eba 100644 --- a/link_homework/go.sum +++ b/link_homework/go.sum @@ -35,8 +35,6 @@ github.com/gogf/gf/v2 v2.8.1 h1:1oVQg3G5OgCats4qWFTH3pHLe92nfUQeUDta05tUs1g= github.com/gogf/gf/v2 v2.8.1/go.mod h1:6iYuZZ+A0ZcH8+4MDS/P0SvTPCvKzRvyAsY1kbkJYJc= github.com/golang-jwt/jwt/v4 v4.5.1 h1:JdqV9zKUdtaa9gdPlywC3aeoEsR681PlKC+4F5gQgeo= github.com/golang-jwt/jwt/v4 v4.5.1/go.mod h1:m21LjoU+eqJr34lmDMbreY2eSTRJ1cv77w39/MY0Ch0= -github.com/golang-jwt/jwt/v5 v5.2.1 h1:OuVbFODueb089Lh128TAcimifWaLhJwVflnrgM17wHk= -github.com/golang-jwt/jwt/v5 v5.2.1/go.mod h1:pqrtFR0X4osieyHYxtmOUWsAWrfe1Q5UVIyoH402zdk= github.com/google/go-cmp v0.6.0 h1:ofyhxvXcZhMsU5ulbFiLKl/XBFqE1GSq7atu8tAmTRI= github.com/google/go-cmp v0.6.0/go.mod h1:17dUlkBOakJ0+DkrSSNjCkIjxS6bF9zb3elmeNGIjoY= github.com/gorilla/websocket v1.5.3 h1:saDtZ6Pbx/0u+bgYQ3q96pZgCzfhKXGPqt7kZ72aNNg= diff --git a/link_homework/internal/controller/clientPage/clientPage.go b/link_homework/internal/controller/clientPage/clientPage.go index 01d3c61..fad3a1c 100644 --- a/link_homework/internal/controller/clientPage/clientPage.go +++ b/link_homework/internal/controller/clientPage/clientPage.go @@ -60,6 +60,12 @@ func (c *ClientPage) GetHomeworkQuestion(r *ghttp.Request) { Message: err.Error(), }) } + if result == nil { + r.Response.WriteJsonExit(dto.Result{ + Code: 400, + Message: "该作业没有题目", + }) + } r.Response.WriteJsonExit(dto.Result{ Code: 200, Message: "success", diff --git a/link_homework/internal/controller/record/export.go b/link_homework/internal/controller/record/export.go deleted file mode 100644 index 89e9194..0000000 --- a/link_homework/internal/controller/record/export.go +++ /dev/null @@ -1,90 +0,0 @@ -package record - -import ( - "github.com/360EntSecGroup-Skylar/excelize" - "github.com/gogf/gf/v2/net/ghttp" - "link_homework/api/v1/record" - "link_homework/internal/model/dto" - "link_homework/internal/service" - "strconv" - "time" -) - -// ManageRecord 处理记录的相关操作 -type ExportRecord struct{} - -func NewExportRecord() *ExportRecord { - return &ExportRecord{} -} - -// ExportRecordByCondition 导出记录 -func (m *ExportRecord) ExportRecordByCondition(r *ghttp.Request) { - var req record.GetRecordByConditionReq - // 解析查询条件 - if err := r.Parse(&req); err != nil { - r.Response.WriteJsonExit(dto.Error("参数解析失败: " + err.Error())) - return - } - - // 调用查询服务 - records, err := service.Record().GetRecordByCondition( - r.Context(), - req.Id, req.Jwcode, req.DeptId, req.ShopId, req.PageNo, req.PageSize, - ) - if err != nil { - //g.Log().Error(r.Context(), "查询记录失败: ", err) - r.Response.WriteJsonExit(dto.Error("查询记录失败: " + err.Error())) - return - } - - if len(records) == 0 { - //g.Log().Warning(r.Context(), "查询结果为空: 参数 = ", req) - r.Response.WriteJsonExit(dto.Error("查询结果为空")) - return - } - // 创建 Excel 文件 - excelFile := excelize.NewFile() // 默认会创建一个 Sheet1 - sheetName := "Sheet1" // 使用默认的 Sheet1 - - // 设置表头 - headers := []string{"序号", "精网号", "名字", "部门ID", "部门名称", "门店ID", "门店名称", "题目ID", "题目类型", "题目名称", "简答题标题", "作答内容", "提交时间"} - for i, header := range headers { - col := string('A' + i) // 将索引转换为 Excel 列名 - excelFile.SetCellValue(sheetName, col+"1", header) - } - - // 写入数据 - rowIndex := 2 // 从第二行开始写入数据 - for _, record := range records { - for _, reply := range record.Reply { // 遍历每个 `Reply` - excelFile.SetCellValue(sheetName, "A"+strconv.Itoa(rowIndex), rowIndex-1) - excelFile.SetCellValue(sheetName, "B"+strconv.Itoa(rowIndex), record.Jwcode) - excelFile.SetCellValue(sheetName, "C"+strconv.Itoa(rowIndex), record.Name) - excelFile.SetCellValue(sheetName, "D"+strconv.Itoa(rowIndex), record.DeptId) - excelFile.SetCellValue(sheetName, "E"+strconv.Itoa(rowIndex), record.DeptName) - excelFile.SetCellValue(sheetName, "F"+strconv.Itoa(rowIndex), record.ShopId) - excelFile.SetCellValue(sheetName, "G"+strconv.Itoa(rowIndex), record.ShopName) - excelFile.SetCellValue(sheetName, "H"+strconv.Itoa(rowIndex), reply.FormId) - excelFile.SetCellValue(sheetName, "I"+strconv.Itoa(rowIndex), reply.Type) - excelFile.SetCellValue(sheetName, "J"+strconv.Itoa(rowIndex), reply.Description) - excelFile.SetCellValue(sheetName, "K"+strconv.Itoa(rowIndex), reply.ContentTitle) - excelFile.SetCellValue(sheetName, "L"+strconv.Itoa(rowIndex), reply.Content) - excelFile.SetCellValue(sheetName, "M"+strconv.Itoa(rowIndex), reply.UpdatedAt.String()) - rowIndex++ - } - } - - // 设置文件名 - fileName := "Records_" + time.Now().Format("20060102150405") + ".xlsx" - - // 保存到缓冲区并返回 - buffer, err := excelFile.WriteToBuffer() - if err != nil { - r.Response.WriteJsonExit(dto.Error("生成 Excel 文件失败: " + err.Error())) - return - } - - r.Response.Header().Set("Content-Type", "application/vnd.openxmlformats-officedocument.spreadsheetml.sheet") - r.Response.Header().Set("Content-Disposition", "attachment; filename="+fileName) - r.Response.Write(buffer.Bytes()) -} diff --git a/link_homework/internal/controller/record/manageRecord.go b/link_homework/internal/controller/record/manageRecord.go index c3bca4b..2c9429e 100644 --- a/link_homework/internal/controller/record/manageRecord.go +++ b/link_homework/internal/controller/record/manageRecord.go @@ -55,6 +55,12 @@ func (m *ManageRecord) GetRecordByCondition(r *ghttp.Request) { Message: err.Error(), }) } + if result == nil { + r.Response.WriteJsonExit(dto.Result{ + Code: 400, + Message: "没有查询到记录", + }) + } r.Response.WriteJsonExit(dto.Result{ Code: 200, Message: "success",