package com.ard.work.grid.service.impl; import com.ard.common.core.utils.DateUtils; import com.ard.common.core.utils.uuid.IdUtils; import com.ard.common.datascope.annotation.DataScope; import com.ard.common.security.utils.SecurityUtils; import com.ard.work.grid.domain.ArdGridAreaEntity; import com.ard.work.grid.domain.ArdGridLibrayEntity; import com.ard.work.grid.mapper.ArdGridAreaEntityMapper; import com.ard.work.grid.mapper.ArdGridLibrayEntityMapper; import com.ard.work.grid.service.IArdGridLibrayEntityService; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; import java.util.ArrayList; import java.util.List; /** * 网格库Service业务层处理 * * @author XiaJiJian * @date 2024-09-27 */ @Service public class ArdGridLibrayEntityServiceImpl implements IArdGridLibrayEntityService { @Autowired private ArdGridLibrayEntityMapper ardGridLibrayEntityMapper; @Autowired private ArdGridAreaEntityMapper ardGridAreaEntityMapper; /** * 查询网格库 * * @param gridId 网格库主键 * @return 网格库 */ @Override public ArdGridLibrayEntity selectArdGridLibrayEntityByGridId(String gridId) { return ardGridLibrayEntityMapper.selectArdGridLibrayEntityByGridId(gridId); } /** * 查询网格库列表 * * @param ardGridLibrayEntity 网格库 * @return 网格库 */ @Override @DataScope(deptAlias = "d", userAlias = "u") public List selectArdGridLibrayEntityList(ArdGridLibrayEntity ardGridLibrayEntity) { return ardGridLibrayEntityMapper.selectArdGridLibrayEntityList(ardGridLibrayEntity); } /** * 新增网格库 * * @param ardGridLibrayEntity 网格库 * @return 结果 */ @Override public int insertArdGridLibrayEntity(ArdGridLibrayEntity ardGridLibrayEntity) { ardGridLibrayEntity.setGridId(IdUtils.simpleUUID()); ardGridLibrayEntity.setCreateBy(SecurityUtils.getUsername()); ardGridLibrayEntity.setCreateTime(DateUtils.getNowDate()); return ardGridLibrayEntityMapper.insertArdGridLibrayEntity(ardGridLibrayEntity); } /** * 修改网格库 * * @param ardGridLibrayEntity 网格库 * @return 结果 */ @Override public int updateArdGridLibrayEntity(ArdGridLibrayEntity ardGridLibrayEntity) { ardGridLibrayEntity.setUpdateBy(SecurityUtils.getUsername()); ardGridLibrayEntity.setUpdateTime(DateUtils.getNowDate()); return ardGridLibrayEntityMapper.updateArdGridLibrayEntity(ardGridLibrayEntity); } /** * 批量删除网格库 * * @param gridIds 需要删除的网格库主键 * @return 结果 */ @Override public int deleteArdGridLibrayEntityByGridIds(String[] gridIds) { int dels = ardGridLibrayEntityMapper.deleteArdGridLibrayEntityByGridIds(gridIds); //删除下属网格信息 deleteardGridAreaTable(gridIds); return dels; } /** * 删除网格库信息 * * @param gridId 网格库主键 * @return 结果 */ @Override public int deleteArdGridLibrayEntityByGridId(String gridId) { int del = ardGridLibrayEntityMapper.deleteArdGridLibrayEntityByGridId(gridId); //删除下属网格信息 String[] gridIds = new String[]{gridId}; deleteardGridAreaTable(gridIds); return del; } /** * 删除网格库信息的同时,也要删除网格库下网格信息。 * * @param gridIds */ private void deleteardGridAreaTable(String[] gridIds){ for (int i=0;i < gridIds.length; i++){ ArdGridAreaEntity ardGridAreaEntity = new ArdGridAreaEntity(); ardGridAreaEntity.setGridId(gridIds[i]); List gridLs = ardGridAreaEntityMapper.selectArdGridAreaEntityList(ardGridAreaEntity); if (!gridLs.isEmpty()) { List areaIdList = new ArrayList<>(); for(ArdGridAreaEntity entity : gridLs){ areaIdList.add(entity.getGridId()); } String[] areaIds = areaIdList.toArray(new String[0]); ardGridAreaEntityMapper.deleteArdGridAreaEntityByAreaIds(areaIds); } } } }