From abd832383e0a6941352215a1b150a6fb0c50e7dc Mon Sep 17 00:00:00 2001
From: xiejun <xj@2023>
Date: 星期五, 24 十一月 2023 10:18:33 +0800
Subject: [PATCH] Merge remote-tracking branch 'origin/master'
---
Source/UBCS/ubcs-service/ubcs-code/src/main/java/com/vci/ubcs/code/service/impl/DockingSystemServiceImpl.java | 107 ++++++++++++++++++++++++++++++++++++++++++++---------
1 files changed, 88 insertions(+), 19 deletions(-)
diff --git a/Source/UBCS/ubcs-service/ubcs-code/src/main/java/com/vci/ubcs/code/service/impl/DockingSystemServiceImpl.java b/Source/UBCS/ubcs-service/ubcs-code/src/main/java/com/vci/ubcs/code/service/impl/DockingSystemServiceImpl.java
index 46a17e6..1186d51 100644
--- a/Source/UBCS/ubcs-service/ubcs-code/src/main/java/com/vci/ubcs/code/service/impl/DockingSystemServiceImpl.java
+++ b/Source/UBCS/ubcs-service/ubcs-code/src/main/java/com/vci/ubcs/code/service/impl/DockingSystemServiceImpl.java
@@ -1,24 +1,36 @@
package com.vci.ubcs.code.service.impl;
+import com.baomidou.mybatisplus.core.toolkit.Wrappers;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
-import com.vci.ubcs.code.constant.MdmBtmTypeConstant;
+
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;
import com.vci.ubcs.code.mapper.DockingSystemMapper;
import com.vci.ubcs.code.service.IDockingSystemService;
import com.vci.ubcs.code.vo.pagemodel.DockingSystemVO;
import com.vci.ubcs.code.wrapper.DockingSystemWrapper;
+import com.vci.ubcs.starter.exception.VciBaseException;
import com.vci.ubcs.starter.revision.service.RevisionModelUtil;
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.Objects;
+import java.util.*;
+import java.util.stream.Collectors;
import static com.vci.ubcs.code.constant.FrameWorkDefaultValueConstant.FRAMEWORK_RELEASE_EDITING;
import static com.vci.ubcs.code.constant.MdmLifeCycleConstant.CODE_RULE_LC;
@@ -36,53 +48,110 @@
@Autowired(required = false)
private DockingSystemMapper dockingSystemMapper;
+ /***
+ * 闆嗘垚绯荤粺绠$悊鏈嶅姟
+ */
+ @Autowired(required = false)
+ private DockingSystemConfigMapper dockingSystemConfigMapper;
+
/**
* 瀵硅薄鐨勬搷浣�
*/
@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, "闇�瑕佹坊鍔犵殑鏁版嵁瀵硅薄");
//灏咲TO杞崲涓篋O
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 鎵ц缁撴灉锛宻uccess涓簍rue琛ㄧず鎴愬姛锛宮sg鏄け璐ョ殑鎻愮ず淇℃伅锛宱bj鏄坊鍔犲畬鎴愬悗鐨勬樉绀哄璞�
*/
@Override
+ @Transactional(rollbackFor = Exception.class)
public DockingSystemVO editSave(DockingSystemDTO dockingSystemDTO) {
VciBaseUtil.alertNotNull(dockingSystemDTO,"鏁版嵁瀵硅薄",dockingSystemDTO.getOid(),"绯荤粺闆嗘垚鐨勭郴缁熶俊鎭富閿�");
//灏咲TO杞崲涓篋O
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);
return DockingSystemWrapper.build().entityVO(dockingSystem);
}
+ /***
+ * 鏍规嵁绯荤粺涓婚敭鍒犻櫎绯荤粺鍚嶇О
+ * @param oids
+ * @return
+ * @throws VciBaseException
+ */
@Override
- public boolean delSystemData(DockingSystemDTO dockingSystemDTO) {
- VciBaseUtil.alertNotNull(dockingSystemDTO,"绯荤粺闆嗘垚鐨勭郴缁熶俊鎭暟鎹璞�",dockingSystemDTO.getOid(),"绯荤粺闆嗘垚鐨勭郴缁熶俊鎭殑涓婚敭");
- /*DockingSystem dockingSystem = dockingSystemMapper.selectById(dockingSystemDTO.getOid());
- BaseResult baseResult = checkIsCanDeleteForDO(sysIntBaseDTO,sysIntBaseDO);
- if(baseResult.isSuccess()) {
+ @Transactional(rollbackFor = Exception.class)
+ public boolean deleteDataById(String oids) throws VciBaseException {
+ String message="";
+ try {
+ VciBaseUtil.alertNotNull(oids, "绯荤粺闆嗘垚鐨勭郴缁熶俊鎭殑涓婚敭");
+ List<DockingSystem> dockingSystemList = dockingSystemMapper.selectBatchIds(VciBaseUtil.str2List(oids));
+ Map<String/**绯荤粺oid**/, String/**绯荤粺鍚嶇О**/> systemNameMap = dockingSystemList.stream().collect(Collectors.toMap(s -> s.getOid(), t -> t.getName(),(o1, o2)->o2));
+ List<DockingSystemConfig> dockingSystemConfigList = dockingSystemConfigMapper.selectList(Wrappers.<DockingSystemConfig>query().lambda().in(DockingSystemConfig::getSourceSystemOid, VciBaseUtil.str2List(oids)));
+ Set<String> systemOidList=new HashSet<>();
+ Map<String,String> errorMap = new HashMap<>();
+ if (!CollectionUtils.isEmpty(dockingSystemConfigList)) {
+ dockingSystemConfigList.stream().forEach(dockingSystemConfig -> {
+ if(!systemOidList.contains(dockingSystemConfig.getSourceSystemOid())&&
+ systemNameMap.containsKey(dockingSystemConfig.getSourceSystemOid())){
+ String systemName=systemNameMap.get(dockingSystemConfig.getSourceSystemOid());
+ errorMap.put("error",errorMap.getOrDefault("error","") + ";"+systemName);
+ }
+ systemOidList.add(dockingSystemConfig.getSourceSystemOid());
+ });
+ }
+ if(errorMap.size()>0){
+ throw new Throwable(errorMap.getOrDefault("error",""));
+ }
+ // 淇敼闆嗘垚绯荤粺淇℃伅绠$悊鐨勭敤鎴蜂负鍒犻櫎鐘舵�佺敤鎴�
+ 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());
- }else{
- return baseResult;
}
- //鎵ц鍒犻櫎鎿嶄綔
- BatchCBO batchCBO = sysIntBaseMapper.deleteByPrimaryKey(sysIntBaseDO.getOid());
- return (batchCBO!=null && batchCBO.getDeleteCbos() !=null &&batchCBO.getDeleteCbos().size() > 0)?BaseResult.successMsg(DELETE_SUCCESS):BaseResult.fail(DELETE_FAIL);
-*/
- return false;
}
+
}
--
Gitblit v1.9.3