Commit c2fdb311 by zhangxingmin

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

parent ba904922
...@@ -4,6 +4,7 @@ import com.yd.common.result.Result; ...@@ -4,6 +4,7 @@ import com.yd.common.result.Result;
import com.yd.question.api.service.ApiQuestionnairesService; import com.yd.question.api.service.ApiQuestionnairesService;
import com.yd.question.feign.client.ApiQuestionnairesFeignClient; import com.yd.question.feign.client.ApiQuestionnairesFeignClient;
import com.yd.question.feign.request.ApiAnswerSaveRequest; 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.request.ApiObjectSaveRequest;
import com.yd.question.feign.response.ApiAnswerSaveResponse; import com.yd.question.feign.response.ApiAnswerSaveResponse;
import com.yd.question.feign.response.ApiQuestionnairesDetailResponse; import com.yd.question.feign.response.ApiQuestionnairesDetailResponse;
...@@ -54,4 +55,13 @@ public class ApiQuestionnairesController implements ApiQuestionnairesFeignClient ...@@ -54,4 +55,13 @@ public class ApiQuestionnairesController implements ApiQuestionnairesFeignClient
public Result objectSave(ApiObjectSaveRequest request) { public Result objectSave(ApiObjectSaveRequest request) {
return apiQuestionnairesService.objectSave(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; ...@@ -2,6 +2,7 @@ package com.yd.question.api.service;
import com.yd.common.result.Result; import com.yd.common.result.Result;
import com.yd.question.feign.request.ApiAnswerSaveRequest; 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.request.ApiObjectSaveRequest;
import com.yd.question.feign.response.ApiAnswerSaveResponse; import com.yd.question.feign.response.ApiAnswerSaveResponse;
import com.yd.question.feign.response.ApiQuestionnairesDetailResponse; import com.yd.question.feign.response.ApiQuestionnairesDetailResponse;
...@@ -12,4 +13,6 @@ public interface ApiQuestionnairesService { ...@@ -12,4 +13,6 @@ public interface ApiQuestionnairesService {
Result<ApiAnswerSaveResponse> answerSave(ApiAnswerSaveRequest request); Result<ApiAnswerSaveResponse> answerSave(ApiAnswerSaveRequest request);
Result objectSave(ApiObjectSaveRequest request); Result objectSave(ApiObjectSaveRequest request);
Result batchSaveAnswer(ApiBatchSaveAnswerRequest request);
} }
...@@ -11,6 +11,7 @@ import com.yd.common.utils.RandomStringGenerator; ...@@ -11,6 +11,7 @@ import com.yd.common.utils.RandomStringGenerator;
import com.yd.question.api.service.ApiQuestionnairesService; import com.yd.question.api.service.ApiQuestionnairesService;
import com.yd.question.feign.dto.*; import com.yd.question.feign.dto.*;
import com.yd.question.feign.request.ApiAnswerSaveRequest; 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.request.ApiObjectSaveRequest;
import com.yd.question.feign.response.ApiAnswerSaveResponse; import com.yd.question.feign.response.ApiAnswerSaveResponse;
import com.yd.question.feign.response.ApiQuestionnairesDetailResponse; import com.yd.question.feign.response.ApiQuestionnairesDetailResponse;
...@@ -164,7 +165,7 @@ public class ApiQuestionnairesServiceImpl implements ApiQuestionnairesService { ...@@ -164,7 +165,7 @@ public class ApiQuestionnairesServiceImpl implements ApiQuestionnairesService {
ApiFirstCategoryDto firstCategoryDto = new ApiFirstCategoryDto(); ApiFirstCategoryDto firstCategoryDto = new ApiFirstCategoryDto();
firstCategoryDto.setFirstCategory(entry.getKey()); firstCategoryDto.setFirstCategory(entry.getKey());
// 设置问题列表 // 设置问题列表 TUTORING
List<ApiRelQuestionsGroupDto> questionsDtoList = entry.getValue(); List<ApiRelQuestionsGroupDto> questionsDtoList = entry.getValue();
if (!CollectionUtils.isEmpty(questionsDtoList)) { if (!CollectionUtils.isEmpty(questionsDtoList)) {
...@@ -486,6 +487,30 @@ public class ApiQuestionnairesServiceImpl implements ApiQuestionnairesService { ...@@ -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 * @param questionnaireBizId
* @return * @return
......
...@@ -3,6 +3,7 @@ package com.yd.question.feign.client; ...@@ -3,6 +3,7 @@ package com.yd.question.feign.client;
import com.yd.common.result.Result; import com.yd.common.result.Result;
import com.yd.question.feign.fallback.ApiQuestionnairesFeignFallbackFactory; import com.yd.question.feign.fallback.ApiQuestionnairesFeignFallbackFactory;
import com.yd.question.feign.request.ApiAnswerSaveRequest; 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.request.ApiObjectSaveRequest;
import com.yd.question.feign.response.ApiAnswerSaveResponse; import com.yd.question.feign.response.ApiAnswerSaveResponse;
import com.yd.question.feign.response.ApiQuestionnairesDetailResponse; import com.yd.question.feign.response.ApiQuestionnairesDetailResponse;
...@@ -42,4 +43,11 @@ public interface ApiQuestionnairesFeignClient { ...@@ -42,4 +43,11 @@ public interface ApiQuestionnairesFeignClient {
*/ */
@PostMapping("/object/save") @PostMapping("/object/save")
Result objectSave(@Validated @RequestBody ApiObjectSaveRequest request); 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; ...@@ -3,6 +3,7 @@ package com.yd.question.feign.fallback;
import com.yd.common.result.Result; import com.yd.common.result.Result;
import com.yd.question.feign.client.ApiQuestionnairesFeignClient; import com.yd.question.feign.client.ApiQuestionnairesFeignClient;
import com.yd.question.feign.request.ApiAnswerSaveRequest; 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.request.ApiObjectSaveRequest;
import com.yd.question.feign.response.ApiAnswerSaveResponse; import com.yd.question.feign.response.ApiAnswerSaveResponse;
import com.yd.question.feign.response.ApiQuestionnairesDetailResponse; import com.yd.question.feign.response.ApiQuestionnairesDetailResponse;
...@@ -33,6 +34,11 @@ public class ApiQuestionnairesFeignFallbackFactory implements FallbackFactory<Ap ...@@ -33,6 +34,11 @@ public class ApiQuestionnairesFeignFallbackFactory implements FallbackFactory<Ap
public Result objectSave(ApiObjectSaveRequest request) { public Result objectSave(ApiObjectSaveRequest request) {
return null; 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