1、优化配送费分佣计算方式,按百分比/固定金额计算
2、增加自提订单核销数据统计功能 3、增加现场核销推广指定人分佣业务
This commit is contained in:
@@ -15,6 +15,7 @@ public enum ShopDealerCapitalUpdateEnum {
|
||||
MANAGEMENT_INCOME(11, "团队管理津贴收入", true),
|
||||
DIVIDEND_INCOME(12, "分红收入", true),
|
||||
PROMOTION_INCOME(13, "现场推广收入", true),
|
||||
PROMOTION_PARENT_INCOME(14, "现场推广分佣", true),
|
||||
WITHDRAW_PAYMENT(20, "提现支出", false),
|
||||
TRANSFER_PAYMENT(30, "转账支出", false),
|
||||
TRANSFER_INCOME(40, "转账收入", true),
|
||||
|
||||
@@ -691,7 +691,8 @@ public class GltTicketOrderServiceImpl extends ServiceImpl<GltTicketOrderMapper,
|
||||
* @param tenantId
|
||||
* @param now
|
||||
*/
|
||||
private void updateShopOrderOrderStatusAfterTicketFinished(Integer ticketOrderId, Integer tenantId, LocalDateTime now) {
|
||||
@Transactional
|
||||
public void updateShopOrderOrderStatusAfterTicketFinished(Integer ticketOrderId, Integer tenantId, LocalDateTime now) {
|
||||
if (ticketOrderId == null || tenantId == null) {
|
||||
return;
|
||||
}
|
||||
@@ -780,7 +781,7 @@ public class GltTicketOrderServiceImpl extends ServiceImpl<GltTicketOrderMapper,
|
||||
|
||||
//生成配送师傅可提现账户分佣金额数据【配送奖励(按商品设置)、配送提成(每桶0.1)】
|
||||
int qty = ticketOrder.getTotalNum() == null ? 0 : ticketOrder.getTotalNum();
|
||||
if (qty > 0) { //配送提成
|
||||
if (qty > 0) { //配送提成(每桶0.1)
|
||||
BigDecimal money = RIDER_UNIT_COMMISSION
|
||||
.multiply(BigDecimal.valueOf(qty))
|
||||
.setScale(RIDER_COMMISSION_SCALE, RoundingMode.HALF_UP);
|
||||
@@ -796,13 +797,19 @@ public class GltTicketOrderServiceImpl extends ServiceImpl<GltTicketOrderMapper,
|
||||
}
|
||||
}
|
||||
|
||||
//配送奖励
|
||||
//配送奖励(按商品设置)
|
||||
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){
|
||||
Integer commissionType = shopGood.getCommissionType();
|
||||
BigDecimal money = BigDecimal.ZERO;
|
||||
if(commissionType == 10){ //按金额
|
||||
money = shopGood.getDeliveryMoney();
|
||||
}else { //按比率
|
||||
money = order.getPayPrice().multiply(shopGood.getDeliveryMoney()).divide(BigDecimal.valueOf(100), 3, RoundingMode.HALF_UP);
|
||||
}
|
||||
if(money.compareTo(BigDecimal.ZERO) > 0){
|
||||
ShopDealerUserReduceDto reduceDto = new ShopDealerUserReduceDto();
|
||||
reduceDto.setTypeEnum(ShopDealerTypeEnum.WITHDRAW_ACCOUNT);
|
||||
reduceDto.setUserId(ticketOrder.getRiderId());
|
||||
|
||||
@@ -32,6 +32,7 @@ import com.gxwebsoft.shop.param.ShopOrderParam;
|
||||
import com.gxwebsoft.shop.service.*;
|
||||
import com.gxwebsoft.shop.service.impl.KuaiDi100Impl;
|
||||
import com.gxwebsoft.shop.task.OrderAutoCancelTask;
|
||||
import com.gxwebsoft.shop.vo.ShopOrderMyVerifyVO;
|
||||
import com.wechat.pay.java.core.RSAAutoCertificateConfig;
|
||||
import com.wechat.pay.java.core.notification.NotificationConfig;
|
||||
import com.wechat.pay.java.core.notification.NotificationParser;
|
||||
@@ -42,6 +43,7 @@ import io.swagger.v3.oas.annotations.media.Schema;
|
||||
import io.swagger.v3.oas.annotations.tags.Tag;
|
||||
import org.slf4j.Logger;
|
||||
import org.slf4j.LoggerFactory;
|
||||
import org.springdoc.api.annotations.ParameterObject;
|
||||
import org.springframework.beans.factory.annotation.Value;
|
||||
import org.springframework.security.access.prepost.PreAuthorize;
|
||||
import org.springframework.security.core.Authentication;
|
||||
@@ -140,6 +142,13 @@ public class ShopOrderController extends BaseController {
|
||||
return success(shopOrderService.getByIdRel(id));
|
||||
}
|
||||
|
||||
// @PreAuthorize("hasAuthority('shop:shopOrder:list')")
|
||||
@Operation(summary = "我已核销订单")
|
||||
@GetMapping("/myVerifyOrder")
|
||||
public ApiResult<ShopOrderMyVerifyVO> myVerifyOrder(@ParameterObject ShopOrderMyVerifyDto myVerifyDto) {
|
||||
return success(shopOrderService.myVerifyOrder(myVerifyDto));
|
||||
}
|
||||
|
||||
@Operation(summary = "添加订单【单商品添加】")
|
||||
@PostMapping()
|
||||
public ApiResult<?> save(@RequestBody OrderCreateRequest request) {
|
||||
|
||||
@@ -109,6 +109,12 @@ public class ShopGoods implements Serializable {
|
||||
@Schema(description = "推广核验佣金比率")
|
||||
private BigDecimal verifyRate;
|
||||
|
||||
@Schema(description = "推广核验上级/指定人")
|
||||
private Integer verifyParentUserId;
|
||||
|
||||
@Schema(description = "推广核验上级佣金比率/指定分佣")
|
||||
private BigDecimal verifyParentRate;
|
||||
|
||||
@Schema(description = "库存计算方式(10下单减库存 20付款减库存)")
|
||||
@JsonAlias({"cdeductStockType"})
|
||||
private Integer deductStockType;
|
||||
|
||||
@@ -342,6 +342,12 @@ public class ShopOrder implements Serializable {
|
||||
@Schema(description = "推广核销佣金")
|
||||
private BigDecimal verifyMoney;
|
||||
|
||||
@Schema(description = "推广核验上级/指定人")
|
||||
private Integer verifyParentUser;
|
||||
|
||||
@Schema(description = "推广核验上级/指定人佣金")
|
||||
private BigDecimal verifyParentMoney;
|
||||
|
||||
@Schema(description = "门店、服务商结算标识 0-未结算 1-已结算")
|
||||
private Integer teamSettlementFlag;
|
||||
|
||||
|
||||
@@ -3,9 +3,12 @@ package com.gxwebsoft.shop.mapper;
|
||||
import com.baomidou.mybatisplus.annotation.InterceptorIgnore;
|
||||
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
|
||||
import com.baomidou.mybatisplus.core.metadata.IPage;
|
||||
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
|
||||
import com.gxwebsoft.shop.dto.ShopOrderMyVerifyDto;
|
||||
import com.gxwebsoft.shop.entity.ShopOrder;
|
||||
import com.gxwebsoft.shop.param.ShopOrderParam;
|
||||
import com.gxwebsoft.shop.vo.ShopOrderGoodsVO;
|
||||
import com.gxwebsoft.shop.vo.ShopOrderMyVerifyItemVO;
|
||||
import org.apache.ibatis.annotations.Param;
|
||||
import org.apache.ibatis.annotations.Select;
|
||||
|
||||
@@ -67,4 +70,13 @@ public interface ShopOrderMapper extends BaseMapper<ShopOrder> {
|
||||
* @return
|
||||
*/
|
||||
List<ShopOrderGoodsVO> getOrderGoodsInfo(@Param("orderNo") String orderNo);
|
||||
|
||||
/**
|
||||
* 查询我的核销订单数据
|
||||
* @param page
|
||||
* @param entity
|
||||
* @return
|
||||
*/
|
||||
IPage<ShopOrderMyVerifyItemVO> getMyVerifyPageInfo(@Param("page") Page page, @Param("entity") ShopOrderMyVerifyDto entity);
|
||||
|
||||
}
|
||||
|
||||
@@ -342,7 +342,39 @@
|
||||
AND c.is_open_commission = 1
|
||||
AND a.order_no = #{orderNo}
|
||||
</select>
|
||||
|
||||
<select id="getMyVerifyPageInfo" resultType="com.gxwebsoft.shop.vo.ShopOrderMyVerifyItemVO">
|
||||
SELECT
|
||||
a.order_id,
|
||||
a.order_type,
|
||||
a.order_no,
|
||||
a.total_price,
|
||||
a.pay_price,
|
||||
a.total_num,
|
||||
b.goods_name,
|
||||
c.NAME as activeName,
|
||||
a.pay_type,
|
||||
a.pay_status,
|
||||
a.order_status,
|
||||
a.user_id,
|
||||
a.verify_time,
|
||||
a.verify_user,
|
||||
a.verify_money,
|
||||
a.create_time
|
||||
FROM
|
||||
shop_order a
|
||||
LEFT JOIN shop_order_goods b ON a.order_id = b.order_id
|
||||
LEFT JOIN shop_flash_sale_activity c ON a.activity_id = c.id
|
||||
WHERE
|
||||
a.verify_user = #{entity.userId}
|
||||
AND a.deleted = 0
|
||||
<if test="entity.orderNo != null and entity.order != ''">
|
||||
AND a.order_no LIKE CONCAT('%', #{entity.orderNo}, '%')
|
||||
</if>
|
||||
<if test="entity.dateStart != null and entity.dateStart != '' and entity.dateEnd != null and entity.dateEnd !=''">
|
||||
AND DATE(a.verify_time) BETWEEN #{entity.dateStart} AND #{entity.dateEnd}
|
||||
</if>
|
||||
ORDER BY a.create_time desc
|
||||
</select>
|
||||
<!-- 根据订单号修改订单 -->
|
||||
<update id="updateByOutTradeNo" parameterType="com.gxwebsoft.cms.entity.CmsWebsite">
|
||||
UPDATE shop_order
|
||||
|
||||
@@ -2,10 +2,12 @@ package com.gxwebsoft.shop.service;
|
||||
|
||||
import com.baomidou.mybatisplus.extension.service.IService;
|
||||
import com.gxwebsoft.common.core.web.PageResult;
|
||||
import com.gxwebsoft.shop.dto.ShopOrderMyVerifyDto;
|
||||
import com.gxwebsoft.shop.dto.UserOrderStats;
|
||||
import com.gxwebsoft.shop.dto.VerifyShopOrderDto;
|
||||
import com.gxwebsoft.shop.entity.ShopOrder;
|
||||
import com.gxwebsoft.shop.param.ShopOrderParam;
|
||||
import com.gxwebsoft.shop.vo.ShopOrderMyVerifyVO;
|
||||
|
||||
import java.math.BigDecimal;
|
||||
import java.util.HashMap;
|
||||
@@ -43,6 +45,12 @@ public interface ShopOrderService extends IService<ShopOrder> {
|
||||
*/
|
||||
ShopOrder getByIdRel(Integer orderId);
|
||||
|
||||
/**
|
||||
* 我已核销订单
|
||||
* @return
|
||||
*/
|
||||
ShopOrderMyVerifyVO myVerifyOrder(ShopOrderMyVerifyDto myVerifyDto);
|
||||
|
||||
HashMap<String, String> createWxOrder(ShopOrder shopOrder);
|
||||
|
||||
ShopOrder getByOutTradeNo(String outTradeNo);
|
||||
|
||||
@@ -117,6 +117,7 @@ public class ShopDealerUserServiceImpl extends ServiceImpl<ShopDealerUserMapper,
|
||||
case MANAGEMENT_INCOME:
|
||||
case DIVIDEND_INCOME:
|
||||
case PROMOTION_INCOME:
|
||||
case PROMOTION_PARENT_INCOME:
|
||||
case TRANSFER_INCOME:
|
||||
case DELIVERY_REWARD:
|
||||
case DELIVERY_INCOME:{
|
||||
@@ -279,7 +280,8 @@ public class ShopDealerUserServiceImpl extends ServiceImpl<ShopDealerUserMapper,
|
||||
.eq(ShopDealerCapital::getOrderNo, entity.getOrderNo())
|
||||
.in(ShopDealerCapital::getFlowType, Arrays.asList(ShopDealerCapitalUpdateEnum.DISTRIBUTION_INCOME.getType(),
|
||||
ShopDealerCapitalUpdateEnum.MANAGEMENT_INCOME.getType(), ShopDealerCapitalUpdateEnum.DIVIDEND_INCOME.getType(),
|
||||
ShopDealerCapitalUpdateEnum.PROMOTION_INCOME.getType(), ShopDealerCapitalUpdateEnum.FREEZE_MONEY_THAW.getType(),
|
||||
ShopDealerCapitalUpdateEnum.PROMOTION_INCOME.getType(), ShopDealerCapitalUpdateEnum.PROMOTION_PARENT_INCOME.getType(),
|
||||
ShopDealerCapitalUpdateEnum.FREEZE_MONEY_THAW.getType(),
|
||||
ShopDealerCapitalUpdateEnum.DELIVERY_INCOME.getType(), ShopDealerCapitalUpdateEnum.DELIVERY_REWARD.getType()))
|
||||
.isNotNull(ShopDealerCapital::getUserId)
|
||||
);
|
||||
|
||||
@@ -3,6 +3,8 @@ package com.gxwebsoft.shop.service.impl;
|
||||
import cn.hutool.core.util.StrUtil;
|
||||
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
|
||||
import com.baomidou.mybatisplus.core.conditions.update.LambdaUpdateWrapper;
|
||||
import com.baomidou.mybatisplus.core.metadata.IPage;
|
||||
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
|
||||
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
|
||||
import com.gxwebsoft.common.core.config.CertificateProperties;
|
||||
import com.gxwebsoft.common.core.config.ConfigProperties;
|
||||
@@ -23,6 +25,7 @@ import com.gxwebsoft.common.system.service.PaymentService;
|
||||
import com.gxwebsoft.common.system.service.SettingService;
|
||||
import com.gxwebsoft.payment.constants.WechatPayType;
|
||||
import com.gxwebsoft.shop.dto.ShopDealerUserReduceDto;
|
||||
import com.gxwebsoft.shop.dto.ShopOrderMyVerifyDto;
|
||||
import com.gxwebsoft.shop.dto.VerifyShopOrderDto;
|
||||
import com.gxwebsoft.shop.entity.*;
|
||||
import com.gxwebsoft.shop.mapper.ShopFlashSaleActivityMapper;
|
||||
@@ -31,6 +34,8 @@ import com.gxwebsoft.shop.mapper.ShopOrderMapper;
|
||||
import com.gxwebsoft.shop.mapper.ShopUserAddressMapper;
|
||||
import com.gxwebsoft.shop.param.ShopOrderParam;
|
||||
import com.gxwebsoft.shop.service.*;
|
||||
import com.gxwebsoft.shop.vo.ShopOrderMyVerifyItemVO;
|
||||
import com.gxwebsoft.shop.vo.ShopOrderMyVerifyVO;
|
||||
import com.wechat.pay.java.core.Config;
|
||||
import com.wechat.pay.java.core.RSAAutoCertificateConfig;
|
||||
import com.wechat.pay.java.core.RSAConfig;
|
||||
@@ -50,6 +55,7 @@ import org.springframework.transaction.annotation.Transactional;
|
||||
import javax.annotation.Resource;
|
||||
import java.math.BigDecimal;
|
||||
import java.math.RoundingMode;
|
||||
import java.time.LocalDate;
|
||||
import java.time.LocalDateTime;
|
||||
import java.time.OffsetDateTime;
|
||||
import java.util.*;
|
||||
@@ -379,6 +385,54 @@ public class ShopOrderServiceImpl extends ServiceImpl<ShopOrderMapper, ShopOrder
|
||||
return order;
|
||||
}
|
||||
|
||||
@Override
|
||||
public ShopOrderMyVerifyVO myVerifyOrder(ShopOrderMyVerifyDto entity) {
|
||||
ShopOrderMyVerifyVO myVerifyVO = new ShopOrderMyVerifyVO();
|
||||
User loginUser = LoginUserUtil.getLoginUser();
|
||||
if(loginUser == null){
|
||||
return myVerifyVO;
|
||||
}else {
|
||||
entity.setUserId(loginUser.getUserId());
|
||||
}
|
||||
|
||||
IPage<ShopOrderMyVerifyItemVO> pageInfo = baseMapper.getMyVerifyPageInfo(new Page<>(entity.getPage(), entity.getLimit()), entity);
|
||||
myVerifyVO.setCount(Math.toIntExact(pageInfo.getTotal()));
|
||||
if(CollectionUtils.isNotEmpty(pageInfo.getRecords())){
|
||||
List<ShopOrderMyVerifyItemVO> totalOrderList = pageInfo.getRecords();
|
||||
|
||||
//统计总订单数据
|
||||
int totalGoodsNum = totalOrderList.stream().mapToInt(ShopOrderMyVerifyItemVO::getTotalNum).sum();
|
||||
BigDecimal totalMoney = totalOrderList.stream().map(ShopOrderMyVerifyItemVO::getPayPrice).reduce(BigDecimal.ZERO, BigDecimal::add);
|
||||
myVerifyVO.setTotalOrderNum(totalOrderList.size());
|
||||
myVerifyVO.setTotalGoodsNum(totalGoodsNum);
|
||||
myVerifyVO.setTotalMoney(totalMoney);
|
||||
|
||||
//统计当月数据
|
||||
List<ShopOrderMyVerifyItemVO> currentMonthList = totalOrderList.stream().filter(item -> item.getCreateTime().getYear() == LocalDateTime.now().getYear()
|
||||
&& item.getCreateTime().getMonthValue() == LocalDateTime.now().getMonthValue()).collect(Collectors.toList());
|
||||
if(CollectionUtils.isNotEmpty(currentMonthList)){
|
||||
int monthGoodsNum = currentMonthList.stream().mapToInt(ShopOrderMyVerifyItemVO::getTotalNum).sum();
|
||||
BigDecimal monthMoney = currentMonthList.stream().map(ShopOrderMyVerifyItemVO::getPayPrice).reduce(BigDecimal.ZERO, BigDecimal::add);
|
||||
myVerifyVO.setMonthOrderNum(currentMonthList.size());
|
||||
myVerifyVO.setMonthGoodsNum(monthGoodsNum);
|
||||
myVerifyVO.setMonthMoney(monthMoney);
|
||||
}
|
||||
|
||||
//统计快核订单
|
||||
List<ShopOrderMyVerifyItemVO> liveOrderList = totalOrderList.stream().filter(item -> item.getVerifyMoney().compareTo(BigDecimal.ZERO) > 0).collect(Collectors.toList());
|
||||
if(CollectionUtils.isNotEmpty(liveOrderList)){
|
||||
int liveGoodsNum = liveOrderList.stream().mapToInt(ShopOrderMyVerifyItemVO::getTotalNum).sum();
|
||||
BigDecimal liveMoney = liveOrderList.stream().map(ShopOrderMyVerifyItemVO::getPayPrice).reduce(BigDecimal.ZERO, BigDecimal::add);
|
||||
myVerifyVO.setLiveOrderNum(liveOrderList.size());
|
||||
myVerifyVO.setLiveGoodsNum(liveGoodsNum);
|
||||
myVerifyVO.setLiveMoney(liveMoney);
|
||||
}
|
||||
|
||||
myVerifyVO.setItemVOList(totalOrderList);
|
||||
}
|
||||
return myVerifyVO;
|
||||
}
|
||||
|
||||
@Override
|
||||
public com.gxwebsoft.shop.dto.UserOrderStats getUserOrderStats(Integer userId, Integer tenantId, Integer type) {
|
||||
if (userId == null) {
|
||||
@@ -470,9 +524,16 @@ public class ShopOrderServiceImpl extends ServiceImpl<ShopOrderMapper, ShopOrder
|
||||
|
||||
shopOrder.setVerifyStatus(1);
|
||||
shopOrder.setVerifyTime(LocalDateTime.now());
|
||||
shopOrder.setVerifyUser(loginUser.getUserId());
|
||||
|
||||
//7.只有推广结算才会记佣且判断是否在设定有效期内核销订单【是:计算订单核销佣金 否:不计算核销佣金】
|
||||
//7.判断订单是否超过3天,超过3天可核销完成,但是不记录个人业绩
|
||||
LocalDateTime endTime = LocalDate.now().minusDays(3).atStartOfDay();
|
||||
LocalDateTime createTime = shopOrder.getCreateTime();
|
||||
if(createTime.isAfter(endTime)){
|
||||
shopOrder.setVerifyUser(loginUser.getUserId());
|
||||
}
|
||||
|
||||
//8.只有推广结算才会记佣且判断是否在设定有效期内核销订单【是:计算订单核销佣金 否:不计算核销佣金】
|
||||
BigDecimal rate = shopOrder.getPayPrice().divide(shopOrder.getTotalPrice(), 3, RoundingMode.HALF_UP);
|
||||
if(verifyType == 2 && shopOrder.getVerifyExpTime().isAfter(LocalDateTime.now())){
|
||||
List<ShopOrderGoods> orderGoodsList = shopOrderGoodsService.getListByOrderId(shopOrder.getOrderId());
|
||||
if(CollectionUtils.isNotEmpty(orderGoodsList)){
|
||||
@@ -481,20 +542,32 @@ public class ShopOrderServiceImpl extends ServiceImpl<ShopOrderMapper, ShopOrder
|
||||
|
||||
//计算推广佣金
|
||||
AtomicReference<BigDecimal> verifyMoney = new AtomicReference<>(BigDecimal.ZERO);
|
||||
AtomicReference<BigDecimal> verifyParentMoney = new AtomicReference<>(BigDecimal.ZERO);
|
||||
|
||||
orderGoodsList.forEach(orderGoods -> {
|
||||
ShopGoods shopGood = shopGoods.stream().filter(goods -> orderGoods.getGoodsId().equals(goods.getGoodsId()) &&
|
||||
goods.getVerifyRate().compareTo(BigDecimal.ZERO) > 0).findFirst().orElse(null);
|
||||
|
||||
if (shopGood != null) {
|
||||
// 计算单商品核价金额
|
||||
BigDecimal money = orderGoods.getPrice()
|
||||
.multiply(BigDecimal.valueOf(orderGoods.getTotalNum()))
|
||||
.multiply(shopGood.getVerifyRate())
|
||||
.multiply(rate)
|
||||
.divide(BigDecimal.valueOf(100), 3, RoundingMode.HALF_UP); // 除100,保留2位小数
|
||||
|
||||
// ✅ 原子更新(关键!)
|
||||
verifyMoney.set(verifyMoney.get().add(money));
|
||||
|
||||
//存在推广核验上级/指定人
|
||||
if(shopGood.getVerifyParentUserId() != null && shopGood.getVerifyParentRate().compareTo(BigDecimal.ZERO) > 0){
|
||||
BigDecimal parentMoney = orderGoods.getPrice()
|
||||
.multiply(BigDecimal.valueOf(orderGoods.getTotalNum()))
|
||||
.multiply(shopGood.getVerifyParentRate())
|
||||
.multiply(rate)
|
||||
.divide(BigDecimal.valueOf(100), 3, RoundingMode.HALF_UP); // 除100,保留2位小数
|
||||
verifyParentMoney.set(verifyParentMoney.get().add(parentMoney));
|
||||
|
||||
shopOrder.setVerifyParentUser(shopGood.getVerifyParentUserId());
|
||||
shopOrder.setVerifyParentMoney(verifyMoney.get());
|
||||
}
|
||||
}
|
||||
});
|
||||
shopOrder.setVerifyMoney(verifyMoney.get());
|
||||
@@ -513,12 +586,27 @@ public class ShopOrderServiceImpl extends ServiceImpl<ShopOrderMapper, ShopOrder
|
||||
if(!reduceBalance){
|
||||
log.error("推广核销失败,结算推广佣金失败:" + reduceDto);
|
||||
}
|
||||
}
|
||||
|
||||
//结算推广核验上级/指定人佣金
|
||||
if(verifyParentMoney.get().compareTo(BigDecimal.ZERO) > 0){
|
||||
ShopDealerUserReduceDto reduceDto = new ShopDealerUserReduceDto();
|
||||
reduceDto.setTypeEnum(ShopDealerTypeEnum.WITHDRAW_ACCOUNT);
|
||||
reduceDto.setUserId(shopOrder.getVerifyParentUser());
|
||||
reduceDto.setOrderUserId(shopOrder.getUserId());
|
||||
reduceDto.setOrderNo(shopOrder.getOrderNo());
|
||||
reduceDto.setPrice(verifyParentMoney.get());
|
||||
reduceDto.setUpdateEnum(ShopDealerCapitalUpdateEnum.PROMOTION_PARENT_INCOME);
|
||||
|
||||
Boolean reduceBalance = shopDealerUserService.reduceBalance(reduceDto);
|
||||
if(!reduceBalance){
|
||||
log.error("推广指定人核销失败,结算推广佣金失败:" + reduceDto);
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
//8.判断是否自提订单,如是自提订单需调整为订单完成,用户已收货状态
|
||||
//9.判断是否自提订单,如是自提订单需调整为订单完成,用户已收货状态
|
||||
if(shopOrder.getOrderType() != null && shopOrder.getOrderType() == 2){
|
||||
shopOrder.setOrderStatus(1);
|
||||
shopOrder.setDeliveryStatus(20);
|
||||
|
||||
Reference in New Issue
Block a user