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

金融服务删除以前的方法,采用最新的方法

hejq 8 лет назад
Родитель
Сommit
90e98fcf13
21 измененных файлов с 20 добавлено и 713 удалено
  1. 1 1
      src/main/java/com/uas/erp/schedular/finance/domain/AccountInfo.java
  2. 1 1
      src/main/java/com/uas/erp/schedular/finance/domain/Apply.java
  3. 1 1
      src/main/java/com/uas/erp/schedular/finance/domain/ApplyInfo.java
  4. 1 1
      src/main/java/com/uas/erp/schedular/finance/domain/AssociateCompanyInfo.java
  5. 1 1
      src/main/java/com/uas/erp/schedular/finance/domain/Attach.java
  6. 1 1
      src/main/java/com/uas/erp/schedular/finance/domain/BusinessConditionInfo.java
  7. 1 1
      src/main/java/com/uas/erp/schedular/finance/domain/ChangesInstructionInfo.java
  8. 1 1
      src/main/java/com/uas/erp/schedular/finance/domain/CustInfo.java
  9. 1 1
      src/main/java/com/uas/erp/schedular/finance/domain/CustomerExcutiveInfo.java
  10. 1 1
      src/main/java/com/uas/erp/schedular/finance/domain/CustomerInfo.java
  11. 1 1
      src/main/java/com/uas/erp/schedular/finance/domain/FinanceConditionInfo.java
  12. 0 233
      src/main/java/com/uas/erp/schedular/finance/domain/FinancingApply.java
  13. 1 1
      src/main/java/com/uas/erp/schedular/finance/domain/ProductMixInfo.java
  14. 1 1
      src/main/java/com/uas/erp/schedular/finance/domain/PurcCustInfo.java
  15. 1 1
      src/main/java/com/uas/erp/schedular/finance/domain/ShareholdersInfo.java
  16. 1 1
      src/main/java/com/uas/erp/schedular/finance/domain/UpdowncastInfo.java
  17. 1 1
      src/main/java/com/uas/erp/schedular/finance/task/AbstractTask.java
  18. 2 2
      src/main/java/com/uas/erp/schedular/finance/task/ApplyInfoTask.java
  19. 0 131
      src/main/java/com/uas/erp/schedular/finance/task/FinancingApplyTask.java
  20. 0 324
      src/main/java/com/uas/erp/schedular/financeservice/task/AbstractTask.java
  21. 2 7
      src/test/java/com/uas/erp/test/ConnectToFinanceTest.java

+ 1 - 1
src/main/java/com/uas/erp/schedular/financeservice/domain/AccountInfo.java → src/main/java/com/uas/erp/schedular/finance/domain/AccountInfo.java

