Commit 05dc73bc authored by codezwjava's avatar codezwjava

用户升级条件变更

parent 3896dacb
......@@ -200,4 +200,18 @@ public interface UsersMapper extends BaseMapper<User> {
* @return
*/
User randOneGetUserByUserId(Integer id);
/**
* 根据邀请码获取所有的下级用户
* @param userId
* @return
*/
List<User> getListByIntvitedCode(String userId);
/**
* 根据当前用户的推荐人邀请码获取推荐人的用户信息(上级用户信息)
* @param beInvitedCode
* @return
*/
User getuserByBeInvitedCode(String beInvitedCode);
}
......@@ -178,7 +178,7 @@
from
<include refid="table"/>
<where>
invite_code=#{beInvitedCode}
invite_code = #{beInvitedCode}
</where>
</select>
......@@ -394,4 +394,21 @@
ORDER BY RAND() LIMIT 1
</select>
<select id="getListByIntvitedCode" resultType="cn.wisenergy.model.app.User">
select
<include refid="cols_all"/>
from
<include refid="table"/>
where be_invited_code = #{intiveCode}
</select>
<select id="getuserByBeInvitedCode" resultType="cn.wisenergy.model.app.User">
select
<include refid="cols_all"/>
from
<include refid="table"/>
where
invite_code = #{be_invited_code}
</select>
</mapper>
......@@ -23,7 +23,7 @@ import java.util.List;
*/
@Service
@Slf4j
public class UserLevelServiceImpl extends ServiceImpl<UsersMapper,User> implements UserLevelService {
public class UserLevelServiceImpl extends ServiceImpl<UsersMapper, User> implements UserLevelService {
@Autowired
private UsersMapper usersMapper;
......@@ -49,16 +49,20 @@ public class UserLevelServiceImpl extends ServiceImpl<UsersMapper,User> implemen
@Autowired
private OrderMapper orderMapper;
//系统推荐人邀请码
private static final String sysInviteCode1 = "1";
private static final String sysInviteCode2 = "88888888";
//获取订单
@XxlJob(value = "userLevelUpjobhandler")
@Override
public void userLevelUp(){
public void userLevelUp() {
//1.获取数据库订单数据
log.info("------------------------用户升级开始----------------------------------");
List<OrderInfo> ordersByLevelStatus = orderMapper.getByLevelStatus(0);
for (OrderInfo orderInfo : ordersByLevelStatus) {
String buyerId = orderInfo.getUserId();
userLevelUpgrade(buyerId);
String userId = orderInfo.getUserId();
userLevelUpgrade(userId);
//当前订单升级状态置为1
orderInfo.setLevelStatus(1);
orderMapper.updateById(orderInfo);
......@@ -66,6 +70,7 @@ public class UserLevelServiceImpl extends ServiceImpl<UsersMapper,User> implemen
log.info("-------------------------用户升级结束--------------------------------------");
}
@Override
@Transactional
public void userLevelUpgrade(String userId) {
......@@ -77,6 +82,9 @@ public class UserLevelServiceImpl extends ServiceImpl<UsersMapper,User> implemen
TeamUserInfo teamUserInfoMapperByUserId = teamUserInfoMapper.getByUserId(userId);
//计算当前用户业绩
BigDecimal performanceByUserid = orderMapper.getPerformanceByUserid(userId);
if (null == performanceByUserid) {
performanceByUserid = new BigDecimal(0);
}
//当前用户等级
Integer userLevel = user.getUserLevel();
//当前用户的邀请码
......@@ -85,11 +93,14 @@ public class UserLevelServiceImpl extends ServiceImpl<UsersMapper,User> implemen
String inviteUserId = "";
RecommendUser inviteRecommendUser = new RecommendUser();
//若当前用户的推荐人邀请码是 “1” 时 则当前用户没有邀请人
if (!"1".equals(beInvitedCode)) {
if (!sysInviteCode1.equals(beInvitedCode) || !sysInviteCode2.equals(beInvitedCode)) {
//通过当前用户推荐人邀请码获取邀请人的userId
inviteUserId = usersMapper.getByBeInvitedCode(beInvitedCode).getUserId();
//邀请人的直推用户信息
inviteRecommendUser = recommendUserMapper.getByUserId(inviteUserId);
User byBeInvitedCode = usersMapper.getByBeInvitedCode(beInvitedCode);
if (null != byBeInvitedCode) {
inviteUserId = byBeInvitedCode.getUserId();
//邀请人的直推用户信息
inviteRecommendUser = recommendUserMapper.getByUserId(inviteUserId);
}
}
//用户等级升级为幼苗 1
//若当前用户等级为0(普通用户)且跨境额度(业绩消费金额)>= 3980 进行升级0-->1
......@@ -98,7 +109,7 @@ public class UserLevelServiceImpl extends ServiceImpl<UsersMapper,User> implemen
user.setUserLevel(1);
usersMapper.updateById(user);
//用户推荐人邀请码为 1 时 该用户没有邀请人
if ("1".equals(beInvitedCode)) {
if (!sysInviteCode1.equals(beInvitedCode) || !sysInviteCode2.equals(beInvitedCode)) {
return;
} else {
//推荐人直推信息表数据维护
......@@ -124,12 +135,13 @@ public class UserLevelServiceImpl extends ServiceImpl<UsersMapper,User> implemen
}
//用户等级升级为青铜树 2
//当前用户等级为幼苗用户(1)时 且当前用户直推人数中幼苗等级>=5人<20人时
if (userLevel == 1 && recommendUser.getSeedlingNum() >= 5 && recommendUser.getSeedlingNum() < 20) {
if (userLevel == 1 && recommendUser.getSeedlingNum() >= 3
&& recommendUser.getSeedlingNum() < 15) {
//用户升级成功
user.setUserLevel(2);
usersMapper.updateById(user);
//用户被邀请码为 1 时 该用户没有邀请人
if ("1".equals(user.getBeInvitedCode())) {
if (!sysInviteCode1.equals(beInvitedCode) || !sysInviteCode2.equals(beInvitedCode)) {
return;
} else {
//若邀请人直推用户信息中的幼苗用户数量为0是则不用变化,否则幼苗用户数量-1
......@@ -152,11 +164,12 @@ public class UserLevelServiceImpl extends ServiceImpl<UsersMapper,User> implemen
}
}
//用户等级升级为白银树 3
if (userLevel == 2 && recommendUser.getSeedlingNum() >= 20 && recommendUser.getSeedlingNum() < 50) {
if (userLevel == 2 && recommendUser.getSeedlingNum() >= 15
&& recommendUser.getSeedlingNum() < 20) {
user.setUserLevel(3);
usersMapper.updateById(user);
//用户被邀请码为 1 时 该用户没有邀请人
if ("1".equals(user.getBeInvitedCode())) {
if (!sysInviteCode1.equals(beInvitedCode) || !sysInviteCode2.equals(beInvitedCode)) {
return;
} else {
//推荐人直推信息表数据维护
......@@ -182,13 +195,14 @@ public class UserLevelServiceImpl extends ServiceImpl<UsersMapper,User> implemen
}
//用户等级升级为黄金树 4
//:todo 条件:团队中青铜树数量>=20
if (userLevel == 3 && recommendUser.getSeedlingNum() >= 50
&& recommendUser.getSilverTreeNum() >= 4
if (userLevel == 3 && recommendUser.getSeedlingNum() >= 20
&& recommendUser.getSilverTreeNum() >= 2
&& teamUserInfoMapperByUserId.getSeedlingNum() >= 30
&& teamUserInfoMapperByUserId.getBronzeTreeNum() >= 20) {
user.setUserLevel(4);
usersMapper.updateById(user);
//用户被邀请码为 1 时 该用户没有邀请人
if ("1".equals(user.getBeInvitedCode())) {
if (!sysInviteCode1.equals(beInvitedCode) || !sysInviteCode2.equals(beInvitedCode)) {
return;
} else {
//推荐人直推信息表数据维护
......@@ -213,13 +227,14 @@ public class UserLevelServiceImpl extends ServiceImpl<UsersMapper,User> implemen
}
//用户等级级升级为农场主 5
//:todo 条件:团队中白银树数量>=40
if (userLevel == 4 && recommendUser.getSeedlingNum() >= 70
&& recommendUser.getGoldTreeNum() >= 5
if (userLevel == 4 && recommendUser.getSeedlingNum() >= 30
&& recommendUser.getGoldTreeNum() >= 2
&& teamUserInfoMapperByUserId.getSeedlingNum() >=70
&& teamUserInfoMapperByUserId.getSilverTreeNum() >= 40) {
user.setUserLevel(5);
usersMapper.updateById(user);
//用户被邀请码为 1 时 该用户没有邀请人
if ("1".equals(user.getBeInvitedCode())) {
if (!sysInviteCode1.equals(beInvitedCode) || !sysInviteCode2.equals(beInvitedCode)) {
return;
} else {
//推荐人直推信息表数据维护
......@@ -244,15 +259,15 @@ public class UserLevelServiceImpl extends ServiceImpl<UsersMapper,User> implemen
}
//用户等级升级为森林之星 6
// todo: 条件:团队中白银树数量>=70 && 条件:团队中黄金树数量>=30
if (userLevel == 5 && recommendUser.getSeedlingNum() >= 80
&& recommendUser.getFarmerNum() >= 5
if (userLevel == 5 && recommendUser.getSeedlingNum() >= 40
&& recommendUser.getFarmerNum() >= 2
&& teamUserInfoMapperByUserId.getSeedlingNum() >=80
&& teamUserInfoMapperByUserId.getSilverTreeNum() >= 70
&& teamUserInfoMapperByUserId.getGoldTreeNum() >= 30) {
user.setUserLevel(6);
usersMapper.updateById(user);
//用户被邀请码为 1 时 该用户没有邀请人
if ("1".equals(user.getBeInvitedCode())) {
if (!sysInviteCode1.equals(beInvitedCode) || !sysInviteCode2.equals(beInvitedCode)) {
return;
} else {
//推荐人直推信息表数据维护
......@@ -277,14 +292,16 @@ public class UserLevelServiceImpl extends ServiceImpl<UsersMapper,User> implemen
}
//用户等级升级为西田森合伙人 7
//:todo 条件:团队中白银树数量>=90 && 条件:团队中黄金树数量>=50 条件:团队中农场主数量>=30
if (userLevel == 6 && recommendUser.getSeedlingNum() >= 100
&& recommendUser.getForestStartNum() >= 1
if (userLevel == 6 && recommendUser.getSeedlingNum() >= 50
&& recommendUser.getForestStartNum() >= 2
&& teamUserInfoMapperByUserId.getSeedlingNum() >= 100
&& teamUserInfoMapperByUserId.getSilverTreeNum() >= 90
&& teamUserInfoMapperByUserId.getGoldTreeNum() >= 50
&& teamUserInfoMapperByUserId.getFarmerNum() >= 30) {
user.setUserLevel(7);
usersMapper.updateById(user);
//用户被邀请码为 1 时 该用户没有邀请人
if ("1".equals(user.getBeInvitedCode())) {
if (!sysInviteCode1.equals(beInvitedCode) || !sysInviteCode2.equals(beInvitedCode)) {
return;
} else {
//推荐人直推信息表数据维护
......@@ -322,7 +339,7 @@ public class UserLevelServiceImpl extends ServiceImpl<UsersMapper,User> implemen
String beinvitedCodeUserId = "";
String inviteCode = byUserId.getBeInvitedCode();
if (!"1".equals(inviteCode)) {
if (!sysInviteCode1.equals(inviteUserId) || !sysInviteCode2.equals(inviteUserId)) {
//通过邀请人的用户信息获取邀请人的推荐人邀请码
beinvitedCodeUserId = usersMapper.getByBeInvitedCode(inviteCode).getUserId();
}
......@@ -338,7 +355,7 @@ public class UserLevelServiceImpl extends ServiceImpl<UsersMapper,User> implemen
//西田森合伙人用户数量 + 1
teamNumInfoBuyId.setPartnerNum(teamNumInfoBuyId.getPartnerNum() + 1);
teamUserInfoMapper.updateById(teamNumInfoBuyId);
if ("1".equals(byUserId.getBeInvitedCode())) {
if (!sysInviteCode1.equals(inviteUserId) || !sysInviteCode2.equals(inviteUserId)) {
return;
}
teamUserInfoForestStartToPartner(beinvitedCodeUserId);
......@@ -357,7 +374,7 @@ public class UserLevelServiceImpl extends ServiceImpl<UsersMapper,User> implemen
String beinvitedCodeUserId = "";
String inviteCode = byUserId.getBeInvitedCode();
if (!"1".equals(inviteCode)) {
if (!sysInviteCode1.equals(inviteUserId) || !sysInviteCode2.equals(inviteUserId)) {
//通过邀请人的用户信息获取邀请人的推荐人邀请码
beinvitedCodeUserId = usersMapper.getByBeInvitedCode(inviteCode).getUserId();
}
......@@ -373,7 +390,7 @@ public class UserLevelServiceImpl extends ServiceImpl<UsersMapper,User> implemen
//森林之星用户数量 + 1
teamNumInfoBuyId.setForestStartNum(teamNumInfoBuyId.getForestStartNum() + 1);
teamUserInfoMapper.updateById(teamNumInfoBuyId);
if ("1".equals(byUserId.getBeInvitedCode())) {
if (!sysInviteCode1.equals(inviteUserId) || !sysInviteCode2.equals(inviteUserId)) {
return;
}
//递归向上修改团队用户信息表
......@@ -393,7 +410,7 @@ public class UserLevelServiceImpl extends ServiceImpl<UsersMapper,User> implemen
String beinvitedCodeUserId = "";
String inviteCode = byUserId.getBeInvitedCode();
if (!"1".equals(inviteCode)) {
if (!sysInviteCode1.equals(inviteUserId) || !sysInviteCode2.equals(inviteUserId)) {
//通过邀请人的用户信息获取邀请人的推荐人邀请码
beinvitedCodeUserId = usersMapper.getByBeInvitedCode(inviteCode).getUserId();
}
......@@ -409,7 +426,7 @@ public class UserLevelServiceImpl extends ServiceImpl<UsersMapper,User> implemen
//农场主数量 + 1
teamNumInfoBuyId.setFarmerNum(teamNumInfoBuyId.getFarmerNum() + 1);
teamUserInfoMapper.updateById(teamNumInfoBuyId);
if ("1".equals(byUserId.getBeInvitedCode())) {
if (!sysInviteCode1.equals(inviteUserId) || !sysInviteCode2.equals(inviteUserId)) {
return;
}
//递归向上修改团队用户信息表
......@@ -429,7 +446,7 @@ public class UserLevelServiceImpl extends ServiceImpl<UsersMapper,User> implemen
String beinvitedCodeUserId = "";
String inviteCode = byUserId.getBeInvitedCode();
if (!"1".equals(inviteCode)) {
if (!sysInviteCode1.equals(inviteUserId) || !sysInviteCode2.equals(inviteUserId)) {
//通过邀请人的用户信息获取邀请人的推荐人邀请码
beinvitedCodeUserId = usersMapper.getByBeInvitedCode(inviteCode).getUserId();
}
......@@ -445,7 +462,7 @@ public class UserLevelServiceImpl extends ServiceImpl<UsersMapper,User> implemen
//黄金树用户数量 - 1
teamNumInfoBuyId.setGoldTreeNum(teamNumInfoBuyId.getGoldTreeNum() + 1);
teamUserInfoMapper.updateById(teamNumInfoBuyId);
if ("1".equals(byUserId.getBeInvitedCode())) {
if (!sysInviteCode1.equals(inviteUserId) || !sysInviteCode2.equals(inviteUserId)) {
return;
}
//递归向上修改团队用户信息表
......@@ -465,7 +482,7 @@ public class UserLevelServiceImpl extends ServiceImpl<UsersMapper,User> implemen
String beinvitedCodeUserId = "";
String inviteCode = byUserId.getBeInvitedCode();
if (!"1".equals(inviteCode)) {
if (!sysInviteCode1.equals(inviteUserId) || !sysInviteCode2.equals(inviteUserId)) {
//通过邀请人的用户信息获取邀请人的推荐人邀请码
beinvitedCodeUserId = usersMapper.getByBeInvitedCode(inviteCode).getUserId();
}
......@@ -481,7 +498,7 @@ public class UserLevelServiceImpl extends ServiceImpl<UsersMapper,User> implemen
//白银树用户数量+1
teamNumInfoBuyId.setSilverTreeNum(teamNumInfoBuyId.getSilverTreeNum() + 1);
teamUserInfoMapper.updateById(teamNumInfoBuyId);
if ("1".equals(byUserId.getBeInvitedCode())) {
if (!sysInviteCode1.equals(inviteUserId) || !sysInviteCode2.equals(inviteUserId)) {
return;
}
//递归向上修改团队用户信息表
......@@ -501,7 +518,7 @@ public class UserLevelServiceImpl extends ServiceImpl<UsersMapper,User> implemen
String beinvitedCodeUserId = "";
String inviteCode = byUserId.getBeInvitedCode();
if (!"1".equals(inviteCode)) {
if (!sysInviteCode1.equals(inviteUserId) || !sysInviteCode2.equals(inviteUserId)) {
//通过邀请人的用户信息获取邀请人的推荐人邀请码
beinvitedCodeUserId = usersMapper.getByBeInvitedCode(inviteCode).getUserId();
}
......@@ -517,7 +534,7 @@ public class UserLevelServiceImpl extends ServiceImpl<UsersMapper,User> implemen
//邀请人的团队用户信息表中青铜树数量 + 1
teamNumInfoBuyId.setBronzeTreeNum(teamNumInfoBuyId.getBronzeTreeNum() + 1);
teamUserInfoMapper.updateById(teamNumInfoBuyId);
if ("1".equals(byUserId.getBeInvitedCode())) {
if (!sysInviteCode1.equals(inviteUserId) || !sysInviteCode2.equals(inviteUserId)) {
return;
}
//递归向上修改团队用户信息表
......@@ -538,9 +555,12 @@ public class UserLevelServiceImpl extends ServiceImpl<UsersMapper,User> implemen
String beinvitedCodeUserId = "";
//邀请人的推荐人邀请码
String inviteCode = intiveUserByUserId.getBeInvitedCode();
if (!"1".equals(inviteCode)) {
if (!sysInviteCode1.equals(inviteUserId) || !sysInviteCode2.equals(inviteUserId)) {
//通过邀请人的用户信息获取邀请人的推荐人邀请码
beinvitedCodeUserId = usersMapper.getByBeInvitedCode(inviteCode).getUserId();
User byBeInvitedCode = usersMapper.getByBeInvitedCode(inviteCode);
if (null != byBeInvitedCode) {
beinvitedCodeUserId = byBeInvitedCode.getUserId();
}
}
if (teamNumInfoBuyId.getNormalUserNum() == 0) {
teamNumInfoBuyId.setNormalUserNum(teamNumInfoBuyId.getNormalUserNum());
......@@ -552,11 +572,13 @@ public class UserLevelServiceImpl extends ServiceImpl<UsersMapper,User> implemen
//第一波用户是谁邀请的
teamNumInfoBuyId.setSeedlingNum(teamNumInfoBuyId.getSeedlingNum() + 1);
teamUserInfoMapper.updateById(teamNumInfoBuyId);
if ("1".equals(intiveUserByUserId.getBeInvitedCode())) {
if (!sysInviteCode1.equals(inviteUserId) || !sysInviteCode2.equals(inviteUserId)) {
return;
}
//递归向上修改团队用户信息表
teamUserInfoNormalToSeed(beinvitedCodeUserId);
if (!"".equals(beinvitedCodeUserId)) {
teamUserInfoNormalToSeed(beinvitedCodeUserId);
}
}
/**
......@@ -569,209 +591,222 @@ public class UserLevelServiceImpl extends ServiceImpl<UsersMapper,User> implemen
public void cultivatingPrizeToInvitedUser(String userId, String inviteUserId, int level) {
//当前用户的培育奖记录
CultivatingPrizeInfo cultivatingPrizeInfo = cultivatingPrizeInfoMapper.getOneByUserId(userId);
//判断当前用户等级
if (1 == level) {
//获取等级对应的培育奖记录状态
int seedling = cultivatingPrizeInfo.getSeedling();
//用户等级对应的培育奖金额
BigDecimal cultivatingPrize = cultivatingPrizeMapper.getcultivatingPrizeByUserLevel(level).getCultivatingPrize();
if (0 == seedling) {
//1、判断推荐人的等级是否大与当前用户等级
User inviteUser = usersMapper.getByUserId(inviteUserId);
int inviteUserLevel = inviteUser.getUserLevel();
if (null != inviteUser) {
if (inviteUserLevel > level) {
//2.交易流水新增一条数据
TradeRecord tradeRecord = new TradeRecord();
tradeRecord.setUserId(inviteUserId);
tradeRecord.setMoney(cultivatingPrize);
tradeRecord.setTradeNo(null);
tradeRecord.setStatus(0);
tradeRecord.setTradeType(TradeRecordEnum.CULTIVATING_PRIZE.getCode());
tradeRecordMapper.add(tradeRecord);
//3.修改培育奖记录状态 ==1
seedling = 1;
cultivatingPrizeInfo.setSeedling(seedling);
cultivatingPrizeInfoMapper.updateById(cultivatingPrizeInfo);
} else {
//3.修改培育奖记录状态 ==2
seedling = 2;
cultivatingPrizeInfo.setSeedling(seedling);
cultivatingPrizeInfoMapper.updateById(cultivatingPrizeInfo);
}
if (1 != seedling) {
//给上级用户幼苗等级培育奖
//1.上级用户本月收益 ++
AccountInfo beIntivedUserAccount = accountMapper.getByUserId(inviteUserId);
BigDecimal earningsMonth = beIntivedUserAccount.getEarningsMonth();
earningsMonth = earningsMonth.add(cultivatingPrize);
beIntivedUserAccount.setEarningsMonth(earningsMonth);
BigDecimal earningsTotal = beIntivedUserAccount.getEarningsTotal();
earningsTotal = earningsTotal.add(cultivatingPrize);
beIntivedUserAccount.setEarningsTotal(earningsTotal);
accountMapper.updateEarningsMonthAndEarningsTotalByid(beIntivedUserAccount);
//2.交易流水新增一条数据
TradeRecord tradeRecord = new TradeRecord();
tradeRecord.setUserId(inviteUserId);
tradeRecord.setMoney(cultivatingPrize);
tradeRecord.setTradeNo(null);
tradeRecord.setTradeType(TradeRecordEnum.CULTIVATING_PRIZE.getCode());
tradeRecordMapper.add(tradeRecord);
//3.修改培育奖记录状态 ==1
seedling = 1;
cultivatingPrizeInfo.setSeedling(seedling);
cultivatingPrizeInfoMapper.updateById(cultivatingPrizeInfo);
}
}
} else if (2 == level) {
//培育奖记录状态
int bronzeTree = cultivatingPrizeInfo.getBronzeTree();
//用户等级对应的培育奖金额
BigDecimal cultivatingPrize = cultivatingPrizeMapper.getcultivatingPrizeByUserLevel(level).getCultivatingPrize();
if (1 != bronzeTree) {
//给上级用户青铜等级培育奖
//1.上级用户本月收益 ++
AccountInfo beIntivedUserAccount = accountMapper.getByUserId(inviteUserId);
BigDecimal earningsMonth = beIntivedUserAccount.getEarningsMonth();
earningsMonth = earningsMonth.add(cultivatingPrize);
beIntivedUserAccount.setEarningsMonth(earningsMonth);
BigDecimal earningsTotal = beIntivedUserAccount.getEarningsTotal();
earningsTotal = earningsTotal.add(cultivatingPrize);
beIntivedUserAccount.setEarningsTotal(earningsTotal);
accountMapper.updateEarningsMonthAndEarningsTotalByid(beIntivedUserAccount);
//2.交易流水新增一条数据
TradeRecord tradeRecord = new TradeRecord();
tradeRecord.setUserId(inviteUserId);
tradeRecord.setMoney(cultivatingPrize);
tradeRecord.setTradeNo(null);
tradeRecord.setTradeType(TradeRecordEnum.CULTIVATING_PRIZE.getCode());
tradeRecordMapper.add(tradeRecord);
//3.修改培育奖记录状态 ==1
bronzeTree = 1;
cultivatingPrizeInfo.setBronzeTree(bronzeTree);
cultivatingPrizeInfoMapper.updateById(cultivatingPrizeInfo);
if (0 == bronzeTree) {
//1、判断推荐人的等级是否大与当前用户等级
User inviteUser = usersMapper.getByUserId(inviteUserId);
if (null != inviteUser) {
int inviteUserLevel = inviteUser.getUserLevel();
if (inviteUserLevel > level) {
//2.交易流水新增一条数据
TradeRecord tradeRecord = new TradeRecord();
tradeRecord.setUserId(inviteUserId);
tradeRecord.setMoney(cultivatingPrize);
tradeRecord.setTradeNo(null);
tradeRecord.setStatus(0);
tradeRecord.setTradeType(TradeRecordEnum.CULTIVATING_PRIZE.getCode());
tradeRecordMapper.add(tradeRecord);
//3.修改培育奖记录状态 ==1
bronzeTree = 1;
cultivatingPrizeInfo.setBronzeTree(bronzeTree);
cultivatingPrizeInfoMapper.updateById(cultivatingPrizeInfo);
} else {
//3.修改培育奖记录状态 ==2
bronzeTree = 2;
cultivatingPrizeInfo.setBronzeTree(bronzeTree);
cultivatingPrizeInfoMapper.updateById(cultivatingPrizeInfo);
}
}
}
} else if (3 == level) {
//获取当前等级的培育奖状态
int silverTree = cultivatingPrizeInfo.getSilverTree();
//用户等级对应的培育奖金额
BigDecimal cultivatingPrize = cultivatingPrizeMapper.getcultivatingPrizeByUserLevel(level).getCultivatingPrize();
if (1 != silverTree) {
//给上级用户白银等级培育奖
//1.上级用户本月收益 ++
AccountInfo beIntivedUserAccount = accountMapper.getByUserId(inviteUserId);
BigDecimal earningsMonth = beIntivedUserAccount.getEarningsMonth();
earningsMonth = earningsMonth.add(cultivatingPrize);
beIntivedUserAccount.setEarningsMonth(earningsMonth);
BigDecimal earningsTotal = beIntivedUserAccount.getEarningsTotal();
earningsTotal = earningsTotal.add(cultivatingPrize);
beIntivedUserAccount.setEarningsTotal(earningsTotal);
accountMapper.updateEarningsMonthAndEarningsTotalByid(beIntivedUserAccount);
//2.交易流水新增一条数据
TradeRecord tradeRecord = new TradeRecord();
tradeRecord.setUserId(inviteUserId);
tradeRecord.setMoney(cultivatingPrize);
tradeRecord.setTradeNo(null);
tradeRecord.setTradeType(TradeRecordEnum.CULTIVATING_PRIZE.getCode());
tradeRecordMapper.add(tradeRecord);
//3.修改培育奖记录状态 ==1
silverTree = 1;
cultivatingPrizeInfo.setSilverTree(silverTree);
cultivatingPrizeInfoMapper.updateById(cultivatingPrizeInfo);
if (0 == silverTree) {
//1、判断推荐人的等级是否大与当前用户等级
User inviteUser = usersMapper.getByUserId(inviteUserId);
if (null != inviteUser) {
int inviteUserLevel = inviteUser.getUserLevel();
if (inviteUserLevel > level) {
//2.交易流水新增一条数据
TradeRecord tradeRecord = new TradeRecord();
tradeRecord.setUserId(inviteUserId);
tradeRecord.setMoney(cultivatingPrize);
tradeRecord.setTradeNo(null);
tradeRecord.setStatus(0);
tradeRecord.setTradeType(TradeRecordEnum.CULTIVATING_PRIZE.getCode());
tradeRecordMapper.add(tradeRecord);
//3.修改培育奖记录状态 ==1
silverTree = 1;
cultivatingPrizeInfo.setBronzeTree(silverTree);
cultivatingPrizeInfoMapper.updateById(cultivatingPrizeInfo);
} else {
//3.修改培育奖记录状态 ==2
silverTree = 2;
cultivatingPrizeInfo.setBronzeTree(silverTree);
cultivatingPrizeInfoMapper.updateById(cultivatingPrizeInfo);
}
}
}
} else if (4 == level) {
int goldTree = cultivatingPrizeInfo.getGoldTree();
//用户等级对应的培育奖金额
BigDecimal cultivatingPrize = cultivatingPrizeMapper.getcultivatingPrizeByUserLevel(level).getCultivatingPrize();
if (1 != goldTree) {
//给上级用户黄金等级培育奖
//1.上级用户本月收益 ++
AccountInfo beIntivedUserAccount = accountMapper.getByUserId(inviteUserId);
BigDecimal earningsMonth = beIntivedUserAccount.getEarningsMonth();
earningsMonth = earningsMonth.add(cultivatingPrize);
beIntivedUserAccount.setEarningsMonth(earningsMonth);
BigDecimal earningsTotal = beIntivedUserAccount.getEarningsTotal();
earningsTotal = earningsTotal.add(cultivatingPrize);
beIntivedUserAccount.setEarningsTotal(earningsTotal);
accountMapper.updateEarningsMonthAndEarningsTotalByid(beIntivedUserAccount);
//2.交易流水新增一条数据
TradeRecord tradeRecord = new TradeRecord();
tradeRecord.setUserId(inviteUserId);
tradeRecord.setMoney(cultivatingPrize);
tradeRecord.setTradeNo(null);
tradeRecord.setTradeType(TradeRecordEnum.CULTIVATING_PRIZE.getCode());
tradeRecordMapper.add(tradeRecord);
//3.修改培育奖记录状态 ==1
goldTree = 1;
cultivatingPrizeInfo.setGoldTree(goldTree);
cultivatingPrizeInfoMapper.updateById(cultivatingPrizeInfo);
if (0 == goldTree) {
//上级用户
User inviteUser = usersMapper.getByUserId(inviteUserId);
if (null != inviteUser) {
//2.交易流水新增一条数据
TradeRecord tradeRecord = new TradeRecord();
tradeRecord.setUserId(inviteUserId);
tradeRecord.setMoney(cultivatingPrize);
tradeRecord.setTradeNo(null);
tradeRecord.setStatus(0);
tradeRecord.setTradeType(TradeRecordEnum.CULTIVATING_PRIZE.getCode());
tradeRecordMapper.add(tradeRecord);
//3.修改培育奖记录状态 ==1
goldTree = 1;
cultivatingPrizeInfo.setGoldTree(goldTree);
cultivatingPrizeInfoMapper.updateById(cultivatingPrizeInfo);
} else {
//3.修改培育奖记录状态 ==2
goldTree = 2;
cultivatingPrizeInfo.setGoldTree(goldTree);
cultivatingPrizeInfoMapper.updateById(cultivatingPrizeInfo);
}
}
} else if (5 == level) {
int farmer = cultivatingPrizeInfo.getFarmer();
//用户等级对应的培育奖金额
BigDecimal cultivatingPrize = cultivatingPrizeMapper.getcultivatingPrizeByUserLevel(level).getCultivatingPrize();
if (1 != farmer) {
//给上级用户农场主等级培育奖
//1.上级用户本月收益 ++
AccountInfo beIntivedUserAccount = accountMapper.getByUserId(inviteUserId);
BigDecimal earningsMonth = beIntivedUserAccount.getEarningsMonth();
earningsMonth = earningsMonth.add(cultivatingPrize);
beIntivedUserAccount.setEarningsMonth(earningsMonth);
BigDecimal earningsTotal = beIntivedUserAccount.getEarningsTotal();
earningsTotal = earningsTotal.add(cultivatingPrize);
beIntivedUserAccount.setEarningsTotal(earningsTotal);
accountMapper.updateEarningsMonthAndEarningsTotalByid(beIntivedUserAccount);
//2.交易流水新增一条数据
TradeRecord tradeRecord = new TradeRecord();
tradeRecord.setUserId(inviteUserId);
tradeRecord.setMoney(cultivatingPrize);
tradeRecord.setTradeNo(null);
tradeRecord.setTradeType(TradeRecordEnum.CULTIVATING_PRIZE.getCode());
tradeRecordMapper.add(tradeRecord);
//3.修改培育奖记录状态 ==1
farmer = 1;
cultivatingPrizeInfo.setFarmer(farmer);
cultivatingPrizeInfoMapper.updateById(cultivatingPrizeInfo);
if (0 == farmer) {
//上级用户
User inviteUser = usersMapper.getByUserId(inviteUserId);
if (null != inviteUser) {
//2.交易流水新增一条数据
TradeRecord tradeRecord = new TradeRecord();
tradeRecord.setUserId(inviteUserId);
tradeRecord.setMoney(cultivatingPrize);
tradeRecord.setTradeNo(null);
tradeRecord.setStatus(0);
tradeRecord.setTradeType(TradeRecordEnum.CULTIVATING_PRIZE.getCode());
tradeRecordMapper.add(tradeRecord);
//3.修改培育奖记录状态 ==1
farmer = 1;
cultivatingPrizeInfo.setGoldTree(farmer);
cultivatingPrizeInfoMapper.updateById(cultivatingPrizeInfo);
} else {
//3.修改培育奖记录状态 ==2
farmer = 2;
cultivatingPrizeInfo.setGoldTree(farmer);
cultivatingPrizeInfoMapper.updateById(cultivatingPrizeInfo);
}
}
} else if (6 == level) {
int forestStart = cultivatingPrizeInfo.getForestStart();
//用户等级对应的培育奖金额
BigDecimal cultivatingPrize = cultivatingPrizeMapper.getcultivatingPrizeByUserLevel(level).getCultivatingPrize();
if (1 != forestStart) {
//给上级用户森林之星等级培育奖
//1.上级用户本月收益 ++
AccountInfo beIntivedUserAccount = accountMapper.getByUserId(inviteUserId);
BigDecimal earningsMonth = beIntivedUserAccount.getEarningsMonth();
earningsMonth = earningsMonth.add(cultivatingPrize);
beIntivedUserAccount.setEarningsMonth(earningsMonth);
BigDecimal earningsTotal = beIntivedUserAccount.getEarningsTotal();
earningsTotal = earningsTotal.add(cultivatingPrize);
beIntivedUserAccount.setEarningsTotal(earningsTotal);
accountMapper.updateEarningsMonthAndEarningsTotalByid(beIntivedUserAccount);
//2.交易流水新增一条数据
TradeRecord tradeRecord = new TradeRecord();
tradeRecord.setUserId(inviteUserId);
tradeRecord.setMoney(cultivatingPrize);
tradeRecord.setTradeNo(null);
tradeRecord.setTradeType(TradeRecordEnum.CULTIVATING_PRIZE.getCode());
tradeRecordMapper.add(tradeRecord);
//3.修改培育奖记录状态 ==1
forestStart = 1;
cultivatingPrizeInfo.setForestStart(forestStart);
cultivatingPrizeInfoMapper.updateById(cultivatingPrizeInfo);
if (0 == forestStart) {
//上级用户
User inviteUser = usersMapper.getByUserId(inviteUserId);
if (null != inviteUser) {
//2.交易流水新增一条数据
TradeRecord tradeRecord = new TradeRecord();
tradeRecord.setUserId(inviteUserId);
tradeRecord.setMoney(cultivatingPrize);
tradeRecord.setTradeNo(null);
tradeRecord.setStatus(0);
tradeRecord.setTradeType(TradeRecordEnum.CULTIVATING_PRIZE.getCode());
tradeRecordMapper.add(tradeRecord);
//3.修改培育奖记录状态 ==1
forestStart = 1;
cultivatingPrizeInfo.setGoldTree(forestStart);
cultivatingPrizeInfoMapper.updateById(cultivatingPrizeInfo);
} else {
//3.修改培育奖记录状态 ==2
forestStart = 2;
cultivatingPrizeInfo.setGoldTree(forestStart);
cultivatingPrizeInfoMapper.updateById(cultivatingPrizeInfo);
}
}
} else if (7 == level) {
int partner = cultivatingPrizeInfo.getPartner();
//用户等级对应的培育奖金额
BigDecimal cultivatingPrize = cultivatingPrizeMapper.getcultivatingPrizeByUserLevel(level).getCultivatingPrize();
if (1 != partner) {
//给上级用户西田森合伙人等级培育奖
//1.上级用户本月收益 ++
AccountInfo beIntivedUserAccount = accountMapper.getByUserId(inviteUserId);
BigDecimal earningsMonth = beIntivedUserAccount.getEarningsMonth();
earningsMonth = earningsMonth.add(cultivatingPrize);
beIntivedUserAccount.setEarningsMonth(earningsMonth);
BigDecimal earningsTotal = beIntivedUserAccount.getEarningsTotal();
earningsTotal = earningsTotal.add(cultivatingPrize);
beIntivedUserAccount.setEarningsTotal(earningsTotal);
accountMapper.updateEarningsMonthAndEarningsTotalByid(beIntivedUserAccount);
//2.交易流水新增一条数据
TradeRecord tradeRecord = new TradeRecord();
tradeRecord.setUserId(inviteUserId);
tradeRecord.setMoney(cultivatingPrize);
tradeRecord.setTradeNo(null);
tradeRecord.setTradeType(TradeRecordEnum.CULTIVATING_PRIZE.getCode());
tradeRecordMapper.add(tradeRecord);
//3.修改培育奖记录状态 ==1
partner = 1;
cultivatingPrizeInfo.setPartner(partner);
cultivatingPrizeInfoMapper.updateById(cultivatingPrizeInfo);
if (0 == partner) {
//上级用户
User inviteUser = usersMapper.getByUserId(inviteUserId);
if (null != inviteUser) {
//2.交易流水新增一条数据
TradeRecord tradeRecord = new TradeRecord();
tradeRecord.setUserId(inviteUserId);
tradeRecord.setMoney(cultivatingPrize);
tradeRecord.setTradeNo(null);
tradeRecord.setStatus(0);
tradeRecord.setTradeType(TradeRecordEnum.CULTIVATING_PRIZE.getCode());
tradeRecordMapper.add(tradeRecord);
//3.修改培育奖记录状态 ==1
partner = 1;
cultivatingPrizeInfo.setGoldTree(partner);
cultivatingPrizeInfoMapper.updateById(cultivatingPrizeInfo);
} else {
//3.修改培育奖记录状态 ==2
partner = 2;
cultivatingPrizeInfo.setGoldTree(partner);
cultivatingPrizeInfoMapper.updateById(cultivatingPrizeInfo);
}
}
}
}
......
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