Просмотр исходного кода

卓美销售端加入财务审核相关原因

yjwang 1 неделя назад
Родитель
Сommit
5a79d74fb8
16 измененных файлов с 163 добавлено и 11 удалено
  1. 4 2
      fs-company/src/main/java/com/fs/company/controller/live/LiveAfterSalesController.java
  2. 16 1
      fs-company/src/main/java/com/fs/company/controller/live/LiveOrderController.java
  3. 1 1
      fs-company/src/main/java/com/fs/hisStore/controller/FsStoreAfterSalesScrmController.java
  4. 10 1
      fs-company/src/main/java/com/fs/hisStore/controller/FsStoreOrderScrmController.java
  5. 8 0
      fs-service/src/main/java/com/fs/hisStore/domain/FsStoreAfterSalesScrm.java
  6. 19 3
      fs-service/src/main/java/com/fs/hisStore/mapper/FsStoreAfterSalesScrmMapper.java
  7. 4 0
      fs-service/src/main/java/com/fs/hisStore/mapper/FsStoreOrderScrmMapper.java
  8. 5 0
      fs-service/src/main/java/com/fs/hisStore/service/IFsStoreAfterSalesScrmService.java
  9. 6 0
      fs-service/src/main/java/com/fs/hisStore/service/impl/FsStoreAfterSalesScrmServiceImpl.java
  10. 11 0
      fs-service/src/main/java/com/fs/live/domain/LiveOrder.java
  11. 20 0
      fs-service/src/main/java/com/fs/live/mapper/LiveAfterSalesMapper.java
  12. 4 0
      fs-service/src/main/java/com/fs/live/service/ILiveAfterSalesService.java
  13. 10 0
      fs-service/src/main/java/com/fs/live/service/impl/LiveAfterSalesServiceImpl.java
  14. 6 0
      fs-service/src/main/resources/mapper/hisStore/FsStoreOrderScrmMapper.xml
  15. 7 1
      fs-service/src/main/resources/mapper/live/LiveOrderMapper.xml
  16. 32 2
      fs-store/src/main/java/com/fs/hisStore/controller/store/FsStoreOrderScrmController.java

+ 4 - 2
fs-company/src/main/java/com/fs/company/controller/live/LiveAfterSalesController.java

