package com.ycl.platform.service.impl;
|
|
import com.baomidou.mybatisplus.extension.conditions.query.LambdaQueryChainWrapper;
|
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
|
import com.ycl.platform.domain.entity.CalculateRule;
|
import com.ycl.platform.domain.vo.CalculateRuleCascaderVO;
|
import com.ycl.platform.mapper.CalculateRuleMapper;
|
import com.ycl.platform.mapper.TContractMapper;
|
import com.ycl.platform.service.ICalculateRuleService;
|
import org.springframework.beans.factory.annotation.Autowired;
|
import org.springframework.stereotype.Service;
|
import utils.DateUtils;
|
|
import java.util.ArrayList;
|
import java.util.List;
|
import java.util.Map;
|
import java.util.stream.Collectors;
|
|
/**
|
* 违约规则Service业务层处理
|
*
|
* @author ruoyi
|
* @date 2024-04-01
|
*/
|
@Service
|
public class CalculateRuleServiceImpl extends ServiceImpl<CalculateRuleMapper, CalculateRule> implements ICalculateRuleService {
|
@Autowired
|
private CalculateRuleMapper calculateRuleMapper;
|
@Autowired
|
private TContractMapper contractMapper;
|
|
/**
|
* 查询违约规则
|
*
|
* @param id 违约规则主键
|
* @return 违约规则
|
*/
|
@Override
|
public CalculateRule selectDefaultRuleById(Long id) {
|
return calculateRuleMapper.selectById(id);
|
}
|
|
/**
|
* 查询违约规则列表
|
*
|
* @param calculateRule 违约规则
|
* @return 违约规则
|
*/
|
@Override
|
public List<CalculateRule> selectDefaultRuleList(CalculateRule calculateRule) {
|
return calculateRuleMapper.selectDefaultRuleList(calculateRule);
|
}
|
|
/**
|
* 新增违约规则
|
*
|
* @param calculateRule 违约规则
|
* @return 结果
|
*/
|
@Override
|
public int insertDefaultRule(CalculateRule calculateRule) {
|
calculateRule.setCreateTime(DateUtils.getNowDate());
|
return calculateRuleMapper.insertDefaultRule(calculateRule);
|
}
|
|
/**
|
* 修改违约规则
|
*
|
* @param calculateRule 违约规则
|
* @return 结果
|
*/
|
@Override
|
public int updateDefaultRule(CalculateRule calculateRule) {
|
calculateRule.setUpdateTime(DateUtils.getNowDate());
|
return calculateRuleMapper.updateDefaultRule(calculateRule);
|
}
|
|
/**
|
* 批量删除违约规则
|
*
|
* @param ids 需要删除的违约规则主键
|
* @return 结果
|
*/
|
@Override
|
public int deleteDefaultRuleByIds(Long[] ids) {
|
return calculateRuleMapper.deleteDefaultRuleByIds(ids);
|
}
|
|
/**
|
* 删除违约规则信息
|
*
|
* @param id 违约规则主键
|
* @return 结果
|
*/
|
@Override
|
public int deleteDefaultRuleById(Long id) {
|
return calculateRuleMapper.deleteDefaultRuleById(id);
|
}
|
|
@Override
|
public List<CalculateRule> getRuleListByContractId(Integer contractId) {
|
return new LambdaQueryChainWrapper<>(calculateRuleMapper)
|
.eq(CalculateRule::getContractId, contractId)
|
.list();
|
}
|
|
@Override
|
public List<CalculateRuleCascaderVO> getRuleListByUnitId(Integer unitId) {
|
List<CalculateRuleCascaderVO> ruleListByUnitId = calculateRuleMapper.getRuleListByUnitId(unitId, DateUtils.getDate());
|
Map<String, List<CalculateRuleCascaderVO>> map = ruleListByUnitId.stream().collect(Collectors.groupingBy(CalculateRuleCascaderVO::getRuleName));
|
List<CalculateRuleCascaderVO> result = new ArrayList<>();
|
map.forEach((str,list)->{
|
CalculateRuleCascaderVO vo = new CalculateRuleCascaderVO();
|
vo.setValue(str);
|
vo.setLabel(str);
|
vo.setChildren(list);
|
result.add(vo);
|
});
|
return result;
|
}
|
}
|