Browse Source

考试试题

qin_1
超级管理员 4 years ago
parent
commit
9d9a43128d
  1. 150
      gin_server_admin/api/v1/archiveapi/graphicinformation.go
  2. 40
      gin_server_admin/api/v1/archiveapi/requestdata.go
  3. 2
      gin_server_admin/api/v1/enter.go
  4. 6
      gin_server_admin/api/v1/examination/enter.go
  5. 16
      gin_server_admin/api/v1/examination/exampage.go
  6. 16
      gin_server_admin/api/v1/examination/testquestions.go
  7. 8
      gin_server_admin/initialize/router.go
  8. 12
      gin_server_admin/model/testpage/myuser.go
  9. 4
      gin_server_admin/router/archive/archiverouter.go
  10. 2
      gin_server_admin/router/enter.go
  11. 7
      gin_server_admin/router/examrouter/enter.go
  12. 19
      gin_server_admin/router/examrouter/exam.go
  13. 22
      gin_server_admin/router/examrouter/ques.go

150
gin_server_admin/api/v1/archiveapi/graphicinformation.go

@ -1,12 +1,14 @@
package archiveapi package archiveapi
import ( import (
"encoding/json"
"time" "time"
"github.com/flipped-aurora/gin-vue-admin/server/commonus" "github.com/flipped-aurora/gin-vue-admin/server/commonus"
"github.com/flipped-aurora/gin-vue-admin/server/global" "github.com/flipped-aurora/gin-vue-admin/server/global"
"github.com/flipped-aurora/gin-vue-admin/server/model/archivesmodel" "github.com/flipped-aurora/gin-vue-admin/server/model/archivesmodel"
"github.com/flipped-aurora/gin-vue-admin/server/model/common/response" "github.com/flipped-aurora/gin-vue-admin/server/model/common/response"
"github.com/flipped-aurora/gin-vue-admin/server/model/testpage"
"github.com/gin-gonic/gin" "github.com/gin-gonic/gin"
) )
@ -400,3 +402,151 @@ func batchEiteArchiveFileState(arrData batchArchiveState) (isTrue bool) {
isTrue = true isTrue = true
return return
} }
//获取文档属性列表
func (g *GraphicInformation) GetArchiveFileAttributeList(c *gin.Context) {
var fileAttribute archiveFileAttr
err := c.ShouldBindJSON(&fileAttribute)
if err != nil {
response.Result(101, err, "参数错误!请重新提交!", c)
return
}
if fileAttribute.FileID == 0 {
response.Result(102, err, "参数错误!请重新提交!", c)
return
}
if fileAttribute.Type == 0 {
fileAttribute.Type = 1
}
if fileAttribute.PageSize == 0 {
fileAttribute.PageSize = 20
}
if fileAttribute.Page <= 0 {
fileAttribute.Page = 1
}
appointPages := commonus.CalculatePages(fileAttribute.Page, fileAttribute.PageSize)
var bookAttrbuteList []archivesmodel.BookAttribute
var total int64 //获取所有数据
//查询条件
whereMap := commonus.MapOut()
whereMap["b_file_id"] = fileAttribute.FileID
whereMap["b_type"] = fileAttribute.Type
whereMap["b_stater"] = 1
listErr := global.GVA_DB_BookDate.Where(whereMap).Order("`b_id` DESC").Limit(fileAttribute.PageSize).Offset(appointPages).Find(&bookAttrbuteList).Error
if listErr != nil {
response.Result(104, listErr, "数据获取失败!", c)
return
}
counrErr := global.GVA_DB_BookDate.Model(&bookAttrbuteList).Where(whereMap).Count(&total).Error
if counrErr != nil {
total = 0
}
var bookAttrContMap []archiveFileAttrOutPut
for _, bookAttrVal := range bookAttrbuteList {
var bookAttrCont archiveFileAttrOutPut
getMyInfo, myInfoIstrue := getUserInfo([]string{"worker_man.wm_number", "worker_man_data.wmd_name"}, map[string]interface{}{"wm_key": bookAttrVal.UserId})
bookAttrCont.Id = bookAttrVal.Id
bookAttrCont.FileId = bookAttrVal.FileId
bookAttrCont.UserId = bookAttrVal.UserId
bookAttrCont.Time = bookAttrVal.Time
bookAttrCont.Type = bookAttrVal.Type
bookAttrCont.Stater = bookAttrVal.Stater
bookAttrCont.EiteTime = bookAttrVal.EiteTime
bookAttrCont.Source = bookAttrVal.Source
if myInfoIstrue == true {
bookAttrCont.Number = getMyInfo.Number
bookAttrCont.Name = getMyInfo.Name
}
bookAttrContMap = append(bookAttrContMap, bookAttrCont)
}
countSum := len(bookAttrContMap)
printData := commonus.OutPutList(total, int64(countSum), fileAttribute.Page, fileAttribute.PageSize, bookAttrContMap)
// fmt.Printf("%v\n", printData)
response.Result(0, printData, "查询成功!", c)
}
//获取人员信息
func getUserInfo(field []string, whereMap map[string]interface{}) (userCont testpage.PersonalDetails, isTrue bool) {
isTrue = false
var userInfo testpage.WorkMan
userErr := global.GVA_DB_Master.Model(&userInfo).Select(field).Joins("left join worker_man_data on worker_man_data.wmd_key = worker_man.wm_key").Where(whereMap).Find(&userCont).Error
if userErr == nil {
isTrue = true
}
return
}
//获取归档评论列表
func (g *GraphicInformation) GetDiscussFileMsg(c *gin.Context) {
var fileAttribute archiveFileAttr
err := c.ShouldBindJSON(&fileAttribute)
if err != nil {
response.Result(101, err, "参数错误!请重新提交!", c)
return
}
if fileAttribute.FileID == 0 {
response.Result(102, err, "参数错误!请重新提交!", c)
return
}
if fileAttribute.Type == 0 {
fileAttribute.Type = 1
}
if fileAttribute.PageSize == 0 {
fileAttribute.PageSize = 20
}
if fileAttribute.Page <= 0 {
fileAttribute.Page = 1
}
appointPages := commonus.CalculatePages(fileAttribute.Page, fileAttribute.PageSize)
var total int64 //获取所有数据
var siscussMsg []archivesmodel.DiscussMsg
//查询条件
whereMap := commonus.MapOut()
whereMap["dis_file_id"] = fileAttribute.FileID
whereMap["dis_source"] = fileAttribute.Type
whereMap["dis_stater"] = 2
listErr := global.GVA_DB_BookDate.Where(whereMap).Order("`dis_id` DESC").Limit(fileAttribute.PageSize).Offset(appointPages).Find(&siscussMsg).Error
if listErr != nil {
response.Result(104, listErr, "数据获取失败!", c)
return
}
counrErr := global.GVA_DB_BookDate.Model(&siscussMsg).Where(whereMap).Count(&total).Error
if counrErr != nil {
total = 0
}
var bookAttrContMap []archiveFileDiscussAttrOutPut
for _, bookAttrVal := range siscussMsg {
var bookAttrCont archiveFileDiscussAttrOutPut
bookAttrCont.Id = bookAttrVal.Id
bookAttrCont.FileId = bookAttrVal.FileId
bookAttrCont.UserId = bookAttrVal.UserId
bookAttrCont.Prent = bookAttrVal.Prent
bookAttrCont.Content = bookAttrVal.Content
bookAttrCont.Time = bookAttrVal.Time
bookAttrCont.Stater = bookAttrVal.Stater
bookAttrCont.EiteTime = bookAttrVal.EiteTime
bookAttrCont.Source = bookAttrVal.Source
bookAttrCont.UserJson = bookAttrVal.UserJson
var discussJson discussJson
errDisJson := json.Unmarshal([]byte(bookAttrVal.UserJson), &discussJson)
if errDisJson == nil {
bookAttrCont.UserJsonCont = discussJson
}
getMyInfo, myInfoIstrue := getUserInfo([]string{"worker_man.wm_number", "worker_man_data.wmd_name"}, map[string]interface{}{"wm_key": bookAttrVal.UserId})
if myInfoIstrue == true {
bookAttrCont.Number = getMyInfo.Number
bookAttrCont.Name = getMyInfo.Name
}
bookAttrContMap = append(bookAttrContMap, bookAttrCont)
}
countSum := len(bookAttrContMap)
printData := commonus.OutPutList(total, int64(countSum), fileAttribute.Page, fileAttribute.PageSize, bookAttrContMap)
// fmt.Printf("%v\n", printData)
response.Result(0, printData, "查询成功!", c)
}

