From a0186cf541d958a8b6d6edcaa13b9450630709ff Mon Sep 17 00:00:00 2001
From: xiaoyong931011 <15274802129@163.com>
Date: Fri, 12 Aug 2022 17:17:21 +0800
Subject: [PATCH] 20220810

---
 src/main/java/cc/mrbird/febs/pay/model/OrderStateMsgVo.java                      |    2 
 src/main/java/cc/mrbird/febs/mall/service/impl/ApiMallTeamLeaderServiceImpl.java |    2 
 src/test/java/cc/mrbird/febs/ProfitTest.java                                     |   48 ++++++++++++++++++++++-
 src/main/java/cc/mrbird/febs/mall/controller/AdminMallOrderController.java       |    6 +-
 src/main/resources/mapper/modules/MallOrderInfoMapper.xml                        |    6 ++-
 5 files changed, 54 insertions(+), 10 deletions(-)

diff --git a/src/main/java/cc/mrbird/febs/mall/controller/AdminMallOrderController.java b/src/main/java/cc/mrbird/febs/mall/controller/AdminMallOrderController.java
index f9c0364..7ed29f9 100644
--- a/src/main/java/cc/mrbird/febs/mall/controller/AdminMallOrderController.java
+++ b/src/main/java/cc/mrbird/febs/mall/controller/AdminMallOrderController.java
@@ -321,12 +321,12 @@
             OrderStateDto orderStateDto = new OrderStateDto();
             orderStateDto.setOrderNo(mallOrderInfo.getOrderNo());
             String productNames = getProductNames(mallOrderInfo.getMemberId(), mallOrderInfo.getId());
-            orderStateDto.setGoodsName(StrUtil.isEmpty(productNames)?"商品":productNames);
-            orderStateDto.setOrderState("已送达自提点");
+            orderStateDto.setGoodsName(StrUtil.sub(StrUtil.isEmpty(productNames)?"商品":productNames,0,10)+"...");
+            orderStateDto.setOrderState("已送达");
             orderStateDto.setTakeCode(mallOrderInfo.getTakeCode());
             String takeUniqueCode = mallOrderInfo.getTakeUniqueCode();
             MallTeamLeader mallTeamLeader = mallTeamLeaderMapper.selectLeaderByUniqueCode(takeUniqueCode);
-            orderStateDto.setAddressArea(mallTeamLeader.getAddressArea());
+            orderStateDto.setAddressArea(StrUtil.sub(mallTeamLeader.getAddressArea(),0,10)+"...");
             orderStateDto.setOpenId(mallMemberMapper.selectById(mallOrderInfo.getMemberId()).getOpenId());
             DataDictionaryCustom dataDictionaryCustom = dataDictionaryCustomMapper.selectDicDataByTypeAndCode(DataDictionaryEnum.WX_TEMPLATE_ID_ONE.getType(), DataDictionaryEnum.WX_TEMPLATE_ID_ONE.getCode());
             orderStateDto.setTemplateId(dataDictionaryCustom.getValue());
diff --git a/src/main/java/cc/mrbird/febs/mall/service/impl/ApiMallTeamLeaderServiceImpl.java b/src/main/java/cc/mrbird/febs/mall/service/impl/ApiMallTeamLeaderServiceImpl.java
index 99ecdfa..9b86be1 100644
--- a/src/main/java/cc/mrbird/febs/mall/service/impl/ApiMallTeamLeaderServiceImpl.java
+++ b/src/main/java/cc/mrbird/febs/mall/service/impl/ApiMallTeamLeaderServiceImpl.java
@@ -154,7 +154,7 @@
             orderStateDto.setOrderNo(mallOrderInfo.getOrderNo());
             String productNames = getProductNames(mallOrderInfo.getMemberId(), mallOrderInfo.getId());
             orderStateDto.setGoodsName(StrUtil.isEmpty(productNames)?"商品":productNames);
-            orderStateDto.setOrderState("已送达自提点");
+            orderStateDto.setOrderState("已送达");
             orderStateDto.setTakeCode(mallOrderInfo.getTakeCode());
             String takeUniqueCode = mallOrderInfo.getTakeUniqueCode();
             MallTeamLeader mallTeamLeader = mallTeamLeaderMapper.selectLeaderByUniqueCode(takeUniqueCode);
diff --git a/src/main/java/cc/mrbird/febs/pay/model/OrderStateMsgVo.java b/src/main/java/cc/mrbird/febs/pay/model/OrderStateMsgVo.java
index 0866511..39ef242 100644
--- a/src/main/java/cc/mrbird/febs/pay/model/OrderStateMsgVo.java
+++ b/src/main/java/cc/mrbird/febs/pay/model/OrderStateMsgVo.java
@@ -14,7 +14,7 @@
     private String template_id;//订阅消息模版id
     private String miniprogram_state="developer";//跳转小程序类型:developer为开发版;trial为体验版;formal为正式版;默认为正式版
     private String lang="zh_CN";//进入小程序查看”的语言类型,支持zh_CN(简体中文)、en_US(英文)、zh_HK(繁体中文)、zh_TW(繁体中文),默认为zh_CN
