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) } )