Browse Source

修改查看订单列表查询逻辑

cgp 1 day ago
parent
commit
27e176451d

+ 5 - 0
fs-service/src/main/java/com/fs/hisStore/param/FsCompanyCustomerOrderParam.java

@@ -20,6 +20,11 @@ public class FsCompanyCustomerOrderParam extends BaseEntity implements Serializa
      * */
     private String productName;
 
+    /**
+     * 订单号
+     * */
+    private String orderCode;
+
     //分页相关
     private Integer pageNum;
     private Integer pageSize;

+ 15 - 0
fs-service/src/main/java/com/fs/qw/service/impl/FsCompanyCustomerServiceImpl.java

@@ -1,7 +1,10 @@
 package com.fs.qw.service.impl;
 
+import cn.hutool.json.JSONArray;
+import cn.hutool.json.JSONUtil;
 import com.fs.common.exception.CustomException;
 import com.fs.common.utils.DateUtils;
+import com.fs.common.utils.StringUtils;
 import com.fs.company.domain.CompanyDept;
 import com.fs.company.domain.CompanyUser;
 import com.fs.company.mapper.CompanyDeptMapper;
@@ -9,6 +12,7 @@ import com.fs.his.domain.FsImportMember;
 import com.fs.his.mapper.FsImportMemberMapper;
 import com.fs.hisStore.mapper.FsStoreOrderScrmMapper;
 import com.fs.hisStore.param.FsCompanyCustomerOrderParam;
+import com.fs.hisStore.vo.FsStoreOrderItemVO;
 import com.fs.hisStore.vo.FsStoreOrderVO;
 import com.fs.qw.domain.FsCompanyCustomer;
 import com.fs.qw.domain.FsCompanyCustomerLog;
@@ -221,6 +225,17 @@ public class FsCompanyCustomerServiceImpl implements IFsCompanyCustomerService {
         if (CollectionUtils.isEmpty(fsStoreOrderVOS)){
             return Collections.emptyList();
         }
+        for (FsStoreOrderVO vo : fsStoreOrderVOS) {
+            String nickName = vo.getUserPhone().replaceAll("(\\d{3})\\d*(\\d{4})", "$1****$2");
+            vo.setNickname(nickName);
+            if (StringUtils.isNotEmpty(vo.getItemJson())) {
+                JSONArray jsonArray = JSONUtil.parseArray(vo.getItemJson());
+                List<FsStoreOrderItemVO> items = JSONUtil.toList(jsonArray, FsStoreOrderItemVO.class);
+                if (items.size() > 0) {
+                    vo.setItems(items);
+                }
+            }
+        }
         return fsStoreOrderVOS;
     }
 }

+ 13 - 4
fs-service/src/main/resources/mapper/hisStore/FsStoreOrderScrmMapper.xml

@@ -1145,8 +1145,8 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
         </if>
     </select>
 
-    <select id="selectStoreOrderScrmByCompanyCustomerParam" parameterType="com.fs.hisStore.param.FsCompanyCustomerOrderParam" resultType="com.fs.hisStore.vo.FsStoreOrderVO">
-        select o.*, u.phone, u.register_code, u.register_date, u.source,
+    <select id="selectStoreOrderScrmByCompanyCustomerParam" resultType="com.fs.hisStore.vo.FsStoreOrderVO">
+        select distinct o.*, u.phone, u.register_code, u.register_date, u.source,
         c.company_name,
         cu.nick_name as company_user_nick_name,
         cu.phonenumber as company_usere_phonenumber
@@ -1155,10 +1155,19 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
         left join company c on c.company_id = o.company_id
         left join company_user cu on cu.user_id = o.company_user_id
         <where>
-            company_customer_id = #{maps.companyCustomerId}
+            o.company_customer_id = #{maps.companyCustomerId}
+            <if test="maps.orderCode != null and maps.orderCode != ''">
+                and o.order_code = #{maps.orderCode}
+            </if>
             <if test="maps.productName != null and maps.productName != ''">
-                and fsp.product_name like concat('%', #{maps.productName}, '%')
+                and exists (
+                select 1 from fs_store_order_item_scrm oi
+                left join fs_store_product_scrm p on oi.product_id = p.product_id
+                where oi.order_id = o.id
+                and p.product_name like concat('%', #{maps.productName}, '%')
+                )
             </if>
         </where>
+        order by o.create_time desc
     </select>
 </mapper>