Procházet zdrojové kódy

试验-规范管理-关联元素新增接口参数调整

LHB před 3 měsíci
rodič
revize
1bab59e7e6

+ 1 - 1
blade-service/blade-business/src/main/java/org/springblade/business/controller/StandardInfoController.java

@@ -127,7 +127,7 @@ public class StandardInfoController {
      */
     @ApiOperation(value = "关联元素")
     @PostMapping("saveElementJoin")
-    public R<Boolean> setElementJoin(@RequestBody @Validated List<StandardInfoPrivateJoinDTO> standardInfoPrivateJoins) {
+    public R<Boolean> setElementJoin(@RequestBody @Validated List<StandardInfoPrivateJoinVO> standardInfoPrivateJoins) {
         Boolean b = this.uStandardInfoService.setElementJoin(standardInfoPrivateJoins);
         return R.data(b);
     }

+ 1 - 1
blade-service/blade-business/src/main/java/org/springblade/business/service/StandardInfoService.java

@@ -30,7 +30,7 @@ public interface StandardInfoService extends IService<StandardInfo> {
 
     Boolean setCondition(List<StandardInfoVO> standardInfoJoins);
 
-    Boolean setElementJoin(List<StandardInfoPrivateJoinDTO> standardInfoPrivateJoins);
+    Boolean setElementJoin(List<StandardInfoPrivateJoinVO> standardInfoPrivateJoins);
 
     Boolean deleteConditionSet(Long leftId);
 

+ 28 - 13
blade-service/blade-business/src/main/java/org/springblade/business/service/impl/UStandardInfoServiceImpl.java

@@ -208,24 +208,39 @@ public class UStandardInfoServiceImpl extends ServiceImpl<StandardInfoMapper, St
 
     @Override
     @Transactional(rollbackFor = Exception.class)
-    public Boolean setElementJoin(List<StandardInfoPrivateJoinDTO> standardInfoPrivateJoins) {
+    public Boolean setElementJoin(List<StandardInfoPrivateJoinVO> standardInfoPrivateJoins) {
         BladeUser user = SecureUtil.getUser();
         List<StandardInfoPrivateJoin> saveData = new ArrayList<>();
+        List<Long> leftIds = new ArrayList<>();
 
         try {
-            for (StandardInfoPrivateJoinDTO standardInfoPrivateJoin : standardInfoPrivateJoins) {
-                Long leftId = standardInfoPrivateJoin.getLeftId();
-                List<StandardInfoPrivateJoin> rightIds = standardInfoPrivateJoin.getRightIds();
-                rightIds.forEach(f -> {
-                    f.setId(SnowFlakeUtil.getId());
-                    f.setStandardInfoId(leftId);
-                    f.setCreateUser(user.getUserId());
-                });
-                saveData.addAll(rightIds);
-                //删除之前的关联关系
-                standardInfoPrivateJoinService.remove(Wrappers.<StandardInfoPrivateJoin>lambdaQuery()
-                        .eq(StandardInfoPrivateJoin::getStandardInfoId, leftId));
+
+            for (StandardInfoPrivateJoinVO standardInfoPrivateJoin : standardInfoPrivateJoins) {
+                Long leftId = standardInfoPrivateJoin.getId();
+                leftIds.add(leftId);
+                List<StandardInfoPrivateJoinGroupVO> group = standardInfoPrivateJoin.getGroup();
+                //项目组
+                for (StandardInfoPrivateJoinGroupVO standardInfoPrivateJoinGroupVO : group) {
+                    //项目id
+                    Long privateId = standardInfoPrivateJoinGroupVO.getPrivateId();
+                    List<StandardElementVo> keys = standardInfoPrivateJoinGroupVO.getKeys();
+
+                    for (StandardElementVo key : keys) {
+                        StandardInfoPrivateJoin join = new StandardInfoPrivateJoin();
+                        join.setStandardInfoId(leftId);
+                        join.setId(SnowFlakeUtil.getId());
+                        join.setPrivateId(privateId);
+                        join.setColKey(key.getColKey());
+                        join.setColName(key.getColName());
+                        join.setCreateUser(user.getUserId());
+                        saveData.add(join);
+                    }
+                }
             }
+            //删除之前的关联关系
+            standardInfoPrivateJoinService.remove(Wrappers.<StandardInfoPrivateJoin>lambdaQuery()
+                    .in(StandardInfoPrivateJoin::getStandardInfoId, leftIds));
+
             return standardInfoPrivateJoinService.saveOrUpdateBatch(saveData);
         } catch (Exception e) {
             e.printStackTrace();