接口已全部新增完毕

This commit is contained in:
2024-12-30 17:52:46 +08:00
parent 29632f7d50
commit 90c2cf1ce0
10 changed files with 323 additions and 22 deletions
+90 -1
View File
@@ -156,7 +156,7 @@ func (b *Res) GetResCaseRecordList(c *gin.Context) {
// 获取数据
caseUserDao := dao.CaseUserDao{}
caseUsers, total, err := caseUserDao.GetCaseUserRecordList(req, page, pageSize)
caseUsers, total, err := caseUserDao.GetResCaseUserRecordList(req, page, pageSize)
if err != nil {
responses.FailWithMessage(err.Error(), c)
return
@@ -306,3 +306,92 @@ func (b *Res) GetResCaseRecordList(c *gin.Context) {
result["data"] = g
responses.OkWithData(result, c)
}
// GetResCaseBehaviorList 获取病例用户操作行为列表
func (b *Res) GetResCaseBehaviorList(c *gin.Context) {
resRequest := requests.ResRequest{}
req := resRequest.GetResCaseBehaviorList
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
}
platformId := c.GetInt64("platformId") // 平台id
if platformId == 0 {
responses.FailWithMessage("非法请求", c)
return
}
req.PlatformId = platformId
if req.StartTime != "" {
if req.EndTime == "" {
responses.FailWithMessage("参数错误", c)
return
}
}
// 获取数据
caseUserDao := dao.CaseUserDao{}
caseUsers, err := caseUserDao.GetResCaseBehaviorList(req)
if err != nil {
responses.FailWithMessage(err.Error(), c)
return
}
// 处理返回值
g := make([]*dto.ResCaseBehaviorDto, len(caseUsers))
if len(caseUsers) > 0 {
userBehaviorRecordDao := dao.UserBehaviorRecordDao{}
for i, v := range caseUsers {
response := &dto.ResCaseBehaviorDto{
TslUid: v.User.UserIden,
Sid: fmt.Sprintf("%d", v.CaseId),
StartTime: time.Time(v.StartTime).Format("2006-01-02 15:04:05"),
EndTime: time.Time(v.StartTime).Format("2006-01-02 15:04:05"),
UseTime: v.ReadDuration,
IsComplete: 1,
Action: nil,
}
// 获取用户操作行为记录
maps := make(map[string]interface{})
maps["case_id"] = v.CaseId
maps["platform_id"] = v.PlatformId
maps["user_id"] = v.UserId
userBehaviorRecords, _ := userBehaviorRecordDao.GetUserBehaviorRecordList(maps)
// 评论
if len(userBehaviorRecords) > 0 {
response.Action = make([]*dto.ActionDto, len(userBehaviorRecords))
for i2, record := range userBehaviorRecords {
// 用时
useTime := time.Time(record.EndTime).Sub(time.Time(record.StartTime))
actionDto := &dto.ActionDto{
Step: record.Step,
In: time.Time(record.StartTime).Format("2006-01-02 15:04:05"),
Out: time.Time(record.EndTime).Format("2006-01-02 15:04:05"),
UseTime: int(useTime.Seconds()),
}
response.Action[i2] = actionDto
}
}
// 将转换后的结构体添加到新切片中
g[i] = response
}
}
responses.OkWithData(g, c)
}