From 1cfa376ade7b0a59db1513a689c9879cc92aaa6e Mon Sep 17 00:00:00 2001 From: wuchunlei Date: Tue, 26 Mar 2024 11:25:00 +0800 Subject: [PATCH] =?UTF-8?q?=E9=80=9A=E7=94=A8=E6=A8=A1=E5=9D=97-=E5=BF=AB?= =?UTF-8?q?=E9=80=92?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../common/controller/ExpressController.java | 121 +++++++++++++++ .../modules/common/dao/ExpressCompanyDao.java | 3 +- .../common/service/ExpressCompanyService.java | 12 ++ .../common/service/ExpressOrderService.java | 15 ++ .../impl/ExpressCompanyServiceImpl.java | 25 +++ .../service/impl/ExpressOrderServiceImpl.java | 145 ++++++++++++++++++ .../modules/common/to/ExpressPrintDto.java | 27 ++++ .../peanut/modules/common/vo/DutiableVo.java | 14 ++ .../common/vo/ExpressCompanyCommonVo.java | 18 +++ .../modules/common/vo/ExpressCompanyVo.java | 18 +++ .../common/vo/ExpressOrderRequestVo.java | 102 ++++++++++++ .../common/vo/ExpressOrderResponseVo.java | 34 ++++ .../common/vo/ExpressQueryRequestVo.java | 22 +++ .../common/vo/ExpressResponseOrderVo.java | 70 +++++++++ .../modules/common/vo/ExpressUserInfoVo.java | 38 +++++ .../modules/common/vo/PrintTemplateVo.java | 26 ++++ .../mapper/book/ExpressCompanyDao.xml | 4 + 17 files changed, 693 insertions(+), 1 deletion(-) create mode 100644 src/main/java/com/peanut/modules/common/controller/ExpressController.java create mode 100644 src/main/java/com/peanut/modules/common/service/ExpressCompanyService.java create mode 100644 src/main/java/com/peanut/modules/common/service/ExpressOrderService.java create mode 100644 src/main/java/com/peanut/modules/common/service/impl/ExpressCompanyServiceImpl.java create mode 100644 src/main/java/com/peanut/modules/common/service/impl/ExpressOrderServiceImpl.java create mode 100644 src/main/java/com/peanut/modules/common/to/ExpressPrintDto.java create mode 100644 src/main/java/com/peanut/modules/common/vo/DutiableVo.java create mode 100644 src/main/java/com/peanut/modules/common/vo/ExpressCompanyCommonVo.java create mode 100644 src/main/java/com/peanut/modules/common/vo/ExpressCompanyVo.java create mode 100644 src/main/java/com/peanut/modules/common/vo/ExpressOrderRequestVo.java create mode 100644 src/main/java/com/peanut/modules/common/vo/ExpressOrderResponseVo.java create mode 100644 src/main/java/com/peanut/modules/common/vo/ExpressQueryRequestVo.java create mode 100644 src/main/java/com/peanut/modules/common/vo/ExpressResponseOrderVo.java create mode 100644 src/main/java/com/peanut/modules/common/vo/ExpressUserInfoVo.java create mode 100644 src/main/java/com/peanut/modules/common/vo/PrintTemplateVo.java diff --git a/src/main/java/com/peanut/modules/common/controller/ExpressController.java b/src/main/java/com/peanut/modules/common/controller/ExpressController.java new file mode 100644 index 00000000..4190852c --- /dev/null +++ b/src/main/java/com/peanut/modules/common/controller/ExpressController.java @@ -0,0 +1,121 @@ +package com.peanut.modules.common.controller; + +import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; +import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; +import com.baomidou.mybatisplus.core.conditions.update.UpdateWrapper; +import com.baomidou.mybatisplus.core.toolkit.StringUtils; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.peanut.common.utils.HttpsUtil; +import com.peanut.common.utils.R; +import com.peanut.modules.common.entity.ExpressCompany; +import com.peanut.modules.common.entity.ExpressOrder; +import com.peanut.modules.common.service.ExpressCompanyService; +import com.peanut.modules.common.service.ExpressOrderService; +import com.peanut.modules.common.to.ExpressPrintDto; +import com.peanut.modules.common.vo.ExpressCompanyCommonVo; +import com.peanut.modules.common.vo.PrintTemplateVo; +import lombok.extern.slf4j.Slf4j; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.web.bind.annotation.*; +import java.io.IOException; +import java.util.ArrayList; +import java.util.HashMap; +import java.util.List; +import java.util.Map; + +/** + * @Description: 快递 + */ +@Slf4j +@RestController("commonExpress") +@RequestMapping("common/express") +public class ExpressController { + + @Autowired + private ExpressCompanyService expressCompanyService; + @Autowired + private ExpressOrderService expressOrderService; + + + /** + * 获取快递公司列表 + * + * @return R + */ + @RequestMapping(path = "/getExpressCompanyList", method = RequestMethod.GET) + public R getExpressCompanyList() { + List expressCompanyList = expressCompanyService.getExpressCompanyList(); + return R.ok().put("result",expressCompanyList); + } + + /** + * 获取面单列表 + * @param expressPrintDto + * @return + */ + @RequestMapping("/getExpressPrints") + public R getExpressPrints(@RequestBody ExpressPrintDto expressPrintDto) throws IOException { + LambdaQueryWrapper wrapper = new LambdaQueryWrapper<>(); + wrapper.eq(StringUtils.isNotBlank(expressPrintDto.getExpressOrderSn()),ExpressOrder::getExpressOrderSn,expressPrintDto.getExpressOrderSn()); + if(expressPrintDto.getDate()!=null&&expressPrintDto.getDate()!=""){ + String startDate = expressPrintDto.getDate()+" 00:00:00"; + String endDate = expressPrintDto.getDate()+" 23:59:59"; + wrapper.between(ExpressOrder::getCreateTime,startDate,endDate); + } + wrapper.eq(expressPrintDto.getType()!=0,ExpressOrder::getTemplatePrinted,expressPrintDto.getType()==1?1:0); + wrapper.orderByDesc(ExpressOrder::getCreateTime); + Page expressOrderPage = expressOrderService.getBaseMapper().selectPage(new Page<>(expressPrintDto.getPage(), expressPrintDto.getLimit()), wrapper); + for (ExpressOrder e :expressOrderPage.getRecords()){ + if(e.getPrintTemplate()!=null){ + String c_string = HttpsUtil.getHttps(e.getPrintTemplate()); + e.setPrintString(c_string); + } + } + return R.ok().put("page",expressOrderPage); + } + + /** + * 获取快递面单列表(废弃) + * + * @return R + */ + @RequestMapping(path = "/getPrintTemplateList", method = RequestMethod.GET) + public R getPrintTemplate(@RequestParam(value = "pageSize", defaultValue = "10") Integer pageSize, + @RequestParam(value = "currentPage", defaultValue = "1") Integer currentPage) { + Page expressOrderPage = new Page<>(currentPage, pageSize); + QueryWrapper expressOrderQueryWrapper = new QueryWrapper<>(); + + int totalDataSize = expressOrderService.count(expressOrderQueryWrapper); + int totalPage = totalDataSize / pageSize + 1; + Page page = expressOrderService.page(expressOrderPage, expressOrderQueryWrapper); + List expressOrderList = page.getRecords(); + List data = new ArrayList<>(); + for (ExpressOrder expressOrder : expressOrderList) { + PrintTemplateVo vo = new PrintTemplateVo(); + QueryWrapper expressCompanyQueryWrapper = new QueryWrapper<>(); + expressCompanyQueryWrapper.eq("code", expressOrder.getExpressCompanyCode()); + ExpressCompany expressCompany = expressCompanyService.getOne(expressCompanyQueryWrapper); + vo.setExpressCompanyCode(expressCompany.getName()); + vo.setPrintTemplate(expressOrder.getPrintTemplate()); + vo.setExpressOrderSn(expressOrder.getExpressOrderSn()); + vo.setTemplatedPrinted(vo.getTemplatedPrinted()); + data.add(vo); + } + Map result = new HashMap<>(); + result.put("data", data); + result.put("currentPage", currentPage); + result.put("pageSize", pageSize); + result.put("totalDataSize", totalDataSize); + result.put("totalPage", totalPage); + return R.ok().put("result", result); + } + + @RequestMapping(value = "/printTemplate", method = RequestMethod.POST) + public R printTemplate(@RequestBody List expressOrderIdList) { + UpdateWrapper updateWrapper = new UpdateWrapper<>(); + updateWrapper.set("template_printed", 1); + updateWrapper.in("id", expressOrderIdList); + expressOrderService.update(updateWrapper); + return R.ok(); + } +} diff --git a/src/main/java/com/peanut/modules/common/dao/ExpressCompanyDao.java b/src/main/java/com/peanut/modules/common/dao/ExpressCompanyDao.java index ce032400..4206f5d3 100644 --- a/src/main/java/com/peanut/modules/common/dao/ExpressCompanyDao.java +++ b/src/main/java/com/peanut/modules/common/dao/ExpressCompanyDao.java @@ -3,8 +3,8 @@ package com.peanut.modules.common.dao; import com.baomidou.mybatisplus.core.mapper.BaseMapper; import com.peanut.modules.common.entity.ExpressCompany; import com.peanut.modules.book.vo.ExpressCompanyVo; +import com.peanut.modules.common.vo.ExpressCompanyCommonVo; import org.apache.ibatis.annotations.Mapper; - import java.util.List; /** @@ -15,4 +15,5 @@ import java.util.List; @Mapper public interface ExpressCompanyDao extends BaseMapper { List getExpressCompanyList(); + List getExpressComList(); } diff --git a/src/main/java/com/peanut/modules/common/service/ExpressCompanyService.java b/src/main/java/com/peanut/modules/common/service/ExpressCompanyService.java new file mode 100644 index 00000000..32a6ef7e --- /dev/null +++ b/src/main/java/com/peanut/modules/common/service/ExpressCompanyService.java @@ -0,0 +1,12 @@ +package com.peanut.modules.common.service; + +import com.baomidou.mybatisplus.extension.service.IService; +import com.peanut.modules.common.entity.ExpressCompany; +import com.peanut.modules.common.vo.ExpressCompanyCommonVo; +import java.util.List; + +public interface ExpressCompanyService extends IService { + //获取快递公司列表 + List getExpressCompanyList(); + +} diff --git a/src/main/java/com/peanut/modules/common/service/ExpressOrderService.java b/src/main/java/com/peanut/modules/common/service/ExpressOrderService.java new file mode 100644 index 00000000..dc90a94e --- /dev/null +++ b/src/main/java/com/peanut/modules/common/service/ExpressOrderService.java @@ -0,0 +1,15 @@ +package com.peanut.modules.common.service; + +import com.baomidou.mybatisplus.extension.service.IService; +import com.peanut.modules.common.entity.ExpressOrder; +import com.peanut.modules.common.entity.ExpressQueryResponse; +import com.peanut.modules.common.vo.ExpressOrderResponseVo; + +public interface ExpressOrderService extends IService { + /** + * 下单生成面单 + */ + ExpressOrderResponseVo placeExpressOrder(ExpressOrder expressOrder); + + ExpressQueryResponse queryExpressOrder(String ShipperCode, String LogisticCode, String customerName); +} \ No newline at end of file diff --git a/src/main/java/com/peanut/modules/common/service/impl/ExpressCompanyServiceImpl.java b/src/main/java/com/peanut/modules/common/service/impl/ExpressCompanyServiceImpl.java new file mode 100644 index 00000000..1d9c8cad --- /dev/null +++ b/src/main/java/com/peanut/modules/common/service/impl/ExpressCompanyServiceImpl.java @@ -0,0 +1,25 @@ +package com.peanut.modules.common.service.impl; + +import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; +import com.peanut.modules.common.dao.ExpressCompanyDao; +import com.peanut.modules.common.entity.ExpressCompany; +import com.peanut.modules.common.service.ExpressCompanyService; +import com.peanut.modules.common.vo.ExpressCompanyCommonVo; +import lombok.extern.slf4j.Slf4j; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.stereotype.Service; +import java.util.List; + +@Slf4j +@Service("commonExpressCompanyService") +public class ExpressCompanyServiceImpl extends ServiceImpl implements ExpressCompanyService { + + @Autowired + private ExpressCompanyDao expressCompanyDao; + + @Override + public List getExpressCompanyList() { + return expressCompanyDao.getExpressComList(); + } + +} diff --git a/src/main/java/com/peanut/modules/common/service/impl/ExpressOrderServiceImpl.java b/src/main/java/com/peanut/modules/common/service/impl/ExpressOrderServiceImpl.java new file mode 100644 index 00000000..352ea2ed --- /dev/null +++ b/src/main/java/com/peanut/modules/common/service/impl/ExpressOrderServiceImpl.java @@ -0,0 +1,145 @@ +package com.peanut.modules.common.service.impl; + +import com.alibaba.fastjson.JSONObject; +import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; +import com.peanut.common.utils.HttpClientUtils; +import com.peanut.common.utils.KdUtils; +import com.peanut.config.Constants; +import com.peanut.modules.common.dao.ExpressOrderDao; +import com.peanut.modules.common.entity.ExpressCommodity; +import com.peanut.modules.common.entity.ExpressOrder; +import com.peanut.modules.common.entity.ExpressQueryResponse; +import com.peanut.modules.common.service.ExpressOrderService; +import com.peanut.modules.common.vo.*; +import lombok.extern.slf4j.Slf4j; +import org.springframework.beans.factory.annotation.Value; +import org.springframework.stereotype.Service; + +import java.math.BigDecimal; +import java.util.HashMap; +import java.util.Map; + +@Slf4j +@Service("commonExpressOrderService") +public class ExpressOrderServiceImpl extends ServiceImpl implements ExpressOrderService { + + @Value("${express.sender.senderName}") + private String senderName; + @Value("${express.sender.mobile}") + private String senderMobile; + @Value("${express.sender.provinceName}") + private String senderProvinceName; + @Value("${express.sender.cityName}") + private String senderCityName; + @Value("${express.sender.expAreaName}") + private String senderExpAreaName; + @Value("${express.sender.address}") + private String senderAddress; + + + @Override + public ExpressOrderResponseVo placeExpressOrder(ExpressOrder expressOrder) { + ExpressOrderRequestVo orderRequestVo = new ExpressOrderRequestVo(); + // 订单号 + orderRequestVo.setOrderCode(expressOrder.getOrderSn()); + orderRequestVo.setIsReturnPrintTemplate(1); + orderRequestVo.setShipperCode(expressOrder.getExpressCompanyCode()); + orderRequestVo.setPayType(3); + if (expressOrder.getExpressCompanyCode().equals(Constants.EXPRESS_COMPANY_CODE_SF)) { + orderRequestVo.setMonthCode(Constants.EXPRESS_SF_MONTH_CODE); + //如果是顺丰港澳台,参数多两个必填CurrencyCode、Dutiable.DeclaredValue + if ("台湾省".equals(expressOrder.getProvince())|| + "香港特别行政区".equals(expressOrder.getProvince())|| + "澳门特别行政区".equals(expressOrder.getProvince())){ + orderRequestVo.setCurrencyCode("CNY"); + BigDecimal declaredValue = new BigDecimal(0); + if (expressOrder.getCommodity().size()>0){ + for (ExpressCommodity commodity : expressOrder.getCommodity()) { + BigDecimal quantity = BigDecimal.valueOf(commodity.getGoodsquantity()); + BigDecimal price = BigDecimal.valueOf(commodity.getGoodsPrice()); + BigDecimal total = quantity.multiply(price); + declaredValue = declaredValue.add(total); + } + } + DutiableVo dutiable = new DutiableVo(); + dutiable.setDeclaredValue(declaredValue.setScale(3)); + orderRequestVo.setDutiable(dutiable); + } + } + if (expressOrder.getExpressCompanyCode().equals(Constants.EXPRESS_COMPANY_CODE_YD)) { + orderRequestVo.setCustomerName(Constants.EXPRESS_YD_CUSTOMER_NAME); + orderRequestVo.setCustomerPwd(Constants.EXPRESS_YD_CUSTOMER_PWD); + } + orderRequestVo.setExpType(231);//1特快2标快 + orderRequestVo.setCost(expressOrder.getExpressFee().doubleValue()); + // 发货人 + ExpressUserInfoVo sender = new ExpressUserInfoVo(); + sender.setName(senderName); + sender.setMobile(senderMobile); + sender.setProvinceName(senderProvinceName); + sender.setCityName(senderCityName); + sender.setExpAreaName(senderExpAreaName); + sender.setAddress(senderAddress); + // 收货人 + ExpressUserInfoVo receiver = new ExpressUserInfoVo(); + receiver.setName(expressOrder.getConsigneeName()); + receiver.setMobile(expressOrder.getConsigneeMobile()); + receiver.setProvinceName(expressOrder.getProvince()); + receiver.setCityName(expressOrder.getCity()); + receiver.setExpAreaName(expressOrder.getCounty()); + receiver.setAddress(expressOrder.getAddress()); + orderRequestVo.setSender(sender); + orderRequestVo.setReceiver(receiver); + orderRequestVo.setCommodity(expressOrder.getCommodity()); + orderRequestVo.setWeight(expressOrder.getTotalWeight().doubleValue()); + orderRequestVo.setRemark(expressOrder.getRemark()); + orderRequestVo.setTemplateSize("150"); + String requestData = JSONObject.toJSONString(orderRequestVo); + //如果是顺丰港澳台,参数多两个必填CurrencyCode、Dutiable.DeclaredValue,需要大写 + String requestDataUpperCase = requestData; + if (requestData.contains("currencyCode")){ + requestDataUpperCase = requestData.replace("currencyCode","CurrencyCode") + .replace("dutiable","Dutiable") + .replace("declaredValue","DeclaredValue"); + } + + Map params = new HashMap<>(); + params.put("RequestData", requestDataUpperCase); + params.put("EBusinessID", Constants.EXPRESS_BUSINESS_ID); + params.put("RequestType", Constants.EXPRESS_REQUEST_TYPE_PLACE_ORDER); + try { + String dataSign = KdUtils.encrypt(requestDataUpperCase, Constants.EXPRESS_API_KEY, "UTF-8"); + params.put("DataSign", KdUtils.urlEncoder(dataSign, "UTF-8")); + } catch (Exception e) { + e.printStackTrace(); + log.error(e.getMessage()); + } + params.put("DataType", "2"); + + String response = HttpClientUtils.kdSendPost(Constants.EXPRESS_PLACE_ORDER_URL, params); + return JSONObject.parseObject(response, ExpressOrderResponseVo.class); + } + + @Override + public ExpressQueryResponse queryExpressOrder(String shipperCode, String logisticCode, String customerName) { + ExpressQueryRequestVo requestVo = new ExpressQueryRequestVo(); + requestVo.setLogisticCode(logisticCode); + requestVo.setCustomerName(customerName); + requestVo.setShipperCode(shipperCode); + String requestData = JSONObject.toJSONString(requestVo); + Map params = new HashMap<>(); + params.put("RequestData", requestData); + params.put("EBusinessID", Constants.EXPRESS_BUSINESS_ID); + params.put("RequestType", Constants.EXPRESS_REQUEST_TYPE_QUERY); + try { + String dataSign = KdUtils.encrypt(requestData, Constants.EXPRESS_API_KEY, "UTF-8"); + params.put("DataSign", KdUtils.urlEncoder(dataSign, "UTF-8")); + } catch (Exception e) { + e.printStackTrace(); + log.error(e.getMessage()); + } + params.put("DateType", "2"); + String response = HttpClientUtils.kdSendPost(Constants.EXPRESS_QUERY_URL, params); + return JSONObject.parseObject(response, ExpressQueryResponse.class); + } +} diff --git a/src/main/java/com/peanut/modules/common/to/ExpressPrintDto.java b/src/main/java/com/peanut/modules/common/to/ExpressPrintDto.java new file mode 100644 index 00000000..79a43895 --- /dev/null +++ b/src/main/java/com/peanut/modules/common/to/ExpressPrintDto.java @@ -0,0 +1,27 @@ +package com.peanut.modules.common.to; + +import lombok.Data; + +@Data +public class ExpressPrintDto { + + /** + * 时间2023-10-10 + */ + private String date; + + /** + * 快递订单号 + */ + private String expressOrderSn; + + /** + * 类型,0不限1已打印2未打印 + */ + private Integer type; + + private Integer limit; + + private Integer page; +} + diff --git a/src/main/java/com/peanut/modules/common/vo/DutiableVo.java b/src/main/java/com/peanut/modules/common/vo/DutiableVo.java new file mode 100644 index 00000000..b63580dd --- /dev/null +++ b/src/main/java/com/peanut/modules/common/vo/DutiableVo.java @@ -0,0 +1,14 @@ +package com.peanut.modules.common.vo; + +import lombok.Data; +import java.math.BigDecimal; + +/** + * 申报价值 + */ +@Data +public class DutiableVo { + + private BigDecimal DeclaredValue; + +} \ No newline at end of file diff --git a/src/main/java/com/peanut/modules/common/vo/ExpressCompanyCommonVo.java b/src/main/java/com/peanut/modules/common/vo/ExpressCompanyCommonVo.java new file mode 100644 index 00000000..61dac5e7 --- /dev/null +++ b/src/main/java/com/peanut/modules/common/vo/ExpressCompanyCommonVo.java @@ -0,0 +1,18 @@ +package com.peanut.modules.common.vo; + +import lombok.Data; + +/** + * @Description: 快递公司 Vo + */ +@Data +public class ExpressCompanyCommonVo { + /** + * 快递公司名称 + */ + private String expressName; + /** + * 快递公司编码 + */ + private String expressCode; +} diff --git a/src/main/java/com/peanut/modules/common/vo/ExpressCompanyVo.java b/src/main/java/com/peanut/modules/common/vo/ExpressCompanyVo.java new file mode 100644 index 00000000..27b84401 --- /dev/null +++ b/src/main/java/com/peanut/modules/common/vo/ExpressCompanyVo.java @@ -0,0 +1,18 @@ +package com.peanut.modules.common.vo; + +import lombok.Data; + +/** + * @Description: 快递公司 Vo + */ +@Data +public class ExpressCompanyVo { + /** + * 快递公司名称 + */ + private String expressName; + /** + * 快递公司编码 + */ + private String expressCode; +} \ No newline at end of file diff --git a/src/main/java/com/peanut/modules/common/vo/ExpressOrderRequestVo.java b/src/main/java/com/peanut/modules/common/vo/ExpressOrderRequestVo.java new file mode 100644 index 00000000..1aab9738 --- /dev/null +++ b/src/main/java/com/peanut/modules/common/vo/ExpressOrderRequestVo.java @@ -0,0 +1,102 @@ +package com.peanut.modules.common.vo; + + +import com.peanut.modules.common.entity.ExpressCommodity; +import lombok.Data; + +import java.util.List; + +/** + * @Description: 快递请求 Value Object + */ +@Data +public class ExpressOrderRequestVo { + /** + * 订单号 + */ + private String OrderCode; + /** + * 快递公司编码 + */ + private String ShipperCode; + /** + * 支付类型 1 - 现付 2 - 到付 3 - 月结 4 - 第三方付 + */ + private int payType; + /** + * 快递公司业务类型 + */ + private int ExpType; + /** + * 月付款账号 + */ + private String MonthCode; + /** + * 快递运费 + */ + private Double Cost; + /** + * 其他费用 + */ + private Double OtherCost; + /** + * 发货人 + */ + private ExpressUserInfoVo Sender; + /** + * 收货人 + */ + private ExpressUserInfoVo Receiver; + /** + * 货物信息 + */ + private List Commodity; + /** + * 重量 + */ + private Double Weight; + /** + * 包裹数量 + */ + private Integer Quantity; + /** + * 包裹体积 + */ + private Double Volume; + /** + * 备注 + */ + private String Remark; + /** + * 是否返回电子面单模板 + */ + private Integer IsReturnPrintTemplate; + /** + * 快递客户号 + */ + private String CustomerName; + /** + * 快递客户密码 + */ + private String CustomerPwd; + + /** + * 面单规格 + */ + private String TemplateSize; + + /** + * 货物单价的币种:港澳台必填 + * CNY: 人民币 + * HKD: 港币 + * NTD: 新台币 + * MOP: 澳门元 + */ + private String CurrencyCode; + + /** + * 申报价值 + */ + private DutiableVo Dutiable; +} + diff --git a/src/main/java/com/peanut/modules/common/vo/ExpressOrderResponseVo.java b/src/main/java/com/peanut/modules/common/vo/ExpressOrderResponseVo.java new file mode 100644 index 00000000..59951cad --- /dev/null +++ b/src/main/java/com/peanut/modules/common/vo/ExpressOrderResponseVo.java @@ -0,0 +1,34 @@ +package com.peanut.modules.common.vo; + +import lombok.Data; + +/** + * @Description: 快递下单响应 Value Object + */ +@Data +public class ExpressOrderResponseVo { + /** + * 用户ID + */ + private String EBusinessID; + /** + * 返回模板 + */ + private String PrintTemplate; + /** + * 是否成功 + */ + private boolean Success; + /** + * 结果响应编码 + */ + private String ResultCode; + /** + * 原因 + */ + private String Reason; + /** + * 订单 + */ + private ExpressResponseOrderVo Order; +} diff --git a/src/main/java/com/peanut/modules/common/vo/ExpressQueryRequestVo.java b/src/main/java/com/peanut/modules/common/vo/ExpressQueryRequestVo.java new file mode 100644 index 00000000..40c45f60 --- /dev/null +++ b/src/main/java/com/peanut/modules/common/vo/ExpressQueryRequestVo.java @@ -0,0 +1,22 @@ +package com.peanut.modules.common.vo; + +import lombok.Data; + +/** + * @Description: 快递查询请求 Value Object + */ +@Data +public class ExpressQueryRequestVo { + /** + * 快递编码 + */ + private String ShipperCode; + /** + * 快递单号 + */ + private String LogisticCode; + /** + * 手机尾号 + */ + private String CustomerName; +} diff --git a/src/main/java/com/peanut/modules/common/vo/ExpressResponseOrderVo.java b/src/main/java/com/peanut/modules/common/vo/ExpressResponseOrderVo.java new file mode 100644 index 00000000..7f47f596 --- /dev/null +++ b/src/main/java/com/peanut/modules/common/vo/ExpressResponseOrderVo.java @@ -0,0 +1,70 @@ +package com.peanut.modules.common.vo; + +import lombok.Data; + +/** + * @Description: 快递查询相应 Order Value Object + */ +@Data +public class ExpressResponseOrderVo { + /** + * 快递单号 + */ + private String LogisticCode; + /** + * 订单号 + */ + private String OrderCode; + /** + * 快递公司代码 + */ + private String ShipperCode; + /** + * 大头笔(官网文档) + */ + private String MarkDestination; + /** + * 签回单单号 + */ + private String SignWaybillCode; + /** + * 始发地区域编码 + */ + private String OriginCode; + /** + * 事发地名称 + */ + private String OriginName; + /** + * 目的地区域编码 + */ + private String DestinatioCode; + /** + * 目的地名称 + */ + private String DestinatioName; + /** + * 分拣编码 + */ + private String SortingCode; + /** + * 邮包编码 + */ + private String PackageCode; + /** + * 集包地 + */ + private String PackageName; + /** + * 目的地分拨 + */ + private String DestinationAllocationCentre; + /** + * 配送产品类型 + */ + private String TransType; + /** + * 运输方式 + */ + private String TransportType; +} diff --git a/src/main/java/com/peanut/modules/common/vo/ExpressUserInfoVo.java b/src/main/java/com/peanut/modules/common/vo/ExpressUserInfoVo.java new file mode 100644 index 00000000..44ebfb30 --- /dev/null +++ b/src/main/java/com/peanut/modules/common/vo/ExpressUserInfoVo.java @@ -0,0 +1,38 @@ +package com.peanut.modules.common.vo; + +import lombok.Data; + +/** + * @Description: 快递收/发件人 Value Object + */ +@Data +public class ExpressUserInfoVo { + /** + * 公司 + */ + private String Company; + /** + * 姓名 + */ + private String Name; + /** + * 电话 + */ + private String Mobile; + /** + * 省份 + */ + private String ProvinceName; + /** + * 城市 + */ + private String cityName; + /** + * 区 + */ + private String ExpAreaName; + /** + * 详细地址 + */ + private String Address; +} diff --git a/src/main/java/com/peanut/modules/common/vo/PrintTemplateVo.java b/src/main/java/com/peanut/modules/common/vo/PrintTemplateVo.java new file mode 100644 index 00000000..1d85a926 --- /dev/null +++ b/src/main/java/com/peanut/modules/common/vo/PrintTemplateVo.java @@ -0,0 +1,26 @@ +package com.peanut.modules.common.vo; + +import lombok.Data; + +/** + * @Description: 面单响应 value object + */ +@Data +public class PrintTemplateVo { + /** + * 快递单号 + */ + private String expressOrderSn; + /** + * 面单 + */ + private String printTemplate; + /** + * 快递公司代码 + */ + private String expressCompanyCode; + /** + * 是否打印过 + */ + private int templatedPrinted; +} diff --git a/src/main/resources/mapper/book/ExpressCompanyDao.xml b/src/main/resources/mapper/book/ExpressCompanyDao.xml index 1d659b9b..af7f564e 100644 --- a/src/main/resources/mapper/book/ExpressCompanyDao.xml +++ b/src/main/resources/mapper/book/ExpressCompanyDao.xml @@ -6,4 +6,8 @@ select name as expressName, code as expressCode from express_company + \ No newline at end of file