40
gin_server_admin/api/v1/archiveapi/requestdata.go

@ -1,6 +1,9 @@
package archiveapi package archiveapi
import "github.com/flipped-aurora/gin-vue-admin/server/commonus" import (
"github.com/flipped-aurora/gin-vue-admin/server/commonus"
"github.com/flipped-aurora/gin-vue-admin/server/model/archivesmodel"
)
//ID //ID
@ -78,3 +81,38 @@ type callBackFilesList struct {
Score int64 `json:"score"` //综合评分 Score int64 `json:"score"` //综合评分
State bool `json:"state"` //状态 State bool `json:"state"` //状态
} }
//文档属性列表
type archiveFileAttr struct {
commonus.PageSetLimt
FileID int64 `json:"fileID"`
Type int `json:"type"`
}
//文档属性列表输出
type archiveFileAttrOutPut struct {
archivesmodel.BookAttribute
Number string `json:"number"`
Name string `json:"name"`
}
//文档评论属性列表输出
type archiveFileDiscussAttrOutPut struct {
archivesmodel.DiscussMsg
Number string `json:"number"`
Name string `json:"name"`
UserJsonCont discussJson `json:"userJsonCont"`
}
//评论人员json格式
type discussJson struct {
Numbers string `json:"numbers"`
Name string `json:"name"`
Fenchang string `json:"fenchang"`
Gongduan string `json:"gongduan"`
Zhiwu string `json:"zhiwu"`
Banzu string `json:"banzu"`
Watchekey string `json:"watchekey"`
Iconurl string `json:"iconurl"`
Iconsmailurl string `json:"iconsmailurl"`
}

