| | |
| | | package com.doumee.service.business.impl; |
| | | |
| | | import com.doumee.core.constants.ResponseStatus; |
| | | import com.doumee.core.exception.BusinessException; |
| | | 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.Date; |
| | | import java.util.List; |
| | | import java.util.Objects; |
| | | import java.util.stream.Collectors; |
| | | |
| | | /** |
| | | * 月台_分组信息表Service实现 |
| | | * @author 江蹄蹄 |
| | | * @since 2024/04/28 16:06 |
| | | * @date 2024/06/28 10:03 |
| | | */ |
| | | @Service |
| | | public class PlatformGroupServiceImpl implements PlatformGroupService { |
| | |
| | | @Autowired |
| | | private PlatformGroupMapper platformGroupMapper; |
| | | |
| | | @Autowired |
| | | private PlatformJoinMapper platformJoinMapper; |
| | | |
| | | @Autowired |
| | | private PlatformShowParamMapper platformShowParamMapper; |
| | | |
| | | @Override |
| | | public Integer create(PlatformGroup platformGroup) { |
| | | if(platformGroup.getType() ==null |
| | | || platformGroup.getType()>2 |
| | | || platformGroup.getType()<0){ |
| | | throw new BusinessException(ResponseStatus.BAD_REQUEST); |
| | | } |
| | | if(platformGroupMapper.selectCount(new QueryWrapper<PlatformGroup>().lambda() |
| | | .eq(PlatformGroup::getIsdeleted,Constants.ZERO) |
| | | .eq(PlatformGroup::getType,platformGroup.getType()) |
| | | )>0){ |
| | | throw new BusinessException(ResponseStatus.BAD_REQUEST.getCode(),"对不起,该类型分组已经创建,请返回刷新页面查看!"); |
| | | } |
| | | platformGroup.setStatus(Constants.ZERO); |
| | | platformGroup.setIsdeleted(Constants.ZERO); |
| | | platformGroup.setCreator(platformGroup.getLoginUserInfo().getId()); |
| | | platformGroup.setCreateDate(new Date()); |
| | | platformGroup.setEditDate(platformGroup.getCreateDate()); |
| | | platformGroup.setEditor(platformGroup.getCreator()); |
| | | platformGroupMapper.insert(platformGroup); |
| | | return platformGroup.getId(); |
| | | } |
| | | |
| | | @Override |
| | | public void deleteById(Integer id) { |
| | | platformGroupMapper.deleteById(id); |
| | | PlatformGroup param = new PlatformGroup(); |
| | | param.setId(id); |
| | | param.setIsdeleted(Constants.ONE); |
| | | platformGroupMapper.updateById(param); |
| | | } |
| | | @Override |
| | | public void deleteById(Integer id,LoginUserInfo user) { |
| | | // platformGroupMapper.deleteById(id); |
| | | PlatformGroup param = new PlatformGroup(); |
| | | param.setId(id); |
| | | param.setIsdeleted(Constants.ONE); |
| | | param.setEditor(user.getId()); |
| | | param.setEditDate(new Date()); |
| | | platformGroupMapper.updateById(param); |
| | | } |
| | | |
| | | @Override |
| | |
| | | if (CollectionUtils.isEmpty(ids)) { |
| | | return; |
| | | } |
| | | platformGroupMapper.deleteBatchIds(ids); |
| | | for(Integer id : ids){ |
| | | deleteById(id); |
| | | } |
| | | } |
| | | @Override |
| | | public void deleteByIdInBatch(List<Integer> ids,LoginUserInfo user) { |
| | | if (CollectionUtils.isEmpty(ids)) { |
| | | return; |
| | | } |
| | | for(Integer id : ids){ |
| | | deleteById(id,user); |
| | | } |
| | | } |
| | | |
| | | @Override |
| | | public void updateById(PlatformGroup platformGroup) { |
| | | if(platformGroup.getType() ==null |
| | | || platformGroup.getType()>2 |
| | | || platformGroup.getType()<0){ |
| | | throw new BusinessException(ResponseStatus.BAD_REQUEST); |
| | | } |
| | | if(platformGroupMapper.selectCount(new QueryWrapper<PlatformGroup>().lambda() |
| | | .eq(PlatformGroup::getIsdeleted,Constants.ZERO) |
| | | .eq(PlatformGroup::getType,platformGroup.getType()) |
| | | .ne(PlatformGroup::getId,platformGroup.getId()) |
| | | )>0){ |
| | | throw new BusinessException(ResponseStatus.BAD_REQUEST.getCode(),"对不起,该类型分组已经创建,请返回刷新页面查看!"); |
| | | } |
| | | platformGroup.setEditDate(new Date()); |
| | | platformGroup.setEditor(platformGroup.getLoginUserInfo().getId()); |
| | | platformGroupMapper.updateById(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) |
| | | .select(" ( select count(1) from platform_job pj where t.id = pj.PLATFORM_ID and pj.STATUS = "+Constants.PlatformJobStatus.WORKING.getKey()+" ) as workStatus ") |
| | | .eq(Platform::getIsdeleted, Constants.ZERO) |
| | | .eq(Platform::getStatus, Constants.ZERO) |
| | | .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; |
| | | } |
| | | |
| | | |
| | | } |