From 5a8bb0c1dde052c6c95d545f53ae27d42338529d Mon Sep 17 00:00:00 2001
From: Helius <wangdoubleone@gmail.com>
Date: Thu, 22 Sep 2022 17:57:35 +0800
Subject: [PATCH] fix

---
 src/main/java/cc/mrbird/febs/mall/mapper/MallOrderInfoMapper.java                |    2 
 src/main/resources/templates/febs/views/modules/leader/leaderFenceAdd.html       |    2 
 src/main/resources/mapper/modules/MallTeamLeaderMapper.xml                       |   84 ++++++++++++++++++++++++---
 src/main/java/cc/mrbird/febs/mall/service/impl/ApiMallTeamLeaderServiceImpl.java |   22 ++++++-
 src/main/java/cc/mrbird/febs/mall/vo/AdminMallOrderInfoVo.java                   |    2 
 src/main/java/cc/mrbird/febs/mall/service/impl/AdminMallOrderService.java        |   13 ++++
 src/main/resources/mapper/modules/MallOrderInfoMapper.xml                        |   24 ++------
 src/main/resources/templates/febs/views/modules/order/orderList.html             |    1 
 src/main/java/cc/mrbird/febs/mall/mapper/MallTeamLeaderMapper.java               |    2 
 9 files changed, 119 insertions(+), 33 deletions(-)

diff --git a/src/main/java/cc/mrbird/febs/mall/mapper/MallOrderInfoMapper.java b/src/main/java/cc/mrbird/febs/mall/mapper/MallOrderInfoMapper.java
index 3c81b6c..3e789f2 100644
--- a/src/main/java/cc/mrbird/febs/mall/mapper/MallOrderInfoMapper.java
+++ b/src/main/java/cc/mrbird/febs/mall/mapper/MallOrderInfoMapper.java
@@ -68,4 +68,6 @@
     List<Map<String, Integer>> selectMemberOrderStatusCntByUniquecode(@Param("uniqueCode")String uniqueCode);
 
     List<MallOrderInfo> selectOrderByStatusAndPayTime(@Param("status")Integer i, @Param("paytime")DateTime offsetDay);
+
+    IPage<MallOrderInfo> selectNewApiOrderListInPage(IPage<MallOrderInfo> page, @Param("record") OrderListDto orderListDto);
 }
diff --git a/src/main/java/cc/mrbird/febs/mall/mapper/MallTeamLeaderMapper.java b/src/main/java/cc/mrbird/febs/mall/mapper/MallTeamLeaderMapper.java
index da21d7c..92902b4 100644
--- a/src/main/java/cc/mrbird/febs/mall/mapper/MallTeamLeaderMapper.java
+++ b/src/main/java/cc/mrbird/febs/mall/mapper/MallTeamLeaderMapper.java
@@ -36,4 +36,6 @@
     MallTeamLeader selectByFenceIdAndFenceNameAndLonAndLat(@Param("longitude")Double longitude, @Param("latitude")Double latitude,@Param("fenceId")String gfid, @Param("fenceName")String gfname);
 
     List<MallTeamLeader> getAllMallTeamLeaderList();
+
+    IPage<MallOrderInfo> selectNewApiLeaderOrderListInPage(IPage<MallOrderInfo> page, @Param("record")ApiLeaderOrderListDto apiLeaderOrderListDto);
 }
diff --git a/src/main/java/cc/mrbird/febs/mall/service/impl/AdminMallOrderService.java b/src/main/java/cc/mrbird/febs/mall/service/impl/AdminMallOrderService.java
index 0a5bcbf..6713e9a 100644
--- a/src/main/java/cc/mrbird/febs/mall/service/impl/AdminMallOrderService.java
+++ b/src/main/java/cc/mrbird/febs/mall/service/impl/AdminMallOrderService.java
@@ -67,6 +67,19 @@
     public IPage<AdminMallOrderInfoVo> getOrderListInPage(MallOrderInfoDto mallOrderInfo, QueryRequest request) {
         Page<AdminMallOrderInfoVo> page = new Page<>(request.getPageNum(), request.getPageSize());
         IPage<AdminMallOrderInfoVo> adminMallOrderInfoVos = this.baseMapper.selectOrderListInPage(page, mallOrderInfo);
+        if(CollUtil.isNotEmpty(adminMallOrderInfoVos.getRecords())){
+            for(AdminMallOrderInfoVo adminMallOrderInfoVo : adminMallOrderInfoVos.getRecords()){
+                Long orderId = adminMallOrderInfoVo.getId();
+                List<MallOrderItem> mallOrderItemList = mallOrderItemMapper.selectListByOrderId(orderId);
+                if(CollUtil.isNotEmpty(mallOrderItemList)){
+                    StringBuffer stringBuffer = new StringBuffer();
+                    for(MallOrderItem mallOrderItem : mallOrderItemList){
+                        stringBuffer.append(mallOrderItem.getGoodsName()).append("*").append(mallOrderItem.getCnt()).append(";");
+                    }
+                    adminMallOrderInfoVo.setGoodsName(stringBuffer.toString());
+                }
+            }
+        }
         return adminMallOrderInfoVos;
     }
 
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 509288d..738bc5c 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
@@ -167,8 +167,10 @@
         apiLeaderInfoVo.setDetailAddress(mallTeamLeader.getDetailAddress());
         apiLeaderInfoVo.setAddressArea(mallTeamLeader.getAddressArea());
         MallElectronicFence mallElectronicFence = mallElectronicFenceMapper.selectByTeamLeaderCode(mallTeamLeader.getUniqueCode());
