{"release":{"tag":{"name":"v2025.08(jdk8/11)","path":"/yudaocode/yudao-cloud-mini/tags/v2025.08(jdk8/11)","tree_path":"/yudaocode/yudao-cloud-mini/tree/v2025.08(jdk8/11)","message":"完善 vben5(antd) 工作流、迁移 vben5(ep) 商城、支持 IoT TCP 协议","commit":{"id":"e97957acf34dbf6179903ae92da383b42faf3c1f","short_id":"e97957a","title":"Merge branch 'master' of https://gitee.com/zhijiantianya/yudao-cloud","title_markdown":"Merge branch 'master' of \u003Ca href=\"https://gitee.com/zhijiantianya/yudao-cloud\"\u003Ehttps://gitee.com/zhijiantianya/yudao-cloud\u003C/a\u003E","description":"\n# Conflicts:\n#\tyudao-module-ai/yudao-module-ai-server/pom.xml\n#\tyudao-module-ai/yudao-module-ai-server/src/main/java/cn/iocoder/yudao/module/ai/AiServerApplication.java\n#\tyudao-module-ai/yudao-module-ai-server/src/main/java/cn/iocoder/yudao/module/ai/framework/ai/config/AiAutoConfiguration.java\n#\tyudao-module-ai/yudao-module-ai-server/src/main/java/cn/iocoder/yudao/module/ai/framework/ai/config/YudaoAiProperties.java\n#\tyudao-module-ai/yudao-module-ai-server/src/main/java/cn/iocoder/yudao/module/ai/framework/ai/core/AiModelFactoryImpl.java\n#\tyudao-module-ai/yudao-module-ai-server/src/main/java/cn/iocoder/yudao/module/ai/framework/ai/core/model/siliconflow/SiliconFlowImageModel.java\n#\tyudao-module-ai/yudao-module-ai-server/src/main/java/cn/iocoder/yudao/module/ai/service/chat/AiChatConversationServiceImpl.java\n#\tyudao-module-ai/yudao-module-ai-server/src/main/java/cn/iocoder/yudao/module/ai/service/chat/AiChatMessageServiceImpl.java\n#\tyudao-module-ai/yudao-module-ai-server/src/main/java/cn/iocoder/yudao/module/ai/service/image/AiImageServiceImpl.java\n#\tyudao-module-ai/yudao-module-ai-server/src/main/java/cn/iocoder/yudao/module/ai/service/knowledge/AiKnowledgeDocumentServiceImpl.java\n#\tyudao-module-ai/yudao-module-ai-server/src/main/java/cn/iocoder/yudao/module/ai/service/knowledge/AiKnowledgeSegmentServiceImpl.java\n#\tyudao-module-ai/yudao-module-ai-server/src/main/java/cn/iocoder/yudao/module/ai/service/model/AiChatRoleServiceImpl.java\n#\tyudao-module-ai/yudao-module-ai-server/src/main/java/cn/iocoder/yudao/module/ai/service/model/AiToolServiceImpl.java\n#\tyudao-module-ai/yudao-module-ai-server/src/main/java/cn/iocoder/yudao/module/ai/service/model/tool/UserProfileQueryToolFunction.java\n#\tyudao-module-ai/yudao-module-ai-server/src/main/java/cn/iocoder/yudao/module/ai/service/write/AiWriteServiceImpl.java\n#\tyudao-module-ai/yudao-module-ai-server/src/main/java/cn/iocoder/yudao/module/ai/util/AiUtils.java\n#\tyudao-module-ai/yudao-module-ai-server/src/main/resources/application-dev.yaml\n#\tyudao-module-ai/yudao-module-ai-server/src/main/resources/application-local.yaml\n#\tyudao-module-ai/yudao-module-ai-server/src/main/resources/application.yaml\n#\tyudao-module-ai/yudao-module-ai-server/src/test/java/cn/iocoder/yudao/module/ai/framework/ai/core/model/chat/AzureOpenAIChatModelTests.java\n#\tyudao-module-ai/yudao-module-ai-server/src/test/java/cn/iocoder/yudao/module/ai/framework/ai/core/model/chat/BaiChuanChatModelTests.java\n#\tyudao-module-ai/yudao-module-ai-server/src/test/java/cn/iocoder/yudao/module/ai/framework/ai/core/model/chat/DeepSeekChatModelTests.java\n#\tyudao-module-ai/yudao-module-ai-server/src/test/java/cn/iocoder/yudao/module/ai/framework/ai/core/model/chat/LlamaChatModelTests.java\n#\tyudao-module-ai/yudao-module-ai-server/src/test/java/cn/iocoder/yudao/module/ai/framework/ai/core/model/chat/MoonshotChatModelTests.java\n#\tyudao-module-ai/yudao-module-ai-server/src/test/java/cn/iocoder/yudao/module/ai/framework/ai/core/model/chat/OllamaChatModelTests.java\n#\tyudao-module-ai/yudao-module-ai-server/src/test/java/cn/iocoder/yudao/module/ai/framework/ai/core/model/chat/OpenAIChatModelTests.java\n#\tyudao-module-ai/yudao-module-ai-server/src/test/java/cn/iocoder/yudao/module/ai/framework/ai/core/model/chat/TongYiChatModelTests.java\n#\tyudao-module-ai/yudao-module-ai-server/src/test/java/cn/iocoder/yudao/module/ai/framework/ai/core/model/chat/YiYanChatModelTests.java\n#\tyudao-module-ai/yudao-module-ai-server/src/test/java/cn/iocoder/yudao/module/ai/framework/ai/core/model/image/OpenAiImageModelTests.java\n#\tyudao-module-ai/yudao-module-ai-server/src/test/java/cn/iocoder/yudao/module/ai/framework/ai/core/model/image/QianFanImageTests.java\n#\tyudao-module-ai/yudao-module-ai-server/src/test/java/cn/iocoder/yudao/module/ai/framework/ai/core/model/image/StabilityAiImageModelTests.java\n#\tyudao-module-ai/yudao-module-ai-server/src/test/java/cn/iocoder/yudao/module/ai/framework/ai/core/model/ppt/wdd/WenDuoDuoPptApiTests.java\n#\tyudao-module-ai/yudao-module-ai-server/src/test/java/cn/iocoder/yudao/module/ai/framework/ai/core/model/ppt/xunfei/XunFeiPptApiTests.java\n#\tyudao-module-bpm/yudao-module-bpm-server/src/main/java/cn/iocoder/yudao/module/bpm/service/definition/BpmFormServiceImpl.java\n#\tyudao-module-bpm/yudao-module-bpm-server/src/main/java/cn/iocoder/yudao/module/bpm/service/definition/BpmUserGroupServiceImpl.java\n#\tyudao-module-bpm/yudao-module-bpm-server/src/main/java/cn/iocoder/yudao/module/bpm/service/task/BpmProcessInstanceServiceImpl.java\n#\tyudao-module-crm/yudao-module-crm-server/src/main/java/cn/iocoder/yudao/module/crm/service/business/CrmBusinessServiceImpl.java\n#\tyudao-module-crm/yudao-module-crm-server/src/main/java/cn/iocoder/yudao/module/crm/service/business/CrmBusinessStatusServiceImpl.java\n#\tyudao-module-crm/yudao-module-crm-server/src/main/java/cn/iocoder/yudao/module/crm/service/clue/CrmClueServiceImpl.java\n#\tyudao-module-crm/yudao-module-crm-server/src/main/java/cn/iocoder/yudao/module/crm/service/contact/CrmContactServiceImpl.java\n#\tyudao-module-crm/yudao-module-crm-server/src/main/java/cn/iocoder/yudao/module/crm/service/contract/CrmContractServiceImpl.java\n#\tyudao-module-crm/yudao-module-crm-server/src/main/java/cn/iocoder/yudao/module/crm/service/customer/CrmCustomerServiceImpl.java\n#\tyudao-module-crm/yudao-module-crm-server/src/main/java/cn/iocoder/yudao/module/crm/service/permission/CrmPermissionServiceImpl.java\n#\tyudao-module-crm/yudao-module-crm-server/src/main/java/cn/iocoder/yudao/module/crm/service/product/CrmProductCategoryServiceImpl.java\n#\tyudao-module-crm/yudao-module-crm-server/src/main/java/cn/iocoder/yudao/module/crm/service/product/CrmProductServiceImpl.java\n#\tyudao-module-crm/yudao-module-crm-server/src/main/java/cn/iocoder/yudao/module/crm/service/receivable/CrmReceivablePlanServiceImpl.java\n#\tyudao-module-crm/yudao-module-crm-server/src/main/java/cn/iocoder/yudao/module/crm/service/receivable/CrmReceivableServiceImpl.java\n#\tyudao-module-crm/yudao-module-crm-server/src/main/java/cn/iocoder/yudao/module/crm/util/CrmPermissionUtils.java\n#\tyudao-module-erp/yudao-module-erp-server/src/main/java/cn/iocoder/yudao/module/erp/service/finance/ErpAccountServiceImpl.java\n#\tyudao-module-erp/yudao-module-erp-server/src/main/java/cn/iocoder/yudao/module/erp/service/finance/ErpFinancePaymentServiceImpl.java\n#\tyudao-module-erp/yudao-module-erp-server/src/main/java/cn/iocoder/yudao/module/erp/service/finance/ErpFinanceReceiptServiceImpl.java\n#\tyudao-module-erp/yudao-module-erp-server/src/main/java/cn/iocoder/yudao/module/erp/service/product/ErpProductCategoryServiceImpl.java\n#\tyudao-module-erp/yudao-module-erp-server/src/main/java/cn/iocoder/yudao/module/erp/service/product/ErpProductServiceImpl.java\n#\tyudao-module-erp/yudao-module-erp-server/src/main/java/cn/iocoder/yudao/module/erp/service/product/ErpProductUnitServiceImpl.java\n#\tyudao-module-erp/yudao-module-erp-server/src/main/java/cn/iocoder/yudao/module/erp/service/purchase/ErpPurchaseInServiceImpl.java\n#\tyudao-module-erp/yudao-module-erp-server/src/main/java/cn/iocoder/yudao/module/erp/service/purchase/ErpPurchaseOrderServiceImpl.java\n#\tyudao-module-erp/yudao-module-erp-server/src/main/java/cn/iocoder/yudao/module/erp/service/purchase/ErpPurchaseReturnServiceImpl.java\n#\tyudao-module-erp/yudao-module-erp-server/src/main/java/cn/iocoder/yudao/module/erp/service/purchase/ErpSupplierServiceImpl.java\n#\tyudao-module-erp/yudao-module-erp-server/src/main/java/cn/iocoder/yudao/module/erp/service/sale/ErpCustomerServiceImpl.java\n#\tyudao-module-erp/yudao-module-erp-server/src/main/java/cn/iocoder/yudao/module/erp/service/sale/ErpSaleOrderServiceImpl.java\n#\tyudao-module-erp/yudao-module-erp-server/src/main/java/cn/iocoder/yudao/module/erp/service/sale/ErpSaleOutServiceImpl.java\n#\tyudao-module-erp/yudao-module-erp-server/src/main/java/cn/iocoder/yudao/module/erp/service/sale/ErpSaleReturnServiceImpl.java\n#\tyudao-module-erp/yudao-module-erp-server/src/main/java/cn/iocoder/yudao/module/erp/service/stock/ErpStockCheckServiceImpl.java\n#\tyudao-module-erp/yudao-module-erp-server/src/main/java/cn/iocoder/yudao/module/erp/service/stock/ErpStockInServiceImpl.java\n#\tyudao-module-erp/yudao-module-erp-server/src/main/java/cn/iocoder/yudao/module/erp/service/stock/ErpStockMoveServiceImpl.java\n#\tyudao-module-erp/yudao-module-erp-server/src/main/java/cn/iocoder/yudao/module/erp/service/stock/ErpStockOutServiceImpl.java\n#\tyudao-module-erp/yudao-module-erp-server/src/main/java/cn/iocoder/yudao/module/erp/service/stock/ErpWarehouseServiceImpl.java\n#\tyudao-module-erp/yudao-module-erp-server/src/main/resources/mapper/statistics/ErpPurchaseStatisticsMapper.xml\n#\tyudao-module-erp/yudao-module-erp-server/src/main/resources/mapper/statistics/ErpSaleStatisticsMapper.xml\n#\tyudao-module-iot/yudao-module-iot-plugins/yudao-module-iot-plugin-mqtt/pom.xml\n#\tyudao-module-mall/yudao-module-product-server/src/main/java/cn/iocoder/yudao/module/product/controller/admin/spu/ProductSpuController.java\n#\tyudao-module-mall/yudao-module-product-server/src/main/java/cn/iocoder/yudao/module/product/service/brand/ProductBrandServiceImpl.java\n#\tyudao-module-mall/yudao-module-product-server/src/main/java/cn/iocoder/yudao/module/product/service/category/ProductCategoryServiceImpl.java\n#\tyudao-module-mall/yudao-module-product-server/src/main/java/cn/iocoder/yudao/module/product/service/property/ProductPropertyServiceImpl.java\n#\tyudao-module-mall/yudao-module-product-server/src/main/java/cn/iocoder/yudao/module/product/service/sku/ProductSkuServiceImpl.java\n#\tyudao-module-mall/yudao-module-product-server/src/main/java/cn/iocoder/yudao/module/product/service/spu/ProductSpuServiceImpl.java\n#\tyudao-module-mall/yudao-module-promotion-server/src/main/java/cn/iocoder/yudao/module/promotion/convert/combination/CombinationActivityConvert.java\n#\tyudao-module-mall/yudao-module-promotion-server/src/main/java/cn/iocoder/yudao/module/promotion/dal/dataobject/coupon/CouponTemplateDO.java\n#\tyudao-module-mall/yudao-module-promotion-server/src/main/java/cn/iocoder/yudao/module/promotion/dal/mysql/coupon/CouponTemplateMapper.java\n#\tyudao-module-mall/yudao-module-promotion-server/src/main/java/cn/iocoder/yudao/module/promotion/service/bargain/BargainActivityServiceImpl.java\n#\tyudao-module-mall/yudao-module-promotion-server/src/main/java/cn/iocoder/yudao/module/promotion/service/combination/CombinationActivityServiceImpl.java\n#\tyudao-module-mall/yudao-module-promotion-server/src/main/java/cn/iocoder/yudao/module/promotion/service/combination/CombinationRecordServiceImpl.java\n#\tyudao-module-mall/yudao-module-promotion-server/src/main/java/cn/iocoder/yudao/module/promotion/service/coupon/CouponServiceImpl.java\n#\tyudao-module-mall/yudao-module-promotion-server/src/main/java/cn/iocoder/yudao/module/promotion/service/coupon/CouponTemplateServiceImpl.java\n#\tyudao-module-mall/yudao-module-promotion-server/src/main/java/cn/iocoder/yudao/module/promotion/service/diy/DiyPageServiceImpl.java\n#\tyudao-module-mall/yudao-module-promotion-server/src/main/java/cn/iocoder/yudao/module/promotion/service/seckill/SeckillConfigServiceImpl.java\n#\tyudao-module-mall/yudao-module-statistics-server/src/main/java/cn/iocoder/yudao/module/statistics/dal/mysql/product/ProductStatisticsMapper.java\n#\tyudao-module-mall/yudao-module-statistics-server/src/main/resources/mapper/trade/TradeOrderStatisticsMapper.xml\n#\tyudao-module-mall/yudao-module-trade-api/src/main/java/cn/iocoder/yudao/module/trade/enums/ErrorCodeConstants.java\n#\tyudao-module-mall/yudao-module-trade-server/src/main/java/cn/iocoder/yudao/module/trade/controller/admin/aftersale/AfterSaleController.java\n#\tyudao-module-mall/yudao-module-trade-server/src/main/java/cn/iocoder/yudao/module/trade/service/delivery/DeliveryExpressTemplateServiceImpl.java\n#\tyudao-module-mall/yudao-module-trade-server/src/main/java/cn/iocoder/yudao/module/trade/service/delivery/DeliveryPickUpStoreServiceImpl.java\n#\tyudao-module-mall/yudao-module-trade-server/src/main/java/cn/iocoder/yudao/module/trade/service/order/TradeOrderQueryServiceImpl.java\n#\tyudao-module-mall/yudao-module-trade-server/src/main/java/cn/iocoder/yudao/module/trade/service/order/TradeOrderUpdateServiceImpl.java\n#\tyudao-module-member/yudao-module-member-server/src/main/java/cn/iocoder/yudao/module/member/service/group/MemberGroupServiceImpl.java\n#\tyudao-module-member/yudao-module-member-server/src/main/java/cn/iocoder/yudao/module/member/service/level/MemberLevelServiceImpl.java\n#\tyudao-module-member/yudao-module-member-server/src/main/java/cn/iocoder/yudao/module/member/service/tag/MemberTagServiceImpl.java\n#\tyudao-module-member/yudao-module-member-server/src/main/java/cn/iocoder/yudao/module/member/service/user/MemberUserServiceImpl.java\n#\tyudao-module-mp/yudao-module-mp-server/src/main/java/cn/iocoder/yudao/module/mp/service/handler/user/SubscribeHandler.java\n#\tyudao-module-mp/yudao-module-mp-server/src/main/java/cn/iocoder/yudao/module/mp/service/tag/MpTagServiceImpl.java\n#\tyudao-module-mp/yudao-module-mp-server/src/main/java/cn/iocoder/yudao/module/mp/service/user/MpUserServiceImpl.java\n#\tyudao-module-pay/yudao-module-pay-server/src/main/java/cn/iocoder/yudao/module/pay/service/app/PayAppServiceImpl.java\n#\tyudao-module-pay/yudao-module-pay-server/src/main/java/cn/iocoder/yudao/module/pay/service/channel/PayChannelServiceImpl.java\n#\tyudao-module-pay/yudao-module-pay-server/src/main/java/cn/iocoder/yudao/module/pay/service/order/PayOrderServiceImpl.java\n#\tyudao-module-pay/yudao-module-pay-server/src/main/java/cn/iocoder/yudao/module/pay/service/transfer/PayTransferServiceImpl.java\n#\tyudao-module-pay/yudao-module-pay-server/src/main/java/cn/iocoder/yudao/module/pay/service/wallet/PayWalletRechargeServiceImpl.java\n#\tyudao-module-system/yudao-module-system-server/src/test/java/cn/iocoder/yudao/module/system/service/social/SocialClientServiceImplTest.java","description_markdown":"# Conflicts:\n#  yudao-module-ai/yudao-module-ai-server/pom.xml\n#  yudao-module-ai/yudao-module-ai-server/src/main/java/cn/iocoder/yudao/module/ai/AiServerApplication.java\n#  yudao-module-ai/yudao-module-ai-server/src/main/java/cn/iocoder/yudao/module/ai/framework/ai/config/AiAutoConfiguration.java\n#  yudao-module-ai/yudao-module-ai-server/src/main/java/cn/iocoder/yudao/module/ai/framework/ai/config/YudaoAiProperties.java\n#  yudao-module-ai/yudao-module-ai-server/src/main/java/cn/iocoder/yudao/module/ai/framework/ai/core/AiModelFactoryImpl.java\n#  yudao-module-ai/yudao-module-ai-server/src/main/java/cn/iocoder/yudao/module/ai/framework/ai/core/model/siliconflow/SiliconFlowImageModel.java\n#  yudao-module-ai/yudao-module-ai-server/src/main/java/cn/iocoder/yudao/module/ai/service/chat/AiChatConversationServiceImpl.java\n#  yudao-module-ai/yudao-module-ai-server/src/main/java/cn/iocoder/yudao/module/ai/service/chat/AiChatMessageServiceImpl.java\n#  yudao-module-ai/yudao-module-ai-server/src/main/java/cn/iocoder/yudao/module/ai/service/image/AiImageServiceImpl.java\n#  yudao-module-ai/yudao-module-ai-server/src/main/java/cn/iocoder/yudao/module/ai/service/knowledge/AiKnowledgeDocumentServiceImpl.java\n#  yudao-module-ai/yudao-module-ai-server/src/main/java/cn/iocoder/yudao/module/ai/service/knowledge/AiKnowledgeSegmentServiceImpl.java\n#  yudao-module-ai/yudao-module-ai-server/src/main/java/cn/iocoder/yudao/module/ai/service/model/AiChatRoleServiceImpl.java\n#  yudao-module-ai/yudao-module-ai-server/src/main/java/cn/iocoder/yudao/module/ai/service/model/AiToolServiceImpl.java\n#  yudao-module-ai/yudao-module-ai-server/src/main/java/cn/iocoder/yudao/module/ai/service/model/tool/UserProfileQueryToolFunction.java\n#  yudao-module-ai/yudao-module-ai-server/src/main/java/cn/iocoder/yudao/module/ai/service/write/AiWriteServiceImpl.java\n#  yudao-module-ai/yudao-module-ai-server/src/main/java/cn/iocoder/yudao/module/ai/util/AiUtils.java\n#  yudao-module-ai/yudao-module-ai-server/src/main/resources/application-dev.yaml\n#  yudao-module-ai/yudao-module-ai-server/src/main/resources/application-local.yaml\n#  yudao-module-ai/yudao-module-ai-server/src/main/resources/application.yaml\n#  yudao-module-ai/yudao-module-ai-server/src/test/java/cn/iocoder/yudao/module/ai/framework/ai/core/model/chat/AzureOpenAIChatModelTests.java\n#  yudao-module-ai/yudao-module-ai-server/src/test/java/cn/iocoder/yudao/module/ai/framework/ai/core/model/chat/BaiChuanChatModelTests.java\n#  yudao-module-ai/yudao-module-ai-server/src/test/java/cn/iocoder/yudao/module/ai/framework/ai/core/model/chat/DeepSeekChatModelTests.java\n#  yudao-module-ai/yudao-module-ai-server/src/test/java/cn/iocoder/yudao/module/ai/framework/ai/core/model/chat/LlamaChatModelTests.java\n#  yudao-module-ai/yudao-module-ai-server/src/test/java/cn/iocoder/yudao/module/ai/framework/ai/core/model/chat/MoonshotChatModelTests.java\n#  yudao-module-ai/yudao-module-ai-server/src/test/java/cn/iocoder/yudao/module/ai/framework/ai/core/model/chat/OllamaChatModelTests.java\n#  yudao-module-ai/yudao-module-ai-server/src/test/java/cn/iocoder/yudao/module/ai/framework/ai/core/model/chat/OpenAIChatModelTests.java\n#  yudao-module-ai/yudao-module-ai-server/src/test/java/cn/iocoder/yudao/module/ai/framework/ai/core/model/chat/TongYiChatModelTests.java\n#  yudao-module-ai/yudao-module-ai-server/src/test/java/cn/iocoder/yudao/module/ai/framework/ai/core/model/chat/YiYanChatModelTests.java\n#  yudao-module-ai/yudao-module-ai-server/src/test/java/cn/iocoder/yudao/module/ai/framework/ai/core/model/image/OpenAiImageModelTests.java\n#  yudao-module-ai/yudao-module-ai-server/src/test/java/cn/iocoder/yudao/module/ai/framework/ai/core/model/image/QianFanImageTests.java\n#  yudao-module-ai/yudao-module-ai-server/src/test/java/cn/iocoder/yudao/module/ai/framework/ai/core/model/image/StabilityAiImageModelTests.java\n#  yudao-module-ai/yudao-module-ai-server/src/test/java/cn/iocoder/yudao/module/ai/framework/ai/core/model/ppt/wdd/WenDuoDuoPptApiTests.java\n#  yudao-module-ai/yudao-module-ai-server/src/test/java/cn/iocoder/yudao/module/ai/framework/ai/core/model/ppt/xunfei/XunFeiPptApiTests.java\n#  yudao-module-bpm/yudao-module-bpm-server/src/main/java/cn/iocoder/yudao/module/bpm/service/definition/BpmFormServiceImpl.java\n#  yudao-module-bpm/yudao-module-bpm-server/src/main/java/cn/iocoder/yudao/module/bpm/service/definition/BpmUserGroupServiceImpl.java\n#  yudao-module-bpm/yudao-module-bpm-server/src/main/java/cn/iocoder/yudao/module/bpm/service/task/BpmProcessInstanceServiceImpl.java\n#  yudao-module-crm/yudao-module-crm-server/src/main/java/cn/iocoder/yudao/module/crm/service/business/CrmBusinessServiceImpl.java\n#  yudao-module-crm/yudao-module-crm-server/src/main/java/cn/iocoder/yudao/module/crm/service/business/CrmBusinessStatusServiceImpl.java\n#  yudao-module-crm/yudao-module-crm-server/src/main/java/cn/iocoder/yudao/module/crm/service/clue/CrmClueServiceImpl.java\n#  yudao-module-crm/yudao-module-crm-server/src/main/java/cn/iocoder/yudao/module/crm/service/contact/CrmContactServiceImpl.java\n#  yudao-module-crm/yudao-module-crm-server/src/main/java/cn/iocoder/yudao/module/crm/service/contract/CrmContractServiceImpl.java\n#  yudao-module-crm/yudao-module-crm-server/src/main/java/cn/iocoder/yudao/module/crm/service/customer/CrmCustomerServiceImpl.java\n#  yudao-module-crm/yudao-module-crm-server/src/main/java/cn/iocoder/yudao/module/crm/service/permission/CrmPermissionServiceImpl.java\n#  yudao-module-crm/yudao-module-crm-server/src/main/java/cn/iocoder/yudao/module/crm/service/product/CrmProductCategoryServiceImpl.java\n#  yudao-module-crm/yudao-module-crm-server/src/main/java/cn/iocoder/yudao/module/crm/service/product/CrmProductServiceImpl.java\n#  yudao-module-crm/yudao-module-crm-server/src/main/java/cn/iocoder/yudao/module/crm/service/receivable/CrmReceivablePlanServiceImpl.java\n#  yudao-module-crm/yudao-module-crm-server/src/main/java/cn/iocoder/yudao/module/crm/service/receivable/CrmReceivableServiceImpl.java\n#  yudao-module-crm/yudao-module-crm-server/src/main/java/cn/iocoder/yudao/module/crm/util/CrmPermissionUtils.java\n#  yudao-module-erp/yudao-module-erp-server/src/main/java/cn/iocoder/yudao/module/erp/service/finance/ErpAccountServiceImpl.java\n#  yudao-module-erp/yudao-module-erp-server/src/main/java/cn/iocoder/yudao/module/erp/service/finance/ErpFinancePaymentServiceImpl.java\n#  yudao-module-erp/yudao-module-erp-server/src/main/java/cn/iocoder/yudao/module/erp/service/finance/ErpFinanceReceiptServiceImpl.java\n#  yudao-module-erp/yudao-module-erp-server/src/main/java/cn/iocoder/yudao/module/erp/service/product/ErpProductCategoryServiceImpl.java\n#  yudao-module-erp/yudao-module-erp-server/src/main/java/cn/iocoder/yudao/module/erp/service/product/ErpProductServiceImpl.java\n#  yudao-module-erp/yudao-module-erp-server/src/main/java/cn/iocoder/yudao/module/erp/service/product/ErpProductUnitServiceImpl.java\n#  yudao-module-erp/yudao-module-erp-server/src/main/java/cn/iocoder/yudao/module/erp/service/purchase/ErpPurchaseInServiceImpl.java\n#  yudao-module-erp/yudao-module-erp-server/src/main/java/cn/iocoder/yudao/module/erp/service/purchase/ErpPurchaseOrderServiceImpl.java\n#  yudao-module-erp/yudao-module-erp-server/src/main/java/cn/iocoder/yudao/module/erp/service/purchase/ErpPurchaseReturnServiceImpl.java\n#  yudao-module-erp/yudao-module-erp-server/src/main/java/cn/iocoder/yudao/module/erp/service/purchase/ErpSupplierServiceImpl.java\n#  yudao-module-erp/yudao-module-erp-server/src/main/java/cn/iocoder/yudao/module/erp/service/sale/ErpCustomerServiceImpl.java\n#  yudao-module-erp/yudao-module-erp-server/src/main/java/cn/iocoder/yudao/module/erp/service/sale/ErpSaleOrderServiceImpl.java\n#  yudao-module-erp/yudao-module-erp-server/src/main/java/cn/iocoder/yudao/module/erp/service/sale/ErpSaleOutServiceImpl.java\n#  yudao-module-erp/yudao-module-erp-server/src/main/java/cn/iocoder/yudao/module/erp/service/sale/ErpSaleReturnServiceImpl.java\n#  yudao-module-erp/yudao-module-erp-server/src/main/java/cn/iocoder/yudao/module/erp/service/stock/ErpStockCheckServiceImpl.java\n#  yudao-module-erp/yudao-module-erp-server/src/main/java/cn/iocoder/yudao/module/erp/service/stock/ErpStockInServiceImpl.java\n#  yudao-module-erp/yudao-module-erp-server/src/main/java/cn/iocoder/yudao/module/erp/service/stock/ErpStockMoveServiceImpl.java\n#  yudao-module-erp/yudao-module-erp-server/src/main/java/cn/iocoder/yudao/module/erp/service/stock/ErpStockOutServiceImpl.java\n#  yudao-module-erp/yudao-module-erp-server/src/main/java/cn/iocoder/yudao/module/erp/service/stock/ErpWarehouseServiceImpl.java\n#  yudao-module-erp/yudao-module-erp-server/src/main/resources/mapper/statistics/ErpPurchaseStatisticsMapper.xml\n#  yudao-module-erp/yudao-module-erp-server/src/main/resources/mapper/statistics/ErpSaleStatisticsMapper.xml\n#  yudao-module-iot/yudao-module-iot-plugins/yudao-module-iot-plugin-mqtt/pom.xml\n#  yudao-module-mall/yudao-module-product-server/src/main/java/cn/iocoder/yudao/module/product/controller/admin/spu/ProductSpuController.java\n#  yudao-module-mall/yudao-module-product-server/src/main/java/cn/iocoder/yudao/module/product/service/brand/ProductBrandServiceImpl.java\n#  yudao-module-mall/yudao-module-product-server/src/main/java/cn/iocoder/yudao/module/product/service/category/ProductCategoryServiceImpl.java\n#  yudao-module-mall/yudao-module-product-server/src/main/java/cn/iocoder/yudao/module/product/service/property/ProductPropertyServiceImpl.java\n#  yudao-module-mall/yudao-module-product-server/src/main/java/cn/iocoder/yudao/module/product/service/sku/ProductSkuServiceImpl.java\n#  yudao-module-mall/yudao-module-product-server/src/main/java/cn/iocoder/yudao/module/product/service/spu/ProductSpuServiceImpl.java\n#  yudao-module-mall/yudao-module-promotion-server/src/main/java/cn/iocoder/yudao/module/promotion/convert/combination/CombinationActivityConvert.java\n#  yudao-module-mall/yudao-module-promotion-server/src/main/java/cn/iocoder/yudao/module/promotion/dal/dataobject/coupon/CouponTemplateDO.java\n#  yudao-module-mall/yudao-module-promotion-server/src/main/java/cn/iocoder/yudao/module/promotion/dal/mysql/coupon/CouponTemplateMapper.java\n#  yudao-module-mall/yudao-module-promotion-server/src/main/java/cn/iocoder/yudao/module/promotion/service/bargain/BargainActivityServiceImpl.java\n#  yudao-module-mall/yudao-module-promotion-server/src/main/java/cn/iocoder/yudao/module/promotion/service/combination/CombinationActivityServiceImpl.java\n#  yudao-module-mall/yudao-module-promotion-server/src/main/java/cn/iocoder/yudao/module/promotion/service/combination/CombinationRecordServiceImpl.java\n#  yudao-module-mall/yudao-module-promotion-server/src/main/java/cn/iocoder/yudao/module/promotion/service/coupon/CouponServiceImpl.java\n#  yudao-module-mall/yudao-module-promotion-server/src/main/java/cn/iocoder/yudao/module/promotion/service/coupon/CouponTemplateServiceImpl.java\n#  yudao-module-mall/yudao-module-promotion-server/src/main/java/cn/iocoder/yudao/module/promotion/service/diy/DiyPageServiceImpl.java\n#  yudao-module-mall/yudao-module-promotion-server/src/main/java/cn/iocoder/yudao/module/promotion/service/seckill/SeckillConfigServiceImpl.java\n#  yudao-module-mall/yudao-module-statistics-server/src/main/java/cn/iocoder/yudao/module/statistics/dal/mysql/product/ProductStatisticsMapper.java\n#  yudao-module-mall/yudao-module-statistics-server/src/main/resources/mapper/trade/TradeOrderStatisticsMapper.xml\n#  yudao-module-mall/yudao-module-trade-api/src/main/java/cn/iocoder/yudao/module/trade/enums/ErrorCodeConstants.java\n#  yudao-module-mall/yudao-module-trade-server/src/main/java/cn/iocoder/yudao/module/trade/controller/admin/aftersale/AfterSaleController.java\n#  yudao-module-mall/yudao-module-trade-server/src/main/java/cn/iocoder/yudao/module/trade/service/delivery/DeliveryExpressTemplateServiceImpl.java\n#  yudao-module-mall/yudao-module-trade-server/src/main/java/cn/iocoder/yudao/module/trade/service/delivery/DeliveryPickUpStoreServiceImpl.java\n#  yudao-module-mall/yudao-module-trade-server/src/main/java/cn/iocoder/yudao/module/trade/service/order/TradeOrderQueryServiceImpl.java\n#  yudao-module-mall/yudao-module-trade-server/src/main/java/cn/iocoder/yudao/module/trade/service/order/TradeOrderUpdateServiceImpl.java\n#  yudao-module-member/yudao-module-member-server/src/main/java/cn/iocoder/yudao/module/member/service/group/MemberGroupServiceImpl.java\n#  yudao-module-member/yudao-module-member-server/src/main/java/cn/iocoder/yudao/module/member/service/level/MemberLevelServiceImpl.java\n#  yudao-module-member/yudao-module-member-server/src/main/java/cn/iocoder/yudao/module/member/service/tag/MemberTagServiceImpl.java\n#  yudao-module-member/yudao-module-member-server/src/main/java/cn/iocoder/yudao/module/member/service/user/MemberUserServiceImpl.java\n#  yudao-module-mp/yudao-module-mp-server/src/main/java/cn/iocoder/yudao/module/mp/service/handler/user/SubscribeHandler.java\n#  yudao-module-mp/yudao-module-mp-server/src/main/java/cn/iocoder/yudao/module/mp/service/tag/MpTagServiceImpl.java\n#  yudao-module-mp/yudao-module-mp-server/src/main/java/cn/iocoder/yudao/module/mp/service/user/MpUserServiceImpl.java\n#  yudao-module-pay/yudao-module-pay-server/src/main/java/cn/iocoder/yudao/module/pay/service/app/PayAppServiceImpl.java\n#  yudao-module-pay/yudao-module-pay-server/src/main/java/cn/iocoder/yudao/module/pay/service/channel/PayChannelServiceImpl.java\n#  yudao-module-pay/yudao-module-pay-server/src/main/java/cn/iocoder/yudao/module/pay/service/order/PayOrderServiceImpl.java\n#  yudao-module-pay/yudao-module-pay-server/src/main/java/cn/iocoder/yudao/module/pay/service/transfer/PayTransferServiceImpl.java\n#  yudao-module-pay/yudao-module-pay-server/src/main/java/cn/iocoder/yudao/module/pay/service/wallet/PayWalletRechargeServiceImpl.java\n#  yudao-module-system/yudao-module-system-server/src/test/java/cn/iocoder/yudao/module/system/service/social/SocialClientServiceImplTest.java","message":"Merge branch 'master' of https://gitee.com/zhijiantianya/yudao-cloud\n\n# Conflicts:\n#\tyudao-module-ai/yudao-module-ai-server/pom.xml\n#\tyudao-module-ai/yudao-module-ai-server/src/main/java/cn/iocoder/yudao/module/ai/AiServerApplication.java\n#\tyudao-module-ai/yudao-module-ai-server/src/main/java/cn/iocoder/yudao/module/ai/framework/ai/config/AiAutoConfiguration.java\n#\tyudao-module-ai/yudao-module-ai-server/src/main/java/cn/iocoder/yudao/module/ai/framework/ai/config/YudaoAiProperties.java\n#\tyudao-module-ai/yudao-module-ai-server/src/main/java/cn/iocoder/yudao/module/ai/framework/ai/core/AiModelFactoryImpl.java\n#\tyudao-module-ai/yudao-module-ai-server/src/main/java/cn/iocoder/yudao/module/ai/framework/ai/core/model/siliconflow/SiliconFlowImageModel.java\n#\tyudao-module-ai/yudao-module-ai-server/src/main/java/cn/iocoder/yudao/module/ai/service/chat/AiChatConversationServiceImpl.java\n#\tyudao-module-ai/yudao-module-ai-server/src/main/java/cn/iocoder/yudao/module/ai/service/chat/AiChatMessageServiceImpl.java\n#\tyudao-module-ai/yudao-module-ai-server/src/main/java/cn/iocoder/yudao/module/ai/service/image/AiImageServiceImpl.java\n#\tyudao-module-ai/yudao-module-ai-server/src/main/java/cn/iocoder/yudao/module/ai/service/knowledge/AiKnowledgeDocumentServiceImpl.java\n#\tyudao-module-ai/yudao-module-ai-server/src/main/java/cn/iocoder/yudao/module/ai/service/knowledge/AiKnowledgeSegmentServiceImpl.java\n#\tyudao-module-ai/yudao-module-ai-server/src/main/java/cn/iocoder/yudao/module/ai/service/model/AiChatRoleServiceImpl.java\n#\tyudao-module-ai/yudao-module-ai-server/src/main/java/cn/iocoder/yudao/module/ai/service/model/AiToolServiceImpl.java\n#\tyudao-module-ai/yudao-module-ai-server/src/main/java/cn/iocoder/yudao/module/ai/service/model/tool/UserProfileQueryToolFunction.java\n#\tyudao-module-ai/yudao-module-ai-server/src/main/java/cn/iocoder/yudao/module/ai/service/write/AiWriteServiceImpl.java\n#\tyudao-module-ai/yudao-module-ai-server/src/main/java/cn/iocoder/yudao/module/ai/util/AiUtils.java\n#\tyudao-module-ai/yudao-module-ai-server/src/main/resources/application-dev.yaml\n#\tyudao-module-ai/yudao-module-ai-server/src/main/resources/application-local.yaml\n#\tyudao-module-ai/yudao-module-ai-server/src/main/resources/application.yaml\n#\tyudao-module-ai/yudao-module-ai-server/src/test/java/cn/iocoder/yudao/module/ai/framework/ai/core/model/chat/AzureOpenAIChatModelTests.java\n#\tyudao-module-ai/yudao-module-ai-server/src/test/java/cn/iocoder/yudao/module/ai/framework/ai/core/model/chat/BaiChuanChatModelTests.java\n#\tyudao-module-ai/yudao-module-ai-server/src/test/java/cn/iocoder/yudao/module/ai/framework/ai/core/model/chat/DeepSeekChatModelTests.java\n#\tyudao-module-ai/yudao-module-ai-server/src/test/java/cn/iocoder/yudao/module/ai/framework/ai/core/model/chat/LlamaChatModelTests.java\n#\tyudao-module-ai/yudao-module-ai-server/src/test/java/cn/iocoder/yudao/module/ai/framework/ai/core/model/chat/MoonshotChatModelTests.java\n#\tyudao-module-ai/yudao-module-ai-server/src/test/java/cn/iocoder/yudao/module/ai/framework/ai/core/model/chat/OllamaChatModelTests.java\n#\tyudao-module-ai/yudao-module-ai-server/src/test/java/cn/iocoder/yudao/module/ai/framework/ai/core/model/chat/OpenAIChatModelTests.java\n#\tyudao-module-ai/yudao-module-ai-server/src/test/java/cn/iocoder/yudao/module/ai/framework/ai/core/model/chat/TongYiChatModelTests.java\n#\tyudao-module-ai/yudao-module-ai-server/src/test/java/cn/iocoder/yudao/module/ai/framework/ai/core/model/chat/YiYanChatModelTests.java\n#\tyudao-module-ai/yudao-module-ai-server/src/test/java/cn/iocoder/yudao/module/ai/framework/ai/core/model/image/OpenAiImageModelTests.java\n#\tyudao-module-ai/yudao-module-ai-server/src/test/java/cn/iocoder/yudao/module/ai/framework/ai/core/model/image/QianFanImageTests.java\n#\tyudao-module-ai/yudao-module-ai-server/src/test/java/cn/iocoder/yudao/module/ai/framework/ai/core/model/image/StabilityAiImageModelTests.java\n#\tyudao-module-ai/yudao-module-ai-server/src/test/java/cn/iocoder/yudao/module/ai/framework/ai/core/model/ppt/wdd/WenDuoDuoPptApiTests.java\n#\tyudao-module-ai/yudao-module-ai-server/src/test/java/cn/iocoder/yudao/module/ai/framework/ai/core/model/ppt/xunfei/XunFeiPptApiTests.java\n#\tyudao-module-bpm/yudao-module-bpm-server/src/main/java/cn/iocoder/yudao/module/bpm/service/definition/BpmFormServiceImpl.java\n#\tyudao-module-bpm/yudao-module-bpm-server/src/main/java/cn/iocoder/yudao/module/bpm/service/definition/BpmUserGroupServiceImpl.java\n#\tyudao-module-bpm/yudao-module-bpm-server/src/main/java/cn/iocoder/yudao/module/bpm/service/task/BpmProcessInstanceServiceImpl.java\n#\tyudao-module-crm/yudao-module-crm-server/src/main/java/cn/iocoder/yudao/module/crm/service/business/CrmBusinessServiceImpl.java\n#\tyudao-module-crm/yudao-module-crm-server/src/main/java/cn/iocoder/yudao/module/crm/service/business/CrmBusinessStatusServiceImpl.java\n#\tyudao-module-crm/yudao-module-crm-server/src/main/java/cn/iocoder/yudao/module/crm/service/clue/CrmClueServiceImpl.java\n#\tyudao-module-crm/yudao-module-crm-server/src/main/java/cn/iocoder/yudao/module/crm/service/contact/CrmContactServiceImpl.java\n#\tyudao-module-crm/yudao-module-crm-server/src/main/java/cn/iocoder/yudao/module/crm/service/contract/CrmContractServiceImpl.java\n#\tyudao-module-crm/yudao-module-crm-server/src/main/java/cn/iocoder/yudao/module/crm/service/customer/CrmCustomerServiceImpl.java\n#\tyudao-module-crm/yudao-module-crm-server/src/main/java/cn/iocoder/yudao/module/crm/service/permission/CrmPermissionServiceImpl.java\n#\tyudao-module-crm/yudao-module-crm-server/src/main/java/cn/iocoder/yudao/module/crm/service/product/CrmProductCategoryServiceImpl.java\n#\tyudao-module-crm/yudao-module-crm-server/src/main/java/cn/iocoder/yudao/module/crm/service/product/CrmProductServiceImpl.java\n#\tyudao-module-crm/yudao-module-crm-server/src/main/java/cn/iocoder/yudao/module/crm/service/receivable/CrmReceivablePlanServiceImpl.java\n#\tyudao-module-crm/yudao-module-crm-server/src/main/java/cn/iocoder/yudao/module/crm/service/receivable/CrmReceivableServiceImpl.java\n#\tyudao-module-crm/yudao-module-crm-server/src/main/java/cn/iocoder/yudao/module/crm/util/CrmPermissionUtils.java\n#\tyudao-module-erp/yudao-module-erp-server/src/main/java/cn/iocoder/yudao/module/erp/service/finance/ErpAccountServiceImpl.java\n#\tyudao-module-erp/yudao-module-erp-server/src/main/java/cn/iocoder/yudao/module/erp/service/finance/ErpFinancePaymentServiceImpl.java\n#\tyudao-module-erp/yudao-module-erp-server/src/main/java/cn/iocoder/yudao/module/erp/service/finance/ErpFinanceReceiptServiceImpl.java\n#\tyudao-module-erp/yudao-module-erp-server/src/main/java/cn/iocoder/yudao/module/erp/service/product/ErpProductCategoryServiceImpl.java\n#\tyudao-module-erp/yudao-module-erp-server/src/main/java/cn/iocoder/yudao/module/erp/service/product/ErpProductServiceImpl.java\n#\tyudao-module-erp/yudao-module-erp-server/src/main/java/cn/iocoder/yudao/module/erp/service/product/ErpProductUnitServiceImpl.java\n#\tyudao-module-erp/yudao-module-erp-server/src/main/java/cn/iocoder/yudao/module/erp/service/purchase/ErpPurchaseInServiceImpl.java\n#\tyudao-module-erp/yudao-module-erp-server/src/main/java/cn/iocoder/yudao/module/erp/service/purchase/ErpPurchaseOrderServiceImpl.java\n#\tyudao-module-erp/yudao-module-erp-server/src/main/java/cn/iocoder/yudao/module/erp/service/purchase/ErpPurchaseReturnServiceImpl.java\n#\tyudao-module-erp/yudao-module-erp-server/src/main/java/cn/iocoder/yudao/module/erp/service/purchase/ErpSupplierServiceImpl.java\n#\tyudao-module-erp/yudao-module-erp-server/src/main/java/cn/iocoder/yudao/module/erp/service/sale/ErpCustomerServiceImpl.java\n#\tyudao-module-erp/yudao-module-erp-server/src/main/java/cn/iocoder/yudao/module/erp/service/sale/ErpSaleOrderServiceImpl.java\n#\tyudao-module-erp/yudao-module-erp-server/src/main/java/cn/iocoder/yudao/module/erp/service/sale/ErpSaleOutServiceImpl.java\n#\tyudao-module-erp/yudao-module-erp-server/src/main/java/cn/iocoder/yudao/module/erp/service/sale/ErpSaleReturnServiceImpl.java\n#\tyudao-module-erp/yudao-module-erp-server/src/main/java/cn/iocoder/yudao/module/erp/service/stock/ErpStockCheckServiceImpl.java\n#\tyudao-module-erp/yudao-module-erp-server/src/main/java/cn/iocoder/yudao/module/erp/service/stock/ErpStockInServiceImpl.java\n#\tyudao-module-erp/yudao-module-erp-server/src/main/java/cn/iocoder/yudao/module/erp/service/stock/ErpStockMoveServiceImpl.java\n#\tyudao-module-erp/yudao-module-erp-server/src/main/java/cn/iocoder/yudao/module/erp/service/stock/ErpStockOutServiceImpl.java\n#\tyudao-module-erp/yudao-module-erp-server/src/main/java/cn/iocoder/yudao/module/erp/service/stock/ErpWarehouseServiceImpl.java\n#\tyudao-module-erp/yudao-module-erp-server/src/main/resources/mapper/statistics/ErpPurchaseStatisticsMapper.xml\n#\tyudao-module-erp/yudao-module-erp-server/src/main/resources/mapper/statistics/ErpSaleStatisticsMapper.xml\n#\tyudao-module-iot/yudao-module-iot-plugins/yudao-module-iot-plugin-mqtt/pom.xml\n#\tyudao-module-mall/yudao-module-product-server/src/main/java/cn/iocoder/yudao/module/product/controller/admin/spu/ProductSpuController.java\n#\tyudao-module-mall/yudao-module-product-server/src/main/java/cn/iocoder/yudao/module/product/service/brand/ProductBrandServiceImpl.java\n#\tyudao-module-mall/yudao-module-product-server/src/main/java/cn/iocoder/yudao/module/product/service/category/ProductCategoryServiceImpl.java\n#\tyudao-module-mall/yudao-module-product-server/src/main/java/cn/iocoder/yudao/module/product/service/property/ProductPropertyServiceImpl.java\n#\tyudao-module-mall/yudao-module-product-server/src/main/java/cn/iocoder/yudao/module/product/service/sku/ProductSkuServiceImpl.java\n#\tyudao-module-mall/yudao-module-product-server/src/main/java/cn/iocoder/yudao/module/product/service/spu/ProductSpuServiceImpl.java\n#\tyudao-module-mall/yudao-module-promotion-server/src/main/java/cn/iocoder/yudao/module/promotion/convert/combination/CombinationActivityConvert.java\n#\tyudao-module-mall/yudao-module-promotion-server/src/main/java/cn/iocoder/yudao/module/promotion/dal/dataobject/coupon/CouponTemplateDO.java\n#\tyudao-module-mall/yudao-module-promotion-server/src/main/java/cn/iocoder/yudao/module/promotion/dal/mysql/coupon/CouponTemplateMapper.java\n#\tyudao-module-mall/yudao-module-promotion-server/src/main/java/cn/iocoder/yudao/module/promotion/service/bargain/BargainActivityServiceImpl.java\n#\tyudao-module-mall/yudao-module-promotion-server/src/main/java/cn/iocoder/yudao/module/promotion/service/combination/CombinationActivityServiceImpl.java\n#\tyudao-module-mall/yudao-module-promotion-server/src/main/java/cn/iocoder/yudao/module/promotion/service/combination/CombinationRecordServiceImpl.java\n#\tyudao-module-mall/yudao-module-promotion-server/src/main/java/cn/iocoder/yudao/module/promotion/service/coupon/CouponServiceImpl.java\n#\tyudao-module-mall/yudao-module-promotion-server/src/main/java/cn/iocoder/yudao/module/promotion/service/coupon/CouponTemplateServiceImpl.java\n#\tyudao-module-mall/yudao-module-promotion-server/src/main/java/cn/iocoder/yudao/module/promotion/service/diy/DiyPageServiceImpl.java\n#\tyudao-module-mall/yudao-module-promotion-server/src/main/java/cn/iocoder/yudao/module/promotion/service/seckill/SeckillConfigServiceImpl.java\n#\tyudao-module-mall/yudao-module-statistics-server/src/main/java/cn/iocoder/yudao/module/statistics/dal/mysql/product/ProductStatisticsMapper.java\n#\tyudao-module-mall/yudao-module-statistics-server/src/main/resources/mapper/trade/TradeOrderStatisticsMapper.xml\n#\tyudao-module-mall/yudao-module-trade-api/src/main/java/cn/iocoder/yudao/module/trade/enums/ErrorCodeConstants.java\n#\tyudao-module-mall/yudao-module-trade-server/src/main/java/cn/iocoder/yudao/module/trade/controller/admin/aftersale/AfterSaleController.java\n#\tyudao-module-mall/yudao-module-trade-server/src/main/java/cn/iocoder/yudao/module/trade/service/delivery/DeliveryExpressTemplateServiceImpl.java\n#\tyudao-module-mall/yudao-module-trade-server/src/main/java/cn/iocoder/yudao/module/trade/service/delivery/DeliveryPickUpStoreServiceImpl.java\n#\tyudao-module-mall/yudao-module-trade-server/src/main/java/cn/iocoder/yudao/module/trade/service/order/TradeOrderQueryServiceImpl.java\n#\tyudao-module-mall/yudao-module-trade-server/src/main/java/cn/iocoder/yudao/module/trade/service/order/TradeOrderUpdateServiceImpl.java\n#\tyudao-module-member/yudao-module-member-server/src/main/java/cn/iocoder/yudao/module/member/service/group/MemberGroupServiceImpl.java\n#\tyudao-module-member/yudao-module-member-server/src/main/java/cn/iocoder/yudao/module/member/service/level/MemberLevelServiceImpl.java\n#\tyudao-module-member/yudao-module-member-server/src/main/java/cn/iocoder/yudao/module/member/service/tag/MemberTagServiceImpl.java\n#\tyudao-module-member/yudao-module-member-server/src/main/java/cn/iocoder/yudao/module/member/service/user/MemberUserServiceImpl.java\n#\tyudao-module-mp/yudao-module-mp-server/src/main/java/cn/iocoder/yudao/module/mp/service/handler/user/SubscribeHandler.java\n#\tyudao-module-mp/yudao-module-mp-server/src/main/java/cn/iocoder/yudao/module/mp/service/tag/MpTagServiceImpl.java\n#\tyudao-module-mp/yudao-module-mp-server/src/main/java/cn/iocoder/yudao/module/mp/service/user/MpUserServiceImpl.java\n#\tyudao-module-pay/yudao-module-pay-server/src/main/java/cn/iocoder/yudao/module/pay/service/app/PayAppServiceImpl.java\n#\tyudao-module-pay/yudao-module-pay-server/src/main/java/cn/iocoder/yudao/module/pay/service/channel/PayChannelServiceImpl.java\n#\tyudao-module-pay/yudao-module-pay-server/src/main/java/cn/iocoder/yudao/module/pay/service/order/PayOrderServiceImpl.java\n#\tyudao-module-pay/yudao-module-pay-server/src/main/java/cn/iocoder/yudao/module/pay/service/transfer/PayTransferServiceImpl.java\n#\tyudao-module-pay/yudao-module-pay-server/src/main/java/cn/iocoder/yudao/module/pay/service/wallet/PayWalletRechargeServiceImpl.java\n#\tyudao-module-system/yudao-module-system-server/src/test/java/cn/iocoder/yudao/module/system/service/social/SocialClientServiceImplTest.java\n","message_markdown":"Merge branch 'master' of \u003Ca href=\"https://gitee.com/zhijiantianya/yudao-cloud\"\u003Ehttps://gitee.com/zhijiantianya/yudao-cloud\u003C/a\u003E\n# Conflicts:\n#  yudao-module-ai/yudao-module-ai-server/pom.xml\n#  yudao-module-ai/yudao-module-ai-server/src/main/java/cn/iocoder/yudao/module/ai/AiServerApplication.java\n#  yudao-module-ai/yudao-module-ai-server/src/main/java/cn/iocoder/yudao/module/ai/framework/ai/config/AiAutoConfiguration.java\n#  yudao-module-ai/yudao-module-ai-server/src/main/java/cn/iocoder/yudao/module/ai/framework/ai/config/YudaoAiProperties.java\n#  yudao-module-ai/yudao-module-ai-server/src/main/java/cn/iocoder/yudao/module/ai/framework/ai/core/AiModelFactoryImpl.java\n#  yudao-module-ai/yudao-module-ai-server/src/main/java/cn/iocoder/yudao/module/ai/framework/ai/core/model/siliconflow/SiliconFlowImageModel.java\n#  yudao-module-ai/yudao-module-ai-server/src/main/java/cn/iocoder/yudao/module/ai/service/chat/AiChatConversationServiceImpl.java\n#  yudao-module-ai/yudao-module-ai-server/src/main/java/cn/iocoder/yudao/module/ai/service/chat/AiChatMessageServiceImpl.java\n#  yudao-module-ai/yudao-module-ai-server/src/main/java/cn/iocoder/yudao/module/ai/service/image/AiImageServiceImpl.java\n#  yudao-module-ai/yudao-module-ai-server/src/main/java/cn/iocoder/yudao/module/ai/service/knowledge/AiKnowledgeDocumentServiceImpl.java\n#  yudao-module-ai/yudao-module-ai-server/src/main/java/cn/iocoder/yudao/module/ai/service/knowledge/AiKnowledgeSegmentServiceImpl.java\n#  yudao-module-ai/yudao-module-ai-server/src/main/java/cn/iocoder/yudao/module/ai/service/model/AiChatRoleServiceImpl.java\n#  yudao-module-ai/yudao-module-ai-server/src/main/java/cn/iocoder/yudao/module/ai/service/model/AiToolServiceImpl.java\n#  yudao-module-ai/yudao-module-ai-server/src/main/java/cn/iocoder/yudao/module/ai/service/model/tool/UserProfileQueryToolFunction.java\n#  yudao-module-ai/yudao-module-ai-server/src/main/java/cn/iocoder/yudao/module/ai/service/write/AiWriteServiceImpl.java\n#  yudao-module-ai/yudao-module-ai-server/src/main/java/cn/iocoder/yudao/module/ai/util/AiUtils.java\n#  yudao-module-ai/yudao-module-ai-server/src/main/resources/application-dev.yaml\n#  yudao-module-ai/yudao-module-ai-server/src/main/resources/application-local.yaml\n#  yudao-module-ai/yudao-module-ai-server/src/main/resources/application.yaml\n#  yudao-module-ai/yudao-module-ai-server/src/test/java/cn/iocoder/yudao/module/ai/framework/ai/core/model/chat/AzureOpenAIChatModelTests.java\n#  yudao-module-ai/yudao-module-ai-server/src/test/java/cn/iocoder/yudao/module/ai/framework/ai/core/model/chat/BaiChuanChatModelTests.java\n#  yudao-module-ai/yudao-module-ai-server/src/test/java/cn/iocoder/yudao/module/ai/framework/ai/core/model/chat/DeepSeekChatModelTests.java\n#  yudao-module-ai/yudao-module-ai-server/src/test/java/cn/iocoder/yudao/module/ai/framework/ai/core/model/chat/LlamaChatModelTests.java\n#  yudao-module-ai/yudao-module-ai-server/src/test/java/cn/iocoder/yudao/module/ai/framework/ai/core/model/chat/MoonshotChatModelTests.java\n#  yudao-module-ai/yudao-module-ai-server/src/test/java/cn/iocoder/yudao/module/ai/framework/ai/core/model/chat/OllamaChatModelTests.java\n#  yudao-module-ai/yudao-module-ai-server/src/test/java/cn/iocoder/yudao/module/ai/framework/ai/core/model/chat/OpenAIChatModelTests.java\n#  yudao-module-ai/yudao-module-ai-server/src/test/java/cn/iocoder/yudao/module/ai/framework/ai/core/model/chat/TongYiChatModelTests.java\n#  yudao-module-ai/yudao-module-ai-server/src/test/java/cn/iocoder/yudao/module/ai/framework/ai/core/model/chat/YiYanChatModelTests.java\n#  yudao-module-ai/yudao-module-ai-server/src/test/java/cn/iocoder/yudao/module/ai/framework/ai/core/model/image/OpenAiImageModelTests.java\n#  yudao-module-ai/yudao-module-ai-server/src/test/java/cn/iocoder/yudao/module/ai/framework/ai/core/model/image/QianFanImageTests.java\n#  yudao-module-ai/yudao-module-ai-server/src/test/java/cn/iocoder/yudao/module/ai/framework/ai/core/model/image/StabilityAiImageModelTests.java\n#  yudao-module-ai/yudao-module-ai-server/src/test/java/cn/iocoder/yudao/module/ai/framework/ai/core/model/ppt/wdd/WenDuoDuoPptApiTests.java\n#  yudao-module-ai/yudao-module-ai-server/src/test/java/cn/iocoder/yudao/module/ai/framework/ai/core/model/ppt/xunfei/XunFeiPptApiTests.java\n#  yudao-module-bpm/yudao-module-bpm-server/src/main/java/cn/iocoder/yudao/module/bpm/service/definition/BpmFormServiceImpl.java\n#  yudao-module-bpm/yudao-module-bpm-server/src/main/java/cn/iocoder/yudao/module/bpm/service/definition/BpmUserGroupServiceImpl.java\n#  yudao-module-bpm/yudao-module-bpm-server/src/main/java/cn/iocoder/yudao/module/bpm/service/task/BpmProcessInstanceServiceImpl.java\n#  yudao-module-crm/yudao-module-crm-server/src/main/java/cn/iocoder/yudao/module/crm/service/business/CrmBusinessServiceImpl.java\n#  yudao-module-crm/yudao-module-crm-server/src/main/java/cn/iocoder/yudao/module/crm/service/business/CrmBusinessStatusServiceImpl.java\n#  yudao-module-crm/yudao-module-crm-server/src/main/java/cn/iocoder/yudao/module/crm/service/clue/CrmClueServiceImpl.java\n#  yudao-module-crm/yudao-module-crm-server/src/main/java/cn/iocoder/yudao/module/crm/service/contact/CrmContactServiceImpl.java\n#  yudao-module-crm/yudao-module-crm-server/src/main/java/cn/iocoder/yudao/module/crm/service/contract/CrmContractServiceImpl.java\n#  yudao-module-crm/yudao-module-crm-server/src/main/java/cn/iocoder/yudao/module/crm/service/customer/CrmCustomerServiceImpl.java\n#  yudao-module-crm/yudao-module-crm-server/src/main/java/cn/iocoder/yudao/module/crm/service/permission/CrmPermissionServiceImpl.java\n#  yudao-module-crm/yudao-module-crm-server/src/main/java/cn/iocoder/yudao/module/crm/service/product/CrmProductCategoryServiceImpl.java\n#  yudao-module-crm/yudao-module-crm-server/src/main/java/cn/iocoder/yudao/module/crm/service/product/CrmProductServiceImpl.java\n#  yudao-module-crm/yudao-module-crm-server/src/main/java/cn/iocoder/yudao/module/crm/service/receivable/CrmReceivablePlanServiceImpl.java\n#  yudao-module-crm/yudao-module-crm-server/src/main/java/cn/iocoder/yudao/module/crm/service/receivable/CrmReceivableServiceImpl.java\n#  yudao-module-crm/yudao-module-crm-server/src/main/java/cn/iocoder/yudao/module/crm/util/CrmPermissionUtils.java\n#  yudao-module-erp/yudao-module-erp-server/src/main/java/cn/iocoder/yudao/module/erp/service/finance/ErpAccountServiceImpl.java\n#  yudao-module-erp/yudao-module-erp-server/src/main/java/cn/iocoder/yudao/module/erp/service/finance/ErpFinancePaymentServiceImpl.java\n#  yudao-module-erp/yudao-module-erp-server/src/main/java/cn/iocoder/yudao/module/erp/service/finance/ErpFinanceReceiptServiceImpl.java\n#  yudao-module-erp/yudao-module-erp-server/src/main/java/cn/iocoder/yudao/module/erp/service/product/ErpProductCategoryServiceImpl.java\n#  yudao-module-erp/yudao-module-erp-server/src/main/java/cn/iocoder/yudao/module/erp/service/product/ErpProductServiceImpl.java\n#  yudao-module-erp/yudao-module-erp-server/src/main/java/cn/iocoder/yudao/module/erp/service/product/ErpProductUnitServiceImpl.java\n#  yudao-module-erp/yudao-module-erp-server/src/main/java/cn/iocoder/yudao/module/erp/service/purchase/ErpPurchaseInServiceImpl.java\n#  yudao-module-erp/yudao-module-erp-server/src/main/java/cn/iocoder/yudao/module/erp/service/purchase/ErpPurchaseOrderServiceImpl.java\n#  yudao-module-erp/yudao-module-erp-server/src/main/java/cn/iocoder/yudao/module/erp/service/purchase/ErpPurchaseReturnServiceImpl.java\n#  yudao-module-erp/yudao-module-erp-server/src/main/java/cn/iocoder/yudao/module/erp/service/purchase/ErpSupplierServiceImpl.java\n#  yudao-module-erp/yudao-module-erp-server/src/main/java/cn/iocoder/yudao/module/erp/service/sale/ErpCustomerServiceImpl.java\n#  yudao-module-erp/yudao-module-erp-server/src/main/java/cn/iocoder/yudao/module/erp/service/sale/ErpSaleOrderServiceImpl.java\n#  yudao-module-erp/yudao-module-erp-server/src/main/java/cn/iocoder/yudao/module/erp/service/sale/ErpSaleOutServiceImpl.java\n#  yudao-module-erp/yudao-module-erp-server/src/main/java/cn/iocoder/yudao/module/erp/service/sale/ErpSaleReturnServiceImpl.java\n#  yudao-module-erp/yudao-module-erp-server/src/main/java/cn/iocoder/yudao/module/erp/service/stock/ErpStockCheckServiceImpl.java\n#  yudao-module-erp/yudao-module-erp-server/src/main/java/cn/iocoder/yudao/module/erp/service/stock/ErpStockInServiceImpl.java\n#  yudao-module-erp/yudao-module-erp-server/src/main/java/cn/iocoder/yudao/module/erp/service/stock/ErpStockMoveServiceImpl.java\n#  yudao-module-erp/yudao-module-erp-server/src/main/java/cn/iocoder/yudao/module/erp/service/stock/ErpStockOutServiceImpl.java\n#  yudao-module-erp/yudao-module-erp-server/src/main/java/cn/iocoder/yudao/module/erp/service/stock/ErpWarehouseServiceImpl.java\n#  yudao-module-erp/yudao-module-erp-server/src/main/resources/mapper/statistics/ErpPurchaseStatisticsMapper.xml\n#  yudao-module-erp/yudao-module-erp-server/src/main/resources/mapper/statistics/ErpSaleStatisticsMapper.xml\n#  yudao-module-iot/yudao-module-iot-plugins/yudao-module-iot-plugin-mqtt/pom.xml\n#  yudao-module-mall/yudao-module-product-server/src/main/java/cn/iocoder/yudao/module/product/controller/admin/spu/ProductSpuController.java\n#  yudao-module-mall/yudao-module-product-server/src/main/java/cn/iocoder/yudao/module/product/service/brand/ProductBrandServiceImpl.java\n#  yudao-module-mall/yudao-module-product-server/src/main/java/cn/iocoder/yudao/module/product/service/category/ProductCategoryServiceImpl.java\n#  yudao-module-mall/yudao-module-product-server/src/main/java/cn/iocoder/yudao/module/product/service/property/ProductPropertyServiceImpl.java\n#  yudao-module-mall/yudao-module-product-server/src/main/java/cn/iocoder/yudao/module/product/service/sku/ProductSkuServiceImpl.java\n#  yudao-module-mall/yudao-module-product-server/src/main/java/cn/iocoder/yudao/module/product/service/spu/ProductSpuServiceImpl.java\n#  yudao-module-mall/yudao-module-promotion-server/src/main/java/cn/iocoder/yudao/module/promotion/convert/combination/CombinationActivityConvert.java\n#  yudao-module-mall/yudao-module-promotion-server/src/main/java/cn/iocoder/yudao/module/promotion/dal/dataobject/coupon/CouponTemplateDO.java\n#  yudao-module-mall/yudao-module-promotion-server/src/main/java/cn/iocoder/yudao/module/promotion/dal/mysql/coupon/CouponTemplateMapper.java\n#  yudao-module-mall/yudao-module-promotion-server/src/main/java/cn/iocoder/yudao/module/promotion/service/bargain/BargainActivityServiceImpl.java\n#  yudao-module-mall/yudao-module-promotion-server/src/main/java/cn/iocoder/yudao/module/promotion/service/combination/CombinationActivityServiceImpl.java\n#  yudao-module-mall/yudao-module-promotion-server/src/main/java/cn/iocoder/yudao/module/promotion/service/combination/CombinationRecordServiceImpl.java\n#  yudao-module-mall/yudao-module-promotion-server/src/main/java/cn/iocoder/yudao/module/promotion/service/coupon/CouponServiceImpl.java\n#  yudao-module-mall/yudao-module-promotion-server/src/main/java/cn/iocoder/yudao/module/promotion/service/coupon/CouponTemplateServiceImpl.java\n#  yudao-module-mall/yudao-module-promotion-server/src/main/java/cn/iocoder/yudao/module/promotion/service/diy/DiyPageServiceImpl.java\n#  yudao-module-mall/yudao-module-promotion-server/src/main/java/cn/iocoder/yudao/module/promotion/service/seckill/SeckillConfigServiceImpl.java\n#  yudao-module-mall/yudao-module-statistics-server/src/main/java/cn/iocoder/yudao/module/statistics/dal/mysql/product/ProductStatisticsMapper.java\n#  yudao-module-mall/yudao-module-statistics-server/src/main/resources/mapper/trade/TradeOrderStatisticsMapper.xml\n#  yudao-module-mall/yudao-module-trade-api/src/main/java/cn/iocoder/yudao/module/trade/enums/ErrorCodeConstants.java\n#  yudao-module-mall/yudao-module-trade-server/src/main/java/cn/iocoder/yudao/module/trade/controller/admin/aftersale/AfterSaleController.java\n#  yudao-module-mall/yudao-module-trade-server/src/main/java/cn/iocoder/yudao/module/trade/service/delivery/DeliveryExpressTemplateServiceImpl.java\n#  yudao-module-mall/yudao-module-trade-server/src/main/java/cn/iocoder/yudao/module/trade/service/delivery/DeliveryPickUpStoreServiceImpl.java\n#  yudao-module-mall/yudao-module-trade-server/src/main/java/cn/iocoder/yudao/module/trade/service/order/TradeOrderQueryServiceImpl.java\n#  yudao-module-mall/yudao-module-trade-server/src/main/java/cn/iocoder/yudao/module/trade/service/order/TradeOrderUpdateServiceImpl.java\n#  yudao-module-member/yudao-module-member-server/src/main/java/cn/iocoder/yudao/module/member/service/group/MemberGroupServiceImpl.java\n#  yudao-module-member/yudao-module-member-server/src/main/java/cn/iocoder/yudao/module/member/service/level/MemberLevelServiceImpl.java\n#  yudao-module-member/yudao-module-member-server/src/main/java/cn/iocoder/yudao/module/member/service/tag/MemberTagServiceImpl.java\n#  yudao-module-member/yudao-module-member-server/src/main/java/cn/iocoder/yudao/module/member/service/user/MemberUserServiceImpl.java\n#  yudao-module-mp/yudao-module-mp-server/src/main/java/cn/iocoder/yudao/module/mp/service/handler/user/SubscribeHandler.java\n#  yudao-module-mp/yudao-module-mp-server/src/main/java/cn/iocoder/yudao/module/mp/service/tag/MpTagServiceImpl.java\n#  yudao-module-mp/yudao-module-mp-server/src/main/java/cn/iocoder/yudao/module/mp/service/user/MpUserServiceImpl.java\n#  yudao-module-pay/yudao-module-pay-server/src/main/java/cn/iocoder/yudao/module/pay/service/app/PayAppServiceImpl.java\n#  yudao-module-pay/yudao-module-pay-server/src/main/java/cn/iocoder/yudao/module/pay/service/channel/PayChannelServiceImpl.java\n#  yudao-module-pay/yudao-module-pay-server/src/main/java/cn/iocoder/yudao/module/pay/service/order/PayOrderServiceImpl.java\n#  yudao-module-pay/yudao-module-pay-server/src/main/java/cn/iocoder/yudao/module/pay/service/transfer/PayTransferServiceImpl.java\n#  yudao-module-pay/yudao-module-pay-server/src/main/java/cn/iocoder/yudao/module/pay/service/wallet/PayWalletRechargeServiceImpl.java\n#  yudao-module-system/yudao-module-system-server/src/test/java/cn/iocoder/yudao/module/system/service/social/SocialClientServiceImplTest.java","detail_path":"/yudaocode/yudao-cloud-mini/commit/e97957acf34dbf6179903ae92da383b42faf3c1f","commits_path":"/yudaocode/yudao-cloud-mini/commits/e97957acf34dbf6179903ae92da383b42faf3c1f","tree_path":"/yudaocode/yudao-cloud-mini/tree/e97957acf34dbf6179903ae92da383b42faf3c1f","author":{"name":"芋道源码","email":"zhijiantianya@gmail.com","username":"zhijiantianya","user_path":"/zhijiantianya","enterprise_user_path":null,"image_path":"https://foruda.gitee.com/avatar/1676894243383003564/176_zhijiantianya_1578913741.png!avatar30","is_gitee_user":true,"is_enterprise_user":null,"widget_url":""},"committer":{"name":"芋道源码","email":"zhijiantianya@gmail.com","username":"zhijiantianya","user_path":"/zhijiantianya","enterprise_user_path":null,"image_path":"https://foruda.gitee.com/avatar/1676894243383003564/176_zhijiantianya_1578913741.png!avatar30","is_gitee_user":true,"is_enterprise_user":null,"widget_url":""},"authored_date":"2025-07-19T16:57:17+08:00","committed_date":"2025-07-19T16:57:17+08:00","signature":null,"build_state":null},"archive_path":"/yudaocode/yudao-cloud-mini/repository/archive/v2025.08(jdk8/11)","signature":null},"operating":{"edit":false,"download":true,"destroy":false,"enterprise_forbid_zip":false},"release":{"title":"v2025.08(jdk8/11)：完善 vben5(antd) 工作流、迁移 vben5(ep) 商城、支持 IoT TCP 协议","path":"/yudaocode/yudao-cloud-mini/releases/tag/v2025.08(jdk8/11)","tag_path":"/yudaocode/yudao-cloud-mini/tree/v2025.08(jdk8/11)","project_id":35352546,"created_at":"2025-08-02T09:20:53+08:00","is_prerelease":false,"description":"### 📈 Statistic\n\n* 总代码行数：260586\n* 源码代码行数：161754\n* 注释行数：59864\n* 单元测试用例数：1121\n\n### ⭐ New Features\n\n* 【优化】默认禁用 easy-trans，避免影响接口性能，由 [@芋道源码](https://gitee.com/zhijiantianya) 贡献 [d650a0b](https://gitee.com/zhijiantianya/ruoyi-vue-pro/commit/d128d787188fdae094528d477ae1672c430db0ae)\n* 【优化】数据库连接池的配置，由 [@芋道源码](https://gitee.com/zhijiantianya) 贡献 [28965b9b](https://gitee.com/zhijiantianya/ruoyi-vue-pro/commit/28965b9b)\n* 【优化】优化日志格式，解决 FILE 里存在 highlight、cyan高亮，由 [@芋道源码](https://gitee.com/zhijiantianya) 贡献 [529c570](https://gitee.com/zhijiantianya/ruoyi-vue-pro/commit/529c570bbd7b700785f1297d8b47e56ff07c8088)\n* 【优化】弱化对 skywalking 依赖，可按需引入，更灵活，由 [@芋道源码](https://gitee.com/zhijiantianya) 贡献 [529c570](https://gitee.com/zhijiantianya/ruoyi-vue-pro/commit/529c570)\n* 【优化】默认不引入 spring-boot-admin，更灵活，同时启动速度更快（提升开发效率），由 [@芋道源码](https://gitee.com/zhijiantianya) 贡献 [8e1729d](https://gitee.com/zhijiantianya/ruoyi-vue-pro/commit/8e1729d)\n* 【新增】实现参数数据字典校验注解 `@InDict`，由 [@java-acc](https://github.com/java-acc) 贡献 [#852](https://github.com/YunaiV/ruoyi-vue-pro/pull/852)\n* 【优化】使用 fastExcel 替换 easyExcel，由 [@xingyuv](https://gitee.com/xingyuv) 贡献 [#1362](https://gitee.com/zhijiantianya/ruoyi-vue-pro/pulls/1362)\n* 【优化】添加 Excel 导出时，自适应列宽处理器并替换默认列宽策略，由 [@huangmingsir](https://github.com/huangmingsir) 贡献 [#196](https://github.com/YunaiV/yudao-cloud/pull/196)\n* 【优化】`sql/tools` 错误信息输出到 `stderr`，由 [@dhb52](https://gitee.com/dhb52) 贡献 [#1389](https://gitee.com/zhijiantianya/ruoyi-vue-pro/pulls/1389)\n* 【优化】vben5 代码生成路径的展示，由 [@芋道源码](https://gitee.com/zhijiantianya) 贡献 [ae9e35f](https://gitee.com/zhijiantianya/ruoyi-vue-pro/commit/ae9e35f184614da50f15399c7fe52c5f9413e61b)\n\nVben5.0 + antd 管理后台专区：\n* 【新增】ERP 首页适配已有组件，由 [@陈賝](https://gitee.com/chen934298133) 贡献 [#178](https://gitee.com/yudaocode/yudao-ui-admin-vben/pulls/178/)\n* 【修复】修复 VbenTree 加载顺序问题，由 [@简佳](https://gitee.com/jian_jia) 贡献 [#177](https://gitee.com/yudaocode/yudao-ui-admin-vben/pulls/177)\n* 【新增】ERP 采购订单功能，由 [@陈賝](https://gitee.com/chen934298133) 贡献 [#181](https://gitee.com/yudaocode/yudao-ui-admin-vben/pulls/181/)\n\nVben5.0 + element-plus 管理后台专区：\n* 【新增】MALL 商城相关的迁移，由 [@痴货](https://gitee.com/lrlyl) 贡献 [#179](https://gitee.com/yudaocode/yudao-ui-admin-vben/pulls/179/)\n\nMALL 商城专区：\n* 【优化】物流信息中增加电话号码高亮和点击功能，由 [@macro](https://gitee.com/macro-0302) 贡献 [#154](https://gitee.com/yudaocode/yudao-mall-uniapp/pulls/154/)\n* 【新增】「店铺装修」导航栏中的搜索框添加功能和更多属性，由 [@卢越](https://gitee.com/Lu-Yue) 贡献 [#795](https://gitee.com/yudaocode/yudao-ui-admin-vue3/pulls/795/)\n* 【新增】「店铺装修」添加扫一扫图标和功能，由 [@卢越](https://gitee.com/Lu-Yue) 贡献 [#157](https://gitee.com/yudaocode/yudao-mall-uniapp/pulls/157/)、[#158](https://gitee.com/yudaocode/yudao-mall-uniapp/pulls/158/)\n\nBPM 工作流专区：\n* 【新增】simple 设计器新增 userTask 跳过表达式，由 [@Jason](https://gitee.com/jason-zhou) 贡献 [1684706](https://gitee.com/zhijiantianya/ruoyi-vue-pro/commit/1684706e9aa70df8675b4b6bba212b7f5541d078)、[]()\n\nPay 支付专区：\n* 【新增】增加 userid、usertype，并额外支持权限校验，由 [@芋道源码](https://gitee.com/zhijiantianya) 贡献 [8ffe927](https://gitee.com/zhijiantianya/ruoyi-vue-pro/commit/8ffe9272e80ec9b07fce6b29d8f041bc5ac7a01b)、[15aef8d](https://gitee.com/yudaocode/yudao-ui-admin-vue3/commit/15aef8d4b763c63f7e93288acdc6566ed313db1f)\n\n### 🐞 Bug Fixes\n\n* 【修复】支持 `yudao.websocket.enable` 手动关闭，由 [@芋道源码](https://gitee.com/zhijiantianya) 贡献 [d09e484](https://gitee.com/zhijiantianya/ruoyi-vue-pro/commit/d09e4849ba6d79d9906df1a4b7e17ffa314c52a1)\n* 【修复】优化了 EChart 组件，避免出现首次异步加载数据时图表插件不显示问题，由 [@飒沓如流星](https://gitee.com/mengtantang) 贡献 [#797](https://gitee.com/yudaocode/yudao-ui-admin-vue3/pulls/797/)\n* 【修复】CacheRequestBodyFilter 导致 Spring Boot Admin 无法修改日志级别，由 [@芋道源码](https://gitee.com/zhijiantianya) 贡献 [8140e1c](https://gitee.com/zhijiantianya/yudao-cloud/commit/8140e1c274cebc8b6c3694b4d9239ca7db17d97f)\n* 【修复】主子表（ERP模式）删除主表数据，对应的子表数据还会显示，需要手动刷新之后才不显示，由 [@顾北清](https://gitee.com/gubeiqing) 贡献 [#1382](https://gitee.com/zhijiantianya/ruoyi-vue-pro/pulls/1382)\n* 【修复】网关 AccessLogFilter 记录日志发生异常，静默处理，不影响请求返回，由 [@芋道源码](https://gitee.com/zhijiantianya) 贡献 [2e3e1b1](https://gitee.com/zhijiantianya/yudao-cloud/commit/2e3e1b12d1e9278ee92e2c97dae09a91a23516ea)\n* 【修复】网关缺少 CaffeineCacheManager 导致启动告警，由 [@芋道源码](https://gitee.com/zhijiantianya) 贡献 [f14dcd4](https://gitee.com/zhijiantianya/yudao-cloud/commit/f14dcd4200f400ec3b9e03cd06ded12198e017ae)\n* 【修复】Vue3 + element-plus 管理，uploadFile 上传失败后后续上传都将失败问题，由 [@芋道源码](https://gitee.com/zhijiantianya) 贡献 [2773b0e](https://gitee.com/yudaocode/yudao-ui-admin-vue3/commit/2773b0ec2429fac93d06c705c781f39808d8e247)\n* 【修复】ApiErrorLogServiceImpl 在微服务场景下，记录日志存在的循环调用的问题，由 [@芋道源码](https://gitee.com/zhijiantianya) 贡献 [99442ec](https://gitee.com/zhijiantianya/ruoyi-vue-pro/commit/99442ec05c29b8839dbf796628bad7f72b2b99da)\n\nMALL 商城专区：\n* 【修复】修复 `directory` 参数丢失导致无法创建目标文件目录的问题，由 [@binny1024](https://gitee.com/binny1024) 贡献 [#156](https://gitee.com/yudaocode/yudao-mall-uniapp/pulls/156)\n* 【修复】修复微信环境下获取完用户信息跳转的用户登录\u0026绑定地址，由 [@MaizaLin](https://github.com/MaizaLin) 贡献 [#24](https://github.com/yudaocode/yudao-mall-uniapp/pull/24)\n* 【修复】修复店铺装修删除“弹窗广告”后，切换到基础设置页报错的问题，由 [@卢越](https://gitee.com/Lu-Yue) 贡献 [#792](https://gitee.com/yudaocode/yudao-ui-admin-vue3/pulls/792)\n* 【修复】「店铺装修」处理热区选择链接之后，当前链接被重置为 `undefined` 的问题，由 [@卢越](https://gitee.com/Lu-Yue) 贡献 [#795](https://gitee.com/yudaocode/yudao-ui-admin-vue3/pulls/795/)\n* 【修复】「店铺装修」组件背景图片无法正常显示的问题、优化顶部导航栏搜索框，使其响应管理端装修，由 [@卢越](https://gitee.com/Lu-Yue) 贡献 [#157](https://gitee.com/yudaocode/yudao-mall-uniapp/pulls/157/)\n* 【修复】Kd100ExpressQueryRespDTO 中时间字段的处理，由 [@binny1024](https://gitee.com/binny1024) 贡献 [#1381](https://gitee.com/zhijiantianya/ruoyi-vue-pro/pulls/1381/)\n* 【修复】修复积分商品新增时校验商品是否参与其他活动校验失败，由 [@芋道源码](https://gitee.com/zhijiantianya) 贡献 [1b41254](https://gitee.com/zhijiantianya/ruoyi-vue-pro/commit/1b412546eb9914d28fc394c8cc46f5c38d249a2e)\n\nBPM 工作流专区：\n* 【修复】BPMN 用户任务的用户任务的用户规则是“表单内用户字段”只有 1 个人，自动切换切换的问题，由 [@芋道源码](https://gitee.com/zhijiantianya) 贡献 [f287787](https://gitee.com/yudaocode/yudao-ui-admin-vue3/commit/f28778723d9e1d0759532122741a16946b0b2088)\n* 【修复】避免在 BpmHttpRequestUtils 中重复添加 processInstanceId 参数，由 [@芋道源码](https://gitee.com/zhijiantianya) 贡献 [bfcc198](https://gitee.com/zhijiantianya/ruoyi-vue-pro/commit/bfcc1987cb1e8675f7e8d540c55a5d5a5be09c64)\n* 【修复】流程预测时由于流程未开始或流程未真正抵达执行节点，无法获取 execution 导致的 Expression 流程表达式执行报错问题，由 [@芋道源码](https://gitee.com/zhijiantianya) 贡献 [dc7763e](https://gitee.com/zhijiantianya/ruoyi-vue-pro/commit/dc7763ef0b126dc561b2bdbf2d9f60c2b671f16f)\n* 【修复】`buildConditionExpression` 在流程预测时，因为变量不存在，导致 Unknow property 异常的问题，由 [@芋道源码](https://gitee.com/zhijiantianya) 贡献 [14d8c2b](https://gitee.com/zhijiantianya/ruoyi-vue-pro/commit/14d8c2bb404caa337565a80b242c736822f3278a)\n* 【修复】SIMPLE 延迟任务时，租户上下文丢失的问题，由 [@芋道源码](https://gitee.com/zhijiantianya) 贡献 [51859af](https://gitee.com/zhijiantianya/ruoyi-vue-pro/commit/51859afa9ac1ffb3b7b28af37c6b904ac54b3a62)\n* 【修复】BPMN 延迟任务修改后，不会直接更新到 BPMN XML 里的问题，由 [@芋道源码](https://gitee.com/zhijiantianya) 贡献 [75220bf](https://gitee.com/yudaocode/yudao-ui-admin-vue3/commit/75220bfd8e4f9f551839ae3c029775304cb97163)\n* 【修复】BPMN 任务监听器，“监听器 ID”、“定时器”无法保存的问题，由 [@芋道源码](https://gitee.com/zhijiantianya) 贡献 [a27d1a5](https://gitee.com/yudaocode/yudao-ui-admin-vue3/commit/a27d1a578f5d6a9c785b9219e15fbd031b4eae59)\n* 【修复】子流程返回的 processInstanceId 不正确的问题，由 [@芋道源码](https://gitee.com/zhijiantianya) 贡献 [a27d1a5](https://gitee.com/zhijiantianya/ruoyi-vue-pro/commit/7ba084bc4dfafeb0475ef04a4e1b9e7deef3abf6)\n* 【修复】Simple 模型创建时不能设置字段权限问题修复，由 [@Jason](https://gitee.com/jason-zhou) 贡献 [ab8761d](https://gitee.com/yudaocode/yudao-ui-admin-vue3/commit/ab8761d44ce65d5f5da063fd350bc7f17fef1d47)\n* 【修复】流程模型设置时，「更多设置」不能选中表单项问题，由 [@Jason](https://gitee.com/jason-zhou) 贡献 [f14dead](https://gitee.com/yudaocode/yudao-ui-admin-vue3/commit/f14dead55a1444717a4c64c68ce8281d561f99ce)\n* 【修复】并行分支使用包容网关实现，解决并行分支 + 条件分支存在无法执行的问题，由 [@Jason](https://gitee.com/jason-zhou) 贡献 [97cec289](https://gitee.com/zhijiantianya/ruoyi-vue-pro/commit/97cec289)、[76d89067](https://gitee.com/zhijiantianya/ruoyi-vue-pro/commit/76d89067)\n* 【修复】流程表单只读字段，不校验规则，由 [@Jason](https://gitee.com/jason-zhou) 贡献 [c8cf4dfa](https://gitee.com/yudaocode/yudao-ui-admin-vue3/commit/c8cf4dfa)\n* 【修复】子流程返回的 processInstanceId 不正确的问题，由 [@芋道源码](https://gitee.com/zhijiantianya) 贡献 [7ba084b](https://gitee.com/zhijiantianya/ruoyi-vue-pro/commit/7ba084bc4dfafeb0475ef04a4e1b9e7deef3abf6)\n* 【修复】子流程支持流程 title 自定义标题，由 [@芋道源码](https://gitee.com/zhijiantianya) 贡献 [b766f8d](https://gitee.com/zhijiantianya/ruoyi-vue-pro/commit/b766f8d820a13ec12a25f02485570b7e50a10df2)\n* 【修复】bpmn subProcess 存在 userTask NPE 的问题，由 [@芋道源码](https://gitee.com/zhijiantianya) 贡献 [989c4e4](https://gitee.com/zhijiantianya/ruoyi-vue-pro/commit/989c4e4b88bc32e0eddab2d5c4fc969f51133b51)\n* 【修复】子流程发起人为列表时实际发起人会变成主流程发起人，由 [@芋道源码](https://gitee.com/zhijiantianya) 贡献 [376114a](https://gitee.com/zhijiantianya/ruoyi-vue-pro/commit/376114a8741ad134ea13396c777ee176d07fddf6)\n* 【修复】存在加签时，退回报 Execution could not be found with id null，由 [@芋道源码](https://gitee.com/zhijiantianya) 贡献 [a4244ab](https://gitee.com/zhijiantianya/ruoyi-vue-pro/commit/a4244ab9996f2e8f9951ed4a495dc7e027f862be)\n* 【修复】委派、转办时，owner 不重复设置，由 [@芋道源码](https://gitee.com/zhijiantianya) 贡献 [ab7d9fd](https://gitee.com/zhijiantianya/ruoyi-vue-pro/commit/ab7d9fdf72f96135efcdc21205d8eee1ba1a9149)\n* 【修复】跨进程调用，无法回调 crm 的工作流结果的问题，由 [@芋道源码](https://gitee.com/zhijiantianya) 贡献 [8eea97a](https://gitee.com/zhijiantianya/yudao-cloud/commit/8eea97a)、[3c5c3dd](https://gitee.com/zhijiantianya/yudao-cloud/commit/3c5c3dd)\n\n### 🔨 Dependency Upgrades\n\n* 【升级】mybatis-plus from 3.5.10.1 to 3.5.12\n* 【升级】mybatis-plus-join from 1.4.13 to 1.5.","author":{"name":"芋道源码","username":"zhijiantianya","path":"/zhijiantianya","avatar_url":"https://foruda.gitee.com/avatar/1676894243383003564/176_zhijiantianya_1578913741.png!avatar30"},"attach_files":[],"zip_download_url":"/yudaocode/yudao-cloud-mini/releases/tag/v2025.08(jdk8/11).zip","tar_download_url":"/yudaocode/yudao-cloud-mini/releases/tag/v2025.08(jdk8/11).tar.gz"}}}