From 55fb5a16ef4dd799f8f3e9e8e5c6ddfa7b15efa4 Mon Sep 17 00:00:00 2001 From: lijikun Date: Thu, 12 Dec 2024 19:58:26 +0800 Subject: [PATCH] =?UTF-8?q?12=E6=9C=8812=E6=97=A5=E4=BB=A3=E7=A0=81?= =?UTF-8?q?=E7=BC=96=E5=86=99,=E5=AF=B9=E5=AE=A2=E6=88=B7=E7=AB=AF?= =?UTF-8?q?=E4=B8=BB=E9=A1=B5=E6=9F=A5=E8=AF=A2=E6=8E=A5=E5=8F=A3=E8=BF=9B?= =?UTF-8?q?=E8=A1=8C=E4=BF=AE=E6=94=B9=E5=AE=8C=E5=96=84(=E5=87=BD?= =?UTF-8?q?=E6=95=B0=E5=90=8D,=E6=8F=90=E4=BA=A4=E6=AC=A1=E6=95=B0),?= =?UTF-8?q?=E5=AE=8C=E6=88=90=E4=BD=9C=E4=B8=9A=E9=A2=98=E7=9B=AE=E6=9F=A5?= =?UTF-8?q?=E8=AF=A2?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- link_homework/api/v1/ClientPage/ClientPage.go | 27 ++++++++++++++++++---- link_homework/api/v1/hello.go | 1 - link_homework/internal/cmd/cmd.go | 1 + .../internal/controller/clientPage/clientPage.go | 24 +++++++++++++++++++ .../internal/logic/homework/homeworkList.go | 17 +++++++++++--- link_homework/internal/service/homework.go | 3 ++- 6 files changed, 63 insertions(+), 10 deletions(-) delete mode 100644 link_homework/api/v1/hello.go diff --git a/link_homework/api/v1/ClientPage/ClientPage.go b/link_homework/api/v1/ClientPage/ClientPage.go index 6cbd9cf..eba8737 100644 --- a/link_homework/api/v1/ClientPage/ClientPage.go +++ b/link_homework/api/v1/ClientPage/ClientPage.go @@ -1,10 +1,27 @@ package ClientPage -import "github.com/gogf/gf/v2/os/gtime" +import ( + "github.com/gogf/gf/v2/os/gtime" +) -type GetHomewordListRse struct { +type GetHomeworkListRse struct { Id int `json:"id" orm:"table:activity_interactive_group;column:id" dc:"id" ` - Name string `json:"content" orm:"table:activity_interactive_group;column:name" dc:"作业题目"` - EndDate *gtime.Time ` json:"endData" orm:"table:activity_interactive_group;column:end_date;time_format:yy-MM-dd" dc:"作业截止时间"` - Status int + Name string `json:"name" orm:"table:activity_interactive_group;column:name" dc:"作业题目"` + EndDate *gtime.Time `json:"endData" orm:"table:activity_interactive_group;column:end_date;time_format:yy-MM-dd" dc:"作业截止时间"` + Submit int `json:"submit"` } + +type GetHomeworkQuestionReq struct { + Id int `json:"id" dc:"作业id"` +} + +type GetHomeworkQuestionRes struct { + Id int `json:"id" orm:"table:activity_interactive_form;column:id" dc:"题目id"` + Name string `json:"name" orm:"table:activity_interactive_form;column:name" dc:"作业名称"` + Description string `json:"description" orm:"table:activity_interactive_form;column:description" dc:"作业题目名字"` + Content string `json:"content" orm:"table:activity_interactive_form;column:content" dc:"题目内容"` + Status int `json:"status"` + Type int `json:"type" orm:"table:activity_interactive_form;column:type" dc:"题目类型"` +} + +//需要id(group_id)(form表),查id,form.name是作业的题目,form.description是作业题目的名字,content, status,type diff --git a/link_homework/api/v1/hello.go b/link_homework/api/v1/hello.go deleted file mode 100644 index b7b1f99..0000000 --- a/link_homework/api/v1/hello.go +++ /dev/null @@ -1 +0,0 @@ -package v1 diff --git a/link_homework/internal/cmd/cmd.go b/link_homework/internal/cmd/cmd.go index 9e0bd73..88e617b 100644 --- a/link_homework/internal/cmd/cmd.go +++ b/link_homework/internal/cmd/cmd.go @@ -46,6 +46,7 @@ var ( //gfToken.Middleware(ctx, group) //直接写接口,不用再分组 group.POST("/gethomeworklist", clientPage.NewClientPage().GetHomeworkList) + group.POST("/gethomeworkquestion", clientPage.NewClientPage().GetHomeworkQuestion) }) s.Run() diff --git a/link_homework/internal/controller/clientPage/clientPage.go b/link_homework/internal/controller/clientPage/clientPage.go index 562d540..fe4ca4f 100644 --- a/link_homework/internal/controller/clientPage/clientPage.go +++ b/link_homework/internal/controller/clientPage/clientPage.go @@ -2,6 +2,7 @@ package clientPage import ( "github.com/gogf/gf/v2/net/ghttp" + CPage "link_homework/api/v1/ClientPage" "link_homework/internal/model/dto" "link_homework/internal/service" ) @@ -27,3 +28,26 @@ func (c *ClientPage) GetHomeworkList(r *ghttp.Request) { Data: result, }) } + +func (c *ClientPage) GetHomeworkQuestion(r *ghttp.Request) { + var req CPage.GetHomeworkQuestionReq + if err := r.Parse(&req); err != nil { + r.Response.WriteJsonExit(dto.Result{ + Code: 400, + Message: err.Error(), + }) + } + groupId := req.Id + result, err := service.Homework().GetHomeworkQuestion(r.Context(), groupId) + if err != nil { + r.Response.WriteJsonExit(dto.Result{ + Code: 400, + Message: err.Error(), + }) + } + r.Response.WriteJsonExit(dto.Result{ + Code: 200, + Message: "success", + Data: result, + }) +} diff --git a/link_homework/internal/logic/homework/homeworkList.go b/link_homework/internal/logic/homework/homeworkList.go index f70dff7..2efb32b 100644 --- a/link_homework/internal/logic/homework/homeworkList.go +++ b/link_homework/internal/logic/homework/homeworkList.go @@ -15,7 +15,7 @@ func init() { service.RegisterHomework(&sHomework{}) } -func (s *sHomework) GetHomeworkList(ctx context.Context) (homeworkList []ClientPage.GetHomewordListRse, err error) { +func (s *sHomework) GetHomeworkList(ctx context.Context) (homeworkList []ClientPage.GetHomeworkListRse, err error) { var jwcode = 90038794 //需要从token中获取当前的数据 err = dao.ActivityInteractiveGroup.Ctx(ctx).Fields("id", "name", "DATE_FORMAT(end_date, '%Y-%m-%d') as end_date"). Where("end_date>?", gtime.Now()).OrderDesc("end_date").Scan(&homeworkList) @@ -25,12 +25,23 @@ func (s *sHomework) GetHomeworkList(ctx context.Context) (homeworkList []ClientP } for i, item := range homeworkList { var count int - count, err = dao.ActivityInteractiveRecord.Ctx(ctx).Where("group_id=?", item.Id).Where("jwcode", jwcode).Count() + count, err = dao.ActivityInteractiveRecord.Ctx(ctx).Where("group_id=?", item.Id).Where("jwcode", jwcode).Count() //只有精网号和作业id查出来的结果是所需要的结果的题目数倍数 if err != nil { fmt.Println("提交记录数查询失败:", err) return } - homeworkList[i].Status = count + num, err := dao.ActivityInteractiveForm.Ctx(ctx).Where("group", item.Id).Count() + if err != nil { + fmt.Println("题目数查询失败:", err) + return + } + homeworkList[i].Submit = count / num } return } + +func (s *sHomework) GetHomeworkQuestion(ctx context.Context, groupId int) (questions []ClientPage.GetHomeworkQuestionRes, err error) { + err = dao.ActivityInteractiveForm.Ctx(ctx).Fields("id", "name", "content", "status", "type"). + Where("group_id", groupId).Scan(&questions) + return +} diff --git a/link_homework/internal/service/homework.go b/link_homework/internal/service/homework.go index c236a2a..63fd6b8 100644 --- a/link_homework/internal/service/homework.go +++ b/link_homework/internal/service/homework.go @@ -12,7 +12,8 @@ import ( type ( IHomework interface { - GetHomeworkList(ctx context.Context) (homeworkList []ClientPage.GetHomewordListRse, err error) + GetHomeworkList(ctx context.Context) (homeworkList []ClientPage.GetHomeworkListRse, err error) + GetHomeworkQuestion(ctx context.Context, groupId int) (questions []ClientPage.GetHomeworkQuestionRes, err error) } )