提交 84b1bf8c authored 作者: 000516's avatar 000516

aint301杂发回写勤策/回单

...@@ -14,7 +14,7 @@ public interface IOrdersSentDao { ...@@ -14,7 +14,7 @@ public interface IOrdersSentDao {
OrdersSentDto getSent(String sentNo); OrdersSentDto getSent(String sentNo);
void updatePushqcByAhSentNo(String ahSentNo); void updatePushqcBySentNo(String sentNo);
List<OrdersSentDto> getNotReceiptSent(); List<OrdersSentDto> getNotReceiptSent();
......
...@@ -52,11 +52,11 @@ public class OrdersSentDaoImpl implements IOrdersSentDao { ...@@ -52,11 +52,11 @@ public class OrdersSentDaoImpl implements IOrdersSentDao {
} }
/** /**
* 根据发货单编号更新push_qc状态 * 根据发货单编号更新push_qc状态
* @param ahSentNo 发货单编号 * @param sentNo 发货单编号
*/ */
@Override @Override
public void updatePushqcByAhSentNo(String ahSentNo) { public void updatePushqcBySentNo(String sentNo) {
ordersSentMapper.updatePushqcByAhSentNo(ahSentNo); ordersSentMapper.updatePushqcByAhSentNo(sentNo);
} }
/** /**
......
...@@ -44,7 +44,7 @@ public class OrdersSent implements Serializable { ...@@ -44,7 +44,7 @@ public class OrdersSent implements Serializable {
/** /**
* 过账日期 * 过账日期
*/ */
private Date postData; private Date postDate;
/** /**
* 状态 * 状态
......
...@@ -19,7 +19,7 @@ public interface OrdersSentMapper extends BaseMapper<OrdersSent> { ...@@ -19,7 +19,7 @@ public interface OrdersSentMapper extends BaseMapper<OrdersSent> {
OrdersSent selectBySentNo(String sentNo); OrdersSent selectBySentNo(String sentNo);
void updatePushqcByAhSentNo(String ahSentNo); void updatePushqcByAhSentNo(String sentNo);
List<OrdersSent> getNotReceiptSent(); List<OrdersSent> getNotReceiptSent();
......
...@@ -7,7 +7,7 @@ import lombok.Getter; ...@@ -7,7 +7,7 @@ import lombok.Getter;
* @date : 2025-08-13 10 * @date : 2025-08-13 10
* @describe : * @describe :
*/ */
public interface SentReceiptEnum { public interface OrderEnum {
/** /**
* 回单状态类型 * 回单状态类型
...@@ -73,4 +73,25 @@ public interface SentReceiptEnum { ...@@ -73,4 +73,25 @@ public interface SentReceiptEnum {
this.desc = desc; this.desc = desc;
} }
} }
/**
* 订单类型
*/
@Getter
enum OrderTypeEnum {
/**
* 发货单
*/
SENT("X06"),
/**
* 杂发单
*/
MIX("N02");
private String type;
OrderTypeEnum(String type) {
this.type = type;
}
}
} }
...@@ -42,7 +42,7 @@ public class OrdersSentDto implements Serializable { ...@@ -42,7 +42,7 @@ public class OrdersSentDto implements Serializable {
/** /**
* 过账日期 * 过账日期
*/ */
private Date postData; private Date postDate;
/** /**
* 状态 * 状态
......
...@@ -6,7 +6,7 @@ import com.sfa.common.core.enums.ECode; ...@@ -6,7 +6,7 @@ import com.sfa.common.core.enums.ECode;
import com.sfa.common.core.exception.ServiceException; import com.sfa.common.core.exception.ServiceException;
import com.sfa.common.core.utils.DateUtils; import com.sfa.common.core.utils.DateUtils;
import com.sfa.job.domain.order.dao.IOrdersSentDao; import com.sfa.job.domain.order.dao.IOrdersSentDao;
import com.sfa.job.enums.SentReceiptEnum; import com.sfa.job.enums.OrderEnum;
import com.sfa.job.pojo.response.OrdersSentDto; import com.sfa.job.pojo.response.OrdersSentDto;
import com.sfa.job.service.order.IOrdersSentQueryService; import com.sfa.job.service.order.IOrdersSentQueryService;
import com.sfa.job.util.JdtcUtil; import com.sfa.job.util.JdtcUtil;
...@@ -47,8 +47,14 @@ public class OrdersSentQueryServiceImpl implements IOrdersSentQueryService { ...@@ -47,8 +47,14 @@ public class OrdersSentQueryServiceImpl implements IOrdersSentQueryService {
List<OrdersSentDto> sents = ordersSentDao.findByPushqcStatus(); List<OrdersSentDto> sents = ordersSentDao.findByPushqcStatus();
log.info("查询未推送到勤策的发货单:{}", sents.size()); log.info("查询未推送到勤策的发货单:{}", sents.size());
for (OrdersSentDto sent : sents) { for (OrdersSentDto sent : sents) {
// 修改勤策物流https地址 // 判断是发货单、杂发单
pushQc(sent); if (OrderEnum.OrderTypeEnum.SENT.getType().equals(sent.getType())){
pushQcX06(sent);
}
// 判断是发货单、杂发单
if (OrderEnum.OrderTypeEnum.MIX.getType().equals(sent.getType())){
pushQcN02(sent);
}
} }
} }
...@@ -68,7 +74,9 @@ public class OrdersSentQueryServiceImpl implements IOrdersSentQueryService { ...@@ -68,7 +74,9 @@ public class OrdersSentQueryServiceImpl implements IOrdersSentQueryService {
// 按物流公司分类 // 按物流公司分类
Map<String, List<OrdersSentDto>> transportMap = sents.stream().collect(Collectors.groupingBy(OrdersSentDto::getTransport)); Map<String, List<OrdersSentDto>> transportMap = sents.stream().collect(Collectors.groupingBy(OrdersSentDto::getTransport));
getOrderSentReceiptBy109(transportMap.get("109")); getOrderSentReceiptBy109(transportMap.get("109"));
log.info("[109-跨越] 回单完成");
getOrderSentReceiptBy134(transportMap.get("134")); getOrderSentReceiptBy134(transportMap.get("134"));
log.info("[134-京东TC] 回单完成");
} }
/** /**
...@@ -87,6 +95,7 @@ public class OrdersSentQueryServiceImpl implements IOrdersSentQueryService { ...@@ -87,6 +95,7 @@ public class OrdersSentQueryServiceImpl implements IOrdersSentQueryService {
for (List<OrdersSentDto> dtos : split) { for (List<OrdersSentDto> dtos : split) {
try { try {
List<String> exNos = dtos.stream().map(it -> it.getExpressNo()).collect(Collectors.toList()); List<String> exNos = dtos.stream().map(it -> it.getExpressNo()).collect(Collectors.toList());
log.info("[134-京东TC]开始处理:{}",JSONObject.toJSONString(exNos));
JSONArray waybills = jdtcUtil.orderQuery(exNos); JSONArray waybills = jdtcUtil.orderQuery(exNos);
if (CollectionUtils.isEmpty(waybills)) { if (CollectionUtils.isEmpty(waybills)) {
log.info("[134-京东TC]以上批次,未查询到物流信息"); log.info("[134-京东TC]以上批次,未查询到物流信息");
...@@ -111,7 +120,7 @@ public class OrdersSentQueryServiceImpl implements IOrdersSentQueryService { ...@@ -111,7 +120,7 @@ public class OrdersSentQueryServiceImpl implements IOrdersSentQueryService {
OrdersSentDto ordersSentDto = new OrdersSentDto() OrdersSentDto ordersSentDto = new OrdersSentDto()
.setExpressNo(jdInfo.getString("waybillCode")) .setExpressNo(jdInfo.getString("waybillCode"))
.setOperateEndDatetime(jdInfo.getDate("orderTime")) .setOperateEndDatetime(jdInfo.getDate("orderTime"))
.setReceiptFlag(SentReceiptEnum.ReceiptEnum.NO.getDesc()); .setReceiptFlag(OrderEnum.ReceiptEnum.NO.getDesc());
/** /**
* 京东回单照片暂无获取API * 京东回单照片暂无获取API
*/ */
...@@ -164,12 +173,12 @@ public class OrdersSentQueryServiceImpl implements IOrdersSentQueryService { ...@@ -164,12 +173,12 @@ public class OrdersSentQueryServiceImpl implements IOrdersSentQueryService {
OrdersSentDto ordersSentDto = new OrdersSentDto() OrdersSentDto ordersSentDto = new OrdersSentDto()
.setExpressNo(expressNo) .setExpressNo(expressNo)
.setOperateEndDatetime(operateEndTime) .setOperateEndDatetime(operateEndTime)
.setReceiptFlag(SentReceiptEnum.KyeReceiptEnum.getDesc(receiptFlag)); .setReceiptFlag(OrderEnum.KyeReceiptEnum.getDesc(receiptFlag));
/** /**
* 回单类型为回单原件、回单照片时查询照片,否则跳过 * 回单类型为回单原件、回单照片时查询照片,否则跳过
*/ */
if (!SentReceiptEnum.KyeReceiptEnum.hasPhoto(receiptFlag)){ if (!OrderEnum.KyeReceiptEnum.hasPhoto(receiptFlag)){
ordersSentDao.updateByExpressNo(ordersSentDto); ordersSentDao.updateByExpressNo(ordersSentDto);
return; return;
} }
...@@ -189,7 +198,10 @@ public class OrdersSentQueryServiceImpl implements IOrdersSentQueryService { ...@@ -189,7 +198,10 @@ public class OrdersSentQueryServiceImpl implements IOrdersSentQueryService {
ordersSentDao.updateByExpressNo(ordersSentDto); ordersSentDao.updateByExpressNo(ordersSentDto);
} }
private void pushQc(OrdersSentDto sent){ /**
* 发货单
*/
private void pushQcX06(OrdersSentDto sent){
try { try {
log.info("start push qc sent no [{}] 物流轨迹", sent.getAhSentNo()); log.info("start push qc sent no [{}] 物流轨迹", sent.getAhSentNo());
String htmlPath = ""; String htmlPath = "";
...@@ -211,15 +223,38 @@ public class OrdersSentQueryServiceImpl implements IOrdersSentQueryService { ...@@ -211,15 +223,38 @@ public class OrdersSentQueryServiceImpl implements IOrdersSentQueryService {
} }
// 勤策中发货单按安徽匹配 // 勤策中发货单按安徽匹配
Map<String, Object> params = qinCeUtils.modifySentDefinedValParams(sent.getAhSentNo(), htmlPath,sent.getTransportName()); Map<String, Object> params = qinCeUtils.modifySentDefinedValParams(sent.getAhSentNo(), htmlPath,sent.getTransportName(),sent.getExpressNo());
String url = qinCeUtils.builderUrl(QinCeUtils.MODIFY_SENT_DEFINED_VAL, params); String url = qinCeUtils.builderUrl(QinCeUtils.MODIFY_SENT_DEFINED_VAL, params);
qinCeUtils.postQC(url, params); qinCeUtils.postQC(url, params);
// 推送成功 // 推送成功
ordersSentDao.updatePushqcByAhSentNo(sent.getAhSentNo()); ordersSentDao.updatePushqcBySentNo(sent.getAhSentNo());
log.info("end push qc sent no [{}] 物流轨迹", sent.getAhSentNo()); log.info("end push qc sent no [{}] 物流轨迹", sent.getAhSentNo());
}catch (Exception e) { }catch (Exception e) {
log.error("勤策推送物流地址失败,物流信息:{},异常信息:{}", JSONObject.toJSONString(sent),e.getMessage()); log.error("勤策推送物流地址失败,物流信息:{},异常信息:{}", JSONObject.toJSONString(sent),e.getMessage());
} }
} }
/**
* 杂发单
* @param sent
*/
private void pushQcN02(OrdersSentDto sent) {
try {
log.info("start push qc sent no [{}] 物流轨迹", sent.getBjSentNo());
String transport = sent.getTransport();
if ("104".equals(transport)){
sent.setTransportName("丰诺");
}
// 勤策中发货单按安徽匹配
Map<String, Object> params = qinCeUtils.modifySentDefinedValParams(sent.getBjSentNo(), null,sent.getTransportName(),sent.getExpressNo());
String url = qinCeUtils.builderUrl(QinCeUtils.MODIFY_SENT_DEFINED_VAL, params);
qinCeUtils.postQC(url, params);
// 推送成功
ordersSentDao.updatePushqcBySentNo(sent.getBjSentNo());
log.info("end push qc sent no [{}] 物流轨迹", sent.getBjSentNo());
}catch (Exception e) {
log.error("勤策推送物流地址失败,物流信息:{},异常信息:{}", JSONObject.toJSONString(sent),e.getMessage());
}
}
} }
...@@ -67,17 +67,20 @@ public class QinCeUtils { ...@@ -67,17 +67,20 @@ public class QinCeUtils {
return params; return params;
} }
public Map<String, Object> modifySentDefinedValParams(String sentNo,String wlHtmlPath,String transportName){ public Map<String, Object> modifySentDefinedValParams(String sentNo,String wlHtmlPath,String transportName,String exNo){
Map<String,Object> val1 = new HashMap<>(); Map<String,Object> val1 = new HashMap<>();
val1.put("ext_key","物流轨迹"); val1.put("ext_key","物流轨迹");
val1.put("ext_value",wlHtmlPath); val1.put("ext_value",wlHtmlPath);
Map<String,Object> val2 = new HashMap<>(); Map<String,Object> val2 = new HashMap<>();
val2.put("ext_key","物流承运商"); val2.put("ext_key","物流承运商");
val2.put("ext_value",transportName); val2.put("ext_value",transportName);
Map<String,Object> val3 = new HashMap<>();
val3.put("ext_key","物流单号");
val3.put("ext_value",exNo);
Map<String,Object> params = new HashMap<>(); Map<String,Object> params = new HashMap<>();
params.put("sent_no",sentNo); params.put("sent_no",sentNo);
params.put("exts", Arrays.asList(val1,val2)); params.put("exts", Arrays.asList(val1,val2,val3));
return params; return params;
} }
......
...@@ -10,7 +10,7 @@ ...@@ -10,7 +10,7 @@
<result property="bjSentNo" column="bj_sent_no" jdbcType="VARCHAR"/> <result property="bjSentNo" column="bj_sent_no" jdbcType="VARCHAR"/>
<result property="bjSentVersion" column="bj_sent_version" jdbcType="INTEGER"/> <result property="bjSentVersion" column="bj_sent_version" jdbcType="INTEGER"/>
<result property="type" column="type" jdbcType="CHAR"/> <result property="type" column="type" jdbcType="CHAR"/>
<result property="postData" column="post_data" jdbcType="DATE"/> <result property="postDate" column="post_date" jdbcType="DATE"/>
<result property="status" column="status" jdbcType="CHAR"/> <result property="status" column="status" jdbcType="CHAR"/>
<result property="transport" column="transport" jdbcType="VARCHAR"/> <result property="transport" column="transport" jdbcType="VARCHAR"/>
<result property="transportName" column="transport_name" jdbcType="VARCHAR"/> <result property="transportName" column="transport_name" jdbcType="VARCHAR"/>
...@@ -26,7 +26,7 @@ ...@@ -26,7 +26,7 @@
</resultMap> </resultMap>
<select id="findUnsyncQc" resultMap="ordersSentResultMap"> <select id="findUnsyncQc" resultMap="ordersSentResultMap">
select send_id, ah_sent_no, bj_sent_no, transport,transport_name, express_no,dd_no select send_id, ah_sent_no, bj_sent_no, transport,transport_name, express_no,dd_no,type
from orders_sent from orders_sent
where push_qc = 1 where push_qc = 1
</select> </select>
...@@ -45,7 +45,16 @@ ...@@ -45,7 +45,16 @@
</select> </select>
<update id="updatePushqcByAhSentNo" parameterType="java.lang.String"> <update id="updatePushqcByAhSentNo" parameterType="java.lang.String">
update orders_sent set push_qc = 0 where ah_sent_no = #{ahSentNo} update orders_sent
set push_qc = 0
<where>
<if test="sentNo.startsWith('BJHQ')">
bj_sent_no = #{sentNo}
</if>
<if test="sentNo.startsWith('AHSD')">
ah_sent_no = #{sentNo}
</if>
</where>
</update> </update>
<select id="getNotReceiptSent" resultMap="ordersSentResultMap"> <select id="getNotReceiptSent" resultMap="ordersSentResultMap">
......
Markdown 格式
0%
您添加了 0 到此讨论。请谨慎行事。
请先完成此评论的编辑!
注册 或者 后发表评论