Commit 564617e9 authored by Allen Chen's avatar Allen Chen

commit

parent 36767de3
package org.ta.pddserver.controller;
import com.alibaba.fastjson.JSON;
import com.alibaba.fastjson.JSONObject;
import jakarta.annotation.Resource;
import jakarta.servlet.http.HttpServletRequest;
import lombok.extern.slf4j.Slf4j;
import org.springframework.web.bind.annotation.PostMapping;
import org.springframework.web.bind.annotation.RequestBody;
import org.springframework.web.bind.annotation.RestController;
import org.ta.pddserver.entity.CollectOutMailDetailEntity;
import org.ta.pddserver.model.api.request.*;
import org.ta.pddserver.model.api.response.LogOrderListResponse;
import org.ta.pddserver.model.api.response.LogOrderMailDetailListResponse;
import org.ta.pddserver.model.api.response.MailNoResponse;
import org.ta.pddserver.model.pddjy.request.*;
import org.ta.pddserver.service.impl.*;
import org.ta.pddserver.utils.JsonResponse;
import org.ta.pddserver.utils.PddHttpTool;
import org.ta.pddserver.utils.PddSignTool;
import org.ta.pddserver.utils.TimeTool;
import java.util.ArrayList;
import java.util.Date;
import java.util.List;
@Slf4j
@RestController
public class PddLocalController {
@Resource
LogOrderImpl logOrderImpl;
@Resource
LogOrderMailDetailImpl logOrderMailDetailImpl;
@Resource
TimeTool timeTool;
@Resource
CollectcOutMailDetailImpl collectcOutMailDetailImpl;
private static final String PROVIDER_CODE = "HAIJI_KR";
private static final String WAREHOUSE_CODE = "HJJY001";
private static final String CLIENT_ID = "d0217707e1194c46b57e696ac7619a06";
private static final String CLIENT_SECRET = "a5aba84483d8387030899f01276b06a194942470";
/*集运单列表*/
@PostMapping("/logOrderList")
public JSONObject logOrderList(HttpServletRequest request, @RequestBody LogOrderListRequest logOrderListRequest) {
List<LogOrderListResponse> list = logOrderImpl.getListByRequest(logOrderListRequest.getLogisticsOrderCode());
return JsonResponse.generateLocalCommonSuccessResponse(list);
}
/*包裹列表*/
@PostMapping("/logOrderMailDetailList")
public JSONObject logOrderMailDetailList(HttpServletRequest request, @RequestBody LogOrderMailDetailListRequest logOrderMailDetailListRequest) {
List<LogOrderMailDetailListResponse> list = logOrderMailDetailImpl.getListByCodeNo(logOrderMailDetailListRequest.getLogisticsOrderCode(), logOrderMailDetailListRequest.getMailNo());
return JsonResponse.generateLocalCommonSuccessResponse(list);
}
/*运单号查询*/
@PostMapping("/mailNoSelect")
public JSONObject mailNoSelect(HttpServletRequest request, @RequestBody MailNoRequest mailNoRequest) {
MailNoResponse mailNoResponse = logOrderMailDetailImpl.getInfoByMailNo(mailNoRequest.getMailNo(), mailNoRequest.getStatus());
return JsonResponse.generateLocalCommonSuccessResponse(mailNoResponse);
}
/*签收*/
@PostMapping("/receive")
public void receive(HttpServletRequest request, @RequestBody ReceiveRequest receiveRequest) {
MailNoResponse mailNoResponse = logOrderMailDetailImpl.getInfoByMailNo(receiveRequest.getMailNo(), receiveRequest.getAction());
String action = receiveRequest.getAction();
PddServiceConsoFirstBizActionNotifyRequest notifyRequest = new PddServiceConsoFirstBizActionNotifyRequest();
notifyRequest.setProviderCode(PROVIDER_CODE);
notifyRequest.setExecuteTime(timeTool.getNowString());
notifyRequest.setTimeZone("UTC+8");
notifyRequest.setLogisticsOrderCode(mailNoResponse.getLogisticsOrderCode());
notifyRequest.setBizAction(action);
PddServiceConsoFirstBizActionNotifyRequest.Result notifyResult = new PddServiceConsoFirstBizActionNotifyRequest.Result();
notifyRequest.setMailNo(mailNoResponse.getMailNo());
notifyRequest.setExpressCode(mailNoResponse.getExpressCode());
if (action == "warehouse_sign") {
notifyRequest.setBizActionDesc("仓库签收");
notifyResult.setCode(0);
} else if (action == "warehouse_reject_sign") {
notifyRequest.setBizActionDesc("仓库拒签");
notifyResult.setCode(22);
notifyResult.setDesc("运输品类限制");
notifyResult.setRemark("运输品类限制");
notifyRequest.setResult(notifyResult);
} else if (action == "destroy") {
notifyRequest.setBizActionDesc("包裹销毁");
notifyResult.setCode(0);
}
notifyRequest.setResult(notifyResult);
JYBaseRequestModel requestModel = new JYBaseRequestModel();
requestModel.setRequest(JSON.toJSONString(notifyRequest));
requestModel.setRequest_id("" + new Date().getTime());
requestModel.setType("pdd.service.conso.first.biz.action.notify");
requestModel.setTarget_client_id(CLIENT_ID);
requestModel.setClient_id(CLIENT_ID);
long time = new Date().getTime() / 1000;
requestModel.setTimestamp(time);
requestModel.setSign(PddSignTool.generateSign(requestModel, CLIENT_SECRET));
String resp = PddHttpTool.sendJsonPost(requestModel);
}
/*入库*/
@PostMapping("/inBound")
public void inBound(HttpServletRequest request, @RequestBody InBoundRequest inBoundRequest) {
MailNoResponse mailNoResponse = logOrderMailDetailImpl.getInfoByMailNo(inBoundRequest.getMailNo(), inBoundRequest.getAction());
PddServiceConsoInboundRequest notifyRequest = new PddServiceConsoInboundRequest();
notifyRequest.setProviderCode(PROVIDER_CODE);
notifyRequest.setLogisticsOrderCode(mailNoResponse.getLogisticsOrderCode());
notifyRequest.setExecuteTime(timeTool.getNowString());
notifyRequest.setTimeZone("UTC+8");
notifyRequest.setStatus("FULL_INBOUND");
notifyRequest.setPackageQuantity(1L);
notifyRequest.setPackageInfo(new PddServiceConsoInboundRequest.PackageInfo());
notifyRequest.getPackageInfo().setMailNo(mailNoResponse.getMailNo());
notifyRequest.getPackageInfo().setExpressCode(mailNoResponse.getExpressCode());
notifyRequest.getPackageInfo().setLength(inBoundRequest.getLength());
notifyRequest.getPackageInfo().setWidth(inBoundRequest.getWidth());
notifyRequest.getPackageInfo().setHeight(inBoundRequest.getHeight());
notifyRequest.getPackageInfo().setWeight(inBoundRequest.getWeight());
notifyRequest.getPackageInfo().setActualWeight(inBoundRequest.getActualWeight());
notifyRequest.getPackageInfo().setGoodsType("NORMAL");
notifyRequest.setResult(new PddServiceConsoInboundRequest.Result());
notifyRequest.getResult().setCode(0);
JYBaseRequestModel requestModel = new JYBaseRequestModel();
requestModel.setRequest(JSON.toJSONString(notifyRequest));
requestModel.setRequest_id("" + new Date().getTime());
requestModel.setType("pdd.service.conso.inbound");
requestModel.setTarget_client_id(CLIENT_ID);
requestModel.setClient_id(CLIENT_ID);
long time = new Date().getTime() / 1000;
requestModel.setTimestamp(time);
requestModel.setSign(PddSignTool.generateSign(requestModel, CLIENT_SECRET));
String resp = PddHttpTool.sendJsonPost(requestModel);
}
/*收到拆包通知后 完成拆包*/
@PostMapping("/finishUnpack")
public void finishUnpack(HttpServletRequest request, @RequestBody FinishUnpackRequest finishUnpackRequest) {
MailNoResponse mailNoResponse = logOrderMailDetailImpl.getInfoByMailNo(finishUnpackRequest.getMailNo(), finishUnpackRequest.getAction());
String action = finishUnpackRequest.getAction();
PddServiceConsoCoBizActionNotifyRequest notifyRequest = new PddServiceConsoCoBizActionNotifyRequest();
notifyRequest.setProviderCode(PROVIDER_CODE);
notifyRequest.setOrderCode(mailNoResponse.getLogisticsOrderCode());
notifyRequest.setBizAction(action);
notifyRequest.setExecuteTime(timeTool.getNowString());
notifyRequest.setTimeZone("UTC+8");
PddServiceConsoCoBizActionNotifyRequest.Result notifyResult = new PddServiceConsoCoBizActionNotifyRequest.Result();
if (action == "begin_pick") {
notifyRequest.setBizActionDesc("开始拣货");
notifyResult.setCode(0);
} else if (action == "finish_pick") {
notifyRequest.setBizActionDesc("拣货完成");
notifyResult.setCode(0);
} else if (action == "finish_unpack") {
notifyRequest.setBizActionDesc("拆包完成");
notifyRequest.setUnpackRemark("");
notifyResult.setCode(0);
notifyRequest.setPackageInfos(new ArrayList<>());
PddServiceConsoCoBizActionNotifyRequest.PackageInfo packageInfo = new PddServiceConsoCoBizActionNotifyRequest.PackageInfo();
notifyRequest.getPackageInfos().add(packageInfo);
packageInfo.setWeight(finishUnpackRequest.getWeight());
packageInfo.setWidth(finishUnpackRequest.getWidth());
packageInfo.setHeight(finishUnpackRequest.getHeight());
packageInfo.setLength(finishUnpackRequest.getLength());
packageInfo.setActualWeight(finishUnpackRequest.getActualWeight());
packageInfo.setConsoType("SEA");
packageInfo.setGoodsType("NORMAL");
}
notifyRequest.setResult(notifyResult);
JYBaseRequestModel requestModel = new JYBaseRequestModel();
requestModel.setRequest(JSON.toJSONString(notifyRequest));
requestModel.setRequest_id("" + new Date().getTime());
requestModel.setType("pdd.service.conso.co.biz.action.notify");
requestModel.setTarget_client_id(CLIENT_ID);
requestModel.setClient_id(CLIENT_ID);
long time = new Date().getTime() / 1000;
requestModel.setTimestamp(time);
requestModel.setSign(PddSignTool.generateSign(requestModel, CLIENT_SECRET));
String resp = PddHttpTool.sendJsonPost(requestModel);
}
/*拣货完成后出库*/
@PostMapping("/outBound")
public void outBound(HttpServletRequest request, @RequestBody OutBoundRequest outBoundRequest) {
PddServiceConsoOutboundRequest notifyRequest = new PddServiceConsoOutboundRequest();
CollectOutMailDetailEntity collectOutMailDetailEntity = collectcOutMailDetailImpl.getInfoByMailNo(outBoundRequest.getMailNo());
notifyRequest.setProviderCode(PROVIDER_CODE);
notifyRequest.setOrderCode(outBoundRequest.getOrderCode());
notifyRequest.setSegmentCode("SENDTORECEVER");
notifyRequest.setExecuteTime(timeTool.getNowString());
notifyRequest.setTimeZone("UTC+8");
notifyRequest.setIsSplitOut("N");
notifyRequest.setPackageInfos(new ArrayList<>());
PddServiceConsoOutboundRequest.PackageInfo packageInfo = new PddServiceConsoOutboundRequest.PackageInfo();
notifyRequest.getPackageInfos().add(packageInfo);
packageInfo.setOutboundMailNo(outBoundRequest.getMailNo());
packageInfo.setExpressCode(outBoundRequest.getExpressCode());
packageInfo.setPackageType(outBoundRequest.getPackageType());
packageInfo.setLength(collectOutMailDetailEntity.getLength());
packageInfo.setWidth(collectOutMailDetailEntity.getWidth());
packageInfo.setHeight(collectOutMailDetailEntity.getHeight());
packageInfo.setWeight(collectOutMailDetailEntity.getWeight());
notifyRequest.setSenderDetail(new PddServiceConsoOutboundRequest.SenderDetail());
notifyRequest.getSenderDetail().setName("海际集货仓");
notifyRequest.getSenderDetail().setTelePhone("18660975251");
notifyRequest.getSenderDetail().setCountry("CN");
notifyRequest.getSenderDetail().setProvince("山东省");
notifyRequest.getSenderDetail().setCity("临沂市");
notifyRequest.getSenderDetail().setDistrict("兰山区");
notifyRequest.getSenderDetail().setDetailAddress("山东省临沂市兰山区横九路与纵十路交汇兰山财金智慧云仓五期二层二号仓");
notifyRequest.setReceiverDetail(new PddServiceConsoOutboundRequest.ReceiverDetail());
notifyRequest.getReceiverDetail().setName("nanjiexi");
notifyRequest.getReceiverDetail().setTelePhone("01099999999");
notifyRequest.getReceiverDetail().setCountry("KR");
notifyRequest.getReceiverDetail().setProvince("서울특별시");
notifyRequest.getReceiverDetail().setCity("강북구");
notifyRequest.getReceiverDetail().setDistrict("우이동");
notifyRequest.getReceiverDetail().setDetailAddress("서울특별시测试地址");
notifyRequest.setResult(new PddServiceConsoOutboundRequest.Result());
notifyRequest.getResult().setCode(0);
// notifyRequest.getResult().setDesc("");
// notifyRequest.getResult().setRemark("");
log.info("derelictionRequest:{}", JSON.toJSONString(notifyRequest));
JYBaseRequestModel requestModel = new JYBaseRequestModel();
requestModel.setRequest(JSON.toJSONString(notifyRequest));
requestModel.setRequest_id("" + new Date().getTime());
requestModel.setType("pdd.service.conso.outbound");
requestModel.setTarget_client_id(CLIENT_ID);
requestModel.setClient_id(CLIENT_ID);
long time = new Date().getTime() / 1000;
requestModel.setTimestamp(time);
requestModel.setSign(PddSignTool.generateSign(requestModel, CLIENT_SECRET));
log.info("requestModel:{}", JSON.toJSONString(requestModel));
// String resp = PddHttpTool.postRequest(requestModel);
String resp = PddHttpTool.sendJsonPost(requestModel);
log.info("resp = {}", resp);
}
}
......@@ -55,25 +55,25 @@ public class CollectOutMailDetailEntity {
* 状态 长
*/
@TableField(value = "length")
private Integer length;
private Long length;
/**
* 状态 宽
*/
@TableField(value = "width")
private Integer width;
private Long width;
/**
* 状态 高
*/
@TableField(value = "height")
private Integer height;
private Long height;
/**
* 状态 重
*/
@TableField(value = "weight")
private Integer weight;
private Long weight;
}
package org.ta.pddserver.entity;
import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import lombok.Data;
@TableName("co_biz_action_notify")
@Data
public class LogisticsTicketEntity {
@TableId(value = "uid")
private String uid;
@TableField(value = "created")
private String created;
@TableField(value = "updated")
private String updated;
@TableField(value = "state")
private Integer state;
@TableField(value = "remarks")
private String remarks;
@TableField(value = "status")
private Integer status;
@TableField(value = "providerCode")
private String providerCode;
@TableField(value = "orderCode")
private String orderCode;
@TableField(value = "bizAction")
private String bizAction;
@TableField(value = "bizActionDesc")
private String bizActionDesc;
@TableField(value = "executeTime")
private String executeTime;
@TableField(value = "timeZone")
private String timeZone;
@TableField(value = "unpackRemark")
private String unpackRemark;
@TableField(value = "packageInfos")
private String packageInfos;
@TableField(value = "result")
private String result;
}
......@@ -2,8 +2,14 @@ package org.ta.pddserver.mapper;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import org.apache.ibatis.annotations.Mapper;
import org.apache.ibatis.annotations.Param;
import org.apache.ibatis.annotations.Select;
import org.ta.pddserver.entity.CollectOrderDetailEntity;
import org.ta.pddserver.entity.CollectOutMailDetailEntity;
@Mapper
public interface CollectOrderDetailMapper extends BaseMapper<CollectOrderDetailEntity> {
@Select("SELECT * FROM `collect_out_mail_detail` WHERE `mailNo` = #{mailNo} AND `state` > 0")
CollectOutMailDetailEntity getInfoByMailNo(@Param("mailNo") String mailNo);
}
......@@ -2,8 +2,11 @@ package org.ta.pddserver.mapper;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import org.apache.ibatis.annotations.Mapper;
import org.apache.ibatis.annotations.Param;
import org.apache.ibatis.annotations.Select;
import org.ta.pddserver.entity.LogOrderMailDetailEntity;
import org.ta.pddserver.model.api.response.LogOrderMailDetailListResponse;
import org.ta.pddserver.model.api.response.MailNoResponse;
import java.util.List;
......@@ -15,4 +18,10 @@ public interface LogOrderMailDetailMapper extends BaseMapper<LogOrderMailDetailE
@Select("SELECT * FROM `log_order_mail_detail` WHERE `mailNo` = #{mailNo} AND `state` > 0;")
LogOrderMailDetailEntity findByMailNo(String mailNo);
@Select("SELECT `uid`, `logisticsOrderCode` , `expressCode` , `mailNo`, `length` , `width` , `height`, `weight` FROM `log_order_mail_detail` WHERE `logisticsOrderCode` = #{logisticsOrderCode} AND `mailNo` = #{mailNo} AND `state` > 0;")
List<LogOrderMailDetailListResponse> getListByCodeNo(@Param("logisticsOrderCode") String logisticsOrderCode, @Param("mailNo") String mailNo);
@Select("SELECT `uid`, `logisticsOrderCode` , `expressCode` ,`mailNo`, `updated` FROM `log_order_mail_detail` WHERE `mailNo` = #{mailNo} AND `state` > 0;")
MailNoResponse getInfoByMailNo(@Param("mailNo") String mailNo, @Param("status") String status);
}
......@@ -6,6 +6,9 @@ import org.apache.ibatis.annotations.Param;
import org.apache.ibatis.annotations.Select;
import org.apache.ibatis.annotations.Update;
import org.ta.pddserver.entity.LogOrderEntity;
import org.ta.pddserver.model.api.response.LogOrderListResponse;
import java.util.List;
@Mapper
public interface LogOrderMapper extends BaseMapper<LogOrderEntity> {
......@@ -17,4 +20,7 @@ public interface LogOrderMapper extends BaseMapper<LogOrderEntity> {
@Update("UPDATE `log_order` SET `status` = #{status} WHERE `uid` = #{uid};")
int updateOrderStatusById(int status, String uid);
@Select("SELECT `uid`, `updated`, `logisticsOrderCode`, `bizType`, `buyerCode`, `consoType`, `dereRecogCode`, `packageQuantity`, `tags` FROM `log_order` WHERE `logisticsOrderCode` = #{logisticsOrderCode}")
List<LogOrderListResponse> getListByRequest(@Param("logisticsOrderCode") String logisticsOrderCode);
}
package org.ta.pddserver.model.api.request;
import lombok.Data;
@Data
public class FinishUnpackRequest {
private String mailNo;
private String status;
private String action;
private Long length;
private Long width;
private Long height;
private Long weight;
private Long actualWeight;
}
package org.ta.pddserver.model.api.request;
import lombok.Data;
@Data
public class InBoundRequest {
private String mailNo;
private String status;
private Long length;
private Long width;
private Long height;
private Long weight;
private Long actualWeight;
private String action;
}
package org.ta.pddserver.model.api.request;
import lombok.Data;
@Data
public class LogOrderListRequest {
private String logisticsOrderCode;
}
package org.ta.pddserver.model.api.request;
import lombok.Data;
@Data
public class LogOrderMailDetailListRequest {
private String logisticsOrderCode;
private String mailNo;
}
package org.ta.pddserver.model.api.request;
import lombok.Data;
@Data
public class MailNoRequest {
private String mailNo;
private String status;
}
package org.ta.pddserver.model.api.request;
import lombok.Data;
@Data
public class OutBoundRequest {
private String mailNo;
private String expressCode;
private String orderCode;
private String packageType;
}
package org.ta.pddserver.model.api.request;
import lombok.Data;
@Data
public class ReceiveRequest {
private String action;
private String mailNo;
}
package org.ta.pddserver.model.api.response;
import lombok.Data;
@Data
public class CollectOutMailDetailResponse {
private String uid;
private String updated;
private String logisticsOrderCode;
private String bizType;
private String consoType;
private String dereRecogCode;
private int packageQuantity;
private String tags;
private String buyerCode;
}
package org.ta.pddserver.model.api.response;
import lombok.Data;
@Data
public class LogOrderListResponse {
private String uid;
private String updated;
private String logisticsOrderCode;
private String bizType;
private String consoType;
private String dereRecogCode;
private int packageQuantity;
private String tags;
private String buyerCode;
}
package org.ta.pddserver.model.api.response;
import lombok.Data;
@Data
public class LogOrderMailDetailListResponse {
private String uid;
private String logisticsOrderCode;
private String expressCode;
private String mailNo;
private int length;
private int width;
private int height;
private int weight;
}
package org.ta.pddserver.model.api.response;
import lombok.Data;
@Data
public class MailNoResponse {
private String logisticsOrderCode;
private String expressCode;
private String mailNo;
private String updated;
}
package org.ta.pddserver.service;
import com.baomidou.mybatisplus.extension.service.IService;
import org.ta.pddserver.entity.CollectOrderDetailEntity;
import org.ta.pddserver.entity.CollectOutMailDetailEntity;
public interface CollectOutMailDetailService extends IService<CollectOutMailDetailEntity> {
}
package org.ta.pddserver.service.impl;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import org.springframework.stereotype.Service;
import org.ta.pddserver.entity.CollectOrderDetailEntity;
import org.ta.pddserver.entity.CollectOutMailDetailEntity;
import org.ta.pddserver.mapper.CollectOrderDetailMapper;
import org.ta.pddserver.service.CollectOrderDetailService;
@Service
public class CollectcOutMailDetailImpl extends ServiceImpl<CollectOrderDetailMapper, CollectOrderDetailEntity> implements CollectOrderDetailService {
public CollectOutMailDetailEntity getInfoByMailNo(String mailNo) {
return baseMapper.getInfoByMailNo(mailNo);
}
}
\ No newline at end of file
......@@ -5,8 +5,12 @@ import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import org.springframework.stereotype.Service;
import org.ta.pddserver.entity.LogOrderEntity;
import org.ta.pddserver.mapper.LogOrderMapper;
import org.ta.pddserver.model.api.request.LogOrderListRequest;
import org.ta.pddserver.model.api.response.LogOrderListResponse;
import org.ta.pddserver.service.LogOrderService;
import java.util.List;
@Service
public class LogOrderImpl extends ServiceImpl<LogOrderMapper, LogOrderEntity> implements LogOrderService {
......@@ -24,4 +28,10 @@ public class LogOrderImpl extends ServiceImpl<LogOrderMapper, LogOrderEntity> im
public int updateOrderStatus(int status, String uid) {
return baseMapper.updateOrderStatusById(status, uid);
}
public List<LogOrderListResponse> getListByRequest(String logisticsOrderCode) {
List<LogOrderListResponse> list = baseMapper.getListByRequest(logisticsOrderCode);
return list;
}
}
\ No newline at end of file
......@@ -5,6 +5,9 @@ import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import org.springframework.stereotype.Service;
import org.ta.pddserver.entity.LogOrderMailDetailEntity;
import org.ta.pddserver.mapper.LogOrderMailDetailMapper;
import org.ta.pddserver.model.api.request.LogOrderMailDetailListRequest;
import org.ta.pddserver.model.api.response.LogOrderMailDetailListResponse;
import org.ta.pddserver.model.api.response.MailNoResponse;
import org.ta.pddserver.service.LogOrderMailDetailService;
import java.util.List;
......@@ -13,11 +16,18 @@ import java.util.List;
public class LogOrderMailDetailImpl extends ServiceImpl<LogOrderMailDetailMapper, LogOrderMailDetailEntity> implements LogOrderMailDetailService {
public List<LogOrderMailDetailEntity> getListByCode(String logisticsOrderCode) {
List<LogOrderMailDetailEntity> list = baseMapper.getListByCode(logisticsOrderCode);
return list;
return baseMapper.getListByCode(logisticsOrderCode);
}
public LogOrderMailDetailEntity getByMailNo(String mailNo) {
return baseMapper.findByMailNo(mailNo);
}
public List<LogOrderMailDetailListResponse> getListByCodeNo(String logisticsOrderCode, String mailNo) {
return baseMapper.getListByCodeNo(logisticsOrderCode, mailNo);
}
public MailNoResponse getInfoByMailNo(String mailNo, String status) {
return baseMapper.getInfoByMailNo(mailNo, status);
}
}
\ No newline at end of file
......@@ -37,4 +37,22 @@ public class JsonResponse {
resp.put("message", message);
return resp;
}
public static JSONObject generateLocalCommonSuccessResponse(Object data) {
JSONObject resp = new JSONObject();
resp.put("success", true);
resp.put("reason_code", "0");
if (data != null) {
resp.put("data", data);
}
return resp;
}
public static JSONObject generateLocalCommonFailedResponse(String reason_code, String message) {
JSONObject resp = new JSONObject();
resp.put("success", false);
resp.put("reason_code", reason_code);
resp.put("message", message);
return resp;
}
}
package org.ta.pddserver.utils;
import java.util.HashMap;
import java.util.Map;
public class PddPriceTool {
//首重重量
private static int initialWeight = 1000;
//上限重量
private static int maxWeight = 20000;
// 普货首重价格
private static int gInitalPrice = 1850;
//特货首重价格
private static int sInitalPrice = 2800;
//超重计费标准
private static int excessWeight = 500;
//超重价格
private static int excessPrice = 175;
//标椎三边长度
private static int standard = 100;
//标准三边之和
private static int maxStandard = 160;
/*
* 根据类型、重量(g) 计算运费
* */
public static Map FreightCostCalculation(String type, int weight, int length, int width, int height) {
Map map = new HashMap();
int price = 0;
boolean key = true;
int excess = 0;
int max = length + width + height;
//判断边长是否符合标准
if(length > standard || width > standard || height > standard || max > maxStandard) {
//三边各超100或者和超160
key = false;
}else {
// 判断重量是否超重
if (weight > maxWeight) {
//超重无法计算
key = false;
} else {
//分析重量
if (weight > initialWeight) {
//计算超出重量
weight = weight - initialWeight;
excess = excessPrice * ((int) Math.ceil(weight / excessWeight));
}
}
if (key) {
//计算价格
if (type.equals("NORMAL")) {
//普货
price = gInitalPrice + excess;
} else {
price = sInitalPrice + excess;
}
}
}
map.put("price", price);
map.put("key", key);
return map;
}
}
package org.ta.pddserver.utils;
import org.springframework.stereotype.Component;
import java.text.SimpleDateFormat;
import java.util.Date;
@Component
public class TimeTool {
public String getNowString() {
Date date = new Date();
SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
return sdf.format(date);
}
}
\ 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