提交 ffa24059 作者: 张小凤

exCode

上级 7027831d
......@@ -127,6 +127,7 @@
<build>
<plugins>
<plugin>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-maven-plugin</artifactId>
......
......@@ -2,6 +2,7 @@ package com.mmc.oms.controller;
import com.mmc.oms.common.result.ResultBody;
import com.mmc.oms.model.dto.kdn.KdnDicDTO;
import com.mmc.oms.model.dto.kdn.KdnExpDTO;
import com.mmc.oms.model.dto.order.ExpressInfoDTO;
import com.mmc.oms.model.dto.order.OrderInfoDTO;
import com.mmc.oms.model.dto.order.OrderReceiptDTO;
......@@ -64,4 +65,14 @@ public class OrderLogisticsController extends BaseController {
public ResultBody<OrderInfoDTO> refundExpressInfo(@RequestParam Integer orderInfoId) {
return orderLogisticsService.refundExpressInfo(orderInfoId);
}
@ApiOperation(value = "物流动态信息")
@ApiResponses({@ApiResponse(code = 200, message = "OK", response = KdnExpDTO.class)})
@GetMapping("logisticsDynamics")
public ResultBody<KdnExpDTO> logisticsDynamics(@RequestParam String exCode, @RequestParam String exNo) {
return orderLogisticsService.logisticsDynamics(exCode, exNo);
}
}
......@@ -70,4 +70,6 @@ public interface OrderLogisticsDao {
Integer getOrderInfoCountToYesterday(@Param("day") Integer day, @Param("date") Date date);
Integer getOrderInfoCount(@Param("day") Integer day, @Param("date") Date date);
OrderExpressDO getOrderExpress(String exCode, String exNo);
}
package com.mmc.oms.entity.order;
import com.mmc.oms.model.dto.OrderExpressDTO;
import lombok.AllArgsConstructor;
import lombok.Data;
import lombok.NoArgsConstructor;
import java.io.Serializable;
import java.util.Date;
/**
* @Author small
* @Date 2023/6/8 20:54
* @Version 1.0
*/
@Data
@AllArgsConstructor
@NoArgsConstructor
public class OrderExpressDO implements Serializable {
private static final long serialVersionUID = 1L;
private Integer id;
private Long orderId;
private String sendExpNo;
private String sendExpCode;
private String takeName;
private String takePhone;
private String takeRegion;
private String takeAddress;
private Date receiveTime;
private Integer receive;
private Date updateTime;
private Date createTime;
private Integer orderInfoId;
private String sendExCode;
private String sendExNo;
private String region;
private String detailAddress;
private Integer renMethod;
private String renPhone;
private String renName;
private String renExCode;
private String renExNo;
private String renAddress;
private String renRepoName;
private String renRepoAddr;
private String renRepoPhone;
public OrderExpressDTO buildOrderExpressDTO() {
return OrderExpressDTO.builder().orderInfoId(orderInfoId).sendExNo(sendExNo).sendExCode(sendExCode)
.takeName(takeName).takePhone(takePhone).region(region).detailAddress(detailAddress)
.renPhone(renPhone).renName(renName).renExCode(renExCode).renExNo(renExNo)
.renAddress(renAddress).renRepoName(renRepoName)
.renRepoAddr(renRepoAddr).renRepoPhone(renRepoPhone)
.build();
}
}
package com.mmc.oms.model.dto;
import io.swagger.annotations.ApiModelProperty;
import lombok.AllArgsConstructor;
import lombok.Builder;
import lombok.Data;
import lombok.NoArgsConstructor;
import java.io.Serializable;
/**
* @Author small
* @Date 2023/6/8 20:53
* @Version 1.0
*/
@Builder
@Data
@AllArgsConstructor
@NoArgsConstructor
//@ApiModel(value = "com.mmc.csf.mall.dto.MallUserDTO", description = "用户信息DTO")
public class OrderExpressDTO implements Serializable {
private static final long serialVersionUID = 5884071559569250219L;
@ApiModelProperty(value = "orderId")
private Long orderId;
@ApiModelProperty(value = "发货-快递公司编码")
private String sendExpNo;
@ApiModelProperty(value = "发货-快递单号")
private String sendExpCode;
@ApiModelProperty(value = "发货-收货人名字")
private String takeName;
@ApiModelProperty(value = "发货-收货人手机号")
private String takePhone;
@ApiModelProperty(value = "发货-收货地区")
private String takeRegion;
@ApiModelProperty(value = "发货-收货详细地址")
private String takeAddress;
private Integer orderInfoId;
private String sendExCode;
private String sendExNo;
private String region;
private String detailAddress;
private Integer renMethod;
private String renPhone;
private String renName;
private String renExCode;
private String renExNo;
private String renAddress;
private String renRepoName;
private String renRepoAddr;
private String renRepoPhone;
public OrderExpressDTO buildOrderExpressDTO() {
return OrderExpressDTO.builder().orderInfoId(orderInfoId).sendExNo(sendExNo).sendExCode(sendExCode)
.takeName(takeName).takePhone(takePhone).region(region).detailAddress(detailAddress).build();
}
}
......@@ -34,10 +34,10 @@ public class OrderVcuVO implements Serializable {
@ApiModelProperty(value = "退款单id(退款-发货必填,其他可不填)")
@NotNull(message = "退款单id不能为空", groups = {Auto.class})
private Integer orderRefundId;
@ApiModelProperty(value = "物流公司编码")
@ApiModelProperty(value = "物流公司编码", required = true)
@NotNull(message = "物流公司编码不能为空")
private String sendExCode;
@ApiModelProperty(value = "物流单号")
@ApiModelProperty(value = "物流单号", required = true)
@NotNull(message = "物流单号不能为空")
private String sendExNo;
@ApiModelProperty(value = "发货地址")
......
......@@ -12,10 +12,8 @@ import com.mmc.oms.common.util.KdnExpressUtil;
import com.mmc.oms.common.util.TDateUtil;
import com.mmc.oms.dao.OrderLogisticsDao;
import com.mmc.oms.dao.OrderRefundDao;
import com.mmc.oms.entity.order.OrderInfoDO;
import com.mmc.oms.entity.order.OrderReceiptDO;
import com.mmc.oms.entity.order.OrderRefundDO;
import com.mmc.oms.entity.order.OrderVcuDO;
import com.mmc.oms.entity.order.*;
import com.mmc.oms.model.dto.OrderExpressDTO;
import com.mmc.oms.model.dto.company.CompanyInfoDTO;
import com.mmc.oms.model.dto.kdn.KdnDicDTO;
import com.mmc.oms.model.dto.kdn.KdnExpDTO;
......@@ -614,6 +612,54 @@ public class OrderLogisticsServiceImpl implements OrderLogisticsService {
}
@Override
public ResultBody<KdnExpDTO> logisticsDynamics(String exCode, String exNo) {
OrderExpressDO oexp = orderLogisticsDao.getOrderExpress(exCode, exNo);
OrderExpressDTO exp = oexp.buildOrderExpressDTO();
KdnExpDTO orderExpInfo = null;
try {
orderExpInfo = this.getOrderExpInfo(exp, exCode, exNo);
} catch (Exception e) {
e.printStackTrace();
}
return ResultBody.success(orderExpInfo);
}
/**
* 获取物流动态信息
*
* @param exp
* @return
* @throws Exception
*/
private KdnExpDTO getOrderExpInfo(OrderExpressDTO exp, String exCode, String exNo) throws Exception {
String json = "";
if ("SF".equals(exp.getRenExCode())) {
json = KdnExpressUtil.SF(exp.getRenPhone(), exp.getRenExNo());
} else if ("JD".equals(exp.getRenExCode())) {
json = KdnExpressUtil.JD("", exp.getRenExNo());
} else if (exp.getRenExNo() != null && exp.getRenExCode().equals(exCode) && exp.getRenExNo().equals(exNo)) {
json = KdnExpressUtil.others(exp.getRenExCode(), exp.getRenExNo());
}
if ("SF".equals(exp.getSendExCode())) {
json = KdnExpressUtil.SF(exp.getTakePhone(), exp.getSendExNo());
} else if ("JD".equals(exp.getSendExCode())) {
json = KdnExpressUtil.JD("", exp.getSendExNo());
} else if (exp.getSendExNo() != null && exp.getSendExCode().equals(exCode) && exp.getSendExNo().equals(exNo)) {
json = KdnExpressUtil.others(exp.getSendExCode(), exp.getSendExNo());
}
KdnExpDTO kdn = JsonUtil.parseJsonToObj(json, KdnExpDTO.class);
kdn.setLogisticCode(exp.getSendExNo());
if (!CollectionUtils.isEmpty(kdn.getTraces())) {
Collections.sort(kdn.getTraces(), Comparator.comparing(ExpStationsDTO::getAcceptTime).reversed());// 升序
}
return kdn;
}
@Override
public ResultBody orderExpressInfo(Integer orderInfoId) {
// 订单信息
OrderInfoDTO orderInfo = this.getOrderSimpleInfo(orderInfoId);
......
......@@ -3,6 +3,7 @@ package com.mmc.oms.service;
import com.mmc.oms.common.result.PageResult;
import com.mmc.oms.common.result.ResultBody;
import com.mmc.oms.model.dto.kdn.KdnDicDTO;
import com.mmc.oms.model.dto.kdn.KdnExpDTO;
import com.mmc.oms.model.dto.order.CountOrderDTO;
import com.mmc.oms.model.dto.order.ExpressInfoDTO;
import com.mmc.oms.model.dto.order.OrderInfoDTO;
......@@ -80,5 +81,7 @@ public interface OrderLogisticsService {
ResultBody testSendMsg(Integer id);
void SynchronousDataToPushMoney(String OrderNo);
ResultBody<KdnExpDTO> logisticsDynamics(String exCode, String exNo);
}
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE mapper
PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
"http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper namespace="com.mmc.oms.dao.OrderLogisticsDao">
<resultMap id="orderInfoResultMap"
type="com.mmc.oms.entity.order.OrderInfoDO">
<id property="id" column="id"/>
......@@ -633,4 +632,52 @@
and update_time &lt;= DATE_SUB(CURDATE(), INTERVAL 10 DAY)
</update>
<resultMap type="com.mmc.oms.entity.order.OrderExpressDO"
id="orderExpressResultMap">
<id property="id" column="id"/>
<result property="orderInfoId" column="order_info_id"/>
<result property="sendExCode" column="send_ex_code"/>
<result property="sendExNo" column="send_ex_no"/>
<result property="takeName" column="take_name"/>
<result property="takePhone" column="take_phone"/>
<result property="region" column="region"/>
<result property="detailAddress" column="detail_address"/>
<result property="updateTime" column="update_time"/>
<result property="createTime" column="create_time"/>
<result property="renMethod" column="ren_method"/>
<result property="renPhone" column="ren_phone"/>
<result property="renName" column="ren_name"/>
<result property="renExCode" column="ren_ex_code"/>
<result property="renExNo" column="ren_ex_no"/>
<result property="renAddress" column="ren_address"/>
<result property="renRepoName" column="ren_repo_name"/>
<result property="renRepoAddr" column="ren_repo_addr"/>
<result property="renRepoPhone" column="ren_repo_phone"/>
</resultMap>
<select id="getOrderExpress" resultMap="orderExpressResultMap">
SELECT e.id,
e.order_info_id,
e.send_ex_code,
e.send_ex_no,
e.take_name,
e.take_phone,
e.region,
e.detail_address,
e.ren_method,
e.ren_phone,
e.ren_name,
e.ren_ex_code,
e.ren_ex_no,
e.ren_address,
e.ren_repo_name,
e.ren_repo_addr,
e.ren_repo_phone
FROM order_receipt e
WHERE e.send_ex_no = #{exNo}
OR e.ren_ex_no = #{exNo}
AND e.send_ex_code = #{exCode}
OR e.ren_ex_code = #{exCode} LIMIT 0,1
</select>
</mapper>
Markdown 格式
0%
您添加了 0 到此讨论。请谨慎行事。
请先完成此评论的编辑!
注册 或者 后发表评论