package com.ruoyi.station.service.impl; import java.util.List; import java.util.stream.Collectors; import com.ruoyi.common.utils.DateUtils; import com.ruoyi.common.utils.IdUtils; import com.ruoyi.station.domain.MjWorkUser; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; import com.ruoyi.station.mapper.MjAreaManagementMapper; import com.ruoyi.station.domain.MjAreaManagement; import com.ruoyi.station.service.IMjAreaManagementService; import com.ruoyi.common.core.text.Convert; /** * 区域管理Service业务层处理 * * @author ruoyi * @date 2020-08-06 */ @Service public class MjAreaManagementServiceImpl implements IMjAreaManagementService { @Autowired private MjAreaManagementMapper mjAreaManagementMapper; /** * 查询区域管理 * * @param id 区域管理ID * @return 区域管理 */ @Override public MjAreaManagement selectMjAreaManagementById(String id) { MjAreaManagement mjAreaManagement= mjAreaManagementMapper.selectMjAreaManagementById(id); if(mjAreaManagement.getDelFlag()==1){ return null; }else { return mjAreaManagement; } } /** * 查询区域管理列表 * * @param mjAreaManagement 区域管理 * @return 区域管理 */ @Override public List selectMjAreaManagementList(MjAreaManagement mjAreaManagement) { List mjAreaManagements = mjAreaManagementMapper.selectMjAreaManagementList(mjAreaManagement); List list = mjAreaManagements.parallelStream() .filter(mjAreaManagement1 -> mjAreaManagement1.getDelFlag() == 0) .collect(Collectors.toList()); return list; } /** * 新增区域管理 * * @param mjAreaManagement 区域管理 * @return 结果 */ @Override public int insertMjAreaManagement(MjAreaManagement mjAreaManagement) { mjAreaManagement.setCreateTime(DateUtils.getNowDate()); mjAreaManagement.setUpdateTime(DateUtils.getNowDate()); mjAreaManagement.setId(IdUtils.fastSimpleUUID()); if(mjAreaManagement.getDelFlag()==null){ mjAreaManagement.setDelFlag(0); } return mjAreaManagementMapper.insertMjAreaManagement(mjAreaManagement); } /** * 修改区域管理 * * @param mjAreaManagement 区域管理 * @return 结果 */ @Override public int updateMjAreaManagement(MjAreaManagement mjAreaManagement) { mjAreaManagement.setUpdateTime(DateUtils.getNowDate()); return mjAreaManagementMapper.updateMjAreaManagement(mjAreaManagement); } /** * 删除区域管理对象 * * @param ids 需要删除的数据ID * @return 结果 */ @Override public int deleteMjAreaManagementByIds(String ids) { int count=0; String[] strings = Convert.toStrArray(ids); for (String string : strings) { MjAreaManagement mjAreaManagement = mjAreaManagementMapper.selectMjAreaManagementById(string); mjAreaManagement.setDelFlag(1); mjAreaManagementMapper.updateMjAreaManagement(mjAreaManagement); count++; } return count; } /** * 删除区域管理信息 * * @param id 区域管理ID * @return 结果 */ @Override public int deleteMjAreaManagementById(String id) { MjAreaManagement areaManagement = new MjAreaManagement(); areaManagement.setAreaParentId(id); delAreas(areaManagement); //如果该区域下有子区域则一并删除 MjAreaManagement mjAreaManagement = mjAreaManagementMapper.selectMjAreaManagementById(id); mjAreaManagement.setDelFlag(1); return mjAreaManagementMapper.updateMjAreaManagement(mjAreaManagement); } private void delAreas(MjAreaManagement areaManagement) { List mjAreaManagements = mjAreaManagementMapper.selectMjAreaManagementList(areaManagement); //如果该区域下有子区域则一并删除 if(mjAreaManagements != null && mjAreaManagements.size() > 0) { for(MjAreaManagement area : mjAreaManagements) { area.setDelFlag(1); mjAreaManagementMapper.updateMjAreaManagement(area); MjAreaManagement am = new MjAreaManagement(); am.setAreaParentId(area.getId()); delAreas(am); } } } }