优化配送订单完成结算配送金业务
This commit is contained in:
@@ -19,7 +19,8 @@ public enum ShopDealerCapitalUpdateEnum {
|
|||||||
TRANSFER_PAYMENT(30, "转账支出", false),
|
TRANSFER_PAYMENT(30, "转账支出", false),
|
||||||
TRANSFER_INCOME(40, "转账收入", true),
|
TRANSFER_INCOME(40, "转账收入", true),
|
||||||
FREEZE_MONEY_THAW(50, "佣金解冻", true),
|
FREEZE_MONEY_THAW(50, "佣金解冻", true),
|
||||||
DELIVERY_INCOME(60, "配送奖励", true),
|
DELIVERY_REWARD(60, "配送奖励", true),
|
||||||
|
DELIVERY_INCOME(61, "配送提成", true),
|
||||||
ORDER_REFUND(70, "佣金退回(退单)", false),
|
ORDER_REFUND(70, "佣金退回(退单)", false),
|
||||||
;
|
;
|
||||||
|
|
||||||
|
|||||||
@@ -23,6 +23,7 @@ import com.gxwebsoft.glt.service.GltUserTicketLogService;
|
|||||||
import com.gxwebsoft.glt.service.GltUserTicketService;
|
import com.gxwebsoft.glt.service.GltUserTicketService;
|
||||||
import com.gxwebsoft.shop.dto.ShopDealerUserReduceDto;
|
import com.gxwebsoft.shop.dto.ShopDealerUserReduceDto;
|
||||||
import com.gxwebsoft.shop.entity.*;
|
import com.gxwebsoft.shop.entity.*;
|
||||||
|
import com.gxwebsoft.shop.mapper.ShopGoodsMapper;
|
||||||
import com.gxwebsoft.shop.mapper.ShopUserAddressMapper;
|
import com.gxwebsoft.shop.mapper.ShopUserAddressMapper;
|
||||||
import com.gxwebsoft.shop.service.ShopDealerCapitalService;
|
import com.gxwebsoft.shop.service.ShopDealerCapitalService;
|
||||||
import com.gxwebsoft.shop.service.ShopDealerUserService;
|
import com.gxwebsoft.shop.service.ShopDealerUserService;
|
||||||
@@ -93,6 +94,9 @@ public class GltTicketOrderServiceImpl extends ServiceImpl<GltTicketOrderMapper,
|
|||||||
@Resource
|
@Resource
|
||||||
private OrderNoUtils orderNoUtils;
|
private OrderNoUtils orderNoUtils;
|
||||||
|
|
||||||
|
@Resource
|
||||||
|
private ShopGoodsMapper shopGoodsMapper;
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public PageResult<GltTicketOrder> pageRel(GltTicketOrderParam param) {
|
public PageResult<GltTicketOrder> pageRel(GltTicketOrderParam param) {
|
||||||
PageParam<GltTicketOrder, GltTicketOrderParam> page = new PageParam<>(param);
|
PageParam<GltTicketOrder, GltTicketOrderParam> page = new PageParam<>(param);
|
||||||
@@ -774,9 +778,9 @@ public class GltTicketOrderServiceImpl extends ServiceImpl<GltTicketOrderMapper,
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
//生成配送师傅可提现账户分佣金额数据
|
//生成配送师傅可提现账户分佣金额数据【配送奖励(按商品设置)、配送提成(每桶0.1)】
|
||||||
int qty = ticketOrder.getTotalNum() == null ? 0 : ticketOrder.getTotalNum();
|
int qty = ticketOrder.getTotalNum() == null ? 0 : ticketOrder.getTotalNum();
|
||||||
if (qty > 0) {
|
if (qty > 0) { //配送提成
|
||||||
BigDecimal money = RIDER_UNIT_COMMISSION
|
BigDecimal money = RIDER_UNIT_COMMISSION
|
||||||
.multiply(BigDecimal.valueOf(qty))
|
.multiply(BigDecimal.valueOf(qty))
|
||||||
.setScale(RIDER_COMMISSION_SCALE, RoundingMode.HALF_UP);
|
.setScale(RIDER_COMMISSION_SCALE, RoundingMode.HALF_UP);
|
||||||
@@ -792,15 +796,26 @@ public class GltTicketOrderServiceImpl extends ServiceImpl<GltTicketOrderMapper,
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
//查询未完成订单,完成资金解冻
|
//配送奖励
|
||||||
LambdaQueryWrapper<ShopOrder> orderLambdaQueryWrapper;
|
Integer goodsId = userTicket.getGoodsId();
|
||||||
if(shopOrderId != null){
|
ShopGoods shopGood = shopGoodsMapper.selectById(goodsId);
|
||||||
orderLambdaQueryWrapper = new LambdaQueryWrapper<ShopOrder>().eq(ShopOrder::getOrderId, shopOrderId).eq(ShopOrder::getOrderStatus, 0);
|
ShopOrder order = shopOrderService.getByOrderNo(userTicket.getOrderNo(), userTicket.getTenantId());
|
||||||
}else{
|
if(shopGood != null && order != null){
|
||||||
orderLambdaQueryWrapper = new LambdaQueryWrapper<ShopOrder>().eq(ShopOrder::getOrderId, shopOrderNo).eq(ShopOrder::getOrderStatus, 0);
|
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();
|
ShopDealerUserReduceDto reduceDto = new ShopDealerUserReduceDto();
|
||||||
reduceDto.setTypeEnum(ShopDealerTypeEnum.DEFROST);
|
reduceDto.setTypeEnum(ShopDealerTypeEnum.DEFROST);
|
||||||
reduceDto.setOrderUserId(order.getUserId());
|
reduceDto.setOrderUserId(order.getUserId());
|
||||||
|
|||||||
@@ -118,6 +118,7 @@ public class ShopDealerUserServiceImpl extends ServiceImpl<ShopDealerUserMapper,
|
|||||||
case DIVIDEND_INCOME:
|
case DIVIDEND_INCOME:
|
||||||
case PROMOTION_INCOME:
|
case PROMOTION_INCOME:
|
||||||
case TRANSFER_INCOME:
|
case TRANSFER_INCOME:
|
||||||
|
case DELIVERY_REWARD:
|
||||||
case DELIVERY_INCOME:{
|
case DELIVERY_INCOME:{
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
@@ -279,7 +280,7 @@ public class ShopDealerUserServiceImpl extends ServiceImpl<ShopDealerUserMapper,
|
|||||||
.in(ShopDealerCapital::getFlowType, Arrays.asList(ShopDealerCapitalUpdateEnum.DISTRIBUTION_INCOME.getType(),
|
.in(ShopDealerCapital::getFlowType, Arrays.asList(ShopDealerCapitalUpdateEnum.DISTRIBUTION_INCOME.getType(),
|
||||||
ShopDealerCapitalUpdateEnum.MANAGEMENT_INCOME.getType(), ShopDealerCapitalUpdateEnum.DIVIDEND_INCOME.getType(),
|
ShopDealerCapitalUpdateEnum.MANAGEMENT_INCOME.getType(), ShopDealerCapitalUpdateEnum.DIVIDEND_INCOME.getType(),
|
||||||
ShopDealerCapitalUpdateEnum.PROMOTION_INCOME.getType(), ShopDealerCapitalUpdateEnum.FREEZE_MONEY_THAW.getType(),
|
ShopDealerCapitalUpdateEnum.PROMOTION_INCOME.getType(), ShopDealerCapitalUpdateEnum.FREEZE_MONEY_THAW.getType(),
|
||||||
ShopDealerCapitalUpdateEnum.DELIVERY_INCOME.getType()))
|
ShopDealerCapitalUpdateEnum.DELIVERY_INCOME.getType(), ShopDealerCapitalUpdateEnum.DELIVERY_REWARD.getType()))
|
||||||
.isNotNull(ShopDealerCapital::getUserId)
|
.isNotNull(ShopDealerCapital::getUserId)
|
||||||
);
|
);
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user