| @@ -3,10 +3,16 @@ package com.iformall.config; | |||
| import com.baomidou.mybatisplus.extension.plugins.OptimisticLockerInterceptor; | |||
| import com.baomidou.mybatisplus.extension.plugins.PaginationInterceptor; | |||
| 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.Configuration; | |||
| import org.springframework.transaction.annotation.EnableTransactionManagement; | |||
| import java.util.ArrayList; | |||
| import java.util.List; | |||
| import java.util.Properties; | |||
| @EnableTransactionManagement | |||
| @@ -25,6 +31,109 @@ public class MyBatisConfiguration { | |||
| multiTenancy.setProperties(properties); | |||
| 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 | |||
| public PaginationInterceptor paginationInterceptor() { | |||
| @@ -1,9 +1,15 @@ | |||
| package com.iformall.config; | |||
| 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.Configuration; | |||
| import java.util.ArrayList; | |||
| import java.util.List; | |||
| import java.util.Properties; | |||
| @Configuration | |||
| @@ -20,4 +26,107 @@ public class MyBatisConfiguration { | |||
| multiTenancy.setProperties(properties); | |||
| 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; | |||
| 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.Configuration; | |||
| import java.util.ArrayList; | |||
| import java.util.List; | |||
| import java.util.Properties; | |||
| @Configuration | |||
| @@ -20,4 +26,107 @@ public class MyBatisConfiguration { | |||
| multiTenancy.setProperties(properties); | |||
| 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> | |||
| <version>1.0</version> | |||
| </dependency> | |||
| <dependency> | |||
| <groupId>com.iformall</groupId> | |||
| <artifactId>mybatis-multi-tenancy</artifactId> | |||
| <version>1.0</version> | |||
| </dependency> | |||
| </dependencies> | |||
| <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> | |||
| <version>1.0</version> | |||
| </dependency> | |||
| <dependency> | |||
| <groupId>com.iformall</groupId> | |||
| <artifactId>mybatis-multi-tenancy</artifactId> | |||
| <version>1.0</version> | |||
| </dependency> | |||
| </dependencies> | |||
| <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> | |||
| <scope>test</scope> | |||
| </dependency> | |||
| <dependency> | |||
| <groupId>com.iformall</groupId> | |||
| <artifactId>mybatis-multi-tenancy</artifactId> | |||
| <version>1.0</version> | |||
| </dependency> | |||
| </dependencies> | |||
| <build> | |||
| <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> | |||
| <version>1.0</version> | |||
| </dependency> | |||
| <dependency> | |||
| <groupId>com.iformall</groupId> | |||
| <artifactId>mybatis-multi-tenancy</artifactId> | |||
| <version>1.0</version> | |||
| </dependency> | |||
| </dependencies> | |||
| <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> | |||
| <version>0.0.9</version> | |||
| </dependency> | |||
| <dependency> | |||
| <groupId>com.iformall</groupId> | |||
| <artifactId>mybatis-multi-tenancy</artifactId> | |||
| <version>1.0</version> | |||
| </dependency> | |||
| </dependencies> | |||
| <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> | |||
| <artifactId>spring-boot-starter-reactor-netty</artifactId> | |||
| </dependency> | |||
| <dependency> | |||
| <groupId>com.iformall</groupId> | |||
| <artifactId>mybatis-multi-tenancy</artifactId> | |||
| <version>1.0</version> | |||
| </dependency> | |||
| </dependencies> | |||
| <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) { | |||
| String index = getServiceMap().get(rule).getTableIndex(value, tableCount); | |||
| 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; | |||
| } | |||