Commit b47dffae authored by m1991's avatar m1991

Merge remote-tracking branch 'origin/master'

parents e86bf3db e207c0c9
......@@ -8,5 +8,5 @@ import com.baomidou.mybatisplus.core.mapper.BaseMapper;
*/
public interface RecommendUserMapper extends BaseMapper<RecommendUser> {
RecommendUser getByUserId(String userId);
}
......@@ -9,4 +9,5 @@ import com.baomidou.mybatisplus.core.mapper.BaseMapper;
*/
public interface TeamUserInfoMapper extends BaseMapper<TeamUserInfo> {
TeamUserInfo getByUserId(String userId);
}
......@@ -5,7 +5,6 @@
<resultMap id="userMap" type="cn.wisenergy.model.app.RecommendUser">
<id column="id" property="id"/>
<result column="user_id" property="userId"/>
<result column="referrer_num" property="referrerNum"/>
<result column="normal_user_num" property="normalUserNum"/>
<result column="seedling_num" property="seedlingNum"/>
<result column="bronze_tree_num" property="bronzeTreeNum"/>
......@@ -28,17 +27,16 @@
</sql>
<sql id="cols_exclude_id">
user_id,referrer_num,normal_user_num,seedling_num,bronze_tree_num,silver_tree_num,
user_id,normal_user_num,seedling_num,bronze_tree_num,silver_tree_num,
gold_tree_num,farmer_num,forest_start_num,partner_num,create_time,update_time
</sql>
<sql id="vals">
#{userId},#{referrerNum},#{normalUserNum},#{seedlingNum},#{bronzeTreeNum},#{silverTreeNum},
#{userId},#{normalUserNum},#{seedlingNum},#{bronzeTreeNum},#{silverTreeNum},
#{goldTreeNum},#{farmerNum},#{forestStartNum},#{partnerNum},now(),now()
</sql>
<sql id="updateCondition">
<if test="referrerNum != null">referrer_num =#{referrerNum},</if>
<if test="normalUserNum != null">normal_user_num =#{normalUserNum},</if>
<if test="seedlingNum != null">seedling_num =#{seedlingNum},</if>
<if test="bronzeTreeNum != null">bronze_tree_num =#{bronzeTreeNum},</if>
......@@ -52,7 +50,6 @@
<sql id="criteria">
<if test="id != null">id = #{id}</if>
<if test="referrerNum != null">and referrer_num =#{referrerNum},</if>
<if test="normalUserNum != null">and normal_user_num =#{normalUserNum},</if>
<if test="seedlingNum != null">and seedling_num =#{seedlingNum},</if>
<if test="bronzeTreeNum != null">and bronze_tree_num =#{bronzeTreeNum},</if>
......@@ -65,5 +62,14 @@
<if test="updateTime != null">and #{updateTime} &gt;= update_time</if>
</sql>
<select id="getByUserId" resultType="cn.wisenergy.model.app.RecommendUser">
select
<include refid="cols_all"/>
from
<include refid="table"/>
<where>
user_id=#{userId}
</where>
</select>
</mapper>
\ No newline at end of file
......@@ -5,7 +5,6 @@
<resultMap id="userMap" type="cn.wisenergy.model.app.TeamUserInfo">
<id column="id" property="id"/>
<result column="user_id" property="userId"/>
<result column="team_members_num" property="teamMembersNum"/>
<result column="normal_user_num" property="normalUserNum"/>
<result column="seedling_num" property="seedlingNum"/>
<result column="bronze_tree_num" property="bronzeTreeNum"/>
......@@ -28,17 +27,16 @@
</sql>
<sql id="cols_exclude_id">
user_id,team_members_num,normal_user_num,seedling_num,bronze_tree_num,silver_tree_num,
user_id,normal_user_num,seedling_num,bronze_tree_num,silver_tree_num,
gold_tree_num,farmer_num,forest_start_num,partner_num,create_time,update_time
</sql>
<sql id="vals">
#{userId},#{teamMembersNum},#{normalUserNum},#{seedlingNum},#{bronzeTreeNum},#{silverTreeNum},
#{userId},#{normalUserNum},#{seedlingNum},#{bronzeTreeNum},#{silverTreeNum},
#{goldTreeNum},#{farmerNum},#{forestStartNum},#{partnerNum},now(),now()
</sql>
<sql id="updateCondition">
<if test="teamMembersNum != null">team_members_num =#{teamMembersNum},</if>
<if test="normalUserNum != null">normal_user_num =#{normalUserNum},</if>
<if test="seedlingNum != null">seedling_num =#{seedlingNum},</if>
<if test="bronzeTreeNum != null">bronze_tree_num =#{bronzeTreeNum},</if>
......@@ -52,7 +50,6 @@
<sql id="criteria">
<if test="id != null">id = #{id}</if>
<if test="teamMembersNum != null">and team_members_num =#{teamMembersNum},</if>
<if test="normalUserNum != null">and normal_user_num =#{normalUserNum},</if>
<if test="seedlingNum != null">and seedling_num =#{seedlingNum},</if>
<if test="bronzeTreeNum != null">and bronze_tree_num =#{bronzeTreeNum},</if>
......@@ -65,5 +62,14 @@
<if test="updateTime != null">and #{updateTime} &gt;= update_time</if>
</sql>
<select id="getByUserId" resultType="cn.wisenergy.model.app.TeamUserInfo">
select
<include refid="cols_all"/>
from
<include refid="table"/>
<where>
user_id=#{userId}
</where>
</select>
</mapper>
\ No newline at end of file
......@@ -31,12 +31,6 @@ public class RecommendUser implements Serializable {
@ApiModelProperty(name = "userId", value = "用户id")
private String userId;
/**
* 直推人数
*/
@ApiModelProperty(name = "referrerNum", value = "直推人数")
private Integer referrerNum;
/**
* 普通用户数量
*/
......
......@@ -31,12 +31,6 @@ public class TeamUserInfo implements Serializable {
@ApiModelProperty(name = "userId", value = "用户id")
private String userId;
/**
* 团队人数
*/
@ApiModelProperty(name = "team_members_num", value = "团队人数")
private Integer teamMembersNum;
/**
* 普通用户数量
*/
......
package cn.wisenergy.service.app;
public interface UserLevelService {
void userLevelUpgrade(String userId);
}
package cn.wisenergy.service.app.impl;
import cn.wisenergy.mapper.RecommendUserMapper;
import cn.wisenergy.mapper.TeamUserInfoMapper;
import cn.wisenergy.mapper.UsersMapper;
import cn.wisenergy.model.app.RecommendUser;
import cn.wisenergy.model.app.TeamUserInfo;
import cn.wisenergy.model.app.User;
import cn.wisenergy.service.app.UserLevelService;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import lombok.extern.slf4j.Slf4j;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional;
import java.math.BigDecimal;
/**
* @author zw
* @ Description: 用户升级功能业务实现
* @ Author : zw
* @ Date : 2021/2/24 17:06
*/
@Service
@Slf4j
public class UserLevelServiceImlp extends ServiceImpl<UsersMapper,User> implements UserLevelService {
@Autowired
UsersMapper usersMapper;
@Autowired
RecommendUserMapper recommendUserMapper;
@Autowired
TeamUserInfoMapper teamUserInfoMapper;
@Override
@Transactional
public void userLevelUpgrade(String userId) {
//当前用户对象
User user = usersMapper.getByUserId(userId);
//当前用户直推表对象
RecommendUser recommendUser = recommendUserMapper.getByUserId(userId);
//当前用户团队信息表对象
TeamUserInfo teamUserInfoMapperByUserId = teamUserInfoMapper.getByUserId(userId);
//当前用户的跨境额度(业绩)
BigDecimal crossBorderLine = user.getCrossBorderLine();
//当前用户等级
Integer userLevel = user.getUserLevel();
//当前用户的邀请码
String beInvitedCode = user.getBeInvitedCode();
//通过当前用户推荐人邀请码获取邀请人的userId
String inviteUserId = usersMapper.getByBeInvitedCode(beInvitedCode).getUserId();
//邀请人的直推用户信息
RecommendUser inviteRecommendUser = recommendUserMapper.getByUserId(inviteUserId);
//用户等级升级为幼苗 1
//若当前用户等级为0(普通用户)且跨境额度(业绩消费金额)>= 3980 进行升级0-->1
if (userLevel == 0 && crossBorderLine.intValue() >= 3980){
user.setUserLevel(1);
usersMapper.updateById(user);
//用户推荐人邀请码为 1 时 该用户没有邀请人
if ("1".equals(beInvitedCode)){
return ;
}else {
//推荐人直推信息表数据维护
//若邀请人直推用户信息中的普通用户数量为0是则不用变化,否则普通用户数量-1
if(inviteRecommendUser.getNormalUserNum() == 0){
inviteRecommendUser.setNormalUserNum(inviteRecommendUser.getNormalUserNum());
}else {
//普通用户-1
inviteRecommendUser.setNormalUserNum(inviteRecommendUser.getNormalUserNum()-1);
}
//邀请人直推用户信息中的幼苗用户数量为+1
inviteRecommendUser.setSeedlingNum(inviteRecommendUser.getSeedlingNum()+1);
recommendUserMapper.updateById(inviteRecommendUser);
//团队用户表数据维护
teamUserInfoNormalToSeed(inviteUserId);
//用户升级成功时,进行邀请人等级自查是否达到升级条件
userLevelUpgrade(inviteUserId);
}
}
//用户等级升级为青铜树 2
//当前用户等级为幼苗用户(1)时 且当前用户直推人数中幼苗等级>=5人<20人时
if (userLevel == 1 && recommendUser.getSeedlingNum() >= 5 && recommendUser.getSeedlingNum() < 20){
user.setUserLevel(2);
usersMapper.updateById(user);
//用户被邀请码为 1 时 该用户没有邀请人
if ("1".equals(user.getBeInvitedCode())){
return;
} else {
//若邀请人直推用户信息中的幼苗用户数量为0是则不用变化,否则幼苗用户数量-1
if(inviteRecommendUser.getSeedlingNum() == 0){
inviteRecommendUser.setSeedlingNum(inviteRecommendUser.getSeedlingNum());
}else {
//幼苗用户-1
inviteRecommendUser.setSeedlingNum(inviteRecommendUser.getSeedlingNum()-1);
}
//邀请人直推用户信息中的青铜树用户数量为+1
inviteRecommendUser.setBronzeTreeNum(inviteRecommendUser.getBronzeTreeNum()+1);
recommendUserMapper.updateById(inviteRecommendUser);
//团队用户表数据维护
teamUserInfoSeedToBronze(inviteUserId);
//用户升级成功时,进行邀请人等级自查是否达到升级条件
userLevelUpgrade(inviteUserId);
}
}
//用户等级升级为白银树 3
if(userLevel == 2 && recommendUser.getSeedlingNum() >= 20 && recommendUser.getSeedlingNum() < 50){
user.setUserLevel(3);
usersMapper.updateById(user);
//用户被邀请码为 1 时 该用户没有邀请人
if ("1".equals(user.getBeInvitedCode())){
return;
}else {
//推荐人直推信息表数据维护
//若邀请人直推用户信息中的青铜树用户数量为0是则不用变化,否则青铜树用户数量-1
if(inviteRecommendUser.getBronzeTreeNum() == 0){
inviteRecommendUser.setBronzeTreeNum(inviteRecommendUser.getBronzeTreeNum());
}else {
//青铜树用户-1
inviteRecommendUser.setBronzeTreeNum(inviteRecommendUser.getBronzeTreeNum() - 1);
}
//邀请人直推用户信息中的白银用户数量 + 1
inviteRecommendUser.setSilverTreeNum(inviteRecommendUser.getSilverTreeNum()+1);
recommendUserMapper.updateById(inviteRecommendUser);
//团队用户表数据维护
teamUserInfoBronzeToSilver(inviteUserId);
//用户升级成功时,进行邀请人等级自查是否达到升级条件
userLevelUpgrade(inviteUserId);
}
}
//用户等级升级为黄金树 4
//:todo 条件:团队中青铜树数量>=20
if (userLevel == 3 && recommendUser.getSeedlingNum() >=50
&& recommendUser.getSilverTreeNum() >= 4
&& teamUserInfoMapperByUserId.getBronzeTreeNum() >= 20){
user.setUserLevel(4);
usersMapper.updateById(user);
//用户被邀请码为 1 时 该用户没有邀请人
if ("1".equals(user.getBeInvitedCode())){
return;
}else {
//推荐人直推信息表数据维护
//若邀请人直推用户信息中的白银树用户数量为0是则不用变化,否则白银树用户数量-1
if(inviteRecommendUser.getSilverTreeNum() == 0){
inviteRecommendUser.setSilverTreeNum(inviteRecommendUser.getSilverTreeNum());
}else {
//白银树用户-1
inviteRecommendUser.setSilverTreeNum(inviteRecommendUser.getSilverTreeNum() - 1);
}
//邀请人直推用户信息中的黄金用户数量 + 1
inviteRecommendUser.setGoldTreeNum(inviteRecommendUser.getGoldTreeNum() + 1);
recommendUserMapper.updateById(inviteRecommendUser);
//团队用户表数据维护
teamUserInfoSilverToGoldTree(inviteUserId);
//用户升级成功时,进行邀请人等级自查是否达到升级条件
userLevelUpgrade(inviteUserId);
}
}
//用户等级级升级为农场主 5
//:todo 条件:团队中白银树数量>=40
if (userLevel == 4 && recommendUser.getSeedlingNum() >= 70
&& recommendUser.getGoldTreeNum() >= 5
&& teamUserInfoMapperByUserId.getSilverTreeNum() >= 40){
user.setUserLevel(5);
usersMapper.updateById(user);
//用户被邀请码为 1 时 该用户没有邀请人
if ("1".equals(user.getBeInvitedCode())){
return;
}else {
//推荐人直推信息表数据维护
//若邀请人直推用户信息中的黄金树用户数量为0是则不用变化,否则黄金树用户数量-1
if(inviteRecommendUser.getGoldTreeNum() == 0){
inviteRecommendUser.setGoldTreeNum(inviteRecommendUser.getGoldTreeNum());
}else {
//黄金树用户-1
inviteRecommendUser.setGoldTreeNum(inviteRecommendUser.getGoldTreeNum() - 1);
}
//邀请人直推用户信息中的农场主用户数量 + 1
inviteRecommendUser.setGoldTreeNum(inviteRecommendUser.getFarmerNum() + 1);
recommendUserMapper.updateById(inviteRecommendUser);
//团队用户表数据维护
teamUserInfoGoldTreeToFarmer(inviteUserId);
//用户升级成功时,进行邀请人等级自查是否达到升级条件
userLevelUpgrade(inviteUserId);
}
}
//用户等级升级为森林之星 6
// todo: 条件:团队中白银树数量>=70 && 条件:团队中黄金树数量>=30
if (userLevel == 5 && recommendUser.getSeedlingNum() >= 80
&& recommendUser.getFarmerNum() >= 5
&& teamUserInfoMapperByUserId.getSilverTreeNum() >= 70
&& teamUserInfoMapperByUserId.getGoldTreeNum() >= 30){
user.setUserLevel(6);
usersMapper.updateById(user);
//用户被邀请码为 1 时 该用户没有邀请人
if ("1".equals(user.getBeInvitedCode())){
return;
}else {
//推荐人直推信息表数据维护
//若邀请人直推用户信息中的农场主用户数量为0是则不用变化,否则农场主用户数量-1
if(inviteRecommendUser.getFarmerNum() == 0){
inviteRecommendUser.setFarmerNum(inviteRecommendUser.getFarmerNum());
}else {
//农场主用户-1
inviteRecommendUser.setFarmerNum(inviteRecommendUser.getFarmerNum() - 1);
}
//邀请人直推用户信息中的森林之星用户数量 + 1
inviteRecommendUser.setForestStartNum(inviteRecommendUser.getForestStartNum() + 1);
recommendUserMapper.updateById(inviteRecommendUser);
//团队用户表数据维护
teamUserInfoFarmerToForestStart(inviteUserId);
//用户升级成功时,进行邀请人等级自查是否达到升级条件
userLevelUpgrade(inviteUserId);
}
}
//用户等级升级为西田森合伙人 7
//:todo 条件:团队中白银树数量>=90 && 条件:团队中黄金树数量>=50 条件:团队中农场主数量>=30
if (userLevel == 6 && recommendUser.getSeedlingNum() >= 100
&& recommendUser.getForestStartNum() >= 1
&& teamUserInfoMapperByUserId.getSilverTreeNum() >= 90
&& teamUserInfoMapperByUserId.getFarmerNum() >= 30){
user.setUserLevel(7);
usersMapper.updateById(user);
//用户被邀请码为 1 时 该用户没有邀请人
if ("1".equals(user.getBeInvitedCode())){
return;
}else {
//推荐人直推信息表数据维护
//若邀请人直推用户信息中的森林之星用户数量为0是则不用变化,否则森林之星用户数量-1
if(inviteRecommendUser.getForestStartNum() == 0){
inviteRecommendUser.setForestStartNum(inviteRecommendUser.getForestStartNum());
}else {
//森林之星用户-1
inviteRecommendUser.setForestStartNum(inviteRecommendUser.getForestStartNum() - 1);
}
//邀请人直推用户信息中的西田森合伙人用户数量 + 1
inviteRecommendUser.setPartnerNum(inviteRecommendUser.getPartnerNum() + 1);
recommendUserMapper.updateById(inviteRecommendUser);
//团队用户表数据维护
teamUserInfoForestStartToPartner(inviteUserId);
//用户升级成功时,进行邀请人等级自查是否达到升级条件
userLevelUpgrade(inviteUserId);
}
}
}
/**
* 团队用户表数据维护(森林之星用户升级至西田森合伙人用户时)
* @param inviteUserId 邀请人userid
*/
private void teamUserInfoForestStartToPartner(String inviteUserId) {
//邀请人的团队信息表对象
TeamUserInfo teamNumInfoBuyId = teamUserInfoMapper.getByUserId(inviteUserId);
//邀请人的用户表对象
User byUserId = usersMapper.getByUserId(teamNumInfoBuyId.getUserId());
//通过邀请人的用户信息获取邀请人的推荐人邀请码
String beinvitedCodeUserId = usersMapper.getByBeInvitedCode(byUserId.getBeInvitedCode()).getUserId();
//邀请人团队信息表中森林之星用户数量 = 0 时,森林之星用户数量不用变化,否则森林之星用户数量 - 1
if(teamNumInfoBuyId.getForestStartNum() == 0){
teamNumInfoBuyId.setForestStartNum(teamNumInfoBuyId.getForestStartNum());
}else {
//森林之星用户数量 - 1
teamNumInfoBuyId.setForestStartNum(teamNumInfoBuyId.getForestStartNum() - 1);
}
//西田森合伙人用户数量 + 1
teamNumInfoBuyId.setPartnerNum(teamNumInfoBuyId.getPartnerNum() + 1);
teamUserInfoMapper.updateById(teamNumInfoBuyId);
if("1".equals(byUserId.getBeInvitedCode())){
return;
}
teamUserInfoForestStartToPartner(beinvitedCodeUserId);
}
/**
* 团队用户表数据维护(农场主用户升级至森林之星用户时)
* @param inviteUserId 邀请人userid
*/
private void teamUserInfoFarmerToForestStart(String inviteUserId) {
//邀请人的团队信息表对象
TeamUserInfo teamNumInfoBuyId = teamUserInfoMapper.getByUserId(inviteUserId);
//邀请人的用户表对象
User byUserId = usersMapper.getByUserId(teamNumInfoBuyId.getUserId());
//通过邀请人的用户信息获取邀请人的推荐人邀请码
String beinvitedCodeUserId = usersMapper.getByBeInvitedCode(byUserId.getBeInvitedCode()).getUserId();
//邀请人团队信息表中农场主用户数量 = 0 时,农场主用户数量不用变化,否则农场主用户数量 - 1
if(teamNumInfoBuyId.getFarmerNum() == 0){
teamNumInfoBuyId.setFarmerNum(teamNumInfoBuyId.getFarmerNum());
}else {
//农场主用户数量 - 1
teamNumInfoBuyId.setFarmerNum(teamNumInfoBuyId.getFarmerNum() - 1);
}
//森林之星用户数量 + 1
teamNumInfoBuyId.setForestStartNum(teamNumInfoBuyId.getForestStartNum() + 1);
teamUserInfoMapper.updateById(teamNumInfoBuyId);
if("1".equals(byUserId.getBeInvitedCode())){
return;
}
//递归向上修改团队用户信息表
teamUserInfoFarmerToForestStart(beinvitedCodeUserId);
}
/**
* 团队用户表数据维护(黄金树用户升级至农场主用户时)
* @param inviteUserId 邀请人userid
*/
private void teamUserInfoGoldTreeToFarmer(String inviteUserId) {
//邀请人的团队信息表对象
TeamUserInfo teamNumInfoBuyId = teamUserInfoMapper.getByUserId(inviteUserId);
//邀请人的用户表对象
User byUserId = usersMapper.getByUserId(teamNumInfoBuyId.getUserId());
//通过邀请人的用户信息获取邀请人的推荐人邀请码
String beinvitedCodeUserId = usersMapper.getByBeInvitedCode(byUserId.getBeInvitedCode()).getUserId();
//邀请人团队信息表中黄金树用户数量 = 0 时,黄金树用户数量不用变化,否则黄金树用户数量 - 1
if(teamNumInfoBuyId.getGoldTreeNum() == 0){
teamNumInfoBuyId.setGoldTreeNum(teamNumInfoBuyId.getGoldTreeNum());
}else {
//黄金树用户数量 - 1
teamNumInfoBuyId.setGoldTreeNum(teamNumInfoBuyId.getGoldTreeNum() - 1);
}
//农场主数量 + 1
teamNumInfoBuyId.setFarmerNum(teamNumInfoBuyId.getFarmerNum() + 1);
teamUserInfoMapper.updateById(teamNumInfoBuyId);
if("1".equals(byUserId.getBeInvitedCode())){
return;
}
//递归向上修改团队用户信息表
teamUserInfoGoldTreeToFarmer(beinvitedCodeUserId);
}
/**
* 团队用户表数据维护(白银树用户升级至黄金树用户时)
* @param inviteUserId 邀请人userid
*/
private void teamUserInfoSilverToGoldTree(String inviteUserId) {
//邀请人的团队信息表对象
TeamUserInfo teamNumInfoBuyId = teamUserInfoMapper.getByUserId(inviteUserId);
//邀请人的用户表对象
User byUserId = usersMapper.getByUserId(teamNumInfoBuyId.getUserId());
//通过邀请人的用户信息获取邀请人的推荐人邀请码
String beinvitedCodeUserId = usersMapper.getByBeInvitedCode(byUserId.getBeInvitedCode()).getUserId();
//邀请人团队信息表中白银树用户数量 = 0 时,白银树用户数量不用变化,否则白银树用户数量 - 1
if(teamNumInfoBuyId.getSilverTreeNum() == 0){
teamNumInfoBuyId.setSilverTreeNum(teamNumInfoBuyId.getSilverTreeNum());
}else {
//白银树用户数量 - 1
teamNumInfoBuyId.setSilverTreeNum(teamNumInfoBuyId.getSilverTreeNum()-1);
}
//黄金树用户数量 - 1
teamNumInfoBuyId.setGoldTreeNum(teamNumInfoBuyId.getGoldTreeNum() + 1);
teamUserInfoMapper.updateById(teamNumInfoBuyId);
if("1".equals(byUserId.getBeInvitedCode())){
return;
}
//递归向上修改团队用户信息表
teamUserInfoSilverToGoldTree(beinvitedCodeUserId);
}
/**
* 团队用户表数据维护(青铜树用户升级至白银树用户时)
* @param inviteUserId 邀请人userid
*/
private void teamUserInfoBronzeToSilver(String inviteUserId) {
//邀请人的团队信息表对象
TeamUserInfo teamNumInfoBuyId = teamUserInfoMapper.getByUserId(inviteUserId);
//邀请人的用户表对象
User byUserId = usersMapper.getByUserId(teamNumInfoBuyId.getUserId());
//通过邀请人的用户信息获取邀请人的推荐人邀请码
String beinvitedCodeUserId = usersMapper.getByBeInvitedCode(byUserId.getBeInvitedCode()).getUserId();
//邀请人团队信息表中青铜树用户数量 = 0 时,青铜树用户数量不用变化,否则青铜树用户数量 - 1
if(teamNumInfoBuyId.getBronzeTreeNum() == 0){
teamNumInfoBuyId.setBronzeTreeNum(teamNumInfoBuyId.getBronzeTreeNum());
}else {
//青铜树用户数量 - 1
teamNumInfoBuyId.setBronzeTreeNum(teamNumInfoBuyId.getBronzeTreeNum()-1);
}
//白银树用户数量+1
teamNumInfoBuyId.setSilverTreeNum(teamNumInfoBuyId.getSilverTreeNum() + 1);
teamUserInfoMapper.updateById(teamNumInfoBuyId);
if("1".equals(byUserId.getBeInvitedCode())){
return;
}
//递归向上修改团队用户信息表
teamUserInfoBronzeToSilver(beinvitedCodeUserId);
}
/**
* 团队用户表数据维护(幼苗用户升级至青铜用户时)
* @param inviteUserId 邀请人userid
*/
private void teamUserInfoSeedToBronze(String inviteUserId) {
//邀请人的团队信息表对象
TeamUserInfo teamNumInfoBuyId = teamUserInfoMapper.getByUserId(inviteUserId);
//邀请人的用户表对象
User byUserId = usersMapper.getByUserId(teamNumInfoBuyId.getUserId());
//通过邀请人的用户信息获取邀请人的推荐人邀请码
String beinvitedCodeUserId = usersMapper.getByBeInvitedCode(byUserId.getBeInvitedCode()).getUserId();
//邀请人团队信息表中幼苗用户数量 = 0 时,幼苗用户数量不用变化,否则幼苗用户数量 - 1
if(teamNumInfoBuyId.getSeedlingNum() == 0){
teamNumInfoBuyId.setSeedlingNum(teamNumInfoBuyId.getSeedlingNum());
}else {
//幼苗用户数量-1
teamNumInfoBuyId.setSeedlingNum(teamNumInfoBuyId.getSeedlingNum()-1);
}
//邀请人的团队用户信息表中青铜树数量 + 1
teamNumInfoBuyId.setBronzeTreeNum(teamNumInfoBuyId.getBronzeTreeNum() + 1);
teamUserInfoMapper.updateById(teamNumInfoBuyId);
if("1".equals(byUserId.getBeInvitedCode())){
return;
}
//递归向上修改团队用户信息表
teamUserInfoSeedToBronze(beinvitedCodeUserId);
}
/**
* 团队用户表数据维护(普通用户升级至幼苗用户时)
* @param inviteUserId 邀请人userid
*/
private void teamUserInfoNormalToSeed(String inviteUserId){
//邀请人的团队信息表对象
TeamUserInfo teamNumInfoBuyId = teamUserInfoMapper.getByUserId(inviteUserId);
//邀请人的用户表对象
User intiveUserByUserId = usersMapper.getByUserId(teamNumInfoBuyId.getUserId());
//通过邀请人的用户信息获取邀请人的推荐人邀请码
String beinvitedCodeUserId = usersMapper.getByBeInvitedCode(intiveUserByUserId.getBeInvitedCode()).getUserId();
//邀请人团队信息表中普通用户数量 = 0 时,普通用户数量不用变化,否则普通用户数量 - 1
if(teamNumInfoBuyId.getNormalUserNum() == 0){
teamNumInfoBuyId.setNormalUserNum(teamNumInfoBuyId.getNormalUserNum());
}else {
//普通用户数量-1
teamNumInfoBuyId.setNormalUserNum(teamNumInfoBuyId.getNormalUserNum()-1);
}
//邀请人的团队用户信息表中幼苗数量 + 1
teamNumInfoBuyId.setSeedlingNum(teamNumInfoBuyId.getSeedlingNum() + 1);
teamUserInfoMapper.updateById(teamNumInfoBuyId);
if("1".equals(intiveUserByUserId.getBeInvitedCode())){
return;
}
//递归向上修改团队用户信息表
teamUserInfoNormalToSeed(beinvitedCodeUserId);
}
}
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