60 lines
2.2 KiB
Java
Raw Normal View History

2025-01-27 21:47:33 +08:00
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());
}
}