package com.vincent.rsf.server.common.utils; import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; import com.vincent.rsf.framework.common.SpringUtils; 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 java.util.HashMap; import java.util.List; import java.util.Map; /** * @author Ryan * @version 1.0 * @title FieldsUtils * @description * @create 2025/3/12 12:33 */ public class FieldsUtils { /** * @author Ryan * @description 通过字段唯一标识获取动态字段Map * @param * @return * @time 2025/3/12 12:50 */ public static Map getFields(String uuid) { Map fieldsMap = new HashMap<>(); FieldsService fieldsService = SpringUtils.getBean(FieldsService.class); List fields = fieldsService.list(new LambdaQueryWrapper().eq(Fields::getFlagEnable, 1).eq(Fields::getStatus, 1)); if (fields.isEmpty()) { return null; } FieldsItemService fieldsItemService = SpringUtils.getBean(FieldsItemService.class); List fieldsItems = fieldsItemService.list(new LambdaQueryWrapper().eq(FieldsItem::getUuid, uuid)); for (Fields field : fields ) { if (fieldsItems.isEmpty()) { fieldsMap.put(field.getFields(), null); continue; } fieldsItems.forEach(fieldsItem -> { if (fieldsItem.getFieldsId().equals(field.getId())) { fieldsMap.put(field.getFields(), fieldsItem.getValue()); } }); } return fieldsMap; } }