-        String longLatStr = mallElectronicFence.getLonglatiarr();
-        apiLeaderInfoVo.setLonglatiarr(longLatStr);
+        if(ObjectUtil.isNotEmpty(mallElectronicFence)){
+            String longLatStr = mallElectronicFence.getLonglatiarr();
+            apiLeaderInfoVo.setLonglatiarr(longLatStr);
+        }
         return new FebsResponse().success().data(apiLeaderInfoVo);
     }
 
@@ -177,7 +179,17 @@
         MallMember member = LoginUserUtil.getLoginUser();
         IPage<MallOrderInfo> page = new Page<>(apiLeaderOrderListDto.getPageNum(), apiLeaderOrderListDto.getPageSize());
         apiLeaderOrderListDto.setMemberId(member.getId());
-        IPage<MallOrderInfo> mallOrderInfos = this.baseMapper.selectApiLeaderOrderListInPage(page, apiLeaderOrderListDto);
+//        IPage<MallOrderInfo> mallOrderInfos = this.baseMapper.selectApiLeaderOrderListInPage(page, apiLeaderOrderListDto);
+        IPage<MallOrderInfo> mallOrderInfos = this.baseMapper.selectNewApiLeaderOrderListInPage(page, apiLeaderOrderListDto);
+        if(CollUtil.isNotEmpty(mallOrderInfos.getRecords())){
+            for(MallOrderInfo mallOrderInfo : mallOrderInfos.getRecords()){
+                Long orderInfoId = mallOrderInfo.getId();
+                List<MallOrderItem> mallOrderItemList = mallOrderItemMapper.selectListByOrderId(orderInfoId);
+                if(CollUtil.isNotEmpty(mallOrderItemList)){
+                    mallOrderInfo.setItems(mallOrderItemList);
+                }
+            }
+        }
         return MallOrderInfoConversion.INSTANCE.entitysToVos(mallOrderInfos.getRecords());
     }
 
@@ -293,7 +305,9 @@
             apiLeaderInfoVo.setDetailAddress(mallTeamLeader.getDetailAddress());
             apiLeaderInfoVo.setAddressArea(mallTeamLeader.getAddressArea());
             MallElectronicFence mallElectronicFence = mallElectronicFenceMapper.selectByTeamLeaderCode(mallTeamLeader.getUniqueCode());
-            apiLeaderInfoVo.setLonglatiarr(mallElectronicFence.getLonglatiarr());
+            if(ObjectUtil.isNotEmpty(mallElectronicFence)){
+                apiLeaderInfoVo.setLonglatiarr(mallElectronicFence.getLonglatiarr());
+            }
             apiLeaderInfoVo.setLongitude(mallTeamLeader.getLongitude());
             apiLeaderInfoVo.setLatitude(mallTeamLeader.getLatitude());
         }
diff --git a/src/main/java/cc/mrbird/febs/mall/vo/AdminMallOrderInfoVo.java b/src/main/java/cc/mrbird/febs/mall/vo/AdminMallOrderInfoVo.java
index ba1039c..78ef1f8 100644
--- a/src/main/java/cc/mrbird/febs/mall/vo/AdminMallOrderInfoVo.java
+++ b/src/main/java/cc/mrbird/febs/mall/vo/AdminMallOrderInfoVo.java
@@ -81,4 +81,6 @@
     private Integer isHome;
     //团长姓名
     private String leaderName;
+    //商品名称
+    private String goodsName;
 }
