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 implements NcCertService { @Autowired private NcCertMapper ncCertMapper; @Override public List getList(NcCertQuery query) { List ncCerts = ncCertMapper.selectList(new LambdaQueryWrapper() .eq(NcCert::getDelFlag, (byte) 0) .like(StringUtils.isNotEmpty(query.getName()), NcCert::getName, query.getName()) .eq(StringUtils.isNotEmpty(query.getIdcardNum()),NcCert::getIdcardNum,query.getIdcardNum()) ); 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> returnVo = JSONObject.parseObject(json, new TypeReference>>() {}); if(returnVo.getCode() == null || returnVo.getCode() != 200){ throw new ServiceException("拉取数据异常"); } if(returnVo.getData() == null){ throw new ServiceException("无数据可更新"); } //同步数据 List 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 getByIdCard(String idCard) { List ncCerts = baseMapper.selectList(new LambdaQueryWrapper().eq(NcCert::getDelFlag, (byte) 0) .eq(NcCert::getIdcardNum, idCard)); return ncCerts; } private boolean isExsit(Long certId){ NcCert ncCert = baseMapper.selectOne(new LambdaQueryWrapper() .eq(NcCert::getDelFlag, (byte) 0) .eq(NcCert::getCertId, certId)); if (ncCert != null){ return true; } return false; } }