package com.ydtech.modules.fnc.service.impl; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; import com.ydtech.core.page.HttpResult; import com.ydtech.modules.fnc.dao.InsuranceHandlingSettlementMonthMapper; import com.ydtech.modules.fnc.dto.InsuranceHandlingSettlementMonthDto; import com.ydtech.modules.fnc.entity.InsuranceHandlingSettlementMonthEntity; import com.ydtech.modules.fnc.service.InsuranceHandlingSettlementMonthService; import com.ydtech.modules.fnc.vo.InsuranceHandlingSettlementMonthVo; import lombok.extern.slf4j.Slf4j; import org.springframework.beans.BeanUtils; import org.springframework.stereotype.Service; import java.util.Comparator; import java.util.List; import java.util.Map; import java.util.stream.Collectors; /** *

* 保险手续费结算关联表 *

* * @author whp * @since 2024-08-16 */ @Slf4j @Service public class InsuranceHandlingSettlementMonthServiceImpl extends ServiceImpl implements InsuranceHandlingSettlementMonthService { @Override public List queryList(InsuranceHandlingSettlementMonthVo insuranceHandlingSettlementMonthVo) { List resultList = baseMapper.queryList(insuranceHandlingSettlementMonthVo); List latestRecords = resultList.stream() // 根据taskId分组,并收集每个taskId对应的所有记录 .collect(Collectors.groupingBy( InsuranceHandlingSettlementMonthDto::getTaskId, Collectors.toList() )) // 遍历每个分组,找出每组中createTime最新的记录 .entrySet().stream() .map(entry -> entry.getValue().stream() .max(Comparator.comparing(InsuranceHandlingSettlementMonthDto::getCreateTime)) .orElse(null) // 如果没有记录,则返回null(这里根据需求决定是否处理null) ) // 收集结果到新的List中 .collect(Collectors.toList()); return resultList; } /** * 结算新增 * * @param insuranceHandlingSettlementMonthVo * @return */ @Override public HttpResult insertByEntity(InsuranceHandlingSettlementMonthVo insuranceHandlingSettlementMonthVo) { InsuranceHandlingSettlementMonthEntity insuranceHandlingSettlementMonthEntity = new InsuranceHandlingSettlementMonthEntity(); BeanUtils.copyProperties(insuranceHandlingSettlementMonthVo, insuranceHandlingSettlementMonthEntity); baseMapper.insert(insuranceHandlingSettlementMonthEntity); return HttpResult.ok("结算成功"); } }