Browse Source

12月18日调整logic层与service层名字,功能未变动

client_ljk
lijikun 5 months ago
parent
commit
76445706a7
  1. 23
      link_homework/internal/controller/clientPage/clientPage.go
  2. 0
      link_homework/internal/logic/homework/.gitkeep
  3. 2
      link_homework/internal/logic/logic.go
  4. 30
      link_homework/internal/logic/record/record.go
  5. 16
      link_homework/internal/service/record.go
  6. 2
      link_homework/manifest/config/config.yaml

23
link_homework/internal/controller/clientPage/clientPage.go

@ -16,7 +16,7 @@ func NewClientPage() *ClientPage {
// 查询作业列表 // 查询作业列表
func (c *ClientPage) GetHomeworkList(r *ghttp.Request) { func (c *ClientPage) GetHomeworkList(r *ghttp.Request) {
//请求中不需要携带任何参数 //请求中不需要携带任何参数
result, err := service.Homework().GetHomeworkList(r.Context())
result, err := service.Record().GetHomeworkList(r.Context())
if err != nil { if err != nil {
r.Response.WriteJsonExit(dto.Result{ r.Response.WriteJsonExit(dto.Result{
Code: 400, Code: 400,
@ -40,7 +40,7 @@ func (c *ClientPage) GetHomeworkQuestion(r *ghttp.Request) {
}) })
} }
groupId := req.Id groupId := req.Id
result, err := service.Homework().GetHomeworkQuestion(r.Context(), groupId)
result, err := service.Record().GetHomeworkQuestion(r.Context(), groupId)
if err != nil { if err != nil {
r.Response.WriteJsonExit(dto.Result{ r.Response.WriteJsonExit(dto.Result{
Code: 400, Code: 400,
@ -64,7 +64,7 @@ func (c *ClientPage) CommitHomework(r *ghttp.Request) {
}) })
} }
err := service.Homework().CommitHomework(r.Context(), req, jwcode)
err := service.Record().CommitHomework(r.Context(), req, jwcode)
if err != nil { if err != nil {
r.Response.WriteJsonExit(dto.Result{ r.Response.WriteJsonExit(dto.Result{
Code: 400, Code: 400,
@ -73,21 +73,6 @@ func (c *ClientPage) CommitHomework(r *ghttp.Request) {
} }
r.Response.WriteJsonExit(dto.Result{ r.Response.WriteJsonExit(dto.Result{
Code: 200, Code: 200,
Message: "success",
Message: "提交作业成功",
}) })
//
//parts := strings.SplitN(answer, ",", 2)
//// 使用正则表达式提取汉字部分
//re := regexp.MustCompile(`[\p{Han}]+`)
//matches := re.FindAllString(parts[0], -1)
//// 将 matches 转换为数组
//
//contentTitle := matches[0]
//fmt.Println(contentTitle)
//re = regexp.MustCompile(`"insert":"(.*?)"`)
//matches = re.FindStringSubmatch(parts[1])
//content := matches[1]
//fmt.Println(content)
} }

0
link_homework/internal/logic/homework/.gitkeep

2
link_homework/internal/logic/logic.go

@ -1,5 +1,5 @@
package logic package logic
import ( import (
_ "link_homework/internal/logic/homework"
_ "link_homework/internal/logic/record"
) )

30
link_homework/internal/logic/homework/homeworkList.go → link_homework/internal/logic/record/record.go

@ -10,13 +10,13 @@ import (
"link_homework/internal/service" "link_homework/internal/service"
) )
type sHomework struct{}
type sRecord struct{}
func init() { func init() {
service.RegisterHomework(&sHomework{})
service.RegisterRecord(&sRecord{})
} }
func (s *sHomework) GetHomeworkList(ctx context.Context) (homeworkList []ClientPage.GetHomeworkListRse, err error) {
func (s *sRecord) GetHomeworkList(ctx context.Context) (homeworkList []ClientPage.GetHomeworkListRse, err error) {
var jwcode = 90038794 //需要从token中获取当前的数据 var jwcode = 90038794 //需要从token中获取当前的数据
err = dao.ActivityInteractiveGroup.Ctx(ctx).Fields("id", "name", "DATE_FORMAT(end_date, '%Y-%m-%d') as end_date"). 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) Where("end_date>?", gtime.Now()).OrderDesc("end_date").Scan(&homeworkList)
@ -31,7 +31,7 @@ func (s *sHomework) GetHomeworkList(ctx context.Context) (homeworkList []ClientP
fmt.Println("提交记录数查询失败:", err) fmt.Println("提交记录数查询失败:", err)
return return
} }
num, err1 := dao.ActivityInteractiveForm.Ctx(ctx).Where("group", item.Id).Count()
num, err1 := dao.ActivityInteractiveForm.Ctx(ctx).Where("group_id", item.Id).Count()
if err1 != nil { if err1 != nil {
fmt.Println("题目数查询失败:", err1) fmt.Println("题目数查询失败:", err1)
return return
@ -41,40 +41,46 @@ func (s *sHomework) GetHomeworkList(ctx context.Context) (homeworkList []ClientP
return return
} }
func (s *sHomework) GetHomeworkQuestion(ctx context.Context, groupId int) (questions []ClientPage.GetHomeworkQuestionRes, err error) {
func (s *sRecord) GetHomeworkQuestion(ctx context.Context, groupId int) (questions []ClientPage.GetHomeworkQuestionRes, err error) {
err = dao.ActivityInteractiveForm.Ctx(ctx).Fields("id", "name", "content", "status", "type"). err = dao.ActivityInteractiveForm.Ctx(ctx).Fields("id", "name", "content", "status", "type").
Where("group_id", groupId).Scan(&questions) Where("group_id", groupId).Scan(&questions)
return return
} }
func (s *sHomework) CommitHomework(ctx context.Context, req ClientPage.CommitHomeworkReq, jwcode int) (err error) {
func (s *sRecord) CommitHomework(ctx context.Context, req ClientPage.CommitHomeworkReq, jwcode int) (err error) {
//req中需要有:作业id,提交的每一个题的答案,每一个提的类型 //req中需要有:作业id,提交的每一个题的答案,每一个提的类型
for _, answer := range req.CommitedAnswer { for _, answer := range req.CommitedAnswer {
if answer.Type == 1 { //单选或者多选 if answer.Type == 1 { //单选或者多选
num, err := dao.ActivityInteractiveRecord.Ctx(ctx).Data(g.Map{
_, err := dao.ActivityInteractiveRecord.Ctx(ctx).Data(g.Map{
"jwcode": jwcode, "jwcode": jwcode,
"form_id": answer.Id, "form_id": answer.Id,
"group_id": req.GroupId, "group_id": req.GroupId,
"content": answer.Answer[0], "content": answer.Answer[0],
}).Insert() }).Insert()
fmt.Println(num, err)
if err != nil {
return err
}
} else if answer.Type == 2 { //多选 } else if answer.Type == 2 { //多选
num, err := dao.ActivityInteractiveRecord.Ctx(ctx).Data(g.Map{
_, err := dao.ActivityInteractiveRecord.Ctx(ctx).Data(g.Map{
"jwcode": jwcode, "jwcode": jwcode,
"form_id": answer.Id, "form_id": answer.Id,
"group_id": req.GroupId, "group_id": req.GroupId,
"content": answer.Answer, "content": answer.Answer,
}).Insert() }).Insert()
fmt.Println(num, err)
if err != nil {
return err
}
} else if answer.Type == 3 { //简答 } else if answer.Type == 3 { //简答
num, err := dao.ActivityInteractiveRecord.Ctx(ctx).Data(g.Map{
_, err := dao.ActivityInteractiveRecord.Ctx(ctx).Data(g.Map{
"jwcode": jwcode, "jwcode": jwcode,
"form_id": answer.Id, "form_id": answer.Id,
"group_id": req.GroupId, "group_id": req.GroupId,
"content_title": answer.Answer[0], "content_title": answer.Answer[0],
"content": answer.Answer[1], "content": answer.Answer[1],
}).Insert() }).Insert()
fmt.Println(num, err)
if err != nil {
return err
}
} }
} }
return return

16
link_homework/internal/service/homework.go → link_homework/internal/service/record.go

@ -11,7 +11,7 @@ import (
) )
type ( type (
IHomework interface {
IRecord interface {
GetHomeworkList(ctx context.Context) (homeworkList []ClientPage.GetHomeworkListRse, err error) GetHomeworkList(ctx context.Context) (homeworkList []ClientPage.GetHomeworkListRse, err error)
GetHomeworkQuestion(ctx context.Context, groupId int) (questions []ClientPage.GetHomeworkQuestionRes, err error) GetHomeworkQuestion(ctx context.Context, groupId int) (questions []ClientPage.GetHomeworkQuestionRes, err error)
CommitHomework(ctx context.Context, req ClientPage.CommitHomeworkReq, jwcode int) (err error) CommitHomework(ctx context.Context, req ClientPage.CommitHomeworkReq, jwcode int) (err error)
@ -19,16 +19,16 @@ type (
) )
var ( var (
localHomework IHomework
localRecord IRecord
) )
func Homework() IHomework {
if localHomework == nil {
panic("implement not found for interface IHomework, forgot register?")
func Record() IRecord {
if localRecord == nil {
panic("implement not found for interface IRecord, forgot register?")
} }
return localHomework
return localRecord
} }
func RegisterHomework(i IHomework) {
localHomework = i
func RegisterRecord(i IRecord) {
localRecord = i
} }

2
link_homework/manifest/config/config.yaml

@ -17,5 +17,3 @@ database:
cms: cms:
link: "mysql:cms:AF42R3ib6YkFaemm@tcp(39.101.133.168:3306)/cms?charset=utf8mb4&parseTime=True&loc=Local" link: "mysql:cms:AF42R3ib6YkFaemm@tcp(39.101.133.168:3306)/cms?charset=utf8mb4&parseTime=True&loc=Local"
debug: true debug: true
# redis暂不配置,记得加
Loading…
Cancel
Save