linzhijie
2021-03-11 93af1c6ffb9ae0e894689ad3a37b548e57d54cff
src/main/java/com/ots/project/exam/service/impl/MemberServiceImpl.java
@@ -1,4 +1,5 @@
package com.ots.project.exam.service.impl;
import com.ots.common.utils.StringUtils;
import com.ots.framework.web.service.DictService;
import com.ots.project.exam.domain.EntDemographyInfo;
@@ -27,48 +28,63 @@
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional;
import java.util.Arrays;
import java.util.List;
import java.util.Objects;
import java.util.stream.Collectors;
import static com.ots.common.enums.ResponseCode.TEST_MEMBERINFO_EMPTY;
import static com.ots.common.enums.ResponseCode.TEST_URL_FAIL;
@Service
@Slf4j
public class MemberServiceImpl implements MemberService {
    //0未处理 1已完成 2答题中 3作废
    private static final String UNTREATED_0 = "0";
    private static final String DONE_1 = "1";
    private static final String ANSWERING_2 = "2";
    private static final String TIMEOUT_6 = "6";
    private List<String> status = Arrays.asList(UNTREATED_0, DONE_1, ANSWERING_2, TIMEOUT_6);
    @Autowired
    private IEntTestMemberService entTestMemberService;
    @Autowired
    private IEntDemographyParamService entDemographyParamService;
    @Autowired
    private IEntTestPackageService entTestPackageService;
    @Autowired
    private IEntDemographyInfoService entDemographyInfoService;
    @Autowired
    private DictService dictService;
    @Autowired
    private ISysUserExtendService sysUserExtendService;
    @Autowired
    private ITExamPaperService itExamPaperService;
    @Override
    public List<ParamDefine> getParamDefines(String token, String lang) {
        EntTestMember entTestMember = entTestMemberService.findEntTestMember(token, status);
        TEST_URL_FAIL.assertNotNull(entTestMember);
        Long testId = entTestMember.getTestId();
        Long memberId = entTestMember.getMemberId();
          //找到所属企业ID
        EntTestPackage entTestPackage = entTestPackageService.selectEntTestPackageById(testId);
        String paramCodes = entTestPackage.getParamCodes();
        if (Objects.isNull(paramCodes)) {
            return null;
        }
        //通过企业编码寻找人口学定义
        List<EntDemographyParam> entDemographyParams = entDemographyParamService.selectEntDemographyParamListByParamIn(paramCodes);
        if (Objects.isNull(entDemographyParams) || entDemographyParams.isEmpty()) {
            return null;
@@ -95,9 +111,10 @@
            paramDefine.setMemberId(memberId);
            return paramDefine;
        }).collect(Collectors.toList());
        //过滤空对象
        return result.stream().filter(a -> Objects.nonNull(a)).collect(Collectors.toList());
    }
    @Override
    public List<EntDemographyInfo> queryDemographyParamInfo(String token) {
        EntTestMember entTestMember = entTestMemberService.findEntTestMember(token, status);
@@ -108,6 +125,7 @@
        TEST_MEMBERINFO_EMPTY.assertNotEmpty(entDemographyInfos);
        return entDemographyInfos;
    }
    @Override
    @Transactional
    public void saveDemographyParamInfo(String token, List<ParamsInfo> infos, String langType) {
@@ -123,6 +141,7 @@
            }
        });
    }
    @Override
    public RelatedParty queryProdidByToken(String token) {
        RelatedParty party = new RelatedParty();
@@ -159,6 +178,7 @@
        }
        return party;
    }
    @Override
    public List<DictItemDto> queryLang(String token) {
        EntTestMember entTestMember = entTestMemberService.findEntTestMember(token, status);