h5 动态表单

This commit is contained in:
lizhengwei 2026-02-13 18:22:02 +08:00
parent 67c6b50c32
commit b3e9f1a218
17 changed files with 204 additions and 250 deletions

View File

@ -43,6 +43,22 @@
<groupId>org.dromara</groupId>
<artifactId>ruoyi-common-oss</artifactId>
</dependency>
<dependency>
<groupId>org.dromara</groupId>
<artifactId>ruoyi-common-tenant</artifactId>
</dependency>
<!-- Apache POI 核心库 -->
<dependency>
<groupId>org.apache.poi</groupId>
<artifactId>poi</artifactId>
<version>4.1.2</version>
</dependency>
<!-- Apache POI OOXML 支持(用于 .xlsx 文件) -->
<dependency>
<groupId>org.apache.poi</groupId>
<artifactId>poi-ooxml</artifactId>
<version>4.1.2</version>
</dependency>
</dependencies>
</project>

View File

@ -9,11 +9,10 @@ import com.pcloud.booksflow.form.service.FormTemplateFieldService;
import com.pcloud.booksflow.form.service.FormTemplateService;
import com.pcloud.booksflow.form.service.TenantInitializationService;
import com.pcloud.booksflow.form.utils.TenantHelper;
import com.pcloud.booksflow.form.utils.UserUtils;
import com.pcloud.common.dto.ResponseDto;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiOperation;
import lombok.extern.slf4j.Slf4j;
import org.dromara.common.tenant.helper.LoginHelper;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.*;
@ -63,23 +62,23 @@ public class FormController {
*/
@ApiOperation(value = "重置表单")
@GetMapping("/reset")
public ResponseDto<Long> reset(@RequestParam Long formId) {
public Long reset(@RequestParam Long formId) {
//查询模板中最大版本号的模板数据根据这个数据还原
Form _formOld = formService.getById(formId);
if (_formOld == null) {
return new ResponseDto<>(null);
return null;
}
Form _formTpl = TenantHelper.dynamic(BaseConstant.TplTenantId, () -> formService.getByCode(_formOld.getCode()));
if (_formTpl == null) {
return new ResponseDto<>(null);
return null;
}
FormTemplate maxTemplate = TenantHelper.dynamic(BaseConstant.TplTenantId, () -> formTemplateService.getMaxVersion(_formTpl.getId()));
if (maxTemplate == null) {
return new ResponseDto<>(null);
return null;
}
List<FormTemplateField> tplFields = TenantHelper.dynamic(BaseConstant.TplTenantId, () -> formTemplateFieldService.getByTemplateId(maxTemplate.getId(), null));
FormTemplate newTemplate = formTemplateService.saveUpVersion(formId, maxTemplate, tplFields);
return new ResponseDto<>(newTemplate.getId());
return newTemplate.getId();
}
/**
@ -89,8 +88,8 @@ public class FormController {
* @return 创建后的表单对象
*/
@PostMapping("/create")
public ResponseDto<Form> create(@RequestBody Form form) {
return new ResponseDto<>(formService.create(form));
public Form create(@RequestBody Form form) {
return formService.create(form);
}
/**
@ -100,8 +99,8 @@ public class FormController {
* @return 表单对象
*/
@GetMapping("/get")
public ResponseDto<Form> getById(@RequestParam Long id) {
return new ResponseDto<>(formService.getById(id));
public Form getById(@RequestParam Long id) {
return formService.getById(id);
}
/**
@ -112,8 +111,8 @@ public class FormController {
* @return 更新后的表单对象
*/
@PostMapping("/update")
public ResponseDto<Form> update(@RequestParam Long id, @RequestBody Form form) {
return new ResponseDto<>(formService.update(id, form));
public Form update(@RequestParam Long id, @RequestBody Form form) {
return formService.update(id, form);
}
/**
@ -123,8 +122,8 @@ public class FormController {
* @return 删除结果
*/
@PostMapping("/delete")
public ResponseDto<Integer> delete(@RequestParam Long id) {
return new ResponseDto<>(formService.delete(id));
public Integer delete(@RequestParam Long id) {
return formService.delete(id);
}
/**
@ -134,12 +133,12 @@ public class FormController {
* @return 表单列表
*/
@GetMapping("/list")
public ResponseDto<List<Form>> listByName(@RequestParam(required = false) String name) {
Long tenantId = UserUtils.getTenantId();
public List<Form> listByName(@RequestParam(required = false) String name) {
Long tenantId = Long.valueOf(LoginHelper.getTenantId());
boolean b = tenantInitializationService.initializeTenant(tenantId);
log.info("初始化结果:{} {}", tenantId, b);
return new ResponseDto<>(formService.listByName(name));
return formService.listByName(name);
}
}

View File

@ -1,5 +1,6 @@
package com.pcloud.booksflow.form.controller;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.pcloud.booksflow.form.api.constant.BaseConstant;
import com.pcloud.booksflow.form.api.dto.FormDictDTO;
import com.pcloud.booksflow.form.api.dto.FormFieldDictDTO;
@ -10,12 +11,10 @@ import com.pcloud.booksflow.form.mybatis.entity.FormDict;
import com.pcloud.booksflow.form.service.FormDictService;
import com.pcloud.booksflow.form.service.FormFieldDictService;
import com.pcloud.booksflow.form.service.TenantInitializationService;
import com.pcloud.booksflow.form.utils.UserUtils;
import com.pcloud.common.dto.ResponseDto;
import com.pcloud.common.page.PageBeanNew;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiOperation;
import lombok.extern.slf4j.Slf4j;
import org.dromara.common.tenant.helper.LoginHelper;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.validation.annotation.Validated;
import org.springframework.web.bind.annotation.*;
@ -46,7 +45,7 @@ public class FormDictController {
*/
@ApiOperation(value = "后端自用-勿动!!!-设置成模板")
@PostMapping("/copy")
public ResponseDto<Boolean> copy(@RequestParam Long sourceTenantId, @RequestParam(required = false) Long targetTenantId,
public Boolean copy(@RequestParam Long sourceTenantId, @RequestParam(required = false) Long targetTenantId,
@RequestBody List<String> configTypes) {
Long targetId;
if (targetTenantId == null) {
@ -54,7 +53,7 @@ public class FormDictController {
} else {
targetId = targetTenantId;
}
return new ResponseDto<>(tenantInitializationService.copyDict(sourceTenantId, targetId, configTypes));
return tenantInitializationService.copyDict(sourceTenantId, targetId, configTypes);
}
/**
@ -65,8 +64,8 @@ public class FormDictController {
*/
@ApiOperation("创建或更新表单字典")
@PostMapping("/createOrUpdate")
public ResponseDto<Long> createOrUpdate(@Validated @RequestBody FormDictDTO dto) {
return new ResponseDto<>(formDictService.createOrUpdate(dto));
public Long createOrUpdate(@Validated @RequestBody FormDictDTO dto) {
return formDictService.createOrUpdate(dto);
}
/**
@ -77,8 +76,8 @@ public class FormDictController {
*/
@ApiOperation("根据ID获取表单字典")
@GetMapping("/get")
public ResponseDto<FormDict> getById(@RequestParam Long id) {
return new ResponseDto<>(formDictService.getById(id));
public FormDict getById(@RequestParam Long id) {
return formDictService.getById(id);
}
/**
@ -89,8 +88,8 @@ public class FormDictController {
*/
@ApiOperation("删除表单字典")
@PostMapping("/delete")
public ResponseDto<Integer> delete(@RequestParam Long id) {
return new ResponseDto<>(formDictService.delete(id));
public Integer delete(@RequestParam Long id) {
return formDictService.delete(id);
}
/**
@ -104,15 +103,15 @@ public class FormDictController {
*/
@ApiOperation("获取表单字典列表")
@GetMapping("/list")
public ResponseDto<PageBeanNew<FormDict>> listByNameAndCode(@RequestParam(required = false) String name,
@RequestParam(required = false) String code,
@RequestParam(value = "currentPage", defaultValue = "0") Integer currentPage,
@RequestParam(value = "numPerPage", defaultValue = "10") Integer numPerPage) {
Long tenantId = UserUtils.getTenantId();
public IPage<FormDict> listByNameAndCode(@RequestParam(required = false) String name,
@RequestParam(required = false) String code,
@RequestParam(value = "currentPage", defaultValue = "0") Integer currentPage,
@RequestParam(value = "numPerPage", defaultValue = "10") Integer numPerPage) {
Long tenantId = Long.valueOf(LoginHelper.getTenantId());
boolean b = tenantInitializationService.initializeTenant(tenantId);
log.info("初始化结果:{} {}", tenantId, b);
return new ResponseDto<>(formDictService.listByNameAndCode(name, code, currentPage, numPerPage));
return formDictService.listByNameAndCode(name, code, currentPage, numPerPage);
}
/**
@ -123,9 +122,9 @@ public class FormDictController {
*/
@ApiOperation(value = "导出字典数据")
@PostMapping("/exportDicts")
public ResponseDto<List<FormDictVO>> exportDicts(@RequestBody List<String> configTypes) {
public List<FormDictVO> exportDicts(@RequestBody List<String> configTypes) {
if (configTypes == null || configTypes.isEmpty()) {
return new ResponseDto<>(Collections.emptyList());
return Collections.emptyList();
}
// 获取字典基本信息
@ -157,7 +156,7 @@ public class FormDictController {
result.add(dictVO);
}
return new ResponseDto<>(result);
return result;
}
/**
@ -168,20 +167,20 @@ public class FormDictController {
*/
@ApiOperation(value = "导入字典数据")
@PostMapping("/importDicts")
public ResponseDto<Map<String, Object>> importDicts(@RequestBody List<FormDictVO> formDictVOs) {
public Map<String, Object> importDicts(@RequestBody List<FormDictVO> formDictVOs) {
Map<String, Object> result = new HashMap<>();
if (formDictVOs == null || formDictVOs.isEmpty()) {
result.put("success", false);
result.put("message", "导入数据为空");
return new ResponseDto<>(result);
return result;
}
// 收集所有要导入的字典类型
Set<String> importConfigTypes = formDictVOs.stream()
.filter(item -> item != null && item.getCode() != null && item.getName() != null)
.map(FormDictVO::getCode)
.collect(Collectors.toSet());
.filter(item -> item != null && item.getCode() != null && item.getName() != null)
.map(FormDictVO::getCode)
.collect(Collectors.toSet());
// 检查要导入的字典类型是否已存在
importConfigTypes = formDictService.getNotExistConfigCode(importConfigTypes);
@ -220,9 +219,10 @@ public class FormDictController {
result.put("importedConfigTypes", importedConfigTypes);
result.put("ignoredConfigTypes", ignoredConfigTypes);
return new ResponseDto<>(result);
return result;
}
/**
* 导入字典项数据 TODO 导入性能优化
*
@ -259,4 +259,4 @@ public class FormDictController {
}
}
}
}

View File

@ -1,5 +1,6 @@
package com.pcloud.booksflow.form.controller;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.pcloud.booksflow.form.api.constant.BaseConstant;
import com.pcloud.booksflow.form.api.constant.FormFieldDictType;
import com.pcloud.booksflow.form.api.dto.FormFieldDictDTO;
@ -9,8 +10,6 @@ import com.pcloud.booksflow.form.mybatis.entity.FormFieldDict;
import com.pcloud.booksflow.form.service.FormDictService;
import com.pcloud.booksflow.form.service.FormFieldDictService;
import com.pcloud.booksflow.form.utils.TenantHelper;
import com.pcloud.common.dto.ResponseDto;
import com.pcloud.common.page.PageBeanNew;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiOperation;
import org.springframework.beans.factory.annotation.Autowired;
@ -43,8 +42,8 @@ public class FormFieldDictController {
* @return 创建后的表单字段配置对象
*/
@PostMapping("/createOrUpdate")
public ResponseDto<Long> createOrUpdate(@RequestBody FormFieldDictDTO dto) {
return new ResponseDto<>(formFieldDictService.createOrUpdate(dto));
public Long createOrUpdate(@RequestBody FormFieldDictDTO dto) {
return formFieldDictService.createOrUpdate(dto);
}
/**
@ -54,25 +53,25 @@ public class FormFieldDictController {
* @return 表单字段配置对象
*/
@GetMapping("/getList")
public ResponseDto<List<FormFieldDict>> getList(@RequestParam String configType,
@RequestParam(required = false) Long parentId,
@RequestParam(required = false) Integer status,
@RequestParam(required = false) Integer level) {
return new ResponseDto<>(formFieldDictService.getByConfigType(configType, parentId, status,level));
public List<FormFieldDict> getList(@RequestParam String configType,
@RequestParam(required = false) Long parentId,
@RequestParam(required = false) Integer status,
@RequestParam(required = false) Integer level) {
return formFieldDictService.getByConfigType(configType, parentId, status, level);
}
@GetMapping("/page")
public ResponseDto<PageBeanNew<FormFieldDictVO>> page(@RequestParam String configType,
@RequestParam(required = false) String queryStr,
@RequestParam(required = false) Integer status,
@RequestParam(value = "currentPage", defaultValue = "0") Integer currentPage,
@RequestParam(value = "numPerPage", defaultValue = "10") Integer numPerPage) {
return new ResponseDto<>(formFieldDictService.page(configType, queryStr,status, currentPage, numPerPage));
public IPage<FormFieldDictVO> page(@RequestParam String configType,
@RequestParam(required = false) String queryStr,
@RequestParam(required = false) Integer status,
@RequestParam(value = "currentPage", defaultValue = "0") Integer currentPage,
@RequestParam(value = "numPerPage", defaultValue = "10") Integer numPerPage) {
return formFieldDictService.page(configType, queryStr, status, currentPage, numPerPage);
}
@ApiOperation(value = "批量获取 表单字段配置根据configType")
@PostMapping("get")
public ResponseDto<Map<String, List<FormFieldDictVO>>> get(@RequestBody Map<String, FormFieldDictQ> q) {
public Map<String, List<FormFieldDictVO>> get(@RequestBody Map<String, FormFieldDictQ> q) {
Map<String, List<FormFieldDictVO>> map1 = formFieldDictService.get(q);
//比较 q在data中不存在的key
Map<String, FormFieldDictQ> q2 = new HashMap<>();
@ -85,14 +84,14 @@ public class FormFieldDictController {
//查询 通用字典不区分租户
Map<String, List<FormFieldDictVO>> map2 = TenantHelper.dynamic(BaseConstant.TplTenantId, () -> formFieldDictService.get(q2));
map1.putAll(map2);
return new ResponseDto<>(map1);
return map1;
}
@ApiOperation(value = "批量获取 表单字段配置根据configType")
@PostMapping("dict")
public ResponseDto<Map<String, List<FormFieldDictVO>>> dict(@RequestBody List<String> q) {
public Map<String, List<FormFieldDictVO>> dict(@RequestBody List<String> q) {
if (q == null) {
return new ResponseDto<>(new HashMap<>());
return new HashMap<>();
}
Map<String, FormFieldDictQ> map = new HashMap<>();
q.stream().distinct().forEach(key -> map.put(key, null));
@ -106,8 +105,8 @@ public class FormFieldDictController {
* @return 删除结果
*/
@PostMapping("/delete")
public ResponseDto<Integer> delete(@RequestParam Long id) {
return new ResponseDto<>(formFieldDictService.delete(id));
public Integer delete(@RequestParam Long id) {
return formFieldDictService.delete(id);
}
/**
@ -118,8 +117,8 @@ public class FormFieldDictController {
* @return 更新结果
*/
@PostMapping("/update-sort")
public ResponseDto<Integer> updateSortOrder(@RequestParam Long id, @RequestParam Integer sortOrder) {
return new ResponseDto<>(formFieldDictService.updateSortOrder(id, sortOrder));
public Integer updateSortOrder(@RequestParam Long id, @RequestParam Integer sortOrder) {
return formFieldDictService.updateSortOrder(id, sortOrder);
}
@ -131,8 +130,8 @@ public class FormFieldDictController {
* @return 更新结果
*/
@PostMapping("/update-status")
public ResponseDto<Integer> updateStatus(@RequestParam Long id, @RequestParam Integer status) {
return new ResponseDto<>(formFieldDictService.updateStatus(id, status));
public Integer updateStatus(@RequestParam Long id, @RequestParam Integer status) {
return formFieldDictService.updateStatus(id, status);
}
@ -142,8 +141,8 @@ public class FormFieldDictController {
* @return allConfigType
*/
@GetMapping("allConfigType")
public ResponseDto<Map<String, String>> allConfigType() {
return new ResponseDto<>(FormFieldDictType.getMap());
public Map<String, String> allConfigType() {
return FormFieldDictType.getMap();
}
}
}

View File

@ -4,11 +4,10 @@ import com.pcloud.booksflow.form.api.constant.BaseConstant;
import com.pcloud.booksflow.form.api.dto.FormTemplateDTO;
import com.pcloud.booksflow.form.api.vo.FormTemplateVO;
import com.pcloud.booksflow.form.service.FormTemplateService;
import com.pcloud.common.dto.ResponseDto;
import com.pcloud.common.exceptions.BizException;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiOperation;
import io.swagger.annotations.ApiParam;
import org.dromara.common.core.exception.ServiceException;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.validation.annotation.Validated;
import org.springframework.web.bind.annotation.*;
@ -33,8 +32,8 @@ public class FormTemplateController {
* @return 更新后的表单模板对象
*/
@PostMapping("/saveByVersion")
public ResponseDto<Long> saveByVersion(@Validated @RequestBody FormTemplateDTO dto) {
return new ResponseDto<>(formTemplateService.saveUpVersion(dto).getId());
public Long saveByVersion(@Validated @RequestBody FormTemplateDTO dto) {
return formTemplateService.saveUpVersion(dto).getId();
}
/**
@ -44,10 +43,10 @@ public class FormTemplateController {
* @return 表单模板对象
*/
@GetMapping("/get")
public ResponseDto<FormTemplateVO> getById(@RequestParam Long id,
@RequestParam(required = false) Boolean show,
@RequestParam(required = false) Boolean tree) {
return new ResponseDto<>(formTemplateService.getVOById(id, show, tree));
public FormTemplateVO getById(@RequestParam Long id,
@RequestParam(required = false) Boolean show,
@RequestParam(required = false) Boolean tree) {
return formTemplateService.getVOById(id, show, tree);
}
/**
@ -57,21 +56,21 @@ public class FormTemplateController {
*/
@ApiOperation(value = "获取最新版本表单模板", notes = "根据formId或formCode 获取最新版本的表单模板")
@GetMapping("/get/maxVersion")
public ResponseDto<FormTemplateVO> getMaxVersion(@ApiParam(value = "表单编码,参数二选一")
@RequestParam(required = false) String formCode,
@ApiParam(value = "表单id参数二选一")
@RequestParam(required = false) Long formId,
@ApiParam(value = "是否显示")
@RequestParam(required = false) Boolean show,
@ApiParam(value = "tree")
@RequestParam(required = false) Boolean tree) {
public FormTemplateVO getMaxVersion(@ApiParam(value = "表单编码,参数二选一")
@RequestParam(required = false) String formCode,
@ApiParam(value = "表单id参数二选一")
@RequestParam(required = false) Long formId,
@ApiParam(value = "是否显示")
@RequestParam(required = false) Boolean show,
@ApiParam(value = "tree")
@RequestParam(required = false) Boolean tree) {
if (formId == null && formCode == null) {
throw new ServiceException("formId or formCode is required");
}
if (formCode != null) {
return new ResponseDto<>(formTemplateService.getVOMaxVersion(formCode, show, tree));
return formTemplateService.getVOMaxVersion(formCode, show, tree);
} else {
return new ResponseDto<>(formTemplateService.getVOMaxVersion(formId, show, tree));
return formTemplateService.getVOMaxVersion(formId, show, tree);
}
}

View File

@ -3,7 +3,7 @@ package com.pcloud.booksflow.form.controller;
import com.pcloud.booksflow.form.api.constant.BaseConstant;
import com.pcloud.booksflow.form.mybatis.entity.FormTemplateField;
import com.pcloud.booksflow.form.service.FormTemplateFieldService;
import com.pcloud.common.dto.ResponseDto;
import io.swagger.annotations.Api;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.*;
@ -28,8 +28,8 @@ public class FormTemplateFieldController {
* @return 创建后的表单模板字段对象
*/
@PostMapping("/create")
public ResponseDto<FormTemplateField> create(@RequestBody FormTemplateField formTemplateField) {
return new ResponseDto<>(formTemplateFieldService.create(formTemplateField));
public FormTemplateField create(@RequestBody FormTemplateField formTemplateField) {
return formTemplateFieldService.create(formTemplateField);
}
/**
@ -39,8 +39,8 @@ public class FormTemplateFieldController {
* @return 表单模板字段对象
*/
@GetMapping("/get")
public ResponseDto<FormTemplateField> getById(@RequestParam Long id) {
return new ResponseDto<>(formTemplateFieldService.getById(id));
public FormTemplateField getById(@RequestParam Long id) {
return formTemplateFieldService.getById(id);
}
/**
@ -51,8 +51,8 @@ public class FormTemplateFieldController {
* @return 更新后的表单模板字段对象
*/
@PostMapping("/update")
public ResponseDto<Integer> update(@RequestParam Long id, @RequestBody FormTemplateField formTemplateField) {
return new ResponseDto<>(formTemplateFieldService.update(id, formTemplateField));
public Integer update(@RequestParam Long id, @RequestBody FormTemplateField formTemplateField) {
return formTemplateFieldService.update(id, formTemplateField);
}
/**
@ -62,7 +62,7 @@ public class FormTemplateFieldController {
* @return 删除结果
*/
@PostMapping("/delete")
public ResponseDto<Integer> delete(@RequestParam Long id) {
return new ResponseDto<>(formTemplateFieldService.delete(id));
public Integer delete(@RequestParam Long id) {
return formTemplateFieldService.delete(id);
}
}
}

View File

@ -1,11 +1,10 @@
package com.pcloud.booksflow.form.controller;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.pcloud.booksflow.form.api.constant.BaseConstant;
import com.pcloud.booksflow.form.api.dto.ModifyLogRecordDTO;
import com.pcloud.booksflow.form.mybatis.entity.ModifyLogRecord;
import com.pcloud.booksflow.form.service.ModifyLogRecordService;
import com.pcloud.common.dto.ResponseDto;
import com.pcloud.common.page.PageBeanNew;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiOperation;
import org.springframework.beans.factory.annotation.Autowired;
@ -35,8 +34,8 @@ public class ModifyLogRecordController {
*/
@ApiOperation("批量创建修改日志记录最大1000条")
@PostMapping("/batchCreate")
public ResponseDto<Integer> batchCreate(@Validated @RequestBody List<ModifyLogRecordDTO> modifyLogRecordDTOs) {
return new ResponseDto<>(modifyLogRecordService.batchCreate(modifyLogRecordDTOs));
public Integer batchCreate(@Validated @RequestBody List<ModifyLogRecordDTO> modifyLogRecordDTOs) {
return modifyLogRecordService.batchCreate(modifyLogRecordDTOs);
}
/**
@ -47,12 +46,12 @@ public class ModifyLogRecordController {
*/
@ApiOperation("获取修改日志记录列表")
@GetMapping("/page")
public ResponseDto<PageBeanNew<ModifyLogRecord>> page(@RequestParam(required = false, defaultValue = "project") String entityType,
@RequestParam String entityId,
@RequestParam(required = false) String formCode,
@RequestParam(value = "currentPage", defaultValue = "0") Integer currentPage,
@RequestParam(value = "numPerPage", defaultValue = "10") Integer numPerPage) {
return new ResponseDto<>(modifyLogRecordService.listByEntityType(entityType, entityId, formCode,currentPage, numPerPage));
public IPage<ModifyLogRecord> page(@RequestParam(required = false, defaultValue = "project") String entityType,
@RequestParam String entityId,
@RequestParam(required = false) String formCode,
@RequestParam(value = "currentPage", defaultValue = "0") Integer currentPage,
@RequestParam(value = "numPerPage", defaultValue = "10") Integer numPerPage) {
return modifyLogRecordService.listByEntityType(entityType, entityId, formCode, currentPage, numPerPage);
}
}
}

View File

@ -1,12 +1,11 @@
package com.pcloud.booksflow.form.controller;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.pcloud.booksflow.form.api.constant.BaseConstant;
import com.pcloud.booksflow.form.api.dto.FormDictDTO;
import com.pcloud.booksflow.form.mybatis.entity.FormDict;
import com.pcloud.booksflow.form.service.FormDictService;
import com.pcloud.booksflow.form.utils.TenantHelper;
import com.pcloud.common.dto.ResponseDto;
import com.pcloud.common.page.PageBeanNew;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiOperation;
import org.springframework.beans.factory.annotation.Autowired;
@ -15,7 +14,6 @@ import org.springframework.web.bind.annotation.*;
/**
* FormDict Controller 实现增删改查接口
*
*/
@Api(tags = "字典-无租户【所有租户看到的字典都一样】")
@RestController
@ -33,10 +31,8 @@ public class SysFormDictController {
*/
@ApiOperation("创建或更新表单字典")
@PostMapping("/createOrUpdate")
public ResponseDto<Long> createOrUpdate(@Validated @RequestBody FormDictDTO dto) {
return new ResponseDto<>(
TenantHelper.dynamic(BaseConstant.TplTenantId, () -> formDictService.createOrUpdate(dto))
);
public Long createOrUpdate(@Validated @RequestBody FormDictDTO dto) {
return TenantHelper.dynamic(BaseConstant.TplTenantId, () -> formDictService.createOrUpdate(dto));
}
/**
@ -47,10 +43,8 @@ public class SysFormDictController {
*/
@ApiOperation("根据ID获取表单字典")
@GetMapping("/get")
public ResponseDto<FormDict> getById(@RequestParam Long id) {
return new ResponseDto<>(
TenantHelper.dynamic(BaseConstant.TplTenantId, () -> formDictService.getById(id))
);
public FormDict getById(@RequestParam Long id) {
return TenantHelper.dynamic(BaseConstant.TplTenantId, () -> formDictService.getById(id));
}
/**
@ -61,10 +55,8 @@ public class SysFormDictController {
*/
@ApiOperation("删除表单字典")
@GetMapping("/delete")
public ResponseDto<Integer> delete(@RequestParam Long id) {
return new ResponseDto<>(
TenantHelper.dynamic(BaseConstant.TplTenantId, () -> formDictService.delete(id))
);
public Integer delete(@RequestParam Long id) {
return TenantHelper.dynamic(BaseConstant.TplTenantId, () -> formDictService.delete(id));
}
/**
@ -78,13 +70,11 @@ public class SysFormDictController {
*/
@ApiOperation("获取表单字典列表")
@GetMapping("/list")
public ResponseDto<PageBeanNew<FormDict>> listByNameAndCode(@RequestParam(required = false) String name,
@RequestParam(required = false) String code,
@RequestParam(value = "currentPage", defaultValue = "0") Integer currentPage,
@RequestParam(value = "numPerPage", defaultValue = "10") Integer numPerPage) {
return new ResponseDto<>(
TenantHelper.dynamic(BaseConstant.TplTenantId, () -> formDictService.listByNameAndCode(name, code, currentPage, numPerPage))
);
public IPage<FormDict> listByNameAndCode(@RequestParam(required = false) String name,
@RequestParam(required = false) String code,
@RequestParam(value = "currentPage", defaultValue = "0") Integer currentPage,
@RequestParam(value = "numPerPage", defaultValue = "10") Integer numPerPage) {
return TenantHelper.dynamic(BaseConstant.TplTenantId, () -> formDictService.listByNameAndCode(name, code, currentPage, numPerPage));
}
}
}

View File

@ -1,5 +1,6 @@
package com.pcloud.booksflow.form.controller;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.pcloud.booksflow.form.api.constant.BaseConstant;
import com.pcloud.booksflow.form.api.dto.FormFieldDictDTO;
import com.pcloud.booksflow.form.api.dto.FormFieldDictQ;
@ -8,8 +9,6 @@ import com.pcloud.booksflow.form.api.vo.FormFieldDictVO;
import com.pcloud.booksflow.form.mybatis.entity.FormFieldDict;
import com.pcloud.booksflow.form.service.FormFieldDictService;
import com.pcloud.booksflow.form.utils.TenantHelper;
import com.pcloud.common.dto.ResponseDto;
import com.pcloud.common.page.PageBeanNew;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiOperation;
import org.springframework.beans.factory.annotation.Autowired;
@ -38,10 +37,8 @@ public class SysFormFieldDictController {
* @return 创建后的表单字段配置对象
*/
@PostMapping("/createOrUpdate")
public ResponseDto<Long> createOrUpdate(@RequestBody FormFieldDictDTO dto) {
return new ResponseDto<>(
TenantHelper.dynamic(BaseConstant.TplTenantId, () -> formFieldDictService.createOrUpdate(dto))
);
public Long createOrUpdate(@RequestBody FormFieldDictDTO dto) {
return TenantHelper.dynamic(BaseConstant.TplTenantId, () -> formFieldDictService.createOrUpdate(dto));
}
/**
@ -51,31 +48,25 @@ public class SysFormFieldDictController {
* @return 表单字段配置对象
*/
@GetMapping("/getList")
public ResponseDto<List<FormFieldDict>> getList(@RequestParam String configType,
@RequestParam(required = false) Long parentId,
@RequestParam(required = false) Integer status,
@RequestParam(required = false) Integer level) {
return new ResponseDto<>(
TenantHelper.dynamic(BaseConstant.TplTenantId, () -> formFieldDictService.getByConfigType(configType, parentId, status, level))
);
public List<FormFieldDict> getList(@RequestParam String configType,
@RequestParam(required = false) Long parentId,
@RequestParam(required = false) Integer status,
@RequestParam(required = false) Integer level) {
return TenantHelper.dynamic(BaseConstant.TplTenantId, () -> formFieldDictService.getByConfigType(configType, parentId, status, level));
}
@GetMapping("/page")
public ResponseDto<PageBeanNew<FormFieldDictVO>> page(@RequestParam String configType,
@RequestParam(required = false) String queryStr,
@RequestParam(required = false) Integer status,
@RequestParam(value = "currentPage", defaultValue = "0") Integer currentPage,
@RequestParam(value = "numPerPage", defaultValue = "10") Integer numPerPage) {
return new ResponseDto<>(
TenantHelper.dynamic(BaseConstant.TplTenantId, () -> formFieldDictService.page(configType, queryStr, status, currentPage, numPerPage))
);
public IPage<FormFieldDictVO> page(@RequestParam String configType,
@RequestParam(required = false) String queryStr,
@RequestParam(required = false) Integer status,
@RequestParam(value = "currentPage", defaultValue = "0") Integer currentPage,
@RequestParam(value = "numPerPage", defaultValue = "10") Integer numPerPage) {
return TenantHelper.dynamic(BaseConstant.TplTenantId, () -> formFieldDictService.page(configType, queryStr, status, currentPage, numPerPage));
}
@GetMapping("/listByCode")
public ResponseDto<List<FormFieldDict>> listByCode(@RequestParam("code") String code) {
return new ResponseDto<>(
TenantHelper.dynamic(BaseConstant.TplTenantId, () -> formFieldDictService.getByConfigType(code, null, 1, null))
);
public List<FormFieldDict> listByCode(@RequestParam("code") String code) {
return TenantHelper.dynamic(BaseConstant.TplTenantId, () -> formFieldDictService.getByConfigType(code, null, 1, null));
}
/**
@ -85,10 +76,8 @@ public class SysFormFieldDictController {
* @return 删除结果
*/
@GetMapping("/delete")
public ResponseDto<Integer> delete(@RequestParam Long id) {
return new ResponseDto<>(
TenantHelper.dynamic(BaseConstant.TplTenantId, () -> formFieldDictService.delete(id))
);
public Integer delete(@RequestParam Long id) {
return TenantHelper.dynamic(BaseConstant.TplTenantId, () -> formFieldDictService.delete(id));
}
/**
@ -99,10 +88,8 @@ public class SysFormFieldDictController {
* @return 更新结果
*/
@PostMapping("/update-sort")
public ResponseDto<Integer> updateSortOrder(@RequestParam Long id, @RequestParam Integer sortOrder) {
return new ResponseDto<>(
TenantHelper.dynamic(BaseConstant.TplTenantId, () -> formFieldDictService.updateSortOrder(id, sortOrder))
);
public Integer updateSortOrder(@RequestParam Long id, @RequestParam Integer sortOrder) {
return TenantHelper.dynamic(BaseConstant.TplTenantId, () -> formFieldDictService.updateSortOrder(id, sortOrder));
}
@ -112,8 +99,8 @@ public class SysFormFieldDictController {
* @return 更新结果
*/
@GetMapping("/getByCodesByLevel")
public ResponseDto<List<FormFieldDictDifyVo>> getByCodesByLevel(@RequestParam Long agentId, @RequestParam String configType, @RequestParam(required = false) List<Long> parentIds) {
return new ResponseDto<>(TenantHelper.dynamic(BaseConstant.TplTenantId, () -> formFieldDictService.getByCodesByLevel( agentId, configType, parentIds)));
public List<FormFieldDictDifyVo> getByCodesByLevel(@RequestParam Long agentId, @RequestParam String configType, @RequestParam(required = false) List<Long> parentIds) {
return TenantHelper.dynamic(BaseConstant.TplTenantId, () -> formFieldDictService.getByCodesByLevel(agentId, configType, parentIds));
}
@ -125,27 +112,20 @@ public class SysFormFieldDictController {
* @return 更新结果
*/
@PostMapping("/update-status")
public ResponseDto<Integer> updateStatus(@RequestParam Long id, @RequestParam Integer status) {
return new ResponseDto<>(
TenantHelper.dynamic(BaseConstant.TplTenantId, () -> formFieldDictService.updateStatus(id, status))
);
public Integer updateStatus(@RequestParam Long id, @RequestParam Integer status) {
return TenantHelper.dynamic(BaseConstant.TplTenantId, () -> formFieldDictService.updateStatus(id, status));
}
@ApiOperation(value = "批量获取表单字段配置根据configType")
@PostMapping("get")
public ResponseDto<Map<String, List<FormFieldDictVO>>> get(@RequestBody Map<String, FormFieldDictQ> q) {
return new ResponseDto<>(
TenantHelper.dynamic(BaseConstant.TplTenantId, () -> formFieldDictService.get(q))
);
public Map<String, List<FormFieldDictVO>> get(@RequestBody Map<String, FormFieldDictQ> q) {
return TenantHelper.dynamic(BaseConstant.TplTenantId, () -> formFieldDictService.get(q));
}
@ApiOperation(value = "批量获取表单字段具体项根据id")
@PostMapping("getByIds")
public ResponseDto<List<FormFieldDictVO>> getByIds(@RequestBody List<Long> ids, @RequestParam(required = false) Integer deleted) {
return new ResponseDto<>(
TenantHelper.dynamic(BaseConstant.TplTenantId, () -> formFieldDictService.getByIds(ids, deleted))
);
public List<FormFieldDictVO> getByIds(@RequestBody List<Long> ids, @RequestParam(required = false) Integer deleted) {
return TenantHelper.dynamic(BaseConstant.TplTenantId, () -> formFieldDictService.getByIds(ids, deleted));
}
}
}

View File

@ -6,12 +6,10 @@ import com.pcloud.booksflow.form.api.dto.FormFieldDictQ;
import com.pcloud.booksflow.form.api.vo.FormFieldDictDifyVo;
import com.pcloud.booksflow.form.api.vo.FormFieldDictVO;
import com.pcloud.booksflow.form.feign.FormFieldDictFeignClient;
import com.pcloud.booksflow.form.mybatis.entity.FormFieldDict;
import com.pcloud.booksflow.form.mybatis.entity.FormFieldDictExample;
import com.pcloud.booksflow.form.service.FormDictService;
import com.pcloud.booksflow.form.service.FormFieldDictService;
import com.pcloud.booksflow.form.utils.TenantHelper;
import com.pcloud.common.utils.string.StringUtil;
import jodd.util.StringUtil;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;
@ -89,7 +87,7 @@ public class FormFieldDictFeignController implements FormFieldDictFeignClient {
if (StringUtil.isEmpty(configType)) {
return new ArrayList<>();
}
return TenantHelper.dynamic(BaseConstant.TplTenantId,()->formFieldDictService.getByCodesByLevel(agentId,configType,parentIds));
return TenantHelper.dynamic(BaseConstant.TplTenantId, () -> formFieldDictService.getByCodesByLevel(agentId, configType, parentIds));
}
@Override
@ -115,4 +113,4 @@ public class FormFieldDictFeignController implements FormFieldDictFeignClient {
}
}
}

View File

@ -3,18 +3,15 @@ package com.pcloud.booksflow.form.service;
import cn.hutool.core.bean.BeanUtil;
import cn.hutool.core.util.StrUtil;
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import com.pcloud.booksflow.form.api.dto.FormDictDTO;
import com.pcloud.booksflow.form.mybatis.entity.FormDict;
import com.pcloud.booksflow.form.mybatis.entity.FormFieldDict;
import com.pcloud.booksflow.form.mybatis.mapper.FormDictMapper;
import com.pcloud.booksflow.form.mybatis.mapper.FormFieldDictMapper;
import com.pcloud.booksflow.form.utils.UserUtils;
import org.dromara.common.core.exception.ServiceException;
import com.baomidou.mybatisplus.core.metadata.IPage;
import lombok.extern.slf4j.Slf4j;
import org.dromara.common.core.exception.ServiceException;
import org.dromara.common.tenant.helper.LoginHelper;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional;
@ -52,7 +49,7 @@ public class FormDictService extends ServiceImpl<FormDictMapper, FormDict> {
FormDict entity = new FormDict();
BeanUtil.copyProperties(dto, entity);
entity.setDeleted(0);
entity.setCreatedBy(UserUtils.getUserId());
entity.setCreatedBy(LoginHelper.getUserId());
entity.setCreateTime(new Date());
baseMapper.insert(entity);
return entity.getId();
@ -61,7 +58,7 @@ public class FormDictService extends ServiceImpl<FormDictMapper, FormDict> {
FormDict entity = new FormDict();
BeanUtil.copyProperties(dto, entity);
entity.setId(dto.getId());
entity.setUpdatedBy(UserUtils.getUserId());
entity.setUpdatedBy(LoginHelper.getUserId());
entity.setUpdateTime(new Date());
baseMapper.updateById(entity);
return entity.getId();
@ -97,7 +94,7 @@ public class FormDictService extends ServiceImpl<FormDictMapper, FormDict> {
FormDict entity = new FormDict();
entity.setId(id);
entity.setDeleted(1);
entity.setUpdatedBy(UserUtils.getUserId());
entity.setUpdatedBy(LoginHelper.getUserId());
entity.setUpdateTime(new Date());
return baseMapper.updateById(entity);
}
@ -188,11 +185,12 @@ public class FormDictService extends ServiceImpl<FormDictMapper, FormDict> {
/**
* 获取 codes 不在当前租户中表单字典中的 code
*
* @param codes codes
* @return code
*/
public Set<String> getNotExistConfigCode(Set<String> codes) {
if(codes == null || codes.isEmpty()){
if (codes == null || codes.isEmpty()) {
return new HashSet<>();
}
LambdaQueryWrapper<FormDict> queryWrapper = new LambdaQueryWrapper<FormDict>()

View File

@ -15,10 +15,10 @@ import com.pcloud.booksflow.form.api.vo.FormFieldDictDifyVo;
import com.pcloud.booksflow.form.api.vo.FormFieldDictVO;
import com.pcloud.booksflow.form.mybatis.entity.FormFieldDict;
import com.pcloud.booksflow.form.mybatis.mapper.FormFieldDictMapper;
import com.pcloud.booksflow.form.utils.UserUtils;
import lombok.extern.slf4j.Slf4j;
import org.dromara.common.core.exception.ServiceException;
import org.dromara.common.json.utils.JsonUtils;
import org.dromara.common.tenant.helper.LoginHelper;
import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional;
import org.springframework.util.Assert;
@ -61,7 +61,7 @@ public class FormFieldDictService extends ServiceImpl<FormFieldDictMapper, FormF
BeanUtil.copyProperties(dto, entity, "otherFields");
entity.setDeleted(0);
entity.setCreateTime(new Date());
entity.setCreatedBy(UserUtils.getUserId());
entity.setCreatedBy(LoginHelper.getUserId());
if (dto.getOtherFields() != null) {
entity.setOtherFields(JsonUtils.toJsonString(dto.getOtherFields()));
}
@ -72,7 +72,7 @@ public class FormFieldDictService extends ServiceImpl<FormFieldDictMapper, FormF
FormFieldDict entity = new FormFieldDict();
BeanUtil.copyProperties(dto, entity, "otherFields");
entity.setUpdateTime(new Date());
entity.setUpdatedBy(UserUtils.getUserId());
entity.setUpdatedBy(LoginHelper.getUserId());
if (dto.getOtherFields() != null) {
entity.setOtherFields(JsonUtils.toJsonString(dto.getOtherFields()));
}
@ -212,7 +212,7 @@ public class FormFieldDictService extends ServiceImpl<FormFieldDictMapper, FormF
entity.setId(id);
entity.setDeleted(1);
entity.setUpdateTime(new Date());
entity.setUpdatedBy(UserUtils.getUserId());
entity.setUpdatedBy(LoginHelper.getUserId());
return baseMapper.updateById(entity);
}
@ -227,7 +227,7 @@ public class FormFieldDictService extends ServiceImpl<FormFieldDictMapper, FormF
FormFieldDict entity = new FormFieldDict();
entity.setDeleted(1);
entity.setUpdateTime(new Date());
entity.setUpdatedBy(UserUtils.getUserId());
entity.setUpdatedBy(LoginHelper.getUserId());
LambdaQueryWrapper<FormFieldDict> queryWrapper = new LambdaQueryWrapper<FormFieldDict>()
.eq(FormFieldDict::getConfigType, configType)
@ -248,13 +248,13 @@ public class FormFieldDictService extends ServiceImpl<FormFieldDictMapper, FormF
entity.setId(id);
entity.setSortOrder(sortOrder);
entity.setUpdateTime(new Date());
entity.setUpdatedBy(UserUtils.getUserId());
entity.setUpdatedBy(LoginHelper.getUserId());
return baseMapper.updateById(entity);
}
@Transactional
public Integer updateStatus(Long id, Integer status) {
Long userId = UserUtils.getUserId();
Long userId = LoginHelper.getUserId();
FormFieldDict item = baseMapper.selectById(id);
if (item == null) {
return 0;

View File

@ -1,7 +1,7 @@
package com.pcloud.booksflow.form.service;
import cn.hutool.core.bean.BeanUtil;
import cn.hutool.core.convert.Convert;
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import com.pcloud.booksflow.form.api.dto.FormPrintConfigDTO;
import com.pcloud.booksflow.form.api.dto.FormPrintConfigModeDTO;
@ -11,27 +11,19 @@ import com.pcloud.booksflow.form.api.vo.FormPrintConfigVO;
import com.pcloud.booksflow.form.mybatis.entity.Form;
import com.pcloud.booksflow.form.mybatis.entity.FormPrintConfig;
import com.pcloud.booksflow.form.mybatis.mapper.FormPrintConfigMapper;
import com.pcloud.booksflow.form.utils.UserUtils;
import com.pcloud.booksflow.form.utils.poi.WordTemplateProcessor;
import lombok.extern.slf4j.Slf4j;
import org.dromara.common.core.exception.ServiceException;
import org.dromara.common.core.utils.StringUtils;
import org.dromara.common.json.utils.JsonUtils;
import org.dromara.common.oss.core.OssClient;
import org.dromara.common.oss.entity.UploadResult;
import org.dromara.common.oss.factory.OssFactory;
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import org.dromara.common.tenant.helper.LoginHelper;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import java.io.ByteArrayInputStream;
import java.io.ByteArrayOutputStream;
import java.io.IOException;
import java.util.Date;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
/**
* FormPrintConfig Service 实现增删改查业务逻辑
@ -55,14 +47,14 @@ public class FormPrintConfigService extends ServiceImpl<FormPrintConfigMapper, F
if (entity != null) {
// 更新操作
BeanUtil.copyProperties(dto, entity, "printFields");
entity.setUpdatedBy(UserUtils.getUserId());
entity.setUpdatedBy(LoginHelper.getUserId());
entity.setUpdateTime(new Date());
entity.setId(entity.getId());
baseMapper.updateById(entity);
} else {
entity = new FormPrintConfig();
BeanUtil.copyProperties(dto, entity, "printFields");
entity.setCreatedBy(UserUtils.getUserId());
entity.setCreatedBy(LoginHelper.getUserId());
entity.setCreateTime(new Date());
baseMapper.insert(entity);
}
@ -130,7 +122,7 @@ public class FormPrintConfigService extends ServiceImpl<FormPrintConfigMapper, F
return baseMapper.updateById(entity);
} else {
entity.setMode(dto.getMode());
entity.setCreatedBy(UserUtils.getUserId());
entity.setCreatedBy(LoginHelper.getUserId());
entity.setCreateTime(new Date());
return baseMapper.insert(entity);
}
@ -138,7 +130,7 @@ public class FormPrintConfigService extends ServiceImpl<FormPrintConfigMapper, F
public Long createOrUpdate(FormPrintConfigUploadDTO dto) {
// 创建操作
Long userId = UserUtils.getUserId();
Long userId = LoginHelper.getUserId();
FormPrintConfig upEntity = new FormPrintConfig();
FormPrintConfig _config = getEntityByFormId(dto.getFormId());
if (_config != null) {

View File

@ -3,16 +3,15 @@ package com.pcloud.booksflow.form.service;
import cn.hutool.core.bean.BeanUtil;
import cn.hutool.core.collection.CollUtil;
import cn.hutool.core.util.StrUtil;
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import com.pcloud.booksflow.form.api.constant.FormTemplateFieldType;
import com.pcloud.booksflow.form.api.dto.FormTemplateDTO;
import com.pcloud.booksflow.form.mybatis.entity.FormTemplateField;
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import com.pcloud.booksflow.form.mybatis.mapper.FormTemplateFieldMapper;
import com.pcloud.booksflow.form.utils.UserUtils;
import org.dromara.common.json.utils.JsonUtils;
import lombok.extern.slf4j.Slf4j;
import org.springframework.beans.factory.annotation.Autowired;
import org.dromara.common.json.utils.JsonUtils;
import org.dromara.common.tenant.helper.LoginHelper;
import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional;
@ -53,7 +52,7 @@ public class FormTemplateFieldService extends ServiceImpl<FormTemplateFieldMappe
// 添加新的字段配置
List<FormTemplateField> fields = new ArrayList<>();
Date date = new Date();
Long userId = UserUtils.getUserId();
Long userId = LoginHelper.getUserId();
for (FormTemplateDTO.FieldDTO item : dtos) {
if (isGroup(item.getType())) {
FormTemplateField fieldGroup = dto2Entity(templateId, item, userId, date);
@ -138,7 +137,7 @@ public class FormTemplateFieldService extends ServiceImpl<FormTemplateFieldMappe
*/
public int update(Long id, FormTemplateField formTemplateField) {
formTemplateField.setId(id);
formTemplateField.setUpdatedBy(UserUtils.getUserId());
formTemplateField.setUpdatedBy(LoginHelper.getUserId());
formTemplateField.setUpdateTime(new Date());
return baseMapper.updateById(formTemplateField);
}

View File

@ -12,10 +12,10 @@ import com.pcloud.booksflow.form.mybatis.entity.Form;
import com.pcloud.booksflow.form.mybatis.entity.FormTemplate;
import com.pcloud.booksflow.form.mybatis.entity.FormTemplateField;
import com.pcloud.booksflow.form.mybatis.mapper.FormTemplateMapper;
import com.pcloud.booksflow.form.utils.UserUtils;
import lombok.extern.slf4j.Slf4j;
import org.dromara.common.core.exception.ServiceException;
import org.dromara.common.json.utils.JsonUtils;
import org.dromara.common.tenant.helper.LoginHelper;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional;
@ -146,7 +146,7 @@ public class FormTemplateService extends ServiceImpl<FormTemplateMapper, FormTem
} else {
entity.setVersion(maxVersion + 1);
}
entity.setCreatedBy(UserUtils.getUserId());
entity.setCreatedBy(LoginHelper.getUserId());
entity.setId(null);
// 保存
baseMapper.insert(entity);
@ -332,7 +332,7 @@ public class FormTemplateService extends ServiceImpl<FormTemplateMapper, FormTem
*/
/*private void feignWorkFlowSyncForm(FormTemplateDTO dto, FormTemplate entity) {
log.info("feignWorkFlowSyncForm 开始同步表单信息:{}", dto.getFormId());
Long tenantId = UserUtils.getTenantId();
Long tenantId = LoginHelper.getTenantId();
Form form = formService.getById(dto.getFormId());
// 转换表单字段并过滤隐藏字段
List<SyncFormFieldRequest> list = convertToSyncFormFieldRequests(dto.getTemplateFields());
@ -402,7 +402,7 @@ public class FormTemplateService extends ServiceImpl<FormTemplateMapper, FormTem
return;
}
log.info("feignUserSyncForm 开始同步表单信息:{}", formId);
Long tenantId = UserUtils.getTenantId();
Long tenantId = LoginHelper.getTenantId();
Form form = formService.getById(formId);
Boolean b = dataPermissionFeignClient.syncUserDataPermissions(form.getCode(), "booksflow", tenantId);
log.info("feignUserSyncForm 结束同步表单信息:{}{}", form.getCode(), b);

View File

@ -1,11 +1,12 @@
package com.pcloud.booksflow.form.utils;
import cn.hutool.core.util.StrUtil;
import com.pcloud.mybatis.Interceptor.tenant.plugins.IgnoreStrategy;
import com.pcloud.mybatis.Interceptor.tenant.plugins.InterceptorIgnoreHelper;
import com.baomidou.mybatisplus.core.plugins.IgnoreStrategy;
import com.baomidou.mybatisplus.core.plugins.InterceptorIgnoreHelper;
import lombok.AccessLevel;
import lombok.NoArgsConstructor;
import lombok.extern.slf4j.Slf4j;
import org.dromara.common.tenant.helper.LoginHelper;
import java.util.Stack;
import java.util.function.Supplier;
@ -152,7 +153,7 @@ public class TenantHelper {
public static Long getTenantId() {
String dynamic = getDynamic();
if (StrUtil.isBlank(dynamic)) {
Long tenantId = UserUtils.getTenantId();
Long tenantId = Long.valueOf(LoginHelper.getTenantId());
log.info("获取 token 租户id: {}", tenantId);
return tenantId;
} else {

View File

@ -1,16 +0,0 @@
package com.pcloud.booksflow.form.utils;
import com.pcloud.common.utils.RequestContextHolderUtil;
import com.pcloud.common.utils.SessionUtil;
public class UserUtils {
public static Long getUserId() {
String token = RequestContextHolderUtil.getRequest().getHeader("token");
return (Long) SessionUtil.getVlaue(token, SessionUtil.PARTY_ID);
}
public static Long getTenantId() {
String token = RequestContextHolderUtil.getRequest().getHeader("token");
return (Long) SessionUtil.getVlaue(token, SessionUtil.TENANT_ID);
}
}