zhongrj
2024-12-24 64e6ac37d0bc034f849efa1d94792a7ef97c3adb
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
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
package org.springblade.modules.yw.service.impl;
 
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import org.apache.logging.log4j.util.Strings;
import org.springblade.common.cache.DictBizCache;
import org.springblade.core.tool.utils.BeanUtil;
import org.springblade.modules.yw.entity.FirmInfo;
import org.springblade.modules.yw.entity.RiskSourceEntity;
import org.springblade.modules.yw.excel.RiskSourceExcel;
import org.springblade.modules.yw.service.IFirmInfoService;
import org.springblade.modules.yw.vo.RiskSourceVO;
import org.springblade.modules.yw.mapper.RiskSourceMapper;
import org.springblade.modules.yw.service.IRiskSourceService;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import com.baomidou.mybatisplus.core.metadata.IPage;
 
import java.util.List;
import java.util.Map;
import java.util.Objects;
 
/**
 * 风险源表 服务实现类
 *
 * @author BladeX
 * @since 2024-10-28
 */
@Service
public class RiskSourceServiceImpl extends ServiceImpl<RiskSourceMapper, RiskSourceEntity> implements IRiskSourceService {
 
    @Autowired
    private IFirmInfoService firmInfoService;
 
    /**
     * 自定义分页查询
     * @param page
     * @param riskSource
     * @return
     */
    @Override
    public IPage<RiskSourceVO> selectRiskSourcePage(IPage<RiskSourceVO> page, RiskSourceVO riskSource) {
        List<RiskSourceVO> riskSourceVOS = baseMapper.selectRiskSourcePage(page, riskSource);
//        for (RiskSourceVO riskSourceVO : riskSourceVOS) {
//            if (!Strings.isBlank(riskSourceVO.getCategory())){
//                riskSourceVO.setCategory(
//                    DictBizCache.getValues("industry_category",riskSourceVO.getCategory())
//                );
//            }
//        }
        return page.setRecords(riskSourceVOS);
    }
 
    /**
     * 导入风险源信息
     * @param data
     * @param isCovered
     * @return
     */
    @Override
    public String importRiskSource(List<RiskSourceExcel> data, boolean isCovered) {
        for (RiskSourceExcel riskSourceExcel : data) {
            // 数据拷贝
            RiskSourceEntity riskSourceEntity = Objects.requireNonNull(BeanUtil.copy(riskSourceExcel, RiskSourceEntity.class));
            // 风险等级转换
            if (!Strings.isBlank(riskSourceExcel.getRiskLevel())){
                riskSourceEntity.setRiskLevel(Integer.parseInt(riskSourceExcel.getRiskLevel()));
            }
            // 设置企业
            setFirm(riskSourceExcel,riskSourceEntity);
            // 判断是否已经入库
            Long id = isSave(riskSourceExcel,riskSourceEntity);
            if (null!=id){
                if (isCovered){
                    // 覆盖更新
                    riskSourceEntity.setId(id);
                    updateById(riskSourceEntity);
                    continue;
                }
            }
            // 保存
            save(riskSourceEntity);
        }
        return null;
    }
 
    /**
     * 设置企业信息
     * @param riskSourceExcel
     * @param riskSourceEntity
     */
    private void setFirm(RiskSourceExcel riskSourceExcel, RiskSourceEntity riskSourceEntity) {
        QueryWrapper<FirmInfo> wrapper = new QueryWrapper<>();
        wrapper.eq("name",riskSourceExcel.getFirmName())
            .eq("is_deleted",0);
        FirmInfo firmInfo = firmInfoService.getOne(wrapper);
        if (null!=firmInfo){
            riskSourceEntity.setFirmId(firmInfo.getId());
        }
    }
 
    /**
     * 判断是否已经入库
     * @param riskSourceExcel
     * @return
     */
    private Long isSave(RiskSourceExcel riskSourceExcel,RiskSourceEntity riskSourceEntity) {
        QueryWrapper<RiskSourceEntity> wrapper = new QueryWrapper<>();
        wrapper.eq("firm_id",riskSourceEntity.getFirmId())
            .eq("name",riskSourceExcel.getName())
            .eq("is_deleted",0);
        RiskSourceEntity one = getOne(wrapper);
        if (null!=one){
            return one.getId();
        }
        return null;
    }
 
    /**
     * 风险源统计查询
     * @param riskSource
     * @return
     */
    @Override
    public List<Map<String, Object>> getStatisticData(RiskSourceVO riskSource) {
        // 风险源统计查询
        return baseMapper.getStatisticData(riskSource);
    }
}