xieb
2023-10-19 1dd5d8f8a616f5cf3caa7828d46989c7d3dcafc4
skjcmanager/skjcmanager-service/skjcmanager-sm/src/main/java/cn/gistack/sm/jcsb/service/impl/DangerReportServiceImpl.java
@@ -11,9 +11,12 @@
import cn.gistack.sm.jcsb.vo.StatisticsVO;
import cn.gistack.sm.sjztmd.entity.AttResBase;
import cn.gistack.sm.sjztmd.service.IAttResBaseService;
import cn.gistack.system.user.entity.User;
import cn.gistack.system.user.feign.IUserClient;
import com.alibaba.fastjson.JSONObject;
import com.baomidou.mybatisplus.core.metadata.IPage;
import org.springblade.core.mp.base.BaseServiceImpl;
import org.springblade.core.secure.utils.AuthUtil;
import org.springblade.core.tool.api.R;
import org.springblade.core.tool.utils.BeanUtil;
import org.springframework.beans.factory.annotation.Autowired;
@@ -21,6 +24,9 @@
import org.springframework.transaction.annotation.Propagation;
import org.springframework.transaction.annotation.Transactional;
import java.io.Serializable;
import java.net.URLDecoder;
import java.net.URLEncoder;
import java.util.List;
/**
@@ -37,6 +43,9 @@
   @Autowired
   private IAttResBaseService attResBaseService;
   @Autowired
   private IUserClient userClient;
   @Override
   public List<DangerReportVO> getAll(DangerReport dangerReport) {
      return baseMapper.getAll(dangerReport);
@@ -44,7 +53,18 @@
   @Override
   public IPage<DangerReportVO> selectPage(IPage<DangerReportVO> page, DangerReportVO dangerReportVO) {
      return page.setRecords(baseMapper.selectRecordPage(page,dangerReportVO));
      List<DangerReportVO> dangerReportVOS = baseMapper.selectRecordPage(page, dangerReportVO);
      dangerReportVOS.forEach(item->{
         R<ResultDTO> res = pwdClient.getDecrypt(item.getSm4iv(), item.getKeyindexs(), item.getEncdata());
         if (res.getCode() == 200){
            item.setBase64Data(res.getData().getData());
         }
         item.setEncdata("");
         item.setKeyindexs("");
         item.setSm4iv("");
      });
      return page.setRecords(dangerReportVOS);
   }
   @Override
@@ -59,7 +79,34 @@
      // 获取水库名称
      AttResBase attResBase = attResBaseService.getDetailByCode(dangerReport.getReservoirId());
      dangerReportSUPO.setReservoirName(attResBase.getName());
      //转码后的水库名
      String encodeReservoirName = "";
      //转码后的上报人
      String encodeCreateUserName = "";
      //转码后的处理人
      String encodeToUserName = "";
      String encodeDesinfo = "";
      R<User> userR = userClient.userInfoById(Long.parseLong(dangerReportSUPO.getToUser()));
      R<User> createUser = userClient.userInfoById(dangerReportSUPO.getCreateUser());
      try {
         encodeReservoirName= URLEncoder.encode(attResBase.getName(), "UTF-8");
         encodeCreateUserName = URLEncoder.encode(createUser.getData().getName(), "UTF-8");
         encodeToUserName=URLEncoder.encode(userR.getData().getName(), "UTF-8");
         encodeDesinfo = URLEncoder.encode(dangerReport.getDesinfo(), "UTF-8");
      }catch (Exception e){
         System.out.println(e);
      }
      dangerReportSUPO.setReservoirName(encodeReservoirName);
      dangerReport.setReservoirName(attResBase.getName()); // 保存水库名称
      dangerReport.setReservoirId(attResBase.getGuid());
      // 获取用户
      dangerReportSUPO.setCreateUserName(encodeCreateUserName);
      dangerReportSUPO.setToUserName(encodeToUserName);
      dangerReportSUPO.setDesinfo(encodeDesinfo);
      String message = JSONObject.toJSONString(dangerReportSUPO);
      R<CBCResultDTO> cbcResultDTOR =  pwdClient.getCBCMacEncipher(message);
@@ -79,6 +126,22 @@
      dangerReport.setEncdata(resultDTOR.getData().getData());
      return this.save(dangerReport);
   }
   @Override
   public DangerReportVO getVODetail(String id) {
      DangerReport item = super.getById(id);
      DangerReportVO newEntity = new DangerReportVO();
      newEntity.setId(item.getId());
      R<ResultDTO> res = pwdClient.getDecrypt(item.getSm4iv(), item.getKeyindexs(), item.getEncdata());
      if (res.getCode() == 200){
         newEntity.setBase64Data(res.getData().getData());
         newEntity.setCreateTime(item.getCreateTime());
      }
      return newEntity;
   }
}