From 6f08381705f1f7ef6c7753e2d57da897e354a8ec Mon Sep 17 00:00:00 2001 From: lizhengwei <171332584@qq.com> Date: Wed, 18 Feb 2026 18:06:13 +0800 Subject: [PATCH] =?UTF-8?q?h5=20=E5=8A=A8=E6=80=81=E8=A1=A8=E5=8D=95?= =?UTF-8?q?=EF=BC=8C=E6=8A=98=E8=85=BE=E4=B8=AD?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- ruoyi-site/ruoyi-h5/doc/http/form.http | 40 ++- .../java/com/luban/api/MallH5Application.java | 2 +- .../luban/api/controller/FormController.java | 126 --------- .../api/controller/H5FormController.java | 256 ++++++++++++++++++ .../api/controller/H5ProjectController.java | 35 +++ .../luban/api/controller/WorkController.java | 43 ++- .../api/convert/FormSubmissionConvert.java | 15 +- .../luban/api/dto/H5FormSubmissionDTO.java | 2 +- .../java/com/luban/api/dto/PageDtoBase.java | 8 +- .../java/com/luban/api/dto/WorkQueryDTO.java | 17 +- .../api/dto/query/H5ProjectQueryDTO.java | 13 +- .../java/com/luban/api/entity/H5Project.java | 2 +- .../com/luban/api/service/FormService.java | 55 ---- .../com/luban/api/service/H5FormService.java | 57 ++++ .../com/luban/api/service/WorkService.java | 11 + .../api/service/impl/FormServiceImpl.java | 61 ----- .../api/service/impl/H5FormServiceImpl.java | 174 ++++++++++++ .../service/impl/H5ProjectServiceImpl.java | 9 +- .../api/service/impl/WorkServiceImpl.java | 24 ++ .../src/main/resources/application.yml | 4 +- .../mapper/ruoyi-h5/H5ProjectMapper.xml | 3 + 21 files changed, 646 insertions(+), 311 deletions(-) delete mode 100644 ruoyi-site/ruoyi-h5/src/main/java/com/luban/api/controller/FormController.java create mode 100644 ruoyi-site/ruoyi-h5/src/main/java/com/luban/api/controller/H5FormController.java delete mode 100644 ruoyi-site/ruoyi-h5/src/main/java/com/luban/api/service/FormService.java create mode 100644 ruoyi-site/ruoyi-h5/src/main/java/com/luban/api/service/H5FormService.java delete mode 100644 ruoyi-site/ruoyi-h5/src/main/java/com/luban/api/service/impl/FormServiceImpl.java create mode 100644 ruoyi-site/ruoyi-h5/src/main/java/com/luban/api/service/impl/H5FormServiceImpl.java diff --git a/ruoyi-site/ruoyi-h5/doc/http/form.http b/ruoyi-site/ruoyi-h5/doc/http/form.http index 6727cdd43..6ac2571f4 100644 --- a/ruoyi-site/ruoyi-h5/doc/http/form.http +++ b/ruoyi-site/ruoyi-h5/doc/http/form.http @@ -1,26 +1,48 @@ ### 提交表单数据 -POST {{host}}/h5/form/submit +POST http://localhost:8080/form/submit Content-Type: application/json { "projectId": 1, + "formId": 461709, + "templateFormId": 450055, "formData": { - "name": "张三", - "age": 18, - "email": "zhangsan@example.com" + "19fef684-b6ef-4bfb-8d68-603c99444ac5": "文本内容", + "6cbf9138-a20d-428c-b635-291246da3926": "13255556645", + "14154ccc-c2b3-4d27-8eb2-e3e422af294f": "1713322582323@qq.com" } } -### 根据项目ID分页查询表单提交记录(带过滤条件) -POST {{host}}/h5/form/page/project/1?pageNum=1&pageSize=10 +### save表单版本+1 +POST http://localhost:8080/form/saveForm Content-Type: application/json { - "name": "张三1" + "projectId": 1, + "formId": 461709, + "templateFormId": 450055, + "formData": { + "19fef684-b6ef-4bfb-8d68-603c99444ac5": "测试版本+1", + "6cbf9138-a20d-428c-b635-291246da3926": "12345678901" + } +} + +### 根据项目ID分页查询表单提交记录 +POST http://localhost:8080/form/page/project/1?pageNum=1&pageSize=10 +Content-Type: application/json + +{ + "field1": "value1" } ### 根据提交记录ID获取表单数据详情 -GET {{host}}/h5/form/detail/1 +GET http://localhost:8080/form/detail/1 ### 根据项目ID获取所有表单数据 -GET {{host}}/h5/form/list/project/1 +GET http://localhost:8080/form/list/project/1 + +### 获取所有表单信息 +GET http://localhost:8080/form/editor/forms?templateId=450055&hasDeleted=true + +### 获取所有表单相关字段 +GET http://localhost:8080/form/editor/templateForms?templateFormId=450055 \ No newline at end of file diff --git a/ruoyi-site/ruoyi-h5/src/main/java/com/luban/api/MallH5Application.java b/ruoyi-site/ruoyi-h5/src/main/java/com/luban/api/MallH5Application.java index 9a424b279..9a1d9cfc8 100644 --- a/ruoyi-site/ruoyi-h5/src/main/java/com/luban/api/MallH5Application.java +++ b/ruoyi-site/ruoyi-h5/src/main/java/com/luban/api/MallH5Application.java @@ -10,7 +10,7 @@ import org.springframework.boot.autoconfigure.SpringBootApplication; * @author WeiHongBin */ @EnableDubbo -@SpringBootApplication +@SpringBootApplication(scanBasePackages = {"com.luban","com.dromara.md.form"}) public class MallH5Application { public static void main(String[] args) { diff --git a/ruoyi-site/ruoyi-h5/src/main/java/com/luban/api/controller/FormController.java b/ruoyi-site/ruoyi-h5/src/main/java/com/luban/api/controller/FormController.java deleted file mode 100644 index 1e1cc3f15..000000000 --- a/ruoyi-site/ruoyi-h5/src/main/java/com/luban/api/controller/FormController.java +++ /dev/null @@ -1,126 +0,0 @@ -package com.luban.api.controller; - -import com.baomidou.mybatisplus.core.metadata.IPage; -import com.luban.api.dto.H5FormSubmissionDTO; -import com.luban.api.entity.FormSubmission; -import com.luban.api.service.FormService; -import com.luban.api.util.JSON; -import io.swagger.v3.oas.annotations.Operation; -import io.swagger.v3.oas.annotations.tags.Tag; -import jakarta.servlet.http.HttpServletRequest; -import lombok.Getter; -import lombok.Setter; -import lombok.extern.slf4j.Slf4j; -import org.dromara.common.core.utils.ServletUtils; -import org.springframework.beans.factory.annotation.Autowired; -import org.springframework.web.bind.annotation.*; - -import java.util.List; -import java.util.Map; - -/** - *
- * 表单控制器 - *
- * - * @author your-name - */ -@RestController -@RequestMapping("/form") -@Tag(name = "表单管理", description = "表单提交与查询") -@Slf4j -public class FormController { - - @Autowired - private FormService formService; - - @Autowired - private JSON json; - - - /** - * save表单版本+1 - */ - @Operation(summary = "save表单版本+1") - @PostMapping("/saveForm") - public Boolean saveForm(@RequestBody SubmitFormRequest request, HttpServletRequest httpRequest) { - //TODO待完成 - return null; - } - - - /** - * 提交表单数据 - * - * @param request 请求体包含表单数据 - * @return 是否提交成功 - */ - @Operation(summary = "提交表单数据") - @PostMapping("/submit") - public Boolean submitForm(@RequestBody SubmitFormRequest request, HttpServletRequest httpRequest) { - // 获取客户端IP地址 - String ipAddress = ServletUtils.getClientIP(); - // 获取User-Agent - String userAgent = httpRequest.getHeader("User-Agent"); - - H5FormSubmissionDTO dto = new H5FormSubmissionDTO(); - dto.setProjectId(request.getProjectId()); - //TODO TODO待完成 formId - dto.setFormId(null); - dto.setTempletFormId(null); - dto.setFormData(request.getFormData()); - dto.setIpAddress(ipAddress); - dto.setUserAgent(userAgent); - return formService.submitFormData(dto); - } - - /** - * 根据项目ID分页查询表单提交记录 - * - * @param projectId 项目ID - * @param fieldFilters 字段过滤条件 - * @param pageNum 页码 - * @param pageSize 每页大小 - * @return 表单提交记录分页数据 - */ - @Operation(summary = "根据项目ID分页查询表单提交记录") - @PostMapping("/page/project/{projectId}") - public IPage+ * 表单控制器 + *
+ * + * @author your-name + */ +@RestController +@RequestMapping("/form") +@Tag(name = "表单管理", description = "表单提交与查询") +@Slf4j +public class H5FormController { + + @Autowired + private H5FormService formService; + + @Autowired + private JSON json; + + + /** + * save表单版本+1 + */ + @Operation(summary = "save表单版本+1") + @PostMapping("/saveForm") + public Boolean saveForm(@RequestBody SubmitFormRequest request, HttpServletRequest httpRequest) { + // 获取客户端IP地址 + String ipAddress = ServletUtils.getClientIP(); + // 获取User-Agent + String userAgent = httpRequest.getHeader("User-Agent"); + + H5FormSubmissionDTO dto = new H5FormSubmissionDTO(); + // 从请求中获取formId和templetFormId + dto.setFormId(request.getFormId()); + dto.setTempletFormId(request.getTemplateFormId()); + + // 如果formData为空,初始化为Map + Map