| @@ -3,10 +3,16 @@ package com.iformall.config; | |||||
| import com.baomidou.mybatisplus.extension.plugins.OptimisticLockerInterceptor; | import com.baomidou.mybatisplus.extension.plugins.OptimisticLockerInterceptor; | ||||
| import com.baomidou.mybatisplus.extension.plugins.PaginationInterceptor; | import com.baomidou.mybatisplus.extension.plugins.PaginationInterceptor; | ||||
| import com.iformall.plugin.MultiTenancy; | import com.iformall.plugin.MultiTenancy; | ||||
| import com.iformall.plugin.shard.impl.EnumShardingRule; | |||||
| import com.iformall.plugin.shard.impl.ShardingSphere; | |||||
| import com.iformall.plugin.shard.plugin.ShardingSpherePlugin; | |||||
| import org.springframework.context.annotation.Bean; | import org.springframework.context.annotation.Bean; | ||||
| import org.springframework.context.annotation.Configuration; | import org.springframework.context.annotation.Configuration; | ||||
| import org.springframework.transaction.annotation.EnableTransactionManagement; | import org.springframework.transaction.annotation.EnableTransactionManagement; | ||||
| import java.util.ArrayList; | |||||
| import java.util.List; | |||||
| import java.util.Properties; | import java.util.Properties; | ||||
| @EnableTransactionManagement | @EnableTransactionManagement | ||||
| @@ -25,6 +31,109 @@ public class MyBatisConfiguration { | |||||
| multiTenancy.setProperties(properties); | multiTenancy.setProperties(properties); | ||||
| return multiTenancy; | return multiTenancy; | ||||
| } | } | ||||
| @Bean | |||||
| public ShardingSpherePlugin shardingSpherePlugin() { | |||||
| ShardingSpherePlugin shardingSpherePlugin = new ShardingSpherePlugin(); | |||||
| Properties properties = new Properties(); | |||||
| properties.setProperty("dialect", "mysql"); | |||||
| shardingSpherePlugin.setProperties(properties); | |||||
| List<ShardingSphere> shardingList = new ArrayList<ShardingSphere>(); | |||||
| shardingSpherePlugin.setShardingSpheres(shardingList); | |||||
| ShardingSphere wxCUserSharding = new ShardingSphere(); | |||||
| wxCUserSharding.setColumn("tenant_id"); | |||||
| wxCUserSharding.setTableName("wx_c_user"); | |||||
| wxCUserSharding.setCount(100); | |||||
| wxCUserSharding.setRule(EnumShardingRule.HASH.getCode()); | |||||
| shardingList.add(wxCUserSharding); | |||||
| ShardingSphere basicInfoSharding = new ShardingSphere(); | |||||
| basicInfoSharding.setColumn("final_tenant_id"); | |||||
| basicInfoSharding.setTableName("wx_c_user_basic_info"); | |||||
| basicInfoSharding.setCount(100); | |||||
| basicInfoSharding.setRule(EnumShardingRule.HASH.getCode()); | |||||
| shardingList.add(basicInfoSharding); | |||||
| ShardingSphere wxOrderSharding = new ShardingSphere(); | |||||
| wxOrderSharding.setColumn("tenant_id"); | |||||
| wxOrderSharding.setTableName("wx_order"); | |||||
| wxOrderSharding.setCount(100); | |||||
| wxOrderSharding.setRule(EnumShardingRule.HASH.getCode()); | |||||
| shardingList.add(wxOrderSharding); | |||||
| ShardingSphere wxPayOrderSharding = new ShardingSphere(); | |||||
| wxPayOrderSharding.setColumn("tenant_id"); | |||||
| wxPayOrderSharding.setTableName("wx_pay_order"); | |||||
| wxPayOrderSharding.setCount(100); | |||||
| wxPayOrderSharding.setRule(EnumShardingRule.HASH.getCode()); | |||||
| shardingList.add(wxPayOrderSharding); | |||||
| ShardingSphere wxCouponOrderSharding = new ShardingSphere(); | |||||
| wxCouponOrderSharding.setColumn("tenant_id"); | |||||
| wxCouponOrderSharding.setTableName("wx_coupon_order"); | |||||
| wxCouponOrderSharding.setCount(100); | |||||
| wxCouponOrderSharding.setRule(EnumShardingRule.HASH.getCode()); | |||||
| shardingList.add(wxCouponOrderSharding); | |||||
| ShardingSphere wxOrderGroupSharding = new ShardingSphere(); | |||||
| wxOrderGroupSharding.setColumn("tenant_id"); | |||||
| wxOrderGroupSharding.setTableName("wx_order_group"); | |||||
| wxOrderGroupSharding.setCount(100); | |||||
| wxOrderGroupSharding.setRule(EnumShardingRule.HASH.getCode()); | |||||
| shardingList.add(wxOrderGroupSharding); | |||||
| ShardingSphere wxOrderPressSharding = new ShardingSphere(); | |||||
| wxOrderPressSharding.setColumn("tenant_id"); | |||||
| wxOrderPressSharding.setTableName("wx_order_press"); | |||||
| wxOrderPressSharding.setCount(100); | |||||
| wxOrderPressSharding.setRule(EnumShardingRule.HASH.getCode()); | |||||
| shardingList.add(wxOrderPressSharding); | |||||
| ShardingSphere wxScoreHistorySharding = new ShardingSphere(); | |||||
| wxScoreHistorySharding.setColumn("tenant_id"); | |||||
| wxScoreHistorySharding.setTableName("wx_score_history"); | |||||
| wxScoreHistorySharding.setCount(100); | |||||
| wxScoreHistorySharding.setRule(EnumShardingRule.HASH.getCode()); | |||||
| shardingList.add(wxScoreHistorySharding); | |||||
| ShardingSphere wxCreditHistorySharding = new ShardingSphere(); | |||||
| wxScoreHistorySharding.setColumn("tenant_id"); | |||||
| wxScoreHistorySharding.setTableName("wx_credit_history"); | |||||
| wxScoreHistorySharding.setCount(100); | |||||
| wxScoreHistorySharding.setRule(EnumShardingRule.HASH.getCode()); | |||||
| shardingList.add(wxCreditHistorySharding); | |||||
| ShardingSphere wxCarCmdLogSharding = new ShardingSphere(); | |||||
| wxCarCmdLogSharding.setColumn("tenant_id"); | |||||
| wxCarCmdLogSharding.setTableName("wx_car_cmd_log"); | |||||
| wxCarCmdLogSharding.setCount(100); | |||||
| wxCarCmdLogSharding.setRule(EnumShardingRule.HASH.getCode()); | |||||
| shardingList.add(wxCarCmdLogSharding); | |||||
| ShardingSphere wxMerchantSubsidySharding = new ShardingSphere(); | |||||
| wxMerchantSubsidySharding.setColumn("tenant_id"); | |||||
| wxMerchantSubsidySharding.setTableName("wx_merchant_subsidy"); | |||||
| wxMerchantSubsidySharding.setCount(100); | |||||
| wxMerchantSubsidySharding.setRule(EnumShardingRule.HASH.getCode()); | |||||
| shardingList.add(wxMerchantSubsidySharding); | |||||
| ShardingSphere wxProfitSharingOrderSharding = new ShardingSphere(); | |||||
| wxProfitSharingOrderSharding.setColumn("tenant_id"); | |||||
| wxProfitSharingOrderSharding.setTableName("wx_profit_sharing_order"); | |||||
| wxProfitSharingOrderSharding.setCount(100); | |||||
| wxProfitSharingOrderSharding.setRule(EnumShardingRule.HASH.getCode()); | |||||
| shardingList.add(wxProfitSharingOrderSharding); | |||||
| ShardingSphere wxCouponActionLogSharding = new ShardingSphere(); | |||||
| wxCouponActionLogSharding.setColumn("tenant_id"); | |||||
| wxCouponActionLogSharding.setTableName("wx_coupon_action_log"); | |||||
| wxCouponActionLogSharding.setCount(100); | |||||
| wxCouponActionLogSharding.setRule(EnumShardingRule.HASH.getCode()); | |||||
| shardingList.add(wxCouponActionLogSharding); | |||||
| return shardingSpherePlugin; | |||||
| } | |||||
| @Bean | @Bean | ||||
| public PaginationInterceptor paginationInterceptor() { | public PaginationInterceptor paginationInterceptor() { | ||||
| @@ -1,9 +1,15 @@ | |||||
| package com.iformall.config; | package com.iformall.config; | ||||
| import com.iformall.plugin.MultiTenancy; | import com.iformall.plugin.MultiTenancy; | ||||
| import com.iformall.plugin.shard.impl.EnumShardingRule; | |||||
| import com.iformall.plugin.shard.impl.ShardingSphere; | |||||
| import com.iformall.plugin.shard.plugin.ShardingSpherePlugin; | |||||
| import org.springframework.context.annotation.Bean; | import org.springframework.context.annotation.Bean; | ||||
| import org.springframework.context.annotation.Configuration; | import org.springframework.context.annotation.Configuration; | ||||
| import java.util.ArrayList; | |||||
| import java.util.List; | |||||
| import java.util.Properties; | import java.util.Properties; | ||||
| @Configuration | @Configuration | ||||
| @@ -20,4 +26,107 @@ public class MyBatisConfiguration { | |||||
| multiTenancy.setProperties(properties); | multiTenancy.setProperties(properties); | ||||
| return multiTenancy; | return multiTenancy; | ||||
| } | } | ||||
| @Bean | |||||
| public ShardingSpherePlugin shardingSpherePlugin() { | |||||
| ShardingSpherePlugin shardingSpherePlugin = new ShardingSpherePlugin(); | |||||
| Properties properties = new Properties(); | |||||
| properties.setProperty("dialect", "mysql"); | |||||
| shardingSpherePlugin.setProperties(properties); | |||||
| List<ShardingSphere> shardingList = new ArrayList<ShardingSphere>(); | |||||
| shardingSpherePlugin.setShardingSpheres(shardingList); | |||||
| ShardingSphere wxCUserSharding = new ShardingSphere(); | |||||
| wxCUserSharding.setColumn("tenant_id"); | |||||
| wxCUserSharding.setTableName("wx_c_user"); | |||||
| wxCUserSharding.setCount(100); | |||||
| wxCUserSharding.setRule(EnumShardingRule.HASH.getCode()); | |||||
| shardingList.add(wxCUserSharding); | |||||
| ShardingSphere basicInfoSharding = new ShardingSphere(); | |||||
| basicInfoSharding.setColumn("final_tenant_id"); | |||||
| basicInfoSharding.setTableName("wx_c_user_basic_info"); | |||||
| basicInfoSharding.setCount(100); | |||||
| basicInfoSharding.setRule(EnumShardingRule.HASH.getCode()); | |||||
| shardingList.add(basicInfoSharding); | |||||
| ShardingSphere wxOrderSharding = new ShardingSphere(); | |||||
| wxOrderSharding.setColumn("tenant_id"); | |||||
| wxOrderSharding.setTableName("wx_order"); | |||||
| wxOrderSharding.setCount(100); | |||||
| wxOrderSharding.setRule(EnumShardingRule.HASH.getCode()); | |||||
| shardingList.add(wxOrderSharding); | |||||
| ShardingSphere wxPayOrderSharding = new ShardingSphere(); | |||||
| wxPayOrderSharding.setColumn("tenant_id"); | |||||
| wxPayOrderSharding.setTableName("wx_pay_order"); | |||||
| wxPayOrderSharding.setCount(100); | |||||
| wxPayOrderSharding.setRule(EnumShardingRule.HASH.getCode()); | |||||
| shardingList.add(wxPayOrderSharding); | |||||
| ShardingSphere wxCouponOrderSharding = new ShardingSphere(); | |||||
| wxCouponOrderSharding.setColumn("tenant_id"); | |||||
| wxCouponOrderSharding.setTableName("wx_coupon_order"); | |||||
| wxCouponOrderSharding.setCount(100); | |||||
| wxCouponOrderSharding.setRule(EnumShardingRule.HASH.getCode()); | |||||
| shardingList.add(wxCouponOrderSharding); | |||||
| ShardingSphere wxOrderGroupSharding = new ShardingSphere(); | |||||
| wxOrderGroupSharding.setColumn("tenant_id"); | |||||
| wxOrderGroupSharding.setTableName("wx_order_group"); | |||||
| wxOrderGroupSharding.setCount(100); | |||||
| wxOrderGroupSharding.setRule(EnumShardingRule.HASH.getCode()); | |||||
| shardingList.add(wxOrderGroupSharding); | |||||
| ShardingSphere wxOrderPressSharding = new ShardingSphere(); | |||||
| wxOrderPressSharding.setColumn("tenant_id"); | |||||
| wxOrderPressSharding.setTableName("wx_order_press"); | |||||
| wxOrderPressSharding.setCount(100); | |||||
| wxOrderPressSharding.setRule(EnumShardingRule.HASH.getCode()); | |||||
| shardingList.add(wxOrderPressSharding); | |||||
| ShardingSphere wxScoreHistorySharding = new ShardingSphere(); | |||||
| wxScoreHistorySharding.setColumn("tenant_id"); | |||||
| wxScoreHistorySharding.setTableName("wx_score_history"); | |||||
| wxScoreHistorySharding.setCount(100); | |||||
| wxScoreHistorySharding.setRule(EnumShardingRule.HASH.getCode()); | |||||
| shardingList.add(wxScoreHistorySharding); | |||||
| ShardingSphere wxCreditHistorySharding = new ShardingSphere(); | |||||
| wxScoreHistorySharding.setColumn("tenant_id"); | |||||
| wxScoreHistorySharding.setTableName("wx_credit_history"); | |||||
| wxScoreHistorySharding.setCount(100); | |||||
| wxScoreHistorySharding.setRule(EnumShardingRule.HASH.getCode()); | |||||
| shardingList.add(wxCreditHistorySharding); | |||||
| ShardingSphere wxCarCmdLogSharding = new ShardingSphere(); | |||||
| wxCarCmdLogSharding.setColumn("tenant_id"); | |||||
| wxCarCmdLogSharding.setTableName("wx_car_cmd_log"); | |||||
| wxCarCmdLogSharding.setCount(100); | |||||
| wxCarCmdLogSharding.setRule(EnumShardingRule.HASH.getCode()); | |||||
| shardingList.add(wxCarCmdLogSharding); | |||||
| ShardingSphere wxMerchantSubsidySharding = new ShardingSphere(); | |||||
| wxMerchantSubsidySharding.setColumn("tenant_id"); | |||||
| wxMerchantSubsidySharding.setTableName("wx_merchant_subsidy"); | |||||
| wxMerchantSubsidySharding.setCount(100); | |||||
| wxMerchantSubsidySharding.setRule(EnumShardingRule.HASH.getCode()); | |||||
| shardingList.add(wxMerchantSubsidySharding); | |||||
| ShardingSphere wxProfitSharingOrderSharding = new ShardingSphere(); | |||||
| wxProfitSharingOrderSharding.setColumn("tenant_id"); | |||||
| wxProfitSharingOrderSharding.setTableName("wx_profit_sharing_order"); | |||||
| wxProfitSharingOrderSharding.setCount(100); | |||||
| wxProfitSharingOrderSharding.setRule(EnumShardingRule.HASH.getCode()); | |||||
| shardingList.add(wxProfitSharingOrderSharding); | |||||
| ShardingSphere wxCouponActionLogSharding = new ShardingSphere(); | |||||
| wxCouponActionLogSharding.setColumn("tenant_id"); | |||||
| wxCouponActionLogSharding.setTableName("wx_coupon_action_log"); | |||||
| wxCouponActionLogSharding.setCount(100); | |||||
| wxCouponActionLogSharding.setRule(EnumShardingRule.HASH.getCode()); | |||||
| shardingList.add(wxCouponActionLogSharding); | |||||
| return shardingSpherePlugin; | |||||
| } | |||||
| } | } | ||||
| @@ -1,9 +1,15 @@ | |||||
| package com.iformall.config; | package com.iformall.config; | ||||
| import com.iformall.plugin.MultiTenancy; | import com.iformall.plugin.MultiTenancy; | ||||
| import com.iformall.plugin.shard.impl.EnumShardingRule; | |||||
| import com.iformall.plugin.shard.impl.ShardingSphere; | |||||
| import com.iformall.plugin.shard.plugin.ShardingSpherePlugin; | |||||
| import org.springframework.context.annotation.Bean; | import org.springframework.context.annotation.Bean; | ||||
| import org.springframework.context.annotation.Configuration; | import org.springframework.context.annotation.Configuration; | ||||
| import java.util.ArrayList; | |||||
| import java.util.List; | |||||
| import java.util.Properties; | import java.util.Properties; | ||||
| @Configuration | @Configuration | ||||
| @@ -20,4 +26,107 @@ public class MyBatisConfiguration { | |||||
| multiTenancy.setProperties(properties); | multiTenancy.setProperties(properties); | ||||
| return multiTenancy; | return multiTenancy; | ||||
| } | } | ||||
| @Bean | |||||
| public ShardingSpherePlugin shardingSpherePlugin() { | |||||
| ShardingSpherePlugin shardingSpherePlugin = new ShardingSpherePlugin(); | |||||
| Properties properties = new Properties(); | |||||
| properties.setProperty("dialect", "mysql"); | |||||
| shardingSpherePlugin.setProperties(properties); | |||||
| List<ShardingSphere> shardingList = new ArrayList<ShardingSphere>(); | |||||
| shardingSpherePlugin.setShardingSpheres(shardingList); | |||||
| ShardingSphere wxCUserSharding = new ShardingSphere(); | |||||
| wxCUserSharding.setColumn("tenant_id"); | |||||
| wxCUserSharding.setTableName("wx_c_user"); | |||||
| wxCUserSharding.setCount(100); | |||||
| wxCUserSharding.setRule(EnumShardingRule.HASH.getCode()); | |||||
| shardingList.add(wxCUserSharding); | |||||
| ShardingSphere basicInfoSharding = new ShardingSphere(); | |||||
| basicInfoSharding.setColumn("final_tenant_id"); | |||||
| basicInfoSharding.setTableName("wx_c_user_basic_info"); | |||||
| basicInfoSharding.setCount(100); | |||||
| basicInfoSharding.setRule(EnumShardingRule.HASH.getCode()); | |||||
| shardingList.add(basicInfoSharding); | |||||
| ShardingSphere wxOrderSharding = new ShardingSphere(); | |||||
| wxOrderSharding.setColumn("tenant_id"); | |||||
| wxOrderSharding.setTableName("wx_order"); | |||||
| wxOrderSharding.setCount(100); | |||||
| wxOrderSharding.setRule(EnumShardingRule.HASH.getCode()); | |||||
| shardingList.add(wxOrderSharding); | |||||
| ShardingSphere wxPayOrderSharding = new ShardingSphere(); | |||||
| wxPayOrderSharding.setColumn("tenant_id"); | |||||
| wxPayOrderSharding.setTableName("wx_pay_order"); | |||||
| wxPayOrderSharding.setCount(100); | |||||
| wxPayOrderSharding.setRule(EnumShardingRule.HASH.getCode()); | |||||
| shardingList.add(wxPayOrderSharding); | |||||
| ShardingSphere wxCouponOrderSharding = new ShardingSphere(); | |||||
| wxCouponOrderSharding.setColumn("tenant_id"); | |||||
| wxCouponOrderSharding.setTableName("wx_coupon_order"); | |||||
| wxCouponOrderSharding.setCount(100); | |||||
| wxCouponOrderSharding.setRule(EnumShardingRule.HASH.getCode()); | |||||
| shardingList.add(wxCouponOrderSharding); | |||||
| ShardingSphere wxOrderGroupSharding = new ShardingSphere(); | |||||
| wxOrderGroupSharding.setColumn("tenant_id"); | |||||
| wxOrderGroupSharding.setTableName("wx_order_group"); | |||||
| wxOrderGroupSharding.setCount(100); | |||||
| wxOrderGroupSharding.setRule(EnumShardingRule.HASH.getCode()); | |||||
| shardingList.add(wxOrderGroupSharding); | |||||
| ShardingSphere wxOrderPressSharding = new ShardingSphere(); | |||||
| wxOrderPressSharding.setColumn("tenant_id"); | |||||
| wxOrderPressSharding.setTableName("wx_order_press"); | |||||
| wxOrderPressSharding.setCount(100); | |||||
| wxOrderPressSharding.setRule(EnumShardingRule.HASH.getCode()); | |||||
| shardingList.add(wxOrderPressSharding); | |||||
| ShardingSphere wxScoreHistorySharding = new ShardingSphere(); | |||||
| wxScoreHistorySharding.setColumn("tenant_id"); | |||||
| wxScoreHistorySharding.setTableName("wx_score_history"); | |||||
| wxScoreHistorySharding.setCount(100); | |||||
| wxScoreHistorySharding.setRule(EnumShardingRule.HASH.getCode()); | |||||
| shardingList.add(wxScoreHistorySharding); | |||||
| ShardingSphere wxCreditHistorySharding = new ShardingSphere(); | |||||
| wxScoreHistorySharding.setColumn("tenant_id"); | |||||
| wxScoreHistorySharding.setTableName("wx_credit_history"); | |||||
| wxScoreHistorySharding.setCount(100); | |||||
| wxScoreHistorySharding.setRule(EnumShardingRule.HASH.getCode()); | |||||
| shardingList.add(wxCreditHistorySharding); | |||||
| ShardingSphere wxCarCmdLogSharding = new ShardingSphere(); | |||||
| wxCarCmdLogSharding.setColumn("tenant_id"); | |||||
| wxCarCmdLogSharding.setTableName("wx_car_cmd_log"); | |||||
| wxCarCmdLogSharding.setCount(100); | |||||
| wxCarCmdLogSharding.setRule(EnumShardingRule.HASH.getCode()); | |||||
| shardingList.add(wxCarCmdLogSharding); | |||||
| ShardingSphere wxMerchantSubsidySharding = new ShardingSphere(); | |||||
| wxMerchantSubsidySharding.setColumn("tenant_id"); | |||||
| wxMerchantSubsidySharding.setTableName("wx_merchant_subsidy"); | |||||
| wxMerchantSubsidySharding.setCount(100); | |||||
| wxMerchantSubsidySharding.setRule(EnumShardingRule.HASH.getCode()); | |||||
| shardingList.add(wxMerchantSubsidySharding); | |||||
| ShardingSphere wxProfitSharingOrderSharding = new ShardingSphere(); | |||||
| wxProfitSharingOrderSharding.setColumn("tenant_id"); | |||||
| wxProfitSharingOrderSharding.setTableName("wx_profit_sharing_order"); | |||||
| wxProfitSharingOrderSharding.setCount(100); | |||||
| wxProfitSharingOrderSharding.setRule(EnumShardingRule.HASH.getCode()); | |||||
| shardingList.add(wxProfitSharingOrderSharding); | |||||
| ShardingSphere wxCouponActionLogSharding = new ShardingSphere(); | |||||
| wxCouponActionLogSharding.setColumn("tenant_id"); | |||||
| wxCouponActionLogSharding.setTableName("wx_coupon_action_log"); | |||||
| wxCouponActionLogSharding.setCount(100); | |||||
| wxCouponActionLogSharding.setRule(EnumShardingRule.HASH.getCode()); | |||||
| shardingList.add(wxCouponActionLogSharding); | |||||
| return shardingSpherePlugin; | |||||
| } | |||||
| } | } | ||||
| @@ -23,7 +23,11 @@ | |||||
| <artifactId>mallinkService</artifactId> | <artifactId>mallinkService</artifactId> | ||||
| <version>1.0</version> | <version>1.0</version> | ||||
| </dependency> | </dependency> | ||||
| <dependency> | |||||
| <groupId>com.iformall</groupId> | |||||
| <artifactId>mybatis-multi-tenancy</artifactId> | |||||
| <version>1.0</version> | |||||
| </dependency> | |||||
| </dependencies> | </dependencies> | ||||
| <build> | <build> | ||||
| @@ -0,0 +1,119 @@ | |||||
| package com.iformall.config; | |||||
| import com.iformall.plugin.shard.impl.EnumShardingRule; | |||||
| import com.iformall.plugin.shard.impl.ShardingSphere; | |||||
| import com.iformall.plugin.shard.plugin.ShardingSpherePlugin; | |||||
| import org.springframework.context.annotation.Bean; | |||||
| import org.springframework.context.annotation.Configuration; | |||||
| import org.springframework.transaction.annotation.EnableTransactionManagement; | |||||
| import java.util.ArrayList; | |||||
| import java.util.List; | |||||
| import java.util.Properties; | |||||
| @EnableTransactionManagement | |||||
| @Configuration | |||||
| public class MyBatisConfiguration { | |||||
| @Bean | |||||
| public ShardingSpherePlugin shardingSpherePlugin() { | |||||
| ShardingSpherePlugin shardingSpherePlugin = new ShardingSpherePlugin(); | |||||
| Properties properties = new Properties(); | |||||
| properties.setProperty("dialect", "mysql"); | |||||
| shardingSpherePlugin.setProperties(properties); | |||||
| List<ShardingSphere> shardingList = new ArrayList<ShardingSphere>(); | |||||
| shardingSpherePlugin.setShardingSpheres(shardingList); | |||||
| ShardingSphere wxCUserSharding = new ShardingSphere(); | |||||
| wxCUserSharding.setColumn("tenant_id"); | |||||
| wxCUserSharding.setTableName("wx_c_user"); | |||||
| wxCUserSharding.setCount(100); | |||||
| wxCUserSharding.setRule(EnumShardingRule.HASH.getCode()); | |||||
| shardingList.add(wxCUserSharding); | |||||
| ShardingSphere basicInfoSharding = new ShardingSphere(); | |||||
| basicInfoSharding.setColumn("final_tenant_id"); | |||||
| basicInfoSharding.setTableName("wx_c_user_basic_info"); | |||||
| basicInfoSharding.setCount(100); | |||||
| basicInfoSharding.setRule(EnumShardingRule.HASH.getCode()); | |||||
| shardingList.add(basicInfoSharding); | |||||
| ShardingSphere wxOrderSharding = new ShardingSphere(); | |||||
| wxOrderSharding.setColumn("tenant_id"); | |||||
| wxOrderSharding.setTableName("wx_order"); | |||||
| wxOrderSharding.setCount(100); | |||||
| wxOrderSharding.setRule(EnumShardingRule.HASH.getCode()); | |||||
| shardingList.add(wxOrderSharding); | |||||
| ShardingSphere wxPayOrderSharding = new ShardingSphere(); | |||||
| wxPayOrderSharding.setColumn("tenant_id"); | |||||
| wxPayOrderSharding.setTableName("wx_pay_order"); | |||||
| wxPayOrderSharding.setCount(100); | |||||
| wxPayOrderSharding.setRule(EnumShardingRule.HASH.getCode()); | |||||
| shardingList.add(wxPayOrderSharding); | |||||
| ShardingSphere wxCouponOrderSharding = new ShardingSphere(); | |||||
| wxCouponOrderSharding.setColumn("tenant_id"); | |||||
| wxCouponOrderSharding.setTableName("wx_coupon_order"); | |||||
| wxCouponOrderSharding.setCount(100); | |||||
| wxCouponOrderSharding.setRule(EnumShardingRule.HASH.getCode()); | |||||
| shardingList.add(wxCouponOrderSharding); | |||||
| ShardingSphere wxOrderGroupSharding = new ShardingSphere(); | |||||
| wxOrderGroupSharding.setColumn("tenant_id"); | |||||
| wxOrderGroupSharding.setTableName("wx_order_group"); | |||||
| wxOrderGroupSharding.setCount(100); | |||||
| wxOrderGroupSharding.setRule(EnumShardingRule.HASH.getCode()); | |||||
| shardingList.add(wxOrderGroupSharding); | |||||
| ShardingSphere wxOrderPressSharding = new ShardingSphere(); | |||||
| wxOrderPressSharding.setColumn("tenant_id"); | |||||
| wxOrderPressSharding.setTableName("wx_order_press"); | |||||
| wxOrderPressSharding.setCount(100); | |||||
| wxOrderPressSharding.setRule(EnumShardingRule.HASH.getCode()); | |||||
| shardingList.add(wxOrderPressSharding); | |||||
| ShardingSphere wxScoreHistorySharding = new ShardingSphere(); | |||||
| wxScoreHistorySharding.setColumn("tenant_id"); | |||||
| wxScoreHistorySharding.setTableName("wx_score_history"); | |||||
| wxScoreHistorySharding.setCount(100); | |||||
| wxScoreHistorySharding.setRule(EnumShardingRule.HASH.getCode()); | |||||
| shardingList.add(wxScoreHistorySharding); | |||||
| ShardingSphere wxCreditHistorySharding = new ShardingSphere(); | |||||
| wxScoreHistorySharding.setColumn("tenant_id"); | |||||
| wxScoreHistorySharding.setTableName("wx_credit_history"); | |||||
| wxScoreHistorySharding.setCount(100); | |||||
| wxScoreHistorySharding.setRule(EnumShardingRule.HASH.getCode()); | |||||
| shardingList.add(wxCreditHistorySharding); | |||||
| ShardingSphere wxCarCmdLogSharding = new ShardingSphere(); | |||||
| wxCarCmdLogSharding.setColumn("tenant_id"); | |||||
| wxCarCmdLogSharding.setTableName("wx_car_cmd_log"); | |||||
| wxCarCmdLogSharding.setCount(100); | |||||
| wxCarCmdLogSharding.setRule(EnumShardingRule.HASH.getCode()); | |||||
| shardingList.add(wxCarCmdLogSharding); | |||||
| ShardingSphere wxMerchantSubsidySharding = new ShardingSphere(); | |||||
| wxMerchantSubsidySharding.setColumn("tenant_id"); | |||||
| wxMerchantSubsidySharding.setTableName("wx_merchant_subsidy"); | |||||
| wxMerchantSubsidySharding.setCount(100); | |||||
| wxMerchantSubsidySharding.setRule(EnumShardingRule.HASH.getCode()); | |||||
| shardingList.add(wxMerchantSubsidySharding); | |||||
| ShardingSphere wxProfitSharingOrderSharding = new ShardingSphere(); | |||||
| wxProfitSharingOrderSharding.setColumn("tenant_id"); | |||||
| wxProfitSharingOrderSharding.setTableName("wx_profit_sharing_order"); | |||||
| wxProfitSharingOrderSharding.setCount(100); | |||||
| wxProfitSharingOrderSharding.setRule(EnumShardingRule.HASH.getCode()); | |||||
| shardingList.add(wxProfitSharingOrderSharding); | |||||
| ShardingSphere wxCouponActionLogSharding = new ShardingSphere(); | |||||
| wxCouponActionLogSharding.setColumn("tenant_id"); | |||||
| wxCouponActionLogSharding.setTableName("wx_coupon_action_log"); | |||||
| wxCouponActionLogSharding.setCount(100); | |||||
| wxCouponActionLogSharding.setRule(EnumShardingRule.HASH.getCode()); | |||||
| shardingList.add(wxCouponActionLogSharding); | |||||
| return shardingSpherePlugin; | |||||
| } | |||||
| } | |||||
| @@ -18,6 +18,11 @@ | |||||
| <artifactId>mallinkService</artifactId> | <artifactId>mallinkService</artifactId> | ||||
| <version>1.0</version> | <version>1.0</version> | ||||
| </dependency> | </dependency> | ||||
| <dependency> | |||||
| <groupId>com.iformall</groupId> | |||||
| <artifactId>mybatis-multi-tenancy</artifactId> | |||||
| <version>1.0</version> | |||||
| </dependency> | |||||
| </dependencies> | </dependencies> | ||||
| <build> | <build> | ||||
| @@ -0,0 +1,119 @@ | |||||
| package com.iformall.config; | |||||
| import com.iformall.plugin.shard.impl.EnumShardingRule; | |||||
| import com.iformall.plugin.shard.impl.ShardingSphere; | |||||
| import com.iformall.plugin.shard.plugin.ShardingSpherePlugin; | |||||
| import org.springframework.context.annotation.Bean; | |||||
| import org.springframework.context.annotation.Configuration; | |||||
| import org.springframework.transaction.annotation.EnableTransactionManagement; | |||||
| import java.util.ArrayList; | |||||
| import java.util.List; | |||||
| import java.util.Properties; | |||||
| @EnableTransactionManagement | |||||
| @Configuration | |||||
| public class MyBatisConfiguration { | |||||
| @Bean | |||||
| public ShardingSpherePlugin shardingSpherePlugin() { | |||||
| ShardingSpherePlugin shardingSpherePlugin = new ShardingSpherePlugin(); | |||||
| Properties properties = new Properties(); | |||||
| properties.setProperty("dialect", "mysql"); | |||||
| shardingSpherePlugin.setProperties(properties); | |||||
| List<ShardingSphere> shardingList = new ArrayList<ShardingSphere>(); | |||||
| shardingSpherePlugin.setShardingSpheres(shardingList); | |||||
| ShardingSphere wxCUserSharding = new ShardingSphere(); | |||||
| wxCUserSharding.setColumn("tenant_id"); | |||||
| wxCUserSharding.setTableName("wx_c_user"); | |||||
| wxCUserSharding.setCount(100); | |||||
| wxCUserSharding.setRule(EnumShardingRule.HASH.getCode()); | |||||
| shardingList.add(wxCUserSharding); | |||||
| ShardingSphere basicInfoSharding = new ShardingSphere(); | |||||
| basicInfoSharding.setColumn("final_tenant_id"); | |||||
| basicInfoSharding.setTableName("wx_c_user_basic_info"); | |||||
| basicInfoSharding.setCount(100); | |||||
| basicInfoSharding.setRule(EnumShardingRule.HASH.getCode()); | |||||
| shardingList.add(basicInfoSharding); | |||||
| ShardingSphere wxOrderSharding = new ShardingSphere(); | |||||
| wxOrderSharding.setColumn("tenant_id"); | |||||
| wxOrderSharding.setTableName("wx_order"); | |||||
| wxOrderSharding.setCount(100); | |||||
| wxOrderSharding.setRule(EnumShardingRule.HASH.getCode()); | |||||
| shardingList.add(wxOrderSharding); | |||||
| ShardingSphere wxPayOrderSharding = new ShardingSphere(); | |||||
| wxPayOrderSharding.setColumn("tenant_id"); | |||||
| wxPayOrderSharding.setTableName("wx_pay_order"); | |||||
| wxPayOrderSharding.setCount(100); | |||||
| wxPayOrderSharding.setRule(EnumShardingRule.HASH.getCode()); | |||||
| shardingList.add(wxPayOrderSharding); | |||||
| ShardingSphere wxCouponOrderSharding = new ShardingSphere(); | |||||
| wxCouponOrderSharding.setColumn("tenant_id"); | |||||
| wxCouponOrderSharding.setTableName("wx_coupon_order"); | |||||
| wxCouponOrderSharding.setCount(100); | |||||
| wxCouponOrderSharding.setRule(EnumShardingRule.HASH.getCode()); | |||||
| shardingList.add(wxCouponOrderSharding); | |||||
| ShardingSphere wxOrderGroupSharding = new ShardingSphere(); | |||||
| wxOrderGroupSharding.setColumn("tenant_id"); | |||||
| wxOrderGroupSharding.setTableName("wx_order_group"); | |||||
| wxOrderGroupSharding.setCount(100); | |||||
| wxOrderGroupSharding.setRule(EnumShardingRule.HASH.getCode()); | |||||
| shardingList.add(wxOrderGroupSharding); | |||||
| ShardingSphere wxOrderPressSharding = new ShardingSphere(); | |||||
| wxOrderPressSharding.setColumn("tenant_id"); | |||||
| wxOrderPressSharding.setTableName("wx_order_press"); | |||||
| wxOrderPressSharding.setCount(100); | |||||
| wxOrderPressSharding.setRule(EnumShardingRule.HASH.getCode()); | |||||
| shardingList.add(wxOrderPressSharding); | |||||
| ShardingSphere wxScoreHistorySharding = new ShardingSphere(); | |||||
| wxScoreHistorySharding.setColumn("tenant_id"); | |||||
| wxScoreHistorySharding.setTableName("wx_score_history"); | |||||
| wxScoreHistorySharding.setCount(100); | |||||
| wxScoreHistorySharding.setRule(EnumShardingRule.HASH.getCode()); | |||||
| shardingList.add(wxScoreHistorySharding); | |||||
| ShardingSphere wxCreditHistorySharding = new ShardingSphere(); | |||||
| wxScoreHistorySharding.setColumn("tenant_id"); | |||||
| wxScoreHistorySharding.setTableName("wx_credit_history"); | |||||
| wxScoreHistorySharding.setCount(100); | |||||
| wxScoreHistorySharding.setRule(EnumShardingRule.HASH.getCode()); | |||||
| shardingList.add(wxCreditHistorySharding); | |||||
| ShardingSphere wxCarCmdLogSharding = new ShardingSphere(); | |||||
| wxCarCmdLogSharding.setColumn("tenant_id"); | |||||
| wxCarCmdLogSharding.setTableName("wx_car_cmd_log"); | |||||
| wxCarCmdLogSharding.setCount(100); | |||||
| wxCarCmdLogSharding.setRule(EnumShardingRule.HASH.getCode()); | |||||
| shardingList.add(wxCarCmdLogSharding); | |||||
| ShardingSphere wxMerchantSubsidySharding = new ShardingSphere(); | |||||
| wxMerchantSubsidySharding.setColumn("tenant_id"); | |||||
| wxMerchantSubsidySharding.setTableName("wx_merchant_subsidy"); | |||||
| wxMerchantSubsidySharding.setCount(100); | |||||
| wxMerchantSubsidySharding.setRule(EnumShardingRule.HASH.getCode()); | |||||
| shardingList.add(wxMerchantSubsidySharding); | |||||
| ShardingSphere wxProfitSharingOrderSharding = new ShardingSphere(); | |||||
| wxProfitSharingOrderSharding.setColumn("tenant_id"); | |||||
| wxProfitSharingOrderSharding.setTableName("wx_profit_sharing_order"); | |||||
| wxProfitSharingOrderSharding.setCount(100); | |||||
| wxProfitSharingOrderSharding.setRule(EnumShardingRule.HASH.getCode()); | |||||
| shardingList.add(wxProfitSharingOrderSharding); | |||||
| ShardingSphere wxCouponActionLogSharding = new ShardingSphere(); | |||||
| wxCouponActionLogSharding.setColumn("tenant_id"); | |||||
| wxCouponActionLogSharding.setTableName("wx_coupon_action_log"); | |||||
| wxCouponActionLogSharding.setCount(100); | |||||
| wxCouponActionLogSharding.setRule(EnumShardingRule.HASH.getCode()); | |||||
| shardingList.add(wxCouponActionLogSharding); | |||||
| return shardingSpherePlugin; | |||||
| } | |||||
| } | |||||
| @@ -22,6 +22,11 @@ | |||||
| <artifactId>spring-boot-starter-test</artifactId> | <artifactId>spring-boot-starter-test</artifactId> | ||||
| <scope>test</scope> | <scope>test</scope> | ||||
| </dependency> | </dependency> | ||||
| <dependency> | |||||
| <groupId>com.iformall</groupId> | |||||
| <artifactId>mybatis-multi-tenancy</artifactId> | |||||
| <version>1.0</version> | |||||
| </dependency> | |||||
| </dependencies> | </dependencies> | ||||
| <build> | <build> | ||||
| <plugins> | <plugins> | ||||
| @@ -0,0 +1,119 @@ | |||||
| package com.iformall.config; | |||||
| import com.iformall.plugin.shard.impl.EnumShardingRule; | |||||
| import com.iformall.plugin.shard.impl.ShardingSphere; | |||||
| import com.iformall.plugin.shard.plugin.ShardingSpherePlugin; | |||||
| import org.springframework.context.annotation.Bean; | |||||
| import org.springframework.context.annotation.Configuration; | |||||
| import org.springframework.transaction.annotation.EnableTransactionManagement; | |||||
| import java.util.ArrayList; | |||||
| import java.util.List; | |||||
| import java.util.Properties; | |||||
| @EnableTransactionManagement | |||||
| @Configuration | |||||
| public class MyBatisConfiguration { | |||||
| @Bean | |||||
| public ShardingSpherePlugin shardingSpherePlugin() { | |||||
| ShardingSpherePlugin shardingSpherePlugin = new ShardingSpherePlugin(); | |||||
| Properties properties = new Properties(); | |||||
| properties.setProperty("dialect", "mysql"); | |||||
| shardingSpherePlugin.setProperties(properties); | |||||
| List<ShardingSphere> shardingList = new ArrayList<ShardingSphere>(); | |||||
| shardingSpherePlugin.setShardingSpheres(shardingList); | |||||
| ShardingSphere wxCUserSharding = new ShardingSphere(); | |||||
| wxCUserSharding.setColumn("tenant_id"); | |||||
| wxCUserSharding.setTableName("wx_c_user"); | |||||
| wxCUserSharding.setCount(100); | |||||
| wxCUserSharding.setRule(EnumShardingRule.HASH.getCode()); | |||||
| shardingList.add(wxCUserSharding); | |||||
| ShardingSphere basicInfoSharding = new ShardingSphere(); | |||||
| basicInfoSharding.setColumn("final_tenant_id"); | |||||
| basicInfoSharding.setTableName("wx_c_user_basic_info"); | |||||
| basicInfoSharding.setCount(100); | |||||
| basicInfoSharding.setRule(EnumShardingRule.HASH.getCode()); | |||||
| shardingList.add(basicInfoSharding); | |||||
| ShardingSphere wxOrderSharding = new ShardingSphere(); | |||||
| wxOrderSharding.setColumn("tenant_id"); | |||||
| wxOrderSharding.setTableName("wx_order"); | |||||
| wxOrderSharding.setCount(100); | |||||
| wxOrderSharding.setRule(EnumShardingRule.HASH.getCode()); | |||||
| shardingList.add(wxOrderSharding); | |||||
| ShardingSphere wxPayOrderSharding = new ShardingSphere(); | |||||
| wxPayOrderSharding.setColumn("tenant_id"); | |||||
| wxPayOrderSharding.setTableName("wx_pay_order"); | |||||
| wxPayOrderSharding.setCount(100); | |||||
| wxPayOrderSharding.setRule(EnumShardingRule.HASH.getCode()); | |||||
| shardingList.add(wxPayOrderSharding); | |||||
| ShardingSphere wxCouponOrderSharding = new ShardingSphere(); | |||||
| wxCouponOrderSharding.setColumn("tenant_id"); | |||||
| wxCouponOrderSharding.setTableName("wx_coupon_order"); | |||||
| wxCouponOrderSharding.setCount(100); | |||||
| wxCouponOrderSharding.setRule(EnumShardingRule.HASH.getCode()); | |||||
| shardingList.add(wxCouponOrderSharding); | |||||
| ShardingSphere wxOrderGroupSharding = new ShardingSphere(); | |||||
| wxOrderGroupSharding.setColumn("tenant_id"); | |||||
| wxOrderGroupSharding.setTableName("wx_order_group"); | |||||
| wxOrderGroupSharding.setCount(100); | |||||
| wxOrderGroupSharding.setRule(EnumShardingRule.HASH.getCode()); | |||||
| shardingList.add(wxOrderGroupSharding); | |||||
| ShardingSphere wxOrderPressSharding = new ShardingSphere(); | |||||
| wxOrderPressSharding.setColumn("tenant_id"); | |||||
| wxOrderPressSharding.setTableName("wx_order_press"); | |||||
| wxOrderPressSharding.setCount(100); | |||||
| wxOrderPressSharding.setRule(EnumShardingRule.HASH.getCode()); | |||||
| shardingList.add(wxOrderPressSharding); | |||||
| ShardingSphere wxScoreHistorySharding = new ShardingSphere(); | |||||
| wxScoreHistorySharding.setColumn("tenant_id"); | |||||
| wxScoreHistorySharding.setTableName("wx_score_history"); | |||||
| wxScoreHistorySharding.setCount(100); | |||||
| wxScoreHistorySharding.setRule(EnumShardingRule.HASH.getCode()); | |||||
| shardingList.add(wxScoreHistorySharding); | |||||
| ShardingSphere wxCreditHistorySharding = new ShardingSphere(); | |||||
| wxScoreHistorySharding.setColumn("tenant_id"); | |||||
| wxScoreHistorySharding.setTableName("wx_credit_history"); | |||||
| wxScoreHistorySharding.setCount(100); | |||||
| wxScoreHistorySharding.setRule(EnumShardingRule.HASH.getCode()); | |||||
| shardingList.add(wxCreditHistorySharding); | |||||
| ShardingSphere wxCarCmdLogSharding = new ShardingSphere(); | |||||
| wxCarCmdLogSharding.setColumn("tenant_id"); | |||||
| wxCarCmdLogSharding.setTableName("wx_car_cmd_log"); | |||||
| wxCarCmdLogSharding.setCount(100); | |||||
| wxCarCmdLogSharding.setRule(EnumShardingRule.HASH.getCode()); | |||||
| shardingList.add(wxCarCmdLogSharding); | |||||
| ShardingSphere wxMerchantSubsidySharding = new ShardingSphere(); | |||||
| wxMerchantSubsidySharding.setColumn("tenant_id"); | |||||
| wxMerchantSubsidySharding.setTableName("wx_merchant_subsidy"); | |||||
| wxMerchantSubsidySharding.setCount(100); | |||||
| wxMerchantSubsidySharding.setRule(EnumShardingRule.HASH.getCode()); | |||||
| shardingList.add(wxMerchantSubsidySharding); | |||||
| ShardingSphere wxProfitSharingOrderSharding = new ShardingSphere(); | |||||
| wxProfitSharingOrderSharding.setColumn("tenant_id"); | |||||
| wxProfitSharingOrderSharding.setTableName("wx_profit_sharing_order"); | |||||
| wxProfitSharingOrderSharding.setCount(100); | |||||
| wxProfitSharingOrderSharding.setRule(EnumShardingRule.HASH.getCode()); | |||||
| shardingList.add(wxProfitSharingOrderSharding); | |||||
| ShardingSphere wxCouponActionLogSharding = new ShardingSphere(); | |||||
| wxCouponActionLogSharding.setColumn("tenant_id"); | |||||
| wxCouponActionLogSharding.setTableName("wx_coupon_action_log"); | |||||
| wxCouponActionLogSharding.setCount(100); | |||||
| wxCouponActionLogSharding.setRule(EnumShardingRule.HASH.getCode()); | |||||
| shardingList.add(wxCouponActionLogSharding); | |||||
| return shardingSpherePlugin; | |||||
| } | |||||
| } | |||||
| @@ -18,6 +18,11 @@ | |||||
| <artifactId>mallinkService</artifactId> | <artifactId>mallinkService</artifactId> | ||||
| <version>1.0</version> | <version>1.0</version> | ||||
| </dependency> | </dependency> | ||||
| <dependency> | |||||
| <groupId>com.iformall</groupId> | |||||
| <artifactId>mybatis-multi-tenancy</artifactId> | |||||
| <version>1.0</version> | |||||
| </dependency> | |||||
| </dependencies> | </dependencies> | ||||
| <build> | <build> | ||||
| @@ -0,0 +1,119 @@ | |||||
| package com.iformall.config; | |||||
| import com.iformall.plugin.shard.impl.EnumShardingRule; | |||||
| import com.iformall.plugin.shard.impl.ShardingSphere; | |||||
| import com.iformall.plugin.shard.plugin.ShardingSpherePlugin; | |||||
| import org.springframework.context.annotation.Bean; | |||||
| import org.springframework.context.annotation.Configuration; | |||||
| import org.springframework.transaction.annotation.EnableTransactionManagement; | |||||
| import java.util.ArrayList; | |||||
| import java.util.List; | |||||
| import java.util.Properties; | |||||
| @EnableTransactionManagement | |||||
| @Configuration | |||||
| public class MyBatisConfiguration { | |||||
| @Bean | |||||
| public ShardingSpherePlugin shardingSpherePlugin() { | |||||
| ShardingSpherePlugin shardingSpherePlugin = new ShardingSpherePlugin(); | |||||
| Properties properties = new Properties(); | |||||
| properties.setProperty("dialect", "mysql"); | |||||
| shardingSpherePlugin.setProperties(properties); | |||||
| List<ShardingSphere> shardingList = new ArrayList<ShardingSphere>(); | |||||
| shardingSpherePlugin.setShardingSpheres(shardingList); | |||||
| ShardingSphere wxCUserSharding = new ShardingSphere(); | |||||
| wxCUserSharding.setColumn("tenant_id"); | |||||
| wxCUserSharding.setTableName("wx_c_user"); | |||||
| wxCUserSharding.setCount(100); | |||||
| wxCUserSharding.setRule(EnumShardingRule.HASH.getCode()); | |||||
| shardingList.add(wxCUserSharding); | |||||
| ShardingSphere basicInfoSharding = new ShardingSphere(); | |||||
| basicInfoSharding.setColumn("final_tenant_id"); | |||||
| basicInfoSharding.setTableName("wx_c_user_basic_info"); | |||||
| basicInfoSharding.setCount(100); | |||||
| basicInfoSharding.setRule(EnumShardingRule.HASH.getCode()); | |||||
| shardingList.add(basicInfoSharding); | |||||
| ShardingSphere wxOrderSharding = new ShardingSphere(); | |||||
| wxOrderSharding.setColumn("tenant_id"); | |||||
| wxOrderSharding.setTableName("wx_order"); | |||||
| wxOrderSharding.setCount(100); | |||||
| wxOrderSharding.setRule(EnumShardingRule.HASH.getCode()); | |||||
| shardingList.add(wxOrderSharding); | |||||
| ShardingSphere wxPayOrderSharding = new ShardingSphere(); | |||||
| wxPayOrderSharding.setColumn("tenant_id"); | |||||
| wxPayOrderSharding.setTableName("wx_pay_order"); | |||||
| wxPayOrderSharding.setCount(100); | |||||
| wxPayOrderSharding.setRule(EnumShardingRule.HASH.getCode()); | |||||
| shardingList.add(wxPayOrderSharding); | |||||
| ShardingSphere wxCouponOrderSharding = new ShardingSphere(); | |||||
| wxCouponOrderSharding.setColumn("tenant_id"); | |||||
| wxCouponOrderSharding.setTableName("wx_coupon_order"); | |||||
| wxCouponOrderSharding.setCount(100); | |||||
| wxCouponOrderSharding.setRule(EnumShardingRule.HASH.getCode()); | |||||
| shardingList.add(wxCouponOrderSharding); | |||||
| ShardingSphere wxOrderGroupSharding = new ShardingSphere(); | |||||
| wxOrderGroupSharding.setColumn("tenant_id"); | |||||
| wxOrderGroupSharding.setTableName("wx_order_group"); | |||||
| wxOrderGroupSharding.setCount(100); | |||||
| wxOrderGroupSharding.setRule(EnumShardingRule.HASH.getCode()); | |||||
| shardingList.add(wxOrderGroupSharding); | |||||
| ShardingSphere wxOrderPressSharding = new ShardingSphere(); | |||||
| wxOrderPressSharding.setColumn("tenant_id"); | |||||
| wxOrderPressSharding.setTableName("wx_order_press"); | |||||
| wxOrderPressSharding.setCount(100); | |||||
| wxOrderPressSharding.setRule(EnumShardingRule.HASH.getCode()); | |||||
| shardingList.add(wxOrderPressSharding); | |||||
| ShardingSphere wxScoreHistorySharding = new ShardingSphere(); | |||||
| wxScoreHistorySharding.setColumn("tenant_id"); | |||||
| wxScoreHistorySharding.setTableName("wx_score_history"); | |||||
| wxScoreHistorySharding.setCount(100); | |||||
| wxScoreHistorySharding.setRule(EnumShardingRule.HASH.getCode()); | |||||
| shardingList.add(wxScoreHistorySharding); | |||||
| ShardingSphere wxCreditHistorySharding = new ShardingSphere(); | |||||
| wxScoreHistorySharding.setColumn("tenant_id"); | |||||
| wxScoreHistorySharding.setTableName("wx_credit_history"); | |||||
| wxScoreHistorySharding.setCount(100); | |||||
| wxScoreHistorySharding.setRule(EnumShardingRule.HASH.getCode()); | |||||
| shardingList.add(wxCreditHistorySharding); | |||||
| ShardingSphere wxCarCmdLogSharding = new ShardingSphere(); | |||||
| wxCarCmdLogSharding.setColumn("tenant_id"); | |||||
| wxCarCmdLogSharding.setTableName("wx_car_cmd_log"); | |||||
| wxCarCmdLogSharding.setCount(100); | |||||
| wxCarCmdLogSharding.setRule(EnumShardingRule.HASH.getCode()); | |||||
| shardingList.add(wxCarCmdLogSharding); | |||||
| ShardingSphere wxMerchantSubsidySharding = new ShardingSphere(); | |||||
| wxMerchantSubsidySharding.setColumn("tenant_id"); | |||||
| wxMerchantSubsidySharding.setTableName("wx_merchant_subsidy"); | |||||
| wxMerchantSubsidySharding.setCount(100); | |||||
| wxMerchantSubsidySharding.setRule(EnumShardingRule.HASH.getCode()); | |||||
| shardingList.add(wxMerchantSubsidySharding); | |||||
| ShardingSphere wxProfitSharingOrderSharding = new ShardingSphere(); | |||||
| wxProfitSharingOrderSharding.setColumn("tenant_id"); | |||||
| wxProfitSharingOrderSharding.setTableName("wx_profit_sharing_order"); | |||||
| wxProfitSharingOrderSharding.setCount(100); | |||||
| wxProfitSharingOrderSharding.setRule(EnumShardingRule.HASH.getCode()); | |||||
| shardingList.add(wxProfitSharingOrderSharding); | |||||
| ShardingSphere wxCouponActionLogSharding = new ShardingSphere(); | |||||
| wxCouponActionLogSharding.setColumn("tenant_id"); | |||||
| wxCouponActionLogSharding.setTableName("wx_coupon_action_log"); | |||||
| wxCouponActionLogSharding.setCount(100); | |||||
| wxCouponActionLogSharding.setRule(EnumShardingRule.HASH.getCode()); | |||||
| shardingList.add(wxCouponActionLogSharding); | |||||
| return shardingSpherePlugin; | |||||
| } | |||||
| } | |||||
| @@ -40,7 +40,12 @@ | |||||
| <artifactId>kaptcha</artifactId> | <artifactId>kaptcha</artifactId> | ||||
| <version>0.0.9</version> | <version>0.0.9</version> | ||||
| </dependency> | </dependency> | ||||
| <dependency> | |||||
| <groupId>com.iformall</groupId> | |||||
| <artifactId>mybatis-multi-tenancy</artifactId> | |||||
| <version>1.0</version> | |||||
| </dependency> | |||||
| </dependencies> | </dependencies> | ||||
| <build> | <build> | ||||
| @@ -0,0 +1,119 @@ | |||||
| package com.iformall.config; | |||||
| import com.iformall.plugin.shard.impl.EnumShardingRule; | |||||
| import com.iformall.plugin.shard.impl.ShardingSphere; | |||||
| import com.iformall.plugin.shard.plugin.ShardingSpherePlugin; | |||||
| import org.springframework.context.annotation.Bean; | |||||
| import org.springframework.context.annotation.Configuration; | |||||
| import org.springframework.transaction.annotation.EnableTransactionManagement; | |||||
| import java.util.ArrayList; | |||||
| import java.util.List; | |||||
| import java.util.Properties; | |||||
| @EnableTransactionManagement | |||||
| @Configuration | |||||
| public class MyBatisConfiguration { | |||||
| @Bean | |||||
| public ShardingSpherePlugin shardingSpherePlugin() { | |||||
| ShardingSpherePlugin shardingSpherePlugin = new ShardingSpherePlugin(); | |||||
| Properties properties = new Properties(); | |||||
| properties.setProperty("dialect", "mysql"); | |||||
| shardingSpherePlugin.setProperties(properties); | |||||
| List<ShardingSphere> shardingList = new ArrayList<ShardingSphere>(); | |||||
| shardingSpherePlugin.setShardingSpheres(shardingList); | |||||
| ShardingSphere wxCUserSharding = new ShardingSphere(); | |||||
| wxCUserSharding.setColumn("tenant_id"); | |||||
| wxCUserSharding.setTableName("wx_c_user"); | |||||
| wxCUserSharding.setCount(100); | |||||
| wxCUserSharding.setRule(EnumShardingRule.HASH.getCode()); | |||||
| shardingList.add(wxCUserSharding); | |||||
| ShardingSphere basicInfoSharding = new ShardingSphere(); | |||||
| basicInfoSharding.setColumn("final_tenant_id"); | |||||
| basicInfoSharding.setTableName("wx_c_user_basic_info"); | |||||
| basicInfoSharding.setCount(100); | |||||
| basicInfoSharding.setRule(EnumShardingRule.HASH.getCode()); | |||||
| shardingList.add(basicInfoSharding); | |||||
| ShardingSphere wxOrderSharding = new ShardingSphere(); | |||||
| wxOrderSharding.setColumn("tenant_id"); | |||||
| wxOrderSharding.setTableName("wx_order"); | |||||
| wxOrderSharding.setCount(100); | |||||
| wxOrderSharding.setRule(EnumShardingRule.HASH.getCode()); | |||||
| shardingList.add(wxOrderSharding); | |||||
| ShardingSphere wxPayOrderSharding = new ShardingSphere(); | |||||
| wxPayOrderSharding.setColumn("tenant_id"); | |||||
| wxPayOrderSharding.setTableName("wx_pay_order"); | |||||
| wxPayOrderSharding.setCount(100); | |||||
| wxPayOrderSharding.setRule(EnumShardingRule.HASH.getCode()); | |||||
| shardingList.add(wxPayOrderSharding); | |||||
| ShardingSphere wxCouponOrderSharding = new ShardingSphere(); | |||||
| wxCouponOrderSharding.setColumn("tenant_id"); | |||||
| wxCouponOrderSharding.setTableName("wx_coupon_order"); | |||||
| wxCouponOrderSharding.setCount(100); | |||||
| wxCouponOrderSharding.setRule(EnumShardingRule.HASH.getCode()); | |||||
| shardingList.add(wxCouponOrderSharding); | |||||
| ShardingSphere wxOrderGroupSharding = new ShardingSphere(); | |||||
| wxOrderGroupSharding.setColumn("tenant_id"); | |||||
| wxOrderGroupSharding.setTableName("wx_order_group"); | |||||
| wxOrderGroupSharding.setCount(100); | |||||
| wxOrderGroupSharding.setRule(EnumShardingRule.HASH.getCode()); | |||||
| shardingList.add(wxOrderGroupSharding); | |||||
| ShardingSphere wxOrderPressSharding = new ShardingSphere(); | |||||
| wxOrderPressSharding.setColumn("tenant_id"); | |||||
| wxOrderPressSharding.setTableName("wx_order_press"); | |||||
| wxOrderPressSharding.setCount(100); | |||||
| wxOrderPressSharding.setRule(EnumShardingRule.HASH.getCode()); | |||||
| shardingList.add(wxOrderPressSharding); | |||||
| ShardingSphere wxScoreHistorySharding = new ShardingSphere(); | |||||
| wxScoreHistorySharding.setColumn("tenant_id"); | |||||
| wxScoreHistorySharding.setTableName("wx_score_history"); | |||||
| wxScoreHistorySharding.setCount(100); | |||||
| wxScoreHistorySharding.setRule(EnumShardingRule.HASH.getCode()); | |||||
| shardingList.add(wxScoreHistorySharding); | |||||
| ShardingSphere wxCreditHistorySharding = new ShardingSphere(); | |||||
| wxScoreHistorySharding.setColumn("tenant_id"); | |||||
| wxScoreHistorySharding.setTableName("wx_credit_history"); | |||||
| wxScoreHistorySharding.setCount(100); | |||||
| wxScoreHistorySharding.setRule(EnumShardingRule.HASH.getCode()); | |||||
| shardingList.add(wxCreditHistorySharding); | |||||
| ShardingSphere wxCarCmdLogSharding = new ShardingSphere(); | |||||
| wxCarCmdLogSharding.setColumn("tenant_id"); | |||||
| wxCarCmdLogSharding.setTableName("wx_car_cmd_log"); | |||||
| wxCarCmdLogSharding.setCount(100); | |||||
| wxCarCmdLogSharding.setRule(EnumShardingRule.HASH.getCode()); | |||||
| shardingList.add(wxCarCmdLogSharding); | |||||
| ShardingSphere wxMerchantSubsidySharding = new ShardingSphere(); | |||||
| wxMerchantSubsidySharding.setColumn("tenant_id"); | |||||
| wxMerchantSubsidySharding.setTableName("wx_merchant_subsidy"); | |||||
| wxMerchantSubsidySharding.setCount(100); | |||||
| wxMerchantSubsidySharding.setRule(EnumShardingRule.HASH.getCode()); | |||||
| shardingList.add(wxMerchantSubsidySharding); | |||||
| ShardingSphere wxProfitSharingOrderSharding = new ShardingSphere(); | |||||
| wxProfitSharingOrderSharding.setColumn("tenant_id"); | |||||
| wxProfitSharingOrderSharding.setTableName("wx_profit_sharing_order"); | |||||
| wxProfitSharingOrderSharding.setCount(100); | |||||
| wxProfitSharingOrderSharding.setRule(EnumShardingRule.HASH.getCode()); | |||||
| shardingList.add(wxProfitSharingOrderSharding); | |||||
| ShardingSphere wxCouponActionLogSharding = new ShardingSphere(); | |||||
| wxCouponActionLogSharding.setColumn("tenant_id"); | |||||
| wxCouponActionLogSharding.setTableName("wx_coupon_action_log"); | |||||
| wxCouponActionLogSharding.setCount(100); | |||||
| wxCouponActionLogSharding.setRule(EnumShardingRule.HASH.getCode()); | |||||
| shardingList.add(wxCouponActionLogSharding); | |||||
| return shardingSpherePlugin; | |||||
| } | |||||
| } | |||||
| @@ -26,6 +26,11 @@ | |||||
| <groupId>org.springframework.boot</groupId> | <groupId>org.springframework.boot</groupId> | ||||
| <artifactId>spring-boot-starter-reactor-netty</artifactId> | <artifactId>spring-boot-starter-reactor-netty</artifactId> | ||||
| </dependency> | </dependency> | ||||
| <dependency> | |||||
| <groupId>com.iformall</groupId> | |||||
| <artifactId>mybatis-multi-tenancy</artifactId> | |||||
| <version>1.0</version> | |||||
| </dependency> | |||||
| </dependencies> | </dependencies> | ||||
| <build> | <build> | ||||
| @@ -0,0 +1,119 @@ | |||||
| package com.iformall.config; | |||||
| import com.iformall.plugin.shard.impl.EnumShardingRule; | |||||
| import com.iformall.plugin.shard.impl.ShardingSphere; | |||||
| import com.iformall.plugin.shard.plugin.ShardingSpherePlugin; | |||||
| import org.springframework.context.annotation.Bean; | |||||
| import org.springframework.context.annotation.Configuration; | |||||
| import org.springframework.transaction.annotation.EnableTransactionManagement; | |||||
| import java.util.ArrayList; | |||||
| import java.util.List; | |||||
| import java.util.Properties; | |||||
| @EnableTransactionManagement | |||||
| @Configuration | |||||
| public class MyBatisConfiguration { | |||||
| @Bean | |||||
| public ShardingSpherePlugin shardingSpherePlugin() { | |||||
| ShardingSpherePlugin shardingSpherePlugin = new ShardingSpherePlugin(); | |||||
| Properties properties = new Properties(); | |||||
| properties.setProperty("dialect", "mysql"); | |||||
| shardingSpherePlugin.setProperties(properties); | |||||
| List<ShardingSphere> shardingList = new ArrayList<ShardingSphere>(); | |||||
| shardingSpherePlugin.setShardingSpheres(shardingList); | |||||
| ShardingSphere wxCUserSharding = new ShardingSphere(); | |||||
| wxCUserSharding.setColumn("tenant_id"); | |||||
| wxCUserSharding.setTableName("wx_c_user"); | |||||
| wxCUserSharding.setCount(100); | |||||
| wxCUserSharding.setRule(EnumShardingRule.HASH.getCode()); | |||||
| shardingList.add(wxCUserSharding); | |||||
| ShardingSphere basicInfoSharding = new ShardingSphere(); | |||||
| basicInfoSharding.setColumn("final_tenant_id"); | |||||
| basicInfoSharding.setTableName("wx_c_user_basic_info"); | |||||
| basicInfoSharding.setCount(100); | |||||
| basicInfoSharding.setRule(EnumShardingRule.HASH.getCode()); | |||||
| shardingList.add(basicInfoSharding); | |||||
| ShardingSphere wxOrderSharding = new ShardingSphere(); | |||||
| wxOrderSharding.setColumn("tenant_id"); | |||||
| wxOrderSharding.setTableName("wx_order"); | |||||
| wxOrderSharding.setCount(100); | |||||
| wxOrderSharding.setRule(EnumShardingRule.HASH.getCode()); | |||||
| shardingList.add(wxOrderSharding); | |||||
| ShardingSphere wxPayOrderSharding = new ShardingSphere(); | |||||
| wxPayOrderSharding.setColumn("tenant_id"); | |||||
| wxPayOrderSharding.setTableName("wx_pay_order"); | |||||
| wxPayOrderSharding.setCount(100); | |||||
| wxPayOrderSharding.setRule(EnumShardingRule.HASH.getCode()); | |||||
| shardingList.add(wxPayOrderSharding); | |||||
| ShardingSphere wxCouponOrderSharding = new ShardingSphere(); | |||||
| wxCouponOrderSharding.setColumn("tenant_id"); | |||||
| wxCouponOrderSharding.setTableName("wx_coupon_order"); | |||||
| wxCouponOrderSharding.setCount(100); | |||||
| wxCouponOrderSharding.setRule(EnumShardingRule.HASH.getCode()); | |||||
| shardingList.add(wxCouponOrderSharding); | |||||
| ShardingSphere wxOrderGroupSharding = new ShardingSphere(); | |||||
| wxOrderGroupSharding.setColumn("tenant_id"); | |||||
| wxOrderGroupSharding.setTableName("wx_order_group"); | |||||
| wxOrderGroupSharding.setCount(100); | |||||
| wxOrderGroupSharding.setRule(EnumShardingRule.HASH.getCode()); | |||||
| shardingList.add(wxOrderGroupSharding); | |||||
| ShardingSphere wxOrderPressSharding = new ShardingSphere(); | |||||
| wxOrderPressSharding.setColumn("tenant_id"); | |||||
| wxOrderPressSharding.setTableName("wx_order_press"); | |||||
| wxOrderPressSharding.setCount(100); | |||||
| wxOrderPressSharding.setRule(EnumShardingRule.HASH.getCode()); | |||||
| shardingList.add(wxOrderPressSharding); | |||||
| ShardingSphere wxScoreHistorySharding = new ShardingSphere(); | |||||
| wxScoreHistorySharding.setColumn("tenant_id"); | |||||
| wxScoreHistorySharding.setTableName("wx_score_history"); | |||||
| wxScoreHistorySharding.setCount(100); | |||||
| wxScoreHistorySharding.setRule(EnumShardingRule.HASH.getCode()); | |||||
| shardingList.add(wxScoreHistorySharding); | |||||
| ShardingSphere wxCreditHistorySharding = new ShardingSphere(); | |||||
| wxScoreHistorySharding.setColumn("tenant_id"); | |||||
| wxScoreHistorySharding.setTableName("wx_credit_history"); | |||||
| wxScoreHistorySharding.setCount(100); | |||||
| wxScoreHistorySharding.setRule(EnumShardingRule.HASH.getCode()); | |||||
| shardingList.add(wxCreditHistorySharding); | |||||
| ShardingSphere wxCarCmdLogSharding = new ShardingSphere(); | |||||
| wxCarCmdLogSharding.setColumn("tenant_id"); | |||||
| wxCarCmdLogSharding.setTableName("wx_car_cmd_log"); | |||||
| wxCarCmdLogSharding.setCount(100); | |||||
| wxCarCmdLogSharding.setRule(EnumShardingRule.HASH.getCode()); | |||||
| shardingList.add(wxCarCmdLogSharding); | |||||
| ShardingSphere wxMerchantSubsidySharding = new ShardingSphere(); | |||||
| wxMerchantSubsidySharding.setColumn("tenant_id"); | |||||
| wxMerchantSubsidySharding.setTableName("wx_merchant_subsidy"); | |||||
| wxMerchantSubsidySharding.setCount(100); | |||||
| wxMerchantSubsidySharding.setRule(EnumShardingRule.HASH.getCode()); | |||||
| shardingList.add(wxMerchantSubsidySharding); | |||||
| ShardingSphere wxProfitSharingOrderSharding = new ShardingSphere(); | |||||
| wxProfitSharingOrderSharding.setColumn("tenant_id"); | |||||
| wxProfitSharingOrderSharding.setTableName("wx_profit_sharing_order"); | |||||
| wxProfitSharingOrderSharding.setCount(100); | |||||
| wxProfitSharingOrderSharding.setRule(EnumShardingRule.HASH.getCode()); | |||||
| shardingList.add(wxProfitSharingOrderSharding); | |||||
| ShardingSphere wxCouponActionLogSharding = new ShardingSphere(); | |||||
| wxCouponActionLogSharding.setColumn("tenant_id"); | |||||
| wxCouponActionLogSharding.setTableName("wx_coupon_action_log"); | |||||
| wxCouponActionLogSharding.setCount(100); | |||||
| wxCouponActionLogSharding.setRule(EnumShardingRule.HASH.getCode()); | |||||
| shardingList.add(wxCouponActionLogSharding); | |||||
| return shardingSpherePlugin; | |||||
| } | |||||
| } | |||||
| @@ -22,7 +22,7 @@ public class ShardingRuleExcuter { | |||||
| public static String getTableIndex(Integer rule,Object value,int tableCount) { | public static String getTableIndex(Integer rule,Object value,int tableCount) { | ||||
| String index = getServiceMap().get(rule).getTableIndex(value, tableCount); | String index = getServiceMap().get(rule).getTableIndex(value, tableCount); | ||||
| if (StringUtils.isEmpty(index)) { | if (StringUtils.isEmpty(index)) { | ||||
| throw new RuntimeException("Sharding Rule["+rule+"] not support."); | |||||
| throw new RuntimeException("Sharding Rule["+rule+"] not support. column value:"+value+" tableCount:"+tableCount) ; | |||||
| } | } | ||||
| return index; | return index; | ||||
| } | } | ||||