diff --git a/src/main/resources/mapper/modules/MallOrderInfoMapper.xml b/src/main/resources/mapper/modules/MallOrderInfoMapper.xml
index 22dd8d9..1c02bb4 100644
--- a/src/main/resources/mapper/modules/MallOrderInfoMapper.xml
+++ b/src/main/resources/mapper/modules/MallOrderInfoMapper.xml
@@ -170,18 +170,6 @@
     <select id="selectApiOrderListInPage" resultType="cc.mrbird.febs.mall.entity.MallOrderInfo">
         select
                a.*,
---                b.id item_id,
---                b.order_id,
---                b.goods_id,
---                b.sku_id,
---                b.goods_name,
---                b.style_name,
---                b.sku_name,
---                b.sku_image,
---                b.state,
---                b.cnt,
---                b.price,
---                b.amount,
                c.name leaderName,
                c.phone leaderPhone,
                c.address_pic addressPic,
@@ -191,12 +179,12 @@
                c.township,
                c.detail_address detailAddress
         from mall_order_info a
-         inner join mall_order_item b on a.id=b.order_id
-         inner join mall_team_leader c on a.take_unique_code=c.unique_code
+        inner join mall_order_item b on a.id=b.order_id
+        inner join mall_team_leader c on a.take_unique_code=c.unique_code
         <where>
             a.del_flag=2
