Commit db77a037 by yinyong

数据中心--同步销售平台

parent 6bbbd307
......@@ -3,6 +3,7 @@ package com.bailuntec;
import com.alibaba.druid.pool.DruidDataSource;
import com.bailuntec.job.CashWithdrawDetail;
import com.bailuntec.job.CashierJob;
import com.bailuntec.job.SalesPlatformJob;
import com.bailuntec.listener.CashierJobListener;
import com.bailuntec.utils.PropertiesUtil;
import com.dangdang.ddframe.job.config.JobCoreConfiguration;
......@@ -28,6 +29,7 @@ public class Application {
public static void main(String[] args) {
new JobScheduler(createRegistryCenter(), createJobConfiguration(),createJobEventConfiguration(), new CashierJobListener()).init();
new JobScheduler(createRegistryCenter(), createJobConfiguration1(),createJobEventConfiguration()).init();
new JobScheduler(createRegistryCenter(), createJobConfiguration2(), createJobEventConfiguration()).init();
}
private static CoordinatorRegistryCenter createRegistryCenter() {
......@@ -50,6 +52,13 @@ public class Application {
return simpleJobRootConfig;
}
private static LiteJobConfiguration createJobConfiguration2() {
JobCoreConfiguration simpleCoreConfig = JobCoreConfiguration.newBuilder(propertiesUtil.getPropertyAsString("SALESPLATFORM_JOB_NAME"), propertiesUtil.getPropertyAsString("SALESPLATFORM_JOB_CRON"), propertiesUtil.getPropertyAsInt("SHARDING_TOTAL_COUNT")).build();
SimpleJobConfiguration simpleJobConfig = new SimpleJobConfiguration(simpleCoreConfig, SalesPlatformJob.class.getCanonicalName());
LiteJobConfiguration simpleJobRootConfig = LiteJobConfiguration.newBuilder(simpleJobConfig).build();
return simpleJobRootConfig;
}
private static JobEventConfiguration createJobEventConfiguration() {
JobEventConfiguration jobEventRdbConfig = new JobEventRdbConfiguration(setUpEventTraceDataSource());
return jobEventRdbConfig;
......
package com.bailuntec.domain;
import com.alibaba.fastjson.annotation.JSONField;
import lombok.Data;
import java.time.LocalDateTime;
@Data
public class FinanceSalesplatformInfo {
/**
*
* This field was generated by MyBatis Generator.
* This field corresponds to the database column dc_base_finance_salesplatform.id
*
* @mbg.generated
*/
@JSONField(name = "localId")
private Integer id;
/**
*
* This field was generated by MyBatis Generator.
* This field corresponds to the database column dc_base_finance_salesplatform.type
*
* @mbg.generated
*/
private Integer type;
/**
*
* This field was generated by MyBatis Generator.
* This field corresponds to the database column dc_base_finance_salesplatform.parent_id
*
* @mbg.generated
*/
private Integer parentId;
/**
*
* This field was generated by MyBatis Generator.
* This field corresponds to the database column dc_base_finance_salesplatform.english_name
*
* @mbg.generated
*/
private String englishName;
/**
*
* This field was generated by MyBatis Generator.
* This field corresponds to the database column dc_base_finance_salesplatform.china_name
*
* @mbg.generated
*/
private String chinaName;
/**
*
* This field was generated by MyBatis Generator.
* This field corresponds to the database column dc_base_finance_salesplatform.code
*
* @mbg.generated
*/
private String code;
/**
*
* This field was generated by MyBatis Generator.
* This field corresponds to the database column dc_base_finance_salesplatform.status
*
* @mbg.generated
*/
private Integer status;
/**
*
* This field was generated by MyBatis Generator.
* This field corresponds to the database column dc_base_finance_salesplatform.create_name
*
* @mbg.generated
*/
private String createName;
/**
*
* This field was generated by MyBatis Generator.
* This field corresponds to the database column dc_base_finance_salesplatform.create_time
*
* @mbg.generated
*/
private LocalDateTime createTime;
/**
*
* This field was generated by MyBatis Generator.
* This field corresponds to the database column dc_base_finance_salesplatform.update_name
*
* @mbg.generated
*/
private String updateName;
/**
*
* This field was generated by MyBatis Generator.
* This field corresponds to the database column dc_base_finance_salesplatform.update_time
*
* @mbg.generated
*/
private LocalDateTime updateTime;
/**
*
* This field was generated by MyBatis Generator.
* This field corresponds to the database column dc_base_finance_salesplatform.old_id
*
* @mbg.generated
*/
private Integer oldId;
/**
*
* This field was generated by MyBatis Generator.
* This field corresponds to the database column dc_base_finance_salesplatform.platform_id
*
* @mbg.generated
*/
@JSONField(name = "id")
private Integer platformId;
}
\ No newline at end of file
......@@ -71,11 +71,14 @@ public class CashWithdrawDetail extends PointJob {
BigDecimal exchangeRate = CallBailunSystem.getExchangeRate((dcBaseFinanceCashierdetail.getToCurrencyName() == null ? "CNY" : dcBaseFinanceCashierdetail.getToCurrencyName()), "CNY", LocalDateTime.now());
dcBaseFinanceCashierdetail.setOtherToCnyExchangeRate(exchangeRate);
dcBaseFinanceCashierdetail.setOtherToCnyMoney(exchangeRate.multiply(dcBaseFinanceCashierdetail.getDaozhangMoney() == null ? BigDecimal.ZERO : dcBaseFinanceCashierdetail.getDaozhangMoney()));
dcBaseFinanceCashierdetailMapper.upsertSelective(dcBaseFinanceCashierdetail);
} catch (Exception e) {
log.error(dcBaseFinanceCashierdetail.toString());
throw new RuntimeException(e);
}finally {
SessionUtil.closeSession();
}
dcBaseFinanceCashierdetailMapper.upsertSelective(dcBaseFinanceCashierdetail);
}
} else {
log.warn("请求结果:" + palResultStr + "请求参数:" + map.toString());
......
......@@ -60,13 +60,15 @@ public class CashierJob extends PointJob {
if (dcBaseFinanceCashierInfoList != null && dcBaseFinanceCashierInfoList.size() > 0) {
DcBaseFinanceCashier dcBaseFinanceCashier = new DcBaseFinanceCashier();
for(DcBaseFinanceCashierInfo dcBaseFinanceCashierInfo : dcBaseFinanceCashierInfoList) {
DcBaseFinanceCashierMapper dcBaseFinanceCashierMapper = SessionUtil.getSession().getMapper(DcBaseFinanceCashierMapper.class);
try {
DcBaseFinanceCashierMapper dcBaseFinanceCashierMapper = SessionUtil.getSession().getMapper(DcBaseFinanceCashierMapper.class);
BeanUtils.copyProperties(dcBaseFinanceCashier, dcBaseFinanceCashierInfo);
dcBaseFinanceCashierMapper.upsertSelective(dcBaseFinanceCashier);
} catch (Exception e) {
throw new RuntimeException("BeanUtils.copyProperties失败");
}finally {
SessionUtil.closeSession();
}
dcBaseFinanceCashierMapper.upsertSelective(dcBaseFinanceCashier);
}
} else {
log.warn("请求结果:" + palResultStr + "请求参数:" + map.toString());
......
package com.bailuntec.job;
import com.alibaba.fastjson.JSON;
import com.alibaba.fastjson.TypeReference;
import com.bailuntec.domain.FinanceSalesplatformInfo;
import com.bailuntec.domain.WithdrawInfo;
import com.bailuntec.domain.constant.CommonConstant;
import com.bailuntec.domain.entity.DcBaseFinanceCashierdetail;
import com.bailuntec.domain.entity.DcBaseFinanceSalesplatform;
import com.bailuntec.domain.entity.JobPointLog;
import com.bailuntec.mapper.DcBaseFinanceCashierdetailMapper;
import com.bailuntec.mapper.DcBaseFinanceSalesplatformMapper;
import com.bailuntec.support.CallBailunSystem;
import com.bailuntec.support.PointJob;
import com.bailuntec.utils.OkHttpUtil;
import com.bailuntec.utils.PropertiesUtil;
import com.bailuntec.utils.SessionUtil;
import com.dangdang.ddframe.job.api.ShardingContext;
import lombok.extern.slf4j.Slf4j;
import okhttp3.OkHttpClient;
import okhttp3.Request;
import okhttp3.Response;
import org.apache.commons.beanutils.BeanUtils;
import org.apache.commons.lang3.StringUtils;
import java.io.IOException;
import java.math.BigDecimal;
import java.time.LocalDateTime;
import java.time.format.DateTimeFormatter;
import java.util.LinkedHashMap;
import java.util.List;
@Slf4j
public class SalesPlatformJob extends PointJob {
private OkHttpClient okHttpClient = OkHttpUtil.getInstance();
private PropertiesUtil propertiesUtil = PropertiesUtil.getInstance("const");
@Override
public void executeJob(ShardingContext shardingContext, JobPointLog jobPointLog) {
Response response = null;
String palResultStr = null;
try {
Request request = new Request.Builder()
.get()
.url(propertiesUtil.getPropertyAsString("SALES_PLATFORM"))
.addHeader("Content-Type", "application/json")
.build();
response = okHttpClient.newCall(request).execute();
palResultStr = response.body().string();
} catch (IOException e) {
throw new RuntimeException("请求销售平台同步百伦接口失败" + response, e);
} finally {
if (response != null) {
response.close();
}
}
if (StringUtils.isNoneBlank(palResultStr)) {
List<FinanceSalesplatformInfo> salesplatformInfos = JSON.parseObject(palResultStr, new TypeReference<List<FinanceSalesplatformInfo>>() {
});
if (salesplatformInfos != null && salesplatformInfos.size() > 0) {
for(FinanceSalesplatformInfo financeSalesplatformInfo : salesplatformInfos) {
try {
DcBaseFinanceSalesplatform dcBaseFinanceSalesplatform = new DcBaseFinanceSalesplatform();
DcBaseFinanceSalesplatformMapper dcBaseFinanceSalesplatformMapper = SessionUtil.getSession().getMapper(DcBaseFinanceSalesplatformMapper.class);
BeanUtils.copyProperties(dcBaseFinanceSalesplatform, financeSalesplatformInfo);
dcBaseFinanceSalesplatformMapper.upsertSelective(dcBaseFinanceSalesplatform);
} catch (Exception e) {
throw new RuntimeException("Mybatis操作DB失败", e);
}finally {
SessionUtil.closeSession();
}
}
}
} else {
throw new RuntimeException("调用销售平台接口同步百伦流水失败, 响应为null, 请求参数");
}
}
}
CASHIER_URL=http://cw.bailuntec.com/API/API/GetCashiers
WITHDRAW_DETAIL=http://cw.bailuntec.com/API/API/GetWithdrawDetailPages
SALES_PLATFORM=http://www.bailuntec.com/api/PlatformSite/GetPlatform
......@@ -13,4 +13,6 @@ JOB_NAME=base-sync-cashier
JOB_CRON=0/1 * * * * ? *
WITHDRAW_JOB_NAME=base_sync-withdraw
WITHDRAW_JOB_CRON=0/1 * * * * ? *
SALESPLATFORM_JOB_NAME=base-sync-salesplatform
SALESPLATFORM_JOB_CRON=0 0 0 1,15 * ? *
SHARDING_TOTAL_COUNT=1
\ No newline at end of file
package com.bailuntec.domain.entity;
import lombok.Data;
import java.time.LocalDateTime;
@Data
public class DcBaseFinanceSalesplatform {
/**
*
* This field was generated by MyBatis Generator.
* This field corresponds to the database column dc_base_finance_salesplatform.id
*
* @mbg.generated
*/
private Integer id;
/**
*
* This field was generated by MyBatis Generator.
* This field corresponds to the database column dc_base_finance_salesplatform.type
*
* @mbg.generated
*/
private Integer type;
/**
*
* This field was generated by MyBatis Generator.
* This field corresponds to the database column dc_base_finance_salesplatform.parent_id
*
* @mbg.generated
*/
private Integer parentId;
/**
*
* This field was generated by MyBatis Generator.
* This field corresponds to the database column dc_base_finance_salesplatform.english_name
*
* @mbg.generated
*/
private String englishName;
/**
*
* This field was generated by MyBatis Generator.
* This field corresponds to the database column dc_base_finance_salesplatform.china_name
*
* @mbg.generated
*/
private String chinaName;
/**
*
* This field was generated by MyBatis Generator.
* This field corresponds to the database column dc_base_finance_salesplatform.code
*
* @mbg.generated
*/
private String code;
/**
*
* This field was generated by MyBatis Generator.
* This field corresponds to the database column dc_base_finance_salesplatform.status
*
* @mbg.generated
*/
private Integer status;
/**
*
* This field was generated by MyBatis Generator.
* This field corresponds to the database column dc_base_finance_salesplatform.create_name
*
* @mbg.generated
*/
private String createName;
/**
*
* This field was generated by MyBatis Generator.
* This field corresponds to the database column dc_base_finance_salesplatform.create_time
*
* @mbg.generated
*/
private LocalDateTime createTime;
/**
*
* This field was generated by MyBatis Generator.
* This field corresponds to the database column dc_base_finance_salesplatform.update_name
*
* @mbg.generated
*/
private String updateName;
/**
*
* This field was generated by MyBatis Generator.
* This field corresponds to the database column dc_base_finance_salesplatform.update_time
*
* @mbg.generated
*/
private LocalDateTime updateTime;
/**
*
* This field was generated by MyBatis Generator.
* This field corresponds to the database column dc_base_finance_salesplatform.old_id
*
* @mbg.generated
*/
private Integer oldId;
/**
*
* This field was generated by MyBatis Generator.
* This field corresponds to the database column dc_base_finance_salesplatform.platform_id
*
* @mbg.generated
*/
private Integer platformId;
/**
* This method was generated by MyBatis Generator.
* This method corresponds to the database table dc_base_finance_salesplatform
*
* @mbg.generated
*/
@Override
public String toString() {
StringBuilder sb = new StringBuilder();
sb.append(getClass().getSimpleName());
sb.append(" [");
sb.append("Hash = ").append(hashCode());
sb.append(", id=").append(id);
sb.append(", type=").append(type);
sb.append(", parentId=").append(parentId);
sb.append(", englishName=").append(englishName);
sb.append(", chinaName=").append(chinaName);
sb.append(", code=").append(code);
sb.append(", status=").append(status);
sb.append(", createName=").append(createName);
sb.append(", createTime=").append(createTime);
sb.append(", updateName=").append(updateName);
sb.append(", updateTime=").append(updateTime);
sb.append(", oldId=").append(oldId);
sb.append(", platformId=").append(platformId);
sb.append("]");
return sb.toString();
}
/**
* This method was generated by MyBatis Generator.
* This method corresponds to the database table dc_base_finance_salesplatform
*
* @mbg.generated
*/
@Override
public boolean equals(Object that) {
if (this == that) {
return true;
}
if (that == null) {
return false;
}
if (getClass() != that.getClass()) {
return false;
}
DcBaseFinanceSalesplatform other = (DcBaseFinanceSalesplatform) that;
return (this.getId() == null ? other.getId() == null : this.getId().equals(other.getId()))
&& (this.getType() == null ? other.getType() == null : this.getType().equals(other.getType()))
&& (this.getParentId() == null ? other.getParentId() == null : this.getParentId().equals(other.getParentId()))
&& (this.getEnglishName() == null ? other.getEnglishName() == null : this.getEnglishName().equals(other.getEnglishName()))
&& (this.getChinaName() == null ? other.getChinaName() == null : this.getChinaName().equals(other.getChinaName()))
&& (this.getCode() == null ? other.getCode() == null : this.getCode().equals(other.getCode()))
&& (this.getStatus() == null ? other.getStatus() == null : this.getStatus().equals(other.getStatus()))
&& (this.getCreateName() == null ? other.getCreateName() == null : this.getCreateName().equals(other.getCreateName()))
&& (this.getCreateTime() == null ? other.getCreateTime() == null : this.getCreateTime().equals(other.getCreateTime()))
&& (this.getUpdateName() == null ? other.getUpdateName() == null : this.getUpdateName().equals(other.getUpdateName()))
&& (this.getUpdateTime() == null ? other.getUpdateTime() == null : this.getUpdateTime().equals(other.getUpdateTime()))
&& (this.getOldId() == null ? other.getOldId() == null : this.getOldId().equals(other.getOldId()))
&& (this.getPlatformId() == null ? other.getPlatformId() == null : this.getPlatformId().equals(other.getPlatformId()));
}
/**
* This method was generated by MyBatis Generator.
* This method corresponds to the database table dc_base_finance_salesplatform
*
* @mbg.generated
*/
@Override
public int hashCode() {
final int prime = 31;
int result = 1;
result = prime * result + ((getId() == null) ? 0 : getId().hashCode());
result = prime * result + ((getType() == null) ? 0 : getType().hashCode());
result = prime * result + ((getParentId() == null) ? 0 : getParentId().hashCode());
result = prime * result + ((getEnglishName() == null) ? 0 : getEnglishName().hashCode());
result = prime * result + ((getChinaName() == null) ? 0 : getChinaName().hashCode());
result = prime * result + ((getCode() == null) ? 0 : getCode().hashCode());
result = prime * result + ((getStatus() == null) ? 0 : getStatus().hashCode());
result = prime * result + ((getCreateName() == null) ? 0 : getCreateName().hashCode());
result = prime * result + ((getCreateTime() == null) ? 0 : getCreateTime().hashCode());
result = prime * result + ((getUpdateName() == null) ? 0 : getUpdateName().hashCode());
result = prime * result + ((getUpdateTime() == null) ? 0 : getUpdateTime().hashCode());
result = prime * result + ((getOldId() == null) ? 0 : getOldId().hashCode());
result = prime * result + ((getPlatformId() == null) ? 0 : getPlatformId().hashCode());
return result;
}
}
\ No newline at end of file
package com.bailuntec.mapper;
import com.bailuntec.domain.entity.DcBaseFinanceSalesplatform;
import com.bailuntec.domain.example.DcBaseFinanceSalesplatformExample;
import org.apache.ibatis.annotations.Param;
import java.util.List;
public interface DcBaseFinanceSalesplatformMapper {
/**
* This method was generated by MyBatis Generator.
* This method corresponds to the database table dc_base_finance_salesplatform
*
* @mbg.generated
*/
long countByExample(DcBaseFinanceSalesplatformExample example);
/**
* This method was generated by MyBatis Generator.
* This method corresponds to the database table dc_base_finance_salesplatform
*
* @mbg.generated
*/
int deleteByExample(DcBaseFinanceSalesplatformExample example);
/**
* This method was generated by MyBatis Generator.
* This method corresponds to the database table dc_base_finance_salesplatform
*
* @mbg.generated
*/
int deleteByPrimaryKey(Integer id);
/**
* This method was generated by MyBatis Generator.
* This method corresponds to the database table dc_base_finance_salesplatform
*
* @mbg.generated
*/
int insert(DcBaseFinanceSalesplatform record);
/**
* This method was generated by MyBatis Generator.
* This method corresponds to the database table dc_base_finance_salesplatform
*
* @mbg.generated
*/
int insertSelective(DcBaseFinanceSalesplatform record);
/**
* This method was generated by MyBatis Generator.
* This method corresponds to the database table dc_base_finance_salesplatform
*
* @mbg.generated
* @project https://github.com/itfsw/mybatis-generator-plugin
*/
DcBaseFinanceSalesplatform selectOneByExample(DcBaseFinanceSalesplatformExample example);
/**
* This method was generated by MyBatis Generator.
* This method corresponds to the database table dc_base_finance_salesplatform
*
* @mbg.generated
*/
List<DcBaseFinanceSalesplatform> selectByExample(DcBaseFinanceSalesplatformExample example);
/**
* This method was generated by MyBatis Generator.
* This method corresponds to the database table dc_base_finance_salesplatform
*
* @mbg.generated
*/
DcBaseFinanceSalesplatform selectByPrimaryKey(Integer id);
/**
* This method was generated by MyBatis Generator.
* This method corresponds to the database table dc_base_finance_salesplatform
*
* @mbg.generated
*/
int updateByExampleSelective(@Param("record") DcBaseFinanceSalesplatform record, @Param("example") DcBaseFinanceSalesplatformExample example);
/**
* This method was generated by MyBatis Generator.
* This method corresponds to the database table dc_base_finance_salesplatform
*
* @mbg.generated
*/
int updateByExample(@Param("record") DcBaseFinanceSalesplatform record, @Param("example") DcBaseFinanceSalesplatformExample example);
/**
* This method was generated by MyBatis Generator.
* This method corresponds to the database table dc_base_finance_salesplatform
*
* @mbg.generated
*/
int updateByPrimaryKeySelective(DcBaseFinanceSalesplatform record);
/**
* This method was generated by MyBatis Generator.
* This method corresponds to the database table dc_base_finance_salesplatform
*
* @mbg.generated
*/
int updateByPrimaryKey(DcBaseFinanceSalesplatform record);
/**
* This method was generated by MyBatis Generator.
* This method corresponds to the database table dc_base_finance_salesplatform
*
* @mbg.generated
* @project https://github.com/itfsw/mybatis-generator-plugin
*/
int upsert(DcBaseFinanceSalesplatform record);
/**
* This method was generated by MyBatis Generator.
* This method corresponds to the database table dc_base_finance_salesplatform
*
* @mbg.generated
* @project https://github.com/itfsw/mybatis-generator-plugin
*/
int upsertSelective(DcBaseFinanceSalesplatform record);
}
\ No newline at end of file
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment