diff --git a/link_homework/internal/logic/homework/homework.go b/link_homework/internal/logic/homework/homework.go index 9c4fda1..5b5801e 100644 --- a/link_homework/internal/logic/homework/homework.go +++ b/link_homework/internal/logic/homework/homework.go @@ -40,6 +40,7 @@ func (s *sHomework) GetHomeworkList(ctx context.Context, pageNo int, pageSize in } func (s *sHomework) AddHomework(ctx context.Context, req *homework.AddHomeworkReq) (err error) { + // 判断作业是否已结束 status := 0 if req.StartDate.Before(gtime.Now()) { if req.EndDate.Before(gtime.Now()) { @@ -49,7 +50,7 @@ func (s *sHomework) AddHomework(ctx context.Context, req *homework.AddHomeworkRe } } var Id int64 - if req.ArticleId == 0 { + if req.ArticleId == 0 { // 关联文章 Id, err = dao.ActivityInteractiveGroup.Ctx(ctx).Data(do.ActivityInteractiveGroup{ Name: req.Name, Status: status, @@ -58,7 +59,7 @@ func (s *sHomework) AddHomework(ctx context.Context, req *homework.AddHomeworkRe StartDate: req.StartDate, EndDate: req.EndDate, }).InsertAndGetId() - } else if req.LiveId == 0 { + } else if req.LiveId == 0 { // 关联直播 Id, err = dao.ActivityInteractiveGroup.Ctx(ctx).Data(do.ActivityInteractiveGroup{ Name: req.Name, Status: status, @@ -70,6 +71,7 @@ func (s *sHomework) AddHomework(ctx context.Context, req *homework.AddHomeworkRe } else { return fmt.Errorf("不能同时关联文章和直播!") } + // 添加所有题目 for _, v := range req.Questions { _, err = dao.ActivityInteractiveForm.Ctx(ctx).Data(do.ActivityInteractiveForm{ Name: req.Name, @@ -84,15 +86,18 @@ func (s *sHomework) AddHomework(ctx context.Context, req *homework.AddHomeworkRe } func (s *sHomework) EditHomework(ctx context.Context, req *homework.EditHomeworkReq) (err error) { + // 判断作业是否已结束 var nowhomework *entity.ActivityInteractiveGroup err = dao.ActivityInteractiveGroup.Ctx(ctx).WherePri(req.Id).Scan(&nowhomework) if nowhomework.EndDate.Before(gtime.Now()) { return fmt.Errorf("作业已结束,无法修改!") } else { + // 判断作业是否已开始 flag := true if nowhomework.StartDate.Before(gtime.Now()) { flag = false } + // 判断提交修改表单状态 status := 0 if req.StartDate.Before(gtime.Now()) { if req.EndDate.Before(gtime.Now()) { @@ -101,6 +106,7 @@ func (s *sHomework) EditHomework(ctx context.Context, req *homework.EditHomework status = 1 } } + // 判断是否关联文章或直播 if req.ArticleId == 0 { _, err = g.Model("activity_interactive_group").Data(g.Map{ "name": req.Name, @@ -124,7 +130,7 @@ func (s *sHomework) EditHomework(ctx context.Context, req *homework.EditHomework } else { return fmt.Errorf("不能同时关联文章和直播!") } - if flag { + if flag { // 未开始 _, err = dao.ActivityInteractiveForm.Ctx(ctx).Where("group_id", req.Id).Delete() for _, v := range req.Questions { _, err = dao.ActivityInteractiveForm.Ctx(ctx).Data(do.ActivityInteractiveForm{ @@ -136,7 +142,7 @@ func (s *sHomework) EditHomework(ctx context.Context, req *homework.EditHomework GroupId: req.Id, }).Insert() } - } else { + } else { // 已开始 for _, v := range req.Questions { _, err = dao.ActivityInteractiveForm.Ctx(ctx).Data(do.ActivityInteractiveForm{ Name: req.Name,