|
@@ -9,8 +9,9 @@ import (
|
|
|
"exam_system/utils"
|
|
|
"exam_system/vo"
|
|
|
"fmt"
|
|
|
- "github.com/jmoiron/sqlx"
|
|
|
"time"
|
|
|
+
|
|
|
+ "github.com/jmoiron/sqlx"
|
|
|
)
|
|
|
|
|
|
func AddTestPaper(t *vo.TestPaperVo) *result.Result {
|
|
@@ -22,13 +23,12 @@ func AddTestPaper(t *vo.TestPaperVo) *result.Result {
|
|
|
// 1.插入试卷
|
|
|
sqlStr := "insert into test_paper(name,create_at,update_at,status,score,pass_score) values (?,?,?,?,?,?)"
|
|
|
var res sql.Result
|
|
|
- res, err = tx.Exec(sqlStr, t.Name, time.Now(), time.Now(), entity.USE,t.Score,t.PassScore)
|
|
|
+ res, err = tx.Exec(sqlStr, t.Name, time.Now(), time.Now(), entity.USE, t.Score, t.PassScore)
|
|
|
if err != nil {
|
|
|
return result.UNKNOW_ERROR.SetData(err)
|
|
|
}
|
|
|
id, _ := res.LastInsertId()
|
|
|
|
|
|
-
|
|
|
var score int64
|
|
|
for _, chapter := range t.Chapters {
|
|
|
|
|
@@ -38,12 +38,12 @@ func AddTestPaper(t *vo.TestPaperVo) *result.Result {
|
|
|
sqlStr = "insert into chapter(name,description,sub_ids,tp_id,`index`) values (?,?,?,?,?)"
|
|
|
// sublist试题
|
|
|
var res2 sql.Result
|
|
|
- res2, err = tx.Exec(sqlStr, chapter.Name, chapter.Description, string(subData), id,chapter.Index)
|
|
|
+ res2, err = tx.Exec(sqlStr, chapter.Name, chapter.Description, string(subData), id, chapter.Index)
|
|
|
if err != nil {
|
|
|
return result.UNKNOW_ERROR.SetData(err)
|
|
|
}
|
|
|
affected, _ := res2.RowsAffected()
|
|
|
- score+=affected
|
|
|
+ score += affected
|
|
|
}
|
|
|
|
|
|
return result.SuccessResult(id)
|
|
@@ -85,12 +85,12 @@ func TestPaperDetail(id string) *result.Result {
|
|
|
var sub vo.SubjectVo
|
|
|
sqlStr = "select * from subject where id = ?"
|
|
|
err = config.DB.Get(&sub, sqlStr, sidvo.Id)
|
|
|
- if err != nil && err.Error()!="sql: no rows in result set"{
|
|
|
+ if err != nil && err.Error() != "sql: no rows in result set" {
|
|
|
return result.UNKNOW_ERROR.SetMsg(err.Error())
|
|
|
}
|
|
|
|
|
|
sub.Score = sidvo.Score
|
|
|
- subList = append(subList,&sub)
|
|
|
+ subList = append(subList, &sub)
|
|
|
}
|
|
|
|
|
|
chap.SubList = subList
|
|
@@ -134,12 +134,12 @@ func TestPaperDetail2(id string) *result.Result {
|
|
|
var sub vo.SubjectVo
|
|
|
sqlStr = "select id, create_at, update_at, delete_at, type, opt_a, opt_b, opt_c, opt_d, analysis, status, question, qb_id from subject where id = ?"
|
|
|
err = config.DB.Get(&sub, sqlStr, sidvo.Id)
|
|
|
- if err != nil && err.Error()!="sql: no rows in result set"{
|
|
|
+ if err != nil && err.Error() != "sql: no rows in result set" {
|
|
|
return result.UNKNOW_ERROR.SetMsg(err.Error())
|
|
|
}
|
|
|
|
|
|
sub.Score = sidvo.Score
|
|
|
- subList = append(subList,&sub)
|
|
|
+ subList = append(subList, &sub)
|
|
|
}
|
|
|
|
|
|
chap.SubList = subList
|
|
@@ -154,18 +154,18 @@ func TestPaperList(page, size int, sort string, query map[string]interface{}) *r
|
|
|
// 1、获取paper
|
|
|
sqlStr := "select * from test_paper where delete_at is null "
|
|
|
|
|
|
- params := make([]interface{},0)
|
|
|
- if query["name"]!=nil{
|
|
|
- sqlStr+="and name like ? "
|
|
|
+ params := make([]interface{}, 0)
|
|
|
+ if query["name"] != nil {
|
|
|
+ sqlStr += "and name like ? "
|
|
|
params = append(params, "%"+query["name"].(string)+"%")
|
|
|
}
|
|
|
|
|
|
- if query["status"]!=nil{
|
|
|
- sqlStr+="and status = ? "
|
|
|
+ if query["status"] != nil {
|
|
|
+ sqlStr += "and status = ? "
|
|
|
params = append(params, fmt.Sprintf("%1.0f", query["status"].(float64)))
|
|
|
}
|
|
|
|
|
|
- sqlStr+="order by create_at "
|
|
|
+ sqlStr += "order by create_at "
|
|
|
|
|
|
if sort == "asc" {
|
|
|
sqlStr += "asc "
|
|
@@ -173,7 +173,7 @@ func TestPaperList(page, size int, sort string, query map[string]interface{}) *r
|
|
|
sqlStr += "desc "
|
|
|
}
|
|
|
sqlStr += "limit ?,?"
|
|
|
- params = append(params,utils.PostionSize(page, size),size)
|
|
|
+ params = append(params, utils.PostionSize(page, size), size)
|
|
|
|
|
|
var tp []*vo.TestPaperVo
|
|
|
err := config.DB.Select(&tp, sqlStr, params...)
|
|
@@ -204,12 +204,12 @@ func TestPaperList(page, size int, sort string, query map[string]interface{}) *r
|
|
|
var sub vo.SubjectVo
|
|
|
sqlStr = "select * from subject where id = ?"
|
|
|
err = config.DB.Get(&sub, sqlStr, sidvo.Id)
|
|
|
- if err != nil && err.Error()!="sql: no rows in result set"{
|
|
|
+ if err != nil && err.Error() != "sql: no rows in result set" {
|
|
|
return result.UNKNOW_ERROR.SetMsg(err.Error())
|
|
|
}
|
|
|
|
|
|
sub.Score = sidvo.Score
|
|
|
- subList = append(subList,&sub)
|
|
|
+ subList = append(subList, &sub)
|
|
|
}
|
|
|
|
|
|
chap.SubList = subList
|
|
@@ -222,45 +222,42 @@ func TestPaperList(page, size int, sort string, query map[string]interface{}) *r
|
|
|
sqlStr = "select count(id) from test_paper where delete_at is null "
|
|
|
|
|
|
var total int
|
|
|
- params = make([]interface{},0)
|
|
|
- if query["name"]!=nil{
|
|
|
- sqlStr+="and name like ? "
|
|
|
+ params = make([]interface{}, 0)
|
|
|
+ if query["name"] != nil {
|
|
|
+ sqlStr += "and name like ? "
|
|
|
params = append(params, "%"+query["name"].(string)+"%")
|
|
|
}
|
|
|
- if query["status"]!=nil{
|
|
|
- sqlStr+="and status = ? "
|
|
|
+ if query["status"] != nil {
|
|
|
+ sqlStr += "and status = ? "
|
|
|
params = append(params, fmt.Sprintf("%1.0f", query["status"].(float64)))
|
|
|
}
|
|
|
- err = config.DB.Get(&total, sqlStr,params...)
|
|
|
- if err!=nil{
|
|
|
+ err = config.DB.Get(&total, sqlStr, params...)
|
|
|
+ if err != nil {
|
|
|
return result.UNKNOW_ERROR.SetData(err.Error())
|
|
|
}
|
|
|
|
|
|
- return result.SUCCESS.SetData(result.NewPage(page,len(tp),total,tp))
|
|
|
+ return result.SUCCESS.SetData(result.NewPage(page, len(tp), total, tp))
|
|
|
}
|
|
|
|
|
|
func UpdateTestPaper(t *vo.TestPaperVo) *result.Result {
|
|
|
|
|
|
-
|
|
|
-
|
|
|
tx, err := config.DB.Beginx()
|
|
|
- if err!=nil{
|
|
|
+ if err != nil {
|
|
|
return result.UNKNOW_ERROR.SetData(err)
|
|
|
}
|
|
|
- return utils.Transation(tx,err, func(tx *sqlx.Tx) *result.Result {
|
|
|
-
|
|
|
+ return utils.Transation(tx, err, func(tx *sqlx.Tx) *result.Result {
|
|
|
|
|
|
sqlStr := "update test_paper set name=?,update_at=?,status=?,score=?,pass_score=? where id=? and delete_at is null "
|
|
|
|
|
|
var res sql.Result
|
|
|
- res, err = config.DB.Exec(sqlStr, t.Name, time.Now(),t.Status,t.Score,t.PassScore, t.Id)
|
|
|
+ res, err = config.DB.Exec(sqlStr, t.Name, time.Now(), t.Status, t.Score, t.PassScore, t.Id)
|
|
|
if err != nil {
|
|
|
return result.UNKNOW_ERROR.SetData(err)
|
|
|
}
|
|
|
affected, _ := res.RowsAffected()
|
|
|
|
|
|
sqlStr = "delete from chapter where tp_id = ?"
|
|
|
- res, err = tx.Exec(sqlStr, t.Id)
|
|
|
+ _, err = tx.Exec(sqlStr, t.Id)
|
|
|
if err != nil {
|
|
|
return result.UNKNOW_ERROR.SetData(err)
|
|
|
}
|
|
@@ -280,7 +277,7 @@ func UpdateTestPaper(t *vo.TestPaperVo) *result.Result {
|
|
|
|
|
|
affected2, _ := res.RowsAffected()
|
|
|
|
|
|
- affected+=affected2
|
|
|
+ affected += affected2
|
|
|
}
|
|
|
|
|
|
return result.SuccessResult(result.NewResultChange(affected))
|