会员分成逻辑类

This commit is contained in:
2024-10-31 17:58:45 +08:00
parent b2079513d4
commit 4b2d08b33d
7 changed files with 138 additions and 2 deletions

View File

@@ -0,0 +1,16 @@
package com.buy507.mall.portal.service;
import com.buy507.mall.model.OmsOrder;
import com.buy507.mall.model.UmsMember;
/**
* 惠麦商城-->会员提成机制
*/
public interface MemberCommissionService {
/**
* 计算会员提成比例
* @param order
* @param currentMember
*/
void computeCommission(OmsOrder order, UmsMember currentMember);
}

View File

@@ -0,0 +1,52 @@
package com.buy507.mall.portal.service.impl;
import com.buy507.mall.mapper.UmsMemberAccountTransactionMapper;
import com.buy507.mall.mapper.UmsMemberRelationTreeMapper;
import com.buy507.mall.model.OmsOrder;
import com.buy507.mall.model.UmsMember;
import com.buy507.mall.portal.service.MemberCommissionService;
import org.springframework.stereotype.Service;
import javax.annotation.Resource;
import java.util.concurrent.ExecutorService;
import java.util.concurrent.Executors;
@Service
public class MemberCommissionServiceImpl implements MemberCommissionService {
/**
* 会员上下关系
*/
@Resource
private UmsMemberRelationTreeMapper umsMemberRelationTreeMapper;
/**
* 会员分成流水
*/
@Resource
private UmsMemberAccountTransactionMapper umsMemberAccountTransactionMapper;
/**
* 线程池处理逻辑
*/
private ExecutorService executorService = Executors.newFixedThreadPool(10);
@Override
public void computeCommission(OmsOrder order, UmsMember currentMember) {
executorService.submit(()->{
/**
* 会员排队分红逻辑,及流水记账
*/
System.out.println(order.getBillType());
});
}
}

View File

@@ -137,6 +137,9 @@ public class OmsPortalOrderServiceImpl implements OmsPortalOrderService {
@Autowired
private AlipayService alipayService;
@Autowired
private MemberCommissionService memberCommissionService;
@Value("${kuaidi100.url}")
private String KUAIDI100_URL;
@@ -1204,6 +1207,11 @@ public class OmsPortalOrderServiceImpl implements OmsPortalOrderService {
history.setOrderStatus(3);
history.setNote("完成确认收货");
orderOperateHistoryMapper.insert(history);
/**
* 开始计算会员提成比例
*/
memberCommissionService.computeCommission(order, currentMember);
}