Commit f4c63706 authored by Allen Chen's avatar Allen Chen

commit

parent fec0f3da
...@@ -2,10 +2,14 @@ package org.ta.pddserver.mapper; ...@@ -2,10 +2,14 @@ package org.ta.pddserver.mapper;
import com.baomidou.mybatisplus.core.mapper.BaseMapper; import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import org.apache.ibatis.annotations.Mapper; import org.apache.ibatis.annotations.Mapper;
import org.apache.ibatis.annotations.Select;
import org.ta.pddserver.entity.GDTicketEntity; import org.ta.pddserver.entity.GDTicketEntity;
import java.util.List; import java.util.List;
@Mapper @Mapper
public interface GDTicketMapper extends BaseMapper<GDTicketEntity> { public interface GDTicketMapper extends BaseMapper<GDTicketEntity> {
@Select("SELECT * FROM `gd_ticket` WHERE `ticket_id` = #{ticketId};")
GDTicketEntity findByTicketId(Long ticketId);
} }
...@@ -5,7 +5,8 @@ import lombok.Data; ...@@ -5,7 +5,8 @@ import lombok.Data;
import java.io.Serializable; import java.io.Serializable;
import java.util.List; import java.util.List;
public class GDTicketRepsonse { @Data
public class GDTicketRepsonse implements Serializable {
private static final long serialVersionUID = 1L; private static final long serialVersionUID = 1L;
/** /**
......
...@@ -11,4 +11,7 @@ import org.ta.pddserver.service.GDTicketService; ...@@ -11,4 +11,7 @@ import org.ta.pddserver.service.GDTicketService;
public class GDTicketImpl extends ServiceImpl<GDTicketMapper, GDTicketEntity> implements GDTicketService { public class GDTicketImpl extends ServiceImpl<GDTicketMapper, GDTicketEntity> implements GDTicketService {
public GDTicketEntity getByTicketId(Long ticketId) {
return this.baseMapper.findByTicketId(ticketId);
}
} }
\ No newline at end of file
package org.ta.pddserver.utils;
import com.alibaba.fastjson.JSON;
import com.alibaba.fastjson.JSONObject;
import lombok.extern.slf4j.Slf4j;
import org.ta.pddserver.model.pddgd.request.GDTicketListRequest;
import org.ta.pddserver.model.pddgd.response.GDTicketRepsonse;
import java.util.ArrayList;
import java.util.Date;
import java.util.List;
@Slf4j
public class PddGDUtil {
private static final String CLIENT_ID = "7c75c365a1a64036a598ab6b09ce0c06";
private static final String CLIENT_SECRET = "f0752b6d5d6c214b7e255586fc4dfde382e9a6df";
private static final int page_size = 100;
public static List<GDTicketRepsonse> getTickets() {
long end = new Date().getTime() / 1000;
int page = 0;
int total_count = 1;
List<GDTicketRepsonse> list = new ArrayList<GDTicketRepsonse>();
while (page * page_size <= total_count) {
page++;
JSONObject jsonObject = getTicketsByPage(1, end);
total_count = jsonObject.getInteger("total_count");
List<GDTicketRepsonse> tempList = jsonObject.getJSONArray("logistics_ticket_list").toJavaList(GDTicketRepsonse.class);
if (tempList != null && !tempList.isEmpty()) {
list.addAll(tempList);
}
}
return list;
}
private static JSONObject getTicketsByPage(int page, long end) {
GDTicketListRequest request = new GDTicketListRequest();
request.setClient_id(CLIENT_ID);
request.setEnd_updated_at(end);
request.setStart_updated_at(end - 1800);
request.setPage(page);
request.setPage_size(page_size);
request.setType("pdd.logistics.ticket.get");
long time = new Date().getTime() / 1000;
request.setTimestamp(time);
request.setSign(PddSignTool.generateSign(request, CLIENT_SECRET));
String resp = PddHttpTool.sendJsonPostGD(request);
log.info("resp = {}", resp);
return JSON.parseObject(resp);
}
}
package org.ta.pddserver.xxl;
import jakarta.annotation.Resource;
import lombok.extern.slf4j.Slf4j;
import org.springframework.stereotype.Service;
import org.ta.pddserver.entity.GDTicketEntity;
import org.ta.pddserver.model.pddgd.response.GDTicketRepsonse;
import org.ta.pddserver.service.GDTicketService;
import org.ta.pddserver.service.impl.GDTicketImpl;
import org.ta.pddserver.utils.PddGDUtil;
import java.util.List;
@Service
@Slf4j
public class GDOperator {
@Resource
GDTicketImpl gdTicketImpl;
public void getGdTickets() {
List<GDTicketRepsonse> list = PddGDUtil.getTickets();
for (GDTicketRepsonse gdTicketRepsonse : list) {
GDTicketEntity gdTicketEntity = gdTicketImpl.getByTicketId(gdTicketRepsonse.getTicket_id());
if (gdTicketEntity == null) {
// todo 保存
// 主体、绑定两个表
}
}
}
}
...@@ -47,18 +47,15 @@ public class GDTest3 { ...@@ -47,18 +47,15 @@ public class GDTest3 {
String resp = PddHttpTool.sendJsonPostGD(request); String resp = PddHttpTool.sendJsonPostGD(request);
log.info("resp = {}", resp); log.info("resp = {}", resp);
JSONObject jsonObject = JSON.parseObject(resp); JSONObject jsonObject = JSON.parseObject(resp);
List<GDTicketRepsonse> list = jsonObject.getJSONArray("logistics_ticket_list").toJavaList(GDTicketRepsonse.class); List<GDTicketRepsonse> list = jsonObject.getJSONArray("list").toJavaList(GDTicketRepsonse.class);
if (list != null && list.size() > 0) { JSONArray array = jsonObject.getJSONArray("logistics_ticket_list");
for (GDTicketRepsonse gdTicketRepsonse : list) {
}
}
} }
@Test @Test
public void Test2() { public void Test2(){
Long ticketId = 176224558951137L; Long ticketId = 176224558951137L;
String waybill_no = "773230214487313"; String waybill_no = "773230214487313";
......
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