| | |
| | | package com.doumee.service.business.impl; |
| | | |
| | | import com.doumee.core.model.LoginUserInfo; |
| | | import com.doumee.core.model.PageData; |
| | | import com.doumee.core.model.PageWrap; |
| | | import com.doumee.core.utils.Constants; |
| | | import com.doumee.core.utils.Utils; |
| | | import com.doumee.dao.business.PlatformGroupMapper; |
| | | import com.doumee.dao.business.PlatformShowParamMapper; |
| | | import com.doumee.dao.business.join.PlatformJoinMapper; |
| | | import com.doumee.dao.business.model.Platform; |
| | | import com.doumee.dao.business.model.PlatformGroup; |
| | | import com.doumee.dao.business.model.PlatformShowParam; |
| | | import com.doumee.service.business.PlatformGroupService; |
| | | import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; |
| | | import com.baomidou.mybatisplus.core.conditions.update.UpdateWrapper; |
| | | import com.baomidou.mybatisplus.core.metadata.IPage; |
| | | import com.baomidou.mybatisplus.extension.plugins.pagination.Page; |
| | | import com.github.yulichang.wrapper.MPJLambdaWrapper; |
| | | import org.springframework.beans.factory.annotation.Autowired; |
| | | import org.springframework.stereotype.Service; |
| | | import org.springframework.util.CollectionUtils; |
| | | |
| | | import java.util.List; |
| | | import java.util.Objects; |
| | | import java.util.stream.Collectors; |
| | | |
| | | /** |
| | | * 月台_分组信息表Service实现 |
| | |
| | | |
| | | @Autowired |
| | | private PlatformGroupMapper platformGroupMapper; |
| | | |
| | | @Autowired |
| | | private PlatformJoinMapper platformJoinMapper; |
| | | |
| | | @Autowired |
| | | private PlatformShowParamMapper platformShowParamMapper; |
| | | |
| | | @Override |
| | | public Integer create(PlatformGroup platformGroup) { |
| | |
| | | QueryWrapper<PlatformGroup> wrapper = new QueryWrapper<>(platformGroup); |
| | | return platformGroupMapper.selectCount(wrapper); |
| | | } |
| | | |
| | | |
| | | @Override |
| | | public List<PlatformGroup> getAllPlatformGroup(Integer queryType,LoginUserInfo loginUserInfo) { |
| | | List<PlatformGroup> platformGroups = platformGroupMapper.selectList( |
| | | new QueryWrapper<PlatformGroup>() |
| | | .lambda().eq(PlatformGroup::getIsdeleted, Constants.ZERO) |
| | | .orderByAsc(PlatformGroup::getSortnum) |
| | | ); |
| | | //查询月台组下所有月台 |
| | | List<Platform> allPlatformList = platformJoinMapper.selectJoinList(Platform.class, |
| | | new MPJLambdaWrapper<Platform>() |
| | | .selectAll(Platform.class) |
| | | .eq(Platform::getIsdeleted, Constants.ZERO) |
| | | //TODO 待确认月台状态字段 |
| | | .eq(Objects.nonNull(queryType)&&!Constants.equalsInteger(queryType,Constants.ZERO),Platform::getStatus,Constants.ZERO) |
| | | ); |
| | | //处理我的月台信息 是否配置隐藏 |
| | | if(Constants.equalsInteger(queryType,Constants.TWO)){ |
| | | List<PlatformShowParam> platformShowParamList = platformShowParamMapper.selectList(new QueryWrapper<PlatformShowParam>() |
| | | .lambda() |
| | | .eq(PlatformShowParam::getIsdeleted, Constants.ZERO) |
| | | .eq(PlatformShowParam::getMemberId,loginUserInfo.getMemberId()) |
| | | ); |
| | | //如果未配置该数据 则全部显示 |
| | | if(CollectionUtils.isEmpty(platformShowParamList)){ |
| | | for (Platform platform:allPlatformList) { |
| | | platform.setShowConfig(true); |
| | | } |
| | | }else{ |
| | | //根据配置显示数据 |
| | | for (PlatformShowParam platformShowParam:platformShowParamList) { |
| | | for (Platform platform:allPlatformList) { |
| | | if(Constants.equalsInteger(platform.getId(),platformShowParam.getPlatformId())){ |
| | | platform.setShowConfig(true); |
| | | break; |
| | | } |
| | | } |
| | | } |
| | | } |
| | | } |
| | | for (PlatformGroup platformGroup:platformGroups) { |
| | | platformGroup.setPlatformList(allPlatformList.stream().filter(m->Constants.equalsInteger(m.getGroupId(),platformGroup.getId())).collect(Collectors.toList())); |
| | | } |
| | | return platformGroups; |
| | | } |
| | | |
| | | |
| | | } |