package com.gkhy.exam.noncoalmine.service.impl;
|
|
import com.alibaba.fastjson2.JSON;
|
import com.alibaba.fastjson2.JSONObject;
|
import com.alibaba.fastjson2.TypeReference;
|
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
|
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
|
import com.gkhy.exam.noncoalmine.entity.NcCert;
|
import com.gkhy.exam.noncoalmine.mapper.NcCertMapper;
|
import com.gkhy.exam.noncoalmine.model.query.NcCertQuery;
|
import com.gkhy.exam.noncoalmine.model.vo.ExamPlanExaminee;
|
import com.gkhy.exam.noncoalmine.model.vo.ExamPlanInfo;
|
import com.gkhy.exam.noncoalmine.model.vo.ReturnCertVO;
|
import com.gkhy.exam.noncoalmine.model.vo.ReturnVO;
|
import com.gkhy.exam.noncoalmine.service.NcCertService;
|
import com.ruoyi.common.enums.HttpMethod;
|
import com.ruoyi.common.exception.ServiceException;
|
import com.ruoyi.common.signature.SignatureUtils;
|
import com.ruoyi.common.utils.StringUtils;
|
import org.springframework.beans.BeanUtils;
|
import org.springframework.beans.factory.annotation.Autowired;
|
import org.springframework.stereotype.Service;
|
import org.springframework.util.CollectionUtils;
|
|
import java.util.List;
|
|
/**
|
* (NcCert)表服务实现类
|
*
|
* @author makejava
|
* @since 2023-09-15 17:14:35
|
*/
|
@Service("ncCertService")
|
public class NcCertServiceImpl extends ServiceImpl<NcCertMapper, NcCert> implements NcCertService {
|
@Autowired
|
private NcCertMapper ncCertMapper;
|
|
@Override
|
public List<NcCert> getList(NcCertQuery query) {
|
List<NcCert> ncCerts = ncCertMapper.selectList(new LambdaQueryWrapper<NcCert>()
|
.eq(NcCert::getDelFlag, (byte) 0)
|
.eq(StringUtils.isNotEmpty(query.getName()), NcCert::getName, query.getName())
|
);
|
return ncCerts;
|
}
|
|
@Override
|
public void syncCert(NcCertQuery query) {
|
if(StringUtils.isEmpty(query.getIdcardNum())){
|
throw new ServiceException("身份证号不能为空");
|
}
|
query.setIdcardTypeCode("01");
|
String bodyParam = JSON.toJSONString(query);
|
|
String json = SignatureUtils.getObject(bodyParam, "/api/v1/cert/query", HttpMethod.POST);
|
ReturnVO<List<ReturnCertVO>> returnVo = JSONObject.parseObject(json, new TypeReference<ReturnVO<List<ReturnCertVO>>>() {});
|
if(returnVo.getCode() == null || returnVo.getCode() != 200){
|
throw new ServiceException("拉取数据异常");
|
}
|
if(returnVo.getData() == null){
|
throw new ServiceException("无数据可更新");
|
}
|
//同步数据
|
List<ReturnCertVO> returnCertVOList = returnVo.getData();
|
if(!CollectionUtils.isEmpty(returnCertVOList)){
|
for (ReturnCertVO returnCertVo : returnCertVOList) {
|
NcCert ncCert = new NcCert();
|
BeanUtils.copyProperties(returnCertVo,ncCert);
|
ncCert.setCertId(returnCertVo.getId());
|
ncCert.setId(null);
|
ncCert.setDelFlag((byte) 0);
|
if(!isExsit(returnCertVo.getId())){
|
baseMapper.insert(ncCert);
|
}
|
}
|
}
|
}
|
|
@Override
|
public List<NcCert> getByIdCard(String idCard) {
|
List<NcCert> ncCerts = baseMapper.selectList(new LambdaQueryWrapper<NcCert>().eq(NcCert::getDelFlag, (byte) 0)
|
.eq(NcCert::getIdcardNum, idCard));
|
return ncCerts;
|
}
|
private boolean isExsit(Long certId){
|
NcCert ncCert = baseMapper.selectOne(new LambdaQueryWrapper<NcCert>()
|
.eq(NcCert::getDelFlag, (byte) 0)
|
.eq(NcCert::getCertId, certId));
|
if (ncCert != null){
|
return true;
|
}
|
return false;
|
}
|
}
|