通用模块-快递
This commit is contained in:
@@ -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<ExpressCompanyCommonVo> expressCompanyList = expressCompanyService.getExpressCompanyList();
|
||||||
|
return R.ok().put("result",expressCompanyList);
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 获取面单列表
|
||||||
|
* @param expressPrintDto
|
||||||
|
* @return
|
||||||
|
*/
|
||||||
|
@RequestMapping("/getExpressPrints")
|
||||||
|
public R getExpressPrints(@RequestBody ExpressPrintDto expressPrintDto) throws IOException {
|
||||||
|
LambdaQueryWrapper<ExpressOrder> 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<ExpressOrder> 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<ExpressOrder> expressOrderPage = new Page<>(currentPage, pageSize);
|
||||||
|
QueryWrapper<ExpressOrder> expressOrderQueryWrapper = new QueryWrapper<>();
|
||||||
|
|
||||||
|
int totalDataSize = expressOrderService.count(expressOrderQueryWrapper);
|
||||||
|
int totalPage = totalDataSize / pageSize + 1;
|
||||||
|
Page<ExpressOrder> page = expressOrderService.page(expressOrderPage, expressOrderQueryWrapper);
|
||||||
|
List<ExpressOrder> expressOrderList = page.getRecords();
|
||||||
|
List<PrintTemplateVo> data = new ArrayList<>();
|
||||||
|
for (ExpressOrder expressOrder : expressOrderList) {
|
||||||
|
PrintTemplateVo vo = new PrintTemplateVo();
|
||||||
|
QueryWrapper<ExpressCompany> 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<String, Object> 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<Integer> expressOrderIdList) {
|
||||||
|
UpdateWrapper<ExpressOrder> updateWrapper = new UpdateWrapper<>();
|
||||||
|
updateWrapper.set("template_printed", 1);
|
||||||
|
updateWrapper.in("id", expressOrderIdList);
|
||||||
|
expressOrderService.update(updateWrapper);
|
||||||
|
return R.ok();
|
||||||
|
}
|
||||||
|
}
|
||||||
@@ -3,8 +3,8 @@ package com.peanut.modules.common.dao;
|
|||||||
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
|
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
|
||||||
import com.peanut.modules.common.entity.ExpressCompany;
|
import com.peanut.modules.common.entity.ExpressCompany;
|
||||||
import com.peanut.modules.book.vo.ExpressCompanyVo;
|
import com.peanut.modules.book.vo.ExpressCompanyVo;
|
||||||
|
import com.peanut.modules.common.vo.ExpressCompanyCommonVo;
|
||||||
import org.apache.ibatis.annotations.Mapper;
|
import org.apache.ibatis.annotations.Mapper;
|
||||||
|
|
||||||
import java.util.List;
|
import java.util.List;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
@@ -15,4 +15,5 @@ import java.util.List;
|
|||||||
@Mapper
|
@Mapper
|
||||||
public interface ExpressCompanyDao extends BaseMapper<ExpressCompany> {
|
public interface ExpressCompanyDao extends BaseMapper<ExpressCompany> {
|
||||||
List<ExpressCompanyVo> getExpressCompanyList();
|
List<ExpressCompanyVo> getExpressCompanyList();
|
||||||
|
List<ExpressCompanyCommonVo> getExpressComList();
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -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<ExpressCompany> {
|
||||||
|
//获取快递公司列表
|
||||||
|
List<ExpressCompanyCommonVo> getExpressCompanyList();
|
||||||
|
|
||||||
|
}
|
||||||
@@ -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<ExpressOrder> {
|
||||||
|
/**
|
||||||
|
* 下单生成面单
|
||||||
|
*/
|
||||||
|
ExpressOrderResponseVo placeExpressOrder(ExpressOrder expressOrder);
|
||||||
|
|
||||||
|
ExpressQueryResponse queryExpressOrder(String ShipperCode, String LogisticCode, String customerName);
|
||||||
|
}
|
||||||
@@ -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<ExpressCompanyDao, ExpressCompany> implements ExpressCompanyService {
|
||||||
|
|
||||||
|
@Autowired
|
||||||
|
private ExpressCompanyDao expressCompanyDao;
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public List<ExpressCompanyCommonVo> getExpressCompanyList() {
|
||||||
|
return expressCompanyDao.getExpressComList();
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
||||||
@@ -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<ExpressOrderDao, ExpressOrder> 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<String, String> 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<String, String> 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);
|
||||||
|
}
|
||||||
|
}
|
||||||
@@ -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;
|
||||||
|
}
|
||||||
|
|
||||||
14
src/main/java/com/peanut/modules/common/vo/DutiableVo.java
Normal file
14
src/main/java/com/peanut/modules/common/vo/DutiableVo.java
Normal file
@@ -0,0 +1,14 @@
|
|||||||
|
package com.peanut.modules.common.vo;
|
||||||
|
|
||||||
|
import lombok.Data;
|
||||||
|
import java.math.BigDecimal;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 申报价值
|
||||||
|
*/
|
||||||
|
@Data
|
||||||
|
public class DutiableVo {
|
||||||
|
|
||||||
|
private BigDecimal DeclaredValue;
|
||||||
|
|
||||||
|
}
|
||||||
@@ -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;
|
||||||
|
}
|
||||||
@@ -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;
|
||||||
|
}
|
||||||
@@ -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<ExpressCommodity> 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;
|
||||||
|
}
|
||||||
|
|
||||||
@@ -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;
|
||||||
|
}
|
||||||
@@ -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;
|
||||||
|
}
|
||||||
@@ -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;
|
||||||
|
}
|
||||||
@@ -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;
|
||||||
|
}
|
||||||
@@ -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;
|
||||||
|
}
|
||||||
@@ -6,4 +6,8 @@
|
|||||||
select name as expressName, code as expressCode
|
select name as expressName, code as expressCode
|
||||||
from express_company
|
from express_company
|
||||||
</select>
|
</select>
|
||||||
|
<select id="getExpressComList" resultType="com.peanut.modules.common.vo.ExpressCompanyCommonVo">
|
||||||
|
select name as expressName, code as expressCode
|
||||||
|
from express_company
|
||||||
|
</select>
|
||||||
</mapper>
|
</mapper>
|
||||||
Reference in New Issue
Block a user