@@ -1,4 +1,4 @@
-package com.uas.erp.schedular.financeservice.domain;
+package com.uas.erp.schedular.finance.domain;
 
 /**
  * created by shicr on 2017/12/20

+ 1 - 1
src/main/java/com/uas/erp/schedular/financeservice/domain/Apply.java → src/main/java/com/uas/erp/schedular/finance/domain/Apply.java

@@ -1,4 +1,4 @@
-package com.uas.erp.schedular.financeservice.domain;
+package com.uas.erp.schedular.finance.domain;
 
 import java.io.Serializable;
 import java.util.List;

+ 1 - 1
src/main/java/com/uas/erp/schedular/financeservice/domain/ApplyInfo.java → src/main/java/com/uas/erp/schedular/finance/domain/ApplyInfo.java

@@ -1,4 +1,4 @@
-package com.uas.erp.schedular.financeservice.domain;
+package com.uas.erp.schedular.finance.domain;
 
 import java.io.Serializable;
 

+ 1 - 1
src/main/java/com/uas/erp/schedular/financeservice/domain/AssociateCompanyInfo.java → src/main/java/com/uas/erp/schedular/finance/domain/AssociateCompanyInfo.java

@@ -1,4 +1,4 @@
-package com.uas.erp.schedular.financeservice.domain;
+package com.uas.erp.schedular.finance.domain;
 
 
 /**

+ 1 - 1
src/main/java/com/uas/erp/schedular/financeservice/domain/Attach.java → src/main/java/com/uas/erp/schedular/finance/domain/Attach.java

@@ -1,4 +1,4 @@
-package com.uas.erp.schedular.financeservice.domain;
+package com.uas.erp.schedular.finance.domain;
 
 
 import javax.persistence.*;

+ 1 - 1
src/main/java/com/uas/erp/schedular/financeservice/domain/BusinessConditionInfo.java → src/main/java/com/uas/erp/schedular/finance/domain/BusinessConditionInfo.java

@@ -1,4 +1,4 @@
-package com.uas.erp.schedular.financeservice.domain;
+package com.uas.erp.schedular.finance.domain;
 
 /**
  * created by shicr on 2017/12/20

+ 1 - 1
src/main/java/com/uas/erp/schedular/financeservice/domain/ChangesInstructionInfo.java → src/main/java/com/uas/erp/schedular/finance/domain/ChangesInstructionInfo.java

@@ -1,4 +1,4 @@
-package com.uas.erp.schedular.financeservice.domain;
+package com.uas.erp.schedular.finance.domain;
 
 /**
  * 变更内容

+ 1 - 1
src/main/java/com/uas/erp/schedular/financeservice/domain/CustInfo.java → src/main/java/com/uas/erp/schedular/finance/domain/CustInfo.java

@@ -1,4 +1,4 @@
-package com.uas.erp.schedular.financeservice.domain;
+package com.uas.erp.schedular.finance.domain;
 
 import java.util.List;
 

+ 1 - 1
src/main/java/com/uas/erp/schedular/financeservice/domain/CustomerExcutiveInfo.java → src/main/java/com/uas/erp/schedular/finance/domain/CustomerExcutiveInfo.java

@@ -1,4 +1,4 @@
-package com.uas.erp.schedular.financeservice.domain;
+package com.uas.erp.schedular.finance.domain;
 
 /**
  * created by shicr on 2017/12/20

+ 1 - 1
src/main/java/com/uas/erp/schedular/financeservice/domain/CustomerInfo.java → src/main/java/com/uas/erp/schedular/finance/domain/CustomerInfo.java

@@ -1,4 +1,4 @@
-package com.uas.erp.schedular.financeservice.domain;
+package com.uas.erp.schedular.finance.domain;
 
 /**
  * created by shicr on 2017/12/26

+ 1 - 1
src/main/java/com/uas/erp/schedular/financeservice/domain/FinanceConditionInfo.java → src/main/java/com/uas/erp/schedular/finance/domain/FinanceConditionInfo.java

@@ -1,4 +1,4 @@
-package com.uas.erp.schedular.financeservice.domain;
+package com.uas.erp.schedular.finance.domain;
 
 /**
  * created by shicr on 2017/12/20

+ 0 - 233
src/main/java/com/uas/erp/schedular/finance/domain/FinancingApply.java

@@ -1,233 +0,0 @@
-package com.uas.erp.schedular.finance.domain;
-
-import com.uas.erp.schedular.b2b.domain.KeyEntity;
-import com.uas.erp.schedular.core.Constant;
-import com.uas.erp.schedular.util.DateUtil;
-import com.uas.erp.schedular.util.NumberUtil;
-import com.uas.erp.schedular.util.StringUtil;
-
-import java.util.Date;
-
-/**
- * 金融服务申请数据
- * 
- * @author hejq
- * @time 创建时间:2017年11月24日
- */
-public class FinancingApply extends KeyEntity {
-	
-	/**
-	 * ID
-	 */
-	private Long fa_id;
-	
-	/**
-	 * 企业名称
-	 */
-	private String fa_enname;
-
-	/**
-	 * 联系人
-	 */
-	private String fa_contact;
-
-	/**
-	 * 联系电话(座机)
-	 */
-	private String fa_telphone;
-	
-	/**
-	 * 联系电话(手机)
-	 */
-	private String fa_phone;
-	
-	/**
-	 * 申请金额
-	 */
-	private Long fa_appamount;
-	
-	/**
-	 * 申请人
-	 */
-	private String fa_applyman;
-	
-	/**
-	 * 申请日期
-	 */
-	private Date fa_applydate;
-	
-	/**
-	 * 申请得分
-	 */
-	private Double fa_score;
-	
-	/**
-	 * 融资申请单号
-	 */
-	private String fa_busincode;
-	
-	/**
-	 * 保理公司名称
-	 */
-	private String fa_facorpname;
-	
-	/**
-	 * 保理公司
-	 */
-	private String fa_facorpcode;
-	
-	/**
-	 * 金融項目裡面的id
-	 */
-	private Long fa_finid;
-	
-	private Integer fa_hasErp;
-
-	public Long getFa_id() {
-		return fa_id;
-		
-	}
-
-	public void setFa_id(Long fa_id) {
-		this.fa_id = fa_id;
-	}
-
-	public String getFa_enname() {
-		return fa_enname;
-	}
-
-	public void setFa_enname(String fa_enname) {
-		this.fa_enname = fa_enname;
-	}
-
-	public String getFa_contact() {
-		return fa_contact;
-	}
-
-	public void setFa_contact(String fa_contact) {
-		this.fa_contact = fa_contact;
-	}
-
-	public String getFa_telphone() {
-		return fa_telphone;
-	}
-
-	public void setFa_telphone(String fa_telphone) {
-		this.fa_telphone = fa_telphone;
-	}
-
-	public String getFa_phone() {
-		return fa_phone;
-	}
-
-	public void setFa_phone(String fa_phone) {
-		this.fa_phone = fa_phone;
-	}
-
-	public Long getFa_appamount() {
-		return fa_appamount;
-	}
-
-	public void setFa_appamount(Long fa_appamount) {
-		this.fa_appamount = fa_appamount;
-	}
-
-	public String getFa_applyman() {
-		return fa_applyman;
-	}
-
-	public void setFa_applyman(String fa_applyman) {
-		this.fa_applyman = fa_applyman;
-	}
-
-	public String getFa_applydate() {
-		return fa_applydate==null?null: DateUtil.format(fa_applydate, Constant.YMD_HMS);
-	}
-
-	public void setFa_applydate(Date fa_applydate) {
-		this.fa_applydate = fa_applydate;
-	}
-
-	public Double getFa_score() {
-		return fa_score;
-	}
-
-	public void setFa_score(Double fa_score) {
-		this.fa_score = fa_score;
-	}
-
-	public String getFa_busincode() {
-		return fa_busincode;
-	}
-
-	public void setFa_busincode(String fa_busincode) {
-		this.fa_busincode = fa_busincode;
-	}
-
-	public String getFa_facorpname() {
-		return fa_facorpname;
-	}
-
-	public void setFa_facorpname(String fa_facorpname) {
-		this.fa_facorpname = fa_facorpname;
-	}
-
-	public String getFa_facorpcode() {
-		return fa_facorpcode;
-	}
-
-	public void setFa_facorpcode(String fa_facorpcode) {
-		this.fa_facorpcode = fa_facorpcode;
-	}
-
-	public Long getFa_finid() {
-		return fa_finid;
-	}
-
-	public void setFa_finid(Long fa_finid) {
-		this.fa_finid = fa_finid;
-	}
-
-	@Override
-	public Object getKey() {
-		return this.fa_id;
-	}
-
-	public Integer getFa_hasErp() {
-		return fa_hasErp;
-	}
-
-	public void setFa_hasErp(Integer fa_hasErp) {
-		this.fa_hasErp = fa_hasErp;
-	}
-
-	public String toSqlString(int primaryKey) {
-		return "insert into financingapply (fa_id,fa_enname,fa_contact,fa_telphone,fa_phone,fa_appamount,fa_applyman,fa_applydate,fa_score,fa_busincode,fa_facorpname,fa_facorpcode,fa_finid) values ("
-				+ primaryKey
-				+ ",'"
-				+ StringUtil.nvl(fa_enname, "")
-				+ "', '"
-				+ StringUtil.nvl(fa_contact, "")
-				+ "', '"
-				+ StringUtil.nvl(fa_telphone, "")
-				+ "','"
-				+ StringUtil.nvl(fa_phone, "")
-				+ "', "
-				+ NumberUtil.nvl(fa_appamount, 0)
-				+ ", '"
-				+  StringUtil.nvl(fa_applyman, "")
-				+ "', "
-				+ DateUtil.parseDateToOracleString(null, fa_applydate)
-				+ ", "
-				+ fa_score
-				+ ", '"
-				+ fa_busincode
-				+ "', '"
-				+ fa_facorpname
-				+ "', '"
-				+ fa_facorpcode
-				+ "', "
-				+ fa_finid
-				+ ")";
-	}
-}

