修改题目状态
This commit is contained in:
parent
e668b9232d
commit
44818c206b
@ -172,6 +172,69 @@ func (r *Question) PutQuestion(c *gin.Context) {
|
|||||||
responses.Ok(c)
|
responses.Ok(c)
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// PutQuestionStatus 修改题目状态
|
||||||
|
func (b *Question) PutQuestionStatus(c *gin.Context) {
|
||||||
|
questionRequest := requests.QuestionRequest{}
|
||||||
|
req := questionRequest.PutQuestionStatus
|
||||||
|
if err := c.ShouldBind(&req); err != nil {
|
||||||
|
responses.FailWithMessage(err.Error(), c)
|
||||||
|
return
|
||||||
|
}
|
||||||
|
|
||||||
|
// 参数验证
|
||||||
|
if err := global.Validate.Struct(req); err != nil {
|
||||||
|
responses.FailWithMessage(utils.Translate(err), c)
|
||||||
|
return
|
||||||
|
}
|
||||||
|
|
||||||
|
id := c.Param("question_id")
|
||||||
|
if id == "" {
|
||||||
|
responses.FailWithMessage("缺少参数", c)
|
||||||
|
return
|
||||||
|
}
|
||||||
|
|
||||||
|
// 将 id 转换为 int64 类型
|
||||||
|
questionId, err := strconv.ParseInt(id, 10, 64)
|
||||||
|
if err != nil {
|
||||||
|
responses.Fail(c)
|
||||||
|
return
|
||||||
|
}
|
||||||
|
|
||||||
|
// 获取基础分类数据
|
||||||
|
questionDao := dao.QuestionDao{}
|
||||||
|
question, err := questionDao.GetQuestionById(questionId)
|
||||||
|
if err != nil {
|
||||||
|
responses.FailWithMessage("题目异常", c)
|
||||||
|
return
|
||||||
|
}
|
||||||
|
|
||||||
|
// 检测状态
|
||||||
|
if question.QuestionStatus == req.QuestionStatus {
|
||||||
|
responses.Ok(c)
|
||||||
|
return
|
||||||
|
}
|
||||||
|
|
||||||
|
// 开始事务
|
||||||
|
tx := global.Db.Begin()
|
||||||
|
defer func() {
|
||||||
|
if r := recover(); r != nil {
|
||||||
|
tx.Rollback()
|
||||||
|
}
|
||||||
|
}()
|
||||||
|
|
||||||
|
questionData := make(map[string]interface{})
|
||||||
|
questionData["question_status"] = req.QuestionStatus
|
||||||
|
err = questionDao.EditQuestionById(tx, questionId, questionData)
|
||||||
|
if err != nil {
|
||||||
|
tx.Rollback()
|
||||||
|
responses.FailWithMessage("操作失败", c)
|
||||||
|
return
|
||||||
|
}
|
||||||
|
|
||||||
|
tx.Commit()
|
||||||
|
responses.Ok(c)
|
||||||
|
}
|
||||||
|
|
||||||
// PutQuestionTest 修改题目
|
// PutQuestionTest 修改题目
|
||||||
func (r *Question) PutQuestionTest(c *gin.Context) {
|
func (r *Question) PutQuestionTest(c *gin.Context) {
|
||||||
couponRequest := requests.QuestionRequest{}
|
couponRequest := requests.QuestionRequest{}
|
||||||
|
|||||||
@ -5,6 +5,7 @@ type QuestionRequest struct {
|
|||||||
AddQuestion // 新增题目
|
AddQuestion // 新增题目
|
||||||
AddQuestionTest // 新增题目
|
AddQuestionTest // 新增题目
|
||||||
PutQuestion // 修改题目
|
PutQuestion // 修改题目
|
||||||
|
PutQuestionStatus // 操作问题发布状态
|
||||||
PutQuestionTest // 修改题目
|
PutQuestionTest // 修改题目
|
||||||
DeleteQuestion // 修改题目
|
DeleteQuestion // 修改题目
|
||||||
GetQuestionCount // 获取题目数量
|
GetQuestionCount // 获取题目数量
|
||||||
@ -81,6 +82,11 @@ type PutQuestion struct {
|
|||||||
QuestionOption []string `json:"question_option" form:"question_option" label:"选项"`
|
QuestionOption []string `json:"question_option" form:"question_option" label:"选项"`
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// PutQuestionStatus 修改题目状态
|
||||||
|
type PutQuestionStatus struct {
|
||||||
|
QuestionStatus int `json:"question_status" form:"question_status" label:"状态" validate:"required,oneof=1 2"` // 状态(1:正常 2:禁用)
|
||||||
|
}
|
||||||
|
|
||||||
// PutQuestionTest 修改题目
|
// PutQuestionTest 修改题目
|
||||||
type PutQuestionTest struct {
|
type PutQuestionTest struct {
|
||||||
QuestionName string `json:"question_name" form:"question_name" validate:"required" label:"题目名称"`
|
QuestionName string `json:"question_name" form:"question_name" validate:"required" label:"题目名称"`
|
||||||
|
|||||||
@ -146,6 +146,9 @@ func privateRouter(r *gin.Engine, api controller.Api) {
|
|||||||
// 修改题目
|
// 修改题目
|
||||||
questionGroup.PUT("/:question_id", api.Question.PutQuestion)
|
questionGroup.PUT("/:question_id", api.Question.PutQuestion)
|
||||||
|
|
||||||
|
// 修改题目状态
|
||||||
|
questionGroup.PUT("/status/:question_id", api.Question.PutQuestionStatus)
|
||||||
|
|
||||||
// 删除题目
|
// 删除题目
|
||||||
questionGroup.DELETE("", api.Question.DeleteQuestion)
|
questionGroup.DELETE("", api.Question.DeleteQuestion)
|
||||||
|
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user