fix(education): resolve integrated migration and telemetry conflicts

This commit is contained in:
2026-07-31 13:18:05 +08:00
parent ed24350443
commit 5aba83561e
2 changed files with 12 additions and 4 deletions

View File

@@ -9,6 +9,7 @@ import cn.iocoder.yudao.module.education.service.catalog.UnsupportedModeCatalogP
import cn.iocoder.yudao.module.education.service.question.UnsupportedModeQuestionCatalogProvider;
import cn.iocoder.yudao.module.education.service.catalog.provider.JavaCatalogProvider;
import cn.iocoder.yudao.module.education.runtime.ScalarLegacyDependencyTelemetry;
import org.springframework.boot.autoconfigure.condition.ConditionalOnMissingBean;
import org.springframework.boot.autoconfigure.condition.ConditionalOnProperty;
import org.springframework.boot.context.properties.EnableConfigurationProperties;
import org.springframework.context.annotation.Bean;
@@ -27,6 +28,13 @@ import org.springframework.context.annotation.Configuration;
@ConditionalOnProperty(prefix = "yudao.education", name = "enabled", havingValue = "true")
public class ScalarAutoConfiguration {
@Bean
@ConditionalOnMissingBean
public ScalarLegacyDependencyTelemetry scalarLegacyDependencyTelemetry(EducationProperties educationProperties,
ScalarProperties scalarProperties) {
return new ScalarLegacyDependencyTelemetry(educationProperties, scalarProperties);
}
@Bean
@ConditionalOnProperty(prefix = "yudao.education", name = "catalog-mode", havingValue = "SCALAR_READ", matchIfMissing = true)
public ScalarCatalogProvider scalarCatalogProvider(ScalarProperties scalarProperties,

View File

@@ -133,11 +133,11 @@ COMMENT ON TABLE education_entitlement_event IS 'Duplicate-safe fulfillment even
DO $$ DECLARE installed INTEGER; BEGIN
IF to_regclass('system_menu') IS NULL THEN RETURN; END IF;
INSERT INTO system_menu(id,name,permission,type,sort,parent_id,path,icon,component,component_name,status,visible,keep_alive,always_show,creator,updater) VALUES
(6809,'教育商品绑定','education:commercialization:binding',3,9,6800,'','',NULL,NULL,0,false,true,true,'education-flyway','education-flyway'),
(6810,'教育权益管理','education:commercialization:entitlement',3,10,6800,'','',NULL,NULL,0,false,true,true,'education-flyway','education-flyway')
(6815,'教育商品绑定','education:commercialization:binding',3,15,6800,'','',NULL,NULL,0,false,true,true,'education-flyway','education-flyway'),
(6816,'教育权益管理','education:commercialization:entitlement',3,16,6800,'','',NULL,NULL,0,false,true,true,'education-flyway','education-flyway')
ON CONFLICT(id) DO NOTHING;
SELECT count(*) INTO installed FROM system_menu WHERE deleted=0 AND status=0 AND
((id=6809 AND permission='education:commercialization:binding' AND type=3 AND parent_id=6800) OR
(id=6810 AND permission='education:commercialization:entitlement' AND type=3 AND parent_id=6800));
((id=6815 AND permission='education:commercialization:binding' AND type=3 AND parent_id=6800) OR
(id=6816 AND permission='education:commercialization:entitlement' AND type=3 AND parent_id=6800));
IF installed<>2 THEN RAISE EXCEPTION 'Education commercialization RBAC seed IDs conflict' USING ERRCODE='23505'; END IF;
END $$;