+ 1 - 1
src/main/java/com/uas/erp/schedular/financeservice/domain/ProductMixInfo.java → src/main/java/com/uas/erp/schedular/finance/domain/ProductMixInfo.java

@@ -1,4 +1,4 @@
-package com.uas.erp.schedular.financeservice.domain;
+package com.uas.erp.schedular.finance.domain;
 
 /**
  * created by shicr on 2017/12/20

+ 1 - 1
src/main/java/com/uas/erp/schedular/financeservice/domain/PurcCustInfo.java → src/main/java/com/uas/erp/schedular/finance/domain/PurcCustInfo.java

@@ -1,4 +1,4 @@
-package com.uas.erp.schedular.financeservice.domain;
+package com.uas.erp.schedular.finance.domain;
 
 /**
  * created by shicr on 2017/12/20

+ 1 - 1
src/main/java/com/uas/erp/schedular/financeservice/domain/ShareholdersInfo.java → src/main/java/com/uas/erp/schedular/finance/domain/ShareholdersInfo.java

@@ -1,4 +1,4 @@
-package com.uas.erp.schedular.financeservice.domain;
+package com.uas.erp.schedular.finance.domain;
 
 /**
  * 股东信息表

+ 1 - 1
src/main/java/com/uas/erp/schedular/financeservice/domain/UpdowncastInfo.java → src/main/java/com/uas/erp/schedular/finance/domain/UpdowncastInfo.java

@@ -1,4 +1,4 @@
-package com.uas.erp.schedular.financeservice.domain;
+package com.uas.erp.schedular.finance.domain;
 
 /**
  * 供应商客户

+ 1 - 1
src/main/java/com/uas/erp/schedular/finance/task/AbstractTask.java

@@ -56,7 +56,7 @@ public class AbstractTask extends AbstractAgent {
      * @return
      */
     private String getApiDomain() {
-        String key = "test".equals(ContextHolder.getMaster().getMa_env()) ? "api.finance.test.url" : "api.finance.url";
+        String key = "test".equals(ContextHolder.getMaster().getMa_env()) ? "api.finance.service.test.url" : "api.finance.service.url";
         return settingService.getValue(key);
     }
 

