From 093c43638d3f9aa64fc3b396a0a2452cc28abbe3 Mon Sep 17 00:00:00 2001 From: skyouc Date: 星期五, 23 五月 2025 18:59:39 +0800 Subject: [PATCH] 生成移库任务 --- rsf-server/src/main/java/com/vincent/rsf/server/common/utils/FieldsUtils.java | 36 +++++++++++++++++++++++++++++++++++- 1 files changed, 35 insertions(+), 1 deletions(-) diff --git a/rsf-server/src/main/java/com/vincent/rsf/server/common/utils/FieldsUtils.java b/rsf-server/src/main/java/com/vincent/rsf/server/common/utils/FieldsUtils.java index ad98507..c65ac30 100644 --- a/rsf-server/src/main/java/com/vincent/rsf/server/common/utils/FieldsUtils.java +++ b/rsf-server/src/main/java/com/vincent/rsf/server/common/utils/FieldsUtils.java @@ -1,12 +1,19 @@ package com.vincent.rsf.server.common.utils; import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; +import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; +import com.baomidou.mybatisplus.core.metadata.TableInfo; +import com.baomidou.mybatisplus.core.metadata.TableInfoHelper; +import com.vincent.rsf.framework.common.Cools; import com.vincent.rsf.framework.common.SpringUtils; import com.vincent.rsf.framework.exception.CoolException; +import com.vincent.rsf.server.common.domain.BaseParam; +import com.vincent.rsf.server.common.domain.PageParam; import com.vincent.rsf.server.system.entity.Fields; import com.vincent.rsf.server.system.entity.FieldsItem; import com.vincent.rsf.server.system.service.FieldsItemService; import com.vincent.rsf.server.system.service.FieldsService; +import lombok.Synchronized; import org.apache.commons.lang3.StringUtils; import org.springframework.transaction.annotation.Transactional; @@ -139,6 +146,7 @@ * @return * @time 2025/4/7 15:28 */ + @Synchronized @Transactional(rollbackFor = Exception.class) public static void updateFieldsValue(Map<String, Object> params) throws Exception { List<Fields> fields = getFieldsSta(); @@ -174,4 +182,30 @@ saveFields(params, params.get("index").toString()); } } -} + + public static <T> QueryWrapper<T> setFieldsFilters(QueryWrapper<T> queryWrapper, PageParam<T, BaseParam> pageParam, Class<T> entityClass) { + // 鍔ㄦ�佽幏鍙栬〃鍚� + TableInfo tableInfo = TableInfoHelper.getTableInfo(entityClass); + String tableName = tableInfo.getTableName(); + + FieldsService fieldsService = SpringUtils.getBean(FieldsService.class); + Map<String, Object> map = pageParam.getWhere().getFields(); + + for (String key : map.keySet()) { + Object val = map.get(key); + Fields fields = fieldsService.getOne(new LambdaQueryWrapper<Fields>().eq(Fields::getFields, key)); + if (!Cools.isEmpty(fields)) { + String applySql = String.format( + "EXISTS (SELECT 1 FROM sys_fields_item fie " + + "WHERE %s.fields_index IS NOT NULL " + + "AND fie.uuid = %s.fields_index " + + "AND fie.fields_id = '%s' " + + "AND fie.value = '%s')", + tableName, tableName, fields.getId(), val + ); + queryWrapper.apply(applySql); + } + } + return queryWrapper; + } +} \ No newline at end of file -- Gitblit v1.9.1