瀏覽代碼

Merge remote-tracking branch 'origin/master_exclusive_shop_20250718' into master_exclusive_shop_20250718

yuhongqi 1 周之前
父節點
當前提交
528cc6376d
共有 20 個文件被更改,包括 238 次插入81 次删除
  1. 1 1
      deploy.sh
  2. 1 1
      fs-admin/src/main/java/com/fs/live/controller/LiveOrderController.java
  3. 9 0
      fs-admin/src/main/java/com/fs/store/controller/FsStoreOrderController.java
  4. 6 3
      fs-service-system/src/main/java/com/fs/company/mapper/CompanyMoneyLogsMapper.java
  5. 2 0
      fs-service-system/src/main/java/com/fs/company/param/CompanyStoreOrderMoneyLogsListParam.java
  6. 1 0
      fs-service-system/src/main/java/com/fs/company/service/impl/CompanyServiceImpl.java
  7. 4 4
      fs-service-system/src/main/java/com/fs/erp/mapper/FsJstAftersalePushMapper.java
  8. 12 11
      fs-service-system/src/main/java/com/fs/erp/service/impl/JSTErpOrderServiceImpl.java
  9. 5 2
      fs-service-system/src/main/java/com/fs/express/impl/FsStoreDeliversServiceImpl.java
  10. 2 0
      fs-service-system/src/main/java/com/fs/live/domain/LiveOrderItem.java
  11. 1 1
      fs-service-system/src/main/java/com/fs/live/mapper/LiveOrderItemMapper.java
  12. 5 0
      fs-service-system/src/main/java/com/fs/live/service/ILiveOrderService.java
  13. 8 11
      fs-service-system/src/main/java/com/fs/live/service/impl/LiveAfterSalesServiceImpl.java
  14. 35 38
      fs-service-system/src/main/java/com/fs/live/service/impl/LiveOrderServiceImpl.java
  15. 3 3
      fs-service-system/src/main/java/com/fs/store/mapper/FsStoreDeliversMapper.java
  16. 2 0
      fs-service-system/src/main/java/com/fs/store/service/IFsStoreOrderService.java
  17. 106 1
      fs-service-system/src/main/java/com/fs/store/service/impl/FsStoreOrderServiceImpl.java
  18. 1 0
      fs-service-system/src/main/resources/mapper/company/CompanyMoneyLogsMapper.xml
  19. 1 1
      fs-service-system/src/main/resources/mapper/live/LiveAfterSalesMapper.xml
  20. 33 4
      fs-user-app/src/main/java/com/fs/app/controller/LiveOrderController.java

+ 1 - 1
deploy.sh

@@ -61,7 +61,7 @@ deploy_jar "$LOCAL_FS_ADMIN_JAR" "fs-admin"
 #deploy_jar "$LOCAL_FS_COMPANY_JAR" "fs-company"
 
 # 部署 fs-user-app
-deploy_jar "$LOCAL_FS_USER_APP_JAR" "fs-user-app"
+#deploy_jar "$LOCAL_FS_USER_APP_JAR" "fs-user-app"
 #deploy_jar "$LOCAL_FS_API_APP_JAR" "fs-api"
 
 #deploy_jar "$LOCAL_FS_SYNC_APP_JAR" "fs-sync"

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

@@ -58,7 +58,7 @@ import java.util.List;
 import java.util.Map;
 
 
-/**
+/**`
  * 订单Controller
  *
  * @author fs

+ 9 - 0
fs-admin/src/main/java/com/fs/store/controller/FsStoreOrderController.java

@@ -336,6 +336,15 @@ public class FsStoreOrderController extends BaseController {
         return R.ok().put("order", order).put("items", items).put("logs", logs).put("user", user).put("payments",payments).put("tuiMoneyLogs",tuiMoneyLogs);
     }
 
+    /**
+     * 获取订单详细信息
+     */
+    @PreAuthorize("@ss.hasPermi('store:storeOrder:query')")
+    @GetMapping(value = "/v2/{id}/{type}")
+    public R getInfo2(@PathVariable("id") Long id,@PathVariable("type") Integer type) {
+        return fsStoreOrderService.getInfo2(id,type);
+    }
+
     @GetMapping(value = "/queryAddress/{id}")
     @PreAuthorize("@ss.hasPermi('store:storeOrder:queryAddress')")
     public R getAddress(@PathVariable("id") Long id)

+ 6 - 3
fs-service-system/src/main/java/com/fs/company/mapper/CompanyMoneyLogsMapper.java

