花自飘零水自流

2025-10-10 12:11

import cn.hutool.json.JSONUtil;

import org.springframework.beans.factory.annotation.Autowired;

import com.byence.framework.utils.tool.spring.SpringUtils;

import com.byence.core.framework.config.aspect.enhance.model.EnhanceContext;

import com.byence.core.framework.config.aspect.enhance.model.EnhanceResult;

import com.byence.core.framework.utils.Func;

import com.byence.tool.framework.file.core.client.s3.CosService;

import java.util.List;

import java.util.Map;


public class TestListEnhance {


    private CosService cosService;


    public void beforeExecute(EnhanceContext context){

        //todo 编写自己的前置代码

        if (cosService == null) {

        cosService = SpringUtils.getBean(CosService.class);  // 假设有一个工具类可以获取ApplicationContext

        }

    }

    public void afterExecute(EnhanceContext context){

        //todo 编写自己的后置置代码        

        EnhanceResult result = context.getResult();

        List<Map<String, Object>> records = result.getRecords();

        for (Map<String, Object> dataMap : records) {

            // 1. 安全处理 picture_basic 字段

            processField(dataMap, "picture_basic", "picture_basic");

           

            // 2. 安全处理 picture_demo 字段

            processField(dataMap, "picture_demo", "picture_demo");

           

            // 3. 安全处理 file_demo 字段

            processField(dataMap, "file_demo", "file_demo");

        }

    }

确实是在线增强中引用了。这在线脚本在1.0.1-JDK1.8版本中能够正常运行,为何升级到1.1.2-JDK17就会错误

2025-10-10 10:55

