优质留言上报用户参与情况-只上报优质留言-佳动力
This commit is contained in:
@@ -278,6 +278,16 @@ func (b *CaseComment) AddCaseCommentHighQuality(c *gin.Context) {
|
||||
return
|
||||
}
|
||||
|
||||
// 上报用户参与情况-只上报优质留言-佳动力
|
||||
if caseComment.PlatformId == 2 {
|
||||
err = userService.ReportCaseRecord(tx, result.ProjectId, caseComment.CaseId, user)
|
||||
if err != nil {
|
||||
tx.Rollback()
|
||||
responses.FailWithMessage(err.Error(), c)
|
||||
return
|
||||
}
|
||||
}
|
||||
|
||||
caseCommentData := make(map[string]interface{})
|
||||
caseCommentData["is_high_quality"] = req.IsHighQuality
|
||||
caseCommentData["is_grant_high_quality"] = 1
|
||||
|
||||
@@ -110,6 +110,15 @@ func (r *CaseUserDao) GetCaseUser(maps interface{}) (m *model.CaseUser, err erro
|
||||
return m, nil
|
||||
}
|
||||
|
||||
// GetCaseUserPreload 获取
|
||||
func (r *CaseUserDao) GetCaseUserPreload(maps interface{}) (m *model.CaseUser, err error) {
|
||||
err = global.Db.Preload(clause.Associations).Where(maps).First(&m).Error
|
||||
if err != nil {
|
||||
return nil, err
|
||||
}
|
||||
return m, nil
|
||||
}
|
||||
|
||||
// GetCaseUserUseTx 获取
|
||||
func (r *CaseUserDao) GetCaseUserUseTx(tx *gorm.DB, maps interface{}) (m *model.CaseUser, err error) {
|
||||
err = tx.Where(maps).First(&m).Error
|
||||
|
||||
@@ -115,3 +115,12 @@ func (r *RecordScoreDao) GetRecordScoreUseTx(tx *gorm.DB, maps interface{}) (m *
|
||||
}
|
||||
return m, nil
|
||||
}
|
||||
|
||||
// GetRecordScoreListUseTx 获取
|
||||
func (r *RecordScoreDao) GetRecordScoreListUseTx(tx *gorm.DB, maps interface{}) (m []*model.RecordScore, err error) {
|
||||
err = tx.Where(maps).Find(&m).Error
|
||||
if err != nil {
|
||||
return nil, err
|
||||
}
|
||||
return m, nil
|
||||
}
|
||||
|
||||
@@ -261,3 +261,85 @@ func (r *UserService) ReportUserScore(tx *gorm.DB, projectId, caseId, platformId
|
||||
|
||||
return nil
|
||||
}
|
||||
|
||||
// ReportCaseRecord 上报用户参与情况-只上报优质留言
|
||||
func (r *UserService) ReportCaseRecord(tx *gorm.DB, projectId, caseId int64, user *model.User) (err error) {
|
||||
caseUserDao := dao.CaseUserDao{}
|
||||
maps := make(map[string]interface{})
|
||||
maps["project_id"] = projectId
|
||||
maps["case_id"] = caseId
|
||||
maps["user_id"] = user.UserId
|
||||
caseUser, err := caseUserDao.GetCaseUser(maps)
|
||||
if err != nil {
|
||||
return err
|
||||
}
|
||||
|
||||
recordScoreDao := dao.RecordScoreDao{}
|
||||
caseCommentDao := dao.CaseCommentDao{}
|
||||
|
||||
// 获取积分发放记录
|
||||
maps = make(map[string]interface{})
|
||||
maps["project_id"] = projectId
|
||||
maps["case_id"] = caseId
|
||||
maps["platform_id"] = caseUser.PlatformId
|
||||
maps["user_id"] = user.UserId
|
||||
recordScores, _ := recordScoreDao.GetRecordScoreListUseTx(tx, maps)
|
||||
|
||||
// 获取用户评论
|
||||
maps = make(map[string]interface{})
|
||||
maps["case_id"] = caseId
|
||||
maps["platform_id"] = caseUser.PlatformId
|
||||
maps["user_id"] = user.UserId
|
||||
maps["status"] = 1
|
||||
caseComments, _ := caseCommentDao.GetCaseCommentList(maps)
|
||||
|
||||
// 组装请求数据
|
||||
requestData := superKangaroo.ReportCaseRecordRequest{
|
||||
CaseUserId: fmt.Sprintf("%d", caseUser.CaseUserId),
|
||||
Sid: fmt.Sprintf("%d", caseUser.CaseId),
|
||||
TslUid: user.UserIden,
|
||||
Credit1: 0,
|
||||
Credit2: 0,
|
||||
Credit3: 0,
|
||||
Credit4: 0,
|
||||
HasRemark: 0,
|
||||
Remark: nil,
|
||||
}
|
||||
|
||||
// 积分
|
||||
for _, v3 := range recordScores {
|
||||
if v3.Type == 1 {
|
||||
requestData.Credit1 = v3.Score
|
||||
}
|
||||
|
||||
if v3.Type == 2 {
|
||||
requestData.Credit2 = v3.Score
|
||||
}
|
||||
|
||||
if v3.Type == 3 {
|
||||
requestData.Credit4 = v3.Score
|
||||
}
|
||||
}
|
||||
|
||||
// 评论
|
||||
if len(caseComments) > 0 {
|
||||
requestData.Remark = make([]*superKangaroo.RemarkRequest, len(caseComments))
|
||||
|
||||
requestData.HasRemark = 1
|
||||
for i2, comment := range caseComments {
|
||||
remarkDto := &superKangaroo.RemarkRequest{
|
||||
Remark: comment.Content,
|
||||
CreateTime: time.Time(comment.CreatedAt).Format("2006-01-02 15:04:05"),
|
||||
}
|
||||
|
||||
requestData.Remark[i2] = remarkDto
|
||||
}
|
||||
}
|
||||
|
||||
_, err = superKangaroo.ReportCaseRecord(requestData)
|
||||
if err != nil {
|
||||
return err
|
||||
}
|
||||
|
||||
return nil
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user