diff --git a/api-mapper/src/main/java/com/heyu/api/data/entity/vv/VvPackageEntity.java b/api-mapper/src/main/java/com/heyu/api/data/entity/vv/VvPackageEntity.java index 379e741..7002025 100644 --- a/api-mapper/src/main/java/com/heyu/api/data/entity/vv/VvPackageEntity.java +++ b/api-mapper/src/main/java/com/heyu/api/data/entity/vv/VvPackageEntity.java @@ -10,7 +10,7 @@ import java.util.Date;import java.util.Date; /** *包裹表 * @author quyixiao -* @since 2025-10-16 +* @since 2025-10-23 */ @Data @@ -32,10 +32,15 @@ private static final long serialVersionUID = 1L; public final static String shipping_from = CLASS_NAME + "shipping_from"; // 发货地址 public final static String shipping_to = CLASS_NAME + "shipping_to"; // 收货地址 public final static String shipping_amount = CLASS_NAME + "shipping_amount"; // 运费 - public final static String ischeck_ = CLASS_NAME + "ischeck"; // 是否签收标记,0未签收,1已签收,请忽略,明细状态请参考state字段 + public final static String ischeck_ = CLASS_NAME + "ischeck"; // 是否签收标记,0未签收,1已签收,2 已经发送妥投消息,3 已妥投,请忽略,明细状态请参考state字段 public final static String com_ = CLASS_NAME + "com"; // 快递公司编码,一律用小写字母 public final static String status_ = CLASS_NAME + "status"; // 通讯状态,请忽略 public final static String state_ = CLASS_NAME + "state"; // 快递单当前状态,默认为0在途,1揽收,2疑难,3签收,4退签,5派件,8清关,14拒签等10个基础物流状态,如需要返回高级物流状态,请参考 resultv2 传值 + public final static String gmt_sign_receipt = CLASS_NAME + "gmt_sign_receipt"; // 签收日期 + public final static String gmt_shipping = CLASS_NAME + "gmt_shipping"; // 发货日期 + public final static String gmt_send_mq_delivered = CLASS_NAME + "gmt_send_mq_delivered"; // 发送消息mq,确认妥投 + public final static String gmt_delivered = CLASS_NAME + "gmt_delivered"; // 已经妥投 + public final static String delivered_by = CLASS_NAME + "delivered_by"; // system:系统,user:用户 ,admin 后台确认 // @TableId(value = "id", type = IdType.AUTO) private Long id; @@ -59,7 +64,7 @@ private static final long serialVersionUID = 1L; private String shippingTo; //运费 private BigDecimal shippingAmount; - // 是否签收标记,0未签收,1已签收,请忽略,明细状态请参考state字段 + //是否签收标记,0未签收,1已签收,2 已经发送妥投消息,3 已妥投,请忽略,明细状态请参考state字段 private String ischeck; //快递公司编码,一律用小写字母 private String com; @@ -67,6 +72,16 @@ private static final long serialVersionUID = 1L; private String status; //快递单当前状态,默认为0在途,1揽收,2疑难,3签收,4退签,5派件,8清关,14拒签等10个基础物流状态,如需要返回高级物流状态,请参考 resultv2 传值 private String state; + //签收日期 + private Date gmtSignReceipt; + //发货日期 + private Date gmtShipping; + //发送消息mq,确认妥投 + private Date gmtSendMqDelivered; + //已经妥投 + private Date gmtDelivered; + //system:系统,user:用户 ,admin 后台确认 + private String deliveredBy; /** * * @return @@ -233,14 +248,14 @@ private static final long serialVersionUID = 1L; } /** - * 是否签收标记,0未签收,1已签收,请忽略,明细状态请参考state字段 + * 是否签收标记,0未签收,1已签收,2 已经发送妥投消息,3 已妥投,请忽略,明细状态请参考state字段 * @return */ public String getIscheck() { return ischeck; } /** - * 是否签收标记,0未签收,1已签收,请忽略,明细状态请参考state字段 + * 是否签收标记,0未签收,1已签收,2 已经发送妥投消息,3 已妥投,请忽略,明细状态请参考state字段 * @param ischeck */ public void setIscheck(String ischeck) { @@ -292,6 +307,81 @@ private static final long serialVersionUID = 1L; this.state = state; } + /** + * 签收日期 + * @return + */ + public Date getGmtSignReceipt() { + return gmtSignReceipt; + } + /** + * 签收日期 + * @param gmtSignReceipt + */ + public void setGmtSignReceipt(Date gmtSignReceipt) { + this.gmtSignReceipt = gmtSignReceipt; + } + + /** + * 发货日期 + * @return + */ + public Date getGmtShipping() { + return gmtShipping; + } + /** + * 发货日期 + * @param gmtShipping + */ + public void setGmtShipping(Date gmtShipping) { + this.gmtShipping = gmtShipping; + } + + /** + * 发送消息mq,确认妥投 + * @return + */ + public Date getGmtSendMqDelivered() { + return gmtSendMqDelivered; + } + /** + * 发送消息mq,确认妥投 + * @param gmtSendMqDelivered + */ + public void setGmtSendMqDelivered(Date gmtSendMqDelivered) { + this.gmtSendMqDelivered = gmtSendMqDelivered; + } + + /** + * 已经妥投 + * @return + */ + public Date getGmtDelivered() { + return gmtDelivered; + } + /** + * 已经妥投 + * @param gmtDelivered + */ + public void setGmtDelivered(Date gmtDelivered) { + this.gmtDelivered = gmtDelivered; + } + + /** + * system:系统,user:用户 ,admin 后台确认 + * @return + */ + public String getDeliveredBy() { + return deliveredBy; + } + /** + * system:系统,user:用户 ,admin 后台确认 + * @param deliveredBy + */ + public void setDeliveredBy(String deliveredBy) { + this.deliveredBy = deliveredBy; + } + @Override public String toString() { return "VvPackageEntity{" + @@ -310,6 +400,11 @@ private static final long serialVersionUID = 1L; ",com=" + com + ",status=" + status + ",state=" + state + + ",gmtSignReceipt=" + gmtSignReceipt + + ",gmtShipping=" + gmtShipping + + ",gmtSendMqDelivered=" + gmtSendMqDelivered + + ",gmtDelivered=" + gmtDelivered + + ",deliveredBy=" + deliveredBy + "}"; } } \ No newline at end of file diff --git a/api-mapper/src/main/java/com/heyu/api/data/enums/KuaiDi100StateEnums.java b/api-mapper/src/main/java/com/heyu/api/data/enums/KuaiDi100StateEnums.java new file mode 100644 index 0000000..aac26d9 --- /dev/null +++ b/api-mapper/src/main/java/com/heyu/api/data/enums/KuaiDi100StateEnums.java @@ -0,0 +1,46 @@ +package com.heyu.api.data.enums; + +public enum KuaiDi100StateEnums { + + + // 具体的状态 + // 快递单当前状态,默认为0在途,1揽收,2疑难,3签收,4退签,5派件,8清关,14拒签等10个基础物流状态,如需要返回高级物流状态,请参考 resultv2 传值 + + + collect("1","揽收"), + shipping("0","在途"), + problem("2","疑难"), + sign_receipt("3","签收"), + return_sign("4","退签"), + distribution("5","派件"), + clear_customs("8","清关"), + reject_sign("14","拒签"), + ; + + + + KuaiDi100StateEnums(String state, String desc) { + this.state = state; + this.desc = desc; + } + + private String state ; + + private String desc; + + public String getState() { + return state; + } + + public void setState(String state) { + this.state = state; + } + + public String getDesc() { + return desc; + } + + public void setDesc(String desc) { + this.desc = desc; + } +} diff --git a/api-third/src/main/java/com/heyu/api/kuaidi100/KuaiDi100Utils.java b/api-mapper/src/main/java/com/heyu/api/data/kuaidi100/KuaiDi100Utils.java similarity index 93% rename from api-third/src/main/java/com/heyu/api/kuaidi100/KuaiDi100Utils.java rename to api-mapper/src/main/java/com/heyu/api/data/kuaidi100/KuaiDi100Utils.java index 3751424..0a5e123 100644 --- a/api-third/src/main/java/com/heyu/api/kuaidi100/KuaiDi100Utils.java +++ b/api-mapper/src/main/java/com/heyu/api/data/kuaidi100/KuaiDi100Utils.java @@ -1,4 +1,4 @@ -package com.heyu.api.kuaidi100; +package com.heyu.api.data.kuaidi100; import com.alibaba.fastjson.JSON; import com.alibaba.fastjson.JSONObject; @@ -73,9 +73,9 @@ public class KuaiDi100Utils { /** * 订阅接口 */ - public String subscribe(String companyCode, String trackNumber, String phone) throws Exception { + public static String subscribe(String companyCode, String trackNumber, String phone) throws Exception { SubscribeParameters subscribeParameters = new SubscribeParameters(); - subscribeParameters.setCallbackurl(" https://api.1024api.com/api-interface/app/kuaidi/callback"); + subscribeParameters.setCallbackurl("https://api.1024api.com/api-interface/app/kuaidi/callback"); subscribeParameters.setPhone(phone); SubscribeParam subscribeParam = new SubscribeParam(); diff --git a/api-third/src/main/java/com/heyu/api/kuaidi100/LogisticsMapUtils.java b/api-mapper/src/main/java/com/heyu/api/data/kuaidi100/LogisticsMapUtils.java similarity index 99% rename from api-third/src/main/java/com/heyu/api/kuaidi100/LogisticsMapUtils.java rename to api-mapper/src/main/java/com/heyu/api/data/kuaidi100/LogisticsMapUtils.java index 49c9030..6b62872 100644 --- a/api-third/src/main/java/com/heyu/api/kuaidi100/LogisticsMapUtils.java +++ b/api-mapper/src/main/java/com/heyu/api/data/kuaidi100/LogisticsMapUtils.java @@ -1,4 +1,4 @@ -package com.heyu.api.kuaidi100; +package com.heyu.api.data.kuaidi100; import java.util.HashMap; import java.util.Map; diff --git a/api-mapper/src/main/java/com/heyu/api/data/service/impl/vv/VvPackageServiceImpl.java b/api-mapper/src/main/java/com/heyu/api/data/service/impl/vv/VvPackageServiceImpl.java index 1d0d028..2fe2f57 100644 --- a/api-mapper/src/main/java/com/heyu/api/data/service/impl/vv/VvPackageServiceImpl.java +++ b/api-mapper/src/main/java/com/heyu/api/data/service/impl/vv/VvPackageServiceImpl.java @@ -8,10 +8,17 @@ package com.heyu.api.data.service.impl.vv; * @since 2025-08-23 */ +import com.alibaba.fastjson.JSON; +import com.alibaba.fastjson.JSONObject; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; import com.heyu.api.data.dao.vv.VvPackageDao; +import com.heyu.api.data.dto.vv.KuaiDi100DTO; import com.heyu.api.data.entity.vv.VvPackageEntity; +import com.heyu.api.data.enums.KuaiDi100StateEnums; +import com.heyu.api.data.kuaidi100.KuaiDi100Utils; +import com.heyu.api.data.kuaidi100.LogisticsMapUtils; import com.heyu.api.data.service.vv.VvPackageService; +import com.heyu.api.data.utils.StringUtils; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; @Service @@ -61,8 +68,39 @@ public class VvPackageServiceImpl extends ServiceImpl { @@ -31,4 +32,5 @@ public interface VvPackageService extends IService { int deleteVvPackageById(Long id); + KuaiDi100DTO selectVvKuaidiAndUpdateData(String trackNumber); } \ No newline at end of file diff --git a/api-mapper/src/test/java/com/test/xxx/MysqlMain_update.java b/api-mapper/src/test/java/com/test/xxx/MysqlMain_update.java index d28fb85..3eac3da 100644 --- a/api-mapper/src/test/java/com/test/xxx/MysqlMain_update.java +++ b/api-mapper/src/test/java/com/test/xxx/MysqlMain_update.java @@ -49,7 +49,7 @@ public class MysqlMain_update { List list = new ArrayList(); - String a = "vv_trade_order_line"; + String a = "vv_package"; for (String s : a.split(",")) { list.add(new TablesBean(s)); } diff --git a/api-service/pom.xml b/api-service/pom.xml index 0a7c915..d6415be 100644 --- a/api-service/pom.xml +++ b/api-service/pom.xml @@ -20,11 +20,13 @@ + com.lz.eb api-mapper 0.0.1-SNAPSHOT + diff --git a/api-web/api-interface/src/main/java/com/heyu/api/controller/vv/AppLogisticsController.java b/api-web/api-interface/src/main/java/com/heyu/api/controller/vv/AppLogisticsController.java index ee76196..f89d005 100644 --- a/api-web/api-interface/src/main/java/com/heyu/api/controller/vv/AppLogisticsController.java +++ b/api-web/api-interface/src/main/java/com/heyu/api/controller/vv/AppLogisticsController.java @@ -1,18 +1,14 @@ package com.heyu.api.controller.vv; -import com.alibaba.fastjson.JSON; import com.heyu.api.alibaba.request.mm.VvAppLogisticsRequest; import com.heyu.api.common.annotation.Describe; import com.heyu.api.data.dao.vv.VvPackageDao; import com.heyu.api.data.dao.vv.VvTradeOrderLineDao; import com.heyu.api.data.dto.vv.KuaiDi100DTO; -import com.heyu.api.data.entity.vv.VvPackageEntity; import com.heyu.api.data.entity.vv.VvTradeOrderLineEntity; +import com.heyu.api.data.service.vv.VvPackageService; import com.heyu.api.data.utils.R; -import com.heyu.api.data.utils.StringUtils; -import com.heyu.api.kuaidi100.KuaiDi100Utils; -import com.heyu.api.kuaidi100.LogisticsMapUtils; import lombok.extern.slf4j.Slf4j; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.util.CollectionUtils; @@ -34,6 +30,9 @@ public class AppLogisticsController { @Autowired private VvTradeOrderLineDao vvTradeOrderLineDao; + @Autowired + private VvPackageService vvPackageService; + // http://localhost:8888/app/logistics/query @Describe("物流查询") @@ -46,27 +45,12 @@ public class AppLogisticsController { return R.error("trackNumber不是你的"); } - KuaiDi100DTO kuaiDi100DTO = KuaiDi100Utils.getLogisticsInfo(request.getTrackNumber()); - VvPackageEntity vvPackageEntity = vvPackageDao.selectVvPackageByTrackNumber(request.getTrackNumber()); - vvPackageEntity.setIscheck(kuaiDi100DTO.getIscheck()); - vvPackageEntity.setCom(kuaiDi100DTO.getCom()); - vvPackageEntity.setStatus(kuaiDi100DTO.getStatus()); - vvPackageEntity.setState(kuaiDi100DTO.getState()); - vvPackageEntity.setPackageLogisticsInfo(JSON.toJSONString(kuaiDi100DTO)); + KuaiDi100DTO kuaiDi100DTO = vvPackageService.selectVvKuaidiAndUpdateData(request.getTrackNumber()); + - if (StringUtils.isBlank(vvPackageEntity.getLogisticsCompany()) - && StringUtils.isNotEmpty(kuaiDi100DTO.getCom())) { - vvPackageEntity.setLogisticsCompany(LogisticsMapUtils.getLogisticsCompanyName(kuaiDi100DTO.getCom())); - } - if (kuaiDi100DTO.getRouteInfo() != null - && kuaiDi100DTO.getRouteInfo().getFrom() != null - ) { - vvPackageEntity.setShippingFrom(kuaiDi100DTO.getRouteInfo().getFrom().getName()); - } - vvPackageDao.updateVvPackageById(vvPackageEntity); return R.ok().setData(kuaiDi100DTO); }