刘帅
2026-09-21 7a8af8c19b40b8028e25ee0b669463d06f723a30
cloud-server-course/src/main/java/com/dsh/config/Sharding_jdbc/ShardingConfig.java
@@ -70,6 +70,7 @@
        //分片规则配置
        ShardingRuleConfiguration result1 = new ShardingRuleConfiguration();
        result1.getTables().add(getCoursePackagePaymentTableRuleConfiguration());
        Properties props1 = new Properties();
        props1.setProperty("algorithm-expression", "t_course_package_payment$->{appUserId % 5 + 1}");
@@ -107,7 +108,7 @@
        //分片规则配置
        result1.getTables().add(getCoursePackageOrderTableRuleConfiguration());
        Properties props6 = new Properties();
        props1.setProperty("algorithm-expression", "t_course_package_order$->{appUserId % 5 + 1}");
        props6.setProperty("algorithm-expression", "t_course_package_order$->{appUserId % 5 + 1}");
        result1.getShardingAlgorithms().put("t_course_package_order-inline", new AlgorithmConfiguration("INLINE", props6));
        result1.getKeyGenerators().put("t_course_package_order-snowflake", new AlgorithmConfiguration("SNOWFLAKE", new Properties()));
@@ -187,7 +188,8 @@
     * @return
     */
    private ShardingTableRuleConfiguration getCoursePackageOrderTableRuleConfiguration() {
        ShardingTableRuleConfiguration result = new ShardingTableRuleConfiguration("t_course_package_order", "m_$->{0}.t_course_package_order$->{1..5}");//30
        // 兼容分表前写入基础表的历史购课记录;新订单仍按 appUserId 路由至后缀分表。
        ShardingTableRuleConfiguration result = new ShardingTableRuleConfiguration("t_course_package_order", "m_$->{0}.t_course_package_order,m_$->{0}.t_course_package_order$->{1..5}");//30
        result.setTableShardingStrategy(new StandardShardingStrategyConfiguration("appUserId", "t_course_package_order-inline"));
        result.setKeyGenerateStrategy(new KeyGenerateStrategyConfiguration("id", "t_course_package_order-snowflake"));
        return result;