@@ -97,12 +97,14 @@ public class LiveAfterSalesController extends BaseController
     @GetMapping(value = "/{id}")
     public R getInfo(@PathVariable("id") Long id)
     {
-        LiveAfterSales liveAfterSales = liveAfterSalesService.selectLiveAfterSalesById(id);
+        LiveAfterSales liveAfterSales = liveAfterSalesService.selectLiveAfterSalesByIdForDetail(id);
         if(liveAfterSales==null) return R.error("售后记录不存在");
         List<LiveAfterSalesItem> list = liveAfterSalesItemService.selectLiveAfterSalesItemByAfterId(id);
         List<LiveAfterSalesLogs> logList = liveAfterSalesLogsService.selectLiveAfterSalesLogsByAfterId(id);
         FsUser user=userService.selectFsUserById(liveAfterSales.getUserId());
-        user.setPhone(ParseUtils.parsePhone(user.getPhone()));
+        if(user!=null && user.getPhone()!=null){
+            user.setPhone(ParseUtils.parsePhone(user.getPhone()));
+        }
         LiveOrder liveOrder = orderService.selectLiveOrderByOrderId(String.valueOf(liveAfterSales.getOrderId()));
         return R.ok().put("afterSales",liveAfterSales).put("items",list).put("logs",logList).put("user",user).put("order",liveOrder);
 

+ 16 - 1
fs-company/src/main/java/com/fs/company/controller/live/LiveOrderController.java

@@ -27,6 +27,7 @@ import com.fs.hisStore.service.IFsExpressScrmService;
 import com.fs.live.domain.*;
 import com.fs.live.enums.LiveOrderCancleReason;
 import com.fs.live.param.LiveOrderExpressParam;
+import com.fs.live.service.ILiveAfterSalesService;
 import com.fs.live.service.ILiveOrderItemService;
 import com.fs.live.service.ILiveOrderLogsService;
 import com.fs.live.service.ILiveOrderPaymentService;
@@ -61,6 +62,9 @@ public class LiveOrderController extends BaseController
     @Autowired
     private ILiveOrderService liveOrderService;
 
+    @Autowired
+    private ILiveAfterSalesService liveAfterSalesService;
+
     @Autowired
     private ICrmCustomerService crmCustomerService;
     @Autowired
@@ -263,7 +267,18 @@ public class LiveOrderController extends BaseController
     @GetMapping(value = "/info/{orderId}")
     public AjaxResult getInfo(@PathVariable("orderId") String orderId)
     {
-        return AjaxResult.success(liveOrderService.selectLiveOrderByOrderId(orderId));
+        LiveOrder order = liveOrderService.selectLiveOrderByOrderId(orderId);
+        if (order != null && order.getStatus() != null
+                && (order.getStatus() == -1 || order.getStatus() == -2)) {
+            LiveAfterSales las = liveAfterSalesService.selectLiveAfterSalesByOrderIdForDetail(order.getOrderId());
+            if (las != null) {
+                order.setReasonValue1(las.getReasonValue1());
+                order.setReasonValue2(las.getReasonValue2());
+                order.setAuditRemark(las.getAuditRemark());
+                order.setAuditReasonName(las.getAuditReasonName());
+            }
+        }
+        return AjaxResult.success(order);
     }
 
     /**

+ 1 - 1
fs-company/src/main/java/com/fs/hisStore/controller/FsStoreAfterSalesScrmController.java

@@ -122,7 +122,7 @@ public class FsStoreAfterSalesScrmController extends BaseController
     @GetMapping(value = "/{id}")
     public R getInfo(@PathVariable("id") Long id)
     {
-        FsStoreAfterSalesScrm afterSales=fsStoreAfterSalesService.selectFsStoreAfterSalesById(id);
+        FsStoreAfterSalesScrm afterSales=fsStoreAfterSalesService.selectFsStoreAfterSalesByIdForDetail(id);
         FsStoreAfterSalesItemScrm map=new FsStoreAfterSalesItemScrm();
         map.setStoreAfterSalesId(id);
         List<FsStoreAfterSalesItemScrm> items=fsStoreAfterSalesItemService.selectFsStoreAfterSalesItemList(map);

+ 10 - 1
fs-company/src/main/java/com/fs/hisStore/controller/FsStoreOrderScrmController.java

@@ -93,6 +93,8 @@ public class FsStoreOrderScrmController extends BaseController
     @Autowired
     private IFsStoreOrderAuditLogScrmService orderAuditLogService;
     @Autowired
+    private IFsStoreAfterSalesScrmService fsStoreAfterSalesScrmService;
+    @Autowired
     private ISysConfigService configService;
     @Autowired
     private ICompanyUserService companyUserService;
@@ -312,8 +314,15 @@ public class FsStoreOrderScrmController extends BaseController
         }
 
         List<FsStoreOrderAuditLogVO> auditLogs = orderAuditLogService.selectStoreOrderAuditLogVOByOrderId(order.getId());
+
+        FsStoreAfterSalesScrm afterSales = null;
+        if (order.getStatus() != null && (order.getStatus() == -1 || order.getStatus() == -2)
+                && StringUtils.isNotEmpty(order.getOrderCode())) {
+            afterSales = fsStoreAfterSalesScrmService.selectFsStoreAfterSalesByOrderCode(order.getOrderCode());
+        }
+
         return R.ok().put("order", order).put("items", items).put("logs",logs).put("user",user).put("customer",customer).put("payments",payments)
-                .put("auditLogs", auditLogs);
+                .put("auditLogs", auditLogs).put("afterSales", afterSales);
     }
 
     /**

+ 8 - 0
fs-service/src/main/java/com/fs/hisStore/domain/FsStoreAfterSalesScrm.java

@@ -152,6 +152,14 @@ public class FsStoreAfterSalesScrm extends BaseEntity
     @TableField(exist = false)
     private String auditReasonName;
 
+    /** 售后原因一级名称(关联 fs_refund_reason,仅查询展示) */
+    @TableField(exist = false)
+    private String reasonValue1;
+
+    /** 售后原因二级名称(关联 fs_refund_reason,仅查询展示) */
+    @TableField(exist = false)
+    private String reasonValue2;
+
     /** 产品名称查询参数(用于搜索) */
     @TableField(exist = false)
     private String productName;

+ 19 - 3
fs-service/src/main/java/com/fs/hisStore/mapper/FsStoreAfterSalesScrmMapper.java

@@ -91,12 +91,14 @@ public interface FsStoreAfterSalesScrmMapper
             "cu.phonenumber as company_usere_phonenumber,o.pay_money,o.id as orderId,o.create_time as orderCreateTime,o.user_phone," +
             "o.real_name as userName,o.item_json,o.user_address,o.pay_time as orderPayTime,o.pay_price,o.total_postage," +
             "fsps.bank_serial_no,fsps.bank_transaction_id,o.delivery_id as orderDeliveryId,o.delivery_name as orderDeliveryName,o.delivery_sn as orderDeliverySn," +
-            "o.status as orderStatus,fsps.pay_code as payCode " +
+            "o.status as orderStatus,fsps.pay_code as payCode, rr1.reason_name as reasonValue1, rr2.reason_name as reasonValue2 " +
             " from fs_store_after_sales_scrm s " +
             " INNER join fs_store_order_scrm o on o.order_code=s.order_code " +
             " left join fs_user u on s.user_id=u.user_id " +
             " left join company c on c.company_id=s.company_id " +
             " left join company_user cu on cu.user_id=s.company_user_id " +
+            " left join fs_refund_reason rr1 on s.reason_id1 = rr1.id " +
+            " left join fs_refund_reason rr2 on s.reason_id2 = rr2.id " +
             " left join fs_store_payment_scrm fsps on fsps.business_order_id = o.id and fsps.status in (-1,1) " +
             " where 1=1 " +
             "<if test =\"maps.hfOrderCode != null and  maps.hfOrderCode!='' \"> " +
@@ -251,12 +253,14 @@ public interface FsStoreAfterSalesScrmMapper
             "cu.phonenumber as company_usere_phonenumber,o.pay_money,o.id as orderId,o.create_time as orderCreateTime,o.user_phone," +
             "o.real_name as userName,o.item_json,o.user_address,o.pay_time as orderPayTime,o.pay_price,o.total_postage," +
             "fsps.bank_serial_no,fsps.bank_transaction_id,o.delivery_id as orderDeliveryId,o.delivery_name as orderDeliveryName,o.delivery_sn as orderDeliverySn," +
-            "o.status as orderStatus,fsps.pay_code as payCode " +
+            "o.status as orderStatus,fsps.pay_code as payCode, rr1.reason_name as reasonValue1, rr2.reason_name as reasonValue2 " +
             " from fs_store_after_sales_scrm s " +
             " INNER join fs_store_order_scrm o on o.order_code=s.order_code " +
             " left join fs_user u on s.user_id=u.user_id " +
             " left join company c on c.company_id=s.company_id " +
             " left join company_user cu on cu.user_id=s.company_user_id " +
+            " left join fs_refund_reason rr1 on s.reason_id1 = rr1.id " +
+            " left join fs_refund_reason rr2 on s.reason_id2 = rr2.id " +
             " left join fs_store_payment_scrm fsps on fsps.business_order_id = o.id and fsps.status in (-1,1) " +
             " where 1=1 and s.is_del = 0  and o.status = -2 and fsps.bank_transaction_id is not null " +
             "<if test =\"maps.hfOrderCode != null and  maps.hfOrderCode!='' \"> " +
@@ -314,8 +318,20 @@ public interface FsStoreAfterSalesScrmMapper
             "</script>"})
     List<FsStoreAfterSalesVO> selectFsStoreAfterSalesListVOExport(@Param("maps") FsStoreAfterSalesScrm fsStoreAfterSales);
 
