订单生成时同步生成senderArea和receiverArea

master
luojian 2025-02-13 14:53:18 +08:00
parent 37a91ca445
commit 5643b4605b
3 changed files with 166 additions and 115 deletions

View File

@ -2,6 +2,8 @@ package com.cpxt.web.controller.biz;
import cn.hutool.core.date.DateUtil;
import cn.hutool.core.util.ObjectUtil;
import com.alibaba.fastjson2.JSON;
import com.alibaba.fastjson2.JSONObject;
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.cpxt.biz.domain.BizOrder;
import com.cpxt.biz.domain.BizOrderSub;
@ -18,10 +20,7 @@ import com.cpxt.common.utils.bean.BeanUtils;
import lombok.extern.slf4j.Slf4j;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.transaction.annotation.Transactional;
import org.springframework.web.bind.annotation.PostMapping;
import org.springframework.web.bind.annotation.RequestBody;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;
import org.springframework.web.bind.annotation.*;
import java.util.Date;
import java.util.HashMap;
@ -40,7 +39,6 @@ public class OpenContrller {
@Autowired
private BizOrderSubStatusChangeLogMapper logMapper;
/**
*
* @param orderStatusChangePushEntity
@ -106,4 +104,44 @@ public class OpenContrller {
resultMap.put("timestamp",System.currentTimeMillis());
return resultMap;
}
@Anonymous
@GetMapping("/test9")
public void callThirdPartyInterface(BizOrder bizOrder, BizOrderSub bizOrderSub) {
// String response = cityDelivery.addOrder(bizOrder, bizOrderSub);
String response = "{\"success\":true,\"message\":\"\",\"code\":200,\"result\":{\"insuredFee\":0,\"otherFee2\":0,\"orderNo\":\"202502130613120634637\",\"costFee\":0,\"expressNbr\":\"1158201680867\",\"totalFee\":800,\"expectTime\":\"2025-02-14 12:13:11\",\"tipFee\":0,\"otherFee1\":0,\"postageFee\":800},\"timestamp\":1739427192384}";
JSONObject jsonObject = JSON.parseObject(response);
if ((Integer) jsonObject.get("code") == 200) {
// 同步更新运单信息
// BizOrderSub orderSub = bizOrderSubMapper.selectBySubOrderSn(bizOrderSub.getSubOrderSn());
BizOrderSub orderSub = bizOrderSubMapper.selectBySubOrderSn("Y202412261006-1");
Map<String, Object> result = (Map<String, Object>) jsonObject.get("result");
String orderNo = Helper.NStr(result.get("orderNo"));
String expressNbr = Helper.NStr(result.get("expressNbr"));
// 预计送达时间(时间戳)
Long expectTime = Helper.FLong(result.get("expectTime"));
// 配送距离
Long distance = Helper.FLong(result.get("distance"));
int costFee = Helper.FInt(result.get("costFee"));
int tipFee = Helper.FInt(result.get("tipFee"));
int insuredFee = Helper.FInt(result.get("insuredFee"));
int otherFee1 = Helper.FInt(result.get("otherFee1"));
int otherFee2 = Helper.FInt(result.get("otherFee2"));
int totalFee = Helper.FInt(result.get("totalFee"));
int postageFee = Helper.FInt(result.get("postageFee"));
if (expectTime != null && expectTime != 0) orderSub.setExpectTime(new Date(expectTime));
orderSub.setPlatformOrderNo(orderNo);
orderSub.setExpressNbr(expressNbr);
orderSub.setDistance(String.valueOf(distance));
orderSub.setCostFee(Integer.toString(costFee));
orderSub.setTipFee(String.valueOf(tipFee));
orderSub.setInsuredFee(String.valueOf(insuredFee));
orderSub.setOtherFee1(String.valueOf(otherFee1));
orderSub.setOtherFee2(String.valueOf(otherFee2));
orderSub.setTotalFee(String.valueOf(totalFee));
orderSub.setPostageFee(String.valueOf(postageFee));
bizOrderSubMapper.updateById(orderSub);
}
}
}

View File

@ -79,6 +79,7 @@ public class OrderTask {
order.setSenderName(warehouse.getName());
order.setSenderLinkman(warehouse.getLinkman());
order.setSenderPhone(warehouse.getLinkphone());
order.setSenderArea(warehouse.getArea());
order.setSenderAddress(warehouse.getAddress());
order.setSenderLat(warehouse.getLat());
order.setSenderLng(warehouse.getLng());
@ -89,6 +90,7 @@ public class OrderTask {
order.setReceiverName(shop.getName());
order.setReceiverLinkman(shop.getLinkman());
order.setReceiverPhone(shop.getLinkphone());
order.setReceiverArea(shop.getArea());
order.setReceiverAddress(shop.getAddress());
order.setReceiverLat(shop.getLat());
order.setReceiverLng(shop.getLng());

View File

@ -5,6 +5,7 @@ import java.util.Date;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
import cn.hutool.core.date.DateUtil;
import cn.hutool.core.util.ObjectUtil;
import com.alibaba.fastjson2.JSON;
@ -17,6 +18,7 @@ import com.cpxt.biz.domain.vo.BizOrderVo;
import com.cpxt.biz.domain.vo.BizOrderVoCustomer;
import com.cpxt.biz.mapper.*;
import com.cpxt.biz.orderutil.CityDelivery;
import com.cpxt.common.annotation.Anonymous;
import com.cpxt.common.core.domain.entity.SysUser;
import com.cpxt.common.exception.ServiceException;
import com.cpxt.common.utils.*;
@ -40,7 +42,6 @@ import javax.validation.Validator;
* @date 2024-12-16
*/
@Service
@RestController
public class BizOrderServiceImpl implements IBizOrderService {
private static final Logger log = LoggerFactory.getLogger(BizOrderServiceImpl.class);
@ -386,16 +387,21 @@ public class BizOrderServiceImpl implements IBizOrderService {
BizOrderSub bizOrderSub = new BizOrderSub();
bizOrderSub.setOrderSn(orderSn);
bizOrderSub.setSubOrderSn(orderSn + "-" + i);
if (ObjectUtil.isNotEmpty(subList.get(0).get("weight"))) bizOrderSub.setWeight(BigDecimal.valueOf(Helper.FDouble( subList.get(0).get("weight"))));
if (ObjectUtil.isNotEmpty(subList.get(0).get("length"))) bizOrderSub.setLength(BigDecimal.valueOf(Helper.FDouble( subList.get(0).get("length"))));
if (ObjectUtil.isNotEmpty(subList.get(0).get("width"))) bizOrderSub.setWidth(BigDecimal.valueOf(Helper.FDouble( subList.get(0).get("width"))));
if (ObjectUtil.isNotEmpty(subList.get(0).get("height"))) bizOrderSub.setHeight(BigDecimal.valueOf(Helper.FDouble( subList.get(0).get("height"))));
if (ObjectUtil.isNotEmpty(subList.get(0).get("weight")))
bizOrderSub.setWeight(BigDecimal.valueOf(Helper.FDouble(subList.get(0).get("weight"))));
if (ObjectUtil.isNotEmpty(subList.get(0).get("length")))
bizOrderSub.setLength(BigDecimal.valueOf(Helper.FDouble(subList.get(0).get("length"))));
if (ObjectUtil.isNotEmpty(subList.get(0).get("width")))
bizOrderSub.setWidth(BigDecimal.valueOf(Helper.FDouble(subList.get(0).get("width"))));
if (ObjectUtil.isNotEmpty(subList.get(0).get("height")))
bizOrderSub.setHeight(BigDecimal.valueOf(Helper.FDouble(subList.get(0).get("height"))));
if (ObjectUtil.isNotEmpty(subList.get(0).get("length")) && ObjectUtil.isNotEmpty(subList.get(0).get("width")) && ObjectUtil.isNotEmpty(subList.get(0).get("height"))) {
bizOrderSub.setVolume(BigDecimal.valueOf(Helper.FDouble(subList.get(0).get("length"))).multiply(BigDecimal.valueOf(Helper.FDouble(subList.get(0).get("width")))).multiply(BigDecimal.valueOf(Helper.FDouble(subList.get(0).get("height")))));
}
bizOrderSub.setGoodsType((String) subList.get(0).get("goodsType"));
bizOrderSub.setGoodsName((String) subList.get(0).get("goodsName"));
if (ObjectUtil.isNotEmpty(subList.get(0).get("orderFee"))) bizOrderSub.setOrderFee(BigDecimal.valueOf(Helper.FDouble( subList.get(0).get("orderFee"))));
if (ObjectUtil.isNotEmpty(subList.get(0).get("orderFee")))
bizOrderSub.setOrderFee(BigDecimal.valueOf(Helper.FDouble(subList.get(0).get("orderFee"))));
bizOrderSub.setRemark((String) subList.get(0).get("remark"));
bizOrderSubMapper.insert(bizOrderSub);
@ -409,16 +415,21 @@ public class BizOrderServiceImpl implements IBizOrderService {
BizOrderSub bizOrderSub = new BizOrderSub();
bizOrderSub.setOrderSn(orderSn);
bizOrderSub.setSubOrderSn((String) map1.get("subOrderSn"));
if (ObjectUtil.isNotEmpty(map1.get("weight"))) bizOrderSub.setWeight(BigDecimal.valueOf(Helper.FDouble( map1.get("weight"))));
if (ObjectUtil.isNotEmpty(map1.get("length"))) bizOrderSub.setLength(BigDecimal.valueOf(Helper.FDouble( map1.get("length"))));
if (ObjectUtil.isNotEmpty(map1.get("width"))) bizOrderSub.setWidth(BigDecimal.valueOf(Helper.FDouble( map1.get("width"))));
if (ObjectUtil.isNotEmpty(map1.get("height"))) bizOrderSub.setHeight(BigDecimal.valueOf(Helper.FDouble( map1.get("height"))));
if (ObjectUtil.isNotEmpty(map1.get("weight")))
bizOrderSub.setWeight(BigDecimal.valueOf(Helper.FDouble(map1.get("weight"))));
if (ObjectUtil.isNotEmpty(map1.get("length")))
bizOrderSub.setLength(BigDecimal.valueOf(Helper.FDouble(map1.get("length"))));
if (ObjectUtil.isNotEmpty(map1.get("width")))
bizOrderSub.setWidth(BigDecimal.valueOf(Helper.FDouble(map1.get("width"))));
if (ObjectUtil.isNotEmpty(map1.get("height")))
bizOrderSub.setHeight(BigDecimal.valueOf(Helper.FDouble(map1.get("height"))));
if (ObjectUtil.isNotEmpty(map1.get("length")) && ObjectUtil.isNotEmpty(map1.get("width")) && ObjectUtil.isNotEmpty(map1.get("height"))) {
bizOrderSub.setVolume(BigDecimal.valueOf(Helper.FDouble(map1.get("length"))).multiply(BigDecimal.valueOf(Helper.FDouble(map1.get("width")))).multiply(BigDecimal.valueOf(Helper.FDouble(map1.get("height")))));
}
bizOrderSub.setGoodsType((String) map1.get("goodsType"));
bizOrderSub.setGoodsName((String) map1.get("goodsName"));
if (ObjectUtil.isNotEmpty(map1.get("orderFee"))) bizOrderSub.setOrderFee(BigDecimal.valueOf(Helper.FDouble( map1.get("orderFee"))));
if (ObjectUtil.isNotEmpty(map1.get("orderFee")))
bizOrderSub.setOrderFee(BigDecimal.valueOf(Helper.FDouble(map1.get("orderFee"))));
bizOrderSub.setRemark((String) map1.get("remark"));
bizOrderSubMapper.insert(bizOrderSub);
@ -429,10 +440,8 @@ public class BizOrderServiceImpl implements IBizOrderService {
}
}
@GetMapping("/test9")
private void callThirdPartyInterface(BizOrder bizOrder, BizOrderSub bizOrderSub) {
// String response = cityDelivery.addOrder(bizOrder, bizOrderSub);
String response = "{\"success\":true,\"message\":\"\",\"code\":200,\"result\":{\"insuredFee\":0,\"otherFee2\":0,\"orderNo\":\"202502130138279376949\",\"costFee\":0,\"expressNbr\":\"1158127631667\",\"totalFee\":800,\"expectTime\":null,\"tipFee\":0,\"otherFee1\":0,\"postageFee\":800},\"timestamp\":1739419238706}";
String response = cityDelivery.addOrder(bizOrder, bizOrderSub);
JSONObject jsonObject = JSON.parseObject(response);
if ((Integer) jsonObject.get("code") == 200) {
// 同步更新运单信息
@ -498,6 +507,7 @@ public class BizOrderServiceImpl implements IBizOrderService {
/**
*
*
* @param ids id
* @return
*/
@ -807,6 +817,7 @@ public class BizOrderServiceImpl implements IBizOrderService {
}
return num;
}
@Override
public int arrived(Map map) {
Long orderId = Helper.FLong(map.get("id"));