记得上下班打卡 | git大法好,push需谨慎

Commit de4389b2 authored by jiangxiulong's avatar jiangxiulong

快递callback

parent 7f062c93
package com.liquidnet.service.kylin.dto.param;
import lombok.Data;
@Data
public class PerformanceExpressPushFreightInfoParam {
private String bizOwnerZoneCode; // 业务所属地区编码
private String currencyCode; // 币别
private Double feeAmt; // 金额
private String feeAmtInd; // 个性化费用(如一些折扣或加价费用)
private Integer feeIndType; // 个性费用类型
private String gatherEmpCode; // 交款人
private String gatherZoneCode; // 收付款网点
private String paymentChangeTypeCode; // 付款变更类型
private String paymentTypeCode; // 付款类型:1-寄付;2-到付;3-第三方付;
private String serviceId; // 运单服务标记,可忽略
private String settlementTypeCode; // 结算类型:1-现结;2-月结;
private String versionNo; // 版本号:当红冲后版本号会增加
private String waybillId; // 运单关联标记,可忽略
private String waybillNo; // 运单母单号
private String feeTypeCode; // 费用类型:1-主运费;2-其他费用;3-保费;4-代收货款服务费;5-代收货款
}
package com.liquidnet.service.kylin.dto.param;
import lombok.Data;
import java.util.List;
@Data
public class PerformanceExpressPushFreightParam {
private String orderNo; // 订单号:客户下单时传入的订单号
private String waybillNo; // 运单号:顺丰下单接口返回的15或12位运单号(母单号),如:SF10116351372291
private Double meterageWeightQty; // 计费重量:包裹计费重量(单位:kg)
private String productName; // 产品名称:如顺丰特惠、顺丰标快
private Integer quantity; // 包裹数:托寄物包裹数量
private List<PerformanceExpressPushFreightInfoParam> feeList; // 费用:List形式
}
package com.liquidnet.service.kylin.dto.param;
import lombok.Data;
@Data
public class PerformanceExpressPushRouteParam {
private String id; // 路由节点信息编号,每一个id代表一条不同的路由节点信息。
private String mailno; // 顺丰运单号
private String orderid; // 客户订单号
private String acceptTime; // 路由节点产生的时间,格式:YYYY-MM-DD HH24:MM:SS,示例:2012-7-30 09:30:00。
private String acceptAddress; // 路由节点发生的城市
private String remark; // 路由节点具体描述
private String opCode; // 路由节点操作码
private String companyId; // 客户appid
private String routeAddress; // 客户推送接收地址
}
package com.liquidnet.service.kylin.dto.param;
import lombok.Data;
@Data
public class PerformanceExpressPushStatusParam {
private String orderNo; // 客户订单号
private String waybillNo; // 顺丰运单号
private String orderStateCode; // 订单状态
private String orderStateDesc; // 订单状态描述
private String empCode; // 收件员工工号
private String empPhone; // 收件员手机号
private String netCode; // 网点
private String lastTime; // 最晚上门时间
private String bookTime; // 客户预约时间
private String carrierCode; // 承运商代码(SF)
}
package com.liquidnet.service.platform.controller.express.shunfeng; package com.liquidnet.service.platform.controller.express.shunfeng;
import com.liquidnet.service.kylin.dto.param.PerformanceExpressPushFreightParam;
import com.liquidnet.service.kylin.dto.param.PerformanceExpressPushRouteParam;
import com.liquidnet.service.kylin.dto.param.PerformanceExpressPushStatusParam;
import com.liquidnet.service.platform.service.express.shunfeng.PerformancesExpressCallbackServiceImpl; import com.liquidnet.service.platform.service.express.shunfeng.PerformancesExpressCallbackServiceImpl;
import io.swagger.annotations.Api; import io.swagger.annotations.Api;
import io.swagger.annotations.ApiOperation;
import org.springframework.beans.factory.annotation.Autowired; import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.*; import org.springframework.web.bind.annotation.*;
import java.util.HashMap;
/** /**
* <p> * <p>
* 演出快递 顺丰推送 * 演出快递 顺丰推送
...@@ -22,16 +28,43 @@ public class PerformancesExpressCallbackController { ...@@ -22,16 +28,43 @@ public class PerformancesExpressCallbackController {
@Autowired @Autowired
private PerformancesExpressCallbackServiceImpl performancesExpressServiceImpl; private PerformancesExpressCallbackServiceImpl performancesExpressServiceImpl;
/** @PostMapping("OrderStatus")
* 订单状态推送 @ApiOperation("订单状态推送")
*/ public HashMap OrderStatus(PerformanceExpressPushStatusParam performanceExpressPushStatusParam) {
boolean result = performancesExpressServiceImpl.OrderStatus(performanceExpressPushStatusParam);
HashMap<Object, Object> objectObjectHashMap = new HashMap<>();
if (result) {
objectObjectHashMap.put("status", "OK");
} else {
objectObjectHashMap.put("status", "ERR");
}
return objectObjectHashMap;
}
/** @PostMapping("listOrderRoute")
* 路由推送 @ApiOperation("路由推送")
*/ public HashMap listOrderRoute(PerformanceExpressPushRouteParam performanceExpressPushRouteParam) {
boolean result = performancesExpressServiceImpl.listOrderRoute(performanceExpressPushRouteParam);
HashMap<Object, Object> objectObjectHashMap = new HashMap<>();
if (result) {
objectObjectHashMap.put("status", "OK");
} else {
objectObjectHashMap.put("status", "ERR");
}
return objectObjectHashMap;
}
/** @PostMapping("getListFreight")
* 清单运费推送 @ApiOperation("清单运费推送")
*/ public HashMap getListFreight(PerformanceExpressPushFreightParam performanceExpressPushFreightParam) {
boolean result = performancesExpressServiceImpl.getListFreight(performanceExpressPushFreightParam);
HashMap<Object, Object> objectObjectHashMap = new HashMap<>();
if (result) {
objectObjectHashMap.put("status", "OK");
} else {
objectObjectHashMap.put("status", "ERR");
}
return objectObjectHashMap;
}
} }
package com.liquidnet.service.platform.service.express.shunfeng; package com.liquidnet.service.platform.service.express.shunfeng;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import com.liquidnet.commons.lang.util.*; import com.liquidnet.commons.lang.util.*;
import com.liquidnet.service.base.ResponseDto; import com.liquidnet.service.kylin.dto.param.*;
import com.liquidnet.service.kylin.constant.KylinTableStatusConst; import com.liquidnet.service.kylin.entity.*;
import com.liquidnet.service.kylin.dto.param.PerformanceExpressSearchAdminParam;
import com.liquidnet.service.kylin.entity.KylinOrderExpress;
import com.liquidnet.service.kylin.entity.KylinOrderTickets;
import com.liquidnet.service.kylin.mapper.*; import com.liquidnet.service.kylin.mapper.*;
import com.liquidnet.service.kylin.service.IKylinOrderExpress; import com.liquidnet.service.kylin.service.IKylinOrderExpress;
import com.liquidnet.service.platform.utils.ShunfengSignUtils; import com.liquidnet.service.platform.utils.ShunfengSignUtils;
...@@ -17,8 +13,7 @@ import org.springframework.beans.factory.annotation.Value; ...@@ -17,8 +13,7 @@ import org.springframework.beans.factory.annotation.Value;
import org.springframework.data.mongodb.core.MongoTemplate; import org.springframework.data.mongodb.core.MongoTemplate;
import org.springframework.stereotype.Service; import org.springframework.stereotype.Service;
import java.util.HashMap; import javax.servlet.http.HttpServletRequest;
import java.util.List;
/** /**
* <p> * <p>
...@@ -58,69 +53,62 @@ public class PerformancesExpressCallbackServiceImpl extends ServiceImpl<KylinOrd ...@@ -58,69 +53,62 @@ public class PerformancesExpressCallbackServiceImpl extends ServiceImpl<KylinOrd
private ShunfengSignUtils shunfengSignUtils; private ShunfengSignUtils shunfengSignUtils;
@Autowired @Autowired
private KylinPerformancesMapper performancesMapper; private KylinOrderExpressMapper kylinOrderExpressMapper;
@Autowired @Autowired
private KylinOrderTicketsMapper kylinOrderTicketsMapper; private KylinOrderExpressFeeInfoMapper kylinOrderExpressFeeInfoMapper;
@Autowired @Autowired
private KylinOrderExpressMapper kylinOrderExpressMapper; private KylinOrderExpressRouteMapper kylinOrderExpressRouteMapper;
@Autowired @Autowired
private KylinOrderExpressFeeInfoMapper kylinOrderExpressFeeInfoMapper; HttpServletRequest httpServletRequest;
public boolean getListFreight(PerformanceExpressPushFreightParam performanceExpressPushFreightParam) {
boolean res = shunfengSignUtils.receiveRequestAndCheckSign(JsonUtils.toJson(performanceExpressPushFreightParam), httpServletRequest);
System.out.println(performanceExpressPushFreightParam);
System.out.println(res);
/*KylinOrderExpressFeeInfo kylinOrderExpressFeeInfo = new KylinOrderExpressFeeInfo();
String orderExpressFeeInfoId = IDGenerator.nextSnowId();
kylinOrderExpressFeeInfo.setOrderExpressFeeInfoId(orderExpressFeeInfoId);
kylinOrderExpressFeeInfo.setOrderExpressId(orderExpressInfo.getOrderExpressId());
kylinOrderExpressFeeInfo.setType((String) feeInfo.get("type"));
kylinOrderExpressFeeInfo.setName((String) feeInfo.get("name"));
kylinOrderExpressFeeInfo.setValue(new BigDecimal(feeInfo.get("value").toString()));
kylinOrderExpressFeeInfo.setCreatedAt(DateUtil.getNowTime());
kylinOrderExpressFeeInfoMapper.insert(kylinOrderExpressFeeInfo);*/
return false;
}
public boolean listOrderRoute(PerformanceExpressPushRouteParam performanceExpressPushRouteParam) {
boolean res = shunfengSignUtils.receiveRequestAndCheckSign(JsonUtils.toJson(performanceExpressPushRouteParam), httpServletRequest);
System.out.println(performanceExpressPushRouteParam);
System.out.println(res);
/*KylinOrderExpressRoute kylinOrderExpressRoute = new KylinOrderExpressRoute();
String orderExpressRouteId = IDGenerator.nextSnowId();
kylinOrderExpressRoute.setOrderExpressRouteId(orderExpressRouteId);
kylinOrderExpressRoute.setOrderExpressId(orderExpressInfo.getOrderExpressId());
kylinOrderExpressRoute.setAcceptAddress((String) routeInfo.get("accept_address"));
kylinOrderExpressRoute.setAcceptDate((String) routeInfo.get("accept_date"));
kylinOrderExpressRoute.setAcceptTime((String) routeInfo.get("accept_time"));
kylinOrderExpressRoute.setAcceptTotaltime((String) routeInfo.get("accept_totaltime"));
kylinOrderExpressRoute.setRemark((String) routeInfo.get("remark"));
kylinOrderExpressRoute.setOpcode((String) routeInfo.get("opcode"));
kylinOrderExpressRoute.setCreatedAt(DateUtil.getNowTime());
kylinOrderExpressRouteMapper.insert(kylinOrderExpressRoute);*/
public ResponseDto getFreight(PerformanceExpressSearchAdminParam performanceExpressSearchAdminParam) { return false;
List<String> ids = performanceExpressSearchAdminParam.getIds();
Integer[] expressStatus = {KylinTableStatusConst.ORDER_EXPRESS_STATUS1, KylinTableStatusConst.ORDER_EXPRESS_STATUS3};
for (String orderTicketsId : ids) {
KylinOrderExpress orderExpressInfo = kylinOrderExpressMapper.selectOne(
new QueryWrapper<KylinOrderExpress>().eq("order_tickets_id", orderTicketsId)
.notIn("express_status", expressStatus)
);
KylinOrderTickets orderInfo = kylinOrderTicketsMapper.selectOne(
new QueryWrapper<KylinOrderTickets>().eq("order_tickets_id", orderTicketsId)
);
if (null != orderExpressInfo) {
HashMap<String, Object> hBody = new HashMap<>();
hBody.put("jProvince", jProvince);
hBody.put("jCity", jCity);
hBody.put("jAddress", jAddress);
hBody.put("dProvince", "北京市");
hBody.put("dCity", "北京城区");
hBody.put("dAddress", orderInfo.getExpressAddress());
hBody.put("expressType", expressType);
// hBody.put("parcelWeighs", 2.00);
// hBody.put("volume", "10,10,20");
// 生成签名并请求
String result = shunfengSignUtils.generateSignatureAndRequest(hBody, "/public/order/v1/getFreight");
HashMap hashMap = JsonUtils.fromJson(result, HashMap.class);
System.out.println(result);
if (hashMap.get("succ").equals("fail")) {
String msg = (String) hashMap.get("msg");
return ResponseDto.failure(msg);
} else {
/*HashMap resultResult = (HashMap) hashMap.get("result");
List<HashMap> feeList = (List) resultResult.get("feeList");
if (!CollectionUtil.isEmpty(feeList)) {
for (HashMap feeInfo : feeList) {
KylinOrderExpressFeeInfo kylinOrderExpressFeeInfo = new KylinOrderExpressFeeInfo();
String orderExpressFeeInfoId = IDGenerator.nextSnowId();
kylinOrderExpressFeeInfo.setOrderExpressFeeInfoId(orderExpressFeeInfoId);
kylinOrderExpressFeeInfo.setOrderExpressId(orderExpressInfo.getOrderExpressId());
kylinOrderExpressFeeInfo.setType((String) feeInfo.get("type"));
kylinOrderExpressFeeInfo.setName((String) feeInfo.get("name"));
kylinOrderExpressFeeInfo.setValue(new BigDecimal(feeInfo.get("value").toString()));
kylinOrderExpressFeeInfo.setCreatedAt(DateUtil.getNowTime());
kylinOrderExpressFeeInfoMapper.insert(kylinOrderExpressFeeInfo);
}
}*/
}
}
}
return ResponseDto.success();
} }
} public boolean OrderStatus(PerformanceExpressPushStatusParam performanceExpressPushStatusParam) {
boolean res = shunfengSignUtils.receiveRequestAndCheckSign(JsonUtils.toJson(performanceExpressPushStatusParam), httpServletRequest);
System.out.println(performanceExpressPushStatusParam);
System.out.println(res);
return false;
}
}
\ No newline at end of file
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment