From a73615f3501b59356bb697b07fb88af50ffd0d42 Mon Sep 17 00:00:00 2001 From: Jack <46790855@qq.com> Date: Sat, 29 Nov 2025 00:44:04 +0800 Subject: [PATCH] =?UTF-8?q?=E9=80=80=E6=AC=BE=E6=89=93=E5=8D=B0=E6=96=B9?= =?UTF-8?q?=E6=B3=95=E8=B0=83=E8=AF=95?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../mall/common/pojo/vo/OrderItemPrintVO.java | 5 +- .../mall/common/pojo/vo/OrderPrintVO.java | 121 +++++++++++++++++- .../controller/mobile/LakalaController.java | 7 +- .../order/mapper/ShopOrderReturnMapper.java | 10 ++ .../order/service/ShopOrderReturnService.java | 11 ++ .../impl/ShopOrderReturnServiceImpl.java | 24 ++++ .../mapper/order/ShopOrderBaseMapper.xml | 32 ----- .../mapper/order/ShopOrderReturnMapper.xml | 91 +++++++++++++ .../resources/templates/order_printer.txt | 42 ++++++ .../templates/refund_order_printer.txt | 52 ++++---- 10 files changed, 328 insertions(+), 67 deletions(-) diff --git a/mall-common/src/main/java/com/suisung/mall/common/pojo/vo/OrderItemPrintVO.java b/mall-common/src/main/java/com/suisung/mall/common/pojo/vo/OrderItemPrintVO.java index 883e2b20..bf565b03 100644 --- a/mall-common/src/main/java/com/suisung/mall/common/pojo/vo/OrderItemPrintVO.java +++ b/mall-common/src/main/java/com/suisung/mall/common/pojo/vo/OrderItemPrintVO.java @@ -16,12 +16,15 @@ import java.text.DecimalFormat; import java.util.ArrayList; import java.util.List; +/** + * 订单商品详情打印对象 + */ @Data @EqualsAndHashCode(callSuper = false) @Accessors(chain = true) @NoArgsConstructor @AllArgsConstructor -@ApiModel(value = "订单商品打印对象", description = "订单商品打印对象") +@ApiModel(value = "订单商品详情打印对象", description = "订单商品详情打印对象") public class OrderItemPrintVO implements Serializable { private static final long serialVersionUID = 1L; @ApiModelProperty(value = "商品名") diff --git a/mall-common/src/main/java/com/suisung/mall/common/pojo/vo/OrderPrintVO.java b/mall-common/src/main/java/com/suisung/mall/common/pojo/vo/OrderPrintVO.java index 774f1c6a..9c7db24a 100644 --- a/mall-common/src/main/java/com/suisung/mall/common/pojo/vo/OrderPrintVO.java +++ b/mall-common/src/main/java/com/suisung/mall/common/pojo/vo/OrderPrintVO.java @@ -1,13 +1,14 @@ package com.suisung.mall.common.pojo.vo; import io.swagger.annotations.ApiModel; -import lombok.AllArgsConstructor; -import lombok.Data; -import lombok.EqualsAndHashCode; -import lombok.NoArgsConstructor; +import io.swagger.annotations.ApiModelProperty; +import lombok.*; import lombok.experimental.Accessors; import java.io.Serializable; +import java.math.BigDecimal; +import java.util.Date; +import java.util.List; /** * 退货单打印对象 @@ -17,9 +18,121 @@ import java.io.Serializable; @Accessors(chain = true) @NoArgsConstructor @AllArgsConstructor +@Builder @ApiModel(value = "(退款)订单主信息打印对象", description = "(退款)订单主信息打印对象") public class OrderPrintVO implements Serializable { private static final long serialVersionUID = 1L; + @ApiModelProperty(value = "订单编号") + private String order_id; + + @ApiModelProperty(value = "退单编号") + private String return_id; + + @ApiModelProperty(value = "店铺名称") + private String store_name; + + @ApiModelProperty(value = "店铺电话") + private String store_tel; + + @ApiModelProperty(value = "(配送)取单号") + @Builder.Default + private String order_pickup_num_str = "#0000000"; + + @ApiModelProperty(value = "退款订单编号") + private String order_message; + + @ApiModelProperty(value = "支付时间") + private Date payment_time; + + @ApiModelProperty(value = "商品总件数") + private Integer order_items_count; + + @ApiModelProperty(value = "商品总类数") + private Integer order_product_amount; + + @ApiModelProperty(value = "订单配送费") + private BigDecimal order_shipping_fee; + + @ApiModelProperty(value = "订单来源") + @Builder.Default + private String order_channel_name = "微信小程序"; + + @ApiModelProperty(value = "支付方式") + @Builder.Default + private String payment_type_name = "微信支付"; + + @ApiModelProperty(value = "配送渠道") + @Builder.Default + private String deliver_type_name = "顺丰同城"; + + @ApiModelProperty(value = "打包费") + private BigDecimal packing_fee; + + @ApiModelProperty(value = "会员优惠权益金额") + private BigDecimal basic_rights; + + @ApiModelProperty(value = "实付金额") + private BigDecimal order_payment_amount; + + @ApiModelProperty(value = "退款金额") + private BigDecimal return_refund_amount; + + @ApiModelProperty(value = "订单状态(LIST):2011-待订单审核;2013-待财务审核;2020-待配货/待出库审核;2030-待发货;2040-已发货/待收货确认;2060-已完成/已签收;2070-已取消/已作废;") + private String order_state; + + @ApiModelProperty(value = "下单时买家退货留言") + private String return_buyer_message; + + @ApiModelProperty(value = "下单时商家留言") + private String seller_message; + + @ApiModelProperty(value = "买家退货留言") + private String return_store_message; + + @ApiModelProperty(value = "申请退款时间") + private Date return_add_time; + + @ApiModelProperty(value = "退款完成时间") + private Date return_finish_time; + + @ApiModelProperty(value = "预订单状态") + private Integer booking_state; + + @ApiModelProperty(value = "预订单开始时间") + private Date booking_begin_time; + + @ApiModelProperty(value = "退货类型(ENUM): 0-不用退货;1-需要退货") + @Builder.Default + private String return_flag_str = "原路返回"; + + @ApiModelProperty(value = "卖家处理状态(ENUM): 3100-【客户】提交退单;3105-退单审核;3110-收货确认;3115-退款确认;3120-【客户】收款确认;3125-完成退款;3130-商家拒绝退货;3135-买家取消退款") + private String return_state; + + @ApiModelProperty(value = "买方用户名") + private String buyer_user_name; + + @ApiModelProperty(value = "退款人手机号") + private String return_tel; + + @ApiModelProperty(value = "收货联系电话") + private String da_mobile; + + @ApiModelProperty(value = "收货省份") + private String da_province; + + @ApiModelProperty(value = "收货城市") + private String da_city; + + @ApiModelProperty(value = "收货详细地址") + private String da_address; + + @ApiModelProperty(value = "(店长)收银员") + @Builder.Default + private String cashier = "收银员"; + + @ApiModelProperty(value = "订单商品详情打印对象列表") + private List orderItemPrintVOList; + } diff --git a/mall-shop/src/main/java/com/suisung/mall/shop/lakala/controller/mobile/LakalaController.java b/mall-shop/src/main/java/com/suisung/mall/shop/lakala/controller/mobile/LakalaController.java index 265453ad..7d5f3e00 100644 --- a/mall-shop/src/main/java/com/suisung/mall/shop/lakala/controller/mobile/LakalaController.java +++ b/mall-shop/src/main/java/com/suisung/mall/shop/lakala/controller/mobile/LakalaController.java @@ -14,7 +14,6 @@ import com.suisung.mall.common.api.CommonResult; import com.suisung.mall.common.service.impl.BaseControllerImpl; import com.suisung.mall.shop.lakala.service.LakalaApiService; import com.suisung.mall.shop.lakala.service.LklLedgerEcService; -import com.suisung.mall.shop.lakala.service.LklLedgerReceiverService; import com.suisung.mall.shop.library.service.LibraryProductService; import com.suisung.mall.shop.message.service.MqMessageService; import com.suisung.mall.shop.message.service.PushMessageService; @@ -83,8 +82,6 @@ public class LakalaController extends BaseControllerImpl { @Resource private LklLedgerEcService lklLedgerEcService; - @Resource - private LklLedgerReceiverService lklLedgerReceiverService; @ApiOperation(value = "测试案例", notes = "测试案例") @RequestMapping(value = "/testcase", method = RequestMethod.POST) @@ -94,7 +91,9 @@ public class LakalaController extends BaseControllerImpl { // return lakalaApiService.ewalletWithDrawNotify(null, paramsJSON.getStr("a"), paramsJSON.getStr("b")); - return lakalaApiService.tradeQuery(paramsJSON.getInt("storeId"), paramsJSON.getStr("orderId")); + // return lakalaApiService.tradeQuery(paramsJSON.getInt("storeId"), paramsJSON.getStr("orderId")); + + return JSONUtil.parseObj(shopOrderReturnService.fetchReturnOrderPrintInfo("", "FX_20251127_9")); } @ApiOperation(value = "批量发送推送消息 - 测试案例", notes = "批量发送推送消息 - 测试案例") diff --git a/mall-shop/src/main/java/com/suisung/mall/shop/order/mapper/ShopOrderReturnMapper.java b/mall-shop/src/main/java/com/suisung/mall/shop/order/mapper/ShopOrderReturnMapper.java index a0055868..c6f2c988 100644 --- a/mall-shop/src/main/java/com/suisung/mall/shop/order/mapper/ShopOrderReturnMapper.java +++ b/mall-shop/src/main/java/com/suisung/mall/shop/order/mapper/ShopOrderReturnMapper.java @@ -4,6 +4,7 @@ import com.baomidou.mybatisplus.core.mapper.BaseMapper; import com.baomidou.mybatisplus.core.metadata.IPage; import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.suisung.mall.common.modules.order.ShopOrderReturn; +import com.suisung.mall.common.pojo.vo.OrderPrintVO; import org.apache.ibatis.annotations.Param; import org.springframework.stereotype.Repository; @@ -30,4 +31,13 @@ public interface ShopOrderReturnMapper extends BaseMapper { List> statisticCountSeller(@Param("end") Date end, @Param("days") int days, @Param("store_id") int store_id); IPage getReturnGroupByOrderId(Page page, @Param("map") Map params); + + /** + * 根据退货订单id获取退货订单打印信息 + * + * @param orderId + * @param returnId + * @return + */ + OrderPrintVO fetchReturnOrderPrintInfo(@Param("orderId") String orderId, @Param("returnId") String returnId); } diff --git a/mall-shop/src/main/java/com/suisung/mall/shop/order/service/ShopOrderReturnService.java b/mall-shop/src/main/java/com/suisung/mall/shop/order/service/ShopOrderReturnService.java index 211916bc..e00dcb59 100644 --- a/mall-shop/src/main/java/com/suisung/mall/shop/order/service/ShopOrderReturnService.java +++ b/mall-shop/src/main/java/com/suisung/mall/shop/order/service/ShopOrderReturnService.java @@ -7,6 +7,7 @@ import com.suisung.mall.common.modules.order.ShopOrderItem; import com.suisung.mall.common.modules.order.ShopOrderReturn; import com.suisung.mall.common.modules.order.ShopOrderReturnItem; import com.suisung.mall.common.modules.product.ShopProductIndex; +import com.suisung.mall.common.pojo.vo.OrderPrintVO; import com.suisung.mall.core.web.service.IBaseService; import com.suisung.mall.shop.order.vo.OrderReturnInputVo; @@ -225,4 +226,14 @@ public interface ShopOrderReturnService extends IBaseService { CommonResult doRefundForMch(JSONObject params); + /** + * 根据退货订单id获取退货订单打印信息 + * + * @param orderId + * @param returnId + * @return + */ + OrderPrintVO fetchReturnOrderPrintInfo(String orderId, String returnId); + + } diff --git a/mall-shop/src/main/java/com/suisung/mall/shop/order/service/impl/ShopOrderReturnServiceImpl.java b/mall-shop/src/main/java/com/suisung/mall/shop/order/service/impl/ShopOrderReturnServiceImpl.java index e6425ea0..19ef4f9c 100644 --- a/mall-shop/src/main/java/com/suisung/mall/shop/order/service/impl/ShopOrderReturnServiceImpl.java +++ b/mall-shop/src/main/java/com/suisung/mall/shop/order/service/impl/ShopOrderReturnServiceImpl.java @@ -35,6 +35,7 @@ import com.suisung.mall.common.modules.product.ShopProductInfo; import com.suisung.mall.common.modules.product.ShopProductItem; import com.suisung.mall.common.modules.store.ShopStoreBase; import com.suisung.mall.common.modules.store.ShopStoreShippingAddress; +import com.suisung.mall.common.pojo.vo.OrderPrintVO; import com.suisung.mall.common.service.MessageService; import com.suisung.mall.common.utils.*; import com.suisung.mall.core.web.service.impl.BaseServiceImpl; @@ -3008,6 +3009,29 @@ public class ShopOrderReturnServiceImpl extends BaseServiceImpl - - diff --git a/mall-shop/src/main/resources/mapper/order/ShopOrderReturnMapper.xml b/mall-shop/src/main/resources/mapper/order/ShopOrderReturnMapper.xml index 90471d81..3cfd21a3 100644 --- a/mall-shop/src/main/resources/mapper/order/ShopOrderReturnMapper.xml +++ b/mall-shop/src/main/resources/mapper/order/ShopOrderReturnMapper.xml @@ -86,4 +86,95 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/mall-shop/src/main/resources/templates/order_printer.txt b/mall-shop/src/main/resources/templates/order_printer.txt index aca6a23e..2b4ec44c 100644 --- a/mall-shop/src/main/resources/templates/order_printer.txt +++ b/mall-shop/src/main/resources/templates/order_printer.txt @@ -51,6 +51,48 @@ 收银员:李小璐
+格式化带变量模版: +<#if is_booking_order>【预约订单】
+${store_name}
+--------------------------------
+#${order_pickup_num_str}
+买家备注:${order_message!'-'}
+配送时间:${payment_time?string('MM-dd HH:mm')}~${delivery_time?string('HH:mm')}
+--------------------------------
+订单编号:${order_id}
+订单来源:微信小程序
+支付方式:微信支付
+配送来源:顺丰同城
+付款时间:${payment_time?string('yyyy-MM-dd HH:mm:ss')}
+--------------------------------
+商品名称 数量 金额
+--------------------------------
+<#list order_items as item>${item.s_name}${item.s_quantity}${item.s_amount}
+<#if item.s_name_segs??><#list item.s_name_segs as seg>${seg}
+<#if item.product_sn?default("")?trim?length gt 1>${item.product_sn}
+
+ +--------------------------------
+商品总件数:${order_items_count!0}
+商品总额:¥${order_product_amount?string('0.00')}
+运费:¥${order_shipping_fee?string('0.00')}
+<#if packing_fee?? && (packing_fee > 0)>打包费:¥${packing_fee?string('0.00')}
+优惠金额:-¥${(quanyi!0)?string('0.00')}
+实付金额:¥${order_payment_amount?string('0.00')}
+<#if seller_message?default("")?trim?length gt 1> +--------------------------------
+商家备注:${seller_message!'-'}
+ +--------------------------------
+收货人:${buyer_user_name!''}
+收货人手机:${da_mobile!'-'}
+收货地址:${da_province!'-'}${da_city!'-'}${da_address!'-'}
+--------------------------------
+门店:${store_name}
+门店电话:${store_tel!'-'}
+收银员:${cashier!'店长'}
+ + 格式化的示例: 小发同城
--------------------------------
#00019232
买家备注:不用敲门,放在门口旁边的外卖箱,打个电话告知送达就行,谢谢!!!
配送时间:2024-10-25 14:00-14:30
--------------------------------
订单编号:ES20231026111444527685
订单来源:微信小程序
支付方式:微信支付
配送来源:顺丰同城
付款时间:2024-10-25 14:00:23
--------------------------------
商品名称 数量 金额
--------------------------------
可口可乐CocaC x110 8100.45
ola经典美味汽水1.2
5L/瓶
6970448170051
排骨约350g(默 1 150.13
认砍小块)
6970448170053
新鲜虫草花1包约2 x11 4.01
00g 韭菜1000g 鸡蛋
2003克
6970448170054
冰红茶风味饮料 1 13.24
6970448170055
--------------------------------
商品总件数:3
商品总额:¥18.7
押金:¥500
运费:¥5.54
会员权益:-¥50
秒杀:-¥100
实付金额:¥428.9元
--------------------------------
商家备注:老顾客赠送一箱牛奶;玻璃瓶包装轻拿轻放!
--------------------------------
收货人:张三
收货人手机:13128778765
收货地址:北京市朝阳区朝阳路朝阳人民小区1号楼1栋1101
--------------------------------
门店:岛内价生活超市
门店电话:13665822542
收银员:李小璐
diff --git a/mall-shop/src/main/resources/templates/refund_order_printer.txt b/mall-shop/src/main/resources/templates/refund_order_printer.txt index a5d13886..43bcf846 100644 --- a/mall-shop/src/main/resources/templates/refund_order_printer.txt +++ b/mall-shop/src/main/resources/templates/refund_order_printer.txt @@ -41,41 +41,41 @@ 修改后的模版 -小发同城
+ +用户退款订单
+${store_name}
--------------------------------
-#00019232
-退款原因:不用敲门,放在门口旁边的外卖箱,打个电话告知送达就行,谢谢!!!
-配送时间:2024-10-25 14:00-14:30
+#${order_pickup_num_str}
+退款原因:${return_buyer_message!'-'}
+配送时间:${payment_time}(之后20-30分钟)
--------------------------------
-订单编号:ES20231026111444527685
-退单编号:ES20231026111444527685
-订单来源:微信小程序
-支付方式:微信支付
-配送来源:顺丰同城
-付款时间:2024-10-25 14:00:23
-申请退款:2024-10-27 14:05:23
-确认退款:2024-10-27 14:8:23
+订单编号:${order_id}
+退单编号:${return_id}
+订单来源:${order_channel_name!'微信小程序'}
+支付方式:${payment_type_name!'微信支付'}
+配送来源:${deliver_type_name!'顺丰同城'}
+付款时间:${payment_time}
+申请退款:${return_add_time}
+确认退款:${return_finish_time}
--------------------------------
******* 退款商品 ******
--------------------------------
-可口可乐CocaC x110 8100.45
-ola经典美味汽水1.2
-5L/瓶
-6970448170051
-排骨约350g(默 1 150.13
-认砍小块)
-6970448170053
+<#list order_items as item>${item.s_name}${item.s_quantity}${item.s_amount}
<#if item.s_name_segs??><#list item.s_name_segs as seg>${seg}
<#if item.product_sn?default("")?trim?length gt 1>${item.product_sn}
--------------------------------
-实付金额:¥428.9元
-申请退款:¥32.7
-退款方式:仅退款
-商家审批备注:商家发货少了
+实付金额:¥${order_payment_amount?string('0.00')}元
+配送费:¥${order_shipping_fee?string('0.00')}元
+申请退款:¥${return_refund_amount?string('0.00')}
+退款方式:${return_flag_str}
+商家审批备注:${return_store_message!'-'}
--------------------------------
-会员名称:张三
-会员手机:13128778765
+会员名称:${buyer_user_name!'微信用户'}
+会员手机:${return_tel!'-'}
--------------------------------
-操作员:李小明
+操作员:${cashier!'-'}
原模版: ${store_name}
--------------------------------
#${order_pickup_num_str}
买家备注:${order_message!'-'}
配送时间:${delivery_time}
--------------------------------
订单编号:${order_id}
订单来源:微信小程序
支付方式:微信支付
配送来源:顺丰同城
付款时间:${payment_time}
--------------------------------
商品名称 数量 金额
--------------------------------
<#list order_items as item>${item.s_name}${item.s_quantity}${item.s_amount}
<#if item.s_name_segs??><#list item.s_name_segs as seg>${seg}
<#if item.product_sn?default("")?trim?length gt 1>${item.product_sn}
--------------------------------
商品总件数:${order_items_count!0}
商品总额:¥${order_product_amount?string('0.00')}
押金:¥${(yajin!0)?string('0.00')}
运费:¥${order_shipping_fee?string('0.00')}
会员权益:-¥${(quanyi!0)?string('0.00')}
秒杀:-¥${(miaosha!0)?string('0.00')}
实付金额:¥${order_payment_amount?string('0.00')}
<#if seller_message?default("")?trim?length gt 1>--------------------------------
商家备注:${seller_message!'---'}
--------------------------------
收货人:${buyer_user_name!''}
收货人手机:${store_tel!''}
收货地址:${da_province!'-'}${da_city!'-'}${da_address!'-'}
--------------------------------
门店:${store_name}
门店电话:${store_tel!'-'}
收银员:${cashier!'-'}
+ +带参模版: +用户退款订单
${store_name}
--------------------------------
#${order_pickup_num_str}
退款原因:${return_buyer_message!'-'}
配送时间:${payment_time}(之后20-30分钟)
--------------------------------
订单编号:${order_id}
退单编号:${return_id}
订单来源:${order_channel_name!'微信小程序'}
支付方式:${payment_type_name!'微信支付'}
配送来源:${deliver_type_name!'顺丰同城'}
付款时间:${payment_time}
申请退款:${return_add_time}
确认退款:${return_finish_time}
--------------------------------
******* 退款商品 ******
--------------------------------
<#list order_items as item>${item.s_name}${item.s_quantity}${item.s_amount}
<#if item.s_name_segs??><#list item.s_name_segs as seg>${seg}
<#if item.product_sn?default("")?trim?length gt 1>${item.product_sn}
--------------------------------
实付金额:¥${order_payment_amount?string('0.00')}元
配送费:¥${order_shipping_fee?string('0.00')}元
申请退款:¥${return_refund_amount?string('0.00')}
退款方式:${return_flag_str}
商家审批备注:${return_store_message!'-'}
--------------------------------
会员名称:${buyer_user_name}
会员手机:${return_tel}
--------------------------------
操作员:${cashier!'-'}