From 29632f7d50b756b90f4368d15386e9a43b943f7a Mon Sep 17 00:00:00 2001 From: wucongxing8150 <815046773@qq.com> Date: Mon, 30 Dec 2024 16:41:00 +0800 Subject: [PATCH] =?UTF-8?q?=E6=96=B0=E5=A2=9E=E4=BA=86=E6=8E=A5=E5=8F=A31?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- api/controller/Res.go | 16 ++--- api/dao/UserAnswerRecord.go | 117 +++++++++++++++++++++++++++++++++ api/dao/UserAnswerRecords.go | 117 --------------------------------- api/model/UserAnswerRecord.go | 38 +++++++++++ api/model/UserAnswerRecords.go | 38 ----------- 5 files changed, 163 insertions(+), 163 deletions(-) create mode 100644 api/dao/UserAnswerRecord.go delete mode 100644 api/dao/UserAnswerRecords.go create mode 100644 api/model/UserAnswerRecord.go delete mode 100644 api/model/UserAnswerRecords.go diff --git a/api/controller/Res.go b/api/controller/Res.go index cfa2259..69d775a 100644 --- a/api/controller/Res.go +++ b/api/controller/Res.go @@ -168,7 +168,7 @@ func (b *Res) GetResCaseRecordList(c *gin.Context) { if len(caseUsers) > 0 { recordScoreDao := dao.RecordScoreDao{} caseCommentDao := dao.CaseCommentDao{} - userAnswerRecordsDao := dao.UserAnswerRecordsDao{} + userAnswerRecordDao := dao.UserAnswerRecordDao{} userDao := dao.UserDao{} projectPlatformWhiteService := service.ProjectPlatformWhiteService{} @@ -194,7 +194,7 @@ func (b *Res) GetResCaseRecordList(c *gin.Context) { maps["case_id"] = v.CaseId maps["platform_id"] = v.PlatformId maps["user_id"] = v.UserId - userAnswerRecordss, _ := userAnswerRecordsDao.GetUserAnswerRecordsPreloadList(maps) + userAnswerRecords, _ := userAnswerRecordDao.GetUserAnswerRecordPreloadList(maps) // 用时 minutes := v.ReadDuration / 60 @@ -265,17 +265,17 @@ func (b *Res) GetResCaseRecordList(c *gin.Context) { } // 题目 - if len(userAnswerRecordss) > 0 { - response.QuestionAnswer = make([]*dto.QuestionAnswerDto, len(userAnswerRecordss)) - for i2, recordss := range userAnswerRecordss { + if len(userAnswerRecords) > 0 { + response.QuestionAnswer = make([]*dto.QuestionAnswerDto, len(userAnswerRecords)) + for i2, records := range userAnswerRecords { questionAnswerDto := &dto.QuestionAnswerDto{ - Question: recordss.CaseItemQuestion.QuestionName, - Answer: recordss.Answer, + Question: records.CaseItemQuestion.QuestionName, + Answer: records.Answer, Correct: false, Order: i2 + 1, } - if recordss.IsTrue == 1 { + if records.IsTrue == 1 { questionAnswerDto.Correct = true } diff --git a/api/dao/UserAnswerRecord.go b/api/dao/UserAnswerRecord.go new file mode 100644 index 0000000..b5a91d9 --- /dev/null +++ b/api/dao/UserAnswerRecord.go @@ -0,0 +1,117 @@ +package dao + +import ( + "case-open-api/api/model" + "case-open-api/global" + "gorm.io/gorm" + "gorm.io/gorm/clause" +) + +type UserAnswerRecordDao struct { +} + +// GetUserAnswerRecordById 获取数据-id +func (r *UserAnswerRecordDao) GetUserAnswerRecordById(CaseUserQuestionId int64) (m *model.UserAnswerRecord, err error) { + err = global.Db.First(&m, CaseUserQuestionId).Error + if err != nil { + return nil, err + } + return m, nil +} + +// GetUserAnswerRecordPreloadById 获取数据-加载全部关联-id +func (r *UserAnswerRecordDao) GetUserAnswerRecordPreloadById(CaseUserQuestionId int64) (m *model.UserAnswerRecord, err error) { + err = global.Db.Preload(clause.Associations).First(&m, CaseUserQuestionId).Error + if err != nil { + return nil, err + } + return m, nil +} + +// DeleteUserAnswerRecord 删除 +func (r *UserAnswerRecordDao) DeleteUserAnswerRecord(tx *gorm.DB, maps interface{}) error { + err := tx.Where(maps).Delete(&model.UserAnswerRecord{}).Error + if err != nil { + return err + } + return nil +} + +// DeleteUserAnswerRecordById 删除-id +func (r *UserAnswerRecordDao) DeleteUserAnswerRecordById(tx *gorm.DB, CaseUserQuestionId int64) error { + if err := tx.Delete(&model.UserAnswerRecord{}, CaseUserQuestionId).Error; err != nil { + return err + } + return nil +} + +// EditUserAnswerRecord 修改 +func (r *UserAnswerRecordDao) EditUserAnswerRecord(tx *gorm.DB, maps interface{}, data interface{}) error { + err := tx.Model(&model.UserAnswerRecord{}).Where(maps).Updates(data).Error + if err != nil { + return err + } + return nil +} + +// EditUserAnswerRecordById 修改-id +func (r *UserAnswerRecordDao) EditUserAnswerRecordById(tx *gorm.DB, CaseUserQuestionId int64, data interface{}) error { + err := tx.Model(&model.UserAnswerRecord{}).Where("case_user_question_id = ?", CaseUserQuestionId).Updates(data).Error + if err != nil { + return err + } + return nil +} + +// GetUserAnswerRecordList 获取列表 +func (r *UserAnswerRecordDao) GetUserAnswerRecordList(maps interface{}) (m []*model.UserAnswerRecord, err error) { + err = global.Db.Where(maps).Find(&m).Error + if err != nil { + return nil, err + } + return m, nil +} + +// GetUserAnswerRecordPreloadList 获取列表 +func (r *UserAnswerRecordDao) GetUserAnswerRecordPreloadList(maps interface{}) (m []*model.UserAnswerRecord, err error) { + err = global.Db.Preload(clause.Associations).Where(maps).Find(&m).Error + if err != nil { + return nil, err + } + return m, nil +} + +// GetUserAnswerRecordCount 获取数量 +func (r *UserAnswerRecordDao) GetUserAnswerRecordCount(maps interface{}) (total int64, err error) { + err = global.Db.Model(&model.UserAnswerRecord{}).Where(maps).Count(&total).Error + if err != nil { + return 0, err + } + return total, nil +} + +// GetUserAnswerRecordListRand 获取列表-随机 +func (r *UserAnswerRecordDao) GetUserAnswerRecordListRand(maps interface{}, limit int) (m []*model.UserAnswerRecord, err error) { + err = global.Db.Where(maps).Order("rand()").Limit(limit).Find(&m).Error + if err != nil { + return nil, err + } + return m, nil +} + +// AddUserAnswerRecord 新增 +func (r *UserAnswerRecordDao) AddUserAnswerRecord(tx *gorm.DB, model *model.UserAnswerRecord) (*model.UserAnswerRecord, error) { + if err := tx.Create(model).Error; err != nil { + return nil, err + } + return model, nil +} + +// GetUserAnswerRecord 获取 +func (r *UserAnswerRecordDao) GetUserAnswerRecord(maps interface{}) (m *model.UserAnswerRecord, err error) { + err = global.Db.Where(maps).First(&m).Error + if err != nil { + return nil, err + } + return m, nil +} diff --git a/api/dao/UserAnswerRecords.go b/api/dao/UserAnswerRecords.go deleted file mode 100644 index 45a32d7..0000000 --- a/api/dao/UserAnswerRecords.go +++ /dev/null @@ -1,117 +0,0 @@ -package dao - -import ( - "case-open-api/api/model" - "case-open-api/global" - "gorm.io/gorm" - "gorm.io/gorm/clause" -) - -type UserAnswerRecordsDao struct { -} - -// GetUserAnswerRecordsById 获取数据-id -func (r *UserAnswerRecordsDao) GetUserAnswerRecordsById(CaseUserQuestionId int64) (m *model.UserAnswerRecords, err error) { - err = global.Db.First(&m, CaseUserQuestionId).Error - if err != nil { - return nil, err - } - return m, nil -} - -// GetUserAnswerRecordsPreloadById 获取数据-加载全部关联-id -func (r *UserAnswerRecordsDao) GetUserAnswerRecordsPreloadById(CaseUserQuestionId int64) (m *model.UserAnswerRecords, err error) { - err = global.Db.Preload(clause.Associations).First(&m, CaseUserQuestionId).Error - if err != nil { - return nil, err - } - return m, nil -} - -// DeleteUserAnswerRecords 删除 -func (r *UserAnswerRecordsDao) DeleteUserAnswerRecords(tx *gorm.DB, maps interface{}) error { - err := tx.Where(maps).Delete(&model.UserAnswerRecords{}).Error - if err != nil { - return err - } - return nil -} - -// DeleteUserAnswerRecordsById 删除-id -func (r *UserAnswerRecordsDao) DeleteUserAnswerRecordsById(tx *gorm.DB, CaseUserQuestionId int64) error { - if err := tx.Delete(&model.UserAnswerRecords{}, CaseUserQuestionId).Error; err != nil { - return err - } - return nil -} - -// EditUserAnswerRecords 修改 -func (r *UserAnswerRecordsDao) EditUserAnswerRecords(tx *gorm.DB, maps interface{}, data interface{}) error { - err := tx.Model(&model.UserAnswerRecords{}).Where(maps).Updates(data).Error - if err != nil { - return err - } - return nil -} - -// EditUserAnswerRecordsById 修改-id -func (r *UserAnswerRecordsDao) EditUserAnswerRecordsById(tx *gorm.DB, CaseUserQuestionId int64, data interface{}) error { - err := tx.Model(&model.UserAnswerRecords{}).Where("case_user_question_id = ?", CaseUserQuestionId).Updates(data).Error - if err != nil { - return err - } - return nil -} - -// GetUserAnswerRecordsList 获取列表 -func (r *UserAnswerRecordsDao) GetUserAnswerRecordsList(maps interface{}) (m []*model.UserAnswerRecords, err error) { - err = global.Db.Where(maps).Find(&m).Error - if err != nil { - return nil, err - } - return m, nil -} - -// GetUserAnswerRecordsPreloadList 获取列表 -func (r *UserAnswerRecordsDao) GetUserAnswerRecordsPreloadList(maps interface{}) (m []*model.UserAnswerRecords, err error) { - err = global.Db.Preload(clause.Associations).Where(maps).Find(&m).Error - if err != nil { - return nil, err - } - return m, nil -} - -// GetUserAnswerRecordsCount 获取数量 -func (r *UserAnswerRecordsDao) GetUserAnswerRecordsCount(maps interface{}) (total int64, err error) { - err = global.Db.Model(&model.UserAnswerRecords{}).Where(maps).Count(&total).Error - if err != nil { - return 0, err - } - return total, nil -} - -// GetUserAnswerRecordsListRand 获取列表-随机 -func (r *UserAnswerRecordsDao) GetUserAnswerRecordsListRand(maps interface{}, limit int) (m []*model.UserAnswerRecords, err error) { - err = global.Db.Where(maps).Order("rand()").Limit(limit).Find(&m).Error - if err != nil { - return nil, err - } - return m, nil -} - -// AddUserAnswerRecords 新增 -func (r *UserAnswerRecordsDao) AddUserAnswerRecords(tx *gorm.DB, model *model.UserAnswerRecords) (*model.UserAnswerRecords, error) { - if err := tx.Create(model).Error; err != nil { - return nil, err - } - return model, nil -} - -// GetUserAnswerRecords 获取 -func (r *UserAnswerRecordsDao) GetUserAnswerRecords(maps interface{}) (m *model.UserAnswerRecords, err error) { - err = global.Db.Where(maps).First(&m).Error - if err != nil { - return nil, err - } - return m, nil -} diff --git a/api/model/UserAnswerRecord.go b/api/model/UserAnswerRecord.go new file mode 100644 index 0000000..78717ad --- /dev/null +++ b/api/model/UserAnswerRecord.go @@ -0,0 +1,38 @@ +package model + +import ( + "case-open-api/global" + "gorm.io/gorm" + "time" +) + +// UserAnswerRecord 用户答题记录表 +type UserAnswerRecord struct { + RecordId int64 `gorm:"column:record_id;type:bigint(19);primary_key;comment:主键id" json:"record_id"` + CaseId int64 `gorm:"column:case_id;type:bigint(19);comment:病例id;NOT NULL" json:"case_id"` + PlatformId int64 `gorm:"column:platform_id;type:bigint(19);comment:用户所属平台id;NOT NULL" json:"platform_id"` + QuestionId int64 `gorm:"column:question_id;type:bigint(19);comment:题目id;NOT NULL" json:"question_id"` + UserId int64 `gorm:"column:user_id;type:bigint(19);comment:用户id;NOT NULL" json:"user_id"` + Answer string `gorm:"column:answer;type:varchar(255);comment:答案" json:"answer"` + IsTrue int `gorm:"column:is_true;type:tinyint(1);comment:是否正确(0:否 1:是)" json:"is_true"` + Model + CaseItemQuestion *CaseItemQuestion `gorm:"foreignKey:QuestionId;references:question_id" json:"case_item_question"` +} + +func (m *UserAnswerRecord) TableName() string { + return "user_answer_records" +} + +func (m *UserAnswerRecord) BeforeCreate(tx *gorm.DB) error { + if m.RecordId == 0 { + m.RecordId = global.Snowflake.Generate().Int64() + } + + m.CreatedAt = LocalTime(time.Now()) + tx.Statement.SetColumn("CreatedAt", m.CreatedAt) + + m.UpdatedAt = LocalTime(time.Now()) + tx.Statement.SetColumn("UpdatedAt", m.UpdatedAt) + + return nil +} diff --git a/api/model/UserAnswerRecords.go b/api/model/UserAnswerRecords.go deleted file mode 100644 index b941638..0000000 --- a/api/model/UserAnswerRecords.go +++ /dev/null @@ -1,38 +0,0 @@ -package model - -import ( - "case-open-api/global" - "gorm.io/gorm" - "time" -) - -// UserAnswerRecords 用户答题记录表 -type UserAnswerRecords struct { - CaseUserQuestionId int64 `gorm:"column:case_user_question_id;type:bigint(19);primary_key;comment:主键id" json:"case_user_question_id"` - CaseId int64 `gorm:"column:case_id;type:bigint(19);comment:病例id;NOT NULL" json:"case_id"` - PlatformId int64 `gorm:"column:platform_id;type:bigint(19);comment:用户所属平台id;NOT NULL" json:"platform_id"` - QuestionId int64 `gorm:"column:question_id;type:bigint(19);comment:题目id;NOT NULL" json:"question_id"` - UserId int64 `gorm:"column:user_id;type:bigint(19);comment:用户id;NOT NULL" json:"user_id"` - Answer string `gorm:"column:answer;type:varchar(255);comment:答案" json:"answer"` - IsTrue int `gorm:"column:is_true;type:tinyint(1);comment:是否正确(0:否 1:是)" json:"is_true"` - Model - CaseItemQuestion *CaseItemQuestion `gorm:"foreignKey:QuestionId;references:question_id" json:"case_item_question"` -} - -func (m *UserAnswerRecords) TableName() string { - return "user_answer_records" -} - -func (m *UserAnswerRecords) BeforeCreate(tx *gorm.DB) error { - if m.CaseUserQuestionId == 0 { - m.CaseUserQuestionId = global.Snowflake.Generate().Int64() - } - - m.CreatedAt = LocalTime(time.Now()) - tx.Statement.SetColumn("CreatedAt", m.CreatedAt) - - m.UpdatedAt = LocalTime(time.Now()) - tx.Statement.SetColumn("UpdatedAt", m.UpdatedAt) - - return nil -}