src/main/java/cc/mrbird/febs/common/enumerates/AgentLevelEnum.java
@@ -9,6 +9,7 @@ @Getter public enum AgentLevelEnum { ZERO_LEVEL("未激活"), FIRST_LEVEL("普通会员"), SECOND_LEVEL("业务经理"), THIRD_LEVEL("区域代理"), src/main/java/cc/mrbird/febs/mall/service/impl/AgentServiceImpl.java
@@ -53,6 +53,11 @@ return; } // 未激活用户无法升级 if (AgentLevelEnum.ZERO_LEVEL.name().equals(member.getLevel())) { return; } List<String> ids = StrUtil.split(member.getReferrerIds(), ','); List<MallMember> parentMembers = memberMapper.selectByInviteIds(ids); for (MallMember parent : parentMembers) { @@ -151,7 +156,7 @@ */ private void directReturnMoney(MallMember member, MallOrderInfo orderInfo) { MallMember parent = memberMapper.selectInfoByInviteId(member.getReferrerId()); if (AgentLevelEnum.FIRST_LEVEL.name().equals(parent.getLevel())) { if (AgentLevelEnum.FIRST_LEVEL.name().equals(parent.getLevel()) || AgentLevelEnum.ZERO_LEVEL.name().equals(parent.getLevel())) { return; } src/main/java/cc/mrbird/febs/mall/service/impl/ApiMallMemberServiceImpl.java
@@ -97,7 +97,7 @@ mallMember.setName(registerDto.getAccount()); mallMember.setAccountStatus(MallMember.ACCOUNT_STATUS_ENABLE); mallMember.setAccountType(MallMember.ACCOUNT_TYPE_NORMAL); mallMember.setLevel(AgentLevelEnum.FIRST_LEVEL.name()); mallMember.setLevel(AgentLevelEnum.ZERO_LEVEL.name()); mallMember.setSex("男"); this.baseMapper.insert(mallMember); src/main/java/cc/mrbird/febs/mall/service/impl/ApiMallOrderInfoServiceImpl.java
@@ -1,5 +1,6 @@ package cc.mrbird.febs.mall.service.impl; import cc.mrbird.febs.common.enumerates.AgentLevelEnum; import cc.mrbird.febs.common.enumerates.MoneyFlowTypeEnum; import cc.mrbird.febs.common.enumerates.OrderRefundStatusEnum; import cc.mrbird.febs.common.enumerates.OrderStatusEnum; @@ -192,6 +193,12 @@ orderInfo.setPayTime(new Date()); orderInfo.setPayResult("1"); MallMember mallMember = memberMapper.selectById(member.getId()); if (AgentLevelEnum.ZERO_LEVEL.name().equals(mallMember.getLevel())) { mallMember.setLevel(AgentLevelEnum.FIRST_LEVEL.name()); memberMapper.updateById(mallMember); } memberService.addMoneyFlow(member.getId(), orderInfo.getAmount().negate(), MoneyFlowTypeEnum.PAY.getValue(), orderInfo.getOrderNo(), null, null, null, null); default: src/main/java/cc/mrbird/febs/pay/service/impl/PayServiceImpl.java
@@ -1,8 +1,10 @@ package cc.mrbird.febs.pay.service.impl; import cc.mrbird.febs.common.enumerates.AgentLevelEnum; import cc.mrbird.febs.common.enumerates.MoneyFlowTypeEnum; import cc.mrbird.febs.common.enumerates.OrderStatusEnum; import cc.mrbird.febs.common.exception.FebsException; import cc.mrbird.febs.mall.entity.MallMember; import cc.mrbird.febs.mall.entity.MallOrderInfo; import cc.mrbird.febs.mall.mapper.MallOrderInfoMapper; import cc.mrbird.febs.mall.service.IApiMallMemberService; @@ -21,6 +23,7 @@ import org.springframework.beans.factory.annotation.Autowired; import org.springframework.beans.factory.annotation.Value; import org.springframework.stereotype.Service; import org.springframework.transaction.annotation.Transactional; import javax.annotation.Resource; import java.util.Date; @@ -78,6 +81,7 @@ } @Override @Transactional(rollbackFor = Exception.class) public void aliCallback(Map<String, String> params) { String modelStr = params.get("passback_params"); @@ -88,6 +92,12 @@ return; } MallMember member = memberService.getById(orderInfo.getMemberId()); if (AgentLevelEnum.ZERO_LEVEL.name().equals(member.getLevel())) { member.setLevel(AgentLevelEnum.FIRST_LEVEL.name()); memberService.updateById(member); } orderInfo.setStatus(OrderStatusEnum.WAIT_SHIPPING.getValue()); orderInfo.setPayResult("1"); orderInfo.setPayTime(new Date());