guarantee-lsq 1 سال پیش
والد
کامیت
caf637ddf5
1فایلهای تغییر یافته به همراه44 افزوده شده و 6 حذف شده
  1. 44 6
      platform-service/src/main/java/com/platform/service/custom/impl/CustomFormServiceImpl.java

+ 44 - 6
platform-service/src/main/java/com/platform/service/custom/impl/CustomFormServiceImpl.java

@@ -1,25 +1,30 @@
 package com.platform.service.custom.impl;
 
+import cn.hutool.core.collection.CollectionUtil;
+import com.github.pagehelper.PageHelper;
 import com.platform.common.bean.AbstractPageResultBean;
+import com.platform.common.exception.DeniedException;
 import com.platform.common.util.BeanConverterUtil;
 import com.platform.common.util.IdGeneratorUtils;
 import com.platform.common.util.SecurityUtils;
+import com.platform.common.util.StringUtils;
 import com.platform.dao.bean.MyPage;
-import com.github.pagehelper.PageHelper;
-import com.platform.dao.vo.query.custom.CustomFormVO;
+import com.platform.dao.dto.custom.CustomFieldDTO;
 import com.platform.dao.dto.custom.CustomFormDTO;
 import com.platform.dao.entity.custom.CustomForm;
+import com.platform.dao.entity.custom.CustomFormBomField;
+import com.platform.dao.mapper.custom.CustomFormBomFieldMapper;
 import com.platform.dao.mapper.custom.CustomFormMapper;
+import com.platform.dao.vo.query.custom.CustomFormVO;
+import com.platform.service.base.impl.BaseServiceImpl;
 import com.platform.service.custom.CustomFormService;
+import lombok.AllArgsConstructor;
 import org.springframework.stereotype.Service;
-import com.platform.service.base.impl.BaseServiceImpl;
-import org.springframework.transaction.annotation.Transactional;
 import tk.mybatis.mapper.weekend.Weekend;
 import tk.mybatis.mapper.weekend.WeekendCriteria;
-import lombok.AllArgsConstructor;
 
-import javax.persistence.Id;
 import java.time.LocalDateTime;
+import java.util.ArrayList;
 import java.util.List;
 
 /**
@@ -32,6 +37,8 @@ import java.util.List;
 @Service("customFormService")
 public class CustomFormServiceImpl extends BaseServiceImpl<CustomFormMapper, CustomForm, CustomFormDTO> implements CustomFormService {
 
+    private final CustomFormBomFieldMapper customFormBomFieldMapper;
+
     @Override
     public int batchDelete(List<String> ids) {
         Weekend<CustomForm> weekend = new Weekend<>(CustomForm.class);
@@ -54,10 +61,41 @@ public class CustomFormServiceImpl extends BaseServiceImpl<CustomFormMapper, Cus
         form.setCreatedTime(LocalDateTime.now());
         form.setCreatedUserId(SecurityUtils.getUserInfo().getUserId());
         form.setCreatedUserName(SecurityUtils.getUserInfo().getRealName());
+        // 查询字段
+        if(CollectionUtil.isNotEmpty(record.getQueryFields())){
+            List<CustomFormBomField> fields = packageField(form.getId(),record.getQueryFields());
+            customFormBomFieldMapper.insertListforComplex(fields);
+        }
         mapper.insert(form);
         return form;
     }
 
+    private List<CustomFormBomField> packageField(String id, List<CustomFieldDTO> queryFields){
+        List<CustomFormBomField> fields = new ArrayList<CustomFormBomField>();
+        queryFields.forEach(field -> {
+            if(StringUtils.isBlank(field.getFieldName())){
+                throw new DeniedException("属性名称不能为空");
+            }
+            if(StringUtils.isBlank(field.getComments())){
+                throw new DeniedException("属性名称备注不能为空");
+            }
+            if(StringUtils.isBlank(field.getDataType())){
+                throw new DeniedException("属性数据类型不能为空");
+            }
+            CustomFormBomField bomField = new CustomFormBomField();
+            bomField.setId(IdGeneratorUtils.getObjectId());
+            bomField.setName(field.getComments());
+            bomField.setFormId(id);
+            bomField.setCreatedTime(LocalDateTime.now());
+            bomField.setCreatedUserId(SecurityUtils.getUserInfo().getUserId());
+            bomField.setCreatedUserName(SecurityUtils.getUserInfo().getRealName());
+            bomField.setFiledName(field.getFieldName());
+            bomField.setDataType(field.getDataType());
+            fields.add(bomField);
+        });
+        return fields;
+    }
+
     @Override
     public AbstractPageResultBean<CustomForm> selectPageInfo(CustomFormDTO record, int pageNum, int pageSize) {
         PageHelper.startPage(pageNum, pageSize);