ludc
2023-09-21 546f9efec9864dd6887ca47afb1c5634ce5fc070
Source/UBCS/ubcs-service/ubcs-code/src/main/java/com/vci/ubcs/code/service/impl/CodeApplyWebManagementServiceImpl.java
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,90 @@
package com.vci.ubcs.code.service.impl;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import com.vci.ubcs.code.entity.SystemClassifyRole;
import com.vci.ubcs.code.enumpack.FrameworkDataLCStatus;
import com.vci.ubcs.code.mapper.SystemClassifyRoleMapper;
import com.vci.ubcs.code.service.ICodeApplyWebManagementService;
import com.vci.ubcs.code.vo.pagemodel.CodeClassifyVO;
import com.vci.ubcs.starter.revision.model.TreeWrapperOptions;
import com.vci.ubcs.starter.revision.service.RevisionModelUtil;
import com.vci.ubcs.starter.util.DefaultAttrAssimtUtil;
import com.vci.ubcs.starter.web.pagemodel.Tree;
import jodd.util.StringUtil;
import org.springblade.core.secure.utils.AuthUtil;
import org.springblade.core.tool.api.R;
import org.springframework.stereotype.Service;
import javax.annotation.Resource;
import java.util.ArrayList;
import java.util.Date;
import java.util.Iterator;
import java.util.List;
import java.util.stream.Collectors;
@Service
public class CodeApplyWebManagementServiceImpl extends ServiceImpl<SystemClassifyRoleMapper, SystemClassifyRole> implements ICodeApplyWebManagementService {
   /**
    * ä¸Šçº§èŠ‚ç‚¹çš„å±žæ€§åç§°
    */
   public static  final String PARENT_FIELD_NAME = "classParentOid";
   /**
    * å¯¹è±¡çš„æ“ä½œ
    */
   @Resource
   private RevisionModelUtil revisionModelUtil;
   @Override
   public R batchAddSave(List<SystemClassifyRole> roleList,String systemOid,String systemId) {
      if(roleList.size() == 0){
         return R.fail("传入数据为空,请确认!!");
      }
      //先删除,再保存
      QueryWrapper<SystemClassifyRole> wrapper = new QueryWrapper<>();
      wrapper.eq("systemOid",systemOid);
      wrapper.eq("systemId",systemId);
      List<SystemClassifyRole> systemClassifyRoles = this.listByIds(roleList.stream().map(SystemClassifyRole ::getOid).collect(Collectors.toList()));;
      this.remove(wrapper);
      List<SystemClassifyRole> newSCRoles = new ArrayList<>();
      //数据处理
      systemClassifyRoles.stream().forEach(classifyRole ->{
         classifyRole.setCreator(String.valueOf(AuthUtil.getUser().getUserId()));
         classifyRole.setCreateTime(new Date());
         classifyRole.setLastModifier(String.valueOf(AuthUtil.getUser().getUserId()));
         classifyRole.setLastModifyTime(new Date());
         classifyRole.setTs(new Date());
      });
      newSCRoles.addAll(systemClassifyRoles);
      //处理新选择的数据
      roleList.stream().forEach(systemClassifyRole -> {
         if(StringUtil.isBlank(systemClassifyRole.getOid())){
            DefaultAttrAssimtUtil.addDefaultAttrAssimt(systemClassifyRole,"systemClassifyRole");
            systemClassifyRole.setSystemId(systemId);
            systemClassifyRole.setSystemOid(systemOid);
            systemClassifyRole.setTenantId(AuthUtil.getTenantId());
            systemClassifyRole.setSelected(true);
            newSCRoles.add(systemClassifyRole);
         }
      });
      //保存
      this.saveBatch(newSCRoles);
      return R.success("操作成功");
   }
   @Override
   public List<Tree> getSystemClassifyRoleTree(String systemOid, String systemId) {
      List<SystemClassifyRole> listSystemClassifyRole = baseMapper.getListSystemClassifyRole(systemOid, systemId);
      TreeWrapperOptions treeWrapperOptions = new TreeWrapperOptions(PARENT_FIELD_NAME);
      treeWrapperOptions.setOidFieldName("CLASSIFYOID");
      List<Tree> tree= revisionModelUtil.doListSystemClassTrees(listSystemClassifyRole,treeWrapperOptions,(SystemClassifyRole s) ->{
         //可以在这里处理树节点的显示
         return s.getClassifyId() + " " + s.getName() + (FrameworkDataLCStatus.DISABLED.getValue().equalsIgnoreCase(s
            .getLcStatus()) ? (" ã€åœç”¨ã€‘ ") : "");
      });
      return tree;
   }
}