Browse Source

定制商城

huangct 8 years ago
parent
commit
6a51c0fe98

+ 29 - 0
src/main/java/com/uas/erp/schedular/diymall/DiymallConfiguration.java

@@ -0,0 +1,29 @@
+package com.uas.erp.schedular.diymall;
+
+import org.springframework.beans.factory.annotation.Qualifier;
+import org.springframework.boot.autoconfigure.jdbc.DataSourceBuilder;
+import org.springframework.boot.context.properties.ConfigurationProperties;
+import org.springframework.context.annotation.Bean;
+import org.springframework.context.annotation.Configuration;
+import org.springframework.jdbc.core.JdbcTemplate;
+
+import javax.sql.DataSource;
+
+/**
+ * Created by 黄诚天 on 2017-12-23.
+ */
+
+@Configuration
+public class DiymallConfiguration {
+
+    @Bean(name = "secondDatasource")
+    @ConfigurationProperties(prefix = "spring.diymall-datasource")
+    public DataSource secondDataSource() {
+        return DataSourceBuilder.create().build();
+    }
+
+    @Bean(name = "secondJdbcTemplate")
+    public JdbcTemplate secondJdbcTemplate(@Qualifier("secondDatasource") DataSource dataSource) {
+        return new JdbcTemplate(dataSource);
+    }
+}

+ 233 - 0
src/main/java/com/uas/erp/schedular/diymall/domain/Order.java

@@ -0,0 +1,233 @@
+package com.uas.erp.schedular.diymall.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 Order 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
+				+ ")";
+	}
+}

+ 87 - 0
src/main/java/com/uas/erp/schedular/diymall/task/DiymallApplyTask.java

@@ -0,0 +1,87 @@
+package com.uas.erp.schedular.diymall.task;
+
+import com.uas.erp.schedular.diymall.domain.Order;
+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.beans.factory.annotation.Autowired;
+import org.springframework.beans.factory.annotation.Qualifier;
+import org.springframework.jdbc.core.JdbcTemplate;
+import org.springframework.stereotype.Component;
+import org.springframework.util.CollectionUtils;
+
+import java.util.ArrayList;
+import java.util.List;
+
+/**
+ * Created by Pro1 on 2017/8/4.
+ */
+@Component
+@TaskMapping(title = "定制商城", role = Role.SELLER)
+public class DiymallApplyTask extends AbstractTask {
+
+    @Autowired
+    @Qualifier("secondJdbcTemplate")
+    JdbcTemplate secondJdbcTemplate;
+    
+    @TaskMapping(title = "供应商从定制商城下载客户的订单数据", fixedDelay = 60000, method = Method.DOWNLOAD)
+    public void downloadDiymallOrder() {
+		//TODO 获取定制商城订单
+        List<Order> orders = getForList("/erp/down/loan/unload", Order.class);
+        if (!CollectionUtils.isEmpty(orders)) {
+            ContextHolder.setDataSize(orders.size());
+            saveFinanceDown(orders);
+            // TODO notice++
+            // 回执
+            onSaleDownSuccess(orders);
+        }
+    }
+
+    /**
+     * 保存financeDown
+     *
+     * @param orders
+     */
+    private void saveFinanceDown(List<Order> orders) {
+        List<String> sqls = new ArrayList<>();
+        List<Long> idList = new ArrayList<Long>();
+        for (Order order : orders) {
+			//判断之前是否保存过
+            int count = jdbcTemplate.count("from financingapply where fa_finid=?", order.getFa_finid());
+            if (count == 0) {
+				//生成id
+                int orderId = jdbcTemplate.generate("financingapply_seq");
+                idList.add(Long.valueOf(orderId));
+				//???
+	            if (null != order.getFa_facorpcode()) {
+		            String corpname =jdbcTemplate.getString("select fc_name from FINANCECORPORATION where fc_code = ?",String.class, order.getFa_facorpcode());
+					order.setFa_facorpname(corpname);
+	            }
+	            String sql = order.toSqlString(orderId);
+                sqls.add(sql);
+            }
+        }
+        if (sqls.size() > 0) {
+            jdbcTemplate.batchExecute(sqls);
+        }
+    }
+
+    /**
+     * Order,修改金融平台的申请订单为已下载
+     *
+     * @param orders
+     */
+    private void onSaleDownSuccess(List<Order> orders) {
+        String idStr = CollectionUtil.getKeyString(orders, new CollectionUtil.KeyIterator<Order>() {
+            @Override
+            public Object getKey(Order obj) {
+                return obj.getFa_finid();
+            }
+        });
+
+		//TODO 更新定制商城上传状态
+        //post("/erp/down/loan/back", dataWrap(idStr));
+    }
+}

+ 5 - 0
src/main/resources/application.yml

@@ -20,6 +20,11 @@ spring:
   datasource:
     driverClassName: org.h2.Driver
     url: jdbc:h2:mem:uas
+  diymall-datasource:
+    driver-class-name: org.hsqldb.jdbc.JDBCDriver
+    url: jdbc:hsqldb:mem:db2
+    username: sa
+    password:
   profiles:
     active: dev
 ---