package com.ots.project.exam.restcontroller; import com.ots.project.exam.domain.EntDemographyInfo; import com.ots.project.exam.domain.EntDemographyParam; import com.ots.project.exam.domain.EntTestMember; import com.ots.project.exam.dto.DictItemDto; import com.ots.project.exam.dto.ParamDefine; import com.ots.project.exam.dto.ParamsInfo; import com.ots.project.exam.dto.RestResponse; import com.ots.project.exam.service.IEntDemographyParamService; import com.ots.project.exam.service.IEntTestMemberService; import com.ots.project.exam.service.ITReportTemplateService; import com.ots.project.exam.service.MemberService; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.web.bind.annotation.RestController; import javax.validation.Valid; import java.util.List; import java.util.Map; import java.util.Objects; import java.util.stream.Collectors; @RestController public class MemberControllerImpl implements MemberController { @Autowired private MemberService memberService; @Autowired private IEntTestMemberService entTestMemberService; @Autowired IEntDemographyParamService entDemographyParamService; @Autowired private ITReportTemplateService itReportTemplateService; @Override public RestResponse getdemographyParam(String token, String lang) { try { List collect = memberService.getParamDefines(token, lang); // 給姓名默认值 getMemberNameValue(collect); return RestResponse.ok(collect); } catch (Exception ex) { return RestResponse.fail(ex); } } private void getMemberNameValue(List collect) { EntTestMember entTestMember = entTestMemberService.selectEntTestMemberById(collect.get(0).getMemberId()); String paramIds = collect.stream().map(it -> { return it.getParamId().toString(); }).collect(Collectors.joining(",")); List entDemographyParams = entDemographyParamService.selectEntDemographyParamListByParamIn(paramIds); Map entDemographyParamsMap = entDemographyParams.stream().collect( Collectors.toMap(EntDemographyParam::getParamId, EntDemographyParam::getParamCode)); for (ParamDefine paramDefine : collect) { System.out.println(entDemographyParamsMap.get(paramDefine.getParamId())); if (Objects.equals(entDemographyParamsMap.get(paramDefine.getParamId()), "name")) { paramDefine.setParamValue(entTestMember.getMemberName()); } } } @Override public RestResponse queryDemographyParamInfo(String token) { try { List resluts = memberService.queryDemographyParamInfo(token); return RestResponse.ok(resluts); } catch (Exception ex) { return RestResponse.fail(ex); } } @Override public RestResponse saveDemographyParamInfo(@Valid List infos, String token, String langType) { try { memberService.saveDemographyParamInfo(token, infos, langType); return RestResponse.ok(); } catch (Exception ex) { return RestResponse.fail(ex); } } @Override public RestResponse memberAuth(String token) { try { return RestResponse.ok(); } catch (Exception ex) { return RestResponse.fail(ex); } } @Override public RestResponse queryLangList(String token, String reportTemplateId) { try { List resluts = memberService.queryLang(token); // 睿邻只有中文 // List tReportTemplateList = itReportTemplateService.selectTReportTemplates(reportTemplateId); // // 睿邻的只有中文 // for (TReportTemplate tReportTemplate : tReportTemplateList) { // if ("RuiLin".equals(tReportTemplate.getReportType())) { // for (DictItemDto dictData : resluts) { // if ("Chinese".equals(dictData.getDictValue())) { // List reslutChinese = new ArrayList<>(); // reslutChinese.add(dictData); // return RestResponse.ok(reslutChinese); // } // } // } // } return RestResponse.ok(resluts); } catch (Exception ex) { return RestResponse.fail(ex); } } }