xieb
2023-08-15 dc4652d39cea4f19a89c79c12a4053660c3312de
skjcmanager/skjcmanager-service/skjcmanager-sm/src/main/java/cn/gistack/sm/jcsb/service/impl/DangerReportServiceImpl.java
@@ -9,13 +9,19 @@
import cn.gistack.sm.jcsb.service.IDangerReportService;
import cn.gistack.sm.jcsb.vo.DangerReportVO;
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;
import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Propagation;
import org.springframework.transaction.annotation.Transactional;
import java.util.List;
@@ -31,6 +37,11 @@
   @Autowired
   private IPwdClient pwdClient;
   @Autowired
   private IAttResBaseService attResBaseService;
   @Autowired
   private IUserClient userClient;
   @Override
   public List<DangerReportVO> getAll(DangerReport dangerReport) {
@@ -48,10 +59,20 @@
   }
   @Override
   @Transactional
   public boolean saveUp(DangerReport dangerReport) {
      this.save(dangerReport);
      // 填充加密内容
      DangerReportSUPO dangerReportSUPO = BeanUtil.copy(dangerReport, DangerReportSUPO.class);
      // 获取水库名称
      AttResBase attResBase = attResBaseService.getDetailByCode(dangerReport.getReservoirId());
      dangerReportSUPO.setReservoirName(attResBase.getName());
      dangerReport.setReservoirName(attResBase.getName()); // 保存水库名称
      // 获取用户
      dangerReportSUPO.setCreateUserName(AuthUtil.getUser().getUserName());
      R<User> userR = userClient.userInfoById(Long.parseLong(dangerReportSUPO.getToUser()));
      dangerReportSUPO.setToUserName(userR.getData().getName());
      String message = JSONObject.toJSONString(dangerReportSUPO);
      R<CBCResultDTO> cbcResultDTOR =  pwdClient.getCBCMacEncipher(message);
      if (cbcResultDTOR.getCode() != 200) {
@@ -60,18 +81,17 @@
      String maced = cbcResultDTOR.getData().getMaced();
      String keyIndex = cbcResultDTOR.getData().getKeyIndex();
      String sm4iv = cbcResultDTOR.getData().getSm4IV();
      DangerReport ympo = new DangerReport();
      ympo.setId(dangerReport.getId());
      ympo.setMaced(maced);
      ympo.setKeyindexs(keyIndex);
      ympo.setSm4iv(sm4iv);
      dangerReport.setMaced(maced);
      dangerReport.setKeyindexs(keyIndex);
      dangerReport.setSm4iv(sm4iv);
      R<ResultDTO> resultDTOR = pwdClient.getEncrypt(sm4iv, keyIndex, message);
      if (resultDTOR.getCode() != 200) {
         return false;
      }
      ympo.setEncdata(resultDTOR.getData().getData());
      dangerReport.setEncdata(resultDTOR.getData().getData());
      return this.updateById(ympo);
      return this.save(dangerReport);
   }
}