60 lines
2.2 KiB
Java
60 lines
2.2 KiB
Java
package com.upchina.common.service;
|
|
|
|
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
|
|
import com.baomidou.mybatisplus.core.toolkit.Wrappers;
|
|
import com.upchina.common.entity.RiskLevel;
|
|
import com.upchina.common.handler.BizException;
|
|
import com.upchina.common.mapper.RiskLevelMapper;
|
|
import com.upchina.common.query.UpdateRiskLevelQuery;
|
|
import com.upchina.common.result.ResponseStatus;
|
|
import com.upchina.common.vo.BackendUserVO;
|
|
import com.upchina.common.vo.OnlyRiskLevelVO;
|
|
import com.upchina.common.vo.RiskLevelVO;
|
|
import com.upchina.rbac.entity.UserDept;
|
|
import com.upchina.rbac.service.UserService;
|
|
import org.springframework.stereotype.Service;
|
|
import org.springframework.transaction.annotation.Transactional;
|
|
|
|
import javax.annotation.Resource;
|
|
import java.util.List;
|
|
import java.util.Map;
|
|
import java.util.stream.Collectors;
|
|
|
|
@Service
|
|
public class RiskLevelService {
|
|
|
|
@Resource
|
|
private RiskLevelMapper riskLevelMapper;
|
|
|
|
@Resource
|
|
private UserService userService;
|
|
|
|
@Transactional(readOnly = true)
|
|
public List<RiskLevelVO> list() {
|
|
List<RiskLevelVO> riskLevelVoList;
|
|
List<RiskLevel> list = riskLevelMapper.selectList(Wrappers.emptyWrapper());
|
|
Map<Integer, UserDept> userMap = userService.getUserMap();
|
|
riskLevelVoList = list.stream().map(riskLevel ->
|
|
new RiskLevelVO(riskLevel, userMap.get(riskLevel.getUpdateUserId()))).collect(Collectors.toList());
|
|
return riskLevelVoList;
|
|
}
|
|
|
|
@Transactional
|
|
public void update(UpdateRiskLevelQuery query, BackendUserVO backendUserVO) {
|
|
RiskLevel risk = query.toPO(backendUserVO);
|
|
int rows = riskLevelMapper.updateById(risk);
|
|
if (rows == 0) throw new BizException(ResponseStatus.ID_NOT_EXIST_ERROR);
|
|
}
|
|
|
|
public OnlyRiskLevelVO getRisk(Integer productType) {
|
|
QueryWrapper<RiskLevel> wrapper = Wrappers.query();
|
|
wrapper.like("product_type", productType);
|
|
List<RiskLevel> list = riskLevelMapper.selectList(wrapper);
|
|
if (list.isEmpty()) {
|
|
throw new BizException(ResponseStatus.PRODUCT_TYPE_NOT_EXIST);
|
|
}
|
|
return new OnlyRiskLevelVO(list.get(0).getRiskLevel());
|
|
}
|
|
|
|
}
|