Commit c2fdb311 by zhangxingmin

问卷-批量复制新增答题会话

parent ba904922
......@@ -4,6 +4,7 @@ import com.yd.common.result.Result;
import com.yd.question.api.service.ApiQuestionnairesService;
import com.yd.question.feign.client.ApiQuestionnairesFeignClient;
import com.yd.question.feign.request.ApiAnswerSaveRequest;
import com.yd.question.feign.request.ApiBatchSaveAnswerRequest;
import com.yd.question.feign.request.ApiObjectSaveRequest;
import com.yd.question.feign.response.ApiAnswerSaveResponse;
import com.yd.question.feign.response.ApiQuestionnairesDetailResponse;
......@@ -54,4 +55,13 @@ public class ApiQuestionnairesController implements ApiQuestionnairesFeignClient
public Result objectSave(ApiObjectSaveRequest request) {
return apiQuestionnairesService.objectSave(request);
}
/**
* 问卷-批量复制新增答题会话
* @return
*/
@Override
public Result batchSaveAnswer(ApiBatchSaveAnswerRequest request) {
return apiQuestionnairesService.batchSaveAnswer(request);
}
}
......@@ -2,6 +2,7 @@ package com.yd.question.api.service;
import com.yd.common.result.Result;
import com.yd.question.feign.request.ApiAnswerSaveRequest;
import com.yd.question.feign.request.ApiBatchSaveAnswerRequest;
import com.yd.question.feign.request.ApiObjectSaveRequest;
import com.yd.question.feign.response.ApiAnswerSaveResponse;
import com.yd.question.feign.response.ApiQuestionnairesDetailResponse;
......@@ -12,4 +13,6 @@ public interface ApiQuestionnairesService {
Result<ApiAnswerSaveResponse> answerSave(ApiAnswerSaveRequest request);
Result objectSave(ApiObjectSaveRequest request);
Result batchSaveAnswer(ApiBatchSaveAnswerRequest request);
}
......@@ -11,6 +11,7 @@ import com.yd.common.utils.RandomStringGenerator;
import com.yd.question.api.service.ApiQuestionnairesService;
import com.yd.question.feign.dto.*;
import com.yd.question.feign.request.ApiAnswerSaveRequest;
import com.yd.question.feign.request.ApiBatchSaveAnswerRequest;
import com.yd.question.feign.request.ApiObjectSaveRequest;
import com.yd.question.feign.response.ApiAnswerSaveResponse;
import com.yd.question.feign.response.ApiQuestionnairesDetailResponse;
......@@ -164,7 +165,7 @@ public class ApiQuestionnairesServiceImpl implements ApiQuestionnairesService {
ApiFirstCategoryDto firstCategoryDto = new ApiFirstCategoryDto();
firstCategoryDto.setFirstCategory(entry.getKey());
// 设置问题列表
// 设置问题列表 TUTORING
List<ApiRelQuestionsGroupDto> questionsDtoList = entry.getValue();
if (!CollectionUtils.isEmpty(questionsDtoList)) {
......@@ -486,6 +487,30 @@ public class ApiQuestionnairesServiceImpl implements ApiQuestionnairesService {
}
/**
* 问卷-批量复制新增答题会话
* @return
*/
@Override
public Result batchSaveAnswer(ApiBatchSaveAnswerRequest request) {
List<AnswerSessions> answerSessionsList = iAnswerSessionsService.queryList(AnswerSessionsDto.builder()
.objectBizId(request.getOldObjectBizId())
.questionnaireBizId(request.getQuestionnaireBizId())
.creatorId(request.getCreatorId())
.build());
if (!CollectionUtils.isEmpty(answerSessionsList)) {
answerSessionsList = answerSessionsList.stream().map(dto -> {
dto.setObjectBizId(request.getNewObjectBizId());
//答题会话业务ID
dto.setSessionId(RandomStringGenerator.generateBizId16(CommonEnum.UID_TYPE_ANSWER_SESSIONS.getCode()));
dto.setId(null);
return dto;
}).collect(Collectors.toList());
iAnswerSessionsService.saveOrUpdateBatch(answerSessionsList);
}
return Result.success();
}
/**
* 校验问卷信息是否存在
* @param questionnaireBizId
* @return
......
......@@ -3,6 +3,7 @@ package com.yd.question.feign.client;
import com.yd.common.result.Result;
import com.yd.question.feign.fallback.ApiQuestionnairesFeignFallbackFactory;
import com.yd.question.feign.request.ApiAnswerSaveRequest;
import com.yd.question.feign.request.ApiBatchSaveAnswerRequest;
import com.yd.question.feign.request.ApiObjectSaveRequest;
import com.yd.question.feign.response.ApiAnswerSaveResponse;
import com.yd.question.feign.response.ApiQuestionnairesDetailResponse;
......@@ -42,4 +43,11 @@ public interface ApiQuestionnairesFeignClient {
*/
@PostMapping("/object/save")
Result objectSave(@Validated @RequestBody ApiObjectSaveRequest request);
/**
* 问卷-批量复制新增答题会话
* @return
*/
@PostMapping("/batch/save/answer")
Result batchSaveAnswer(@Validated @RequestBody ApiBatchSaveAnswerRequest request);
}
......@@ -3,6 +3,7 @@ package com.yd.question.feign.fallback;
import com.yd.common.result.Result;
import com.yd.question.feign.client.ApiQuestionnairesFeignClient;
import com.yd.question.feign.request.ApiAnswerSaveRequest;
import com.yd.question.feign.request.ApiBatchSaveAnswerRequest;
import com.yd.question.feign.request.ApiObjectSaveRequest;
import com.yd.question.feign.response.ApiAnswerSaveResponse;
import com.yd.question.feign.response.ApiQuestionnairesDetailResponse;
......@@ -33,6 +34,11 @@ public class ApiQuestionnairesFeignFallbackFactory implements FallbackFactory<Ap
public Result objectSave(ApiObjectSaveRequest request) {
return null;
}
@Override
public Result batchSaveAnswer(ApiBatchSaveAnswerRequest request) {
return null;
}
};
}
}
package com.yd.question.feign.request;
import lombok.Data;
@Data
public class ApiBatchSaveAnswerRequest {
/**
* 答题的对象业务ID(被复制的对象业务ID)
*/
private String oldObjectBizId;
/**
* 答题的对象业务ID(新增的对象业务ID)
*/
private String newObjectBizId;
/**
* 答题选择的问卷唯一业务ID
*/
private String questionnaireBizId;
/**
* 创建人ID(答题用户人ID)
*/
private String creatorId;
}
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment