| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778 |
- package com.ydtech.modules.inv.service.impl;
- import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
- import com.baomidou.mybatisplus.core.metadata.IPage;
- import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
- import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
- import com.ydtech.core.page.PageRequest;
- import com.ydtech.modules.inv.dao.InvAccountExpensesMapper;
- import com.ydtech.modules.inv.model.InvAccountExpenses;
- import com.ydtech.modules.inv.service.InvAccountExpensesService;
- import org.springframework.beans.factory.annotation.Autowired;
- import org.springframework.stereotype.Service;
- import java.util.List;
- import java.util.Objects;
- import java.util.stream.Collectors;
- /**
- * @author Administrator
- * @description 针对表【ins_account_expenses(费用支出明细表)】的数据库操作Service实现
- * @createDate 2024-01-10 18:13:14
- */
- @Service
- public class InvAccountExpensesServiceImpl extends ServiceImpl<InvAccountExpensesMapper, InvAccountExpenses>
- implements InvAccountExpensesService {
- @Autowired
- InvAccountExpensesMapper invAccountExpensesMapper;
- @Override
- public IPage<InvAccountExpenses> selectExpensesList(InvAccountExpenses accountExpenses) {
- PageRequest pageRequest = new PageRequest();
- pageRequest.setPageNum(accountExpenses.getPageNo());
- pageRequest.setPageSize(accountExpenses.getPageSize());
- Page page = PageRequest.buildPageRequest(pageRequest);
- return invAccountExpensesMapper.selectExpensesList(page,accountExpenses);
- }
- public InvAccountExpenses getDetail(String id) {
- return invAccountExpensesMapper.selectById(id);
- }
- @Override
- public List<InvAccountExpenses> selectTreeList() {
- LambdaQueryWrapper<InvAccountExpenses> wrapper = new LambdaQueryWrapper<>();
- return getTree(invAccountExpensesMapper.selectList(wrapper));
- }
- /**
- * 组装树形结构结果集方法
- */
- public List<InvAccountExpenses> getTree(List<InvAccountExpenses> list){
- return list.stream().filter(accountExpenses -> accountExpenses.getParentId().equals("0"))
- .peek(accountExpenses -> accountExpenses.setChild(getChildren(accountExpenses,list))).collect(Collectors.toList());
- }
- public List<InvAccountExpenses> getChildren(InvAccountExpenses user,List<InvAccountExpenses> userList){
- return userList.stream().filter(u -> Objects.equals(u.getParentId(),user.getExpensesId())).map(
- u -> {
- u.setChild(getChildren(u,userList));
- return u;
- }
- ).collect(Collectors.toList());
- }
- }
|