-    @Select("SELECT sas.* " +
+    @Select("SELECT sas.*, rr1.reason_name AS reasonValue1, rr2.reason_name AS reasonValue2 " +
             "FROM fs_store_after_sales_scrm sas " +
+            "LEFT JOIN fs_refund_reason rr1 ON sas.reason_id1 = rr1.id " +
+            "LEFT JOIN fs_refund_reason rr2 ON sas.reason_id2 = rr2.id " +
             "WHERE sas.order_code = #{orderCode} AND sas.status = 4 AND sas.is_del = 0 LIMIT 1")
     FsStoreAfterSalesScrm selectFsStoreAfterSalesByOrderCode(@Param("orderCode") String orderCode);
+
+    /**
+     * 售后详情(含一级/二级原因名称,供销售端查看)
+     */
+    @Select("SELECT s.*, rr1.reason_name AS reasonValue1, rr2.reason_name AS reasonValue2 " +
+            "FROM fs_store_after_sales_scrm s " +
+            "LEFT JOIN fs_refund_reason rr1 ON s.reason_id1 = rr1.id " +
+            "LEFT JOIN fs_refund_reason rr2 ON s.reason_id2 = rr2.id " +
+            "WHERE s.id = #{id}")
+    FsStoreAfterSalesScrm selectFsStoreAfterSalesByIdForDetail(@Param("id") Long id);
 }

