xieb
2023-08-14 6df987540393b4a341fb4846a82da6a78e8b8039
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
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.StatisticsVO;
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.Transactional;
 
import java.util.List;
 
/**
 * @PROJECT_NAME: skjcmanager
 * @DESCRIPTION:
 * @USER: aix
 * @DATE: 2023/5/18 17:47
 */
@Service
public class DangerReportServiceImpl extends BaseServiceImpl<DangerReportMapper, DangerReport> implements IDangerReportService {
 
    @Autowired
    private IPwdClient pwdClient;
 
    @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
    @Transactional
    public boolean saveUp(DangerReport dangerReport) {
        this.save(dangerReport);
        DangerReportSUPO dangerReportSUPO = BeanUtil.copy(dangerReport, DangerReportSUPO.class);
        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 ympo = new DangerReport();
        ympo.setId(dangerReport.getId());
        ympo.setMaced(maced);
        ympo.setKeyindexs(keyIndex);
        ympo.setSm4iv(sm4iv);
        R<ResultDTO> resultDTOR = pwdClient.getEncrypt(sm4iv, keyIndex, message);
        if (resultDTOR.getCode() != 200) {
            return false;
        }
        ympo.setEncdata(resultDTOR.getData().getData());
 
        return this.updateById(ympo);
    }
 
}