-    private String page = "pages/index/index";//默认跳到小程序首页
+    private String page;//默认跳到小程序首页
     private Map<String, WxTemplateData> data;//推送文字
 
 }
diff --git a/src/main/resources/mapper/modules/MallOrderInfoMapper.xml b/src/main/resources/mapper/modules/MallOrderInfoMapper.xml
index ea085b4..1dc9cd3 100644
--- a/src/main/resources/mapper/modules/MallOrderInfoMapper.xml
+++ b/src/main/resources/mapper/modules/MallOrderInfoMapper.xml
@@ -54,8 +54,10 @@
         order by a.created_time desc
     </select>
 
-    <select id="selectOrderByMemberIdAndId" resultType="cc.mrbird.febs.mall.entity.MallOrderInfo">
-        select * from mall_order_info a
+    <select id="selectOrderByMemberIdAndId" resultMap="OrderInfoMap">
+        select
+            a.*,
+            b.goods_name from mall_order_info a
                           inner join mall_order_item b on a.id=b.order_id where a.member_id=#{memberId} and a.id=#{id}
     </select>
 
diff --git a/src/test/java/cc/mrbird/febs/ProfitTest.java b/src/test/java/cc/mrbird/febs/ProfitTest.java
index 627a310..b769497 100644
--- a/src/test/java/cc/mrbird/febs/ProfitTest.java
+++ b/src/test/java/cc/mrbird/febs/ProfitTest.java
@@ -1,6 +1,7 @@
 package cc.mrbird.febs;
 
 import cc.mrbird.febs.mall.dto.ApiLeaderOrderConfirmDto;
+import cc.mrbird.febs.mall.entity.MallOrderInfo;
 import cc.mrbird.febs.mall.entity.MallOrderItem;
 import cc.mrbird.febs.mall.mapper.MallOrderInfoMapper;
 import cc.mrbird.febs.mall.mapper.MallOrderItemMapper;
@@ -11,6 +12,7 @@
 import cc.mrbird.febs.rabbit.consumer.AgentConsumer;
 import com.alibaba.fastjson.JSON;
 import com.alibaba.fastjson.JSONObject;
+import org.apache.commons.collections.CollectionUtils;
 import org.junit.jupiter.api.Test;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.boot.test.context.SpringBootTest;
@@ -126,8 +128,48 @@
 
     @Test
     public void confirm(){
-        ApiLeaderOrderConfirmDto apiLeaderOrderConfirmDto = new ApiLeaderOrderConfirmDto();
-        apiLeaderOrderConfirmDto.setIds("90");
-        iApiMallTeamLeaderService.leaderOrderConfirm(apiLeaderOrderConfirmDto);
+//        ApiLeaderOrderConfirmDto apiLeaderOrderConfirmDto = new ApiLeaderOrderConfirmDto();
+//        apiLeaderOrderConfirmDto.setIds("90");
+//        iApiMallTeamLeaderService.leaderOrderConfirm(apiLeaderOrderConfirmDto);
+        String productNames = getProductNames(38L, 104L);
+        System.out.println(productNames);
+    }
+
+    /**
+     * 根据用户ID和订单ID获取所购买商品名称
+     * @return 所含商品名称(多个以","隔开)
+     */
+    public String getProductNames(Long memberId, Long orderId) {
+        MallOrderInfo mallOrderInfo = mallOrderInfoMapper.selectOrderByMemberIdAndId(memberId, orderId);
+        List<MallOrderItem> details = mallOrderInfo.getItems();
+        if (CollectionUtils.isEmpty(details)) {
+            return "";
+        }
+        StringBuffer productNameBuffer = new StringBuffer();
+        Integer maxLength = 30;
+        for (int i = 0; i< details.size(); i++) {
+            MallOrderItem mallOrderItem = details.get(i);
+            String goodsName = mallOrderItem.getGoodsName();
+            if (goodsName == null) {
+                continue;
+            }
+            if (i == 0 && goodsName.length() > maxLength) {
+                productNameBuffer.append(goodsName.substring(0, maxLength) + "...");
+                break;
+            }
+            if ((productNameBuffer.length() + goodsName.length()) > maxLength) {
+                productNameBuffer.append("等");
+                break;
+            }
+            productNameBuffer.append(goodsName + ",");
+        }
+        String productNames = productNameBuffer.toString();
+        if (productNames.endsWith(",")) {
+            productNames = productNames.substring(0, productNames.length() - 1);
+        }
+        if (productNames.endsWith(",等")) {
+            productNames = productNames.substring(0, productNames.length() - 2) + "等";
+        }
+        return productNames;
     }
 }

--
Gitblit v1.9.1