feat: 新增动态表单与工作流模块
- module/form: 动态表单定义、数据、版本快照的增删改查与渲染校验 - module/workflow: Flowable 审批流,含流程设计、发起、审批中心与演示流程 - module/config: 工作流开关 flowable.enabled,关闭时不注册 Bean 并排除引擎自动配置 - auth: 按登录方式拆为 password/sms/qrcode/wxma/session 五个子包 - framework/security: 新增 config、handler,承载安全配置与认证授权失败处理 - application-*.yml: flowable 配置按 dev/prod/youlai 环境拆分 - sql/extensions: 新增 dynamic-form.sql、workflow.sql 增量脚本 - README: 补充目录结构、可选扩展与系统预览截图
This commit is contained in:
@@ -12,14 +12,14 @@ import com.youlai.boot.system.model.query.DictQuery;
|
||||
import com.youlai.boot.system.model.vo.DictItemOptionVO;
|
||||
import com.youlai.boot.system.model.vo.DictItemPageVO;
|
||||
import com.youlai.boot.system.model.vo.DictPageVO;
|
||||
import com.youlai.boot.common.annotation.RepeatSubmit;
|
||||
import com.youlai.boot.framework.web.repeatsubmit.RepeatSubmit;
|
||||
import com.youlai.boot.system.model.form.DictForm;
|
||||
import com.youlai.boot.common.annotation.Log;
|
||||
import com.youlai.boot.system.service.DictItemService;
|
||||
import com.youlai.boot.system.service.DictService;
|
||||
import com.youlai.boot.support.sse.SseService;
|
||||
import com.youlai.boot.support.sse.constant.SseTopics;
|
||||
import com.youlai.boot.system.model.dto.DictChangeEvent;
|
||||
import com.youlai.boot.system.model.dto.DictChangeDTO;
|
||||
import io.swagger.v3.oas.annotations.Parameter;
|
||||
import io.swagger.v3.oas.annotations.tags.Tag;
|
||||
import io.swagger.v3.oas.annotations.Operation;
|
||||
@@ -53,7 +53,7 @@ public class DictController {
|
||||
* @param dictCode 字典编码
|
||||
*/
|
||||
private void sendDictChange(String dictCode) {
|
||||
sseService.broadcast(SseTopics.DICT, new DictChangeEvent(dictCode));
|
||||
sseService.broadcast(SseTopics.DICT, new DictChangeDTO(dictCode));
|
||||
}
|
||||
|
||||
//---------------------------------------------------
|
||||
@@ -63,7 +63,7 @@ public class DictController {
|
||||
@GetMapping
|
||||
@Log(module = LogModuleEnum.DICT, value = ActionTypeEnum.LIST)
|
||||
public PageResult<DictPageVO> getDictPage(
|
||||
DictQuery queryParams
|
||||
@Valid DictQuery queryParams
|
||||
) {
|
||||
Page<DictPageVO> result = dictService.getDictPage(queryParams);
|
||||
return PageResult.success(result);
|
||||
@@ -91,7 +91,7 @@ public class DictController {
|
||||
@PreAuthorize("@ss.hasPerm('sys:dict:create')")
|
||||
@RepeatSubmit
|
||||
@Log(module = LogModuleEnum.DICT, value = ActionTypeEnum.INSERT)
|
||||
public Result<?> saveDict(@Valid @RequestBody DictForm formData) {
|
||||
public Result<Void> saveDict(@Valid @RequestBody DictForm formData) {
|
||||
boolean result = dictService.saveDict(formData);
|
||||
// 发送字典更新通知
|
||||
if (result) {
|
||||
@@ -104,9 +104,9 @@ public class DictController {
|
||||
@PutMapping("/{dictId}")
|
||||
@PreAuthorize("@ss.hasPerm('sys:dict:update')")
|
||||
@Log(module = LogModuleEnum.DICT, value = ActionTypeEnum.UPDATE)
|
||||
public Result<?> updateDict(
|
||||
public Result<Void> updateDict(
|
||||
@PathVariable Long dictId,
|
||||
@RequestBody DictForm dictForm
|
||||
@RequestBody @Valid DictForm dictForm
|
||||
) {
|
||||
boolean status = dictService.updateDict(dictId, dictForm);
|
||||
// 发送字典更新通知
|
||||
@@ -120,7 +120,7 @@ public class DictController {
|
||||
@DeleteMapping("/{ids}")
|
||||
@PreAuthorize("@ss.hasPerm('sys:dict:delete')")
|
||||
@Log(module = LogModuleEnum.DICT, value = ActionTypeEnum.DELETE)
|
||||
public Result<?> deleteDictionaries(
|
||||
public Result<Void> deleteDictionaries(
|
||||
@Parameter(description = "字典ID,多个以英文逗号(,)拼接") @PathVariable String ids
|
||||
) {
|
||||
// 获取字典编码列表,用于发送删除通知
|
||||
@@ -144,7 +144,7 @@ public class DictController {
|
||||
@GetMapping("/{dictCode}/items")
|
||||
public PageResult<DictItemPageVO> getDictItemPage(
|
||||
@PathVariable String dictCode,
|
||||
DictItemQuery queryParams
|
||||
@Valid DictItemQuery queryParams
|
||||
) {
|
||||
queryParams.setDictCode(dictCode);
|
||||
Page<DictItemPageVO> result = dictItemService.getDictItemPage(queryParams);
|
||||
@@ -195,10 +195,10 @@ public class DictController {
|
||||
@PreAuthorize("@ss.hasPerm('sys:dict-item:update')")
|
||||
@RepeatSubmit
|
||||
@Log(module = LogModuleEnum.DICT, value = ActionTypeEnum.UPDATE)
|
||||
public Result<?> updateDictItem(
|
||||
public Result<Void> updateDictItem(
|
||||
@PathVariable String dictCode,
|
||||
@PathVariable Long itemId,
|
||||
@RequestBody DictItemForm formData
|
||||
@RequestBody @Valid DictItemForm formData
|
||||
) {
|
||||
formData.setId(itemId);
|
||||
formData.setDictCode(dictCode);
|
||||
|
||||
Reference in New Issue
Block a user