Просмотр исходного кода

添加分表

release_toaliyun_real
xiaohanzi 5 лет назад
Родитель
Сommit
513371c9de
16 измененных файлов: 1073 добавлений и 3 удалений
  1. +109
    -0
      mallinkAdmin/src/main/java/com/iformall/config/MyBatisConfiguration.java
  2. +109
    -0
      mallinkBApi/src/main/java/com/iformall/config/MyBatisConfiguration.java
  3. +109
    -0
      mallinkCApi/src/main/java/com/iformall/config/MyBatisConfiguration.java
  4. +5
    -1
      mallinkCallback/pom.xml
  5. +119
    -0
      mallinkCallback/src/main/java/com/iformall/config/MyBatisConfiguration.java
  6. +5
    -0
      mallinkMQConsumer/pom.xml
  7. +119
    -0
      mallinkMQConsumer/src/main/java/com/iformall/config/MyBatisConfiguration.java
  8. +5
    -0
      mallinkPosApi/pom.xml
  9. +119
    -0
      mallinkPosApi/src/main/java/com/iformall/config/MyBatisConfiguration.java
  10. +5
    -0
      mallinkSchedule/pom.xml
  11. +119
    -0
      mallinkSchedule/src/main/java/com/iformall/config/MyBatisConfiguration.java
  12. +6
    -1
      mallinkSysAdmin/pom.xml
  13. +119
    -0
      mallinkSysAdmin/src/main/java/com/iformall/config/MyBatisConfiguration.java
  14. +5
    -0
      mallinkWebSocketServer/pom.xml
  15. +119
    -0
      mallinkWebSocketServer/src/main/java/com/iformall/config/MyBatisConfiguration.java
  16. +1
    -1
      mybatis-multi-tenancy/src/main/java/com/iformall/plugin/shard/impl/ShardingRuleExcuter.java

+ 109
- 0
mallinkAdmin/src/main/java/com/iformall/config/MyBatisConfiguration.java Просмотреть файл

@@ -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() {


+ 109
- 0
mallinkBApi/src/main/java/com/iformall/config/MyBatisConfiguration.java Просмотреть файл

@@ -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;
}
} }

+ 109
- 0
mallinkCApi/src/main/java/com/iformall/config/MyBatisConfiguration.java Просмотреть файл

@@ -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;
}
} }

+ 5
- 1
mallinkCallback/pom.xml Просмотреть файл

@@ -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>


+ 119
- 0
mallinkCallback/src/main/java/com/iformall/config/MyBatisConfiguration.java Просмотреть файл

@@ -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;
}
}

+ 5
- 0
mallinkMQConsumer/pom.xml Просмотреть файл

@@ -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>


+ 119
- 0
mallinkMQConsumer/src/main/java/com/iformall/config/MyBatisConfiguration.java Просмотреть файл

@@ -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;
}
}

+ 5
- 0
mallinkPosApi/pom.xml Просмотреть файл

@@ -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>


+ 119
- 0
mallinkPosApi/src/main/java/com/iformall/config/MyBatisConfiguration.java Просмотреть файл

@@ -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;
}
}

+ 5
- 0
mallinkSchedule/pom.xml Просмотреть файл

@@ -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>


+ 119
- 0
mallinkSchedule/src/main/java/com/iformall/config/MyBatisConfiguration.java Просмотреть файл

@@ -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;
}
}

+ 6
- 1
mallinkSysAdmin/pom.xml Просмотреть файл

@@ -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>


+ 119
- 0
mallinkSysAdmin/src/main/java/com/iformall/config/MyBatisConfiguration.java Просмотреть файл

@@ -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;
}
}

+ 5
- 0
mallinkWebSocketServer/pom.xml Просмотреть файл

@@ -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>


+ 119
- 0
mallinkWebSocketServer/src/main/java/com/iformall/config/MyBatisConfiguration.java Просмотреть файл

@@ -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;
}
}

+ 1
- 1
mybatis-multi-tenancy/src/main/java/com/iformall/plugin/shard/impl/ShardingRuleExcuter.java Просмотреть файл

@@ -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;
} }


Загрузка…
Отмена
Сохранить