+ 4 - 0
fs-service/src/main/java/com/fs/hisStore/mapper/FsStoreOrderScrmMapper.java

@@ -670,6 +670,7 @@ public interface FsStoreOrderScrmMapper
     @Select({"<script> " +
             "select o.*,cts.name as scheduleName,sp_latest.pay_code as hfshh,u.nickname,u.phone,cc.push_code,cc.create_time as customer_create_time,cc.source,cc.customer_code, c.company_name ,cu.nick_name as company_user_nick_name ,cu.phonenumber as company_usere_phonenumber ,p.title as package_title ,CASE WHEN o.certificates IS NULL OR o.certificates = '' THEN 0 ELSE 1 END AS is_upload  " +
             ", CASE o.is_audit WHEN 1 THEN '是' ELSE '否' END AS isAudit " +
+            ", rr1.reason_name as reasonValue1, rr2.reason_name as reasonValue2, sas.audit_remark as auditRemark " +
             " from fs_store_order_scrm o  " +
             " left JOIN fs_store_product_package_scrm p on o.package_id=p.package_id " +
             " left join fs_user u on o.user_id=u.user_id  " +
@@ -684,6 +685,9 @@ public interface FsStoreOrderScrmMapper
             "            FROM fs_store_payment_scrm sp\n" +
             "            WHERE sp.business_code IS NOT NULL\n" +
             "            ) sp_latest ON sp_latest.business_code = o.order_code AND sp_latest.rn = 1\n" +
+            " LEFT JOIN fs_store_after_sales_scrm sas ON sas.order_code = o.order_code AND sas.status = 4 AND sas.is_del = 0 " +
+            " LEFT JOIN fs_refund_reason rr1 ON sas.reason_id1 = rr1.id " +
+            " LEFT JOIN fs_refund_reason rr2 ON sas.reason_id2 = rr2.id " +
             "where 1=1 " +
             "<if test=\"maps.bankTransactionId !=null and maps.bankTransactionId!=''\">" +
             " and sp_latest.bank_transaction_id = #{maps.bankTransactionId} " +

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

@@ -29,6 +29,11 @@ public interface IFsStoreAfterSalesScrmService
      */
     public FsStoreAfterSalesScrm selectFsStoreAfterSalesById(Long id);
 
+    /**
+     * 查询售后详情(含一级/二级原因名称)
+     */
+    public FsStoreAfterSalesScrm selectFsStoreAfterSalesByIdForDetail(Long id);
+
     /**
      * 查询售后记录列表
      *

+ 6 - 0
fs-service/src/main/java/com/fs/hisStore/service/impl/FsStoreAfterSalesScrmServiceImpl.java

@@ -234,6 +234,12 @@ public class FsStoreAfterSalesScrmServiceImpl implements IFsStoreAfterSalesScrmS
         return fsStoreAfterSalesMapper.selectFsStoreAfterSalesById(id);
     }
 
+    @Override
+    public FsStoreAfterSalesScrm selectFsStoreAfterSalesByIdForDetail(Long id)
+    {
+        return fsStoreAfterSalesMapper.selectFsStoreAfterSalesByIdForDetail(id);
+    }
+
     /**
      * 查询售后记录列表
      *

+ 11 - 0
fs-service/src/main/java/com/fs/live/domain/LiveOrder.java

@@ -352,6 +352,17 @@ public class LiveOrder extends BaseEntity {
     @TableField(exist = false)
     private Long attrValueId;
 
+    /** 售后原因一级名称(关联查询,仅详情/列表展示) */
+    @TableField(exist = false)
+    private String reasonValue1;
+    /** 售后原因二级名称 */
+    @TableField(exist = false)
+    private String reasonValue2;
+    @TableField(exist = false)
+    private String auditRemark;
+    @TableField(exist = false)
+    private String auditReasonName;
+
     /** 小程序AppId */
     @Excel(name = "小程序AppId")
     private String appId;

+ 20 - 0
fs-service/src/main/java/com/fs/live/mapper/LiveAfterSalesMapper.java

@@ -92,6 +92,26 @@ public interface LiveAfterSalesMapper {
             "where las.order_id=#{orderId} AND las.status = 4 AND las.is_del = 0 LIMIT 1")
     LiveAfterSales selectLiveAfterSalesByOrderId(@Param("orderId") Long orderId);
 
+    /**
+     * 订单关联的最新一条售后(含一级/二级原因名称),用于退款订单详情
+     */
+    @Select("SELECT las.*, rr1.reason_name AS reasonValue1, rr2.reason_name AS reasonValue2 " +
+            "FROM live_after_sales las " +
+            "LEFT JOIN fs_refund_reason rr1 ON las.reason_id1 = rr1.id " +
+            "LEFT JOIN fs_refund_reason rr2 ON las.reason_id2 = rr2.id " +
+            "WHERE las.order_id = #{orderId} AND las.is_del = 0 ORDER BY las.id DESC LIMIT 1")
+    LiveAfterSales selectLiveAfterSalesByOrderIdForDetail(@Param("orderId") Long orderId);
+
+    /**
+     * 售后详情(含一级/二级原因名称)
+     */
+    @Select("SELECT las.*, rr1.reason_name AS reasonValue1, rr2.reason_name AS reasonValue2 " +
+            "FROM live_after_sales las " +
+            "LEFT JOIN fs_refund_reason rr1 ON las.reason_id1 = rr1.id " +
+            "LEFT JOIN fs_refund_reason rr2 ON las.reason_id2 = rr2.id " +
+            "WHERE las.id = #{id}")
+    LiveAfterSales selectLiveAfterSalesByIdForDetail(@Param("id") Long id);
+
     @Select({"<script> " +
             "select s.*  from live_after_sales s   " +
             "where s.sales_status=0 and s.status=0 and date_format(date_add(s.create_time, interval 24 hour),'%Y-%m-%d %H') &gt;= date_format(now(),'%Y-%m-%d %H') order by create_time desc " +

+ 4 - 0
fs-service/src/main/java/com/fs/live/service/ILiveAfterSalesService.java

@@ -99,4 +99,8 @@ public interface ILiveAfterSalesService {
     R applyForStoreAfterSales(String userId, LiveAfterSalesParam param);
 
     LiveAfterSales selectLiveAfterSalesByOrderId(Long orderId);
+
+    LiveAfterSales selectLiveAfterSalesByOrderIdForDetail(Long orderId);
+
+    LiveAfterSales selectLiveAfterSalesByIdForDetail(Long id);
 }

+ 10 - 0
fs-service/src/main/java/com/fs/live/service/impl/LiveAfterSalesServiceImpl.java

@@ -1491,4 +1491,14 @@ public class LiveAfterSalesServiceImpl implements ILiveAfterSalesService {
         return baseMapper.selectLiveAfterSalesByOrderId(orderId);
     }
 
+    @Override
+    public LiveAfterSales selectLiveAfterSalesByOrderIdForDetail(Long orderId) {
+        return baseMapper.selectLiveAfterSalesByOrderIdForDetail(orderId);
+    }
+
+    @Override
+    public LiveAfterSales selectLiveAfterSalesByIdForDetail(Long id) {
+        return baseMapper.selectLiveAfterSalesByIdForDetail(id);
+    }
+
 }

+ 6 - 0
fs-service/src/main/resources/mapper/hisStore/FsStoreOrderScrmMapper.xml

@@ -1750,15 +1750,21 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
         select DISTINCT o.id,o.order_code,o.extend_order_id,o.pay_order_id,o.bank_order_id,o.user_id,o.real_name,o.user_phone,o.user_address,o.cart_id,o.freight_price,o.total_num,o.total_price,o.total_postage,o.pay_price,o.pay_postage,o.pay_delivery,o.pay_money,o.deduction_price,o.coupon_id,o.coupon_price,o.paid,o.pay_time,o.pay_type,o.create_time,o.update_time,o.status,o.refund_status,o.refund_reason_wap_img,o.refund_reason_wap_explain,o.refund_reason_time,o.refund_reason_wap,o.refund_reason,o.refund_price,o.delivery_sn,o.delivery_name,o.delivery_type,o.delivery_id,o.gain_integral,o.use_integral,o.pay_integral,o.back_integral,o.mark,o.is_del,o.remark,o.verify_code,o.store_id,o.shipping_type,o.is_channel,o.is_remind,o.is_sys_del,o.is_prescribe,o.prescribe_id,o.company_id,o.company_user_id,o.is_package,o.package_json,o.order_type,o.package_id,o.finish_time,o.delivery_status,o.delivery_pay_status,o.delivery_time,o.delivery_pay_time,o.delivery_pay_money,o.tui_money,o.tui_money_status,o.delivery_import_time,o.tui_user_id,o.tui_user_money_status,o.order_create_type,o.store_house_code,o.dept_id,o.is_edit_money,o.customer_id,o.is_pay_remain,o.delivery_send_time,o.certificates,o.upload_time,o.item_json,o.schedule_id,o.delivery_pay_type,o.order_visit,o.service_fee,o.cycle,o.prescribe_price,o.follow_doctor_id,o.follow_time,o.user_coupon_id,o.order_medium,o.erp_phone,o.order_type
         ,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
         , csc.name miniProgramName,fsp.cost, fspc.cate_name,spavs.bar_code, sp_latest.bank_transaction_id as bankTransactionId,sp_latest.app_id, o.is_audit, o.audit_time,u.nick_name AS userNickName,oi.json_info
+        , rr1.reason_name as reasonValue1, rr2.reason_name as reasonValue2
+        , aft.audit_remark as auditRemark, aft.audit_reason_name as auditReasonName
         from fs_store_order_scrm o
         left join fs_user u on o.user_id=u.user_id
         left join company c on c.company_id=o.company_id
         left join company_user cu on cu.user_id=o.company_user_id
+        LEFT JOIN fs_store_after_sales_scrm aft ON aft.order_code = o.order_code AND aft.status = 4
+        LEFT JOIN fs_refund_reason rr1 ON aft.reason_id1 = rr1.id
+        LEFT JOIN fs_refund_reason rr2 ON aft.reason_id2 = rr2.id
         <if test="maps.erpAccount != null and maps.erpAccount != ''">
             LEFT JOIN fs_store_order_df df on df.order_id=o.id
 
         </if>
         left join fs_store_order_item_scrm oi on o.id = oi.order_id
+
         left join fs_store_product_scrm fsp on fsp.product_id = oi.product_id
         left join fs_store_product_category_scrm fspc on fspc.cate_id = fsp.cate_id
         LEFT JOIN fs_store_product_attr_value_scrm spavs

+ 7 - 1
fs-service/src/main/resources/mapper/live/LiveOrderMapper.xml

@@ -1216,7 +1216,13 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
                 FROM live_order_payment sp
                 WHERE sp.business_code IS NOT NULL
             ) lop ON lop.business_code = o.order_code AND lop.rn = 1
-            LEFT JOIN live_after_sales las ON las.order_id = o.order_id AND las.status = 4 AND las.is_del = 0
+            LEFT JOIN (
+                SELECT las_i.*
+                FROM live_after_sales las_i
+                INNER JOIN (
+                    SELECT order_id, MAX(id) AS mid FROM live_after_sales WHERE is_del = 0 GROUP BY order_id
+                ) las_last ON las_last.mid = las_i.id
+            ) las ON las.order_id = o.order_id
             LEFT JOIN fs_refund_reason rr1 ON las.reason_id1 = rr1.id
             LEFT JOIN fs_refund_reason rr2 ON las.reason_id2 = rr2.id
 

+ 32 - 2
fs-store/src/main/java/com/fs/hisStore/controller/store/FsStoreOrderScrmController.java

@@ -24,13 +24,18 @@ import com.fs.his.service.IFsExpressService;
 import com.fs.his.utils.ConfigUtil;
 import com.fs.his.vo.FsStoreOrderExcelVO;
 import com.fs.his.vo.FsStoreOrderStoreExcelVO;
+import com.fs.hisStore.domain.FsStoreAfterSalesScrm;
 import com.fs.hisStore.domain.FsStoreOrderItemScrm;
 import com.fs.hisStore.domain.FsStoreOrderLogsScrm;
 import com.fs.hisStore.domain.FsStoreOrderScrm;
+import com.fs.hisStore.domain.FsStorePaymentScrm;
+import com.fs.hisStore.domain.FsUserScrm;
 import com.fs.hisStore.mapper.FsStoreOrderItemScrmMapper;
 import com.fs.hisStore.param.FsStoreOrderExpressEditParam;
 import com.fs.hisStore.param.FsStoreOrderParam;
+import com.fs.hisStore.service.IFsStoreAfterSalesScrmService;
 import com.fs.hisStore.service.IFsStoreOrderScrmService;
+import com.fs.hisStore.service.IFsUserScrmService;
 import com.fs.hisStore.utils.UserUtil;
 import com.fs.hisStore.vo.FsStoreOrderVO;
 import com.fs.hisStore.vo.FsStoreProductDeliverExcelVO;
@@ -56,6 +61,10 @@ public class FsStoreOrderScrmController extends BaseController
     private IFsStoreOrderScrmService fsStoreOrderService;
     @Autowired
     private IFsExpressService expressService;
+    @Autowired
+    private IFsStoreAfterSalesScrmService fsStoreAfterSalesService;
+    @Autowired
+    private IFsUserScrmService fsUserService;
 
     @Autowired
     @Qualifier("erpOrderServiceImpl")
@@ -160,12 +169,33 @@ public class FsStoreOrderScrmController extends BaseController
      */
 
     @GetMapping(value = "/{orderId}")
-    public AjaxResult getInfo(@PathVariable("orderId") Long orderId)
+    public R getInfo(@PathVariable("orderId") Long orderId)
     {
         FsStoreOrderScrm fsStoreOrder = fsStoreOrderService.selectFsStoreOrderByOrderId(orderId);
         fsStoreOrder.setUserAddress(ParseUtils.parseAddress(fsStoreOrder.getUserAddress()));
         fsStoreOrder.setUserPhone(ParseUtils.parsePhone(fsStoreOrder.getUserPhone()));
-        return AjaxResult.success(fsStoreOrder);
+        
+        FsUserScrm user = null;
+        if (fsStoreOrder.getUserId() != null) {
+            user = fsUserService.selectFsUserById(fsStoreOrder.getUserId());
+        }
+        
+        List<FsStoreOrderItemScrm> items = fsStoreOrderService.selectFsStoreOrderItemList(String.valueOf(orderId));
+        List<FsStoreOrderLogsScrm> logs = fsStoreOrderService.selectFsStoreOrderLogsList(String.valueOf(orderId));
+        List<FsStorePaymentScrm> payments = fsStoreOrderService.selectFsStorePaymentByOrderId(orderId);
+        
+        FsStoreAfterSalesScrm afterSales = null;
+        if (fsStoreOrder.getStatus() != null && (fsStoreOrder.getStatus() == -1 || fsStoreOrder.getStatus() == -2)) {
+            afterSales = fsStoreAfterSalesService.selectFsStoreAfterSalesByOrderCode(fsStoreOrder.getOrderCode());
+        }
+        
+        return R.ok()
+            .put("order", fsStoreOrder)
+            .put("user", user)
+            .put("items", items)
+            .put("logs", logs)
+            .put("payments", payments)
+            .put("afterSales", afterSales);
     }
 
     /**