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

Commit e1623a72 authored by 胡佳晨's avatar 胡佳晨

Merge branch 'dev' into test

parents 273f777d 0cabb623
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)
}
......@@ -136,8 +136,12 @@ global-auth:
- ${liquidnet.info.context}/webjars/**
- ${liquidnet.info.context}/swagger-resources/**
- ${liquidnet.info.context}/v2/api-docs*
# 退款回
# 退款回
- ${liquidnet.info.context}/refund/callback
# shunfeng快递推送
- ${liquidnet.info.context}/performancesExpress/orderStatus
- ${liquidnet.info.context}/performancesExpress/orderRoute
- ${liquidnet.info.context}/performancesExpress/orderFreightList
# -----------------------------------------------------------
......
......@@ -113,11 +113,12 @@ public class KylinOrderTicketsServiceImpl implements IKylinOrderTicketsService {
public ResponseDto<PayResultVo> checkCanOrder(PayOrderParam payOrderParam) {
Long currentTime;
boolean isDownGeneral = false;
Long startTime = System.currentTimeMillis();
String uid = CurrentUtil.getCurrentUid();
String lock = "userId:" + uid;
if (!redisLockUtil.tryLock(lock, 1, 5)) {
return ResponseDto.failure(ErrorMapping.get("20023"));//参数错误
}
// if (!redisLockUtil.tryLock(lock, 1, 5)) {
// return ResponseDto.failure(ErrorMapping.get("20023"));//参数错误
// }
try {
currentTime = System.currentTimeMillis();
KylinPerformanceVo performanceData = dataUtils.getPerformanceVo(payOrderParam.getPerformanceId());
......@@ -308,7 +309,8 @@ public class KylinOrderTicketsServiceImpl implements IKylinOrderTicketsService {
}
ResponseDto<PayResultVo> resultData = order(payOrderParam, uid, isMember, isTrueName, performanceData, ticketData, entersVoList, isStudent, ticketTimesData, currentTime);
redisLockUtil.unlock(lock);
// redisLockUtil.unlock(lock);
log.debug("总耗时 ->"+(System.currentTimeMillis()-startTime)+"毫秒");
return resultData;
}
} catch (Exception e) {
......@@ -333,7 +335,6 @@ public class KylinOrderTicketsServiceImpl implements IKylinOrderTicketsService {
//生成订单 order_ticket
KylinOrderTickets orderTickets = new KylinOrderTickets();
String orderTicketId = IDGenerator.nextSnowId().toString();
log.debug("\n ORDER_TICKET_ID = " + orderTicketId + " \n TIME = " + System.currentTimeMillis());
orderTickets.setOrderTicketsId(orderTicketId);
orderTickets.setUserId(uid);
Map token = CurrentUtil.getTokenClaims();
......
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 io.swagger.annotations.Api;
import io.swagger.annotations.ApiOperation;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.*;
import java.util.HashMap;
/**
* <p>
* 演出快递 顺丰推送
......@@ -22,16 +28,43 @@ public class PerformancesExpressCallbackController {
@Autowired
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("orderRoute")
@ApiOperation("路由推送")
public HashMap listOrderRoute(PerformanceExpressPushRouteParam performanceExpressPushRouteParam) {
boolean result = performancesExpressServiceImpl.orderRoute(performanceExpressPushRouteParam);
HashMap<Object, Object> objectObjectHashMap = new HashMap<>();
if (result) {
objectObjectHashMap.put("status", "OK");
} else {
objectObjectHashMap.put("status", "ERR");
}
return objectObjectHashMap;
}
/**
* 清单运费推送
*/
@PostMapping("orderFreightList")
@ApiOperation("清单运费推送")
public HashMap getListFreight(PerformanceExpressPushFreightParam performanceExpressPushFreightParam) {
boolean result = performancesExpressServiceImpl.orderFreightList(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;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import com.liquidnet.commons.lang.util.*;
import com.liquidnet.service.base.ResponseDto;
import com.liquidnet.service.kylin.constant.KylinTableStatusConst;
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.dto.param.*;
import com.liquidnet.service.kylin.entity.*;
import com.liquidnet.service.kylin.mapper.*;
import com.liquidnet.service.kylin.service.IKylinOrderExpress;
import com.liquidnet.service.platform.utils.ShunfengSignUtils;
......@@ -17,8 +13,7 @@ import org.springframework.beans.factory.annotation.Value;
import org.springframework.data.mongodb.core.MongoTemplate;
import org.springframework.stereotype.Service;
import java.util.HashMap;
import java.util.List;
import javax.servlet.http.HttpServletRequest;
/**
* <p>
......@@ -58,69 +53,63 @@ public class PerformancesExpressCallbackServiceImpl extends ServiceImpl<KylinOrd
private ShunfengSignUtils shunfengSignUtils;
@Autowired
private KylinPerformancesMapper performancesMapper;
private KylinOrderExpressMapper kylinOrderExpressMapper;
@Autowired
private KylinOrderTicketsMapper kylinOrderTicketsMapper;
private KylinOrderExpressFeeInfoMapper kylinOrderExpressFeeInfoMapper;
@Autowired
private KylinOrderExpressMapper kylinOrderExpressMapper;
private KylinOrderExpressRouteMapper kylinOrderExpressRouteMapper;
@Autowired
private KylinOrderExpressFeeInfoMapper kylinOrderExpressFeeInfoMapper;
HttpServletRequest httpServletRequest;
public boolean orderStatus(PerformanceExpressPushStatusParam performanceExpressPushStatusParam) {
boolean res = shunfengSignUtils.receiveRequestAndCheckSign(JsonUtils.toJson(performanceExpressPushStatusParam), httpServletRequest);
System.out.println(performanceExpressPushStatusParam);
System.out.println(res);
return false;
}
public boolean orderFreightList(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 orderRoute(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) {
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();
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