+ 2 - 2
src/main/java/com/uas/erp/schedular/financeservice/task/ApplyInfoTask.java → src/main/java/com/uas/erp/schedular/finance/task/ApplyInfoTask.java

@@ -1,7 +1,7 @@
-package com.uas.erp.schedular.financeservice.task;
+package com.uas.erp.schedular.finance.task;
 import com.alibaba.fastjson.JSONObject;
 import com.uas.api.crypto.util.FlexJsonUtils;
-import com.uas.erp.schedular.financeservice.domain.*;
+import com.uas.erp.schedular.finance.domain.*;
 import com.uas.erp.schedular.task.support.Method;
 import com.uas.erp.schedular.task.support.Role;
 import com.uas.erp.schedular.task.support.TaskMapping;

+ 0 - 131
src/main/java/com/uas/erp/schedular/finance/task/FinancingApplyTask.java

@@ -1,131 +0,0 @@
-package com.uas.erp.schedular.finance.task;
-
-import com.alibaba.fastjson.JSON;
-import com.uas.erp.schedular.finance.domain.FinancingApply;
-import com.uas.erp.schedular.task.support.Method;
-import com.uas.erp.schedular.task.support.Role;
-import com.uas.erp.schedular.task.support.TaskMapping;
-import com.uas.erp.schedular.util.CollectionUtil;
-import com.uas.erp.schedular.util.ContextHolder;
-import org.springframework.stereotype.Component;
-import org.springframework.ui.ModelMap;
-import org.springframework.util.CollectionUtils;
-
-import java.util.ArrayList;
-import java.util.HashMap;
-import java.util.List;
-import java.util.Map;
-
-/**
- * Created by Pro1 on 2017/8/4.
- */
-@Component
-@TaskMapping(title = "金融服务", role = Role.SELLER)
-public class FinancingApplyTask extends AbstractTask {
-
-    @TaskMapping(title = "申请企业从金融平台下载客户的申请数据", fixedDelay = 60000, method = Method.DOWNLOAD)
-    public void downloadFinance() {
-        List<FinancingApply> finances = getForList("/erp/down/loan/unload", FinancingApply.class);
-        if (!CollectionUtils.isEmpty(finances)) {
-            ContextHolder.setDataSize(finances.size());
-            saveFinanceDown(finances);
-            // TODO notice++
-            // 回执
-            onSaleDownSuccess(finances);
-        }
-    }
-
-    /**
-     * 保存financeDown
-     *
-     * @param finances
-     */
-    private void saveFinanceDown(List<FinancingApply> finances) {
-        List<String> sqls = new ArrayList<>();
-        List<Long> idList = new ArrayList<Long>();
-        for (FinancingApply fina : finances) {
-            int count = jdbcTemplate.count("from financingapply where fa_finid=?", fina.getFa_finid());
-            if (count == 0) {
-                int finaId = jdbcTemplate.generate("financingapply_seq");
-                idList.add(Long.valueOf(finaId));
-	            if (null != fina.getFa_facorpcode()) {
-		            String corpname =jdbcTemplate.getString("select fc_name from FINANCECORPORATION where fc_code = ?",String.class, fina.getFa_facorpcode());
-		            fina.setFa_facorpname(corpname);
-	            }
-	            String sql = fina.toSqlString(finaId);
-                sqls.add(sql);
-            }
-        }
-        if (sqls.size() > 0) {
-            jdbcTemplate.batchExecute(sqls);
-        }
-    }
-
-    /**
-     * FinancingApply,修改金融平台的申请订单为已下载
-     *
-     * @param finances
-     */
-    private void onSaleDownSuccess(List<FinancingApply> finances) {
-        String idStr = CollectionUtil.getKeyString(finances, new CollectionUtil.KeyIterator<FinancingApply>() {
-            @Override
-            public Object getKey(FinancingApply obj) {
-                return obj.getFa_finid();
-            }
-        });
-        post("/erp/down/loan/back", dataWrap(idStr));
-    }
-
-
-	@TaskMapping(title = "保理公司从金融平台下载已申请的数据", fixedDelay = 60000, method = Method.DOWNLOAD)
-	public void downloadFinanceInfo() {
-		List<FinancingApply> finances = getForList("/erp/loan/unload", FinancingApply.class);
-		if (!CollectionUtils.isEmpty(finances)) {
-			ContextHolder.setDataSize(finances.size());
-			saveFinanceInfoDown(finances);
-			// TODO notice++
-			// 回执
-			onFinanceInfoDownSuccess(finances);
-		}
-	}
-
-	/**
-	 * 保理公司保存下载的数据
-	 *
-	 * @param finances
-	 */
-	private void saveFinanceInfoDown(List<FinancingApply> finances) {
-    	if(!CollectionUtils.isEmpty(finances)) {
-		    for(FinancingApply fina : finances) {
-			    int count = jdbcTemplate.count("from CUSTOMERQUOTA where CQ_FINID=?", fina.getFa_finid());
-			    if(count == 0) {
-				    Map<String, Object> Apply = new HashMap<String,Object>();
-				    Apply.put("fa_enname", fina.getFa_enname());
-				    Apply.put("fa_contact", fina.getFa_contact());
-				    Apply.put("fa_applyman", fina.getFa_applyman());
-				    Apply.put("fa_applydate", fina.getFa_applydate());
-				    Apply.put("fa_appamount", fina.getFa_appamount());
-				    Apply.put("fa_hasErp", fina.getFa_hasErp());
-				    Apply.put("fa_finid", fina.getFa_finid());
-				    String url = "/openapi/applicant/assessFinancingApply.action";
-				    postForEntity(url, new ModelMap("FinancingApply", JSON.toJSONString(Apply)).addAttribute("isB2B", true));
-			    }
-		    }
-	    }
-	}
-
-	/**
-	 * 保理公司数据保存后,返回id更新下载状态
-	 *
-	 * @param finances
-	 */
-	private void onFinanceInfoDownSuccess(List<FinancingApply> finances) {
-		String idStr = CollectionUtil.getKeyString(finances, new CollectionUtil.KeyIterator<FinancingApply>() {
-			@Override
-			public Object getKey(FinancingApply obj) {
-				return obj.getFa_finid();
-			}
-		});
-		post("/erp/loan/back", dataWrap(idStr));
-	}
-}

