订单详情接口调整
This commit is contained in:
@@ -5,8 +5,9 @@ import com.tashow.cloud.common.pojo.CommonResult;
|
|||||||
import com.tashow.cloud.common.pojo.PageResult;
|
import com.tashow.cloud.common.pojo.PageResult;
|
||||||
import com.tashow.cloud.memberapi.api.user.MemberUserApi;
|
import com.tashow.cloud.memberapi.api.user.MemberUserApi;
|
||||||
import com.tashow.cloud.trade.controller.admin.order.vo.TradeOrderDetailRespVO;
|
import com.tashow.cloud.trade.controller.admin.order.vo.TradeOrderDetailRespVO;
|
||||||
import com.tashow.cloud.trade.controller.admin.order.vo.TradeOrderPageRespVO;
|
|
||||||
import com.tashow.cloud.trade.controller.admin.order.vo.TradeOrderPageReqVO;
|
import com.tashow.cloud.trade.controller.admin.order.vo.TradeOrderPageReqVO;
|
||||||
|
import com.tashow.cloud.trade.controller.admin.order.vo.TradeOrderPageRespVO;
|
||||||
|
import com.tashow.cloud.trade.controller.admin.order.vo.TradeOrderSummaryRespVO;
|
||||||
import com.tashow.cloud.trade.convert.order.TradeOrderConvert;
|
import com.tashow.cloud.trade.convert.order.TradeOrderConvert;
|
||||||
import com.tashow.cloud.trade.dal.dataobject.order.TradeOrderDO;
|
import com.tashow.cloud.trade.dal.dataobject.order.TradeOrderDO;
|
||||||
import com.tashow.cloud.trade.dal.dataobject.order.TradeOrderItemDO;
|
import com.tashow.cloud.trade.dal.dataobject.order.TradeOrderItemDO;
|
||||||
@@ -91,12 +92,18 @@ public class TradeOrderController {
|
|||||||
return success(TradeOrderConvert.INSTANCE.convert(order, orderItems, orderLogs));
|
return success(TradeOrderConvert.INSTANCE.convert(order, orderItems, orderLogs));
|
||||||
}
|
}
|
||||||
|
|
||||||
// // 获得交易订单统计
|
//
|
||||||
// @GetMapping("/summary")
|
|
||||||
|
/**
|
||||||
|
* 获得交易订单统计
|
||||||
|
* @return
|
||||||
|
*/
|
||||||
|
@GetMapping("/summary")
|
||||||
|
@PermitAll
|
||||||
// @PreAuthorize("@ss.hasPermission('trade:order:query')")
|
// @PreAuthorize("@ss.hasPermission('trade:order:query')")
|
||||||
// public CommonResult<TradeOrderSummaryRespVO> getOrderSummary(TradeOrderPageReqVO reqVO) {
|
public CommonResult<TradeOrderSummaryRespVO> getOrderSummary() {
|
||||||
// return success(tradeOrderQueryService.getOrderSummary(reqVO));
|
return success(tradeOrderQueryService.getOrderSummary());
|
||||||
// }
|
}
|
||||||
//
|
//
|
||||||
// // 获得交易订单的物流轨迹
|
// // 获得交易订单的物流轨迹
|
||||||
// // id: 交易订单编号
|
// // id: 交易订单编号
|
||||||
|
|||||||
@@ -3,6 +3,7 @@ package com.tashow.cloud.trade.controller.admin.order.vo;
|
|||||||
// 移除Swagger相关导入
|
// 移除Swagger相关导入
|
||||||
|
|
||||||
import com.alibaba.fastjson.JSONArray;
|
import com.alibaba.fastjson.JSONArray;
|
||||||
|
import com.alibaba.fastjson.JSONObject;
|
||||||
import com.fasterxml.jackson.databind.annotation.JsonSerialize;
|
import com.fasterxml.jackson.databind.annotation.JsonSerialize;
|
||||||
import com.tashow.cloud.common.util.json.databind.StringLocalDateTimeSerializer;
|
import com.tashow.cloud.common.util.json.databind.StringLocalDateTimeSerializer;
|
||||||
import lombok.Data;
|
import lombok.Data;
|
||||||
@@ -14,7 +15,7 @@ import java.util.List;
|
|||||||
// 管理后台 - 交易订单的详情 Response VO
|
// 管理后台 - 交易订单的详情 Response VO
|
||||||
@Data
|
@Data
|
||||||
@Accessors(chain = true)
|
@Accessors(chain = true)
|
||||||
public class TradeOrderDetailRespVO {
|
public class TradeOrderDetailRespVO extends TradeOrderBaseVO{
|
||||||
|
|
||||||
//订单类目id
|
//订单类目id
|
||||||
private Long orderCategoryId;
|
private Long orderCategoryId;
|
||||||
@@ -31,14 +32,24 @@ public class TradeOrderDetailRespVO {
|
|||||||
private LocalDateTime propertyTime;
|
private LocalDateTime propertyTime;
|
||||||
//保障状态
|
//保障状态
|
||||||
private Integer propertyStatus;
|
private Integer propertyStatus;
|
||||||
|
//订单金额
|
||||||
|
private Integer price;
|
||||||
|
//实付金额
|
||||||
|
private Integer payPrice;
|
||||||
//优惠金额
|
//优惠金额
|
||||||
private Integer discountPrice;
|
private Integer discountPrice;
|
||||||
//退款金额
|
//退款金额
|
||||||
private Integer refundPrice;
|
private Integer refundPrice;
|
||||||
//实收金额
|
//实收金额
|
||||||
private Integer livePrice;
|
private Integer livePrice;
|
||||||
|
//支付方式
|
||||||
|
private Integer payType;
|
||||||
//支付渠道 (线上线下)
|
//支付渠道 (线上线下)
|
||||||
private String payChannelCode;
|
private Integer payChannelCode;
|
||||||
|
//倒计时()
|
||||||
|
private String payLastTime;
|
||||||
|
//财务状态
|
||||||
|
private Integer financeStatus;
|
||||||
//交易流水号
|
//交易流水号
|
||||||
private String payOrderId;
|
private String payOrderId;
|
||||||
//支付时间
|
//支付时间
|
||||||
@@ -53,7 +64,7 @@ public class TradeOrderDetailRespVO {
|
|||||||
private List<Item> items;
|
private List<Item> items;
|
||||||
|
|
||||||
//服务信息(order_serve_info配置)
|
//服务信息(order_serve_info配置)
|
||||||
private JSONArray tradeServeInfo;
|
private JSONObject tradeServeInfo;
|
||||||
//扩展服务信息(order_serve_info配置)
|
//扩展服务信息(order_serve_info配置)
|
||||||
private JSONArray tradeExtendServeInfo;
|
private JSONArray tradeExtendServeInfo;
|
||||||
//附加费信息(order_serve_info配置)
|
//附加费信息(order_serve_info配置)
|
||||||
@@ -111,7 +122,5 @@ public class TradeOrderDetailRespVO {
|
|||||||
private String properties;
|
private String properties;
|
||||||
//服务内容
|
//服务内容
|
||||||
private String serveContent;
|
private String serveContent;
|
||||||
|
|
||||||
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -10,13 +10,10 @@ public class TradeOrderSummaryRespVO {
|
|||||||
// 订单数量 - 必填,示例:1024
|
// 订单数量 - 必填,示例:1024
|
||||||
private Long orderCount;
|
private Long orderCount;
|
||||||
|
|
||||||
// 订单金额 - 必填,示例:1024
|
// 实付金额 - 必填,示例:1024
|
||||||
private Long orderPayPrice;
|
private Long payPrice;
|
||||||
|
|
||||||
// 退款单数 - 必填,示例:1024
|
// 最终实收金额 - 必填,示例:1024
|
||||||
private Long afterSaleCount;
|
private Long livePrice;
|
||||||
|
|
||||||
// 退款金额 - 必填,示例:1024
|
|
||||||
private Long afterSalePrice;
|
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -2,7 +2,7 @@ package com.tashow.cloud.trade.convert.order;
|
|||||||
|
|
||||||
import cn.hutool.core.util.BooleanUtil;
|
import cn.hutool.core.util.BooleanUtil;
|
||||||
import cn.hutool.core.util.StrUtil;
|
import cn.hutool.core.util.StrUtil;
|
||||||
import com.alibaba.fastjson.JSONObject;
|
import com.alibaba.fastjson.JSON;
|
||||||
import com.fasterxml.jackson.databind.ObjectMapper;
|
import com.fasterxml.jackson.databind.ObjectMapper;
|
||||||
import com.tashow.cloud.common.pojo.PageResult;
|
import com.tashow.cloud.common.pojo.PageResult;
|
||||||
import com.tashow.cloud.common.util.collection.CollectionUtils;
|
import com.tashow.cloud.common.util.collection.CollectionUtils;
|
||||||
@@ -28,7 +28,6 @@ import com.tashow.cloud.trade.dal.dataobject.order.TradeOrderItemDO;
|
|||||||
import com.tashow.cloud.trade.dal.dataobject.order.TradeOrderLogDO;
|
import com.tashow.cloud.trade.dal.dataobject.order.TradeOrderLogDO;
|
||||||
import com.tashow.cloud.trade.framework.delivery.core.client.dto.ExpressTrackRespDTO;
|
import com.tashow.cloud.trade.framework.delivery.core.client.dto.ExpressTrackRespDTO;
|
||||||
import com.tashow.cloud.trade.framework.order.config.TradeOrderProperties;
|
import com.tashow.cloud.trade.framework.order.config.TradeOrderProperties;
|
||||||
import com.tashow.cloud.trade.framework.order.core.utils.TransOrderByTempUtils;
|
|
||||||
import com.tashow.cloud.trade.service.brokerage.bo.BrokerageAddReqBO;
|
import com.tashow.cloud.trade.service.brokerage.bo.BrokerageAddReqBO;
|
||||||
import com.tashow.cloud.trade.service.price.bo.TradePriceCalculateReqBO;
|
import com.tashow.cloud.trade.service.price.bo.TradePriceCalculateReqBO;
|
||||||
import com.tashow.cloud.trade.service.price.bo.TradePriceCalculateRespBO;
|
import com.tashow.cloud.trade.service.price.bo.TradePriceCalculateRespBO;
|
||||||
@@ -83,31 +82,20 @@ public interface TradeOrderConvert {
|
|||||||
//订单基本信息
|
//订单基本信息
|
||||||
TradeOrderDetailRespVO orderVO = convert2(order, orderItems, orderLogs);
|
TradeOrderDetailRespVO orderVO = convert2(order, orderItems, orderLogs);
|
||||||
//计算商品到手价
|
//计算商品到手价
|
||||||
|
|
||||||
orderVO.getItems().stream().forEach(item -> {
|
orderVO.getItems().stream().forEach(item -> {
|
||||||
item.setHandedPrice(item.getPrice() - item.getDiscountPrice());
|
item.setHandedPrice(item.getPrice() - item.getDiscountPrice());
|
||||||
item.setTotalPrice(item.getPrice() * item.getCount() - item.getDiscountPrice());
|
item.setTotalPrice(item.getPrice() * item.getCount() - item.getDiscountPrice());
|
||||||
|
|
||||||
//产品类目在订单详情里
|
//产品类目在订单详情里
|
||||||
orderVO.setOrderCategoryId(item.getOrderCategoryId());
|
orderVO.setOrderCategoryId(item.getOrderCategoryId());
|
||||||
orderVO.setOrderCategoryName(item.getOrderCategoryName());
|
orderVO.setOrderCategoryName(item.getOrderCategoryName());
|
||||||
|
|
||||||
//todo 服务保障列表 properties 服务内容 serveContent
|
//todo 服务保障列表 properties 服务内容 serveContent
|
||||||
|
|
||||||
//转换
|
|
||||||
});
|
});
|
||||||
//转换服务信息
|
//服务信息
|
||||||
orderItems.stream().filter(a -> StrUtil.isNotBlank(a.getServeInfo()))
|
orderItems.stream().filter(a->StrUtil.isNotBlank(a.getServeInfo())).findAny().ifPresent(a -> {
|
||||||
.findAny()
|
orderVO.setTradeServeInfo(JSON.parseObject(a.getServeInfo()));
|
||||||
.ifPresent(orderItem -> {
|
orderVO.setTradeExtendServeInfo(JSON.parseArray(a.getServeExtInfo()));
|
||||||
JSONObject transResult = TransOrderByTempUtils.trans(orderItem);
|
orderVO.setTradeExtendCostInfo(JSON.parseArray(a.getPriceExtInfo()));
|
||||||
//服务信息(order_serve_info配置)
|
});
|
||||||
orderVO.setTradeServeInfo(transResult.getJSONArray("serveInfo"));
|
|
||||||
//可选服务 //扩展服务信息(order_serve_info配置)
|
|
||||||
orderVO.setTradeExtendServeInfo(transResult.getJSONArray("selectedServeInfo"));
|
|
||||||
//服务附加费 //附加费信息(order_serve_info配置)
|
|
||||||
orderVO.setTradeExtendCostInfo(transResult.getJSONArray("priceExtInfo"));
|
|
||||||
});
|
|
||||||
|
|
||||||
//保障时间 保障状态 如果状态是已完成 则
|
//保障时间 保障状态 如果状态是已完成 则
|
||||||
if (Objects.equals(order.getOrderStatus(), TradeOrderStatusEnum.COMPLETED.getStatus())) {
|
if (Objects.equals(order.getOrderStatus(), TradeOrderStatusEnum.COMPLETED.getStatus())) {
|
||||||
|
|||||||
@@ -46,15 +46,13 @@ public interface TradeOrderMapper extends BaseMapperX<TradeOrderDO> {
|
|||||||
.orderByDesc(TradeOrderDO::getId));
|
.orderByDesc(TradeOrderDO::getId));
|
||||||
}
|
}
|
||||||
|
|
||||||
// TODO @疯狂:如果用 map 返回,要不这里直接用 TradeOrderSummaryRespVO 返回?也算合理,就当 sql 查询出这么个玩意~~
|
default List<Map<String, Object>> selectOrderSummary() {
|
||||||
default List<Map<String, Object>> selectOrderSummaryGroupByRefundStatus(TradeOrderPageReqVO reqVO, Set<Long> userIds) {
|
|
||||||
return selectMaps(new MPJLambdaWrapperX<TradeOrderDO>()
|
return selectMaps(new MPJLambdaWrapperX<TradeOrderDO>()
|
||||||
.selectAs(TradeOrderDO::getRefundStatus, TradeOrderDO::getRefundStatus) // 售后状态
|
.selectCount(TradeOrderDO::getId, "count")
|
||||||
.selectCount(TradeOrderDO::getId, "count") // 售后状态对应的数量
|
.selectSum(TradeOrderDO::getPayPrice, "payPrice")
|
||||||
.selectSum(TradeOrderDO::getPayPrice, "price") // 售后状态对应的支付金额
|
.selectSum(TradeOrderDO::getLivePrice, "livePrice")
|
||||||
.inIfPresent(TradeOrderDO::getUserId, userIds)
|
.groupBy(TradeOrderDO::getId)
|
||||||
.betweenIfPresent(TradeOrderDO::getCreateTime, reqVO.getCreateTime())
|
);
|
||||||
.groupBy(TradeOrderDO::getRefundStatus)); // 按售后状态分组
|
|
||||||
}
|
}
|
||||||
|
|
||||||
default PageResult<TradeOrderDO> selectPage(AppTradeOrderPageReqVO reqVO, Long userId) {
|
default PageResult<TradeOrderDO> selectPage(AppTradeOrderPageReqVO reqVO, Long userId) {
|
||||||
|
|||||||
@@ -70,10 +70,9 @@ public interface TradeOrderQueryService {
|
|||||||
/**
|
/**
|
||||||
* 获得订单统计
|
* 获得订单统计
|
||||||
*
|
*
|
||||||
* @param reqVO 请求参数
|
|
||||||
* @return 订单统计
|
* @return 订单统计
|
||||||
*/
|
*/
|
||||||
TradeOrderSummaryRespVO getOrderSummary(TradeOrderPageReqVO reqVO);
|
TradeOrderSummaryRespVO getOrderSummary();
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 【会员】获得交易订单分页
|
* 【会员】获得交易订单分页
|
||||||
|
|||||||
@@ -1,7 +1,6 @@
|
|||||||
package com.tashow.cloud.trade.service.order;
|
package com.tashow.cloud.trade.service.order;
|
||||||
|
|
||||||
import cn.hutool.core.collection.CollUtil;
|
import cn.hutool.core.collection.CollUtil;
|
||||||
import cn.hutool.core.map.MapUtil;
|
|
||||||
import cn.hutool.core.util.ObjectUtil;
|
import cn.hutool.core.util.ObjectUtil;
|
||||||
import cn.hutool.extra.spring.SpringUtil;
|
import cn.hutool.extra.spring.SpringUtil;
|
||||||
import com.tashow.cloud.common.pojo.PageResult;
|
import com.tashow.cloud.common.pojo.PageResult;
|
||||||
@@ -18,7 +17,6 @@ import com.tashow.cloud.trade.framework.delivery.core.client.ExpressClientFactor
|
|||||||
import com.tashow.cloud.trade.framework.delivery.core.client.dto.ExpressTrackQueryReqDTO;
|
import com.tashow.cloud.trade.framework.delivery.core.client.dto.ExpressTrackQueryReqDTO;
|
||||||
import com.tashow.cloud.trade.framework.delivery.core.client.dto.ExpressTrackRespDTO;
|
import com.tashow.cloud.trade.framework.delivery.core.client.dto.ExpressTrackRespDTO;
|
||||||
import com.tashow.cloud.trade.service.delivery.DeliveryExpressService;
|
import com.tashow.cloud.trade.service.delivery.DeliveryExpressService;
|
||||||
import com.tashow.cloud.tradeapi.enums.order.TradeOrderRefundStatusEnum;
|
|
||||||
import com.tashow.cloud.tradeapi.enums.order.TradeOrderStatusEnum;
|
import com.tashow.cloud.tradeapi.enums.order.TradeOrderStatusEnum;
|
||||||
import com.tashow.cloud.tradeapi.enums.order.TradeOrderTypeEnum;
|
import com.tashow.cloud.tradeapi.enums.order.TradeOrderTypeEnum;
|
||||||
import jakarta.annotation.Resource;
|
import jakarta.annotation.Resource;
|
||||||
@@ -118,27 +116,12 @@ public class TradeOrderQueryServiceImpl implements TradeOrderQueryService {
|
|||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public TradeOrderSummaryRespVO getOrderSummary(TradeOrderPageReqVO reqVO) {
|
public TradeOrderSummaryRespVO getOrderSummary() {
|
||||||
// 根据用户查询条件构建用户编号列表
|
List<Map<String, Object>> list = tradeOrderMapper.selectOrderSummary();
|
||||||
Set<Long> userIds = buildQueryConditionUserIds(reqVO);
|
return new TradeOrderSummaryRespVO()
|
||||||
if (userIds == null) { // 没查询到用户,说明肯定也没他的订单
|
.setOrderCount(list.stream().mapToLong(x -> Long.parseLong(x.get("count").toString())).sum())
|
||||||
return new TradeOrderSummaryRespVO();
|
.setLivePrice(list.stream().mapToLong(x -> Long.parseLong(x.get("livePrice").toString())).sum())
|
||||||
}
|
.setPayPrice(list.stream().mapToLong(x -> Long.parseLong(x.get("payPrice").toString())).sum());
|
||||||
// 查询每个售后状态对应的数量、金额
|
|
||||||
List<Map<String, Object>> list = tradeOrderMapper.selectOrderSummaryGroupByRefundStatus(reqVO, userIds);
|
|
||||||
|
|
||||||
TradeOrderSummaryRespVO vo = new TradeOrderSummaryRespVO().setAfterSaleCount(0L).setAfterSalePrice(0L);
|
|
||||||
for (Map<String, Object> map : list) {
|
|
||||||
Long count = MapUtil.getLong(map, "count", 0L);
|
|
||||||
Long price = MapUtil.getLong(map, "price", 0L);
|
|
||||||
// 未退款的计入订单,部分退款、全部退款计入售后
|
|
||||||
if (TradeOrderRefundStatusEnum.NONE.getStatus().equals(MapUtil.getInt(map, "refundStatus"))) {
|
|
||||||
vo.setOrderCount(count).setOrderPayPrice(price);
|
|
||||||
} else {
|
|
||||||
vo.setAfterSaleCount(vo.getAfterSaleCount() + count).setAfterSalePrice(vo.getAfterSalePrice() + price);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
return vo;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
|
|||||||
@@ -1,244 +1,183 @@
|
|||||||
{
|
{
|
||||||
"serveInfo": [
|
"serveInfo": {
|
||||||
{
|
"boneInfo": {
|
||||||
"key": "petName",
|
"petName": "aaa",
|
||||||
"name": "宠物名字",
|
"petType": "aaa",
|
||||||
"sort": 1
|
"weight": "aaa",
|
||||||
|
"diedTime": "aaa",
|
||||||
|
"diedReason": "aaa",
|
||||||
|
"boneUrl": [
|
||||||
|
"aaa",
|
||||||
|
"bbb"
|
||||||
|
]
|
||||||
},
|
},
|
||||||
{
|
"subInfo": {
|
||||||
"key": "petType",
|
"subType": "bbbb",
|
||||||
"name": "宠物品种",
|
"changeRule": "bbbb",
|
||||||
"sort": 2
|
"subOrder": "bbbb",
|
||||||
},
|
"userRemark": "bbbb",
|
||||||
{
|
"merchantRemark": "bbbb",
|
||||||
"key": "weight",
|
"pickUpAddress": "bbbb",
|
||||||
"name": "体型/体重",
|
"sendAddress": "bbbb"
|
||||||
"sort": 3
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"key": "diedTime",
|
|
||||||
"name": "离世时间",
|
|
||||||
"sort": 4
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"key": "diedReason",
|
|
||||||
"name": "离世原因",
|
|
||||||
"sort": 5
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"key": "remainsPhoneUrl",
|
|
||||||
"name": "遗体照片",
|
|
||||||
"sort": 6
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"key": "subType",
|
|
||||||
"name": "预约类型",
|
|
||||||
"sort": 1
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"key": "changeRule",
|
|
||||||
"name": "更改规则",
|
|
||||||
"sort": 2
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"key": "subOrder",
|
|
||||||
"name": "预约时间",
|
|
||||||
"sort": 3
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"key": "userRemark",
|
|
||||||
"name": "用户备注",
|
|
||||||
"sort": 4
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"key": "merchantRemark",
|
|
||||||
"name": "客服备注",
|
|
||||||
"sort": 5
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"key": "pickUpAddress",
|
|
||||||
"name": "取货地址",
|
|
||||||
"sort": 6
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"key": "sendAddress",
|
|
||||||
"name": "送货地址",
|
|
||||||
"sort": 7
|
|
||||||
}
|
}
|
||||||
],
|
},
|
||||||
"selectedServeInfo": [
|
"selectedServeInfo": [
|
||||||
{
|
[
|
||||||
"key": "serveUrl",
|
{
|
||||||
"name": "服务主图",
|
"tempType": 1,
|
||||||
"sort": 1
|
"serve": [
|
||||||
},
|
{
|
||||||
{
|
"serveUrl": "ccc",
|
||||||
"key": "prodUrl",
|
"serveName": "ccc",
|
||||||
"name": "纪念品主图",
|
"serveDesc": "ccc",
|
||||||
"sort": 1
|
"count": "ccc",
|
||||||
},
|
"price": "ccc",
|
||||||
{
|
"handPrice": "ccc"
|
||||||
"key": "serveName",
|
}
|
||||||
"name": "服务名称",
|
],
|
||||||
"sort": 2
|
"totalPrice": "ccc",
|
||||||
},
|
"discountPrice": "ccc",
|
||||||
{
|
"payPrice": "ccc",
|
||||||
"key": "prodName",
|
"refundMoney": "ccc",
|
||||||
"name": "商品名称",
|
"refundCount": "ccc"
|
||||||
"sort": 2
|
},
|
||||||
},
|
{
|
||||||
{
|
"tempType": 2,
|
||||||
"key": "serveDesc",
|
"serve": [
|
||||||
"name": "服务描述",
|
{
|
||||||
"sort": 3
|
"serveUrl": "ccc",
|
||||||
},
|
"serveName": "ccc",
|
||||||
{
|
"serveDesc": "ccc",
|
||||||
"key": "prodDesc",
|
"count": "ccc",
|
||||||
"name": "商品描述",
|
"price": "ccc",
|
||||||
"sort": 3
|
"handPrice": "ccc",
|
||||||
},
|
"parentActive": "ccc",
|
||||||
{
|
"riteAddress": "ccc"
|
||||||
"key": "prodType",
|
}
|
||||||
"name": "商品类型",
|
],
|
||||||
"sort": 4
|
"totalPrice": "ccc",
|
||||||
},
|
"discountPrice": "ccc",
|
||||||
{
|
"payPrice": "ccc",
|
||||||
"key": "parentActive",
|
"refundMoney": "ccc",
|
||||||
"name": "父工作流",
|
"refundCount": "ccc"
|
||||||
"sort": 5
|
}
|
||||||
},
|
],
|
||||||
{
|
[
|
||||||
"key": "count",
|
{
|
||||||
"name": "数量",
|
"tempType": 3,
|
||||||
"sort": 4
|
"serveTitle": "骨灰处理",
|
||||||
},
|
"serveType": "处理方式",
|
||||||
|
"serve": [
|
||||||
{
|
{
|
||||||
"key": "price",
|
"serveUrl": "ccc",
|
||||||
"name": "单价",
|
"serveName": "ccc",
|
||||||
"sort": 5
|
"serveDesc": "ccc",
|
||||||
},
|
"count": "ccc",
|
||||||
{
|
"price": "ccc",
|
||||||
"key": "handPrice",
|
"handPrice": "ccc"
|
||||||
"name": "到手价",
|
},
|
||||||
"sort": 6
|
{
|
||||||
},
|
"serveUrl": "ccc",
|
||||||
{
|
"serveName": "ccc",
|
||||||
"key": "totalPrice",
|
"serveDesc": "ccc",
|
||||||
"name": "商品总价",
|
"count": "ccc",
|
||||||
"sort": 7
|
"price": "ccc",
|
||||||
},
|
"handPrice": "ccc"
|
||||||
{
|
}
|
||||||
"key": "discountPrice",
|
],
|
||||||
"name": "优惠金额",
|
"totalPrice": "ccc",
|
||||||
"sort": 8
|
"discountPrice": "ccc",
|
||||||
},
|
"payPrice": "ccc",
|
||||||
{
|
"refundMoney": "ccc",
|
||||||
"key": "payPrice",
|
"refundCount": "ccc"
|
||||||
"name": "实付金额",
|
},
|
||||||
"sort": 9
|
{
|
||||||
},
|
"deliveryType": "配送方式",
|
||||||
{
|
"receiveUser": "收货人",
|
||||||
"key": "refundMoney",
|
"sendUser": "提货人",
|
||||||
"name": "累计退款金额",
|
"userMobile": "手机号码",
|
||||||
"sort": 10
|
"address": "收货地址"
|
||||||
},
|
}
|
||||||
{
|
],
|
||||||
"key": "refundCount",
|
[
|
||||||
"name": "累计退款次数",
|
{
|
||||||
"sort": 11
|
"tempType": 4,
|
||||||
},
|
"serve": [
|
||||||
{
|
{
|
||||||
"key": "deliveryType",
|
"prodUrl": "ccc",
|
||||||
"name": "配送方式",
|
"prodName": "ccc",
|
||||||
"sort": 12
|
"prodDesc": "ccc",
|
||||||
},
|
"prodType": "ccc",
|
||||||
{
|
"parentActivity": "ccc",
|
||||||
"key": "receiptUser",
|
"count": "ccc",
|
||||||
"name": "收货人",
|
"price": "ccc",
|
||||||
"sort": 13
|
"handPrice": "ccc"
|
||||||
},
|
}
|
||||||
{
|
],
|
||||||
"key": "pickUpUser",
|
"totalPrice": "ccc",
|
||||||
"name": "提货人",
|
"discountPrice": "ccc",
|
||||||
"sort": 13
|
"payPrice": "ccc",
|
||||||
},
|
"refundMoney": "ccc",
|
||||||
{
|
"refundCount": "ccc"
|
||||||
"key": "userMobile",
|
},
|
||||||
"name": "手机号码",
|
{
|
||||||
"sort": 14
|
"deliveryType": "配送方式",
|
||||||
},
|
"receiveUser": "收货人",
|
||||||
{
|
"sendUser": "提货人",
|
||||||
"key": "receiveAddress",
|
"userMobile": "手机号码",
|
||||||
"name": "收货地址",
|
"address": "收货地址"
|
||||||
"sort": 15
|
}
|
||||||
},
|
]
|
||||||
{
|
|
||||||
"key": "pickUpAddress",
|
|
||||||
"name": "自提地址",
|
|
||||||
"sort": 15
|
|
||||||
}
|
|
||||||
],
|
],
|
||||||
"priceExtInfo": [
|
"priceExtInfo": [
|
||||||
{
|
{
|
||||||
"key": "costName",
|
"serveExtFee": "",
|
||||||
"name": "费用名称",
|
"costName": "超区域服务费",
|
||||||
"sort": 1
|
"serveArea": "可服务区域",
|
||||||
|
"targetArea": "目标区域",
|
||||||
|
"chargeType": "收费方式",
|
||||||
|
"payInfo": {
|
||||||
|
"totalPrice": "11",
|
||||||
|
"discountPrice": "222",
|
||||||
|
"payPrice": "333"
|
||||||
|
},
|
||||||
|
"refundPrice": "11"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"key": "serveArea",
|
"serveExtFee": "",
|
||||||
"name": "可服务区域",
|
"respMode": "响应模式",
|
||||||
"sort": 2
|
"respTime": "响应时间",
|
||||||
|
"chargeType": "收费方式",
|
||||||
|
"payInfo": {
|
||||||
|
"totalPrice": "11",
|
||||||
|
"discountPrice": "222",
|
||||||
|
"payPrice": "333"
|
||||||
|
},
|
||||||
|
"refundPrice": "11"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"key": "targetArea",
|
"serveExtFee": "",
|
||||||
"name": "目标区域",
|
"costName": "超区域服务费",
|
||||||
"sort": 3
|
"weight": "体型/体重",
|
||||||
|
"chargeType": "收费方式",
|
||||||
|
"payInfo": {
|
||||||
|
"totalPrice": "11",
|
||||||
|
"discountPrice": "222",
|
||||||
|
"payPrice": "333"
|
||||||
|
},
|
||||||
|
"refundPrice": "11"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"key": "chargeType",
|
"serveExtFee": "",
|
||||||
"name": "收费方式",
|
"costName": "超区域服务费",
|
||||||
"sort": 4
|
"chargeTime": "收费时段",
|
||||||
},
|
"chargeType": "收费方式",
|
||||||
{
|
"payInfo": {
|
||||||
"key": "respMode",
|
"totalPrice": "11",
|
||||||
"name": "响应模式",
|
"discountPrice": "222",
|
||||||
"sort": 1
|
"payPrice": "333"
|
||||||
},
|
},
|
||||||
{
|
"refundPrice": "11"
|
||||||
"key": "respTime",
|
|
||||||
"name": "响应时间",
|
|
||||||
"sort": 2
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"key": "weight",
|
|
||||||
"name": "体型/体重",
|
|
||||||
"sort": 2
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"key": "chargeTime",
|
|
||||||
"name": "收费时段",
|
|
||||||
"sort": 2
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"key": "totalPrice",
|
|
||||||
"name": "服务总价",
|
|
||||||
"sort": 5
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"key": "discountPrice",
|
|
||||||
"name": "优惠金额",
|
|
||||||
"sort": 6
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"key": "payPrice",
|
|
||||||
"name": "实付金额",
|
|
||||||
"sort": 7
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"key": "refundPrice",
|
|
||||||
"name": "累计退款金额",
|
|
||||||
"sort": 8
|
|
||||||
}
|
}
|
||||||
]
|
]
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user