Browse Source

兼容客户端调用时传递了对象id的情况

lijie 3 years ago
parent
commit
8c00abd515

+ 7 - 1
dmp-business/dmp-rwd/src/main/java/com/persagy/dmp/rwd/digital/service/impl/ObjectDigitalServiceImpl.java

@@ -84,7 +84,13 @@ public class ObjectDigitalServiceImpl implements IObjectDigitalService {
         Map<String, String> typeMap = typeService.queryObjTypeMap();
         voList.forEach(vo -> {
             // 生成ID
-            vo.setId(DigitalCommonUtils.fetchObjectId(vo.getProjectId(), vo.getObjType()));
+            if (StrUtil.isBlank(vo.getId())){
+                if (StrUtil.isNotBlank(vo.getObjType())){
+                    vo.setId(DigitalCommonUtils.fetchObjectId(vo.getProjectId(), vo.getObjType()));
+                }else {
+                    vo.setId(DigitalCommonUtils.fetchObjectId(vo.getProjectId(), typeMap.get(vo.getClassCode())));
+                }
+            }
             //设置对象类型-objType
             vo.setObjType(typeMap.get(vo.getClassCode()));
             vo.setValid(ValidEnum.TRUE.getType());

+ 4 - 0
dmp-comp/dmp-digital-starter/src/main/java/com/persagy/dmp/digital/entity/ObjectDigital.java

@@ -29,6 +29,10 @@ public class ObjectDigital extends AuditableEntity {
     /** 扩展属性列 */
     public static final String OBJ_TYPE = "obj_type";
 
+    /** 实体类必须有的属性 */
+    @TableId(value = "id",type = IdType.ASSIGN_ID)
+    private String id;
+
     /** 项目ID */
     private String projectId;
     /** 名称 */