diff --git a/gin_server_admin/api/v1/archiveapi/graphicinformation.go b/gin_server_admin/api/v1/archiveapi/graphicinformation.go index 1e0f997..e462d3a 100644 --- a/gin_server_admin/api/v1/archiveapi/graphicinformation.go +++ b/gin_server_admin/api/v1/archiveapi/graphicinformation.go @@ -1,12 +1,14 @@ package archiveapi import ( + "encoding/json" "time" "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/model/archivesmodel" "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" ) @@ -400,3 +402,151 @@ func batchEiteArchiveFileState(arrData batchArchiveState) (isTrue bool) { isTrue = true 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) +} diff --git a/gin_server_admin/api/v1/archiveapi/requestdata.go b/gin_server_admin/api/v1/archiveapi/requestdata.go index 7f97b6e..970c53a 100644 --- a/gin_server_admin/api/v1/archiveapi/requestdata.go +++ b/gin_server_admin/api/v1/archiveapi/requestdata.go @@ -1,6 +1,9 @@ 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 @@ -78,3 +81,38 @@ type callBackFilesList struct { Score int64 `json:"score"` //综合评分 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"` +} diff --git a/gin_server_admin/api/v1/enter.go b/gin_server_admin/api/v1/enter.go index 0285b1f..b35adc9 100644 --- a/gin_server_admin/api/v1/enter.go +++ b/gin_server_admin/api/v1/enter.go @@ -3,6 +3,7 @@ package v1 import ( "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/examination" "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/fileuploaddownload" @@ -20,6 +21,7 @@ type ApiGroup struct { WeCahtCallBackGroup wechatcallback.ApiGroup ArchiveApi archiveapi.ApiGroup FileUploadOrDownloadApi fileuploaddownload.ApiGroup + ExamQuestions examination.ApiGroup } var ApiGroupApp = new(ApiGroup) diff --git a/gin_server_admin/api/v1/examination/enter.go b/gin_server_admin/api/v1/examination/enter.go new file mode 100644 index 0000000..b6ea5bd --- /dev/null +++ b/gin_server_admin/api/v1/examination/enter.go @@ -0,0 +1,6 @@ +package examination + +type ApiGroup struct { + TestQuestions //试题相关操作 + ExaminationPage //考试相关 +} diff --git a/gin_server_admin/api/v1/examination/exampage.go b/gin_server_admin/api/v1/examination/exampage.go new file mode 100644 index 0000000..22396ff --- /dev/null +++ b/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) +} diff --git a/gin_server_admin/api/v1/examination/testquestions.go b/gin_server_admin/api/v1/examination/testquestions.go new file mode 100644 index 0000000..c46a7dd --- /dev/null +++ b/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) +} diff --git a/gin_server_admin/initialize/router.go b/gin_server_admin/initialize/router.go index da9a922..f108e8e 100644 --- a/gin_server_admin/initialize/router.go +++ b/gin_server_admin/initialize/router.go @@ -50,6 +50,9 @@ func Routers() *gin.Engine { fileUpDownApi := router.RouterGroupApp.FileUpDownLoad //文件上传下载模块 + examtions := router.RouterGroupApp.ExamQuest.ExamRouter //考试相关 + Questions := router.RouterGroupApp.ExamQuest.QuestionsRouter //试题相关 + PublicGroup := Router.Group("") { PublicGroup.GET("/", func(c *gin.Context) { @@ -74,7 +77,10 @@ func Routers() *gin.Engine { archiveApi.InitGroupRouter(PublicGroup) // 文档管理 - fileUpDownApi.InitGroupRouter(PublicGroup) + fileUpDownApi.InitGroupRouter(PublicGroup) //文档上传与下载 + + examtions.InitGroupRouter(PublicGroup) //考试相关 + Questions.InitGroupRouter(PublicGroup) //试题相关 } PrivateGroup := Router.Group("") PrivateGroup.Use(middleware.JWTAuth()).Use(middleware.CasbinHandler()) diff --git a/gin_server_admin/model/testpage/myuser.go b/gin_server_admin/model/testpage/myuser.go index 92c0e9f..abc96f2 100644 --- a/gin_server_admin/model/testpage/myuser.go +++ b/gin_server_admin/model/testpage/myuser.go @@ -29,7 +29,7 @@ func (WorkMan *WorkMan) TableName() string { //个人信息附表 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:姓名"` 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:年龄"` @@ -39,8 +39,8 @@ type WorkManAttribute struct { 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:出生日期"` 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:离职日期"` - EiteTime int64 `json:"eiteTime" gorm:"column:wmd_eite_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:离职日期"` + 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:家庭住址"` Icon string `json:"icon" gorm:"column:wmd_icon;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 { return "worker_man_data" } + +//个人详细信息 +type PersonalDetails struct { + WorkMan + WorkManAttribute +} diff --git a/gin_server_admin/router/archive/archiverouter.go b/gin_server_admin/router/archive/archiverouter.go index e268dc2..8c5d3a9 100644 --- a/gin_server_admin/router/archive/archiverouter.go +++ b/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("modifyArchiveFileInfo", arcjiveFileApi.ModifyArchiveFileInfo) //修改文章内容 groupCodeRouter.POST("batchdeletearchivefile", arcjiveFileApi.BatchDeleteArchiveFile) //批量处理文章内容 + + groupCodeRouter.POST("getArchivefileattributelist", arcjiveFileApi.GetArchiveFileAttributeList) //查询文档属性 + groupCodeRouter.POST("getdiscussfilemsg", arcjiveFileApi.GetDiscussFileMsg) //查询文档评论 + } } diff --git a/gin_server_admin/router/enter.go b/gin_server_admin/router/enter.go index 917c0d7..040ecf6 100644 --- a/gin_server_admin/router/enter.go +++ b/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/autocode" "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/shiyan" "github.com/flipped-aurora/gin-vue-admin/server/router/system" @@ -20,6 +21,7 @@ type RouterGroup struct { WeChatCallBacl wechatcallbackrouter.RouterGroup ArchiveStructApi archive.RouterGroup FileUpDownLoad uploaddownload.RouterGroup //文件上传下载 + ExamQuest examrouter.RouterGroup } var RouterGroupApp = new(RouterGroup) diff --git a/gin_server_admin/router/examrouter/enter.go b/gin_server_admin/router/examrouter/enter.go new file mode 100644 index 0000000..54b1729 --- /dev/null +++ b/gin_server_admin/router/examrouter/enter.go @@ -0,0 +1,7 @@ +package examrouter + +//考试相关路由 +type RouterGroup struct { + ExamRouter + QuestionsRouter +} diff --git a/gin_server_admin/router/examrouter/exam.go b/gin_server_admin/router/examrouter/exam.go new file mode 100644 index 0000000..a4d08fe --- /dev/null +++ b/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) //考试 + } +} diff --git a/gin_server_admin/router/examrouter/ques.go b/gin_server_admin/router/examrouter/ques.go new file mode 100644 index 0000000..fb818eb --- /dev/null +++ b/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) //试题 + + } +}