|
@@ -21,11 +21,13 @@ import cn.newfeifan.mall.module.trade.dal.dataobject.order.TradeOrderItemDO;
|
|
|
import cn.newfeifan.mall.module.trade.dal.mysql.order.TradeOrderItemMapper;
|
|
|
import cn.newfeifan.mall.module.trade.dal.mysql.order.TradeOrderMapper;
|
|
|
import cn.newfeifan.mall.module.trade.dal.redis.RedisKeyConstants;
|
|
|
+import cn.newfeifan.mall.module.trade.enums.BacklogConstants;
|
|
|
import cn.newfeifan.mall.module.trade.enums.order.TradeOrderRefundStatusEnum;
|
|
|
import cn.newfeifan.mall.module.trade.enums.order.TradeOrderStatusEnum;
|
|
|
import cn.newfeifan.mall.module.trade.framework.delivery.core.client.ExpressClientFactory;
|
|
|
import cn.newfeifan.mall.module.trade.framework.delivery.core.client.dto.ExpressTrackQueryReqDTO;
|
|
|
import cn.newfeifan.mall.module.trade.framework.delivery.core.client.dto.ExpressTrackRespDTO;
|
|
|
+import cn.newfeifan.mall.module.trade.service.aftersale.AfterSaleService;
|
|
|
import cn.newfeifan.mall.module.trade.service.delivery.DeliveryExpressService;
|
|
|
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
|
|
|
import lombok.extern.slf4j.Slf4j;
|
|
@@ -69,6 +71,9 @@ public class TradeOrderQueryServiceImpl implements TradeOrderQueryService {
|
|
|
@Resource
|
|
|
private AdminUserService userService;
|
|
|
|
|
|
+ @Resource
|
|
|
+ private AfterSaleService afterSaleService;
|
|
|
+
|
|
|
|
|
|
// =================== Order ===================
|
|
|
|
|
@@ -80,8 +85,7 @@ public class TradeOrderQueryServiceImpl implements TradeOrderQueryService {
|
|
|
@Override
|
|
|
public TradeOrderDO getOrder(Long userId, Long id) {
|
|
|
TradeOrderDO order = tradeOrderMapper.selectById(id);
|
|
|
- if (order != null
|
|
|
- && ObjectUtil.notEqual(order.getUserId(), userId)) {
|
|
|
+ if (order != null && ObjectUtil.notEqual(order.getUserId(), userId)) {
|
|
|
return null;
|
|
|
}
|
|
|
return order;
|
|
@@ -175,7 +179,7 @@ public class TradeOrderQueryServiceImpl implements TradeOrderQueryService {
|
|
|
public Long getOrderCount(Integer status, TradeOrderPageReqVO reqVO) {
|
|
|
UserShopDetailsVO userShopDetails = userService.getUserShopDetails();
|
|
|
|
|
|
- return tradeOrderMapper.selectCountByStatus(status, userShopDetails.getShopId(), userShopDetails.getMerId(),reqVO);
|
|
|
+ return tradeOrderMapper.selectCountByStatus(status, userShopDetails.getShopId(), userShopDetails.getMerId(), reqVO);
|
|
|
}
|
|
|
|
|
|
@Override
|
|
@@ -213,10 +217,19 @@ public class TradeOrderQueryServiceImpl implements TradeOrderQueryService {
|
|
|
|
|
|
@Override
|
|
|
public TradeOrderDO getOrderById(Long orderId) {
|
|
|
- return tradeOrderMapper.selectOne(new LambdaQueryWrapper<TradeOrderDO>()
|
|
|
- .eq(TradeOrderDO::getId, orderId)
|
|
|
- .isNull(TradeOrderDO::getReceivingTime)
|
|
|
- );
|
|
|
+ return tradeOrderMapper.selectOne(new LambdaQueryWrapper<TradeOrderDO>().eq(TradeOrderDO::getId, orderId).isNull(TradeOrderDO::getReceivingTime));
|
|
|
+ }
|
|
|
+
|
|
|
+ @Override
|
|
|
+ public Map<String, Long> getBacklog() {
|
|
|
+ UserShopDetailsVO userShopDetails = userService.getUserShopDetails();
|
|
|
+ Long backlogShipmentsCount = tradeOrderMapper.selectCountByStatus(TradeOrderStatusEnum.UNDELIVERED.getStatus(), userShopDetails.getShopId(), userShopDetails.getMerId());
|
|
|
+ Long backlogAfterSaleCount = afterSaleService.selectCountByStatus(userShopDetails.getShopId(), userShopDetails.getMerId());
|
|
|
+
|
|
|
+ Map<String,Long> backMap = new HashMap<>();
|
|
|
+ backMap.put(BacklogConstants.BACKLOG_SHIPMENTS,backlogShipmentsCount);
|
|
|
+ backMap.put(BacklogConstants.BACKLOG_AFTER_SALE,backlogAfterSaleCount);
|
|
|
+ return backMap;
|
|
|
}
|
|
|
|
|
|
@Override
|
|
@@ -282,12 +295,9 @@ public class TradeOrderQueryServiceImpl implements TradeOrderQueryService {
|
|
|
* @param receiverMobile 收、寄件人的电话号码
|
|
|
* @return 物流轨迹
|
|
|
*/
|
|
|
- @Cacheable(cacheNames = RedisKeyConstants.EXPRESS_TRACK, key = "#code + '-' + #logisticsNo + '-' + #receiverMobile",
|
|
|
- condition = "#result != null")
|
|
|
+ @Cacheable(cacheNames = RedisKeyConstants.EXPRESS_TRACK, key = "#code + '-' + #logisticsNo + '-' + #receiverMobile", condition = "#result != null")
|
|
|
public List<ExpressTrackRespDTO> getExpressTrackList(String code, String logisticsNo, String receiverMobile) {
|
|
|
- return expressClientFactory.getDefaultExpressClient().getExpressTrackList(
|
|
|
- new ExpressTrackQueryReqDTO().setExpressCode(code).setLogisticsNo(logisticsNo)
|
|
|
- .setPhone(receiverMobile));
|
|
|
+ return expressClientFactory.getDefaultExpressClient().getExpressTrackList(new ExpressTrackQueryReqDTO().setExpressCode(code).setLogisticsNo(logisticsNo).setPhone(receiverMobile));
|
|
|
}
|
|
|
|
|
|
|
|
@@ -296,8 +306,7 @@ public class TradeOrderQueryServiceImpl implements TradeOrderQueryService {
|
|
|
@Override
|
|
|
public TradeOrderItemDO getOrderItem(Long userId, Long itemId) {
|
|
|
TradeOrderItemDO orderItem = tradeOrderItemMapper.selectById(itemId);
|
|
|
- if (orderItem != null
|
|
|
- && ObjectUtil.notEqual(orderItem.getUserId(), userId)) {
|
|
|
+ if (orderItem != null && ObjectUtil.notEqual(orderItem.getUserId(), userId)) {
|
|
|
return null;
|
|
|
}
|
|
|
return orderItem;
|