linwe
2024-08-09 8b7258c9427882bb1798f1502eaa35184c6e374e
src/main/java/org/springblade/modules/patrol/service/impl/PatrolGroupServiceImpl.java
@@ -2,14 +2,21 @@
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.core.toolkit.Wrappers;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import org.springblade.common.utils.NodeTreeUtil;
import org.springblade.common.utils.SpringUtils;
import org.springblade.core.tool.node.TreeNode;
import org.springblade.core.tool.utils.BeanUtil;
import org.springblade.modules.patrol.dto.PatrolGroupDTO;
import org.springblade.modules.patrol.entity.PatrolGroup;
import org.springblade.modules.patrol.entity.PatrolGroupItem;
import org.springblade.modules.patrol.mapper.PatrolGroupMapper;
import org.springblade.modules.patrol.service.IPatrolGroupItemService;
import org.springblade.modules.patrol.service.IPatrolGroupService;
import org.springblade.modules.patrol.vo.PatrolGroupItemVO;
import org.springblade.modules.patrol.vo.PatrolGroupVO;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import java.util.List;
@@ -19,6 +26,15 @@
 */
@Service
public class PatrolGroupServiceImpl extends ServiceImpl<PatrolGroupMapper, PatrolGroup> implements IPatrolGroupService {
   @Autowired
   private IPatrolGroupItemService patrolGroupItemService;
   @Override
   public IPage<PatrolGroupVO> selectPatrolGroupPage(IPage<PatrolGroupVO> page, PatrolGroupVO patrolGroup) {
      patrolGroup.setIsDeleted(0);
      List<PatrolGroupVO> patrolGroupVOS = baseMapper.selectPatrolGroupPage(page, patrolGroup);
      return page.setRecords(patrolGroupVOS);
   }
   @Override
   public IPage<PatrolGroup> selectPatrolConfig(IPage<Object> page, PatrolGroup patrolGroup) {
@@ -32,16 +48,17 @@
   /**
    * 查询巡查项树数据
    *
    * @return
    */
   @Override
   public Object getPatrolGroupTree() {
   public Object getPatrolGroupTree(String type, String childType) {
      // 查询父树目录
      List<TreeNode> patrolGroupTree = baseMapper.getPatrolGroupTree();
      List<TreeNode> patrolGroupTree = baseMapper.getPatrolGroupTree(type);
      // 查询孩子树目录
      List<TreeNode> patrolGroupItemTree = baseMapper.getPatrolGroupItemTree();
      List<TreeNode> patrolGroupItemTree = baseMapper.getPatrolGroupItemTree(childType);
      // 数据处理
      return NodeTreeUtil.getNodeTree(patrolGroupTree,patrolGroupItemTree);
      return NodeTreeUtil.getNodeTree(patrolGroupTree, patrolGroupItemTree);
   }
   @Override
@@ -68,4 +85,48 @@
   public List<PatrolGroupDTO> getGroupDTORecord(String taskId) {
      return baseMapper.getGroupDTORecord(taskId);
   }
   @Override
   public boolean addTwo(PatrolGroupVO patrolGroup) {
      boolean orUpdate = saveOrUpdate(patrolGroup);
      if (orUpdate) {
         List<PatrolGroupItemVO> patrolGroupItemList = patrolGroup.getPatrolGroupItemList();
         for (PatrolGroupItemVO patrolGroupItemVO : patrolGroupItemList) {
            patrolGroupItemVO.setGroupId(patrolGroup.getId());
         }
         List<PatrolGroupItem> patrolGroupItems = BeanUtil.copy(patrolGroupItemList, PatrolGroupItem.class);
         patrolGroupItemService.saveOrUpdateBatch(patrolGroupItems);
      }
      return false;
   }
   @Override
   public boolean removePatrolGroupByIds(List<String> asList) {
      if (asList == null || asList.isEmpty()) {
         return false;
      }
      // 将IPatrolGroupItemService实例化提到循环外部以避免重复实例化
      IPatrolGroupItemService bean = SpringUtils.getBean(IPatrolGroupItemService.class);
      boolean allSuccess = true; // 记录是否有任何操作失败
      for (String id : asList) {
         try {
            PatrolGroup patrolGroup = baseMapper.selectById(id);
            if (patrolGroup != null) {
               patrolGroup.setIsDeleted(1);
               int update = baseMapper.updateById(patrolGroup);
               if (update > 0) {
                  allSuccess = bean.update(Wrappers.<PatrolGroupItem>lambdaUpdate()
                     .set(PatrolGroupItem::getIsDeleted, 1)
                     .eq(PatrolGroupItem::getGroupId, id));
               }
            }
         } catch (Exception e) {
            // 记录或处理异常,例如日志记录
            // log.error("Failed to remove patrol group by id: " + id, e);
            allSuccess = false;
         }
      }
      return allSuccess;
   }
}