-            <if test="record.query != null and record.query != ''">
-                and (b.goods_name like CONCAT('%', CONCAT(#{record.query}, '%')) or b.style_name like CONCAT('%', CONCAT(#{record.query}, '%')) or b.sku_name like CONCAT('%', CONCAT(#{record.query}, '%')))
+            <if test="record.memberId != null">
+                and a.member_id=#{record.memberId}
             </if>
             <if test="record.status == 4 and record.status != 0">
                 and a.status = 4
@@ -207,8 +195,8 @@
             <if test="record.status == 5">
                 and a.status = 7 or b.state in (2,3)
             </if>
-            <if test="record.memberId != null">
-                and a.member_id=#{record.memberId}
+            <if test="record.query != null and record.query != ''">
+                and (b.goods_name like CONCAT('%', CONCAT(#{record.query}, '%')) or b.style_name like CONCAT('%', CONCAT(#{record.query}, '%')) or b.sku_name like CONCAT('%', CONCAT(#{record.query}, '%')))
             </if>
             <if test="record.orderType != null">
                 and a.order_type=#{record.orderType}
diff --git a/src/main/resources/mapper/modules/MallTeamLeaderMapper.xml b/src/main/resources/mapper/modules/MallTeamLeaderMapper.xml
index 16de05e..816713b 100644
--- a/src/main/resources/mapper/modules/MallTeamLeaderMapper.xml
+++ b/src/main/resources/mapper/modules/MallTeamLeaderMapper.xml
@@ -33,7 +33,7 @@
             ) * 1000
         ) AS distance
         from mall_team_leader a
-        inner join mall_electronic_fence b on b.team_leader_code = a.unique_code
+        left join mall_electronic_fence b on b.team_leader_code = a.unique_code
         <where>
             a.state = 1 and a.online_state = 1
             <if test="record.query != null and record.query != ''">
@@ -74,6 +74,7 @@
         <result column="comment_state" property="commentState" />
         <result column="delivery_state" property="deliveryState" />
         <result column="carriage" property="carriage" />
+        <result column="take_code" property="takeCode" />
         <result column="remark" property="remark" />
         <result column="del_flag" property="delFlag" />
         <result column="is_home" property="isHome" />
@@ -113,15 +114,7 @@
         inner join mall_order_item b on a.id=b.order_id
         inner join mall_member c on a.take_unique_code=c.invite_id
         <where>
-            a.delivery_type = 1
-            and c.id=#{record.memberId}
-            <if test="record.query != null and record.query != ''">
-                and ( a.name like CONCAT('%', CONCAT(#{record.query}, '%'))
-                    or a.phone like CONCAT('%', CONCAT(#{record.query}, '%'))
-                    or a.take_code like CONCAT('%', CONCAT(#{record.query}, '%'))
-                    or b.goods_name like CONCAT('%', CONCAT(#{record.query}, '%'))
-                    )
-            </if>
+            c.id=#{record.memberId}
             <if test="record.status == 4 and record.status != 0">
                 and a.status = 4
             </if>
@@ -137,9 +130,80 @@
             <if test="record.status == 0">
                 and a.status in (2,3,4)
             </if>
+            <if test="record.query != null and record.query != ''">
+                and ( a.name like CONCAT('%', CONCAT(#{record.query}, '%'))
+                    or a.phone like CONCAT('%', CONCAT(#{record.query}, '%'))
+                    or a.take_code like CONCAT('%', CONCAT(#{record.query}, '%'))
+                    or b.goods_name like CONCAT('%', CONCAT(#{record.query}, '%'))
+                    )
+            </if>
             <if test="record.orderType != null">
                 and a.order_type=#{record.orderType}
             </if>
+            and a.delivery_type = 1
+        </where>
+        order by a.created_time desc
+    </select>
+
+    <resultMap id="NewOrderInfoMap" type="cc.mrbird.febs.mall.entity.MallOrderInfo">
+        <id column="id" property="id" />
+        <result column="order_no" property="orderNo" />
+        <result column="member_id" property="memberId" />
+        <result column="order_time" property="orderTime" />
+        <result column="pay_time" property="payTime" />
+        <result column="amount" property="amount" />
+        <result column="pay_method" property="payMethod" />
+        <result column="pay_order_no" property="payOrderNo" />
+        <result column="pay_result" property="payResult" />
+        <result column="status" property="status" />
+        <result column="cancel_type" property="cancelType" />
+        <result column="name" property="name" />
+        <result column="phone" property="phone" />
+        <result column="address" property="address" />
+        <result column="longitude" property="longitude" />
+        <result column="latitude" property="latitude" />
+        <result column="order_type" property="orderType" />
+        <result column="comment_state" property="commentState" />
+        <result column="delivery_state" property="deliveryState" />
+        <result column="carriage" property="carriage" />
+        <result column="take_code" property="takeCode" />
+        <result column="remark" property="remark" />
+        <result column="del_flag" property="delFlag" />
+        <result column="is_home" property="isHome" />
+    </resultMap>
+
+    <select id="selectNewApiLeaderOrderListInPage" resultMap="NewOrderInfoMap">
+        select
+        a.*
+        from mall_order_info a
+        inner join mall_member c on a.take_unique_code=c.invite_id
+        <where>
+            c.id=#{record.memberId}
+            <if test="record.status == 4 and record.status != 0">
+                and a.status = 4
+            </if>
+            <if test="record.status != 4 and record.status != 1 and record.status != 0 and record.status != 5">
+                and a.status = #{record.status}
+            </if>
+            <if test="record.status == 5">
+                and (a.status = 6 or b.state = 2)
+            </if>
+            <if test="record.status == 1">
+                and a.status = 2
+            </if>
+            <if test="record.status == 0">
+                and a.status in (2,3,4)
+            </if>
+            <if test="record.query != null and record.query != ''">
+                and ( a.name like CONCAT('%', CONCAT(#{record.query}, '%'))
+                    or a.phone like CONCAT('%', CONCAT(#{record.query}, '%'))
+                    or a.take_code like CONCAT('%', CONCAT(#{record.query}, '%'))
+                    )
+            </if>
+            <if test="record.orderType != null">
+                and a.order_type=#{record.orderType}
+            </if>
+            and a.delivery_type = 1
         </where>
         order by a.created_time desc
     </select>
diff --git a/src/main/resources/templates/febs/views/modules/leader/leaderFenceAdd.html b/src/main/resources/templates/febs/views/modules/leader/leaderFenceAdd.html
index 64c999d..c33c954 100644
--- a/src/main/resources/templates/febs/views/modules/leader/leaderFenceAdd.html
+++ b/src/main/resources/templates/febs/views/modules/leader/leaderFenceAdd.html
@@ -93,7 +93,7 @@
         <div class="layui-form-item">
             <label class="layui-form-label">经纬度串:</label>
             <div class="layui-input-block">
-                <input type="text" id="longlatiarr" name="longlatiarr" lay-verify="required" placeholder="" class="layui-input" readonly>
+                <input type="text" id="longlatiarr" name="longlatiarr" class="layui-input" readonly>
             </div>
         </div>
         <div class="layui-form-item febs-hide">
diff --git a/src/main/resources/templates/febs/views/modules/order/orderList.html b/src/main/resources/templates/febs/views/modules/order/orderList.html
index 8ba4368..b921561 100644
--- a/src/main/resources/templates/febs/views/modules/order/orderList.html
+++ b/src/main/resources/templates/febs/views/modules/order/orderList.html
@@ -296,6 +296,7 @@
                         {field: 'memberName', title: '购买人', minWidth: 120,align:'left'},
                         {field: 'memberPhone', title: '联系方式', minWidth: 120,align:'left'},
                         // {field: 'memberBindPhone', title: '联系方式', minWidth: 120,align:'left'},
+                        {field: 'goodsName', title: '商品', minWidth: 120,align:'left'},
                         {field: 'amount', title: '订单金额', minWidth: 120,align:'left'},
                         {field: 'leaderName', title: '团长', minWidth: 120,align:'left'},
                         {field: 'orderTime', title: '下单时间', minWidth: 200,align:'left'},

--
Gitblit v1.9.1