+ 0 - 324
src/main/java/com/uas/erp/schedular/financeservice/task/AbstractTask.java

@@ -1,324 +0,0 @@
-package com.uas.erp.schedular.financeservice.task;
-
-import com.alibaba.fastjson.JSON;
-import com.uas.erp.schedular.agent.v1.AbstractAgent;
-import com.uas.erp.schedular.b2b.domain.Attach;
-import com.uas.erp.schedular.b2b.domain.KeyEntity;
-import com.uas.erp.schedular.b2b.domain.Prod;
-import com.uas.erp.schedular.core.Constant;
-import com.uas.erp.schedular.database.RestJdbcTemplate;
-import com.uas.erp.schedular.entity.Master;
-import com.uas.erp.schedular.service.SettingService;
-import com.uas.erp.schedular.util.CollectionUtil;
-import com.uas.erp.schedular.util.ContextHolder;
-import com.uas.erp.schedular.util.DateUtil;
-import com.uas.erp.schedular.util.HmacUtils;
-import org.slf4j.Logger;
-import org.slf4j.LoggerFactory;
-import org.springframework.beans.factory.annotation.Autowired;
-import org.springframework.http.HttpEntity;
-import org.springframework.http.HttpHeaders;
-import org.springframework.http.MediaType;
-import org.springframework.http.ResponseEntity;
-import org.springframework.util.CollectionUtils;
-import org.springframework.util.LinkedMultiValueMap;
-import org.springframework.util.MultiValueMap;
-import org.springframework.util.StringUtils;
-import org.springframework.web.client.RestTemplate;
-
-import java.io.UnsupportedEncodingException;
-import java.net.URI;
-import java.net.URLEncoder;
-import java.util.Date;
-import java.util.List;
-
-/**
- * Created by Pro1 on 2017/7/26.
- */
-public class AbstractTask extends AbstractAgent {
-
-    // 数据传输单次大小限制
-    protected static final int DATA_SIZE_LIMIT = 500;
-
-    @Autowired
-    private RestTemplate restTemplate;
-
-    @Autowired
-    protected RestJdbcTemplate jdbcTemplate;
-
-    @Autowired
-    protected SettingService settingService;
-
-    protected Logger logger = LoggerFactory.getLogger(this.getClass());
-
-    /**
-     * 按账套环境,使用不同接口地址
-     * @return
-     */
-    private String getApiDomain() {
-        String key = "test".equals(ContextHolder.getMaster().getMa_env()) ? "api.finance.service.test.url" : "api.finance.service.url";
-        return settingService.getValue(key);
-    }
-
-    /**
-     * UAS系统外网地址
-     * @return
-     */
-    private String getUASUrl() {
-        return settingService.getValue("api.uas.outer.url");
-    }
-
-    /**
-     * URI加身份签名
-     * @param url
-     * @param vars
-     * @return
-     */
-    private String getURI(String url, Object... vars) {
-        Master master = ContextHolder.getMaster();
-        if (null == master.getMa_uu() || StringUtils.isEmpty(master.getMa_accesssecret())) {
-            throw new RuntimeException("未设置企业UU和私钥");
-        }
-        StringBuffer accessUrl = new StringBuffer(url);
-        accessUrl.append(url.contains("?") ? "&" : "?");
-        // 身份ID
-        accessUrl.append("access_id=").append(master.getMa_uu());
-        // 时间戳
-        accessUrl.append("&_timestamp=").append(System.currentTimeMillis());
-        URI uri = restTemplate.getUriTemplateHandler().expand(getApiDomain() + accessUrl.toString(), vars);
-        url = uri.toString();
-        // 签名
-        return url + "&_signature=" + HmacUtils.encode(url, master.getMa_accesssecret());
-    }
-
-    protected <T> T getForObject(String url, Class<T> objectClass, Object... vars) {
-        return restTemplate.getForObject(getURI(url, vars), objectClass);
-    }
-
-    protected <T> List<T> getForList(String url, Class<T> objectClass, Object... vars) {
-        String resultStr = restTemplate.getForObject(getURI(url, vars), String.class);
-        return JSON.parseArray(resultStr, objectClass);
-    }
-
-    /**
-     * b2b当前版本的接口只支持以form-data方式提交,requestBody方式暂不支持
-     * @param url
-     * @param vars
-     */
-    protected void post(String url, MultiValueMap<String, String> vars) {
-        HttpHeaders headers = new HttpHeaders();
-        headers.setContentType(MediaType.APPLICATION_FORM_URLENCODED);
-        HttpEntity<MultiValueMap<String, String>> request = new HttpEntity<>(vars, headers);
-        restTemplate.postForLocation(getURI(url), request);
-    }
-
-    protected ResponseEntity postForEntity(String url, MultiValueMap<String, String> vars) {
-        HttpHeaders headers = new HttpHeaders();
-        headers.setContentType(MediaType.APPLICATION_FORM_URLENCODED);
-        HttpEntity<MultiValueMap<String, String>> request = new HttpEntity<>(vars, headers);
-        return restTemplate.postForEntity(getURI(url), request, String.class);
-    }
-
-    protected <T> List<T> postForList(String url, Class<T> objectClass, MultiValueMap<String, String> vars) {
-        ResponseEntity<String> resultEntity = postForEntity(url, vars);
-        return JSON.parseArray(resultEntity.getBody(), objectClass);
-    }
-
-    /**
-     * 封装成平台接口数据格式
-     * @param data
-     * @return
-     */
-    protected static MultiValueMap<String, String> dataWrap(Object data) {
-        MultiValueMap<String, String> map = new LinkedMultiValueMap<>();
-        String dataStr = null;
-        Class<?> cls = data.getClass();
-        if (cls.isAssignableFrom(String.class) || cls.isAssignableFrom(Number.class) ||
-                cls.isAssignableFrom(Character.class)) {
-            dataStr = data.toString();
-        } else {
-            dataStr = JSON.toJSONString(data);
-        }
-        try {
-            dataStr = URLEncoder.encode(dataStr, "UTF-8");
-        } catch (UnsupportedEncodingException e) {
-
-        }
-        map.set("data", dataStr);
-        return map;
-    }
-
-    /**
-     * 数据上传工具,封装了处理前、后置、错误处理方法
-     * @param <T>
-     */
-    protected abstract class AbstractHandler<T> {
-
-        private List<T> data;
-
-        public AbstractHandler(List<T> data) {
-            this.data = data;
-        }
-
-        /**
-         * onHandler方法前执行
-         */
-        protected void onBefore(){
-
-        }
-
-        protected abstract ResponseEntity onHandler(List<T> data);
-
-        /**
-         * onHandler方法执行成功后执行
-         */
-        protected void onSuccess(){
-
-        }
-
-        /**
-         * onHandler方法执行失败后执行
-         */
-        protected void onError(String message){
-            throw new RuntimeException(message);
-        }
-
-        /**
-         * 所有方法执行完成后执行
-         */
-        protected void onAfter(){
-
-        }
-
-        public void run() {
-            String errMsg = null;
-            onBefore();
-            try {
-                ResponseEntity response = onHandler(data);
-                if (!response.getStatusCode().is2xxSuccessful()) {
-                    errMsg = String.valueOf(response.getBody());
-                }
-            } catch (Exception e) {
-                errMsg = e.getMessage();
-            }
-            try {
-                if (null == errMsg) {
-                    onSuccess();
-                } else {
-                    onError(errMsg);
-                }
-            } finally {
-                onAfter();
-            }
-        }
-    }
-
-    /**
-     * POST方式处理工具
-     * @param <T>
-     */
-    protected class AbstractPostHandler<T> extends AbstractHandler<T> {
-        private String postUri;
-
-        public AbstractPostHandler(String postUri, List<T> data) {
-            super(data);
-            this.postUri = postUri;
-        }
-
-        @Override
-        protected ResponseEntity onHandler(List<T> data) {
-            return postForEntity(postUri, dataWrap(data));
-        }
-    }
-
-    /**
-     * 基于状态控制的处理工具
-     * @param <T>
-     */
-    protected abstract class AbstractStatusBasedHandler<T extends KeyEntity> extends AbstractPostHandler<T> {
-
-        private String idStr;
-        private String tableName;
-        private String idColumn;
-        private String statusColumn;
-
-        public AbstractStatusBasedHandler(String tableName, String idColumn, String statusColumn, String postUri, List<T> data) {
-            super(postUri, data);
-            this.idStr = CollectionUtil.getKeyString(data);
-            this.tableName = tableName;
-            this.idColumn = idColumn;
-            this.statusColumn = statusColumn;
-        }
-
-        @Override
-        protected void onBefore() {
-            jdbcTemplate.execute(String.format("update %s set %s='上传中' where %s in (%s)", tableName, statusColumn, idColumn, idStr));
-        }
-
-        @Override
-        protected void onSuccess() {
-            jdbcTemplate.execute(String.format("update %s set %s='已上传' where %s in (%s)", tableName, statusColumn, idColumn, idStr));
-        }
-
-        @Override
-        protected void onError(String message) {
-            jdbcTemplate.execute(String.format("update %s set %s='待上传' where %s in (%s) and %s='上传中'", tableName, statusColumn, idColumn, idStr, statusColumn));
-            super.onError(message);
-        }
-    }
-
-    /**
-     * 基于状态控制的处理工具
-     * @param <T>
-     */
-    protected class StatusBasedHandler<T extends KeyEntity> extends AbstractStatusBasedHandler<T> {
-
-        public StatusBasedHandler(String tableName, String idColumn, String statusColumn, String postUri, List<T> data) {
-            super(tableName, idColumn, statusColumn, postUri, data);
-        }
-    }
-
-    /**
-     * 处理物料上传的工具
-     */
-    protected final class ProductHandler extends StatusBasedHandler<Prod>{
-
-        public ProductHandler(List<Prod> data) {
-            super("product", "pr_id", "PR_SENDSTATUS", "/erp/product", data);
-        }
-    }
-
-    /**
-     * 查找附件
-     * @param attachIds 附件ID
-     * @return
-     */
-    protected List<Attach> getAttachs(String[] attachIds) {
-        String erpUrl = getUASUrl();
-        List<Attach> attaches = jdbcTemplate.queryForBeanList("select fp_id, fp_size, fp_name from filepath where fp_id in ("
-                + StringUtils.arrayToDelimitedString(attachIds, ",") + ")", Attach.class);
-        if (!CollectionUtils.isEmpty(attaches)) {
-            for (Attach attach : attaches) {
-                attach.setFp_url(erpUrl + Attach.DOWN_FILE_ACTION + attach.getFp_id());
-            }
-        }
-        return attaches;
-    }
-
-    /**
-     * 创建消息
-     *
-     * @param caller
-     * @param sourceIds
-     * @param type
-     */
-    protected void createMessage(String caller, String sourceIds, String type) {
-        Integer mid = jdbcTemplate.getInt("select max(mm_id) from MESSAGEMODEL left join MESSAGEROLE on mm_id=mr_mmid where MR_ISUSED=-1 AND MM_ISUSED=-1 and mm_caller=? and MM_OPERATE='b2b' AND MM_ACTION=?",
-                caller, type);
-        if (null != mid) {
-            jdbcTemplate.execute("{call SP_CREATEINFO(?,'ADMIN',?,?)}",
-                    mid, sourceIds, DateUtil.parseDateToOracleString(Constant.YMD_HMS, new Date()));
-        }
-    }
-
-}

+ 2 - 7
src/test/java/com/uas/erp/test/ConnectToFinanceTest.java

@@ -2,15 +2,10 @@ package com.uas.erp.test;
 
 import com.alibaba.fastjson.JSONObject;
 import com.uas.api.crypto.util.FlexJsonUtils;
-import com.uas.erp.schedular.UasSchedulingApplication;
 import com.uas.erp.schedular.entity.Master;
-import com.uas.erp.schedular.financeservice.domain.*;
-import com.uas.erp.schedular.financeservice.task.AbstractTask;
+import com.uas.erp.schedular.finance.domain.*;
+import com.uas.erp.schedular.finance.task.AbstractTask;
 import com.uas.erp.schedular.util.ContextHolder;
-import org.junit.Test;
-import org.junit.runner.RunWith;
-import org.springframework.boot.test.context.SpringBootTest;
-import org.springframework.test.context.junit4.SpringJUnit4ClassRunner;
 import org.springframework.ui.ModelMap;
 import org.springframework.util.CollectionUtils;