会员分佣
This commit is contained in:
1 parent
70efdd44f6
commit
66db2f11d9
5 files changed
+46
-2
No files matched your search
+8
@@ -30,6 +30,14 @@ public interface TradeBrokerageRecordApi {
|
||||
*/
|
||||
void addBrokerage(Long userId, BrokerageRecordBizTypeEnum bizType, @Valid List<BrokerageAddDTO> list);
|
||||
|
||||
/**
|
||||
* 取消佣金:将佣金记录,状态修改为已失效
|
||||
*
|
||||
* @param bizType 业务类型
|
||||
* @param bizId 业务编号
|
||||
*/
|
||||
void cancelBrokerage(BrokerageRecordBizTypeEnum bizType, String bizId);
|
||||
|
||||
/**
|
||||
* 微信转账
|
||||
* @param id 提现单id
|
||||
|
||||
+3
-2
@@ -16,8 +16,9 @@ import java.util.Arrays;
|
||||
public enum BrokerageRecordBizTypeEnum implements ArrayValuable<Integer> {
|
||||
|
||||
ORDER(1, "获得推广佣金", "获得推广佣金 {}", true),
|
||||
WITHDRAW(2, "提现申请", "提现申请扣除佣金 {}", false),
|
||||
WITHDRAW_REJECT(3, "提现申请驳回", "提现申请驳回,返还佣金 {}", true),
|
||||
OPEN_TYPE(2, "获得会员佣金", "获得会员佣金 {}", true),
|
||||
WITHDRAW(3, "提现申请", "提现申请扣除佣金 {}", false),
|
||||
WITHDRAW_REJECT(4, "提现申请驳回", "提现申请驳回,返还佣金 {}", true),
|
||||
;
|
||||
|
||||
public static final Integer[] ARRAYS = Arrays.stream(values()).map(BrokerageRecordBizTypeEnum::getType).toArray(Integer[]::new);
|
||||
|
||||
+5
@@ -63,6 +63,11 @@ public class TradeBrokerageRecordApiImpl implements TradeBrokerageRecordApi {
|
||||
brokerageRecordService.addBrokerage(userId, bizType, BeanUtils.toBean(list, BrokerageAddReqBO.class));
|
||||
}
|
||||
|
||||
@Override
|
||||
public void cancelBrokerage(BrokerageRecordBizTypeEnum bizType, String bizId) {
|
||||
brokerageRecordService.cancelBrokerage(bizType, bizId);
|
||||
}
|
||||
|
||||
/**
|
||||
* 微信转账
|
||||
*
|
||||
|
||||
@@ -43,6 +43,11 @@
|
||||
<artifactId>yudao-module-pay-api</artifactId>
|
||||
<version>${revision}</version>
|
||||
</dependency>
|
||||
<dependency>
|
||||
<groupId>cn.iocoder.boot</groupId>
|
||||
<artifactId>yudao-module-trade-api</artifactId>
|
||||
<version>${revision}</version>
|
||||
</dependency>
|
||||
|
||||
<dependency>
|
||||
<groupId>cn.iocoder.boot</groupId>
|
||||
|
||||
+25
@@ -33,6 +33,9 @@ import cn.iocoder.yudao.module.pay.api.refund.dto.PayRefundCreateReqDTO;
|
||||
import cn.iocoder.yudao.module.pay.api.refund.dto.PayRefundRespDTO;
|
||||
import cn.iocoder.yudao.module.pay.enums.order.PayOrderStatusEnum;
|
||||
import cn.iocoder.yudao.module.pay.enums.refund.PayRefundStatusEnum;
|
||||
import cn.iocoder.yudao.module.trade.api.brokerage.TradeBrokerageRecordApi;
|
||||
import cn.iocoder.yudao.module.trade.api.brokerage.dto.BrokerageAddDTO;
|
||||
import cn.iocoder.yudao.module.trade.enums.brokerage.BrokerageRecordBizTypeEnum;
|
||||
import com.baomidou.mybatisplus.core.conditions.update.LambdaUpdateWrapper;
|
||||
import com.baomidou.mybatisplus.core.metadata.IPage;
|
||||
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
|
||||
@@ -90,6 +93,8 @@ public class OpenTypeServiceImpl implements OpenTypeService {
|
||||
private PayOrderApi payOrderApi;
|
||||
@Resource
|
||||
private PayRefundApi payRefundApi;
|
||||
@Resource
|
||||
private TradeBrokerageRecordApi tradeBrokerageRecordApi;
|
||||
|
||||
/**
|
||||
* 获取最后一条会员开通记录
|
||||
@@ -203,6 +208,24 @@ public class OpenTypeServiceImpl implements OpenTypeService {
|
||||
return openTypeMapper.selectList(pageReqVO);
|
||||
}
|
||||
|
||||
/**
|
||||
* 开通会员后增加分销佣金
|
||||
*/
|
||||
private void addOpenTypeBrokerage(Long memberId, Long openTypeUserId, Integer price, String title) {
|
||||
if (price == null || price <= 0) {
|
||||
return;
|
||||
}
|
||||
BrokerageAddDTO brokerageAddDTO = new BrokerageAddDTO();
|
||||
brokerageAddDTO.setBizId(String.valueOf(openTypeUserId));
|
||||
brokerageAddDTO.setBasePrice(price);
|
||||
brokerageAddDTO.setFirstFixedPrice(0);
|
||||
brokerageAddDTO.setSecondFixedPrice(0);
|
||||
brokerageAddDTO.setSourceUserId(memberId);
|
||||
brokerageAddDTO.setTitle(title);
|
||||
tradeBrokerageRecordApi.addBrokerage(memberId, BrokerageRecordBizTypeEnum.OPEN_TYPE,
|
||||
java.util.Collections.singletonList(brokerageAddDTO));
|
||||
}
|
||||
|
||||
/**
|
||||
* 购买会员
|
||||
*/
|
||||
@@ -422,6 +445,8 @@ public class OpenTypeServiceImpl implements OpenTypeService {
|
||||
}
|
||||
// 添加会员tag
|
||||
memberRecentTagService.createOrUpdateVipTag(openTypeUserDO.getMemberId());
|
||||
// 开通会员分佣:仅在支付成功后发放,避免未支付订单重复计佣
|
||||
addOpenTypeBrokerage(openTypeUserDO.getMemberId(), openTypeUserDO.getId(), openTypeUserDO.getPayPrice(), openType.getTitle());
|
||||
|
||||
String message = String.format("恭喜您购买成功,此次购买的产品:%s", openType.getTitle());
|
||||
this.chatApi.messageUserSendText(openTypeUserDO.getMemberId(), message);
|
||||
|
||||
Reference in new issue
Block a user