Browse Source

1月4日,调整查询提交明细接口逻辑,给cmd添加注释,

dev
lijikun 4 months ago
parent
commit
ba72634d7a
  1. 35
      link_homework/internal/cmd/cmd.go
  2. 1
      link_homework/internal/controller/clientPage/clientPage.go
  3. 107
      link_homework/internal/logic/record/record.go
  4. 2
      link_homework/internal/service/record.go

35
link_homework/internal/cmd/cmd.go

@ -29,35 +29,28 @@ var (
group.POST("/logout", auth.NewLoginController().Logout) group.POST("/logout", auth.NewLoginController().Logout)
}) })
s.Group("/api/homework_manage", func(group *ghttp.RouterGroup) { s.Group("/api/homework_manage", func(group *ghttp.RouterGroup) {
//group.Middleware(middleware.MiddlewareCORS)
group.Middleware(middleware.MiddlewareIsLogin) group.Middleware(middleware.MiddlewareIsLogin)
//gfToken.Middleware(ctx, group)
//直接写接口,不用再分组 //直接写接口,不用再分组
group.POST("/getrecordlist", record.NewManageRecord().GetRecordList)
group.POST("/getrecordbycondition", record.NewManageRecord().GetRecordByCondition)
group.POST("/getdeptinfo", record.NewManageRecord().GetDeptInfo)
group.POST("/getshopinfo", record.NewManageRecord().GetShopInfo)
group.POST("/get-homework-list", homework.Homework().GetHomeworkList)
group.POST("/get-homework", homework.Homework().GetHomework)
group.POST("/add-homework", homework.Homework().AddHomework)
group.POST("/edit-homework", homework.Homework().EditHomework)
group.ALL("/get-article-list", article.Article().GetArticleList)
group.ALL("/get-live-list", live.Live().GetLiveList)
//group.POST("/getrecordlist", record.NewManageRecord().GetRecordList) //无条件全查 已经用不到了
group.POST("/getrecordbycondition", record.NewManageRecord().GetRecordByCondition) //查询提交明细, 可用于全查,也可以条件查询
group.POST("/getdeptinfo", record.NewManageRecord().GetDeptInfo) //查询部门信息
group.POST("/getshopinfo", record.NewManageRecord().GetShopInfo) //查询门店信息
group.POST("/get-homework-list", homework.Homework().GetHomeworkList) //查询作业列表
group.POST("/get-homework", homework.Homework().GetHomework) //查询作业详情
group.POST("/add-homework", homework.Homework().AddHomework) //添加作业
group.POST("/edit-homework", homework.Homework().EditHomework) //编辑作业
group.ALL("/get-article-list", article.Article().GetArticleList) //查询文章列表
group.ALL("/get-live-list", live.Live().GetLiveList) //查询直播列表
//导出excel //导出excel
//group.ALL("/export-record", record.NewExportRecord().ExportRecordByCondition)
//group.POST("/exceleexport", record.NewManageRecord().ExeclExport)
group.ALL("export-record", record.NewManageRecord().ExportRecordByCondition)
group.ALL("export-record", record.NewManageRecord().ExportRecordByCondition) //导出
}) })
//客户端 //客户端
s.Group("/api/homework_client", func(group *ghttp.RouterGroup) { s.Group("/api/homework_client", func(group *ghttp.RouterGroup) {
//group.Middleware(middleware.MiddlewareCORS)
//group.Middleware(middleware.MiddlewareIsLogin)
group.Middleware(middleware.MiddlewareIsLoginClient) group.Middleware(middleware.MiddlewareIsLoginClient)
//gfToken.Middleware(ctx, group)
//直接写接口,不用再分组 //直接写接口,不用再分组
group.POST("/gethomeworklist", clientPage.NewClientPage().GetHomeworkList)
group.POST("/gethomeworkquestion", clientPage.NewClientPage().GetHomeworkQuestion)
group.POST("/commithomework", clientPage.NewClientPage().CommitHomework)
group.POST("/gethomeworklist", clientPage.NewClientPage().GetHomeworkList) //查询作业列表
group.POST("/gethomeworkquestion", clientPage.NewClientPage().GetHomeworkQuestion) //查询作业题目
group.POST("/commithomework", clientPage.NewClientPage().CommitHomework) //提交作业
}) })
s.Run() s.Run()

1
link_homework/internal/controller/clientPage/clientPage.go

