Commit 1c7c98b6 by yinyong

Merge remote-tracking branch 'origin/master'

parents 9a23ee2b 62873ac2
......@@ -3,6 +3,7 @@ package com.bailuntec;
import com.alibaba.druid.pool.DruidDataSource;
import com.bailuntec.job.FeeJob;
import com.bailuntec.job.LogisticsJob;
import com.bailuntec.job.ManageCostJob;
import com.bailuntec.utils.PropertiesUtil;
import com.dangdang.ddframe.job.config.JobCoreConfiguration;
import com.dangdang.ddframe.job.config.simple.SimpleJobConfiguration;
......@@ -26,6 +27,7 @@ public class Application {
public static void main(String[] args) {
new JobScheduler(createRegistryCenter(), createJobConfiguration(),createJobEventConfiguration()).init();
new JobScheduler(createRegistryCenter(), createJobConfiguration1(),createJobEventConfiguration()).init();
new JobScheduler(createRegistryCenter(), createJobConfiguration2(), createJobEventConfiguration()).init();
}
private static CoordinatorRegistryCenter createRegistryCenter() {
......@@ -48,6 +50,13 @@ public class Application {
return simpleJobRootConfig;
}
private static LiteJobConfiguration createJobConfiguration2() {
JobCoreConfiguration simpleCoreConfig = JobCoreConfiguration.newBuilder(propertiesUtil.getPropertyAsString("MANAGECOST_JOB_NAME"), propertiesUtil.getPropertyAsString("MANAGECOST_JOB_CRON"), propertiesUtil.getPropertyAsInt("SHARDING_TOTAL_COUNT")).build();
SimpleJobConfiguration simpleJobConfig = new SimpleJobConfiguration(simpleCoreConfig, ManageCostJob.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.bailuntec.domain.entity.DcBaseFinanceManagecost;
import lombok.Data;
import java.util.List;
@Data
public class ManageCostInfo {
private List<DcBaseFinanceManagecost> data;
private boolean success;
}
package com.bailuntec.job;
import com.alibaba.fastjson.JSON;
import com.bailuntec.domain.ManageCostInfo;
import com.bailuntec.domain.constant.CommonConstant;
import com.bailuntec.domain.entity.DcBaseFinanceManagecost;
import com.bailuntec.domain.entity.JobPointLog;
import com.bailuntec.domain.example.DcBaseFinanceManagecostExample;
import com.bailuntec.mapper.DcBaseFinanceManagecostMapper;
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.lang3.StringUtils;
import java.io.IOException;
import java.time.LocalDateTime;
import java.time.format.DateTimeFormatter;
import java.util.LinkedHashMap;
import java.util.List;
@Slf4j
public class ManageCostJob extends PointJob {
private OkHttpClient okHttpClient = OkHttpUtil.getInstance();
private PropertiesUtil propertiesUtil = PropertiesUtil.getInstance("const");
@Override
public void executeJob(ShardingContext shardingContext, JobPointLog jobPointLog) {
LinkedHashMap<String, String> map = new LinkedHashMap<>(4);
map.put("o", "0");
map.put("startDate", DateTimeFormatter.ofPattern(CommonConstant.TIME_FORMAT).format(jobPointLog.getStartTime().minusHours(3L)));
map.put("endDate", DateTimeFormatter.ofPattern(CommonConstant.TIME_FORMAT).format(jobPointLog.getEndTime()));
Response response = null;
String palResultStr = null;
try {
Request request = new Request.Builder()
.get()
.url(OkHttpUtil.attachHttpGetParams(propertiesUtil.getPropertyAsString("MANAGECOST_URL"), map))
.addHeader("Content-Type", "application/json")
.build();
response = okHttpClient.newCall(request).execute();
palResultStr = response.body().string();
} catch (IOException e) {
throw new RuntimeException(map + "请求管理成本接口同步百伦接口失败" + response, e);
} finally {
if (response != null) {
response.close();
}
}
if (StringUtils.isNoneBlank(palResultStr)) {
ManageCostInfo manageCostInfo = JSON.parseObject(palResultStr, ManageCostInfo.class);
if (manageCostInfo != null && manageCostInfo.isSuccess() && manageCostInfo.getData().size() > 0) {
List<DcBaseFinanceManagecost> dcBaseFinanceManagecostList = manageCostInfo.getData();
for(DcBaseFinanceManagecost dcBaseFinanceManagecost : dcBaseFinanceManagecostList) {
try {
DcBaseFinanceManagecostMapper dcBaseFinanceManagecostMapper = SessionUtil.getSession().getMapper(DcBaseFinanceManagecostMapper.class);
dcBaseFinanceManagecost.setGmtModifyTime(LocalDateTime.now());
int result = dcBaseFinanceManagecostMapper.updateByExampleSelective(dcBaseFinanceManagecost, DcBaseFinanceManagecostExample.newAndCreateCriteria().andNoEqualTo(dcBaseFinanceManagecost.getNo()).example());
if(result == 0) {
dcBaseFinanceManagecost.setGmtModifyTime(null);
dcBaseFinanceManagecostMapper.insertSelective(dcBaseFinanceManagecost);
}
} catch (Exception e) {
log.warn("Mybatis 操作失败!", e);
throw new RuntimeException("MyBatis 操作失败!");
}finally {
SessionUtil.closeSession();
}
}
}
} else {
throw new RuntimeException("调用管理成本接口同步百伦流水失败, 响应为null, 请求参数" + map.toString());
}
jobPointLog.setPageIndex(0);
jobPointLog.setStartTime(jobPointLog.getEndTime());
jobPointLog.setEndTime(jobPointLog.getEndTime().plusDays(jobPointLog.getIntervalTime()).isAfter(LocalDateTime.now()) ? LocalDateTime.now() : jobPointLog.getEndTime().plusDays(jobPointLog.getIntervalTime()));
}
}
FEE_URL=http://api.fee.bailuntec.com/fee/api/cost/api/getCostList
LOGISTICS_URL=http://api.fee.bailuntec.com/fee/api/cost/api/logisticsCostList
MANAGECOST_URL=http://api.fee.bailuntec.com/purchase/other/cost/api/manageCostList
......@@ -13,4 +13,6 @@ JOB_NAME=base-sync-finance-fee
JOB_CRON=0/1 * * * * ? *
LOGISTICS_JOB_NAME=base-sync-logistics
LOGISTICS_JOB_CRON=0 0 0 1,15 * ? *
MANAGECOST_JOB_NAME=base-sync-managecost
MANAGECOST_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.math.BigDecimal;
import java.time.LocalDateTime;
@Data
public class DcBaseFinanceManagecost {
/**
*
* This field was generated by MyBatis Generator.
* This field corresponds to the database column dc_base_finance_managecost.id
*
* @mbg.generated
*/
private Integer id;
/**
*
* This field was generated by MyBatis Generator.
* This field corresponds to the database column dc_base_finance_managecost.no
*
* @mbg.generated
*/
private String no;
/**
*
* This field was generated by MyBatis Generator.
* This field corresponds to the database column dc_base_finance_managecost.receive_unit
*
* @mbg.generated
*/
private String receiveUnit;
/**
*
* This field was generated by MyBatis Generator.
* This field corresponds to the database column dc_base_finance_managecost.reason
*
* @mbg.generated
*/
private String reason;
/**
*
* This field was generated by MyBatis Generator.
* This field corresponds to the database column dc_base_finance_managecost.pay_time
*
* @mbg.generated
*/
private LocalDateTime payTime;
/**
*
* This field was generated by MyBatis Generator.
* This field corresponds to the database column dc_base_finance_managecost.manage_cost_type
*
* @mbg.generated
*/
private Integer manageCostType;
/**
*
* This field was generated by MyBatis Generator.
* This field corresponds to the database column dc_base_finance_managecost.department_name
*
* @mbg.generated
*/
private String departmentName;
/**
*
* This field was generated by MyBatis Generator.
* This field corresponds to the database column dc_base_finance_managecost.company_value
*
* @mbg.generated
*/
private Integer companyValue;
/**
*
* This field was generated by MyBatis Generator.
* This field corresponds to the database column dc_base_finance_managecost.company_name
*
* @mbg.generated
*/
private String companyName;
/**
*
* This field was generated by MyBatis Generator.
* This field corresponds to the database column dc_base_finance_managecost.fee_super_type
*
* @mbg.generated
*/
private String feeSuperType;
/**
*
* This field was generated by MyBatis Generator.
* This field corresponds to the database column dc_base_finance_managecost.fee_sub_type
*
* @mbg.generated
*/
private String feeSubType;
/**
*
* This field was generated by MyBatis Generator.
* This field corresponds to the database column dc_base_finance_managecost.amount
*
* @mbg.generated
*/
private BigDecimal amount;
/**
*
* This field was generated by MyBatis Generator.
* This field corresponds to the database column dc_base_finance_managecost.currency
*
* @mbg.generated
*/
private String currency;
/**
*
* This field was generated by MyBatis Generator.
* This field corresponds to the database column dc_base_finance_managecost.amount_rmb
*
* @mbg.generated
*/
private BigDecimal amountRmb;
/**
*
* This field was generated by MyBatis Generator.
* This field corresponds to the database column dc_base_finance_managecost.gmt_create_time
*
* @mbg.generated
*/
private LocalDateTime gmtCreateTime;
/**
*
* This field was generated by MyBatis Generator.
* This field corresponds to the database column dc_base_finance_managecost.gmt_modify_time
*
* @mbg.generated
*/
private LocalDateTime gmtModifyTime;
/**
* This method was generated by MyBatis Generator.
* This method corresponds to the database table dc_base_finance_managecost
*
* @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(", no=").append(no);
sb.append(", receiveUnit=").append(receiveUnit);
sb.append(", reason=").append(reason);
sb.append(", payTime=").append(payTime);
sb.append(", manageCostType=").append(manageCostType);
sb.append(", departmentName=").append(departmentName);
sb.append(", companyValue=").append(companyValue);
sb.append(", companyName=").append(companyName);
sb.append(", feeSuperType=").append(feeSuperType);
sb.append(", feeSubType=").append(feeSubType);
sb.append(", amount=").append(amount);
sb.append(", currency=").append(currency);
sb.append(", amountRmb=").append(amountRmb);
sb.append(", gmtCreateTime=").append(gmtCreateTime);
sb.append(", gmtModifyTime=").append(gmtModifyTime);
sb.append("]");
return sb.toString();
}
/**
* This method was generated by MyBatis Generator.
* This method corresponds to the database table dc_base_finance_managecost
*
* @mbg.generated
*/
@Override
public boolean equals(Object that) {
if (this == that) {
return true;
}
if (that == null) {
return false;
}
if (getClass() != that.getClass()) {
return false;
}
DcBaseFinanceManagecost other = (DcBaseFinanceManagecost) that;
return (this.getId() == null ? other.getId() == null : this.getId().equals(other.getId()))
&& (this.getNo() == null ? other.getNo() == null : this.getNo().equals(other.getNo()))
&& (this.getReceiveUnit() == null ? other.getReceiveUnit() == null : this.getReceiveUnit().equals(other.getReceiveUnit()))
&& (this.getReason() == null ? other.getReason() == null : this.getReason().equals(other.getReason()))
&& (this.getPayTime() == null ? other.getPayTime() == null : this.getPayTime().equals(other.getPayTime()))
&& (this.getManageCostType() == null ? other.getManageCostType() == null : this.getManageCostType().equals(other.getManageCostType()))
&& (this.getDepartmentName() == null ? other.getDepartmentName() == null : this.getDepartmentName().equals(other.getDepartmentName()))
&& (this.getCompanyValue() == null ? other.getCompanyValue() == null : this.getCompanyValue().equals(other.getCompanyValue()))
&& (this.getCompanyName() == null ? other.getCompanyName() == null : this.getCompanyName().equals(other.getCompanyName()))
&& (this.getFeeSuperType() == null ? other.getFeeSuperType() == null : this.getFeeSuperType().equals(other.getFeeSuperType()))
&& (this.getFeeSubType() == null ? other.getFeeSubType() == null : this.getFeeSubType().equals(other.getFeeSubType()))
&& (this.getAmount() == null ? other.getAmount() == null : this.getAmount().equals(other.getAmount()))
&& (this.getCurrency() == null ? other.getCurrency() == null : this.getCurrency().equals(other.getCurrency()))
&& (this.getAmountRmb() == null ? other.getAmountRmb() == null : this.getAmountRmb().equals(other.getAmountRmb()))
&& (this.getGmtCreateTime() == null ? other.getGmtCreateTime() == null : this.getGmtCreateTime().equals(other.getGmtCreateTime()))
&& (this.getGmtModifyTime() == null ? other.getGmtModifyTime() == null : this.getGmtModifyTime().equals(other.getGmtModifyTime()));
}
/**
* This method was generated by MyBatis Generator.
* This method corresponds to the database table dc_base_finance_managecost
*
* @mbg.generated
*/
@Override
public int hashCode() {
final int prime = 31;
int result = 1;
result = prime * result + ((getId() == null) ? 0 : getId().hashCode());
result = prime * result + ((getNo() == null) ? 0 : getNo().hashCode());
result = prime * result + ((getReceiveUnit() == null) ? 0 : getReceiveUnit().hashCode());
result = prime * result + ((getReason() == null) ? 0 : getReason().hashCode());
result = prime * result + ((getPayTime() == null) ? 0 : getPayTime().hashCode());
result = prime * result + ((getManageCostType() == null) ? 0 : getManageCostType().hashCode());
result = prime * result + ((getDepartmentName() == null) ? 0 : getDepartmentName().hashCode());
result = prime * result + ((getCompanyValue() == null) ? 0 : getCompanyValue().hashCode());
result = prime * result + ((getCompanyName() == null) ? 0 : getCompanyName().hashCode());
result = prime * result + ((getFeeSuperType() == null) ? 0 : getFeeSuperType().hashCode());
result = prime * result + ((getFeeSubType() == null) ? 0 : getFeeSubType().hashCode());
result = prime * result + ((getAmount() == null) ? 0 : getAmount().hashCode());
result = prime * result + ((getCurrency() == null) ? 0 : getCurrency().hashCode());
result = prime * result + ((getAmountRmb() == null) ? 0 : getAmountRmb().hashCode());
result = prime * result + ((getGmtCreateTime() == null) ? 0 : getGmtCreateTime().hashCode());
result = prime * result + ((getGmtModifyTime() == null) ? 0 : getGmtModifyTime().hashCode());
return result;
}
}
\ No newline at end of file
package com.bailuntec.mapper;
import com.bailuntec.domain.entity.DcBaseFinanceManagecost;
import com.bailuntec.domain.example.DcBaseFinanceManagecostExample;
import org.apache.ibatis.annotations.Param;
import java.util.List;
public interface DcBaseFinanceManagecostMapper {
/**
* This method was generated by MyBatis Generator.
* This method corresponds to the database table dc_base_finance_managecost
*
* @mbg.generated
*/
long countByExample(DcBaseFinanceManagecostExample example);
/**
* This method was generated by MyBatis Generator.
* This method corresponds to the database table dc_base_finance_managecost
*
* @mbg.generated
*/
int deleteByExample(DcBaseFinanceManagecostExample example);
/**
* This method was generated by MyBatis Generator.
* This method corresponds to the database table dc_base_finance_managecost
*
* @mbg.generated
*/
int deleteByPrimaryKey(Integer id);
/**
* This method was generated by MyBatis Generator.
* This method corresponds to the database table dc_base_finance_managecost
*
* @mbg.generated
*/
int insert(DcBaseFinanceManagecost record);
/**
* This method was generated by MyBatis Generator.
* This method corresponds to the database table dc_base_finance_managecost
*
* @mbg.generated
*/
int insertSelective(DcBaseFinanceManagecost record);
/**
* This method was generated by MyBatis Generator.
* This method corresponds to the database table dc_base_finance_managecost
*
* @mbg.generated
* @project https://github.com/itfsw/mybatis-generator-plugin
*/
DcBaseFinanceManagecost selectOneByExample(DcBaseFinanceManagecostExample example);
/**
* This method was generated by MyBatis Generator.
* This method corresponds to the database table dc_base_finance_managecost
*
* @mbg.generated
*/
List<DcBaseFinanceManagecost> selectByExample(DcBaseFinanceManagecostExample example);
/**
* This method was generated by MyBatis Generator.
* This method corresponds to the database table dc_base_finance_managecost
*
* @mbg.generated
*/
DcBaseFinanceManagecost selectByPrimaryKey(Integer id);
/**
* This method was generated by MyBatis Generator.
* This method corresponds to the database table dc_base_finance_managecost
*
* @mbg.generated
*/
int updateByExampleSelective(@Param("record") DcBaseFinanceManagecost record, @Param("example") DcBaseFinanceManagecostExample example);
/**
* This method was generated by MyBatis Generator.
* This method corresponds to the database table dc_base_finance_managecost
*
* @mbg.generated
*/
int updateByExample(@Param("record") DcBaseFinanceManagecost record, @Param("example") DcBaseFinanceManagecostExample example);
/**
* This method was generated by MyBatis Generator.
* This method corresponds to the database table dc_base_finance_managecost
*
* @mbg.generated
*/
int updateByPrimaryKeySelective(DcBaseFinanceManagecost record);
/**
* This method was generated by MyBatis Generator.
* This method corresponds to the database table dc_base_finance_managecost
*
* @mbg.generated
*/
int updateByPrimaryKey(DcBaseFinanceManagecost record);
/**
* This method was generated by MyBatis Generator.
* This method corresponds to the database table dc_base_finance_managecost
*
* @mbg.generated
* @project https://github.com/itfsw/mybatis-generator-plugin
*/
int upsert(DcBaseFinanceManagecost record);
/**
* This method was generated by MyBatis Generator.
* This method corresponds to the database table dc_base_finance_managecost
*
* @mbg.generated
* @project https://github.com/itfsw/mybatis-generator-plugin
*/
int upsertSelective(DcBaseFinanceManagecost 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