|
|
@@ -3,8 +3,10 @@ package com.uas.eis.serviceImpl;
|
|
|
|
|
|
import com.taobao.api.DefaultTaobaoClient;
|
|
|
import com.taobao.api.TaobaoClient;
|
|
|
+import com.taobao.api.domain.Trade;
|
|
|
import com.uas.eis.dao.BaseDao;
|
|
|
import com.uas.eis.service.InsertService;
|
|
|
+import net.sf.json.JSON;
|
|
|
import net.sf.json.JSONArray;
|
|
|
import net.sf.json.JSONObject;
|
|
|
import org.apache.log4j.Logger;
|
|
|
@@ -24,12 +26,12 @@ import com.taobao.api.response.TradesSoldGetResponse;
|
|
|
@Service
|
|
|
public class InsertServiceImpl implements InsertService {
|
|
|
// TOP服务地址,正式环境需要设置为http://gw.api.taobao.com/router/rest
|
|
|
- private static final String serverUrl = "gw.api.taobao.com/router/rest";
|
|
|
+ public static final String serverUrl = "gw.api.taobao.com/router/rest";
|
|
|
// private static final String serverUrl = "http://gw.api.tbsandbox.com/router/rest";
|
|
|
- private static final String appKey = "31921866"; // 可替换为您的沙箱环境应用的appKey /* 待修改 */
|
|
|
- private static final String appSecret = "7121c52d4c9970ba08bf09e2f525acd0"; // 可替换为您的沙箱环境应用的appSecret /* 待修改 */
|
|
|
- private static final String sessionKey = "test"; // 必须替换为沙箱账号授权得到的真实有效sessionKey /* 待修改 */
|
|
|
- private static Logger logger = Logger.getLogger(InsertServiceImpl.class);
|
|
|
+ public static final String appKey = "31921866"; // 可替换为您的沙箱环境应用的appKey /* 待修改 */
|
|
|
+ public static final String appSecret = "7121c52d4c9970ba08bf09e2f525acd0"; // 可替换为您的沙箱环境应用的appSecret /* 待修改 */
|
|
|
+ public static final String sessionKey = "31921866"; // 必须替换为沙箱账号授权得到的真实有效sessionKey /* 待修改 */
|
|
|
+ public static Logger logger = Logger.getLogger(InsertServiceImpl.class);
|
|
|
|
|
|
@Autowired
|
|
|
private BaseDao baseDao;
|
|
|
@@ -37,99 +39,102 @@ public class InsertServiceImpl implements InsertService {
|
|
|
@Override
|
|
|
public String Insert(String code, String param) {
|
|
|
|
|
|
- try {
|
|
|
|
|
|
- Timer timer = new Timer();//实例化Timer类
|
|
|
- timer.schedule(new TimerTask() {
|
|
|
- public void run() {
|
|
|
+ try {
|
|
|
|
|
|
+ Timer timer = new Timer();//实例化Timer类
|
|
|
+ timer.schedule(new TimerTask() {
|
|
|
+ public void run() {
|
|
|
+ getAllDate();
|
|
|
+ }
|
|
|
+ }, 600000);//10分钟
|
|
|
+ } catch (Exception e) {
|
|
|
+ logger.info(this.getClass() + "服务挂掉");
|
|
|
+ return e.getMessage();
|
|
|
+ }
|
|
|
+ return null;
|
|
|
+ }
|
|
|
|
|
|
- TaobaoClient client = new DefaultTaobaoClient(serverUrl, appKey, appSecret);
|
|
|
+ @Override
|
|
|
+ public void getAllDate(){
|
|
|
+ TaobaoClient client = new DefaultTaobaoClient(serverUrl, appKey, appSecret);
|
|
|
|
|
|
- // 查询卖家已卖出的交易数据
|
|
|
- TradesSoldGetRequest req = new TradesSoldGetRequest();
|
|
|
+ // 查询卖家已卖出的交易数据
|
|
|
+ TradesSoldGetRequest req = new TradesSoldGetRequest();
|
|
|
// OpenTradesSoldGetRequest req = new OpenTradesSoldGetRequest();
|
|
|
- req.setFields("tid,type,status,payment,orders,rx_audit_status");
|
|
|
-
|
|
|
- //String sysdate = DateUtil.getCurrentDate();
|
|
|
- //req.setStartCreated(StringUtils.parseDateTime(sysdate));
|
|
|
- //req.setStartCreated(StringUtils.parseDateTime("2000-01-01 00:00:00"));
|
|
|
- //req.setEndCreated(StringUtils.parseDateTime("2000-01-01 23:59:59"));
|
|
|
- //交易成功
|
|
|
- req.setStatus("TRADE_FINISHED");
|
|
|
+ req.setFields("tid,type,status,payment,orders,rx_audit_status");
|
|
|
+
|
|
|
+ //String sysdate = DateUtil.getCurrentDate();
|
|
|
+ //req.setStartCreated(StringUtils.parseDateTime(sysdate));
|
|
|
+ //req.setStartCreated(StringUtils.parseDateTime("2000-01-01 00:00:00"));
|
|
|
+ //req.setEndCreated(StringUtils.parseDateTime("2000-01-01 23:59:59"));
|
|
|
+ //交易成功
|
|
|
+ req.setStatus("TRADE_FINISHED");
|
|
|
// req.setBuyerNick("zhangsan");
|
|
|
// req.setType("game_equipment");
|
|
|
- req.setExtType("service");
|
|
|
+ req.setExtType("service");
|
|
|
// req.setRateStatus("RATE_UNBUYER");
|
|
|
// req.setTag("time_card");
|
|
|
// req.setPageNo(1L);
|
|
|
// req.setPageSize(40L);
|
|
|
- req.setUseHasNext(true);
|
|
|
- req.setBuyerOpenId("AAHm5d-EAAeGwJedwSHpg8bT");
|
|
|
+ req.setUseHasNext(true);
|
|
|
+ req.setBuyerOpenId("AAHm5d-EAAeGwJedwSHpg8bT");
|
|
|
// OpenTradesSoldGetResponse rsp = client.execute(req, sessionKey);
|
|
|
|
|
|
- try {
|
|
|
- TradesSoldGetResponse rsp = client.execute(req, sessionKey);
|
|
|
+ try {
|
|
|
+ TradesSoldGetResponse rsp = client.execute(req, sessionKey);
|
|
|
|
|
|
- System.out.println(rsp.getBody());
|
|
|
- List<String> insertSqlsList = new ArrayList<String>();
|
|
|
- //这里解析返回的数据
|
|
|
+ System.out.println(rsp.getBody());
|
|
|
+ List<String> insertSqlsList = new ArrayList<String>();
|
|
|
+ //这里解析返回的数据
|
|
|
|
|
|
- rsp.getTrades();
|
|
|
+ List<Trade> trades = rsp.getTrades();
|
|
|
|
|
|
|
|
|
// //解析第一层---对象
|
|
|
-// JSONObject jObject1 = new JSONObject(rsp.getBody());
|
|
|
- //解析第二层----数组
|
|
|
- JSONArray jsonArray2 = jObject1.getJSONArray("trades");
|
|
|
- //遍历数组获取元素----对象
|
|
|
- if (jsonArray2.size() == 0) {
|
|
|
- logger.info(this.getClass() + " 未录入淘宝订单");
|
|
|
- } else {
|
|
|
- for (int i = 0; i < jsonArray2.size(); i++) {
|
|
|
- //解析第三层----对象
|
|
|
- JSONObject jObject3 = jsonArray2.getJSONObject(i);
|
|
|
- /* 插入淘宝订单ID sa_tradeid 字段 alter table sale add sa_tradeid number; */
|
|
|
- Long sa_tradeid = baseDao.queryForObject("select sa_tradeid from sale where sa_tradeid =" + jObject3.getInt("tid"), Long.class);
|
|
|
- /* 存在未 插入的淘宝订单 时 执行 插入操作 */
|
|
|
- while (sa_tradeid == null) {
|
|
|
- Long said = baseDao.queryForObject("select sale_seq.nextval from dual", Long.class);
|
|
|
-
|
|
|
-
|
|
|
- String sa_code = baseDao.sGetMaxNumber("Sale", 2);
|
|
|
-
|
|
|
- String INSERTSALESql = "insert into sale(sa_id,sa_tradeid,sa_code,sa_date,sa_recorddate,sa_custname,sa_currency,sa_rate" +
|
|
|
- ",sa_apcustname,sa_shcustname,sa_toplace" +
|
|
|
- ",sa_transport,sa_seller,sa_updatedate" +
|
|
|
- ",sa_enddate,sa_statuscode,sa_status,sa_fare,sa_total" +
|
|
|
- ",sa_recamount,sa_plandelivery,sa_printstatuscode)" +
|
|
|
- "values(" + said + "," + jObject3.getInt("tid") + "," + sa_code + "+to_date(" + jObject3.getString("start_created") + ",'yyyy-MM-dd hh:mm:ss'),sysdate" + jObject3.getString("receiver_name") + ",'rmb','1',"
|
|
|
- + jObject3.getString("receiver_name") + "," + jObject3.getString("receiver_name") + "," + jObject3.getString("receiver_address") + ","
|
|
|
- + jObject3.getString("shipping_type") + "," + jObject3.getString("o2o_guide_name") + "," + jObject3.getString("modified")
|
|
|
- + "," + jObject3.getString("end_time") + ",'entering','在录入'," + jObject3.getInt("post_fee") + "," + jObject3.getInt("payment") + ","
|
|
|
- + jObject3.getInt("total_fee") + "," + jObject3.getString("consign_time") + ",'unprint')";
|
|
|
- insertSqlsList.add(INSERTSALESql);
|
|
|
- String INSERTSALEDETAILSql = "insert into saledetail(sd_said,sd_detno,sd_qty,sd_delivery,sd_price,sd_total,sd_taxrate,sd_costprice" +
|
|
|
- ",sd_taxtotal,sd_description,sd_statuscode,sd_status,sd_enddate,sd_senddate,sd_discount)" +
|
|
|
- "values (" + said + ",?," + jObject3.getInt("num") + "," + jObject3.getInt("price") + " ," + jObject3.getInt("total_fee") + " ,?," + jObject3.getInt("price") + " /(1+" + jObject3.getInt("sd_taxrate") + " /100)" +
|
|
|
- ",price/(1+" + jObject3.getInt("total_fee") + "/100),customization,'entering','在录入',end_time,consign_time," + jObject3.getInt("discount_fee") + " )";
|
|
|
- insertSqlsList.add(INSERTSALEDETAILSql);
|
|
|
- }
|
|
|
- }
|
|
|
- baseDao.execute(insertSqlsList);
|
|
|
- logger.info(this.getClass() + "插入销售明细成功");
|
|
|
- }
|
|
|
-
|
|
|
- }catch (Exception e) {
|
|
|
- logger.info(this.getClass() + "淘宝未响应并返回订单数据");
|
|
|
- return ;
|
|
|
+ //JSONObject jObject1 = new JSONObject(rsp.getBody());
|
|
|
+ //解析第二层----数组
|
|
|
+ JSONArray jsonArray2 = JSONArray.fromObject(trades);
|
|
|
+ //JSONArray jsonArray2 = jObject1.getJSONArray();
|
|
|
+ //遍历数组获取元素----对象
|
|
|
+ if (jsonArray2.size() == 0) {
|
|
|
+ logger.info(this.getClass() + " 未录入淘宝订单");
|
|
|
+ } else {
|
|
|
+ for (int i = 0; i < jsonArray2.size(); i++) {
|
|
|
+ //解析第三层----对象
|
|
|
+ JSONObject jObject3 = jsonArray2.getJSONObject(i);
|
|
|
+ /* 插入淘宝订单ID sa_tradeid 字段 alter table sale add sa_tradeid number; */
|
|
|
+ Long sa_tradeid = baseDao.queryForObject("select sa_tradeid from sale where sa_tradeid =" + jObject3.getInt("tid"), Long.class);
|
|
|
+ /* 存在未 插入的淘宝订单 时 执行 插入操作 */
|
|
|
+ while (sa_tradeid == null) {
|
|
|
+ Long said = baseDao.queryForObject("select sale_seq.nextval from dual", Long.class);
|
|
|
+
|
|
|
+
|
|
|
+ String sa_code = baseDao.sGetMaxNumber("Sale", 2);
|
|
|
+
|
|
|
+ String INSERTSALESql = "insert into sale(sa_id,sa_tradeid,sa_code,sa_date,sa_recorddate,sa_custname,sa_currency,sa_rate" +
|
|
|
+ ",sa_apcustname,sa_shcustname,sa_toplace" +
|
|
|
+ ",sa_transport,sa_seller,sa_updatedate" +
|
|
|
+ ",sa_enddate,sa_statuscode,sa_status,sa_fare,sa_total" +
|
|
|
+ ",sa_recamount,sa_plandelivery,sa_printstatuscode)" +
|
|
|
+ "values(" + said + "," + jObject3.getInt("tid") + "," + sa_code + "+to_date(" + jObject3.getString("start_created") + ",'yyyy-MM-dd hh:mm:ss'),sysdate" + jObject3.getString("receiver_name") + ",'rmb','1',"
|
|
|
+ + jObject3.getString("receiver_name") + "," + jObject3.getString("receiver_name") + "," + jObject3.getString("receiver_address") + ","
|
|
|
+ + jObject3.getString("shipping_type") + "," + jObject3.getString("o2o_guide_name") + "," + jObject3.getString("modified")
|
|
|
+ + "," + jObject3.getString("end_time") + ",'entering','在录入'," + jObject3.getInt("post_fee") + "," + jObject3.getInt("payment") + ","
|
|
|
+ + jObject3.getInt("total_fee") + "," + jObject3.getString("consign_time") + ",'unprint')";
|
|
|
+ insertSqlsList.add(INSERTSALESql);
|
|
|
+ String INSERTSALEDETAILSql = "insert into saledetail(sd_said,sd_detno,sd_qty,sd_delivery,sd_price,sd_total,sd_taxrate,sd_costprice" +
|
|
|
+ ",sd_taxtotal,sd_description,sd_statuscode,sd_status,sd_enddate,sd_senddate,sd_discount)" +
|
|
|
+ "values (" + said + ",?," + jObject3.getInt("num") + "," + jObject3.getInt("price") + " ," + jObject3.getInt("total_fee") + " ,?," + jObject3.getInt("price") + " /(1+" + jObject3.getInt("sd_taxrate") + " /100)" +
|
|
|
+ ",price/(1+" + jObject3.getInt("total_fee") + "/100),customization,'entering','在录入',end_time,consign_time," + jObject3.getInt("discount_fee") + " )";
|
|
|
+ insertSqlsList.add(INSERTSALEDETAILSql);
|
|
|
}
|
|
|
}
|
|
|
- }, 600000);//10分钟
|
|
|
+ baseDao.execute(insertSqlsList);
|
|
|
+ logger.info(this.getClass() + "插入销售明细成功");
|
|
|
+ }
|
|
|
} catch (Exception e) {
|
|
|
- logger.info(this.getClass() + "服务挂掉");
|
|
|
- return e.getMessage();
|
|
|
+ logger.info(this.getClass() + "淘宝未响应并返回订单数据");
|
|
|
}
|
|
|
-
|
|
|
}
|
|
|
}
|