diff --git a/mall-common/src/main/java/com/suisung/mall/common/modules/sync/SyncConfig.java b/mall-common/src/main/java/com/suisung/mall/common/modules/sync/SyncConfig.java index 604d2050..a73d0403 100644 --- a/mall-common/src/main/java/com/suisung/mall/common/modules/sync/SyncConfig.java +++ b/mall-common/src/main/java/com/suisung/mall/common/modules/sync/SyncConfig.java @@ -54,6 +54,9 @@ public class SyncConfig implements Serializable { @ApiModelProperty(value = "数据库密码") private String sql_pwd; + @ApiModelProperty(value = "数据端口") + private String sql_port; + @ApiModelProperty(value = "数据库") private String sql_db; diff --git a/mall-shop/pom.xml b/mall-shop/pom.xml index 0331c6d9..e1814c58 100644 --- a/mall-shop/pom.xml +++ b/mall-shop/pom.xml @@ -300,6 +300,11 @@ + + com.microsoft.sqlserver + mssql-jdbc + 9.4.1.jre8 + diff --git a/mall-shop/src/main/java/com/suisung/mall/shop/sync/mapper/SyncConfigServiceMapper.java b/mall-shop/src/main/java/com/suisung/mall/shop/sync/mapper/SyncConfigServiceMapper.java new file mode 100644 index 00000000..c5dd11e5 --- /dev/null +++ b/mall-shop/src/main/java/com/suisung/mall/shop/sync/mapper/SyncConfigServiceMapper.java @@ -0,0 +1,9 @@ +package com.suisung.mall.shop.sync.mapper; + +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import com.suisung.mall.common.modules.sync.SyncConfig; +import org.apache.ibatis.annotations.Mapper; + +@Mapper +public interface SyncConfigServiceMapper extends BaseMapper { +} diff --git a/mall-shop/src/main/java/com/suisung/mall/shop/sync/service/SyncConfigService.java b/mall-shop/src/main/java/com/suisung/mall/shop/sync/service/SyncConfigService.java new file mode 100644 index 00000000..ee50112f --- /dev/null +++ b/mall-shop/src/main/java/com/suisung/mall/shop/sync/service/SyncConfigService.java @@ -0,0 +1,7 @@ +package com.suisung.mall.shop.sync.service; + +import com.baomidou.mybatisplus.extension.service.IService; +import com.suisung.mall.common.modules.sync.SyncConfig; + +public interface SyncConfigService extends IService { +} diff --git a/mall-shop/src/main/java/com/suisung/mall/shop/sync/service/impl/SyncConfigServiceImpl.java b/mall-shop/src/main/java/com/suisung/mall/shop/sync/service/impl/SyncConfigServiceImpl.java new file mode 100644 index 00000000..f4d0bff0 --- /dev/null +++ b/mall-shop/src/main/java/com/suisung/mall/shop/sync/service/impl/SyncConfigServiceImpl.java @@ -0,0 +1,11 @@ +package com.suisung.mall.shop.sync.service.impl; + +import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; +import com.suisung.mall.common.modules.sync.SyncConfig; +import com.suisung.mall.shop.sync.mapper.SyncConfigServiceMapper; +import com.suisung.mall.shop.sync.service.SyncConfigService; +import org.springframework.stereotype.Service; + +@Service +public class SyncConfigServiceImpl extends ServiceImpl implements SyncConfigService { +} diff --git a/mall-shop/src/main/java/com/suisung/mall/shop/sync/service/impl/SyncThirdDataServiceImpl.java b/mall-shop/src/main/java/com/suisung/mall/shop/sync/service/impl/SyncThirdDataServiceImpl.java index 9da1c8fa..532d4da0 100644 --- a/mall-shop/src/main/java/com/suisung/mall/shop/sync/service/impl/SyncThirdDataServiceImpl.java +++ b/mall-shop/src/main/java/com/suisung/mall/shop/sync/service/impl/SyncThirdDataServiceImpl.java @@ -34,6 +34,7 @@ import com.suisung.mall.common.modules.pay.PayUserResource; import com.suisung.mall.common.modules.product.*; import com.suisung.mall.common.modules.store.ShopStoreBase; import com.suisung.mall.common.modules.sync.SyncApp; +import com.suisung.mall.common.modules.sync.SyncConfig; import com.suisung.mall.common.pojo.req.SyncThirdMemberReq; import com.suisung.mall.common.pojo.res.ThirdApiRes; import com.suisung.mall.common.utils.DateTimeUtils; @@ -46,11 +47,14 @@ import com.suisung.mall.shop.product.service.ShopProductBaseService; import com.suisung.mall.shop.product.service.impl.ShopProductBaseServiceImpl; import com.suisung.mall.shop.store.service.ShopStoreBaseService; import com.suisung.mall.shop.sync.service.SyncAppService; +import com.suisung.mall.shop.sync.service.SyncConfigService; import com.suisung.mall.shop.sync.service.SyncThirdDataService; import org.slf4j.Logger; import org.slf4j.LoggerFactory; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.data.util.Pair; +import org.springframework.jdbc.core.JdbcTemplate; +import org.springframework.jdbc.datasource.DriverManagerDataSource; import org.springframework.stereotype.Service; import java.math.BigDecimal; @@ -76,6 +80,8 @@ public class SyncThirdDataServiceImpl implements SyncThirdDataService { private ShopStoreBaseService shopStoreBaseService; @Autowired private SyncAppService syncAppService; + @Autowired + private SyncConfigService syncConfigService; /** * 批量保存商品的分类 @@ -505,7 +511,7 @@ public class SyncThirdDataServiceImpl implements SyncThirdDataService { if (!Arrays.asList(1, 2, 3, 4).contains(syncType)) { return CommonResult.failed(); } - //获取appid、appKey + //获取appKey、appSecret SyncApp syncAppO = syncAppService.getOne(new LambdaQueryWrapper() .select(SyncApp::getApp_key, SyncApp::getApp_secret) .eq(SyncApp::getStore_id, storeId)); @@ -518,48 +524,85 @@ public class SyncThirdDataServiceImpl implements SyncThirdDataService { return CommonResult.failed(); } + //合作商配置 + SyncConfig syncConfig = syncConfigService.getOne(new LambdaQueryWrapper().eq(SyncConfig::getApp_key, syncAppO.getApp_key())); + if (null == syncConfig) { + return CommonResult.failed(); + } + + //jdbcTemplate + JdbcTemplate jdbcTemplate = getJDBCTemplate(syncConfig); + if (null == jdbcTemplate) { + return CommonResult.failed(); + } + switch (syncType) { case 1: - return syncProductBrand(); + return syncProductBrand(jdbcTemplate); case 2: - return syncProductClazz(); + return syncProductClazz(jdbcTemplate); case 3: - return syncProduct(); + return syncProduct(jdbcTemplate); case 4: - return syncVip(); + return syncVip(jdbcTemplate); + } + return null; + } + + //创建Template + private JdbcTemplate getJDBCTemplate(SyncConfig syncConfig) { + + switch (syncConfig.getSys_version()) { + case "hbposev9" : + DriverManagerDataSource dataSource = new DriverManagerDataSource(); + dataSource.setDriverClassName("com.microsoft.sqlserver.jdbc.SQLServerDriver"); + String url = String.format("jdbc:sqlserver://%s:%s;databaseName=%s", + syncConfig.getSever_ip(), syncConfig.getSql_port(), syncConfig.getSql_db()); + dataSource.setUrl(url); + dataSource.setUsername(syncConfig.getSql_acc()); + dataSource.setPassword(syncConfig.getSql_pwd()); + // 创建 JdbcTemplate + return new JdbcTemplate(dataSource); } return null; } /** * 同步商品品牌 + * * @return */ - public CommonResult syncProductBrand() { + public CommonResult syncProductBrand(JdbcTemplate syncAppO) { + return null; } /** * 同步商品分类 + * * @return */ - public CommonResult syncProductClazz() { + public CommonResult syncProductClazz(JdbcTemplate syncAppO) { return null; } /** * 同步商品 + * * @return */ - public CommonResult syncProduct() { + public CommonResult syncProduct(JdbcTemplate syncAppO) { return null; } /** * 同步会员 + * * @return */ - public CommonResult syncVip() { + public CommonResult syncVip(JdbcTemplate syncAppO) { return null; } + + }