diff --git a/src/main/java/com/gxwebsoft/common/core/enums/ShopDealerCapitalUpdateEnum.java b/src/main/java/com/gxwebsoft/common/core/enums/ShopDealerCapitalUpdateEnum.java index 304ad31..ff261fb 100644 --- a/src/main/java/com/gxwebsoft/common/core/enums/ShopDealerCapitalUpdateEnum.java +++ b/src/main/java/com/gxwebsoft/common/core/enums/ShopDealerCapitalUpdateEnum.java @@ -19,7 +19,8 @@ public enum ShopDealerCapitalUpdateEnum { TRANSFER_PAYMENT(30, "转账支出", false), TRANSFER_INCOME(40, "转账收入", true), FREEZE_MONEY_THAW(50, "佣金解冻", true), - DELIVERY_INCOME(60, "配送奖励", true), + DELIVERY_REWARD(60, "配送奖励", true), + DELIVERY_INCOME(61, "配送提成", true), ORDER_REFUND(70, "佣金退回(退单)", false), ; diff --git a/src/main/java/com/gxwebsoft/glt/service/impl/GltTicketOrderServiceImpl.java b/src/main/java/com/gxwebsoft/glt/service/impl/GltTicketOrderServiceImpl.java index b2b5db5..18898fc 100644 --- a/src/main/java/com/gxwebsoft/glt/service/impl/GltTicketOrderServiceImpl.java +++ b/src/main/java/com/gxwebsoft/glt/service/impl/GltTicketOrderServiceImpl.java @@ -23,6 +23,7 @@ import com.gxwebsoft.glt.service.GltUserTicketLogService; import com.gxwebsoft.glt.service.GltUserTicketService; import com.gxwebsoft.shop.dto.ShopDealerUserReduceDto; import com.gxwebsoft.shop.entity.*; +import com.gxwebsoft.shop.mapper.ShopGoodsMapper; import com.gxwebsoft.shop.mapper.ShopUserAddressMapper; import com.gxwebsoft.shop.service.ShopDealerCapitalService; import com.gxwebsoft.shop.service.ShopDealerUserService; @@ -93,6 +94,9 @@ public class GltTicketOrderServiceImpl extends ServiceImpl pageRel(GltTicketOrderParam param) { PageParam page = new PageParam<>(param); @@ -774,9 +778,9 @@ public class GltTicketOrderServiceImpl extends ServiceImpl 0) { + if (qty > 0) { //配送提成 BigDecimal money = RIDER_UNIT_COMMISSION .multiply(BigDecimal.valueOf(qty)) .setScale(RIDER_COMMISSION_SCALE, RoundingMode.HALF_UP); @@ -792,15 +796,26 @@ public class GltTicketOrderServiceImpl extends ServiceImpl orderLambdaQueryWrapper; - if(shopOrderId != null){ - orderLambdaQueryWrapper = new LambdaQueryWrapper().eq(ShopOrder::getOrderId, shopOrderId).eq(ShopOrder::getOrderStatus, 0); - }else{ - orderLambdaQueryWrapper = new LambdaQueryWrapper().eq(ShopOrder::getOrderId, shopOrderNo).eq(ShopOrder::getOrderStatus, 0); + //配送奖励 + Integer goodsId = userTicket.getGoodsId(); + ShopGoods shopGood = shopGoodsMapper.selectById(goodsId); + ShopOrder order = shopOrderService.getByOrderNo(userTicket.getOrderNo(), userTicket.getTenantId()); + if(shopGood != null && order != null){ + BigDecimal money = order.getPayPrice().multiply(shopGood.getDeliveryMoney()); + if(money.signum() > 0){ + ShopDealerUserReduceDto reduceDto = new ShopDealerUserReduceDto(); + reduceDto.setTypeEnum(ShopDealerTypeEnum.WITHDRAW_ACCOUNT); + reduceDto.setUserId(ticketOrder.getRiderId()); + reduceDto.setOrderUserId(ticketOrder.getUserId()); + reduceDto.setOrderNo(ticketOrder.getNo()); + reduceDto.setPrice(money); + reduceDto.setUpdateEnum(ShopDealerCapitalUpdateEnum.DELIVERY_REWARD); + shopDealerUserService.reduceBalance(reduceDto); + } } - ShopOrder order = shopOrderService.getOne(orderLambdaQueryWrapper); - if(order != null){ + + //查询未完成订单,完成资金解冻 + if(order != null && order.getOrderStatus() == 0){ ShopDealerUserReduceDto reduceDto = new ShopDealerUserReduceDto(); reduceDto.setTypeEnum(ShopDealerTypeEnum.DEFROST); reduceDto.setOrderUserId(order.getUserId()); diff --git a/src/main/java/com/gxwebsoft/shop/service/impl/ShopDealerUserServiceImpl.java b/src/main/java/com/gxwebsoft/shop/service/impl/ShopDealerUserServiceImpl.java index 7a97228..bd64ae2 100644 --- a/src/main/java/com/gxwebsoft/shop/service/impl/ShopDealerUserServiceImpl.java +++ b/src/main/java/com/gxwebsoft/shop/service/impl/ShopDealerUserServiceImpl.java @@ -118,6 +118,7 @@ public class ShopDealerUserServiceImpl extends ServiceImpl