diff --git a/mall-dao/src/main/java/com/buy507/mall/mapper/UmsMemberAccountTransactionMapper.java b/mall-dao/src/main/java/com/buy507/mall/mapper/UmsMemberAccountTransactionMapper.java new file mode 100644 index 0000000..cd35fbf --- /dev/null +++ b/mall-dao/src/main/java/com/buy507/mall/mapper/UmsMemberAccountTransactionMapper.java @@ -0,0 +1,30 @@ +package com.buy507.mall.mapper; + +import com.buy507.mall.model.UmsMemberAccountTransaction; +import com.buy507.mall.model.UmsMemberAccountTransactionExample; +import java.util.List; +import org.apache.ibatis.annotations.Param; + +public interface UmsMemberAccountTransactionMapper { + long countByExample(UmsMemberAccountTransactionExample example); + + int deleteByExample(UmsMemberAccountTransactionExample example); + + int deleteByPrimaryKey(Long id); + + int insert(UmsMemberAccountTransaction record); + + int insertSelective(UmsMemberAccountTransaction record); + + List selectByExample(UmsMemberAccountTransactionExample example); + + UmsMemberAccountTransaction selectByPrimaryKey(Long id); + + int updateByExampleSelective(@Param("record") UmsMemberAccountTransaction record, @Param("example") UmsMemberAccountTransactionExample example); + + int updateByExample(@Param("record") UmsMemberAccountTransaction record, @Param("example") UmsMemberAccountTransactionExample example); + + int updateByPrimaryKeySelective(UmsMemberAccountTransaction record); + + int updateByPrimaryKey(UmsMemberAccountTransaction record); +} \ No newline at end of file diff --git a/mall-dao/src/main/java/com/buy507/mall/mapper/UmsMemberRelationTreeMapper.java b/mall-dao/src/main/java/com/buy507/mall/mapper/UmsMemberRelationTreeMapper.java new file mode 100644 index 0000000..5d651b7 --- /dev/null +++ b/mall-dao/src/main/java/com/buy507/mall/mapper/UmsMemberRelationTreeMapper.java @@ -0,0 +1,30 @@ +package com.buy507.mall.mapper; + +import com.buy507.mall.model.UmsMemberRelationTree; +import com.buy507.mall.model.UmsMemberRelationTreeExample; +import java.util.List; +import org.apache.ibatis.annotations.Param; + +public interface UmsMemberRelationTreeMapper { + long countByExample(UmsMemberRelationTreeExample example); + + int deleteByExample(UmsMemberRelationTreeExample example); + + int deleteByPrimaryKey(Long id); + + int insert(UmsMemberRelationTree record); + + int insertSelective(UmsMemberRelationTree record); + + List selectByExample(UmsMemberRelationTreeExample example); + + UmsMemberRelationTree selectByPrimaryKey(Long id); + + int updateByExampleSelective(@Param("record") UmsMemberRelationTree record, @Param("example") UmsMemberRelationTreeExample example); + + int updateByExample(@Param("record") UmsMemberRelationTree record, @Param("example") UmsMemberRelationTreeExample example); + + int updateByPrimaryKeySelective(UmsMemberRelationTree record); + + int updateByPrimaryKey(UmsMemberRelationTree record); +} \ No newline at end of file diff --git a/mall-dao/src/main/resources/com/buy507/mall/mapper/UmsMemberAccountTransactionMapper.xml b/mall-dao/src/main/resources/com/buy507/mall/mapper/UmsMemberAccountTransactionMapper.xml index 7bc1d4a..1c24511 100644 --- a/mall-dao/src/main/resources/com/buy507/mall/mapper/UmsMemberAccountTransactionMapper.xml +++ b/mall-dao/src/main/resources/com/buy507/mall/mapper/UmsMemberAccountTransactionMapper.xml @@ -1,6 +1,6 @@ - + diff --git a/mall-dao/src/main/resources/com/buy507/mall/mapper/UmsMemberRelationTreeMapper.xml b/mall-dao/src/main/resources/com/buy507/mall/mapper/UmsMemberRelationTreeMapper.xml index a485dfd..8abc3f3 100644 --- a/mall-dao/src/main/resources/com/buy507/mall/mapper/UmsMemberRelationTreeMapper.xml +++ b/mall-dao/src/main/resources/com/buy507/mall/mapper/UmsMemberRelationTreeMapper.xml @@ -1,6 +1,6 @@ - + diff --git a/mall-portal/src/main/java/com/buy507/mall/portal/service/MemberCommissionService.java b/mall-portal/src/main/java/com/buy507/mall/portal/service/MemberCommissionService.java new file mode 100644 index 0000000..873f46b --- /dev/null +++ b/mall-portal/src/main/java/com/buy507/mall/portal/service/MemberCommissionService.java @@ -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); +} diff --git a/mall-portal/src/main/java/com/buy507/mall/portal/service/impl/MemberCommissionServiceImpl.java b/mall-portal/src/main/java/com/buy507/mall/portal/service/impl/MemberCommissionServiceImpl.java new file mode 100644 index 0000000..026964f --- /dev/null +++ b/mall-portal/src/main/java/com/buy507/mall/portal/service/impl/MemberCommissionServiceImpl.java @@ -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()); + + + + }); + + + + + } +} diff --git a/mall-portal/src/main/java/com/buy507/mall/portal/service/impl/OmsPortalOrderServiceImpl.java b/mall-portal/src/main/java/com/buy507/mall/portal/service/impl/OmsPortalOrderServiceImpl.java index 1626d1e..27001cd 100644 --- a/mall-portal/src/main/java/com/buy507/mall/portal/service/impl/OmsPortalOrderServiceImpl.java +++ b/mall-portal/src/main/java/com/buy507/mall/portal/service/impl/OmsPortalOrderServiceImpl.java @@ -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); }