孙永军 2 سال پیش
والد
کامیت
0777b5911d

+ 0 - 1
src/main/java/com/sxtvs/open/api/h5template/entity/H5OperateForm.java

@@ -22,7 +22,6 @@ public class H5OperateForm implements Serializable {
 
     private static final long serialVersionUID = 1L;
 
-    @TableId(value = "form_id", type = IdType.AUTO)
     private Long formId;
 
     private String columnKey;

+ 13 - 4
src/main/java/com/sxtvs/open/api/h5template/service/impl/H5OperateFormServiceImpl.java

@@ -1,5 +1,7 @@
 package com.sxtvs.open.api.h5template.service.impl;
 
+import cn.hutool.core.lang.Snowflake;
+import cn.hutool.core.util.IdUtil;
 import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
 import com.baomidou.mybatisplus.core.toolkit.Wrappers;
 import com.fasterxml.jackson.core.JsonProcessingException;
@@ -39,14 +41,15 @@ public class H5OperateFormServiceImpl extends ServiceImpl<H5OperateFormMapper, H
     private AliyunLogger logger;
 
     public void store(H5Operate h5Operate){
-        if(null == h5Operate.getOperateId()){
-            throw new BizException("无效的活动ID");
-        }
+        Snowflake snowflake = IdUtil.getSnowflake();
+
         try {
+
             List<Map<String, Object>> hoverList = objectMapper.readValue(h5Operate.getHoversList(), List.class);
             for (Map<String, Object> hover : hoverList){
                 for (Map<String, Object> component : ((List<Map<String, Object>>)hover.get("components"))){
-                    if(component.containsKey("child_list")){
+                    if("fromComponent".equals(component.get("type"))){
+                        Long formId = snowflake.nextId();
                         for (Map<String, Object> form : ((List<Map<String, Object>>)component.get("child_list"))){
 
                             Map<String, Object> attr = (Map<String, Object>) form.get("attr");
@@ -57,14 +60,20 @@ public class H5OperateFormServiceImpl extends ServiceImpl<H5OperateFormMapper, H
                             h5OperateForm.setOperateId(h5Operate.getOperateId());
                             h5OperateForm.setColumnKey((String) attr.get("key"));
                             h5OperateForm.setLabel((String) attr.get("label"));
+                            h5OperateForm.setFormId(formId);
                             save(h5OperateForm);
                         }
+
+                        component.put("formId", formId);
+                        component.put("operateId", h5Operate.getOperateId());
                     }
                 }
             }
+            h5Operate.setHoversList(objectMapper.writeValueAsString(hoverList));
         } catch (JsonProcessingException e) {
             throw new BizException("数据解析失败");
         }
+
     }
 
     public void update(H5Operate h5Operate){

+ 4 - 2
src/main/java/com/sxtvs/open/api/h5template/service/impl/H5OperateServiceImpl.java

@@ -1,5 +1,6 @@
 package com.sxtvs.open.api.h5template.service.impl;
 
+import cn.hutool.core.util.IdUtil;
 import com.sxtvs.open.api.h5template.entity.H5Operate;
 import com.sxtvs.open.api.h5template.entity.H5OperateForm;
 import com.sxtvs.open.api.h5template.entity.H5Template;
@@ -31,12 +32,13 @@ public class H5OperateServiceImpl extends ServiceImpl<H5OperateMapper, H5Operate
         h5Operate.setH5Status(0);
         h5Operate.setUpdateTime(LocalDateTime.now());
         if (null != h5Operate.getOperateId()){
-            updateById(h5Operate);
             h5OperateFormService.update(h5Operate);
+            updateById(h5Operate);
         }else{
             h5Operate.setCreateTime(LocalDateTime.now());
-            save(h5Operate);
+            h5Operate.setOperateId(IdUtil.getSnowflakeNextId());
             h5OperateFormService.store(h5Operate);
+            save(h5Operate);
         }
     }