Source/UBCS/ubcs-service/ubcs-code/src/main/java/com/vci/ubcs/code/service/impl/DockingSystemServiceImpl.java
@@ -4,7 +4,6 @@
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import com.vci.ubcs.code.dto.DockingSystemDTO;
import com.vci.ubcs.code.entity.CodeRule;
import com.vci.ubcs.code.entity.DockingSystem;
import com.vci.ubcs.code.entity.DockingSystemConfig;
import com.vci.ubcs.code.mapper.DockingSystemConfigMapper;
@@ -17,11 +16,17 @@
import com.vci.ubcs.starter.util.DefaultAttrAssimtUtil;
import com.vci.ubcs.starter.util.MdmBtmTypeConstant;
import com.vci.ubcs.starter.web.util.VciBaseUtil;
import com.vci.ubcs.system.user.entity.User;
import com.vci.ubcs.system.user.enums.UserEnum;
import com.vci.ubcs.system.user.enums.UserStatus;
import com.vci.ubcs.system.user.feign.IUserClient;
import org.springblade.core.secure.utils.AuthUtil;
import org.springblade.core.tool.api.R;
import org.springblade.core.tool.utils.BeanUtil;
import org.springblade.core.tool.utils.Func;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional;
import org.springframework.util.CollectionUtils;
import java.util.*;
@@ -54,28 +59,54 @@
    */
   @Autowired
   private RevisionModelUtil revisionModelUtil;
   @Override
   public boolean addSave(DockingSystemDTO dockingSystemDTO) {
   /**
    * 用户服务
    */
   @Autowired
   private IUserClient userClient;
   @Override
   @Transactional(rollbackFor = Exception.class)
   public boolean addSave(DockingSystemDTO dockingSystemDTO) {
      VciBaseUtil.alertNotNull(dockingSystemDTO, "需要添加的数据对象");
      //将DTO转换为DO
      DockingSystem dockingSystem = Objects.requireNonNull(BeanUtil.copy(dockingSystemDTO, DockingSystem.class));
      String userId = AuthUtil.getUserId().toString();
      DefaultAttrAssimtUtil.addDefaultAttrAssimt(dockingSystem, MdmBtmTypeConstant.SYS_INT_BASE);
      dockingSystem.setLctid(CODE_RULE_LC);
      dockingSystem.setLcStatus(FRAMEWORK_RELEASE_EDITING);
      return dockingSystemMapper.insert(dockingSystem)>0;
      boolean resInsert = dockingSystemMapper.insert(dockingSystem) > 0;
      if (!resInsert) {
         return false;
      }
      // 保存用户
      User user = new User(
         UserEnum.WEB.getCategory(),
         dockingSystem.getId().toLowerCase(Locale.ROOT),
         Func.md5Hex(dockingSystem.getId()),
         dockingSystem.getName(),
         dockingSystem.getName(),
         UserStatus.Enable.getValue()
      );
      resInsert = userClient.saveUser(user).isSuccess();
      return resInsert;
   }
   /**
    * 修改 系统集成的系统信息
    * @param dockingSystemDTO 系统集成的系统信息数据传输对象
    * @return 执行结果,success为true表示成功,msg是失败的提示信息,obj是添加完成后的显示对象
    */
   @Override
   @Transactional(rollbackFor = Exception.class)
   public DockingSystemVO editSave(DockingSystemDTO dockingSystemDTO) {
      VciBaseUtil.alertNotNull(dockingSystemDTO,"数据对象",dockingSystemDTO.getOid(),"系统集成的系统信息主键");
      //将DTO转换为DO
      DockingSystem dockingSystem = dockingSystemMapper.selectById(dockingSystemDTO.getOid());
      // 系统编号更改时账号也需要进行更改
      if(!dockingSystemDTO.getId().equals(dockingSystem.getId())){
         userClient.updateUserByAccount(dockingSystem.getId(),dockingSystemDTO.getId().toLowerCase(Locale.ROOT));
      }
      revisionModelUtil.copyFromDTOIgnore(dockingSystemDTO,dockingSystem);
      DefaultAttrAssimtUtil.updateDefaultAttrAssimt(dockingSystem);
      dockingSystemMapper.updateById(dockingSystem);
@@ -89,6 +120,7 @@
    * @throws VciBaseException
    */
   @Override
   @Transactional(rollbackFor = Exception.class)
   public boolean deleteDataById(String oids) throws VciBaseException {
      String message="";
      try {
@@ -111,11 +143,15 @@
         if(errorMap.size()>0){
            throw  new Throwable(errorMap.getOrDefault("error",""));
         }
         return   dockingSystemMapper.deleteBatchIds(VciBaseUtil.str2List(oids))>0;
         // 修改集成系统信息管理的用户为删除状态用户
         String accounts = dockingSystemList.stream().map(DockingSystem::getId).collect(Collectors.joining(","));
         userClient.updateStatusByAccount(accounts,"1");
         return dockingSystemMapper.deleteBatchIds(VciBaseUtil.str2List(oids))>0;
      }catch (Throwable e){
         e.printStackTrace();
         throw  new VciBaseException(e.getMessage());
      }
   }
}