| | |
| | | package cn.gistack.sm.jcsb.service.impl; |
| | | |
| | | import cn.gistack.pwd.dto.CBCResultDTO; |
| | | import cn.gistack.pwd.dto.ResultDTO; |
| | | import cn.gistack.pwd.fegin.IPwdClient; |
| | | import cn.gistack.sm.jcsb.supo.DangerReportSUPO; |
| | | import cn.gistack.sm.jcsb.entity.DangerReport; |
| | | import cn.gistack.sm.jcsb.mapper.DangerReportMapper; |
| | | import cn.gistack.sm.jcsb.service.IDangerReportService; |
| | | import cn.gistack.sm.jcsb.vo.DangerReportVO; |
| | | import cn.gistack.sm.jcsb.vo.DeviceReportVO; |
| | | import cn.gistack.sm.jcsb.vo.StatisticsVO; |
| | | import cn.gistack.sm.sjztmd.entity.AttResBase; |
| | | import cn.gistack.sm.sjztmd.service.IAttResBaseService; |
| | | import com.alibaba.fastjson.JSONObject; |
| | | import com.baomidou.mybatisplus.core.metadata.IPage; |
| | | import org.springblade.core.mp.base.BaseServiceImpl; |
| | | import org.springblade.core.tool.api.R; |
| | | import org.springblade.core.tool.utils.BeanUtil; |
| | | import org.springframework.beans.factory.annotation.Autowired; |
| | | import org.springframework.stereotype.Service; |
| | | import org.springframework.transaction.annotation.Propagation; |
| | | import org.springframework.transaction.annotation.Transactional; |
| | | |
| | | import java.util.List; |
| | | |
| | |
| | | @Service |
| | | public class DangerReportServiceImpl extends BaseServiceImpl<DangerReportMapper, DangerReport> implements IDangerReportService { |
| | | |
| | | @Autowired |
| | | private IPwdClient pwdClient; |
| | | @Autowired |
| | | private IAttResBaseService attResBaseService; |
| | | |
| | | @Override |
| | | public List<DangerReportVO> getAll(DangerReport dangerReport) { |
| | | return baseMapper.getAll(dangerReport); |
| | | } |
| | | |
| | | @Override |
| | | public IPage<DangerReportVO> selectPage(IPage<DangerReportVO> page, DangerReportVO dangerReportVO) { |
| | | return page.setRecords(baseMapper.selectRecordPage(page,dangerReportVO)); |
| | | } |
| | | |
| | | @Override |
| | | public StatisticsVO getStatistics(String resGuid) { |
| | | return baseMapper.getStatistics(resGuid); |
| | | } |
| | | |
| | | @Override |
| | | public boolean saveUp(DangerReport dangerReport) { |
| | | // 填充加密内容 |
| | | DangerReportSUPO dangerReportSUPO = BeanUtil.copy(dangerReport, DangerReportSUPO.class); |
| | | |
| | | // 获取水库名称 |
| | | AttResBase attResBase = attResBaseService.getDetailByCode(dangerReport.getReservoirId()); |
| | | dangerReportSUPO.setReservoirName(attResBase.getName()); |
| | | |
| | | String message = JSONObject.toJSONString(dangerReportSUPO); |
| | | R<CBCResultDTO> cbcResultDTOR = pwdClient.getCBCMacEncipher(message); |
| | | if (cbcResultDTOR.getCode() != 200) { |
| | | return false; |
| | | } |
| | | String maced = cbcResultDTOR.getData().getMaced(); |
| | | String keyIndex = cbcResultDTOR.getData().getKeyIndex(); |
| | | String sm4iv = cbcResultDTOR.getData().getSm4IV(); |
| | | dangerReport.setMaced(maced); |
| | | dangerReport.setKeyindexs(keyIndex); |
| | | dangerReport.setSm4iv(sm4iv); |
| | | R<ResultDTO> resultDTOR = pwdClient.getEncrypt(sm4iv, keyIndex, message); |
| | | if (resultDTOR.getCode() != 200) { |
| | | return false; |
| | | } |
| | | dangerReport.setEncdata(resultDTOR.getData().getData()); |
| | | |
| | | return this.save(dangerReport); |
| | | } |
| | | |
| | | } |