优化顺丰下单逻辑

This commit is contained in:
Jack 2024-12-09 00:48:42 +08:00
parent 9f8e793d9f
commit 6fc21b3e3f
2 changed files with 22 additions and 87 deletions

View File

@ -19,7 +19,6 @@ import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.suisung.mall.common.api.*; import com.suisung.mall.common.api.*;
import com.suisung.mall.common.constant.CommonConstant; import com.suisung.mall.common.constant.CommonConstant;
import com.suisung.mall.common.constant.ConfigConstant; import com.suisung.mall.common.constant.ConfigConstant;
import com.suisung.mall.common.constant.ConstantError;
import com.suisung.mall.common.constant.MqConstant; import com.suisung.mall.common.constant.MqConstant;
import com.suisung.mall.common.domain.UserDto; import com.suisung.mall.common.domain.UserDto;
import com.suisung.mall.common.exception.ApiException; import com.suisung.mall.common.exception.ApiException;
@ -65,7 +64,6 @@ import com.suisung.mall.common.pojo.to.UserLevelTO;
import com.suisung.mall.common.pojo.vo.ShopStoreOrderProductPrintVO; import com.suisung.mall.common.pojo.vo.ShopStoreOrderProductPrintVO;
import com.suisung.mall.common.service.MessageService; import com.suisung.mall.common.service.MessageService;
import com.suisung.mall.common.utils.*; import com.suisung.mall.common.utils.*;
import com.suisung.mall.core.web.service.RedisService;
import com.suisung.mall.core.web.service.impl.BaseServiceImpl; import com.suisung.mall.core.web.service.impl.BaseServiceImpl;
import com.suisung.mall.shop.activity.service.*; import com.suisung.mall.shop.activity.service.*;
import com.suisung.mall.shop.base.service.*; import com.suisung.mall.shop.base.service.*;
@ -97,7 +95,6 @@ import io.seata.core.exception.TransactionException;
import io.seata.spring.annotation.GlobalTransactional; import io.seata.spring.annotation.GlobalTransactional;
import io.seata.tm.api.GlobalTransaction; import io.seata.tm.api.GlobalTransaction;
import io.seata.tm.api.GlobalTransactionContext; import io.seata.tm.api.GlobalTransactionContext;
import io.swagger.models.auth.In;
import org.apache.commons.collections4.CollectionUtils; import org.apache.commons.collections4.CollectionUtils;
import org.apache.ibatis.annotations.Param; import org.apache.ibatis.annotations.Param;
import org.slf4j.Logger; import org.slf4j.Logger;
@ -138,233 +135,161 @@ import static com.suisung.mall.common.utils.ContextUtil.getCurrentUser;
@Service @Service
public class ShopOrderBaseServiceImpl extends BaseServiceImpl<ShopOrderBaseMapper, ShopOrderBase> implements ShopOrderBaseService { public class ShopOrderBaseServiceImpl extends BaseServiceImpl<ShopOrderBaseMapper, ShopOrderBase> implements ShopOrderBaseService {
private final Logger logger = LoggerFactory.getLogger(ShopOrderBaseServiceImpl.class);
@Autowired @Autowired
private ShopOrderBaseMapper shopOrderBaseMapper; private ShopOrderBaseMapper shopOrderBaseMapper;
@Autowired @Autowired
private ShopOrderInfoService shopOrderInfoService; private ShopOrderInfoService shopOrderInfoService;
@Autowired @Autowired
private ShopOrderReturnService orderReturnService; private ShopOrderReturnService orderReturnService;
@Autowired @Autowired
private ShopOrderReturnItemService orderReturnItemService; private ShopOrderReturnItemService orderReturnItemService;
@Autowired @Autowired
private ShopStoreBaseService shopStoreBaseService; private ShopStoreBaseService shopStoreBaseService;
@Autowired @Autowired
private ShopStoreInfoService shopStoreInfoService; private ShopStoreInfoService shopStoreInfoService;
@Autowired @Autowired
private ShopOrderItemService shopOrderItemService; private ShopOrderItemService shopOrderItemService;
@Autowired @Autowired
private ShopOrderDataService shopOrderDataService; private ShopOrderDataService shopOrderDataService;
@Autowired @Autowired
private ShopBaseActivityTypeService activityTypeService; private ShopBaseActivityTypeService activityTypeService;
@Autowired @Autowired
private PayService payService; private PayService payService;
@Autowired @Autowired
private ShopOrderChainCodeService orderChainCodeService; private ShopOrderChainCodeService orderChainCodeService;
@Autowired @Autowired
private ShopChainBaseService shopChainBaseService; private ShopChainBaseService shopChainBaseService;
@Autowired @Autowired
private ShopOrderLogisticsService orderLogisticsService; private ShopOrderLogisticsService orderLogisticsService;
@Autowired @Autowired
private ShopStoreExpressLogisticsService expressLogisticsService; private ShopStoreExpressLogisticsService expressLogisticsService;
@Autowired @Autowired
private ShopOrderDeliveryAddressService orderDeliveryAddressService; private ShopOrderDeliveryAddressService orderDeliveryAddressService;
@Autowired @Autowired
private ShopOrderInvoiceService orderInvoiceService; private ShopOrderInvoiceService orderInvoiceService;
@Autowired @Autowired
private ShopProductBaseService shopProductBaseService; private ShopProductBaseService shopProductBaseService;
@Autowired @Autowired
private ShopProductIndexService shopProductIndexService; private ShopProductIndexService shopProductIndexService;
@Autowired @Autowired
private ShopProductItemService shopProductItemService; private ShopProductItemService shopProductItemService;
@Autowired @Autowired
private ShopBaseProductUnitService baseProductUnitService; private ShopBaseProductUnitService baseProductUnitService;
@Autowired @Autowired
private ShopBaseStateCodeService shopBaseStateCodeService; private ShopBaseStateCodeService shopBaseStateCodeService;
@Autowired @Autowired
private ShopProductValidPeriodService validPeriodService; private ShopProductValidPeriodService validPeriodService;
@Autowired @Autowired
private ShopActivityGroupbookingService activityGroupbookingService; private ShopActivityGroupbookingService activityGroupbookingService;
@Autowired @Autowired
private ShopActivityGroupbookingHistoryService groupbookingHistoryService; private ShopActivityGroupbookingHistoryService groupbookingHistoryService;
@Autowired @Autowired
private ShopOrderStateLogService shopOrderStateLogService; private ShopOrderStateLogService shopOrderStateLogService;
@Autowired @Autowired
private InvoicingStockBillService invoicingStockBillService; private InvoicingStockBillService invoicingStockBillService;
@Autowired @Autowired
private InvoicingStockBillItemService invoicingStockBillItemService; private InvoicingStockBillItemService invoicingStockBillItemService;
@Autowired @Autowired
private ShopStoreConfigService shopStoreConfigService; private ShopStoreConfigService shopStoreConfigService;
@Autowired @Autowired
private InvoicingWarehouseBaseService warehouseBaseService; private InvoicingWarehouseBaseService warehouseBaseService;
@Autowired @Autowired
private ShopChainItemService shopChainItemService; private ShopChainItemService shopChainItemService;
@Autowired @Autowired
private ShopOrderDeliveryAddressService deliveryAddressService; private ShopOrderDeliveryAddressService deliveryAddressService;
@Autowired @Autowired
private ShopUserDeliveryAddressService userDeliveryAddressService; private ShopUserDeliveryAddressService userDeliveryAddressService;
@Autowired @Autowired
private CityMarketOrderBaseService cityMarketOrderBaseService; private CityMarketOrderBaseService cityMarketOrderBaseService;
@Autowired @Autowired
private AccountBaseConfigService accountBaseConfigService; private AccountBaseConfigService accountBaseConfigService;
@Autowired @Autowired
private AccountService accountService; private AccountService accountService;
@Autowired @Autowired
private ShopUserInvoiceService shopUserInvoiceService; private ShopUserInvoiceService shopUserInvoiceService;
@Autowired @Autowired
private ShopUserCartService shopUserCartService; private ShopUserCartService shopUserCartService;
@Autowired @Autowired
private ShopStoreActivityBaseService shopStoreActivityBaseService; private ShopStoreActivityBaseService shopStoreActivityBaseService;
@Autowired @Autowired
private ShopStoreEmployeeService storeEmployeeService; private ShopStoreEmployeeService storeEmployeeService;
@Autowired @Autowired
private ShopUserProductBuyService shopUserProductBuyService; private ShopUserProductBuyService shopUserProductBuyService;
@Autowired @Autowired
private ShopUserVoucherService shopUserVoucherService; private ShopUserVoucherService shopUserVoucherService;
@Autowired @Autowired
private ShopBaseCurrencyService shopBaseCurrencyService; private ShopBaseCurrencyService shopBaseCurrencyService;
@Autowired @Autowired
private ShopOrderCbService shopOrderCbService; private ShopOrderCbService shopOrderCbService;
@Autowired @Autowired
private ShopActivityPfGroupbuyStoreHistoryService activityPfGroupbuyStoreHistoryService; private ShopActivityPfGroupbuyStoreHistoryService activityPfGroupbuyStoreHistoryService;
@Autowired @Autowired
private ShopActivityCutpriceService activityCutpriceService; private ShopActivityCutpriceService activityCutpriceService;
@Autowired @Autowired
private ShopBaseProductCategoryService shopBaseProductCategoryService; private ShopBaseProductCategoryService shopBaseProductCategoryService;
@Autowired @Autowired
private InvoicingCustomerBaseService invoicingCustomerBaseService; private InvoicingCustomerBaseService invoicingCustomerBaseService;
@Autowired @Autowired
private UserInfoService userInfoService; private UserInfoService userInfoService;
@Autowired @Autowired
private ShopOrderBaseService shopOrderBaseService; private ShopOrderBaseService shopOrderBaseService;
@Autowired @Autowired
private ShopOrderReturnService shopOrderReturnService; private ShopOrderReturnService shopOrderReturnService;
@Autowired @Autowired
private ShopActivityGroupbuyStoreService shopActivityGroupbuyStoreService; private ShopActivityGroupbuyStoreService shopActivityGroupbuyStoreService;
@Autowired @Autowired
private ShopNumberSeqService shopNumberSeqService; private ShopNumberSeqService shopNumberSeqService;
@Autowired @Autowired
private ShopStoreAnalyticsService shopStoreAnalyticsService; private ShopStoreAnalyticsService shopStoreAnalyticsService;
@Autowired @Autowired
private ShopProductAnalyticsService shopProductAnalyticsService; private ShopProductAnalyticsService shopProductAnalyticsService;
@Autowired @Autowired
private ShopUserExpHistoryService shopUserExpHistoryService; private ShopUserExpHistoryService shopUserExpHistoryService;
@Autowired @Autowired
private ShopBaseExpressService shopBaseExpressService; private ShopBaseExpressService shopBaseExpressService;
@Autowired @Autowired
private ShopStoreShippingAddressService shopStoreShippingAddressService; private ShopStoreShippingAddressService shopStoreShippingAddressService;
@Autowired @Autowired
private ShopOrderShippingAddressService shopOrderShippingAddressService; private ShopOrderShippingAddressService shopOrderShippingAddressService;
@Autowired @Autowired
private ShopStoreEmployeeService shopStoreEmployeeService; private ShopStoreEmployeeService shopStoreEmployeeService;
@Autowired @Autowired
private ShopDistributionUserOrderService shopDistributionUserOrderService; private ShopDistributionUserOrderService shopDistributionUserOrderService;
@Autowired @Autowired
private ShopDistributionUserOrderItemService shopDistributionUserOrderItemService; private ShopDistributionUserOrderItemService shopDistributionUserOrderItemService;
@Autowired @Autowired
private ShopDistributionPlantformUserService shopDistributionPlantformUserService; private ShopDistributionPlantformUserService shopDistributionPlantformUserService;
@Autowired @Autowired
private DataSourceTransactionManager transactionManager; private DataSourceTransactionManager transactionManager;
@Autowired @Autowired
private TransactionDefinition transactionDefinition; private TransactionDefinition transactionDefinition;
@Autowired @Autowired
private MessageService messageService; private MessageService messageService;
@Autowired @Autowired
private EduService eduService; private EduService eduService;
@Autowired @Autowired
private ShopStoreActivityCodeService shopStoreActivityCodeService; private ShopStoreActivityCodeService shopStoreActivityCodeService;
@Autowired @Autowired
private MqMessageService mqMessageService; private MqMessageService mqMessageService;
@Autowired
private RedisService redisService;
@Autowired @Autowired
private ThreadPoolExecutor executor; private ThreadPoolExecutor executor;
@Autowired @Autowired
private ShopActivityCutpriceService shopActivityCutpriceService; private ShopActivityCutpriceService shopActivityCutpriceService;
@Resource @Resource
private ShopOrderDeliveryAddressService shopOrderDeliveryAddressService; private ShopOrderDeliveryAddressService shopOrderDeliveryAddressService;
@Resource @Resource
private ShopStoreSameCityTransportBaseService shopStoreSameCityTransportBaseService; private ShopStoreSameCityTransportBaseService shopStoreSameCityTransportBaseService;
@Value("${sf-express.enable}") @Value("${sf-express.enable}")
private Integer enable_sf_express; private Integer enable_sf_express;
private final Logger logger = LoggerFactory.getLogger(ShopOrderBaseServiceImpl.class);
@Override @Override
public List<Map<String, Object>> statisticState() { public List<Map<String, Object>> statisticState() {
UserDto user = getCurrentUser(); UserDto user = getCurrentUser();
if (user == null) {
return null;
}
Integer store_id = null; Integer store_id = null;
Integer chain_id = null; Integer chain_id = null;
Integer subsite_id = null; Integer subsite_id = null;
@ -388,9 +313,6 @@ public class ShopOrderBaseServiceImpl extends BaseServiceImpl<ShopOrderBaseMappe
//待评价数量 //待评价数量
long countNum = 0;
QueryWrapper<ShopOrderInfo> orderInfoQueryWrapper = new QueryWrapper<>(); QueryWrapper<ShopOrderInfo> orderInfoQueryWrapper = new QueryWrapper<>();
if (store_id != null) { if (store_id != null) {
@ -404,7 +326,7 @@ public class ShopOrderBaseServiceImpl extends BaseServiceImpl<ShopOrderBaseMappe
orderInfoQueryWrapper.in("order_state_id", Arrays.asList(StateCode.ORDER_STATE_RECEIVED, StateCode.ORDER_STATE_FINISH)); orderInfoQueryWrapper.in("order_state_id", Arrays.asList(StateCode.ORDER_STATE_RECEIVED, StateCode.ORDER_STATE_FINISH));
orderInfoQueryWrapper.eq("order_buyer_evaluation_status", 0); orderInfoQueryWrapper.eq("order_buyer_evaluation_status", 0);
countNum = shopOrderInfoService.count(orderInfoQueryWrapper); long countNum = shopOrderInfoService.count(orderInfoQueryWrapper);
Map map = new HashMap(); Map map = new HashMap();
@ -419,6 +341,10 @@ public class ShopOrderBaseServiceImpl extends BaseServiceImpl<ShopOrderBaseMappe
@Override @Override
public List<Map<String, Object>> statisticCount(Date end, int days) { public List<Map<String, Object>> statisticCount(Date end, int days) {
UserDto user = getCurrentUser(); UserDto user = getCurrentUser();
if (user != null) {
return null;
}
if (user.isStore()) { if (user.isStore()) {
Integer store_id = Convert.toInt(user.getStore_id()); Integer store_id = Convert.toInt(user.getStore_id());
return shopOrderBaseMapper.statisticCountSeller(end, days, store_id, null, null); return shopOrderBaseMapper.statisticCountSeller(end, days, store_id, null, null);
@ -527,7 +453,11 @@ public class ShopOrderBaseServiceImpl extends BaseServiceImpl<ShopOrderBaseMappe
public Map getUserOrder(OrdeListVo ordeListVo, Integer page, Integer rows) { public Map getUserOrder(OrdeListVo ordeListVo, Integer page, Integer rows) {
UserDto user = getCurrentUser(); UserDto user = getCurrentUser();
Integer user_id = ObjectUtil.isNotNull(user) ? user.getId() : null; if (user == null) {
return null;
}
Integer user_id = ObjectUtil.isNotNull(user.getId()) ? user.getId() : null;
String order_key = ordeListVo.getOrder_key(); String order_key = ordeListVo.getOrder_key();
Integer order_state_id = ordeListVo.getState_type(); Integer order_state_id = ordeListVo.getState_type();
@ -1573,7 +1503,7 @@ public class ShopOrderBaseServiceImpl extends BaseServiceImpl<ShopOrderBaseMappe
if (address_row != null) { if (address_row != null) {
Integer district_id = Convert.toInt(address_row.get("ud_city_id")); Integer district_id = Convert.toInt(address_row.get("ud_city_id"));
// 重要配送费检测和计算 // 重要配送费检测和计算
shopUserCartService.tryCalTransportFreight(cart_data, district_id,true); shopUserCartService.tryCalTransportFreight(cart_data, district_id, true);
boolean can_delivery = (boolean) cart_data.get("can_delivery"); boolean can_delivery = (boolean) cart_data.get("can_delivery");
if (!can_delivery) { if (!can_delivery) {
@ -5955,7 +5885,7 @@ public class ShopOrderBaseServiceImpl extends BaseServiceImpl<ShopOrderBaseMappe
// 如果没有配送地址则忽略地址选择问题 // 如果没有配送地址则忽略地址选择问题
if (deliveryAddress != null && deliveryAddress.getUd_city_id() != null) { if (deliveryAddress != null && deliveryAddress.getUd_city_id() != null) {
Integer district_id = deliveryAddress.getUd_city_id(); Integer district_id = deliveryAddress.getUd_city_id();
shopUserCartService.tryCalTransportFreight(cart_data, district_id,true); // 配送运费检测和计算 shopUserCartService.tryCalTransportFreight(cart_data, district_id, true); // 配送运费检测和计算
} else { } else {
throw new ApiException(I18nUtil._("请选择正确的收货地址!")); throw new ApiException(I18nUtil._("请选择正确的收货地址!"));
} }

View File

@ -18,6 +18,7 @@ import com.suisung.mall.shop.store.service.ShopStoreSfOrderService;
import org.slf4j.Logger; import org.slf4j.Logger;
import org.slf4j.LoggerFactory; import org.slf4j.LoggerFactory;
import org.springframework.stereotype.Service; import org.springframework.stereotype.Service;
import org.springframework.util.StringUtils;
import java.util.Date; import java.util.Date;
@ -55,6 +56,10 @@ public class ShopStoreSfOrderServiceImpl extends BaseServiceImpl<ShopStoreSfOrde
return ""; return "";
} }
if(StrUtil.startWith(shopOrderId,"JS")){ // 顺丰同城的订单号标志
return shopOrderId;
}
QueryWrapper<ShopStoreSfOrder> wrapper = new QueryWrapper<>(); QueryWrapper<ShopStoreSfOrder> wrapper = new QueryWrapper<>();
wrapper.eq("shop_order_id", shopOrderId); wrapper.eq("shop_order_id", shopOrderId);
wrapper.select("sf_order_id"); wrapper.select("sf_order_id");