  1. com.byence.core.framework.config.aspect.enhancecom.byence.core.framework.config.aspect.enhance.annotation.com.byence.core.framework.config.aspect.enhance.criteria.CriteriaFilterAdvicePluginUtilscom.byence.core.framework.config.aspect.enhance.model.*com.byence.core.framework.config.aspect.enhance.plugin.*com.byence.core.framework.config.aspect.enhance.strategy.enums.JavaEnhanceEnumscom.byence.core.framework.config.aspect.enhance.strategy.java.EnhanceJavaStrategycom.byence.core.framework.entity.EnhanceJavaEntitycom.byence.core.framework.service.IEnhanceJavaServicecom.byence.core.framework.utils.Funccom.byence.tool.framework.lowcode.constant.EnhanceConstantcom.byence.tool.framework.lowcode.model.ExecuteEnhanceModelcom.byence.tool.framework.lowcode.model.ResultDataModelcom.byence.tool.framework.lowcode.tool.spring.SpringUtilscom.byence.tool.framework.lowcode.utils.FuncBasegroovy.lang.GroovyClassLoaderjakarta.annotation.lombok.extern.slf4j.org.aspectj.lang.JoinPointorg.aspectj.lang.ProceedingJoinPointorg.aspectj.lang.annotation.*org.springframework.beans.factory.annotation.org.springframework.context.annotation.org.springframework.stereotype.java.util.*java.util.concurrent.atomic.AtomicReferencejava.util.stream.Collectorscom.byence.tool.framework.lowcode.constant.EnhanceConstant.com.byence.tool.framework.lowcode.constant.EnhanceConstant.ByenceJavaEnhance ByenceBaseEnhance {

        Map<StringList<EnhanceJavaEntity>> = HashMap<>()IEnhanceJavaService GroovyClassLoader = GroovyClassLoader()GroovyClassLoader () {
            }


        () {
            List<EnhanceJavaEntity> allJavaEnhanceList = .getAllJavaEnhance()allJavaEnhanceList.forEach(enhanceJavaEntity -> {
                        Long dbformId = enhanceJavaEntity.getDbformId()String buttonCode = enhanceJavaEntity.getButtonCode()String pluginKey = dbformId + + buttonCode.merge(pluginKeyArrayList<>(Collections.(enhanceJavaEntity))(oldValuenewValue) -> {
                            oldValue.addAll(newValue)oldValue}){
                            (FuncBase.(enhanceJavaEntity.getJavaType()EnhanceConstant.)) {String javaClassUrl = enhanceJavaEntity.getJavaClassUrl()Object bean = SpringUtils.(javaClassUrl)(Func.(bean) && bean BaseAdvicePlugin) {
                                    PluginManager.(javaClassUrl(BaseAdvicePlugin) bean)}
                            } (FuncBase.(enhanceJavaEntity.getJavaType()EnhanceConstant.)) {Class<?> enhanceClass = Class.(enhanceJavaEntity.getJavaClassUrl())BaseAdvicePlugin plugin = (BaseAdvicePlugin) enhanceClass.newInstance()PluginManager.(enhanceJavaEntity.getJavaClassUrl()plugin)}
                        } (Exception e) {
                            .error(e)}
                    }

            )(EnhanceJavaEntity enhanceJavaEntity : allJavaEnhanceList) {
                {
                    String javaType = enhanceJavaEntity.getJavaType()(!FuncBase.(javaTypeEnhanceConstant.)){
                        }
                    String onlineScript = enhanceJavaEntity.getOnlineScript()(Func.(onlineScript)) {
                        }
                    .parseClass(onlineScript)} (Exception e) {
                    e.printStackTrace()}
            }

        }

        ()
        (JoinPoint joinPointByenceEnhance) Throwable {

            BuildEnhanceContext enhanceContext = .getContextAndPlugins(ByenceEnhancejoinPoint)(FuncBase.(enhanceContext)) {
                }
            List<EnhanceJavaEntity> enhanceJavaEntityList = enhanceContext.getEntitys()(Func.(enhanceJavaEntityList)) {
                }
            EnhanceContext context = enhanceContext.getContext()(EnhanceJavaEntity enhanceJavaEntity : enhanceJavaEntityList) {
                String javaType = enhanceJavaEntity.getJavaType()JavaEnhanceEnums javaEnhanceEnums = JavaEnhanceEnums.(javaType)EnhanceJavaStrategy strategy = javaEnhanceEnums.getStrategy()strategy.execute(enhanceJavaEntitycontextJavaEnhanceEventState..getName()joinPoint)(context.getResult().isExitFlag()) {
                    }
            }
        }

        (pointcut = returning = )
        Object (JoinPoint joinPointObject returnValByenceEnhance) Throwable {
            BuildEnhanceContext enhanceContext = .getContextAndPlugins(ByenceEnhancejoinPoint)(FuncBase.(enhanceContext)) {
                returnVal}

            (!(returnVal ResultDataModel) && !(returnVal ExecuteEnhanceModel)) {
                returnVal}

            List<EnhanceJavaEntity> enhanceJavaEntityList = enhanceContext.getEntitys()(Func.(enhanceJavaEntityList)) {returnVal}
            EnhanceContext context = enhanceContext.getContext()resultFlag = (returnVal ResultDataModel) {ResultDataModel resultDataModel = (ResultDataModel) returnValEnhanceResult enhanceResult = EnhanceResult()enhanceResult.setRecords(resultDataModel.getRecords())enhanceResult.setTotal(resultDataModel.getTotal())context.getParam().setList(resultDataModel.getRecords())context.setResult(enhanceResult)resultFlag = } (returnVal ExecuteEnhanceModel) {ExecuteEnhanceModel executeEnhanceModel = (ExecuteEnhanceModel) returnValEnhanceResult enhanceResult = EnhanceResult()enhanceResult.setId(executeEnhanceModel.getId())enhanceResult.setExitFlag(executeEnhanceModel.isExitFlag())context.setResult(enhanceResult)}

            List<EnhanceJavaEntity> alferJavaEntityList = enhanceContext.getAlferJavaEntityList()CriteriaFilterAdvicePluginUtils.(contextalferJavaEntityList)(EnhanceJavaEntity enhanceJavaEntity : enhanceJavaEntityList) {
                (Func.(alferJavaEntityList) && alferJavaEntityList.contains(enhanceJavaEntity)) {
                    }
                String javaType = enhanceJavaEntity.getJavaType()JavaEnhanceEnums javaEnhanceEnums = JavaEnhanceEnums.(javaType)EnhanceJavaStrategy strategy = javaEnhanceEnums.getStrategy()strategy.execute(enhanceJavaEntitycontextJavaEnhanceEventState..getName()joinPoint)(context.getResult().isExitFlag()) {
                    }
            }


            Object result = .getResult(joinPointcontext)(resultFlag) {
                ResultDataModel returnValData = (ResultDataModel) returnValResultDataModel resultDataModel = (ResultDataModel) resultreturnValData.setRecords(resultDataModel.getRecords())returnValData.setTotal(resultDataModel.getTotal())returnValData} {
                ExecuteEnhanceModel returnValData = (ExecuteEnhanceModel) returnValExecuteEnhanceModel resultDataModel = (ExecuteEnhanceModel) resultreturnValData.setId(resultDataModel.getId())returnValData}
        }

        (value = )
        Object (ProceedingJoinPoint joinPointByenceEnhance) Throwable {
            BuildEnhanceContext enhanceContext = .getContextAndPlugins(ByenceEnhancejoinPoint)(FuncBase.(enhanceContext)) {
                joinPoint.proceed()}
            List<EnhanceJavaEntity> javaEntityList = enhanceContext.getEntitys()(Func.(javaEntityList)) {
                joinPoint.proceed()}
            EnhanceContext context = enhanceContext.getContext()(EnhanceJavaEntity enhanceJavaEntity : javaEntityList) {
                String javaType = enhanceJavaEntity.getJavaType()JavaEnhanceEnums javaEnhanceEnums = JavaEnhanceEnums.(javaType)EnhanceJavaStrategy strategy = javaEnhanceEnums.getStrategy()strategy.execute(enhanceJavaEntitycontextJavaEnhanceEventState..getName()joinPoint)(context.getResult().isExitFlag()) {
                    }
            }
            .getResult(joinPointcontext)}

        (pointcut = throwing = )
        (JoinPoint joinPointByenceEnhanceException ex) Throwable {
            BuildEnhanceContext enhanceContext = .getContextAndPlugins(ByenceEnhancejoinPoint)(FuncBase.(enhanceContext)) {
                }
            List<EnhanceJavaEntity> enhanceJavaEntityList = enhanceContext.getEntitys()(Func.(enhanceJavaEntityList)) {
                }
            EnhanceContext context = enhanceContext.getContext()(EnhanceJavaEntity enhanceJavaEntity : enhanceJavaEntityList) {
                String javaType = enhanceJavaEntity.getJavaType()JavaEnhanceEnums javaEnhanceEnums = JavaEnhanceEnums.(javaType)EnhanceJavaStrategy strategy = javaEnhanceEnums.getStrategy()strategy.execute(enhanceJavaEntitycontextJavaEnhanceEventState..getName()joinPoint)(context.getResult().isExitFlag()) {
                    }
            }
        }



        BuildEnhanceContext (String typeByenceEnhanceJoinPoint joinPoint) {
            Map<StringObject> paramMap = .getJoinPointParam(joinPoint)String buttonCode = ByenceEnhance.buttonCode()Long dbFormId = (Long) paramMap.get()String key = dbFormId + + buttonCodeList<EnhanceJavaEntity> allJavaEntityList = .getOrDefault(key)(Func.(allJavaEntityList)) {}
            List<EnhanceJavaEntity> javaList = .getEnhanceJavaEntityList(typeallJavaEntityList)(Func.(javaList)) {
                }


            List<EnhanceJavaEntity> afterJavaEntityList = allJavaEntityList.stream()
                    .filter(enhanceJavaEntity -> (FuncBase.(enhanceJavaEntity.getButtonCode()) ||
                            FuncBase.(enhanceJavaEntity.getButtonCode())) && FuncBase.(PluginManager.(enhanceJavaEntity)))
                    .collect(Collectors.())(afterJavaEntityList.size() < ) {
                afterJavaEntityList.clear()}

            EnhanceParam param = .getEnhanceParam(dbFormIdparamMap)EnhanceContext context = EnhanceContext()context.setParam(param)BuildEnhanceContext buildEnhanceContext = BuildEnhanceContext(contextjavaListafterJavaEntityList)buildEnhanceContext}

        (EnhanceJavaEntity javaEntity) {
            String key = (javaEntity).merge(keyArrayList<>(Collections.(javaEntity))(oldValuenewValue) -> {
                oldValue.addAll(newValue)oldValue})(javaEntity.getJavaType()javaEntity.getJavaClassUrl())}

        (EnhanceJavaEntity javaEntity) {
            String key = (javaEntity)AtomicReference<String> oldJavaClassUrlAtomicRe = AtomicReference<>().merge(keyArrayList<>(Collections.(javaEntity))(oldValuenewValue) -> {
                oldValue.removeIf(oldJavaEntity -> {
                    (FuncBase.(oldJavaEntity.getId().getId())) {
                        .set(oldJavaEntity.getJavaClassUrl())} {
                        }
                })oldValue.add()oldValue})(oldJavaClassUrlAtomicRe.get())(javaEntity.getJavaType()javaEntity.getJavaClassUrl())}

        (EnhanceJavaEntity javaEntity) {
            String key = (javaEntity)List<EnhanceJavaEntity> javaEntityList = .getOrDefault(keyArrayList<>())AtomicReference<String> oldJavaClassUrlAtomicRe = AtomicReference<>()javaEntityList.removeIf(oldJavaEntity -> {
                (oldJavaEntity.getId().equals(.getId())) {
                    .set(oldJavaEntity.getJavaClassUrl())} {
                    }
            })(FuncBase.(javaEntityList)) {
                .remove(key)}

            (oldJavaClassUrlAtomicRe.get())}

        (String oldJavaClassUrl) {
            (Func.(oldJavaClassUrl)) {
                }
            Set<String> JavaClassUrlSet = .values().stream().flatMap(Collection::stream)
                    .map(EnhanceJavaEntity::getJavaClassUrl).collect(Collectors.())(!JavaClassUrlSet.contains(oldJavaClassUrl)) {
                PluginManager.(oldJavaClassUrl)}
        }

        (String javaTypeString javaClassUrl) {
            {
                (Func.(javaTypeJavaEnhanceEnum..getType())) {
                    Object bean = SpringUtils.(javaClassUrl)(Func.(bean) && bean BaseAdvicePlugin) {
                        PluginManager.(javaClassUrl(BaseAdvicePlugin) bean)}
                } (Func.(javaTypeJavaEnhanceEnum..getType())) {
                    Class<?> enhanceClass = Class.(javaClassUrl)BaseAdvicePlugin plugin = (BaseAdvicePlugin) enhanceClass.newInstance()PluginManager.(javaClassUrlplugin)}
            } (Exception e) {
                e.printStackTrace()}
        }

        String (EnhanceJavaEntity javaEntity) {
            String key = javaEntity.getDbformId() + + javaEntity.getButtonCode()key}

        List<EnhanceJavaEntity> (String typeList<EnhanceJavaEntity> enhanceJavaEntityAllList){
            List<EnhanceJavaEntity> enhanceJavaEntityList=ArrayList<>()(EnhanceJavaEntity javaEntity:enhanceJavaEntityAllList){
                String javaClassUrl = javaEntity.getJavaClassUrl()String javaType = javaEntity.getJavaType()BaseAdvicePlugin plugin = PluginManager.(javaClassUrl)(type) {
                    :(!(plugin BeforeAdvicePlugin)) {
                            }
                        enhanceJavaEntityList.add(javaEntity):(!(plugin AfterAdvicePlugin)) {
                            }
                        enhanceJavaEntityList.add(javaEntity):
                        (FuncBase.(javaTypeJavaEnhanceEnum..getType())) {
                            enhanceJavaEntityList.add(javaEntity)} (FuncBase.(javaTypeJavaEnhanceEnum..getType())) {
                            enhanceJavaEntityList.add(javaEntity)}
                        (!(plugin AroundAdvicePlugin)) {
                            }
                        enhanceJavaEntityList.add(javaEntity):
                        enhanceJavaEntityList.add(javaEntity):
                        }
            }
            enhanceJavaEntityList}

    }

2025-10-10 10:23

在初始化的时候报错。代码没有修改过的,image.png
只有这里引用了SpringUtilsimage.png
image.png

2025-09-15 09:02

增加自定义查询方案,快速查询。

编辑和保存 多条件 的查询方案


2025-09-11 16:20

就什么节点前后的增强,流程结束前后的增强,免去后端JAVA增强,直接调用通用接口修改参数,类似useFun.requestAPI或执行SQL。
目前每个流程都需要在项目上添加对应的增强Class然后重新部署。
希望简单的增删改可以免去重新部署

2025-09-11 15:15

降低对后端JAVA增强的依赖

2025-09-04 14:24

1.权限管理是系统核心,目前权限管理比较简单 建议 添加自定义用户字段(如业务员字段)进行灵活权限设置
2.dept字段感觉可以去掉,应该通过 用户字段 获取 getDept()和鉴权 去实现更灵活

2025-08-20 17:48

表单开发中 虚拟字段格式化 SQL处理 可以参考这个
image.png

2025-08-18 18:30

貌似是由于表格选择器的原因,使用下拉框和文本框都可以传递cascader参数给另外的下拉框。但表格选择框貌似无法传递cascader,有办法使表格选择框传递cascader吗

添加客服
图片未加载,请刷新后再试
联系我们