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 list() { List riskLevelVoList; List list = riskLevelMapper.selectList(Wrappers.emptyWrapper()); Map 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 wrapper = Wrappers.query(); wrapper.like("product_type", productType); List list = riskLevelMapper.selectList(wrapper); if (list.isEmpty()) { throw new BizException(ResponseStatus.PRODUCT_TYPE_NOT_EXIST); } return new OnlyRiskLevelVO(list.get(0).getRiskLevel()); } }