2
gin_server_admin/api/v1/enter.go

@ -3,6 +3,7 @@ package v1
import ( import (
"github.com/flipped-aurora/gin-vue-admin/server/api/v1/archiveapi" "github.com/flipped-aurora/gin-vue-admin/server/api/v1/archiveapi"
"github.com/flipped-aurora/gin-vue-admin/server/api/v1/autocode" "github.com/flipped-aurora/gin-vue-admin/server/api/v1/autocode"
"github.com/flipped-aurora/gin-vue-admin/server/api/v1/examination"
"github.com/flipped-aurora/gin-vue-admin/server/api/v1/example" "github.com/flipped-aurora/gin-vue-admin/server/api/v1/example"
"github.com/flipped-aurora/gin-vue-admin/server/api/v1/examtestpage" "github.com/flipped-aurora/gin-vue-admin/server/api/v1/examtestpage"
"github.com/flipped-aurora/gin-vue-admin/server/api/v1/fileuploaddownload" "github.com/flipped-aurora/gin-vue-admin/server/api/v1/fileuploaddownload"
@ -20,6 +21,7 @@ type ApiGroup struct {
WeCahtCallBackGroup wechatcallback.ApiGroup WeCahtCallBackGroup wechatcallback.ApiGroup
ArchiveApi archiveapi.ApiGroup ArchiveApi archiveapi.ApiGroup
FileUploadOrDownloadApi fileuploaddownload.ApiGroup FileUploadOrDownloadApi fileuploaddownload.ApiGroup
ExamQuestions examination.ApiGroup
} }
var ApiGroupApp = new(ApiGroup) var ApiGroupApp = new(ApiGroup)

6
gin_server_admin/api/v1/examination/enter.go

@ -0,0 +1,6 @@
package examination
type ApiGroup struct {
TestQuestions //试题相关操作
ExaminationPage //考试相关
}

16
gin_server_admin/api/v1/examination/exampage.go

@ -0,0 +1,16 @@
package examination
import (
"github.com/flipped-aurora/gin-vue-admin/server/commonus"
"github.com/flipped-aurora/gin-vue-admin/server/model/common/response"
"github.com/gin-gonic/gin"
)
//考试相关
type ExaminationPage struct{}
//首页
func (e *ExaminationPage) Index(c *gin.Context) {
outPut := commonus.MapOut()
response.Result(0, outPut, "试卷获取成功", c)
}

16
gin_server_admin/api/v1/examination/testquestions.go

@ -0,0 +1,16 @@
package examination
import (
"github.com/flipped-aurora/gin-vue-admin/server/commonus"
"github.com/flipped-aurora/gin-vue-admin/server/model/common/response"
"github.com/gin-gonic/gin"
)
//试题相关操作
type TestQuestions struct{}
//首页
func (e *TestQuestions) Index(c *gin.Context) {
outPut := commonus.MapOut()
response.Result(0, outPut, "试题获取成功", c)
}

8
gin_server_admin/initialize/router.go

@ -50,6 +50,9 @@ func Routers() *gin.Engine {
fileUpDownApi := router.RouterGroupApp.FileUpDownLoad //文件上传下载模块 fileUpDownApi := router.RouterGroupApp.FileUpDownLoad //文件上传下载模块
examtions := router.RouterGroupApp.ExamQuest.ExamRouter //考试相关
Questions := router.RouterGroupApp.ExamQuest.QuestionsRouter //试题相关
PublicGroup := Router.Group("") PublicGroup := Router.Group("")
{ {
PublicGroup.GET("/", func(c *gin.Context) { PublicGroup.GET("/", func(c *gin.Context) {
@ -74,7 +77,10 @@ func Routers() *gin.Engine {
archiveApi.InitGroupRouter(PublicGroup) // 文档管理 archiveApi.InitGroupRouter(PublicGroup) // 文档管理
fileUpDownApi.InitGroupRouter(PublicGroup) fileUpDownApi.InitGroupRouter(PublicGroup) //文档上传与下载
examtions.InitGroupRouter(PublicGroup) //考试相关
Questions.InitGroupRouter(PublicGroup) //试题相关
} }
PrivateGroup := Router.Group("") PrivateGroup := Router.Group("")
PrivateGroup.Use(middleware.JWTAuth()).Use(middleware.CasbinHandler()) PrivateGroup.Use(middleware.JWTAuth()).Use(middleware.CasbinHandler())

12
gin_server_admin/model/testpage/myuser.go

@ -29,7 +29,7 @@ func (WorkMan *WorkMan) TableName() string {
//个人信息附表 //个人信息附表
type WorkManAttribute struct { type WorkManAttribute struct {
Key int64 `json:"key" gorm:"column:wmd_key;type:bigint(50) unsigned;default:0;not null;comment:唯一识别符"` KeyAttr int64 `json:"key" gorm:"column:wmd_key;type:bigint(50) unsigned;default:0;not null;comment:唯一识别符"`
Name string `json:"name" gorm:"column:wmd_name;type:varchar(50);not null;comment:姓名"` Name string `json:"name" gorm:"column:wmd_name;type:varchar(50);not null;comment:姓名"`
Gender int `json:"gender" gorm:"column:wmd_gender;type:tinyint(1) unsigned;default:1;not null;comment:性别(1:男;2:女)"` Gender int `json:"gender" gorm:"column:wmd_gender;type:tinyint(1) unsigned;default:1;not null;comment:性别(1:男;2:女)"`
Age int `json:"age" gorm:"column:wmd_age;type:tinyint(3) unsigned;default:1;not null;comment:年龄"` Age int `json:"age" gorm:"column:wmd_age;type:tinyint(3) unsigned;default:1;not null;comment:年龄"`
@ -39,8 +39,8 @@ type WorkManAttribute struct {
CertificatesNum string `json:"certificatesNum" gorm:"column:wmd_certificates_number;type:varbinary(50);comment:证件编号"` CertificatesNum string `json:"certificatesNum" gorm:"column:wmd_certificates_number;type:varbinary(50);comment:证件编号"`
Birthday int64 `json:"birthday" gorm:"column:wmd_birthday;type:bigint(20) unsigned;default:0;not null;comment:出生日期"` Birthday int64 `json:"birthday" gorm:"column:wmd_birthday;type:bigint(20) unsigned;default:0;not null;comment:出生日期"`
EntryTime int64 `json:"entryTime" gorm:"column:wmd_entry_time;type:bigint(20) unsigned;default:0;not null;comment:入职日期"` EntryTime int64 `json:"entryTime" gorm:"column:wmd_entry_time;type:bigint(20) unsigned;default:0;not null;comment:入职日期"`
QuitTime int64 `json:"quitTime" gorm:"column:wmd_quit_time;type:bigint(20) unsigned;default:0;not null;comment:离职日期"` QuitTimeAttr int64 `json:"quitTime" gorm:"column:wmd_quit_time;type:bigint(20) unsigned;default:0;not null;comment:离职日期"`
EiteTime int64 `json:"eiteTime" gorm:"column:wmd_eite_time;type:bigint(20) unsigned;default:0;not null;comment:修改时间"` EiteTimeAttr int64 `json:"eiteTime" gorm:"column:wmd_eite_time;type:bigint(20) unsigned;default:0;not null;comment:修改时间"`
Addrest string `json:"addrest" gorm:"column:wmd_addrest;type:varchar(255);comment:家庭住址"` Addrest string `json:"addrest" gorm:"column:wmd_addrest;type:varchar(255);comment:家庭住址"`
Icon string `json:"icon" gorm:"column:wmd_icon;type:varchar(255);comment:照片"` Icon string `json:"icon" gorm:"column:wmd_icon;type:varchar(255);comment:照片"`
NickName string `json:"nickName" gorm:"column:wmd_nickname;type:varchar(255);comment:昵称"` NickName string `json:"nickName" gorm:"column:wmd_nickname;type:varchar(255);comment:昵称"`
@ -49,3 +49,9 @@ type WorkManAttribute struct {
func (WorkManAttribute *WorkManAttribute) TableName() string { func (WorkManAttribute *WorkManAttribute) TableName() string {
return "worker_man_data" return "worker_man_data"
} }
//个人详细信息
type PersonalDetails struct {
WorkMan
WorkManAttribute
}

4
gin_server_admin/router/archive/archiverouter.go

@ -32,5 +32,9 @@ func (a *ArchiveStruct) InitGroupRouter(Router *gin.RouterGroup) {
groupCodeRouter.POST("eitearchivefileinfo", arcjiveFileApi.EiteArchiveFileInfo) //修改文章内容 groupCodeRouter.POST("eitearchivefileinfo", arcjiveFileApi.EiteArchiveFileInfo) //修改文章内容
groupCodeRouter.POST("modifyArchiveFileInfo", arcjiveFileApi.ModifyArchiveFileInfo) //修改文章内容 groupCodeRouter.POST("modifyArchiveFileInfo", arcjiveFileApi.ModifyArchiveFileInfo) //修改文章内容
groupCodeRouter.POST("batchdeletearchivefile", arcjiveFileApi.BatchDeleteArchiveFile) //批量处理文章内容 groupCodeRouter.POST("batchdeletearchivefile", arcjiveFileApi.BatchDeleteArchiveFile) //批量处理文章内容
groupCodeRouter.POST("getArchivefileattributelist", arcjiveFileApi.GetArchiveFileAttributeList) //查询文档属性
groupCodeRouter.POST("getdiscussfilemsg", arcjiveFileApi.GetDiscussFileMsg) //查询文档评论
} }
} }

2
gin_server_admin/router/enter.go

@ -4,6 +4,7 @@ import (
"github.com/flipped-aurora/gin-vue-admin/server/router/archive" "github.com/flipped-aurora/gin-vue-admin/server/router/archive"
"github.com/flipped-aurora/gin-vue-admin/server/router/autocode" "github.com/flipped-aurora/gin-vue-admin/server/router/autocode"
"github.com/flipped-aurora/gin-vue-admin/server/router/example" "github.com/flipped-aurora/gin-vue-admin/server/router/example"
"github.com/flipped-aurora/gin-vue-admin/server/router/examrouter"
"github.com/flipped-aurora/gin-vue-admin/server/router/examtestpage" "github.com/flipped-aurora/gin-vue-admin/server/router/examtestpage"
"github.com/flipped-aurora/gin-vue-admin/server/router/shiyan" "github.com/flipped-aurora/gin-vue-admin/server/router/shiyan"
"github.com/flipped-aurora/gin-vue-admin/server/router/system" "github.com/flipped-aurora/gin-vue-admin/server/router/system"
@ -20,6 +21,7 @@ type RouterGroup struct {
WeChatCallBacl wechatcallbackrouter.RouterGroup WeChatCallBacl wechatcallbackrouter.RouterGroup
ArchiveStructApi archive.RouterGroup ArchiveStructApi archive.RouterGroup
FileUpDownLoad uploaddownload.RouterGroup //文件上传下载 FileUpDownLoad uploaddownload.RouterGroup //文件上传下载
ExamQuest examrouter.RouterGroup
} }
var RouterGroupApp = new(RouterGroup) var RouterGroupApp = new(RouterGroup)

7
gin_server_admin/router/examrouter/enter.go

@ -0,0 +1,7 @@
package examrouter
//考试相关路由
type RouterGroup struct {
ExamRouter
QuestionsRouter
}

19
gin_server_admin/router/examrouter/exam.go

@ -0,0 +1,19 @@
package examrouter
import (
v1 "github.com/flipped-aurora/gin-vue-admin/server/api/v1"
"github.com/gin-gonic/gin"
)
type ExamRouter struct{}
func (e *ExamRouter) InitGroupRouter(Router *gin.RouterGroup) {
groupCodeRouter := Router.Group("exam")
var authorityApi = v1.ApiGroupApp.ExamQuestions.ExaminationPage
{
groupCodeRouter.POST("", authorityApi.Index) //考试
groupCodeRouter.POST("/", authorityApi.Index) //考试
groupCodeRouter.GET("", authorityApi.Index) //考试
groupCodeRouter.GET("/", authorityApi.Index) //考试
}
}

22
gin_server_admin/router/examrouter/ques.go

@ -0,0 +1,22 @@
package examrouter
import (
v1 "github.com/flipped-aurora/gin-vue-admin/server/api/v1"
"github.com/gin-gonic/gin"
)
//试题相关
type QuestionsRouter struct{}
func (e *QuestionsRouter) InitGroupRouter(Router *gin.RouterGroup) {
groupCodeRouterQues := Router.Group("quest")
var authorityApiQues = v1.ApiGroupApp.ExamQuestions.TestQuestions
{
groupCodeRouterQues.POST("", authorityApiQues.Index) //试题
groupCodeRouterQues.POST("/", authorityApiQues.Index) //试题
groupCodeRouterQues.GET("", authorityApiQues.Index) //试题
groupCodeRouterQues.GET("/", authorityApiQues.Index) //试题
}
}
Loading…
Cancel
Save