diff --git a/tashow-module/tashow-module-trade/src/main/java/com/tashow/cloud/trade/controller/admin/order/TradeOrderController.java b/tashow-module/tashow-module-trade/src/main/java/com/tashow/cloud/trade/controller/admin/order/TradeOrderController.java index 6a07acc..b9e7e7c 100644 --- a/tashow-module/tashow-module-trade/src/main/java/com/tashow/cloud/trade/controller/admin/order/TradeOrderController.java +++ b/tashow-module/tashow-module-trade/src/main/java/com/tashow/cloud/trade/controller/admin/order/TradeOrderController.java @@ -87,12 +87,8 @@ public class TradeOrderController { // 查询订单项 List orderItems = tradeOrderQueryService.getOrderItemListByOrderId(id); - // 拼接数据 -// MemberUserRespDTO user = memberUserApi.getUser(order.getUserId()).getCheckedData(); -// MemberUserRespDTO brokerageUser = order.getBrokerageUserId() != null ? -// memberUserApi.getUser(order.getBrokerageUserId()).getCheckedData() : null; List orderLogs = tradeOrderLogService.getOrderLogListByOrderId(id); - return success(TradeOrderConvert.INSTANCE.convert(order, orderItems, orderLogs, null, null)); + return success(TradeOrderConvert.INSTANCE.convert(order, orderItems, orderLogs)); } // // 获得交易订单统计 diff --git a/tashow-module/tashow-module-trade/src/main/java/com/tashow/cloud/trade/controller/admin/order/vo/TradeOrderDetailRespVO.java b/tashow-module/tashow-module-trade/src/main/java/com/tashow/cloud/trade/controller/admin/order/vo/TradeOrderDetailRespVO.java index 9452a23..a84678e 100644 --- a/tashow-module/tashow-module-trade/src/main/java/com/tashow/cloud/trade/controller/admin/order/vo/TradeOrderDetailRespVO.java +++ b/tashow-module/tashow-module-trade/src/main/java/com/tashow/cloud/trade/controller/admin/order/vo/TradeOrderDetailRespVO.java @@ -6,30 +6,95 @@ import lombok.Data; import lombok.experimental.Accessors; import java.time.LocalDateTime; +import java.util.HashMap; import java.util.List; +import java.util.Map; // 管理后台 - 交易订单的详情 Response VO @Data @Accessors(chain = true) -public class TradeOrderDetailRespVO extends TradeOrderBaseVO { +public class TradeOrderDetailRespVO { //基本信息 private TradeOrderBaseInfo tradeOrderInfoBase; //商品信息 private TradeProductInfo tradeProductInfo; + //服务信息 + private TradeServeInfo tradeServeInfo; //扩展服务信息 - private String tradeExtendServeInfo; + private TradeExtendServeInfo tradeExtendServeInfo; //附加费信息 - private String tradeExtendCostInfo; - - //配送信息 - private TradeDeliveryInfo tradeDeliveryInfo; - + private TradeExtendCostInfo tradeExtendCostInfo; + /** + * 订单基本信息 + */ @Data @Accessors(chain = true) - class TradeProductInfo{ + public static class TradeOrderBaseInfo{ + //订单id + private String id; + //订单编号 + private String orderNo; + //订单状态 + private String orderStatus; + //订单类型 + private String orderType; + //订单类目 + private String orderCategoryNameAndId; + //订单来源 + private String orderTerminal; + //用户信息 + private String userInfo; + + //取消时间 + private String cancelTime; + //取消原因 + private String cancelReason; + //商家备注 + private String merchantRemark; + + //退款时间 + private String refundTime; + + //保障时间 + private String propertyTime; + //保障状态 + private String propertyStatus; + + //订单总价 + private Integer price; + //优惠金额 + private Integer discountPrice; + //实付金额 + private Integer payPrice; + //退款金额 + private Integer refundPrice; + //实收金额 + private Integer livePrice; + + //支付方式(支付宝微信) + private String payType; + //支付渠道 (线上线下) + private String payChannelCode; + //交易流水号 + private String payOrderId; + //支付时间 + private LocalDateTime payTime; + + //创建时间 + private LocalDateTime createTime; + //完成时间 + private LocalDateTime finishTime; + + } + /** + * 商品信息 + */ + @Data + @Accessors(chain = true) + public class TradeProductInfo{ //店铺log private String shopLogoUrl; @@ -76,86 +141,195 @@ public class TradeOrderDetailRespVO extends TradeOrderBaseVO { } + + /** + * 服务信息(殡葬专属字段) + */ @Data @Accessors(chain = true) - class TradeOrderBaseInfo{ - //订单id - private String id; - //订单编号 - private String orderNo; - //订单状态 - private String orderStatus; - //订单类型 - private String orderType; - //订单类目 - private String orderCategoryNameAndId; - //订单来源 - private String orderTerminal; - //用户信息 - private String userInfo; + public class TradeServeInfo{ + // 内部存储动态属性的 Map,键为属性名称,值为属性值 + private Map properties; + /** + * 构造方法:初始化动态属性 Map + */ + public TradeServeInfo() { + properties = new HashMap<>(); + } - //取消时间 - private LocalDateTime cancelTime; - //取消原因 - private String cancelReason; - //商家备注 - private String merchantRemark; + /** + * setProperty 方法:添加或更新指定属性 + * + * @param key 属性名称 + * @param value 属性值 + */ + public void setProperty(String key, Object value) { + if (key == null) { + throw new IllegalArgumentException("属性名称不能为 null"); + } + properties.put(key, value); + } - //退款时间 - private String refundTime; + /** + * getProperty 方法:获取指定属性的值 + * + * @param key 属性名称 + * @return 属性值;若不存在则返回 null + */ + public Object getProperty(String key) { + if (key == null) { + return null; + } + return properties.get(key); + } - //保障时间 - private String propertyTime; - //保障状态 - private String propertyStatus; - - //订单总价 - private String price; - //优惠金额 - private String discountPrice; - //实付金额 - private Integer payPrice; - //退款金额 - private String refundPrice; - //实收金额 - private String livePrice; - - //支付方式(支付宝微信) - private String payType; - //支付渠道 (线上线下) - private String payChannelCode; - //交易流水号 - private String payOrderId; - //支付时间 - private LocalDateTime payTime; - - //创建时间 - private LocalDateTime createTime; - //完成时间 - private LocalDateTime finishTime; + /** + * removeProperty 方法:删除指定属性 + * + * @param key 属性名称 + * @return 删除的属性值;若属性不存在则返回 null + */ + public Object removeProperty(String key) { + if (key == null) { + return null; + } + return properties.remove(key); + } + /** + * getProperties 方法:返回所有动态属性的 Map + * + * @return 内部存储属性的 Map + */ + public Map getProperties() { + return properties; + } } + /** + * 服务信息(殡葬专属字段) + */ @Data @Accessors(chain = true) - class TradeDeliveryInfo{ - //承运方 - private String logisticsName; - //送货方式 - private String logisticsType; - //送货上门 - private String logisticsNum; - //收货人 - private String receiverName; - //收货手机 - private String receiverMobile; - //收货地址 - private String receiverDetailAddress; - //快递详情 - private String deliveryDetail; + public class TradeExtendServeInfo{ + // 内部存储动态属性的 Map,键为属性名称,值为属性值 + private Map properties; + /** + * 构造方法:初始化动态属性 Map + */ + public TradeExtendServeInfo() { + properties = new HashMap<>(); + } + + /** + * setProperty 方法:添加或更新指定属性 + * + * @param key 属性名称 + * @param value 属性值 + */ + public void setProperty(String key, Object value) { + if (key == null) { + throw new IllegalArgumentException("属性名称不能为 null"); + } + properties.put(key, value); + } + + /** + * getProperty 方法:获取指定属性的值 + * + * @param key 属性名称 + * @return 属性值;若不存在则返回 null + */ + public Object getProperty(String key) { + if (key == null) { + return null; + } + return properties.get(key); + } + + /** + * removeProperty 方法:删除指定属性 + * + * @param key 属性名称 + * @return 删除的属性值;若属性不存在则返回 null + */ + public Object removeProperty(String key) { + if (key == null) { + return null; + } + return properties.remove(key); + } + + /** + * getProperties 方法:返回所有动态属性的 Map + * + * @return 内部存储属性的 Map + */ + public Map getProperties() { + return properties; + } } + /** + * 服务信息(殡葬专属字段) + */ + @Data + @Accessors(chain = true) + public class TradeExtendCostInfo{ + // 内部存储动态属性的 Map,键为属性名称,值为属性值 + private Map properties; + /** + * 构造方法:初始化动态属性 Map + */ + public TradeExtendCostInfo() { + properties = new HashMap<>(); + } + /** + * setProperty 方法:添加或更新指定属性 + * + * @param key 属性名称 + * @param value 属性值 + */ + public void setProperty(String key, Object value) { + if (key == null) { + throw new IllegalArgumentException("属性名称不能为 null"); + } + properties.put(key, value); + } + /** + * getProperty 方法:获取指定属性的值 + * + * @param key 属性名称 + * @return 属性值;若不存在则返回 null + */ + public Object getProperty(String key) { + if (key == null) { + return null; + } + return properties.get(key); + } + /** + * removeProperty 方法:删除指定属性 + * + * @param key 属性名称 + * @return 删除的属性值;若属性不存在则返回 null + */ + public Object removeProperty(String key) { + if (key == null) { + return null; + } + return properties.remove(key); + } + /** + * getProperties 方法:返回所有动态属性的 Map + * + * @return 内部存储属性的 Map + */ + public Map getProperties() { + return properties; + } + } } diff --git a/tashow-module/tashow-module-trade/src/main/java/com/tashow/cloud/trade/convert/order/TradeOrderConvert.java b/tashow-module/tashow-module-trade/src/main/java/com/tashow/cloud/trade/convert/order/TradeOrderConvert.java index caebd12..5e1bcaf 100644 --- a/tashow-module/tashow-module-trade/src/main/java/com/tashow/cloud/trade/convert/order/TradeOrderConvert.java +++ b/tashow-module/tashow-module-trade/src/main/java/com/tashow/cloud/trade/convert/order/TradeOrderConvert.java @@ -73,6 +73,24 @@ public interface TradeOrderConvert { TradeOrderPageRespVO convert(TradeOrderDO order, TradeOrderItemDO items); //endregion + //region 订单详情 + + default TradeOrderDetailRespVO convert(TradeOrderDO order, List orderItems,List orderLogs) { + // + TradeOrderDetailRespVO orderVO = convert2(order, orderItems); + return orderVO; + } + + @Mappings({ + @Mapping(source = "order", target = "tradeOrderInfoBase"), + }) + TradeOrderDetailRespVO convert2(TradeOrderDO order, List items); + @Mappings({ + @Mapping(source = "items", target = "tradeOrderInfoBase"), + }) + TradeOrderDetailRespVO convert3(TradeOrderItemDO items); + //endregion + @Mappings({ @Mapping(target = "id", ignore = true), @Mapping(source = "userId", target = "userId"), @@ -126,23 +144,11 @@ public interface TradeOrderConvert { // ProductPropertyValueDetailRespVO convert(ProductPropertyValueDetailRespDTO bean); - default TradeOrderDetailRespVO convert(TradeOrderDO order, List orderItems, - List orderLogs, - MemberUserRespDTO user, MemberUserRespDTO brokerageUser) { - TradeOrderDetailRespVO orderVO = convert2(order, orderItems); -// // 处理收货地址 -// orderVO.setReceiverAreaName(AreaUtils.format(order.getReceiverAreaId())); -// // 处理用户信息 -// orderVO.setUser(convert(user)); -// orderVO.setBrokerageUser(convert(brokerageUser)); -// // 处理日志 -// orderVO.setLogs(convertList03(orderLogs)); - return orderVO; - } + List convertList03(List orderLogs); - TradeOrderDetailRespVO convert2(TradeOrderDO order, List items); + MemberUserRespVO convert(MemberUserRespDTO bean); diff --git a/tashow-module/tashow-module-trade/src/main/java/com/tashow/cloud/trade/dal/dataobject/order/TradeOrderLogDO.java b/tashow-module/tashow-module-trade/src/main/java/com/tashow/cloud/trade/dal/dataobject/order/TradeOrderLogDO.java index 878551a..70bb09f 100644 --- a/tashow-module/tashow-module-trade/src/main/java/com/tashow/cloud/trade/dal/dataobject/order/TradeOrderLogDO.java +++ b/tashow-module/tashow-module-trade/src/main/java/com/tashow/cloud/trade/dal/dataobject/order/TradeOrderLogDO.java @@ -1,6 +1,5 @@ package com.tashow.cloud.trade.dal.dataobject.order; -import com.baomidou.mybatisplus.annotation.KeySequence; import com.baomidou.mybatisplus.annotation.TableId; import com.baomidou.mybatisplus.annotation.TableName; import com.tashow.cloud.common.enums.UserTypeEnum; @@ -13,7 +12,7 @@ import lombok.*; * * @author 陈賝 */ -@TableName("trade_order_log") +@TableName("tz_trade_order_log") @Data @EqualsAndHashCode(callSuper = true) @ToString(callSuper = true)