@@ -67,7 +67,7 @@ public interface CompanyMoneyLogsMapper
     public int deleteCompanyMoneyLogsByIds(Long[] logsIds);
 
     @Select({"<script> " +
-            "select l.*,c.company_name " +
+            "select l.*,c.company_name,l.type as pay_type_code " +
             "from company_money_logs l left join company c on c.company_id=l.company_id   " +
             "where 1=1 " +
             "<if test = 'maps.companyId != null  '> " +
@@ -92,7 +92,7 @@ public interface CompanyMoneyLogsMapper
 
 
     @Select({"<script> " +
-            "select l.*,c.company_name ,o.order_code,o.user_phone,p.bank_transaction_id,p.pay_type_code,p.pay_code " +
+            "select l.*,c.company_name ,o.order_code,o.user_phone,p.bank_transaction_id,p.pay_type_code,p.pay_code,l.type as pay_type_code " +
             "from company_money_logs l left join company c on c.company_id=l.company_id   " +
             "left join fs_store_order o on o.id=l.business_id " +
             "left join fs_store_payment p on o.id=p.order_id "+
@@ -129,7 +129,7 @@ public interface CompanyMoneyLogsMapper
     List<CompanyMoneyLogsVO> selectCompanyMoneyLogsMallVOList(@Param("maps") CompanyMoneyLogsParam companyMoneyLogs);
 
     @Select({"<script> " +
-            "select l.*,c.company_name ,p.bank_transaction_id,p.pay_type_code " +
+            "select l.*,c.company_name ,p.bank_transaction_id,p.pay_type_code,l.type as pay_type_code " +
             "from company_money_logs l left join company c on c.company_id=l.company_id   " +
             "left join fs_store_payment p on p.payment_id=l.business_id "+
             "where  (l.logs_type=8 || l.logs_type=9)  " +
@@ -224,6 +224,9 @@ public interface CompanyMoneyLogsMapper
             "<if test = 'maps.businessId != null  '> " +
             "and l.business_id = #{maps.businessId}" +
             "</if>" +
+            "<if test = 'maps.type != null  '> " +
+            "and l.type = #{maps.type}" +
+            "</if>" +
             "order by l.logs_id desc " +
             "</script>"})
     List<CompanyStoreOrderMoneyLogsVO> selectCompanyStoreOrderMoneyLogsList(@Param("maps")CompanyStoreOrderMoneyLogsListParam moneyLogsMap);

+ 2 - 0
fs-service-system/src/main/java/com/fs/company/param/CompanyStoreOrderMoneyLogsListParam.java

@@ -15,5 +15,7 @@ public class CompanyStoreOrderMoneyLogsListParam  implements Serializable
 
     private String businessId;
 
+    private Integer type;
+
 
 }

+ 1 - 0
fs-service-system/src/main/java/com/fs/company/service/impl/CompanyServiceImpl.java

@@ -296,6 +296,7 @@ public class CompanyServiceImpl implements ICompanyService
                 log.setBalance(company.getMoney());
                 log.setCreateTime(new Date());
                 log.setBusinessId(order.getId().toString());
+                log.setType(1);
                 moneyLogsMapper.insertCompanyMoneyLogs(log);
             }
         }

+ 4 - 4
fs-service-system/src/main/java/com/fs/erp/mapper/FsJstAftersalePushMapper.java

@@ -102,7 +102,7 @@ public interface FsJstAftersalePushMapper {
             "   <if test='lastExecuteTime != null'>last_execute_time = #{lastExecuteTime},</if>" +
             "   <if test='result != null'>result = #{result},</if>" +
             "   <if test='errorMessage != null'>error_message = #{errorMessage},</if>" +
-        "       <if test='orderType != null and orderType != \"\"'>#{orderType}</if>" +
+        "       <if test='orderType != null and orderType != \"\"'>order_type = #{orderType}</if>" +
             "</set>" +
             "WHERE id = #{id}" +
             "</if>" +
@@ -133,7 +133,7 @@ public interface FsJstAftersalePushMapper {
             "        type,\n" +
             "        task_status,\n" +
             "        retry_count,\n" +
-            "        ROW_NUMBER() OVER(PARTITION BY order_id ORDER BY CAST(type AS UNSIGNED)) AS task_seq,order_type" +
+            "        ROW_NUMBER() OVER(PARTITION BY order_id ORDER BY CAST(type AS UNSIGNED)) AS task_seq, order_type " +
             "    FROM \n" +
             "        fs_jst_aftersale_push\n" +
             "),\n" +
@@ -158,7 +158,7 @@ public interface FsJstAftersalePushMapper {
             "            WHERE p.order_id = o.order_id\n" +
             "              AND p.task_seq < o.task_seq\n" +
             "              AND p.task_status != 1\n" +
-            "        ) AS has_pending_prev_task,order_type" +
+            "        ) AS has_pending_prev_task, order_type " +
             "    FROM \n" +
             "        OrderWithNextTaskType o\n" +
             "    WHERE \n" +
@@ -170,7 +170,7 @@ public interface FsJstAftersalePushMapper {
             "    after_sale_id,\n" +
             "    type,\n" +
             "    task_status,\n" +
-            "    retry_count,order_type" +
+            "    retry_count, order_type " +
             "FROM \n" +
             "    PendingTasks\n" +
             "WHERE \n" +

+ 12 - 11
fs-service-system/src/main/java/com/fs/erp/service/impl/JSTErpOrderServiceImpl.java

@@ -459,17 +459,9 @@ public class JSTErpOrderServiceImpl implements IErpOrderService {
     public BaseResponse refundUpdateLive(ErpRefundUpdateRequest param) {
         LiveOrder fsStoreOrder = liveorderMapper.selectLiveOrderByOrderCode(param.getTid());
 
-        // 如果不是待发货
-        if(ObjectUtil.notEqual(param.getOrderStatus(), 2)){
-            FsJstAftersalePush fsJstAftersalePush = new FsJstAftersalePush();
-            fsJstAftersalePush.setOrderId(fsStoreOrder.getOrderCode());
-            fsJstAftersalePush.setTaskStatus(0);
-            fsJstAftersalePush.setType(String.valueOf(AfterSalesOrderStatusEnum.WAIT_SELLER_AGREE.getIndex()));
-            fsJstAftersalePush.setRetryCount(0);
-            fsJstAftersalePush.setAfterSaleId(String.valueOf(param.getStoreAfterSalesId()));
-            fsJstAftersalePush.setOrderType(1);
-            fsJstAftersalePushMapper.insert(fsJstAftersalePush);
-        } else {
+        // 如果是待发货
+        if(ObjectUtil.equal(param.getOrderStatus(), 2)){
+
             // 如果是发货前退款,直接走取消订单流程
             // 如果是发货后退款,走售后流程
             OrderCancelRequestDTO requestDTO = new OrderCancelRequestDTO();
@@ -478,6 +470,15 @@ public class JSTErpOrderServiceImpl implements IErpOrderService {
             requestDTO.setRemark("用户退款");
 
             jstErpHttpService.cancel(requestDTO);
+        } else {
+            FsJstAftersalePush fsJstAftersalePush = new FsJstAftersalePush();
+            fsJstAftersalePush.setOrderId(fsStoreOrder.getOrderCode());
+            fsJstAftersalePush.setTaskStatus(0);
+            fsJstAftersalePush.setType(String.valueOf(AfterSalesOrderStatusEnum.WAIT_SELLER_AGREE.getIndex()));
+            fsJstAftersalePush.setRetryCount(0);
+            fsJstAftersalePush.setAfterSaleId(String.valueOf(param.getStoreAfterSalesId()));
+            fsJstAftersalePush.setOrderType(1);
+            fsJstAftersalePushMapper.insert(fsJstAftersalePush);
         }
 
 

+ 5 - 2
fs-service-system/src/main/java/com/fs/express/impl/FsStoreDeliversServiceImpl.java

@@ -58,6 +58,7 @@ public class FsStoreDeliversServiceImpl implements FsStoreDeliversService {
     public FsStoreDelivers save(FsStoreDelivers fsStoreDelivers) {
         if (fsStoreDelivers.getId() == null) {
             fsStoreDelivers.setCreateTime(LocalDateTime.now());
+            fsStoreDelivers.setType(0);
             fsStoreDeliversMapper.insert(fsStoreDelivers);
 
         }
@@ -191,7 +192,7 @@ public class FsStoreDeliversServiceImpl implements FsStoreDeliversService {
 
     @Override
     public void syncDeliverInfo(Long orderId, Integer type) {
-        logger.info("开始同步订单发货信息, 订单ID: {}", orderId);
+        logger.info("开始同步订单发货信息, 订单ID: {},类型: {}", orderId,type);
         String orderCode,userPhone;
         if(ObjectUtil.equal(type,0)){
             FsStoreOrder order = orderService.selectFsStoreOrderById(orderId);
@@ -279,7 +280,9 @@ public class FsStoreDeliversServiceImpl implements FsStoreDeliversService {
                     userPhone = fsStoreOrder.getUserPhone();
                 }
             }
-            deliveryDTO.setType(0);
+            if(deliveryDTO.getType() == null) {
+                deliveryDTO.setType(0);
+            }
 
 
             fsStoreDeliversMapper.insert(deliveryDTO);

+ 2 - 0
fs-service-system/src/main/java/com/fs/live/domain/LiveOrderItem.java

@@ -65,5 +65,7 @@ public class LiveOrderItem{
 
     private String barCode;
 
+    private String warehouseCode;
+
 
 }

+ 1 - 1
fs-service-system/src/main/java/com/fs/live/mapper/LiveOrderItemMapper.java

@@ -78,7 +78,7 @@ public interface LiveOrderItemMapper {
     List<LiveOrderItemListUVO> selectLiveOrderItemListUVOByOrderId(Long orderId);
 
     @Update("update live_order_item set order_code=#{orderCode} where order_id=#{orderId} ")
-    int updateFsStoreOrderCode(@Param("orderId")Long orderId,@Param("orderSn") String orderSn);
+    int updateFsStoreOrderCode(@Param("orderId")Long orderId,@Param("orderCode") String orderSn);
 
     @Select("select * from live_order_item where order_id= #{orderId}")
     List<LiveOrderItem> selectCheckedByOrderId(@Param("orderId") Long orderId);

+ 5 - 0
fs-service-system/src/main/java/com/fs/live/service/ILiveOrderService.java

@@ -44,6 +44,7 @@ public interface ILiveOrderService {
      */
     List<LiveOrder> selectLiveOrderList(LiveOrder liveOrder);
 
+
     /**
      * 新增订单
      *
@@ -197,4 +198,8 @@ public interface ILiveOrderService {
     R editTuiMoney(Long orderId);
 
     LiveOrder selectLiveOrderByOrderCode(String soId);
+
+    R getExpressMulti(LiveOrder order);
+
+    R getExpress(LiveOrder order);
 }

+ 8 - 11
fs-service-system/src/main/java/com/fs/live/service/impl/LiveAfterSalesServiceImpl.java

@@ -556,7 +556,7 @@ public class LiveAfterSalesServiceImpl implements ILiveAfterSalesService {
         request.setTid(order.getOrderCode());
         request.setOid(order.getOrderCode());
         request.setRefund_state(1);
-        request.setOrderStatus(order.getStatus());
+        request.setOrderStatus(orderStatus);
 
 
         // 根据仓库code找erp
@@ -576,16 +576,13 @@ public class LiveAfterSalesServiceImpl implements ILiveAfterSalesService {
             ErpContextHolder.setErpType(erp);
         }
 
-
-
-        return R.ok();
-//        BaseResponse response=erpOrderService.refundUpdateLive(request);
-//        if(response.getSuccess()){
-//            return R.ok();
-//        }
-//        else{
-//            throw new CustomException(response.getErrorDesc());
-//        }
+        BaseResponse response=erpOrderService.refundUpdateLive(request);
+        if(response.getSuccess()){
+            return R.ok();
+        }
+        else{
+            throw new CustomException(response.getErrorDesc());
+        }
     }
 
     @Override

+ 35 - 38
fs-service-system/src/main/java/com/fs/live/service/impl/LiveOrderServiceImpl.java

@@ -18,7 +18,6 @@ import cn.hutool.core.util.IdUtil;
 import cn.hutool.core.util.NumberUtil;
 import cn.hutool.core.util.ObjectUtil;
 import cn.hutool.core.util.StrUtil;
-import cn.hutool.json.JSONArray;
 import cn.hutool.json.JSONUtil;
 import com.alibaba.fastjson.JSON;
 
@@ -31,7 +30,6 @@ import com.fs.common.event.TemplateEvent;
 import com.fs.common.event.TemplateListenEnum;
 import com.fs.common.exception.CustomException;
 import com.fs.common.utils.*;
-import com.fs.common.utils.ip.IpUtils;
 import com.fs.company.domain.Company;
 import com.fs.company.domain.CompanyDept;
 import com.fs.company.domain.CompanyMoneyLogs;
@@ -46,9 +44,6 @@ import com.fs.erp.dto.*;
 import com.fs.erp.service.IErpOrderService;
 import com.fs.erp.utils.ErpContextHolder;
 import com.fs.express.FsStoreDeliversService;
-import com.fs.huifuPay.domain.HuiFuCreateOrder;
-import com.fs.huifuPay.domain.HuifuCreateOrderResult;
-import com.fs.huifuPay.service.HuiFuService;
 import com.fs.live.domain.*;
 import com.fs.live.dto.LiveOrderItemDTO;
 import com.fs.live.mapper.*;
@@ -60,9 +55,7 @@ import com.fs.live.vo.LiveGoodsVo;
 import com.fs.live.vo.LiveOrderItemVo;
 import com.fs.live.vo.LiveOrderListVo;
 import com.fs.live.vo.LiveOrderVo;
-import com.fs.pay.service.IPayService;
 import com.fs.store.cache.IFsExpressCacheService;
-import com.fs.store.config.StoreConfig;
 import com.fs.store.domain.*;
 import com.fs.store.dto.*;
 import com.fs.store.enums.OrderInfoEnum;
@@ -79,28 +72,15 @@ import com.fs.store.service.*;
 import com.fs.store.service.channel.PaymentHandler;
 import com.fs.store.service.channel.PaymentHandlerHolder;
 import com.fs.store.service.channel.param.PayProcessContext;
-import com.fs.store.vo.FsStoreOrderItemVO;
-import com.fs.store.vo.FsStoreProductActivityListVO;
 import com.fs.system.config.SnowflakeUtils;
-import com.fs.system.domain.SysConfig;
-import com.fs.system.mapper.SysConfigMapper;
 import com.fs.system.service.ISysConfigService;
-import com.fs.tzBank.TzBankService;
 import com.fs.wx.domain.FsWxExpressTask;
 import com.fs.wx.mapper.FsWxExpressTaskMapper;
-import com.fs.wx.pay.config.WxPayProperties;
-import com.github.binarywang.wxpay.bean.order.WxPayMpOrderResult;
-import com.github.binarywang.wxpay.bean.request.WxPayUnifiedOrderRequest;
-import com.github.binarywang.wxpay.config.WxPayConfig;
-import com.github.binarywang.wxpay.exception.WxPayException;
-import com.github.binarywang.wxpay.service.WxPayService;
-import com.google.gson.Gson;
 import lombok.extern.slf4j.Slf4j;
 import org.apache.commons.collections4.CollectionUtils;
 import org.apache.commons.lang.ObjectUtils;
 import org.apache.http.util.Asserts;
 import org.springframework.beans.factory.annotation.Autowired;
-import org.springframework.beans.factory.annotation.Qualifier;
 import org.springframework.beans.factory.annotation.Value;
 import org.springframework.context.ApplicationEventPublisher;
 import org.springframework.stereotype.Service;
@@ -952,24 +932,6 @@ public class LiveOrderServiceImpl implements ILiveOrderService {
             return R.error("已退款");
         }
         log.info("准备退款 订单: {}",JSON.toJSONString(order));
-        if(StringUtils.isNotEmpty(order.getExtendOrderId())){
-            ErpRefundUpdateRequest request=new ErpRefundUpdateRequest();
-            request.setTid(order.getOrderCode());
-            request.setOid(order.getOrderCode());
-            request.setRefund_state(1);
-            request.setOrderStatus(liveAfterSales.getOrderStatus());
-            request.setStoreAfterSalesId(liveAfterSales.getId());
-            // 根据仓库code找erp
-            if(StringUtils.isNotBlank(order.getStoreHouseCode())){
-                String erp = fsWarehousesMapper.selectErpByCode(order.getStoreHouseCode());
-                ErpContextHolder.setErpType(erp);
-            }
-            BaseResponse response=erpOrderService.refundUpdateLive(request);
-            if(ObjectUtil.isNull(response) || !response.getSuccess()){
-                log.error("调用erp退款接口失败! {}",JSON.toJSONString(response));
-                throw new CustomException("调用erp退款接口失败:"+response.getErrorDesc());
-            }
-        }
         order.setStatus(-2);
         order.setRefundMoney(order.getPayMoney());
         order.setRefundStatus(String.valueOf(OrderInfoEnum.REFUND_STATUS_2.getValue()));
@@ -1643,6 +1605,41 @@ public class LiveOrderServiceImpl implements ILiveOrderService {
         return liveOrderMapper.selectLiveOrderByOrderCode(orderCode);
     }
 
+    @Override
+    public R getExpressMulti(LiveOrder order) {
+        //顺丰轨迹查询处理
+        String lastFourNumber = PhoneUtils.getLastFourNum(order.getUserPhone());
+        // 获取该订单关联的物流信息
+        List<FsStoreDelivers> fsStoreDelivers = fsStoreDeliversMapper.findByOrderIdWithType(order.getOrderId(),1);
+        if(CollectionUtils.isEmpty(fsStoreDelivers)){
+            return R.ok("当前订单号暂无物流信息");
+        }
+
+        List<ExpressInfoDTO> result = new ArrayList<>();
+        for (FsStoreDelivers fsStoreDeliver : fsStoreDelivers) {
+            ExpressInfoDTO dto=expressService.getExpressInfo(order.getOrderCode(),
+                    fsStoreDeliver.getDeliverSn(),
+                    fsStoreDeliver.getDeliverId(),
+                    lastFourNumber);
+            result.add(dto);
+        }
+
+        return R.ok().put("data",result);
+    }
+
+    @Override
+    public R getExpress(LiveOrder order) {
+        //顺丰轨迹查询处理
+        String lastFourNumber = "";
+        if (order.getDeliverySn().equals(ShipperCodeEnum.SF.getValue())) {
+            lastFourNumber = PhoneUtils.getLastFourNum(order.getUserPhone());
+        }
+        ExpressInfoDTO dto=expressService.getExpressInfo(order.getOrderCode(),order.getDeliveryCode(),order.getDeliverySn(),lastFourNumber);
+        dto.setShipperName(order.getDeliveryName());
+        FsExpress express=expressService.selectFsExpressByName(order.getDeliveryName());
+        return R.ok().put("data", dto).put("express",express).put("deliveryId",order.getDeliverySn());
+    }
+
     private BigDecimal handleDeliveryMoney(Long cityId, FsStoreProduct fsStoreProduct, String totalNumSize) {
         BigDecimal storePostage = BigDecimal.ZERO;
         List<Long> citys = new ArrayList<>();

+ 3 - 3
fs-service-system/src/main/java/com/fs/store/mapper/FsStoreDeliversMapper.java

@@ -59,9 +59,9 @@ public interface FsStoreDeliversMapper {
      * @param orderId 订单ID
      * @return 发货信息
      */
-    @Select("SELECT * FROM fs_store_delivers WHERE order_id = #{orderId} and type=0")
+    @Select("SELECT * FROM fs_store_delivers WHERE order_id = #{orderId} and ifnull(type,0)=0")
     List<FsStoreDelivers> findByOrderId(@Param("orderId") Long orderId);
-    @Select("SELECT * FROM fs_store_delivers WHERE order_id = #{orderId} and type=#{type}")
+    @Select("SELECT * FROM fs_store_delivers WHERE order_id = #{orderId} and ifnull(type,0)=#{type}")
     List<FsStoreDelivers> findByOrderIdWithType(@Param("orderId") Long orderId,@Param("type") Integer type);
 
     @Select("<script>" +
@@ -75,7 +75,7 @@ public interface FsStoreDeliversMapper {
     @MapKey("orderId")
     Map<Long,FsStoreDelivers> findByOrderIdWithTypeBatch(@Param("orderIds") List<Long> orderId, @Param("type") Integer type);
 
-    @Select("SELECT * FROM fs_store_delivers WHERE order_id = #{orderId} and type=#{type} limit 1")
+    @Select("SELECT * FROM fs_store_delivers WHERE order_id = #{orderId} and ifnull(type,0)=#{type} limit 1")
     FsStoreDelivers findByOrderIdWithTypeSingle(@Param("orderId") Long orderId,@Param("type") Integer type);
 
     /**

+ 2 - 0
fs-service-system/src/main/java/com/fs/store/service/IFsStoreOrderService.java

@@ -303,4 +303,6 @@ public interface IFsStoreOrderService
      * @param param
      */
     void cancelPay(FsStoreOrderPayParam param);
+
+    R getInfo2(Long id, Integer type);
 }

+ 106 - 1
fs-service-system/src/main/java/com/fs/store/service/impl/FsStoreOrderServiceImpl.java

@@ -42,9 +42,12 @@ import com.fs.company.domain.CompanyDept;
 import com.fs.company.domain.CompanyMoneyLogs;
 import com.fs.company.domain.CompanyUser;
 import com.fs.company.mapper.CompanyMoneyLogsMapper;
+import com.fs.company.param.CompanyStoreOrderMoneyLogsListParam;
 import com.fs.company.service.ICompanyDeptService;
+import com.fs.company.service.ICompanyMoneyLogsService;
 import com.fs.company.service.ICompanyService;
 import com.fs.company.service.ICompanyUserService;
+import com.fs.company.vo.CompanyStoreOrderMoneyLogsVO;
 import com.fs.erp.constant.ErpTypeConstant;
 import com.fs.erp.domain.*;
 import com.fs.erp.dto.*;
@@ -56,6 +59,12 @@ import com.fs.huifuPay.domain.HuiFuCreateOrder;
 import com.fs.huifuPay.domain.HuifuCreateOrderResult;
 import com.fs.huifuPay.dto.*;
 import com.fs.huifuPay.service.HuiFuService;
+import com.fs.live.domain.LiveOrder;
+import com.fs.live.domain.LiveOrderItem;
+import com.fs.live.domain.LiveOrderLogs;
+import com.fs.live.domain.LiveOrderPayment;
+import com.fs.live.mapper.LiveOrderItemMapper;
+import com.fs.live.mapper.LiveOrderLogsMapper;
 import com.fs.live.mapper.LiveOrderMapper;
 import com.fs.live.mapper.LiveOrderPaymentMapper;
 import com.fs.pay.pay.domain.CreateWxOrderResult;
@@ -271,7 +280,12 @@ public class FsStoreOrderServiceImpl implements IFsStoreOrderService
 
     @Autowired
     private FsUserMapper fsUserMapper;
-
+    @Autowired
+    private IFsStoreOrderService fsStoreOrderService;
+    @Autowired
+    private IFsStoreOrderItemService orderItemService;
+    @Autowired
+    private ICompanyMoneyLogsService moneyLogsService;
 
     @Override
     public void syncExpressToWx() {
@@ -1144,6 +1158,7 @@ public class FsStoreOrderServiceImpl implements IFsStoreOrderService
                 fsStoreDeliver.setUpdateTime(LocalDateTime.now());
                 fsStoreDeliver.setCreateBy("admin");
                 fsStoreDeliver.setUpdateBy("admin");
+                fsStoreDeliver.setType(0);
                 fsStoreDeliversMapper.insert(fsStoreDeliver);
             }
 
@@ -1805,6 +1820,96 @@ public class FsStoreOrderServiceImpl implements IFsStoreOrderService
         redisCache.deleteObject("isPaying:"+param.getOrderId());
     }
 
+    @Autowired
+    private LiveOrderMapper liveOrderMapper;
+
+    @Autowired
+    private LiveOrderItemMapper liveOrderItemMapper;
+
+    @Autowired
+    private LiveOrderLogsMapper liveOrderLogsMapper;
+
+    @Autowired
+    private LiveOrderPaymentMapper liveOrderPaymentMapper;
+
+    @Override
+    public R getInfo2(Long id, Integer type) {
+        if(ObjectUtil.equal(type,1)) {
+            LiveOrder order = liveOrderMapper.selectLiveOrderByOrderId(String.valueOf(id));
+            order.setUserPhone(ParseUtils.parsePhone(order.getUserPhone()));
+            order.setUserAddress(ParseUtils.parseAddress(order.getUserAddress()));
+            FsUser user = userService.selectFsUserById(Long.valueOf(order.getUserId()));
+            if (user!=null){
+                user.setPhone(ParseUtils.parsePhone(user.getPhone()));
+            }
+
+            LiveOrderItem itemMap = new LiveOrderItem();
+            itemMap.setOrderId(order.getOrderId());
+            // 设置仓库代码
+            List<LiveOrderItem> items = liveOrderItemMapper.selectLiveOrderItemList(itemMap);
+            for (LiveOrderItem item : items) {
+                if(ObjectUtil.isNotNull(item.getProductId())){
+                    String warehouseCode = fsStoreProductCacheService.getWarehouseCodeByProductId(item.getProductId());
+                    if(StringUtils.isNotBlank(warehouseCode)){
+                        item.setWarehouseCode(warehouseCode);
+                    }
+                }
+            }
+            List<LiveOrderLogs> liveOrderLogs = liveOrderLogsMapper.selectLiveOrderLogsByOrderId(order.getOrderId());
+
+            List<LiveOrderPayment> liveOrderPayments = liveOrderPaymentMapper.selectLiveOrderPaymentByOrderId(order.getOrderId());
+
+            List<CompanyStoreOrderMoneyLogsVO> tuiMoneyLogs=new ArrayList<>();
+            if(order.getCompanyId()!=null){
+                CompanyStoreOrderMoneyLogsListParam moneyLogsMap=new CompanyStoreOrderMoneyLogsListParam();
+                moneyLogsMap.setCompanyId(order.getCompanyId());
+                moneyLogsMap.setBusinessId(order.getOrderId().toString());
+                moneyLogsMap.setType(1);
+                tuiMoneyLogs=moneyLogsService.selectCompanyStoreOrderMoneyLogsList(moneyLogsMap);
+            }
+            return R.ok().put("order", order)
+                    .put("items", items)
+                    .put("logs", liveOrderLogs)
+                    .put("user", user)
+                    .put("payments",liveOrderPayments)
+                    .put("tuiMoneyLogs",tuiMoneyLogs);
+        } else {
+            FsStoreOrder order = fsStoreOrderService.selectFsStoreOrderById(id);
+            order.setUserPhone(ParseUtils.parsePhone(order.getUserPhone()));
+            order.setUserAddress(ParseUtils.parseAddress(order.getUserAddress()));
+            FsUser user = userService.selectFsUserById(order.getUserId());
+            if (user!=null){
+                user.setPhone(ParseUtils.parsePhone(user.getPhone()));
+            }
+
+            FsStoreOrderItem itemMap = new FsStoreOrderItem();
+            itemMap.setOrderId(order.getId());
+            // 设置仓库代码
+            List<FsStoreOrderItem> items = orderItemService.selectFsStoreOrderItemList(itemMap);
+            for (FsStoreOrderItem item : items) {
+                if(ObjectUtil.isNotNull(item.getProductId())){
+                    String warehouseCode = fsStoreProductCacheService.getWarehouseCodeByProductId(item.getProductId());
+                    if(StringUtils.isNotBlank(warehouseCode)){
+                        item.setWarehouseCode(warehouseCode);
+                    }
+                }
+            }
+            FsStoreOrderStatus statusMap = new FsStoreOrderStatus();
+            statusMap.setOrderId(order.getId());
+            List<FsStoreOrderStatus> logs = orderStatusService.selectFsStoreOrderStatusList(statusMap);
+            List<FsStorePayment> payments=paymentService.selectFsStorePaymentByOrderId(order.getId());
+            List<CompanyStoreOrderMoneyLogsVO> tuiMoneyLogs=new ArrayList<>();
+            if(order.getCompanyId()!=null){
+                CompanyStoreOrderMoneyLogsListParam moneyLogsMap=new CompanyStoreOrderMoneyLogsListParam();
+                moneyLogsMap.setCompanyId(order.getCompanyId());
+                moneyLogsMap.setBusinessId(order.getId().toString());
+                tuiMoneyLogs=moneyLogsService.selectCompanyStoreOrderMoneyLogsList(moneyLogsMap);
+            }
+            return R.ok().put("order", order).put("items", items).put("logs", logs).put("user", user).put("payments",payments).put("tuiMoneyLogs",tuiMoneyLogs);
+        }
+
+    }
+
     @Override
     @Transactional(rollbackFor = Throwable.class,propagation = Propagation.REQUIRED)
     //类型1支付回调 类型2货到付款

+ 1 - 0
fs-service-system/src/main/resources/mapper/company/CompanyMoneyLogsMapper.xml

@@ -93,6 +93,7 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
             <if test="remark != null">#{remark},</if>
             <if test="createTime != null">#{createTime},</if>
             <if test="logsType != null">#{logsType},</if>
+            <if test="businessId != null">#{businessId},</if>
             <if test="type != null">#{type},</if>
          </trim>
     </insert>

+ 1 - 1
fs-service-system/src/main/resources/mapper/live/LiveAfterSalesMapper.xml

@@ -75,7 +75,7 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
         <where>
             <if test="liveId != null and liveId != ''"> and las.live_id = #{liveId}</if>
             <if test="storeId != null and storeId != ''"> and las.store_id = #{storeId}</if>
-            <if test="orderCode != null and orderCode != ''"> and las.order_code = #{orderCode}</if>
+            <if test="orderCode != null and orderCode != ''"> and lo.order_code = #{orderCode}</if>
             <if test="refundAmount != null "> and las.refund_amount = #{refundAmount}</if>
             <if test="refundType != null "> and las.refund_type = #{refundType}</if>
             <if test="reasons != null  and reasons != ''"> and las.reasons = #{reasons}</if>

+ 33 - 4
fs-user-app/src/main/java/com/fs/app/controller/LiveOrderController.java

@@ -23,14 +23,12 @@ import com.fs.live.param.LiveOrderCancelParam;
 import com.fs.live.param.LiveOrderConfirmParam;
 import com.fs.live.service.ILiveOrderService;
 import com.fs.live.vo.LiveOrderListVo;
+import com.fs.store.domain.FsStoreOrder;
 import com.fs.store.dto.ExpressInfoDTO;
 import com.fs.store.dto.FsStoreOrderComputeDTO;
 import com.fs.store.dto.LiveOrderComputeDTO;
 import com.fs.store.enums.ShipperCodeEnum;
-import com.fs.store.param.FsStoreOrderComputedParam;
-import com.fs.store.param.FsStoreOrderRefundParam;
-import com.fs.store.param.LiveOrderComputedParam;
-import com.fs.store.param.LiveOrderRefundParam;
+import com.fs.store.param.*;
 import com.fs.store.service.IFsExpressService;
 import com.github.pagehelper.PageHelper;
 import com.github.pagehelper.PageInfo;
@@ -66,6 +64,37 @@ public class LiveOrderController extends AppBaseController
     @Autowired
     private JwtUtils jwtUtils;
 
+
+    @Login
+    @ApiOperation("物流查询多运单号")
+    @PostMapping("/getExpressMulti")
+    public R getExpressMulti( @Validated @RequestBody FsStoreOrderExpressParam param){
+        LiveOrder order=liveOrderService.selectLiveOrderByOrderId(String.valueOf(param.getOrderId()));
+        if (ObjectUtil.isNull(order)) {
+            throw new CustomException("订单不存在");
+        }
+        if (order.getStatus() <2) {
+            throw new CustomException("未发货订单不能查询");
+        }
+        return liveOrderService.getExpressMulti(order);
+    }
+
+    @Login
+    @ApiOperation("物流查询")
+    @PostMapping("/getExpress")
+    public R getExpress( @Validated @RequestBody FsStoreOrderExpressParam param){
+        LiveOrder order=liveOrderService.selectLiveOrderByOrderId(String.valueOf(param.getOrderId()));
+        if (ObjectUtil.isNull(order)) {
+            throw new CustomException("订单不存在");
+        }
+        if (order.getStatus() <2) {
+            throw new CustomException("未发货订单不能查询");
+        }
+
+        return liveOrderService.getExpress(order);
+    }
+
+
     /**
      * 查询订单列表
      */