增加顺丰同城的订单到订单详情页
This commit is contained in:
parent
cfbaa09225
commit
ea94c40b72
@ -19,6 +19,12 @@
|
||||
|
||||
|
||||
<dependencies>
|
||||
<dependency>
|
||||
<groupId>org</groupId>
|
||||
<artifactId>jaudiotagger</artifactId>
|
||||
<version>2.0.1</version>
|
||||
</dependency>
|
||||
|
||||
<!-- mp3文件支持(如语音时长)-->
|
||||
<dependency>
|
||||
<groupId>org</groupId>
|
||||
|
||||
@ -283,6 +283,8 @@ public class ShopOrderBaseServiceImpl extends BaseServiceImpl<ShopOrderBaseMappe
|
||||
private ShopStoreSameCityTransportBaseService shopStoreSameCityTransportBaseService;
|
||||
@Resource
|
||||
private ShopMessageTemplateService shopMessageTemplateService;
|
||||
@Resource
|
||||
private ShopStoreSfOrderService shopStoreSfOrderService;
|
||||
|
||||
|
||||
@Value("${sf-express.enable}")
|
||||
@ -666,7 +668,8 @@ public class ShopOrderBaseServiceImpl extends BaseServiceImpl<ShopOrderBaseMappe
|
||||
Integer kind_id = Convert.toInt(base_row.get("kind_id"));
|
||||
String chain_code = Convert.toStr(base_row.get("chain_code"));
|
||||
|
||||
if (shopProductBaseService.isVirtual(kind_id)) {
|
||||
Boolean is_virtual = shopProductBaseService.isVirtual(kind_id);
|
||||
if (is_virtual) {
|
||||
base_row.put("is_virtual", true);
|
||||
if (StrUtil.isNotBlank(chain_code)) {
|
||||
base_row.put("virtual_qrcode", accountBaseConfigService.qrcode(chain_code, 450, 450));
|
||||
@ -892,7 +895,7 @@ public class ShopOrderBaseServiceImpl extends BaseServiceImpl<ShopOrderBaseMappe
|
||||
}
|
||||
|
||||
// 如果是虚拟订单加入shop_product_valid_period表里的信息
|
||||
Boolean is_virtual = Convert.toBool(base_row.get("is_virtual"));
|
||||
// Boolean is_virtual = Convert.toBool(base_row.get("is_virtual"));
|
||||
if (is_virtual) {
|
||||
Map map = items.get(0);
|
||||
Long product_id = Convert.toLong(map.get("product_id"));
|
||||
@ -961,6 +964,18 @@ public class ShopOrderBaseServiceImpl extends BaseServiceImpl<ShopOrderBaseMappe
|
||||
int index = StrUtil.indexOfIgnoreCase(delivery_time_name, "0000");
|
||||
base_row.put("delivery_time_name", delivery_time == null || index != -1 ? I18nUtil._("正常配送") : delivery_time_name);
|
||||
|
||||
// 顺丰同城的订单信息
|
||||
if(!is_virtual && base_row.get("delivery_type_id")!=null && Convert.toInt(base_row.get("delivery_type_id")).equals(StateCode.DELIVERY_TYPE_SAME_CITY)){
|
||||
// 非虚拟商品,如果是顺丰同城配送的,返回顺丰的订单Id
|
||||
ShopStoreSfOrder shopStoreSfOrder = shopStoreSfOrderService.getByShopOrderId(order_id);
|
||||
if(shopStoreSfOrder!=null){
|
||||
base_row.put("sf_order_id", shopStoreSfOrder.getSf_order_id());
|
||||
base_row.put("sf_bill_id", shopStoreSfOrder.getSf_bill_id());
|
||||
base_row.put("sf_order_status", shopStoreSfOrder.getOrder_status());
|
||||
base_row.put("sf_order_status_desc", shopStoreSfOrder.getStatus_desc());
|
||||
}
|
||||
}
|
||||
|
||||
return base_row;
|
||||
}
|
||||
|
||||
|
||||
@ -3,6 +3,7 @@ package com.suisung.mall.shop.store.controller.admin;
|
||||
import cn.hutool.core.collection.CollUtil;
|
||||
import com.suisung.mall.common.api.CommonResult;
|
||||
import com.suisung.mall.common.modules.store.ShopStorePrinter;
|
||||
import com.suisung.mall.common.utils.PositionUtil;
|
||||
import com.suisung.mall.shop.store.service.ShopStoreEmployeeService;
|
||||
import com.suisung.mall.shop.store.service.ShopStorePrinterService;
|
||||
import com.suisung.mall.shop.store.service.ShopStoreSameCityTransportBaseService;
|
||||
@ -37,9 +38,10 @@ public class ShopStorePrinterController {
|
||||
@RequestMapping(value = "/testcase", method = {RequestMethod.GET})
|
||||
public CommonResult TestCase() {
|
||||
// Object data = shopStoreSameCityTransportBaseService.computeSameCityTransportFee(3L, BigDecimal.valueOf(110.07123874241765), BigDecimal.valueOf(23.366250981849255), 100, BigDecimal.valueOf(0.5), BigDecimal.valueOf(5.5), BigDecimal.valueOf(5.5), true);
|
||||
Double distanceD = PositionUtil.getDistance4(110.084376,23.394216,110.11752034714767,23.31704849881646);
|
||||
|
||||
List<Integer> list = shopStoreEmployeeService.selectEmployeeByStoreId(3,"店铺管理员");
|
||||
return CommonResult.success(list);
|
||||
// List<Integer> list = shopStoreEmployeeService.selectEmployeeByStoreId(3,"店铺管理员");
|
||||
return CommonResult.success(distanceD);
|
||||
}
|
||||
|
||||
@ApiOperation(value = "测试打印模版消息", notes = "测试打印模版消息")
|
||||
|
||||
@ -14,6 +14,13 @@ public interface ShopStoreSfOrderService extends IBaseService<ShopStoreSfOrder>
|
||||
*/
|
||||
ShopStoreSfOrder getBySfOrderId(String sfOrderId);
|
||||
|
||||
/**
|
||||
* 根据商家订单Id 获取一条记录
|
||||
* @param shopOrderId
|
||||
* @return
|
||||
*/
|
||||
ShopStoreSfOrder getByShopOrderId(String shopOrderId);
|
||||
|
||||
/**
|
||||
* 根据商家订单号获取顺丰同城的订单号
|
||||
*
|
||||
|
||||
@ -10,6 +10,7 @@ package com.suisung.mall.shop.store.service.impl;
|
||||
|
||||
import cn.hutool.core.collection.CollUtil;
|
||||
import cn.hutool.core.convert.Convert;
|
||||
import cn.hutool.core.util.NumberUtil;
|
||||
import cn.hutool.core.util.ObjectUtil;
|
||||
import cn.hutool.core.util.StrUtil;
|
||||
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
|
||||
@ -341,7 +342,7 @@ public class ShopStoreSameCityTransportBaseServiceImpl extends BaseServiceImpl<S
|
||||
|
||||
// 获取基础运费设置记录
|
||||
ShopStoreSameCityTransportBase transportBase = getShopStoreSameCityTransportBaseById(storeId);
|
||||
if (ObjectUtil.isNull(transportBase) || ObjectUtil.isNull(transportBase.getStore_longitude()) || ObjectUtil.isNull(transportBase.getStore_latitude()) || ObjectUtil.isNull(transportBase.getDistance_base()) || ObjectUtil.isNull(transportBase.getDelivery_base_fee())) {
|
||||
if (transportBase==null || transportBase.getStore_longitude()==null || transportBase.getStore_latitude()==null || transportBase.getDistance_base()==null || transportBase.getDelivery_base_fee()==null ) {
|
||||
logger.error("同城配送费计算:无法获取基础运费设置记录,或店铺经纬度为空");
|
||||
if (canThrow) {
|
||||
throw new ApiException(I18nUtil._("商家尚未配置同城配送相关设置。"));
|
||||
@ -353,6 +354,7 @@ public class ShopStoreSameCityTransportBaseServiceImpl extends BaseServiceImpl<S
|
||||
Double distanceD = PositionUtil.getDistance4(transportBase.getStore_longitude().doubleValue(), transportBase.getStore_latitude().doubleValue(), orderLongitude.doubleValue(), orderLatitude.doubleValue());
|
||||
// 实际配送距离,单位米
|
||||
Integer distance = distanceD.intValue();
|
||||
logger.debug("下单时,店铺与收货地址的距离:{} 米", distance);
|
||||
|
||||
// ### 基础配送费计算
|
||||
BigDecimal deliveryBaseFee = transportBase.getDelivery_base_fee();
|
||||
@ -390,6 +392,8 @@ public class ShopStoreSameCityTransportBaseServiceImpl extends BaseServiceImpl<S
|
||||
|
||||
deliveryBaseFee = deliveryBaseFee.add(transportBase.getWeight_increase_fee().multiply(BigDecimal.valueOf(times)));
|
||||
}
|
||||
|
||||
logger.debug("下单时,店铺与收货地址超出基本距离:额外增加的 {}元 运费", deliveryBaseFee);
|
||||
// #### 基础配送费计算完毕
|
||||
|
||||
|
||||
@ -440,6 +444,8 @@ public class ShopStoreSameCityTransportBaseServiceImpl extends BaseServiceImpl<S
|
||||
}
|
||||
}
|
||||
|
||||
logger.debug("下单时,根据规则减免 {}元 运费", reduceDeliveryFee);
|
||||
|
||||
if (canDeliveryAreaCnt <= 0) {
|
||||
if (canThrow) {
|
||||
throw new ApiException(I18nUtil._(canNotDeliveryReason));
|
||||
|
||||
@ -44,6 +44,16 @@ public class ShopStoreSfOrderServiceImpl extends BaseServiceImpl<ShopStoreSfOrde
|
||||
return getOne(wrapper);
|
||||
}
|
||||
|
||||
@Override
|
||||
public ShopStoreSfOrder getByShopOrderId(String shopOrderId) {
|
||||
if (StrUtil.isBlank(shopOrderId)) {
|
||||
return null;
|
||||
}
|
||||
QueryWrapper<ShopStoreSfOrder> wrapper = new QueryWrapper<>();
|
||||
wrapper.eq("shop_order_id", shopOrderId);
|
||||
return getOne(wrapper);
|
||||
}
|
||||
|
||||
/**
|
||||
* 根据商家订单号获取顺丰同城的订单号
|
||||
*
|
||||
|
||||
Loading…
Reference in New Issue
Block a user