| | |
| | | package com.gkhy.exam.institutionalaccess.service.serviceImpl; |
| | | |
| | | import com.alibaba.fastjson2.JSONObject; |
| | | import com.alibaba.fastjson2.TypeReference; |
| | | import com.gkhy.exam.institutionalaccess.entity.*; |
| | | import com.ruoyi.system.domain.enums.AccessAddressType; |
| | | import com.gkhy.exam.institutionalaccess.model.query.ThStudyDetailQuery; |
| | | import com.gkhy.exam.institutionalaccess.model.resp.ThPlatformStudentRespDTO; |
| | | import com.gkhy.exam.institutionalaccess.model.vo.ThStudyAuthVO; |
| | | import com.gkhy.exam.institutionalaccess.model.vo.ThStudyDetailVO; |
| | | import com.gkhy.exam.institutionalaccess.model.vo.ThStudyTrackVO; |
| | | import com.gkhy.exam.institutionalaccess.service.*; |
| | | import com.gkhy.exam.institutionalaccess.utils.ConvertTimeUtils; |
| | | import com.ruoyi.common.utils.HttpClientUtil; |
| | | import com.gkhy.exam.noncoalmine.model.vo.ReturnVO; |
| | | import com.ruoyi.common.constant.ResultConstants; |
| | | import com.ruoyi.common.exception.BusinessException; |
| | | import com.ruoyi.common.exception.ServiceException; |
| | | import com.ruoyi.common.signature.AESUtils; |
| | | import com.ruoyi.system.domain.ThAccessAddress; |
| | | import com.ruoyi.system.service.ThAccessAddressService; |
| | | import org.slf4j.Logger; |
| | | import org.slf4j.LoggerFactory; |
| | | import org.springframework.beans.BeanUtils; |
| | | import org.springframework.beans.factory.annotation.Autowired; |
| | | import org.springframework.stereotype.Service; |
| | | import org.springframework.util.CollectionUtils; |
| | | import org.springframework.util.StringUtils; |
| | | |
| | | import java.util.ArrayList; |
| | | import java.util.List; |
| | | import java.util.*; |
| | | import java.util.stream.Collectors; |
| | | |
| | | @Service("ThStudyRecordManagerService") |
| | | public class ThStudyRecordManagerServiceImpl implements ThStudyRecordManagerService { |
| | | private Logger logger = LoggerFactory.getLogger(ThStudyRecordManagerServiceImpl.class); |
| | | |
| | | @Autowired |
| | | private ThStudyDetailService thStudyDetailService; |
| | | @Autowired |
| | |
| | | private ThBatchService thBatchService; |
| | | @Autowired |
| | | private ThStudentService studentService;; |
| | | @Autowired |
| | | private ThAccessAddressService thAccessAddressService; |
| | | |
| | | @Override |
| | | public List<ThStudyDetailVO> listByPage(ThStudyDetailQuery query) { |
| | |
| | | return thStudyDetailVOS; |
| | | } |
| | | |
| | | @Override |
| | | public ThPlatformStudentRespDTO getStudyRecordByIdcard(ThStudyDetailQuery query) { |
| | | if(StringUtils.isEmpty(query.getIdcard())){ |
| | | throw new BusinessException(this.getClass(), ResultConstants.PARAM_ERROR_NULL,"学生身份证不可为空"); |
| | | } |
| | | if(query.getInstitutionId() == null){ |
| | | throw new BusinessException(this.getClass(), ResultConstants.PARAM_ERROR_NULL,"学生所属机构不可为空"); |
| | | } |
| | | //获取该机构访问路径 |
| | | ThAccessAddress accessAddress = thAccessAddressService.getByInstitutionIdAndType(query.getInstitutionId(), AccessAddressType.STUDY_RECORD.getType()); |
| | | Map<String,String> params = new HashMap<>(); |
| | | params.put("idcard",query.getIdcard()); |
| | | String json = HttpClientUtil.doGet(accessAddress.getUrl(), params); |
| | | |
| | | ReturnVO<String> returnVo = JSONObject.parseObject(json, new TypeReference<ReturnVO<String>>() {}); |
| | | if(returnVo.getCode() == null || returnVo.getCode() != 200){ |
| | | throw new ServiceException("获取三方数据数据异常"); |
| | | } |
| | | ThPlatformStudentRespDTO thPlatformStudentRespDTO = null; |
| | | if(!StringUtils.isEmpty(returnVo.getData())){ |
| | | String decrypt = ""; |
| | | try { |
| | | decrypt = AESUtils.decrypt(returnVo.getData()); |
| | | }catch (Exception e){ |
| | | throw new BusinessException(this.getClass(), ResultConstants.SYSTEM_ERROR,"解密异常"); |
| | | } |
| | | if(!StringUtils.isEmpty(decrypt)){ |
| | | try { |
| | | thPlatformStudentRespDTO = JSONObject.parseObject(decrypt, new TypeReference<ThPlatformStudentRespDTO>() {}); |
| | | |
| | | }catch (Exception e){ |
| | | logger.error("学习实时记录反序列化失败!"); |
| | | throw new BusinessException(this.getClass(), ResultConstants.SERIALIZE_ERROR); |
| | | |
| | | } |
| | | } |
| | | |
| | | } |
| | | |
| | | return thPlatformStudentRespDTO; |
| | | } |
| | | |
| | | public static void main(String[] args) { |
| | | Map<String,String> params = new HashMap<>(); |
| | | params.put("idcard","652201198009174020"); |
| | | String s = HttpClientUtil.doGet("https://app.lgb360.com/egress/xj/getStuDetail", params); |
| | | System.out.println(s); |
| | | } |
| | | |
| | | |
| | | } |