You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
245 lines
5.3 KiB
245 lines
5.3 KiB
package http |
|
|
|
import ( |
|
"go-common/app/service/openplatform/anti-fraud/model" |
|
"go-common/library/ecode" |
|
"go-common/library/log" |
|
bm "go-common/library/net/http/blademaster" |
|
"go-common/library/net/http/blademaster/binding" |
|
) |
|
|
|
// qusBankInfo 题库信息 |
|
func qusBankInfo(c *bm.Context) { |
|
params := new(model.ArgGetQusBank) |
|
if err := c.Bind(params); err != nil { |
|
return |
|
} |
|
c.JSON(svc.GetQusBankInfo(c, params.QsBId)) |
|
} |
|
|
|
// qusBankList 题库列表 |
|
func qusBankList(c *bm.Context) { |
|
params := new(model.ArgBankList) |
|
if err := c.Bind(params); err != nil { |
|
return |
|
} |
|
|
|
result := model.RespList{} |
|
list, err := svc.GetQusBanklist(c, params.PageNo, params.PageSize, params.Name) |
|
if err != nil { |
|
c.JSON(nil, err) |
|
return |
|
} |
|
total, err := svc.GetQusBankTotal(c, params.Name) |
|
if err != nil { |
|
c.JSON(nil, err) |
|
return |
|
} |
|
result.Items = list |
|
result.PageSize = params.PageSize |
|
result.PageNo = params.PageNo |
|
result.Total = total |
|
c.JSON(result, nil) |
|
} |
|
|
|
// qusBankAdd 添加题库 |
|
func qusBankAdd(c *bm.Context) { |
|
params := new(model.ArgAddQusBank) |
|
if err := c.BindWith(params, binding.JSON); err != nil { |
|
return |
|
} |
|
c.JSON(svc.AddQusBank(c, params)) |
|
} |
|
|
|
// qusBankEdit 更新题库 |
|
func qusBankEdit(c *bm.Context) { |
|
params := new(model.ArgUpdateQusBank) |
|
if err := c.BindWith(params, binding.JSON); err != nil { |
|
return |
|
} |
|
c.JSON(svc.UpdataQusBank(c, params.QsBId, params.QBName, params.MaxRetryTime, params.CdTime)) |
|
} |
|
|
|
// qusBankDel 删除题库 |
|
func qusBankDel(c *bm.Context) { |
|
params := new(model.ArgBaseBank) |
|
if err := c.BindWith(params, binding.JSON); err != nil { |
|
return |
|
} |
|
c.JSON(svc.DelQusBank(c, params.QsBId, model.DeledStatus)) |
|
} |
|
|
|
// qusInfo 题目详情 |
|
func qusInfo(c *bm.Context) { |
|
params := new(model.ArgGetQus) |
|
if err := c.Bind(params); err != nil { |
|
return |
|
} |
|
data := &model.QuestionAll{} |
|
|
|
answers, err := svc.GetAnswerList(c, params.QsID) |
|
if err != nil { |
|
c.JSON(nil, ecode.QusIDInvalid) |
|
return |
|
} |
|
|
|
info, err := svc.GetQusInfo(c, params.QsID) |
|
if err != nil || info == nil { |
|
c.JSON(nil, ecode.QusIDInvalid) |
|
return |
|
} |
|
data.Question = *info |
|
data.AnswersList = answers |
|
|
|
c.JSON(data, err) |
|
} |
|
|
|
// qusList 题目列表 |
|
func qusList(c *bm.Context) { |
|
params := new(model.ArgQusList) |
|
if err := c.Bind(params); err != nil { |
|
return |
|
} |
|
result := model.RespList{} |
|
list, err := svc.GetQuslist(c, params.PageNo, params.PageSize, params.QsBId) |
|
if err != nil { |
|
c.JSON(nil, err) |
|
return |
|
} |
|
total, err := svc.GetQusTotal(c, params.QsBId) |
|
if err != nil { |
|
c.JSON(nil, err) |
|
return |
|
} |
|
result.Items = list |
|
result.PageSize = params.PageSize |
|
result.PageNo = params.PageNo |
|
result.Total = total |
|
c.JSON(result, nil) |
|
} |
|
|
|
// qusAdd 题目添加 |
|
func qusAdd(c *bm.Context) { |
|
params := new(model.ArgAddQus) |
|
if err := c.BindWith(params, binding.JSON); err != nil { |
|
return |
|
} |
|
anlist := params.Answer |
|
msg, err := svc.CheckAnswer(c, 0, params.Type, anlist) |
|
if err != nil { |
|
c.JSON(msg, err) |
|
return |
|
} |
|
addQus := &model.AddQus{ |
|
BId: params.BId, |
|
Type: params.Type, |
|
Name: params.Name, |
|
Dif: params.Dif, |
|
AnType: params.AnType, |
|
Answers: anlist, |
|
QsID: 0, |
|
} |
|
c.JSON(svc.AddQus(c, addQus, anlist)) |
|
} |
|
|
|
// qusUpdate 题目更新 |
|
func qusUpdate(c *bm.Context) { |
|
params := new(model.ArgUpdateQus) |
|
if err := c.BindWith(params, binding.JSON); err != nil { |
|
return |
|
} |
|
answers := params.Answer |
|
msg, err := svc.CheckAnswer(c, params.QsID, params.Type, answers) |
|
if err != nil { |
|
c.JSON(msg, err) |
|
return |
|
} |
|
|
|
c.JSON(svc.UpdateQus(c, params, answers)) |
|
} |
|
|
|
// questionBankBind 项目关联题库 |
|
func questionBankBind(c *bm.Context) { |
|
params := &model.ArgQuestionBankBinds{} |
|
if err := c.BindWith(params, binding.JSON); err != nil { |
|
return |
|
} |
|
|
|
err := svc.QuestionBankBind(c, params) |
|
if err != nil { |
|
log.Error("questionBankBind(%v) error(%v)", params, err) |
|
} |
|
|
|
c.JSON(nil, err) |
|
} |
|
|
|
// questionBankUnbind 解绑 |
|
func questionBankUnbind(c *bm.Context) { |
|
params := &model.ArgQuestionBankUnbind{} |
|
if err := c.BindWith(params, binding.JSON); err != nil { |
|
return |
|
} |
|
|
|
c.JSON(nil, svc.QuestionBankUnbind(c, params)) |
|
} |
|
|
|
// qusDel 删除题目 |
|
func qusDel(c *bm.Context) { |
|
params := new(model.ArgGetQus) |
|
if err := c.BindWith(params, binding.JSON); err != nil { |
|
return |
|
} |
|
c.JSON(svc.DelQus(c, params.QsID)) |
|
} |
|
|
|
// getBankBind 绑定关系 |
|
func getBankBind(c *bm.Context) { |
|
params := &model.ArgGetBankBind{} |
|
if err := c.BindWith(params, binding.JSON); err != nil { |
|
return |
|
} |
|
|
|
c.JSON(svc.GetQuestionBankBind(c, params)) |
|
} |
|
|
|
// getBindItems 查询绑定到题库的 |
|
func getBindItems(c *bm.Context) { |
|
params := &model.ArgGetBindItems{} |
|
if err := c.Bind(params); err != nil { |
|
return |
|
} |
|
|
|
c.JSON(svc.GetBindItem(c, params)) |
|
} |
|
|
|
// getQuestion 随机获取一个问题 |
|
func getQuestion(c *bm.Context) { |
|
params := &model.ArgGetQuestion{} |
|
if err := c.Bind(params); err != nil { |
|
return |
|
} |
|
|
|
c.JSON(svc.GetQuestion(c, params)) |
|
} |
|
|
|
// answerQuestion 答题 |
|
func answerQuestion(c *bm.Context) { |
|
// 判断是否可答 返回冷却时间 |
|
params := &model.ArgCheckAnswer{} |
|
if err := c.BindWith(params, binding.JSON); err != nil { |
|
return |
|
} |
|
|
|
c.JSON(svc.UserAnswer(c, params)) |
|
|
|
} |
|
|
|
// qusBankCheck 题库检查 |
|
func qusBankCheck(c *bm.Context) { |
|
// 判断是否可答 返回冷却时间 |
|
params := &model.ArgCheckQus{} |
|
if err := c.BindWith(params, binding.JSON); err != nil { |
|
return |
|
} |
|
c.JSON(svc.QusBankCheck(c, params)) |
|
}
|
|
|