package com.ruoyi.gas.service.impl; import cn.hutool.core.bean.BeanUtil; import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; import com.baomidou.mybatisplus.core.toolkit.Wrappers; import com.ruoyi.common.core.mybatisplus.core.ServicePlusImpl; import com.ruoyi.common.core.page.PagePlus; import com.ruoyi.common.core.page.TableDataInfo; import com.ruoyi.common.utils.PageUtils; import com.ruoyi.common.utils.StringUtils; import com.ruoyi.gas.domain.GPipelineGasUser; import com.ruoyi.gas.domain.bo.GPipelineGasUserBo; import com.ruoyi.gas.domain.bo.GPipelineGasUserPhotoBo; import com.ruoyi.gas.domain.vo.GPipelineGasUserVo; import com.ruoyi.gas.mapper.GPipelineGasUserMapper; import com.ruoyi.gas.service.IGPipelineGasUserPhotoService; import com.ruoyi.gas.service.IGPipelineGasUserService; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; import java.util.Collection; import java.util.List; import java.util.Map; import java.util.stream.Collectors; /** * 非居民巡查Service业务层处理 * * @author ruoyi * @date 2024-05-16 */ @Service public class GPipelineGasUserServiceImpl extends ServicePlusImpl implements IGPipelineGasUserService { @Autowired private IGPipelineGasUserPhotoService service; @Override public GPipelineGasUserVo queryById(Long id){ GPipelineGasUserVo voById = getVoById(id); voById.setPhotoList(baseMapper.getPhoto(id)); // voById.setCreateByName(baseMapper.getName(voById.getCreateBy())); return voById; } @Override public TableDataInfo queryPageList(GPipelineGasUserBo bo) { PagePlus result = pageVo(PageUtils.buildPagePlus(), buildQueryWrapper(bo)); result.getRecordsVo().forEach(item -> { item.setPhotoList(baseMapper.getPhoto(item.getId())); item.setCreateByName(baseMapper.getName(item.getCreateBy())); }); return PageUtils.buildDataInfo(result); } @Override public List queryList(GPipelineGasUserBo bo) { // if (StringUtils.isNotEmpty(ranks)) { // bo.setUids(gUserService.getByRanks(ranks)); // } // PagePlus result = pageVo(PageUtils.buildPagePlus(), buildQueryWrapper(bo)); // result.getRecordsVo().forEach(item -> { // item.setPhotoList(baseMapper.getPhoto(item.getId())); // item.setCreateByName(baseMapper.getName(item.getCreateBy())); // }); return listVo(buildQueryWrapper(bo)); } private LambdaQueryWrapper buildQueryWrapper(GPipelineGasUserBo bo) { Map params = bo.getParams(); LambdaQueryWrapper lqw = Wrappers.lambdaQuery(); lqw.like(StringUtils.isNotBlank(bo.getUserName()), GPipelineGasUser::getUserName, bo.getUserName()); lqw.eq(bo.getUserNumber() != null, GPipelineGasUser::getUserNumber, bo.getUserNumber()); lqw.eq(StringUtils.isNotBlank(bo.getUserType()), GPipelineGasUser::getUserType, bo.getUserType()); lqw.eq(StringUtils.isNotBlank(bo.getValveAppearance()), GPipelineGasUser::getValveAppearance, bo.getValveAppearance()); lqw.eq(StringUtils.isNotBlank(bo.getSensitives()), GPipelineGasUser::getSensitives, bo.getSensitives()); lqw.eq(StringUtils.isNotBlank(bo.getType()), GPipelineGasUser::getType, bo.getType()); lqw.eq(StringUtils.isNotBlank(bo.getCabinetAppearance()), GPipelineGasUser::getCabinetAppearance, bo.getCabinetAppearance()); lqw.eq(StringUtils.isNotBlank(bo.getBoilerAppearance()), GPipelineGasUser::getBoilerAppearance, bo.getBoilerAppearance()); lqw.eq(StringUtils.isNotBlank(bo.getBoilerExterior()), GPipelineGasUser::getBoilerExterior, bo.getBoilerExterior()); lqw.eq(StringUtils.isNotBlank(bo.getPipeline()), GPipelineGasUser::getPipeline, bo.getPipeline()); lqw.eq(StringUtils.isNotBlank(bo.getMeasuringInstruments()), GPipelineGasUser::getMeasuringInstruments, bo.getMeasuringInstruments()); lqw.eq(StringUtils.isNotBlank(bo.getCateringStatus()), GPipelineGasUser::getCateringStatus, bo.getCateringStatus()); lqw.eq(StringUtils.isNotBlank(bo.getCateringExterior()), GPipelineGasUser::getCateringExterior, bo.getCateringExterior()); lqw.eq(StringUtils.isNotBlank(bo.getConnectingPipe()), GPipelineGasUser::getConnectingPipe, bo.getConnectingPipe()); lqw.eq(StringUtils.isNotBlank(bo.getCondensateBar()), GPipelineGasUser::getCondensateBar, bo.getCondensateBar()); lqw.eq(StringUtils.isNotBlank(bo.getReceptionModification()), GPipelineGasUser::getReceptionModification, bo.getReceptionModification()); lqw.eq(StringUtils.isNotBlank(bo.getPressureStatus()), GPipelineGasUser::getPressureStatus, bo.getPressureStatus()); lqw.eq(StringUtils.isNotBlank(bo.getCombustibleGas()), GPipelineGasUser::getCombustibleGas, bo.getCombustibleGas()); lqw.eq(StringUtils.isNotBlank(bo.getEmergencyShut()), GPipelineGasUser::getEmergencyShut, bo.getEmergencyShut()); lqw.eq(StringUtils.isNotBlank(bo.getSafetyValve()), GPipelineGasUser::getSafetyValve, bo.getSafetyValve()); lqw.eq(StringUtils.isNotBlank(bo.getFlowDirectionLabel()), GPipelineGasUser::getFlowDirectionLabel, bo.getFlowDirectionLabel()); lqw.eq(StringUtils.isNotBlank(bo.getFlowDirection()), GPipelineGasUser::getFlowDirection, bo.getFlowDirection()); lqw.eq(StringUtils.isNotBlank(bo.getFlammableMaterials()), GPipelineGasUser::getFlammableMaterials, bo.getFlammableMaterials()); lqw.eq(StringUtils.isNotBlank(bo.getPressure()), GPipelineGasUser::getPressure, bo.getPressure()); lqw.eq(StringUtils.isNotBlank(bo.getMixingGases()), GPipelineGasUser::getMixingGases, bo.getMixingGases()); lqw.eq(StringUtils.isNotBlank(bo.getHeavyHanging()), GPipelineGasUser::getHeavyHanging, bo.getHeavyHanging()); lqw.eq(StringUtils.isNotBlank(bo.getWireTangle()), GPipelineGasUser::getWireTangle, bo.getWireTangle()); lqw.eq(StringUtils.isNotBlank(bo.getOther()), GPipelineGasUser::getOther, bo.getOther()); lqw.eq(StringUtils.isNotBlank(bo.getSecurityCheckOne()), GPipelineGasUser::getSecurityCheckOne, bo.getSecurityCheckOne()); lqw.eq(StringUtils.isNotBlank(bo.getTeam()), GPipelineGasUser::getTeam, bo.getTeam()); lqw.eq(StringUtils.isNotBlank(bo.getSecurityCheckTwo()), GPipelineGasUser::getSecurityCheckTwo, bo.getSecurityCheckTwo()); lqw.eq(StringUtils.isNotBlank(bo.getSecurityCheckUser()), GPipelineGasUser::getSecurityCheckUser, bo.getSecurityCheckUser()); lqw.eq(bo.getSecurityCheckTime() != null, GPipelineGasUser::getSecurityCheckTime, bo.getSecurityCheckTime()); lqw.eq(StringUtils.isNotBlank(bo.getRepresentative()), GPipelineGasUser::getRepresentative, bo.getRepresentative()); lqw.eq(StringUtils.isNotBlank(bo.getPhone()), GPipelineGasUser::getPhone, bo.getPhone()); lqw.eq(StringUtils.isNotBlank(bo.getFlammableMaterialsLabel()), GPipelineGasUser::getFlammableMaterialsLabel, bo.getFlammableMaterialsLabel()); lqw.eq(StringUtils.isNotBlank(bo.getPressureLabel()), GPipelineGasUser::getPressureLabel, bo.getPressureLabel()); lqw.eq(StringUtils.isNotBlank(bo.getMixingGasesLabel()), GPipelineGasUser::getMixingGasesLabel, bo.getMixingGasesLabel()); lqw.eq(StringUtils.isNotBlank(bo.getHeavyHangingLabel()), GPipelineGasUser::getHeavyHangingLabel, bo.getHeavyHangingLabel()); lqw.eq(StringUtils.isNotBlank(bo.getWireTangleLabel()), GPipelineGasUser::getWireTangleLabel, bo.getWireTangleLabel()); lqw.orderByAsc(GPipelineGasUser::getCreateTime); return lqw; } @Override public Boolean insertByBo(GPipelineGasUserBo bo) { GPipelineGasUser add = BeanUtil.toBean(bo, GPipelineGasUser.class); validEntityBeforeSave(add); boolean flag = save(add); if (flag) { bo.setId(add.getId()); //添加照片 List piclist = bo.getPhotoList(); if (piclist != null) { for (int i = 0; i < bo.getPhotoList().size(); i++) { GPipelineGasUserPhotoBo photo = new GPipelineGasUserPhotoBo(); photo.setPipelineId(bo.getId()); photo.setPicUrl(bo.getPhotoList().get(i)); service.insertByBo(photo); } } } return flag; } @Override public Boolean updateByBo(GPipelineGasUserBo bo) { GPipelineGasUser update = BeanUtil.toBean(bo, GPipelineGasUser.class); validEntityBeforeSave(update); List piclist = bo.getPhotoList(); if (piclist != null) { //原有的照片 List photolist = baseMapper.getPhoto(bo.getId()); //原有的照片不在新传的照片里 List dellist = photolist.stream().filter(i -> !piclist.contains(i)).collect(Collectors.toList()); //删除照片 if (dellist.size() > 0) { service.deleteByUrl(bo.getId(), dellist); } //新传的照片不在原有的照片里 List inslist = piclist.stream().filter(i -> !photolist.contains(i)).collect(Collectors.toList()); if (inslist.size() > 0) { for (int i = 0; i < inslist.size(); i++) { if (StringUtils.isNotEmpty(inslist.get(i))) { //添加照片 GPipelineGasUserPhotoBo photo = new GPipelineGasUserPhotoBo(); photo.setPipelineId(bo.getId()); photo.setPicUrl(inslist.get(i)); service.insertByBo(photo); } } } } return updateById(update); } /** * 保存前的数据校验 * * @param entity 实体类数据 */ private void validEntityBeforeSave(GPipelineGasUser entity){ //TODO 做一些数据校验,如唯一约束 } @Override public Boolean deleteWithValidByIds(Collection ids, Boolean isValid) { if(isValid){ //TODO 做一些业务上的校验,判断是否需要校验 } return removeByIds(ids); } }