@ -16,6 +16,7 @@ func NewClientPage() *ClientPage {
// 查询作业列表 // 查询作业列表
func (c *ClientPage) GetHomeworkList(r *ghttp.Request) { func (c *ClientPage) GetHomeworkList(r *ghttp.Request) {
// 获取请求头中的token // 获取请求头中的token
token := r.Header.Get("token") token := r.Header.Get("token")
// 调用utility包中的GetJwcodeJSON函数,传入token,获取jwcode // 调用utility包中的GetJwcodeJSON函数,传入token,获取jwcode

107
link_homework/internal/logic/record/record.go

@ -71,72 +71,61 @@ func (s *sRecord) GetRecordList(ctx context.Context, groupId, pageNo, pageSize i
return return
} }
// 根据条件查询 对所有结果进行筛选
// 查询作业提交明细,包含条件查询
func (s *sRecord) GetRecordByCondition(ctx context.Context, groupId, jwcode int, deptId, shopId string, pageNo, pageSize int) (record []pkgRecord.GetRecordListRes, err error) { func (s *sRecord) GetRecordByCondition(ctx context.Context, groupId, jwcode int, deptId, shopId string, pageNo, pageSize int) (record []pkgRecord.GetRecordListRes, err error) {
//全查
recordList, err := s.GetRecordList(ctx, groupId, pageNo, pageSize)
query := dao.ActivityInteractiveRecord.Ctx(ctx).Fields("jwcode").Where("group_id", groupId).Group("jwcode")
//增加条件筛选
if jwcode != 0 {
query = query.Where("jwcode", jwcode)
}
if deptId != "" {
query = query.Where("deptId", deptId)
}
if shopId != "" {
query = query.Where("shopId", shopId)
}
//分页处理
if pageNo > 0 && pageSize > 0 {
query = query.Page(pageNo, pageSize)
}
err = query.Scan(&record)
if err != nil { if err != nil {
return recordList, err
return nil, errors.New("查询作业提交明细中jwcode失败")
} }
//判断传来的jwcode, deptId, shopId是否为空,根据情况进行不同的筛选
if jwcode == 0 { //没有传jwcode
if deptId == "" && shopId == "" { //000
return recordList, err
} else if deptId != "" && shopId == "" { //010
for _, info := range recordList {
if info.DeptId == deptId {
record = append(record, info)
}
}
if record == nil {
return nil, errors.New("只部门没有查询到相关记录")
}
return record, err
} else if deptId != "" && shopId != "" { //011
for _, info := range recordList {
if info.DeptId == deptId && info.ShopId == shopId {
record = append(record, info)
}
}
if record == nil {
return nil, errors.New("部门,门店 没有查询到相关记录")
}
return record, err
//补充详细信息逻辑:根据jwcode在member_info表中查询姓名(name), 部门id(deptId), 部门名(deptName), 门店id(shopId), 门店名(shopName)
for i, info := range record {
err = g.DB("cms").Model("member_info").Fields("jwcode", "name", "deptId", "deptName", "shopId", "shopName").
Where("jwcode", info.Jwcode).Scan(&record[i])
if err != nil {
return nil, errors.New("无条件根据jwcode查member_info表失败")
} }
} else { //传了jwcode
if deptId == "" && shopId == "" { //100
for _, info := range recordList {
if info.Jwcode == jwcode {
record = append(record, info)
}
}
if record == nil {
return nil, errors.New("只精网号没有查询到相关记录")
}
return record, err
} else if deptId != "" && shopId == "" { //110
for _, info := range recordList {
if info.Jwcode == jwcode && info.DeptId == deptId {
record = append(record, info)
}
}
if record == nil {
return nil, errors.New("精网号,部门 没有查询到相关记录")
}
return record, err
} else if deptId != "" && shopId != "" { //111
for _, info := range recordList {
if info.Jwcode == jwcode && info.DeptId == deptId && info.ShopId == shopId {
record = append(record, info)
}
}
if record == nil {
return nil, errors.New("精网号,部门,门店 没有查询到相关记录")
total, err1 := dao.ActivityInteractiveRecord.Ctx(ctx).Fields("jwcode").Where("group_id", groupId).Group("jwcode").Count()
if err1 != nil {
return nil, errors.New("无条件查询总数失败")
}
record[i].Total = total
//根据jwcode,groupId在record表中查询最新的提交记录进行存放
var recordInfo []dto.RecordInfo
err = dao.ActivityInteractiveRecord.Ctx(ctx).Fields("content", "content_title", "updated_at", "form_id").
Where("jwcode", info.Jwcode).Where("group_id", groupId).Group("form_id").Order("updated_at desc").Scan(&recordInfo)
if err != nil {
return nil, errors.New("根据jwcode查询提交记录失败")
}
for i, title := range recordInfo {
err = dao.ActivityInteractiveForm.Ctx(ctx).Fields("description", "type").Where("id", title.FormId).Scan(&recordInfo[i])
if err != nil {
return nil, errors.New("根据jwcode查询作业题目信息失败")
} }
return record, err
} }
record[i].Reply = recordInfo
//fmt.Println(record)
} }
return nil, errors.New("检查一下穿的参数是否正常")
return
} }
// 查询部门信息 // 查询部门信息

2
link_homework/internal/service/record.go

@ -16,7 +16,7 @@ type (
IRecord interface { IRecord interface {
// 无条件全查 // 无条件全查
GetRecordList(ctx context.Context, groupId int, pageNo int, pageSize int) (record []pkgRecord.GetRecordListRes, err error) GetRecordList(ctx context.Context, groupId int, pageNo int, pageSize int) (record []pkgRecord.GetRecordListRes, err error)
// 根据条件查询 对所有结果进行筛选
// 查询作业提交明细,包含条件查询
GetRecordByCondition(ctx context.Context, groupId int, jwcode int, deptId string, shopId string, pageNo int, pageSize int) (record []pkgRecord.GetRecordListRes, err error) GetRecordByCondition(ctx context.Context, groupId int, jwcode int, deptId string, shopId string, pageNo int, pageSize int) (record []pkgRecord.GetRecordListRes, err error)
// 查询部门信息 // 查询部门信息
GetDeptInfo(ctx context.Context) (depts []pkgRecord.GetDeptInfoRes, err error) GetDeptInfo(ctx context.Context) (depts []pkgRecord.GetDeptInfoRes, err error)

Loading…
Cancel
Save