Commit 5416721d authored by unset's avatar unset

会员分成记录信息

parent 13a5e8b2
......@@ -210,36 +210,44 @@ public class MemberShareRecordBiz extends BaseBiz<MemberShareRecordMapper, Membe
public void generateMemberShareQueue(OrderMemberDetail orderMemberDetail) {
if (orderMemberDetail != null) {
log.info("会员订单信息: {}", orderMemberDetail);
BaseUserMemberLevel baseUserMemberLevel = baseUserMemberLevelMapper.selectOne(new BaseUserMemberLevel(){{setIsdel(0); setId(orderMemberDetail.getMemberLevelId());}});
log.info("会员等级信息: {}", baseUserMemberLevel);
if (baseUserMemberLevel != null && baseUserMemberLevel.getIsShare() == 1) {
List<BaseUserMember> baseUserMemberList = baseUserMemberBiz.selectList(new BaseUserMember(){{setIsDel(0); setMemberLevel(orderMemberDetail.getMemberLevel());}});
if (baseUserMemberList != null && baseUserMemberList.size() > 0) {
List<Integer> userIds = baseUserMemberList.stream().map(BaseUserMember::getUserId).collect(Collectors.toList());
if (userIds != null && userIds.size() > 0) {
MemberShareRecord memberShareRecord = new MemberShareRecord();
memberShareRecord.setOrderNo(orderMemberDetail.getBaseOrder().getNo());
memberShareRecord.setPayTime(orderMemberDetail.getBaseOrder().getPayTime());
memberShareRecord.setOrderAmount(orderMemberDetail.getBaseOrder().getOrderAmount());
memberShareRecord.setMemberLevel(orderMemberDetail.getMemberLevel());
memberShareRecord.setMemberLevelId(orderMemberDetail.getMemberLevelId());
memberShareRecord.setUserId(orderMemberDetail.getBaseOrder().getUserId().longValue());
memberShareRecord.setOrderTime(orderMemberDetail.getCrtTime());
memberShareRecord.setTotalAmount(baseUserMemberLevel.getShareAmount());
memberShareRecord.setMemberNum(userIds.size());
memberShareRecord.setAmount(baseUserMemberLevel.getShareAmount().divide(new BigDecimal(userIds.size()).setScale(2, BigDecimal.ROUND_HALF_UP)));
StringBuilder stringBuilder = new StringBuilder();
userIds.parallelStream().forEach(id -> {
stringBuilder.append(",");
stringBuilder.append(id);
stringBuilder.append(",");
});
memberShareRecord.setMemberIds(stringBuilder.toString());
addUpdate(memberShareRecord);
Example example = new Example(BaseUserMemberLevel.class);
example.createCriteria().andEqualTo("isdel", 0).andEqualTo("isShare", 1);
example.orderBy("level");
List<BaseUserMemberLevel> baseUserMemberLevelList = baseUserMemberLevelMapper.selectByExample(example);
if (baseUserMemberLevelList != null && baseUserMemberLevelList.size() > 0) {
//如果购买会员是分成会员低一级会员以及分成会员,才参与分成
if (orderMemberDetail.getMemberLevel().compareTo(baseUserMemberLevelList.get(0).getLevel() - 1) >= 0) {
//所有分成会员都需要新增一条记录
for (BaseUserMemberLevel baseUserMemberLevel : baseUserMemberLevelList) {
List<BaseUserMember> baseUserMemberList = baseUserMemberBiz.selectList(new BaseUserMember(){{setIsDel(0); setMemberLevel(orderMemberDetail.getMemberLevel());}});
if (baseUserMemberList != null && baseUserMemberList.size() > 0) {
List<Integer> userIds = baseUserMemberList.stream().map(BaseUserMember::getUserId).collect(Collectors.toList());
if (userIds != null && userIds.size() > 0) {
MemberShareRecord memberShareRecord = new MemberShareRecord();
memberShareRecord.setOrderNo(orderMemberDetail.getBaseOrder().getNo());
memberShareRecord.setPayTime(orderMemberDetail.getBaseOrder().getPayTime());
memberShareRecord.setOrderAmount(orderMemberDetail.getBaseOrder().getOrderAmount());
memberShareRecord.setMemberLevel(orderMemberDetail.getMemberLevel());
memberShareRecord.setMemberLevelId(orderMemberDetail.getMemberLevelId());
memberShareRecord.setUserId(orderMemberDetail.getBaseOrder().getUserId().longValue());
memberShareRecord.setOrderTime(orderMemberDetail.getCrtTime());
memberShareRecord.setTotalAmount(baseUserMemberLevel.getShareAmount());
memberShareRecord.setMemberNum(userIds.size());
memberShareRecord.setAmount(baseUserMemberLevel.getShareAmount().divide(new BigDecimal(userIds.size()).setScale(2, BigDecimal.ROUND_HALF_UP)));
StringBuilder stringBuilder = new StringBuilder();
userIds.parallelStream().forEach(id -> {
stringBuilder.append(",");
stringBuilder.append(id);
stringBuilder.append(",");
});
memberShareRecord.setMemberIds(stringBuilder.toString());
addUpdate(memberShareRecord);
}
}
}
}
}
}
}
}
}
\ No newline at end of file
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment