Commit 88406dcc authored by codezwjava's avatar codezwjava

培育奖功能实现

parent 327b54d9
package cn.wisenergy.mapper;
import cn.wisenergy.model.app.CultivatingPrizeInfo;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import org.apache.ibatis.annotations.Param;
import java.math.BigDecimal;
/**
* 培育奖详情记录
* @author zw
*/
public interface CultivatingPrizeInfoMapper extends BaseMapper<CultivatingPrizeInfo> {
CultivatingPrizeInfo getOneByUserId(String userId);
}
package cn.wisenergy.mapper;
import cn.wisenergy.model.app.CultivatingPrize;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import java.math.BigDecimal;
/**
* 培育奖金额对应表
* @author zw
*/
public interface CultivatingPrizeMapper extends BaseMapper<CultivatingPrize> {
/**
* 根据用户等级获取培育奖对应金额
* @return
*/
CultivatingPrize getcultivatingPrizeByUserLevel(int userLevel);
}
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper namespace="cn.wisenergy.mapper.CultivatingPrizeInfoMapper">
<resultMap id="bankMap" type="cn.wisenergy.model.app.CultivatingPrizeInfo">
<id column="id" property="id"/>
<result column="user_id" property="userId"/>
<result column="seedling" property="seedling"/>
<result column="bronze_tree" property="bronzeTree"/>
<result column="silver_tree" property="silverTree"/>
<result column="gold_tree" property="goldTree"/>
<result column="farmer" property="farmer"/>
<result column="forest_start" property="forestStart"/>
<result column="partner" property="partner"/>
<result column="create_time" property="createTime"/>
<result column="update_time" property="updateTime"/>
</resultMap>
<sql id="table">
cultivating_prize_info
</sql>
<sql id="cols_all">
id,
<include refid="cols_exclude_id"/>
</sql>
<sql id="cols_exclude_id">
user_id,seedling,bronze_tree,silver_tree,gold_tree,farmer,forest_start,partner,create_time,update_time
</sql>
<sql id="vals">
#{userId},#{seedling},#{bronzeTree},#{silverTree},#{goldTree},#{farmer},#{forestStart},#{partner},now(),now()
</sql>
<sql id="updateCondition">
<if test="userId != null">user_id = #{userId},</if>
<if test="seedling != null">seedling = #{seedling},</if>
<if test="bronzeTree != null">bronze_tree = #{bronzeTree},</if>
<if test="silverTree != null">silver_tree = #{silverTree},</if>
<if test="goldTree != null">gold_tree = #{goldTree},</if>
<if test="farmer != null">farmer = #{farmer},</if>
<if test="forestStart != null">forest_start = #{forestStart},</if>
<if test="partner != null">partner = #{partner},</if>
update_time =now()
</sql>
<sql id="criteria">
<if test="id != null">id = #{id}</if>
<if test="userId != null">and user_id = #{userId}</if>
<if test="seedling != null">and seedling = #{seedling}</if>
<if test="bronzeTree != null">and bronze_tree = #{bronzeTree}</if>
<if test="silverTree != null">and silver_tree = #{silverTree}</if>
<if test="goldTree != null">and gold_tree = #{goldTree}</if>
<if test="farmer != null">and farmer = #{farmer}</if>
<if test="forestStart != null">and forest_start = #{forestStart}</if>
<if test="partner != null">and partner = #{partner}</if>
<if test="createTime != null">and create_time &gt;= #{createTime}</if>
<if test="updateTime != null">and #{updateTime} &gt;= update_time</if>
</sql>
<select id="getOneByUserId" resultType="cn.wisenergy.model.app.CultivatingPrizeInfo">
select
<include refid="cols_all"/>
from
<include refid="table"/>
<where>
user_id = #{userId}
</where>
</select>
</mapper>
\ No newline at end of file
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper namespace="cn.wisenergy.mapper.CultivatingPrizeMapper">
<resultMap id="bankMap" type="cn.wisenergy.model.app.CultivatingPrize">
<id column="id" property="id"/>
<result column="user_level" property="userLevel"/>
<result column="cultivating_prize" property="cultivatingPrize"/>
<result column="create_time" property="createTime"/>
<result column="update_time" property="updateTime"/>
</resultMap>
<sql id="table">
cultivating_prize
</sql>
<sql id="cols_all">
id,
<include refid="cols_exclude_id"/>
</sql>
<sql id="cols_exclude_id">
user_level,cultivating_prize,create_time,update_time
</sql>
<sql id="vals">
#{userLevel},#{cultivatingPrize},now(),now()
</sql>
<sql id="updateCondition">
<if test="userLevel != null">user_level = #{userLevel},</if>
<if test="cultivatingPrize != null">cultivating_prize = #{cultivatingPrize},</if>
update_time =now()
</sql>
<sql id="criteria">
<if test="id != null">id = #{id}</if>
<if test="userLevel != null">and user_level = #{userLevel}</if>
<if test="cultivatingPrize != null">and cultivating_prize = #{cultivatingPrize}</if>
<if test="createTime != null">and create_time &gt;= #{createTime}</if>
<if test="updateTime != null">and #{updateTime} &gt;= update_time</if>
</sql>
<select id="getcultivatingPrizeByUserLevel" resultType="cn.wisenergy.model.app.CultivatingPrize">
select
<include refid="cols_all"/>
from
<include refid="table"/>
<where>
user_level = #{userLevel}
</where>
</select>
</mapper>
\ No newline at end of file
package cn.wisenergy.model.app;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import java.io.Serializable;
import java.math.BigDecimal;
import java.util.Date;
/**
* @author zw
* @ Description: 培育奖实体类
* @ Author : zw
* @ Date : 2021/3/5 14:12
*/
@Data
@ApiModel(value = "CultivatingPrize")
public class CultivatingPrize implements Serializable {
private static final long serialVersionUID = 1506184523154720202L;
/**
* 主键id
*/
@ApiModelProperty(name = "id", value = "主键id")
private int id;
/**
* 用户等级
*/
@ApiModelProperty(name = "cultivatingPrize", value = "用户等级")
private int userLevel;
/**
* 培育奖金额
*/
@ApiModelProperty(name = "cultivatingPrize", value = "培育奖金额")
private BigDecimal cultivatingPrize;
/**
* 创建时间
*/
@ApiModelProperty(name = "createTime", value = "创建时间")
private Date createTime;
/**
* 修改时间
*/
@ApiModelProperty(name = "updateTime", value = "修改时间")
private Date updateTime;
}
package cn.wisenergy.model.app;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import java.io.Serializable;
import java.util.Date;
/**
* @author zw
* @ Description: 培育奖记录
* @ Author : zw
* @ Date : 2021/3/5 14:12
*/
@Data
@ApiModel(value = "CultivatingPrizeInfo")
public class CultivatingPrizeInfo implements Serializable {
private static final long serialVersionUID = 8336018752382673469L;
/**
* 主键id
*/
@ApiModelProperty(name = "id", value = "主键id")
private int id;
/**
* 用户id
*/
@ApiModelProperty(name = "userId", value = "用户id")
private String userId;
/**
* 幼苗状态培育奖记录 0:表示上级用户没有获得过当前等级的培育奖
* 1: 表示上级用户已经获得过当前等级的培育奖
*/
@ApiModelProperty(name = "seedling", value = "幼苗等级培育奖记录")
private int seedling;
/**
* 青铜树等级培育奖记录0:表示上级用户没有获得过当前等级的培育奖
* 1: 表示上级用户已经获得过当前等级的培育奖
*/
@ApiModelProperty(name = "bronze_tree", value = "青铜树等级培育奖记录")
private int bronzeTree;
/**
* 白银树等级培育奖记录0:表示上级用户没有获得过当前等级的培育奖
* 1: 表示上级用户已经获得过当前等级的培育奖
*/
@ApiModelProperty(name = "silver_tree", value = "白银树等级培育奖记录")
private int silverTree;
/**
* 黄金树等级培育奖记录0:表示上级用户没有获得过当前等级的培育奖
* 1: 表示上级用户已经获得过当前等级的培育奖
*/
@ApiModelProperty(name = "gold_tree", value = "黄金树等级培育奖记录")
private int goldTree;
/**
* 农场主等级培育奖记录0:表示上级用户没有获得过当前等级的培育奖
* 1: 表示上级用户已经获得过当前等级的培育奖
*/
@ApiModelProperty(name = "forest_start", value = "农场主等级培育奖记录")
private int farmer;
/**
* 森林之星等级培育奖记录0:表示上级用户没有获得过当前等级的培育奖
* 1: 表示上级用户已经获得过当前等级的培育奖
*/
@ApiModelProperty(name = "forest_start", value = "森林之星等级培育奖记录")
private int forestStart;
/**
* 西田森合伙人等级培育奖记录0:表示上级用户没有获得过当前等级的培育奖
* 1: 表示上级用户已经获得过当前等级的培育奖
*/
@ApiModelProperty(name = "partner", value = "西田森合伙人等级培育奖记录")
private int partner;
/**
* 创建时间
*/
@ApiModelProperty(name = "createTime", value = "创建时间")
private Date createTime;
/**
* 修改时间
*/
@ApiModelProperty(name = "updateTime", value = "修改时间")
private Date updateTime;
}
package cn.wisenergy.model.vo; package cn.wisenergy.model.vo;
import io.swagger.annotations.ApiModel; import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data; import lombok.Data;
import java.math.BigDecimal; import java.math.BigDecimal;
...@@ -12,16 +13,19 @@ public class UserAndRecommendVo { ...@@ -12,16 +13,19 @@ public class UserAndRecommendVo {
/** /**
* 用户id * 用户id
*/ */
@ApiModelProperty(value = "用户id", name = "userId")
private String userId; private String userId;
/** /**
* 当月消费金额 * 当月消费金额
*/ */
@ApiModelProperty(value = "用户本月新增业绩", name = "monthyCount")
private BigDecimal monthyCount; private BigDecimal monthyCount;
/** /**
* 累计消费金额 * 累计消费金额
*/ */
@ApiModelProperty(value = "用户累计业绩", name = "historyCount")
private BigDecimal historyCount; private BigDecimal historyCount;
} }
package cn.wisenergy.service.app.impl; package cn.wisenergy.service.app.impl;
import cn.wisenergy.mapper.RecommendUserMapper; import cn.wisenergy.mapper.*;
import cn.wisenergy.mapper.TeamUserInfoMapper; import cn.wisenergy.model.app.*;
import cn.wisenergy.mapper.UsersMapper; import cn.wisenergy.model.enums.TradeRecordEnum;
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 cn.wisenergy.service.app.UserLevelService;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import lombok.extern.slf4j.Slf4j; import lombok.extern.slf4j.Slf4j;
import org.springframework.beans.factory.annotation.Autowired; import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.data.annotation.Id;
import org.springframework.stereotype.Service; import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional; import org.springframework.transaction.annotation.Transactional;
...@@ -34,6 +32,18 @@ public class UserLevelServiceImlp extends ServiceImpl<UsersMapper,User> implemen ...@@ -34,6 +32,18 @@ public class UserLevelServiceImlp extends ServiceImpl<UsersMapper,User> implemen
@Autowired @Autowired
private TeamUserInfoMapper teamUserInfoMapper; private TeamUserInfoMapper teamUserInfoMapper;
@Autowired
private TradeRecordMapper tradeRecordMapper;
@Autowired
private AccountMapper accountMapper;
@Autowired
private CultivatingPrizeMapper cultivatingPrizeMapper;
@Autowired
private CultivatingPrizeInfoMapper cultivatingPrizeInfoMapper;
@Override @Override
@Transactional @Transactional
public void userLevelUpgrade(String userId) { public void userLevelUpgrade(String userId) {
...@@ -49,34 +59,42 @@ public class UserLevelServiceImlp extends ServiceImpl<UsersMapper,User> implemen ...@@ -49,34 +59,42 @@ public class UserLevelServiceImlp extends ServiceImpl<UsersMapper,User> implemen
Integer userLevel = user.getUserLevel(); Integer userLevel = user.getUserLevel();
//当前用户的邀请码 //当前用户的邀请码
String beInvitedCode = user.getBeInvitedCode(); String beInvitedCode = user.getBeInvitedCode();
//
String inviteUserId = "";
RecommendUser inviteRecommendUser = new RecommendUser();
//若当前用户的推荐人邀请码是 “1” 时 则当前用户没有邀请人
if (!"1".equals(beInvitedCode)) {
//通过当前用户推荐人邀请码获取邀请人的userId //通过当前用户推荐人邀请码获取邀请人的userId
String inviteUserId = usersMapper.getByBeInvitedCode(beInvitedCode).getUserId(); inviteUserId = usersMapper.getByBeInvitedCode(beInvitedCode).getUserId();
//邀请人的直推用户信息 //邀请人的直推用户信息
RecommendUser inviteRecommendUser = recommendUserMapper.getByUserId(inviteUserId); inviteRecommendUser = recommendUserMapper.getByUserId(inviteUserId);
}
//用户等级升级为幼苗 1 //用户等级升级为幼苗 1
//若当前用户等级为0(普通用户)且跨境额度(业绩消费金额)>= 3980 进行升级0-->1 //若当前用户等级为0(普通用户)且跨境额度(业绩消费金额)>= 3980 进行升级0-->1
//todo:根据业绩去计算 查一次表获取业绩 //todo:根据业绩去计算 查一次表获取业绩
if (userLevel == 0 && crossBorderLine.intValue() >= 3980){ if (userLevel == 0 && crossBorderLine.intValue() >= 3980) {
user.setUserLevel(1); user.setUserLevel(1);
usersMapper.updateById(user); usersMapper.edit(user);
//用户推荐人邀请码为 1 时 该用户没有邀请人 //用户推荐人邀请码为 1 时 该用户没有邀请人
if ("1".equals(beInvitedCode)){ if ("1".equals(beInvitedCode)) {
return ; return;
}else { } else {
//推荐人直推信息表数据维护 //推荐人直推信息表数据维护
//若邀请人直推用户信息中的普通用户数量为0是则不用变化,否则普通用户数量-1 //若邀请人直推用户信息中的普通用户数量为0是则不用变化,否则普通用户数量-1
if(inviteRecommendUser.getNormalUserNum() == 0){ if (inviteRecommendUser.getNormalUserNum() == 0) {
inviteRecommendUser.setNormalUserNum(inviteRecommendUser.getNormalUserNum()); inviteRecommendUser.setNormalUserNum(inviteRecommendUser.getNormalUserNum());
}else { } else {
//普通用户-1 //普通用户-1
inviteRecommendUser.setNormalUserNum(inviteRecommendUser.getNormalUserNum()-1); inviteRecommendUser.setNormalUserNum(inviteRecommendUser.getNormalUserNum() - 1);
} }
//邀请人直推用户信息中的幼苗用户数量为+1 //邀请人直推用户信息中的幼苗用户数量为+1
inviteRecommendUser.setSeedlingNum(inviteRecommendUser.getSeedlingNum()+1); inviteRecommendUser.setSeedlingNum(inviteRecommendUser.getSeedlingNum() + 1);
recommendUserMapper.updateById(inviteRecommendUser); recommendUserMapper.updateById(inviteRecommendUser);
//团队用户表数据维护 //团队用户表数据维护
teamUserInfoNormalToSeed(inviteUserId); teamUserInfoNormalToSeed(inviteUserId);
//上级用户获得幼苗等级的培育奖
int level = 1;
cultivatingPrizeToInvitedUser(userId, inviteUserId, level);
//用户升级成功时,进行邀请人等级自查是否达到升级条件 //用户升级成功时,进行邀请人等级自查是否达到升级条件
userLevelUpgrade(inviteUserId); userLevelUpgrade(inviteUserId);
} }
...@@ -84,50 +102,57 @@ public class UserLevelServiceImlp extends ServiceImpl<UsersMapper,User> implemen ...@@ -84,50 +102,57 @@ public class UserLevelServiceImlp extends ServiceImpl<UsersMapper,User> implemen
} }
//用户等级升级为青铜树 2 //用户等级升级为青铜树 2
//当前用户等级为幼苗用户(1)时 且当前用户直推人数中幼苗等级>=5人<20人时 //当前用户等级为幼苗用户(1)时 且当前用户直推人数中幼苗等级>=5人<20人时
if (userLevel == 1 && recommendUser.getSeedlingNum() >= 5 && recommendUser.getSeedlingNum() < 20){ if (userLevel == 1 && recommendUser.getSeedlingNum() >= 5 && recommendUser.getSeedlingNum() < 20) {
//用户升级成功
user.setUserLevel(2); user.setUserLevel(2);
usersMapper.updateById(user); usersMapper.edit(user);
//用户被邀请码为 1 时 该用户没有邀请人 //用户被邀请码为 1 时 该用户没有邀请人
if ("1".equals(user.getBeInvitedCode())){ if ("1".equals(user.getBeInvitedCode())) {
return; return;
} else { } else {
//若邀请人直推用户信息中的幼苗用户数量为0是则不用变化,否则幼苗用户数量-1 //若邀请人直推用户信息中的幼苗用户数量为0是则不用变化,否则幼苗用户数量-1
if(inviteRecommendUser.getSeedlingNum() == 0){ if (inviteRecommendUser.getSeedlingNum() == 0) {
inviteRecommendUser.setSeedlingNum(inviteRecommendUser.getSeedlingNum()); inviteRecommendUser.setSeedlingNum(inviteRecommendUser.getSeedlingNum());
}else { } else {
//幼苗用户-1 //幼苗用户-1
inviteRecommendUser.setSeedlingNum(inviteRecommendUser.getSeedlingNum()-1); inviteRecommendUser.setSeedlingNum(inviteRecommendUser.getSeedlingNum() - 1);
} }
//邀请人直推用户信息中的青铜树用户数量为+1 //邀请人直推用户信息中的青铜树用户数量为+1
inviteRecommendUser.setBronzeTreeNum(inviteRecommendUser.getBronzeTreeNum()+1); inviteRecommendUser.setBronzeTreeNum(inviteRecommendUser.getBronzeTreeNum() + 1);
recommendUserMapper.updateById(inviteRecommendUser); recommendUserMapper.updateById(inviteRecommendUser);
//团队用户表数据维护 //团队用户表数据维护
teamUserInfoSeedToBronze(inviteUserId); teamUserInfoSeedToBronze(inviteUserId);
//上级用户获得幼苗等级的培育奖
int level = 2;
cultivatingPrizeToInvitedUser(userId, inviteUserId, level);
//用户升级成功时,进行邀请人等级自查是否达到升级条件 //用户升级成功时,进行邀请人等级自查是否达到升级条件
userLevelUpgrade(inviteUserId); userLevelUpgrade(inviteUserId);
} }
} }
//用户等级升级为白银树 3 //用户等级升级为白银树 3
if(userLevel == 2 && recommendUser.getSeedlingNum() >= 20 && recommendUser.getSeedlingNum() < 50){ if (userLevel == 2 && recommendUser.getSeedlingNum() >= 20 && recommendUser.getSeedlingNum() < 50) {
user.setUserLevel(3); user.setUserLevel(3);
usersMapper.updateById(user); usersMapper.edit(user);
//用户被邀请码为 1 时 该用户没有邀请人 //用户被邀请码为 1 时 该用户没有邀请人
if ("1".equals(user.getBeInvitedCode())){ if ("1".equals(user.getBeInvitedCode())) {
return; return;
}else { } else {
//推荐人直推信息表数据维护 //推荐人直推信息表数据维护
//若邀请人直推用户信息中的青铜树用户数量为0是则不用变化,否则青铜树用户数量-1 //若邀请人直推用户信息中的青铜树用户数量为0是则不用变化,否则青铜树用户数量-1
if(inviteRecommendUser.getBronzeTreeNum() == 0){ if (inviteRecommendUser.getBronzeTreeNum() == 0) {
inviteRecommendUser.setBronzeTreeNum(inviteRecommendUser.getBronzeTreeNum()); inviteRecommendUser.setBronzeTreeNum(inviteRecommendUser.getBronzeTreeNum());
}else { } else {
//青铜树用户-1 //青铜树用户-1
inviteRecommendUser.setBronzeTreeNum(inviteRecommendUser.getBronzeTreeNum() - 1); inviteRecommendUser.setBronzeTreeNum(inviteRecommendUser.getBronzeTreeNum() - 1);
} }
//邀请人直推用户信息中的白银用户数量 + 1 //邀请人直推用户信息中的白银用户数量 + 1
inviteRecommendUser.setSilverTreeNum(inviteRecommendUser.getSilverTreeNum()+1); inviteRecommendUser.setSilverTreeNum(inviteRecommendUser.getSilverTreeNum() + 1);
recommendUserMapper.updateById(inviteRecommendUser); recommendUserMapper.updateById(inviteRecommendUser);
//团队用户表数据维护 //团队用户表数据维护
teamUserInfoBronzeToSilver(inviteUserId); teamUserInfoBronzeToSilver(inviteUserId);
//上级用户获得幼苗等级的培育奖
int level = 3;
cultivatingPrizeToInvitedUser(userId, inviteUserId, level);
//用户升级成功时,进行邀请人等级自查是否达到升级条件 //用户升级成功时,进行邀请人等级自查是否达到升级条件
userLevelUpgrade(inviteUserId); userLevelUpgrade(inviteUserId);
} }
...@@ -135,20 +160,20 @@ public class UserLevelServiceImlp extends ServiceImpl<UsersMapper,User> implemen ...@@ -135,20 +160,20 @@ public class UserLevelServiceImlp extends ServiceImpl<UsersMapper,User> implemen
} }
//用户等级升级为黄金树 4 //用户等级升级为黄金树 4
//:todo 条件:团队中青铜树数量>=20 //:todo 条件:团队中青铜树数量>=20
if (userLevel == 3 && recommendUser.getSeedlingNum() >=50 if (userLevel == 3 && recommendUser.getSeedlingNum() >= 50
&& recommendUser.getSilverTreeNum() >= 4 && recommendUser.getSilverTreeNum() >= 4
&& teamUserInfoMapperByUserId.getBronzeTreeNum() >= 20){ && teamUserInfoMapperByUserId.getBronzeTreeNum() >= 20) {
user.setUserLevel(4); user.setUserLevel(4);
usersMapper.updateById(user); usersMapper.edit(user);
//用户被邀请码为 1 时 该用户没有邀请人 //用户被邀请码为 1 时 该用户没有邀请人
if ("1".equals(user.getBeInvitedCode())){ if ("1".equals(user.getBeInvitedCode())) {
return; return;
}else { } else {
//推荐人直推信息表数据维护 //推荐人直推信息表数据维护
//若邀请人直推用户信息中的白银树用户数量为0是则不用变化,否则白银树用户数量-1 //若邀请人直推用户信息中的白银树用户数量为0是则不用变化,否则白银树用户数量-1
if(inviteRecommendUser.getSilverTreeNum() == 0){ if (inviteRecommendUser.getSilverTreeNum() == 0) {
inviteRecommendUser.setSilverTreeNum(inviteRecommendUser.getSilverTreeNum()); inviteRecommendUser.setSilverTreeNum(inviteRecommendUser.getSilverTreeNum());
}else { } else {
//白银树用户-1 //白银树用户-1
inviteRecommendUser.setSilverTreeNum(inviteRecommendUser.getSilverTreeNum() - 1); inviteRecommendUser.setSilverTreeNum(inviteRecommendUser.getSilverTreeNum() - 1);
} }
...@@ -157,6 +182,9 @@ public class UserLevelServiceImlp extends ServiceImpl<UsersMapper,User> implemen ...@@ -157,6 +182,9 @@ public class UserLevelServiceImlp extends ServiceImpl<UsersMapper,User> implemen
recommendUserMapper.updateById(inviteRecommendUser); recommendUserMapper.updateById(inviteRecommendUser);
//团队用户表数据维护 //团队用户表数据维护
teamUserInfoSilverToGoldTree(inviteUserId); teamUserInfoSilverToGoldTree(inviteUserId);
//上级用户获得幼苗等级的培育奖
int level = 4;
cultivatingPrizeToInvitedUser(userId, inviteUserId, level);
//用户升级成功时,进行邀请人等级自查是否达到升级条件 //用户升级成功时,进行邀请人等级自查是否达到升级条件
userLevelUpgrade(inviteUserId); userLevelUpgrade(inviteUserId);
} }
...@@ -165,18 +193,18 @@ public class UserLevelServiceImlp extends ServiceImpl<UsersMapper,User> implemen ...@@ -165,18 +193,18 @@ public class UserLevelServiceImlp extends ServiceImpl<UsersMapper,User> implemen
//:todo 条件:团队中白银树数量>=40 //:todo 条件:团队中白银树数量>=40
if (userLevel == 4 && recommendUser.getSeedlingNum() >= 70 if (userLevel == 4 && recommendUser.getSeedlingNum() >= 70
&& recommendUser.getGoldTreeNum() >= 5 && recommendUser.getGoldTreeNum() >= 5
&& teamUserInfoMapperByUserId.getSilverTreeNum() >= 40){ && teamUserInfoMapperByUserId.getSilverTreeNum() >= 40) {
user.setUserLevel(5); user.setUserLevel(5);
usersMapper.updateById(user); usersMapper.edit(user);
//用户被邀请码为 1 时 该用户没有邀请人 //用户被邀请码为 1 时 该用户没有邀请人
if ("1".equals(user.getBeInvitedCode())){ if ("1".equals(user.getBeInvitedCode())) {
return; return;
}else { } else {
//推荐人直推信息表数据维护 //推荐人直推信息表数据维护
//若邀请人直推用户信息中的黄金树用户数量为0是则不用变化,否则黄金树用户数量-1 //若邀请人直推用户信息中的黄金树用户数量为0是则不用变化,否则黄金树用户数量-1
if(inviteRecommendUser.getGoldTreeNum() == 0){ if (inviteRecommendUser.getGoldTreeNum() == 0) {
inviteRecommendUser.setGoldTreeNum(inviteRecommendUser.getGoldTreeNum()); inviteRecommendUser.setGoldTreeNum(inviteRecommendUser.getGoldTreeNum());
}else { } else {
//黄金树用户-1 //黄金树用户-1
inviteRecommendUser.setGoldTreeNum(inviteRecommendUser.getGoldTreeNum() - 1); inviteRecommendUser.setGoldTreeNum(inviteRecommendUser.getGoldTreeNum() - 1);
} }
...@@ -185,6 +213,9 @@ public class UserLevelServiceImlp extends ServiceImpl<UsersMapper,User> implemen ...@@ -185,6 +213,9 @@ public class UserLevelServiceImlp extends ServiceImpl<UsersMapper,User> implemen
recommendUserMapper.updateById(inviteRecommendUser); recommendUserMapper.updateById(inviteRecommendUser);
//团队用户表数据维护 //团队用户表数据维护
teamUserInfoGoldTreeToFarmer(inviteUserId); teamUserInfoGoldTreeToFarmer(inviteUserId);
//上级用户获得幼苗等级的培育奖
int level = 5;
cultivatingPrizeToInvitedUser(userId, inviteUserId, level);
//用户升级成功时,进行邀请人等级自查是否达到升级条件 //用户升级成功时,进行邀请人等级自查是否达到升级条件
userLevelUpgrade(inviteUserId); userLevelUpgrade(inviteUserId);
} }
...@@ -195,18 +226,18 @@ public class UserLevelServiceImlp extends ServiceImpl<UsersMapper,User> implemen ...@@ -195,18 +226,18 @@ public class UserLevelServiceImlp extends ServiceImpl<UsersMapper,User> implemen
if (userLevel == 5 && recommendUser.getSeedlingNum() >= 80 if (userLevel == 5 && recommendUser.getSeedlingNum() >= 80
&& recommendUser.getFarmerNum() >= 5 && recommendUser.getFarmerNum() >= 5
&& teamUserInfoMapperByUserId.getSilverTreeNum() >= 70 && teamUserInfoMapperByUserId.getSilverTreeNum() >= 70
&& teamUserInfoMapperByUserId.getGoldTreeNum() >= 30){ && teamUserInfoMapperByUserId.getGoldTreeNum() >= 30) {
user.setUserLevel(6); user.setUserLevel(6);
usersMapper.updateById(user); usersMapper.edit(user);
//用户被邀请码为 1 时 该用户没有邀请人 //用户被邀请码为 1 时 该用户没有邀请人
if ("1".equals(user.getBeInvitedCode())){ if ("1".equals(user.getBeInvitedCode())) {
return; return;
}else { } else {
//推荐人直推信息表数据维护 //推荐人直推信息表数据维护
//若邀请人直推用户信息中的农场主用户数量为0是则不用变化,否则农场主用户数量-1 //若邀请人直推用户信息中的农场主用户数量为0是则不用变化,否则农场主用户数量-1
if(inviteRecommendUser.getFarmerNum() == 0){ if (inviteRecommendUser.getFarmerNum() == 0) {
inviteRecommendUser.setFarmerNum(inviteRecommendUser.getFarmerNum()); inviteRecommendUser.setFarmerNum(inviteRecommendUser.getFarmerNum());
}else { } else {
//农场主用户-1 //农场主用户-1
inviteRecommendUser.setFarmerNum(inviteRecommendUser.getFarmerNum() - 1); inviteRecommendUser.setFarmerNum(inviteRecommendUser.getFarmerNum() - 1);
} }
...@@ -215,6 +246,9 @@ public class UserLevelServiceImlp extends ServiceImpl<UsersMapper,User> implemen ...@@ -215,6 +246,9 @@ public class UserLevelServiceImlp extends ServiceImpl<UsersMapper,User> implemen
recommendUserMapper.updateById(inviteRecommendUser); recommendUserMapper.updateById(inviteRecommendUser);
//团队用户表数据维护 //团队用户表数据维护
teamUserInfoFarmerToForestStart(inviteUserId); teamUserInfoFarmerToForestStart(inviteUserId);
//上级用户获得幼苗等级的培育奖
int level = 6;
cultivatingPrizeToInvitedUser(userId, inviteUserId, level);
//用户升级成功时,进行邀请人等级自查是否达到升级条件 //用户升级成功时,进行邀请人等级自查是否达到升级条件
userLevelUpgrade(inviteUserId); userLevelUpgrade(inviteUserId);
} }
...@@ -224,18 +258,18 @@ public class UserLevelServiceImlp extends ServiceImpl<UsersMapper,User> implemen ...@@ -224,18 +258,18 @@ public class UserLevelServiceImlp extends ServiceImpl<UsersMapper,User> implemen
if (userLevel == 6 && recommendUser.getSeedlingNum() >= 100 if (userLevel == 6 && recommendUser.getSeedlingNum() >= 100
&& recommendUser.getForestStartNum() >= 1 && recommendUser.getForestStartNum() >= 1
&& teamUserInfoMapperByUserId.getSilverTreeNum() >= 90 && teamUserInfoMapperByUserId.getSilverTreeNum() >= 90
&& teamUserInfoMapperByUserId.getFarmerNum() >= 30){ && teamUserInfoMapperByUserId.getFarmerNum() >= 30) {
user.setUserLevel(7); user.setUserLevel(7);
usersMapper.updateById(user); usersMapper.edit(user);
//用户被邀请码为 1 时 该用户没有邀请人 //用户被邀请码为 1 时 该用户没有邀请人
if ("1".equals(user.getBeInvitedCode())){ if ("1".equals(user.getBeInvitedCode())) {
return; return;
}else { } else {
//推荐人直推信息表数据维护 //推荐人直推信息表数据维护
//若邀请人直推用户信息中的森林之星用户数量为0是则不用变化,否则森林之星用户数量-1 //若邀请人直推用户信息中的森林之星用户数量为0是则不用变化,否则森林之星用户数量-1
if(inviteRecommendUser.getForestStartNum() == 0){ if (inviteRecommendUser.getForestStartNum() == 0) {
inviteRecommendUser.setForestStartNum(inviteRecommendUser.getForestStartNum()); inviteRecommendUser.setForestStartNum(inviteRecommendUser.getForestStartNum());
}else { } else {
//森林之星用户-1 //森林之星用户-1
inviteRecommendUser.setForestStartNum(inviteRecommendUser.getForestStartNum() - 1); inviteRecommendUser.setForestStartNum(inviteRecommendUser.getForestStartNum() - 1);
} }
...@@ -244,6 +278,9 @@ public class UserLevelServiceImlp extends ServiceImpl<UsersMapper,User> implemen ...@@ -244,6 +278,9 @@ public class UserLevelServiceImlp extends ServiceImpl<UsersMapper,User> implemen
recommendUserMapper.updateById(inviteRecommendUser); recommendUserMapper.updateById(inviteRecommendUser);
//团队用户表数据维护 //团队用户表数据维护
teamUserInfoForestStartToPartner(inviteUserId); teamUserInfoForestStartToPartner(inviteUserId);
//上级用户获得幼苗等级的培育奖
int level = 7;
cultivatingPrizeToInvitedUser(userId, inviteUserId, level);
//用户升级成功时,进行邀请人等级自查是否达到升级条件 //用户升级成功时,进行邀请人等级自查是否达到升级条件
userLevelUpgrade(inviteUserId); userLevelUpgrade(inviteUserId);
} }
...@@ -252,6 +289,7 @@ public class UserLevelServiceImlp extends ServiceImpl<UsersMapper,User> implemen ...@@ -252,6 +289,7 @@ public class UserLevelServiceImlp extends ServiceImpl<UsersMapper,User> implemen
/** /**
* 团队用户表数据维护(森林之星用户升级至西田森合伙人用户时) * 团队用户表数据维护(森林之星用户升级至西田森合伙人用户时)
*
* @param inviteUserId 邀请人userid * @param inviteUserId 邀请人userid
*/ */
private void teamUserInfoForestStartToPartner(String inviteUserId) { private void teamUserInfoForestStartToPartner(String inviteUserId) {
...@@ -259,19 +297,26 @@ public class UserLevelServiceImlp extends ServiceImpl<UsersMapper,User> implemen ...@@ -259,19 +297,26 @@ public class UserLevelServiceImlp extends ServiceImpl<UsersMapper,User> implemen
TeamUserInfo teamNumInfoBuyId = teamUserInfoMapper.getByUserId(inviteUserId); TeamUserInfo teamNumInfoBuyId = teamUserInfoMapper.getByUserId(inviteUserId);
//邀请人的用户表对象 //邀请人的用户表对象
User byUserId = usersMapper.getByUserId(teamNumInfoBuyId.getUserId()); User byUserId = usersMapper.getByUserId(teamNumInfoBuyId.getUserId());
String beinvitedCodeUserId = "";
String inviteCode = byUserId.getInviteCode();
if (!"1".equals(inviteCode)) {
//通过邀请人的用户信息获取邀请人的推荐人邀请码
beinvitedCodeUserId = usersMapper.getByBeInvitedCode(inviteCode).getUserId();
}
//通过邀请人的用户信息获取邀请人的推荐人邀请码 //通过邀请人的用户信息获取邀请人的推荐人邀请码
String beinvitedCodeUserId = usersMapper.getByBeInvitedCode(byUserId.getBeInvitedCode()).getUserId(); //String beinvitedCodeUserId = usersMapper.getByBeInvitedCode(byUserId.getBeInvitedCode()).getUserId();
//邀请人团队信息表中森林之星用户数量 = 0 时,森林之星用户数量不用变化,否则森林之星用户数量 - 1 //邀请人团队信息表中森林之星用户数量 = 0 时,森林之星用户数量不用变化,否则森林之星用户数量 - 1
if(teamNumInfoBuyId.getForestStartNum() == 0){ if (teamNumInfoBuyId.getForestStartNum() == 0) {
teamNumInfoBuyId.setForestStartNum(teamNumInfoBuyId.getForestStartNum()); teamNumInfoBuyId.setForestStartNum(teamNumInfoBuyId.getForestStartNum());
}else { } else {
//森林之星用户数量 - 1 //森林之星用户数量 - 1
teamNumInfoBuyId.setForestStartNum(teamNumInfoBuyId.getForestStartNum() - 1); teamNumInfoBuyId.setForestStartNum(teamNumInfoBuyId.getForestStartNum() - 1);
} }
//西田森合伙人用户数量 + 1 //西田森合伙人用户数量 + 1
teamNumInfoBuyId.setPartnerNum(teamNumInfoBuyId.getPartnerNum() + 1); teamNumInfoBuyId.setPartnerNum(teamNumInfoBuyId.getPartnerNum() + 1);
teamUserInfoMapper.updateById(teamNumInfoBuyId); teamUserInfoMapper.updateById(teamNumInfoBuyId);
if("1".equals(byUserId.getBeInvitedCode())){ if ("1".equals(byUserId.getBeInvitedCode())) {
return; return;
} }
teamUserInfoForestStartToPartner(beinvitedCodeUserId); teamUserInfoForestStartToPartner(beinvitedCodeUserId);
...@@ -279,6 +324,7 @@ public class UserLevelServiceImlp extends ServiceImpl<UsersMapper,User> implemen ...@@ -279,6 +324,7 @@ public class UserLevelServiceImlp extends ServiceImpl<UsersMapper,User> implemen
/** /**
* 团队用户表数据维护(农场主用户升级至森林之星用户时) * 团队用户表数据维护(农场主用户升级至森林之星用户时)
*
* @param inviteUserId 邀请人userid * @param inviteUserId 邀请人userid
*/ */
private void teamUserInfoFarmerToForestStart(String inviteUserId) { private void teamUserInfoFarmerToForestStart(String inviteUserId) {
...@@ -286,19 +332,26 @@ public class UserLevelServiceImlp extends ServiceImpl<UsersMapper,User> implemen ...@@ -286,19 +332,26 @@ public class UserLevelServiceImlp extends ServiceImpl<UsersMapper,User> implemen
TeamUserInfo teamNumInfoBuyId = teamUserInfoMapper.getByUserId(inviteUserId); TeamUserInfo teamNumInfoBuyId = teamUserInfoMapper.getByUserId(inviteUserId);
//邀请人的用户表对象 //邀请人的用户表对象
User byUserId = usersMapper.getByUserId(teamNumInfoBuyId.getUserId()); User byUserId = usersMapper.getByUserId(teamNumInfoBuyId.getUserId());
String beinvitedCodeUserId = "";
String inviteCode = byUserId.getInviteCode();
if (!"1".equals(inviteCode)) {
//通过邀请人的用户信息获取邀请人的推荐人邀请码
beinvitedCodeUserId = usersMapper.getByBeInvitedCode(inviteCode).getUserId();
}
//通过邀请人的用户信息获取邀请人的推荐人邀请码 //通过邀请人的用户信息获取邀请人的推荐人邀请码
String beinvitedCodeUserId = usersMapper.getByBeInvitedCode(byUserId.getBeInvitedCode()).getUserId(); //String beinvitedCodeUserId = usersMapper.getByBeInvitedCode(byUserId.getBeInvitedCode()).getUserId();
//邀请人团队信息表中农场主用户数量 = 0 时,农场主用户数量不用变化,否则农场主用户数量 - 1 //邀请人团队信息表中农场主用户数量 = 0 时,农场主用户数量不用变化,否则农场主用户数量 - 1
if(teamNumInfoBuyId.getFarmerNum() == 0){ if (teamNumInfoBuyId.getFarmerNum() == 0) {
teamNumInfoBuyId.setFarmerNum(teamNumInfoBuyId.getFarmerNum()); teamNumInfoBuyId.setFarmerNum(teamNumInfoBuyId.getFarmerNum());
}else { } else {
//农场主用户数量 - 1 //农场主用户数量 - 1
teamNumInfoBuyId.setFarmerNum(teamNumInfoBuyId.getFarmerNum() - 1); teamNumInfoBuyId.setFarmerNum(teamNumInfoBuyId.getFarmerNum() - 1);
} }
//森林之星用户数量 + 1 //森林之星用户数量 + 1
teamNumInfoBuyId.setForestStartNum(teamNumInfoBuyId.getForestStartNum() + 1); teamNumInfoBuyId.setForestStartNum(teamNumInfoBuyId.getForestStartNum() + 1);
teamUserInfoMapper.updateById(teamNumInfoBuyId); teamUserInfoMapper.updateById(teamNumInfoBuyId);
if("1".equals(byUserId.getBeInvitedCode())){ if ("1".equals(byUserId.getBeInvitedCode())) {
return; return;
} }
//递归向上修改团队用户信息表 //递归向上修改团队用户信息表
...@@ -307,6 +360,7 @@ public class UserLevelServiceImlp extends ServiceImpl<UsersMapper,User> implemen ...@@ -307,6 +360,7 @@ public class UserLevelServiceImlp extends ServiceImpl<UsersMapper,User> implemen
/** /**
* 团队用户表数据维护(黄金树用户升级至农场主用户时) * 团队用户表数据维护(黄金树用户升级至农场主用户时)
*
* @param inviteUserId 邀请人userid * @param inviteUserId 邀请人userid
*/ */
private void teamUserInfoGoldTreeToFarmer(String inviteUserId) { private void teamUserInfoGoldTreeToFarmer(String inviteUserId) {
...@@ -314,19 +368,26 @@ public class UserLevelServiceImlp extends ServiceImpl<UsersMapper,User> implemen ...@@ -314,19 +368,26 @@ public class UserLevelServiceImlp extends ServiceImpl<UsersMapper,User> implemen
TeamUserInfo teamNumInfoBuyId = teamUserInfoMapper.getByUserId(inviteUserId); TeamUserInfo teamNumInfoBuyId = teamUserInfoMapper.getByUserId(inviteUserId);
//邀请人的用户表对象 //邀请人的用户表对象
User byUserId = usersMapper.getByUserId(teamNumInfoBuyId.getUserId()); User byUserId = usersMapper.getByUserId(teamNumInfoBuyId.getUserId());
String beinvitedCodeUserId = "";
String inviteCode = byUserId.getInviteCode();
if (!"1".equals(inviteCode)) {
//通过邀请人的用户信息获取邀请人的推荐人邀请码 //通过邀请人的用户信息获取邀请人的推荐人邀请码
String beinvitedCodeUserId = usersMapper.getByBeInvitedCode(byUserId.getBeInvitedCode()).getUserId(); beinvitedCodeUserId = usersMapper.getByBeInvitedCode(inviteCode).getUserId();
}
//通过邀请人的用户信息获取邀请人的推荐人邀请码
// String beinvitedCodeUserId = usersMapper.getByBeInvitedCode(byUserId.getBeInvitedCode()).getUserId();
//邀请人团队信息表中黄金树用户数量 = 0 时,黄金树用户数量不用变化,否则黄金树用户数量 - 1 //邀请人团队信息表中黄金树用户数量 = 0 时,黄金树用户数量不用变化,否则黄金树用户数量 - 1
if(teamNumInfoBuyId.getGoldTreeNum() == 0){ if (teamNumInfoBuyId.getGoldTreeNum() == 0) {
teamNumInfoBuyId.setGoldTreeNum(teamNumInfoBuyId.getGoldTreeNum()); teamNumInfoBuyId.setGoldTreeNum(teamNumInfoBuyId.getGoldTreeNum());
}else { } else {
//黄金树用户数量 - 1 //黄金树用户数量 - 1
teamNumInfoBuyId.setGoldTreeNum(teamNumInfoBuyId.getGoldTreeNum() - 1); teamNumInfoBuyId.setGoldTreeNum(teamNumInfoBuyId.getGoldTreeNum() - 1);
} }
//农场主数量 + 1 //农场主数量 + 1
teamNumInfoBuyId.setFarmerNum(teamNumInfoBuyId.getFarmerNum() + 1); teamNumInfoBuyId.setFarmerNum(teamNumInfoBuyId.getFarmerNum() + 1);
teamUserInfoMapper.updateById(teamNumInfoBuyId); teamUserInfoMapper.updateById(teamNumInfoBuyId);
if("1".equals(byUserId.getBeInvitedCode())){ if ("1".equals(byUserId.getBeInvitedCode())) {
return; return;
} }
//递归向上修改团队用户信息表 //递归向上修改团队用户信息表
...@@ -335,6 +396,7 @@ public class UserLevelServiceImlp extends ServiceImpl<UsersMapper,User> implemen ...@@ -335,6 +396,7 @@ public class UserLevelServiceImlp extends ServiceImpl<UsersMapper,User> implemen
/** /**
* 团队用户表数据维护(白银树用户升级至黄金树用户时) * 团队用户表数据维护(白银树用户升级至黄金树用户时)
*
* @param inviteUserId 邀请人userid * @param inviteUserId 邀请人userid
*/ */
private void teamUserInfoSilverToGoldTree(String inviteUserId) { private void teamUserInfoSilverToGoldTree(String inviteUserId) {
...@@ -342,19 +404,26 @@ public class UserLevelServiceImlp extends ServiceImpl<UsersMapper,User> implemen ...@@ -342,19 +404,26 @@ public class UserLevelServiceImlp extends ServiceImpl<UsersMapper,User> implemen
TeamUserInfo teamNumInfoBuyId = teamUserInfoMapper.getByUserId(inviteUserId); TeamUserInfo teamNumInfoBuyId = teamUserInfoMapper.getByUserId(inviteUserId);
//邀请人的用户表对象 //邀请人的用户表对象
User byUserId = usersMapper.getByUserId(teamNumInfoBuyId.getUserId()); User byUserId = usersMapper.getByUserId(teamNumInfoBuyId.getUserId());
String beinvitedCodeUserId = "";
String inviteCode = byUserId.getInviteCode();
if (!"1".equals(inviteCode)) {
//通过邀请人的用户信息获取邀请人的推荐人邀请码 //通过邀请人的用户信息获取邀请人的推荐人邀请码
String beinvitedCodeUserId = usersMapper.getByBeInvitedCode(byUserId.getBeInvitedCode()).getUserId(); beinvitedCodeUserId = usersMapper.getByBeInvitedCode(inviteCode).getUserId();
}
//通过邀请人的用户信息获取邀请人的推荐人邀请码
//String beinvitedCodeUserId = usersMapper.getByBeInvitedCode(byUserId.getBeInvitedCode()).getUserId();
//邀请人团队信息表中白银树用户数量 = 0 时,白银树用户数量不用变化,否则白银树用户数量 - 1 //邀请人团队信息表中白银树用户数量 = 0 时,白银树用户数量不用变化,否则白银树用户数量 - 1
if(teamNumInfoBuyId.getSilverTreeNum() == 0){ if (teamNumInfoBuyId.getSilverTreeNum() == 0) {
teamNumInfoBuyId.setSilverTreeNum(teamNumInfoBuyId.getSilverTreeNum()); teamNumInfoBuyId.setSilverTreeNum(teamNumInfoBuyId.getSilverTreeNum());
}else { } else {
//白银树用户数量 - 1 //白银树用户数量 - 1
teamNumInfoBuyId.setSilverTreeNum(teamNumInfoBuyId.getSilverTreeNum()-1); teamNumInfoBuyId.setSilverTreeNum(teamNumInfoBuyId.getSilverTreeNum() - 1);
} }
//黄金树用户数量 - 1 //黄金树用户数量 - 1
teamNumInfoBuyId.setGoldTreeNum(teamNumInfoBuyId.getGoldTreeNum() + 1); teamNumInfoBuyId.setGoldTreeNum(teamNumInfoBuyId.getGoldTreeNum() + 1);
teamUserInfoMapper.updateById(teamNumInfoBuyId); teamUserInfoMapper.updateById(teamNumInfoBuyId);
if("1".equals(byUserId.getBeInvitedCode())){ if ("1".equals(byUserId.getBeInvitedCode())) {
return; return;
} }
//递归向上修改团队用户信息表 //递归向上修改团队用户信息表
...@@ -363,6 +432,7 @@ public class UserLevelServiceImlp extends ServiceImpl<UsersMapper,User> implemen ...@@ -363,6 +432,7 @@ public class UserLevelServiceImlp extends ServiceImpl<UsersMapper,User> implemen
/** /**
* 团队用户表数据维护(青铜树用户升级至白银树用户时) * 团队用户表数据维护(青铜树用户升级至白银树用户时)
*
* @param inviteUserId 邀请人userid * @param inviteUserId 邀请人userid
*/ */
private void teamUserInfoBronzeToSilver(String inviteUserId) { private void teamUserInfoBronzeToSilver(String inviteUserId) {
...@@ -370,19 +440,26 @@ public class UserLevelServiceImlp extends ServiceImpl<UsersMapper,User> implemen ...@@ -370,19 +440,26 @@ public class UserLevelServiceImlp extends ServiceImpl<UsersMapper,User> implemen
TeamUserInfo teamNumInfoBuyId = teamUserInfoMapper.getByUserId(inviteUserId); TeamUserInfo teamNumInfoBuyId = teamUserInfoMapper.getByUserId(inviteUserId);
//邀请人的用户表对象 //邀请人的用户表对象
User byUserId = usersMapper.getByUserId(teamNumInfoBuyId.getUserId()); User byUserId = usersMapper.getByUserId(teamNumInfoBuyId.getUserId());
String beinvitedCodeUserId = "";
String inviteCode = byUserId.getInviteCode();
if (!"1".equals(inviteCode)) {
//通过邀请人的用户信息获取邀请人的推荐人邀请码
beinvitedCodeUserId = usersMapper.getByBeInvitedCode(inviteCode).getUserId();
}
//通过邀请人的用户信息获取邀请人的推荐人邀请码 //通过邀请人的用户信息获取邀请人的推荐人邀请码
String beinvitedCodeUserId = usersMapper.getByBeInvitedCode(byUserId.getBeInvitedCode()).getUserId(); //String beinvitedCodeUserId = usersMapper.getByBeInvitedCode(byUserId.getBeInvitedCode()).getUserId();
//邀请人团队信息表中青铜树用户数量 = 0 时,青铜树用户数量不用变化,否则青铜树用户数量 - 1 //邀请人团队信息表中青铜树用户数量 = 0 时,青铜树用户数量不用变化,否则青铜树用户数量 - 1
if(teamNumInfoBuyId.getBronzeTreeNum() == 0){ if (teamNumInfoBuyId.getBronzeTreeNum() == 0) {
teamNumInfoBuyId.setBronzeTreeNum(teamNumInfoBuyId.getBronzeTreeNum()); teamNumInfoBuyId.setBronzeTreeNum(teamNumInfoBuyId.getBronzeTreeNum());
}else { } else {
//青铜树用户数量 - 1 //青铜树用户数量 - 1
teamNumInfoBuyId.setBronzeTreeNum(teamNumInfoBuyId.getBronzeTreeNum()-1); teamNumInfoBuyId.setBronzeTreeNum(teamNumInfoBuyId.getBronzeTreeNum() - 1);
} }
//白银树用户数量+1 //白银树用户数量+1
teamNumInfoBuyId.setSilverTreeNum(teamNumInfoBuyId.getSilverTreeNum() + 1); teamNumInfoBuyId.setSilverTreeNum(teamNumInfoBuyId.getSilverTreeNum() + 1);
teamUserInfoMapper.updateById(teamNumInfoBuyId); teamUserInfoMapper.updateById(teamNumInfoBuyId);
if("1".equals(byUserId.getBeInvitedCode())){ if ("1".equals(byUserId.getBeInvitedCode())) {
return; return;
} }
//递归向上修改团队用户信息表 //递归向上修改团队用户信息表
...@@ -391,6 +468,7 @@ public class UserLevelServiceImlp extends ServiceImpl<UsersMapper,User> implemen ...@@ -391,6 +468,7 @@ public class UserLevelServiceImlp extends ServiceImpl<UsersMapper,User> implemen
/** /**
* 团队用户表数据维护(幼苗用户升级至青铜用户时) * 团队用户表数据维护(幼苗用户升级至青铜用户时)
*
* @param inviteUserId 邀请人userid * @param inviteUserId 邀请人userid
*/ */
private void teamUserInfoSeedToBronze(String inviteUserId) { private void teamUserInfoSeedToBronze(String inviteUserId) {
...@@ -398,19 +476,26 @@ public class UserLevelServiceImlp extends ServiceImpl<UsersMapper,User> implemen ...@@ -398,19 +476,26 @@ public class UserLevelServiceImlp extends ServiceImpl<UsersMapper,User> implemen
TeamUserInfo teamNumInfoBuyId = teamUserInfoMapper.getByUserId(inviteUserId); TeamUserInfo teamNumInfoBuyId = teamUserInfoMapper.getByUserId(inviteUserId);
//邀请人的用户表对象 //邀请人的用户表对象
User byUserId = usersMapper.getByUserId(teamNumInfoBuyId.getUserId()); User byUserId = usersMapper.getByUserId(teamNumInfoBuyId.getUserId());
String beinvitedCodeUserId = "";
String inviteCode = byUserId.getInviteCode();
if (!"1".equals(inviteCode)) {
//通过邀请人的用户信息获取邀请人的推荐人邀请码
beinvitedCodeUserId = usersMapper.getByBeInvitedCode(inviteCode).getUserId();
}
//通过邀请人的用户信息获取邀请人的推荐人邀请码 //通过邀请人的用户信息获取邀请人的推荐人邀请码
String beinvitedCodeUserId = usersMapper.getByBeInvitedCode(byUserId.getBeInvitedCode()).getUserId(); //String beinvitedCodeUserId = usersMapper.getByBeInvitedCode(byUserId.getBeInvitedCode()).getUserId();
//邀请人团队信息表中幼苗用户数量 = 0 时,幼苗用户数量不用变化,否则幼苗用户数量 - 1 //邀请人团队信息表中幼苗用户数量 = 0 时,幼苗用户数量不用变化,否则幼苗用户数量 - 1
if(teamNumInfoBuyId.getSeedlingNum() == 0){ if (teamNumInfoBuyId.getSeedlingNum() == 0) {
teamNumInfoBuyId.setSeedlingNum(teamNumInfoBuyId.getSeedlingNum()); teamNumInfoBuyId.setSeedlingNum(teamNumInfoBuyId.getSeedlingNum());
}else { } else {
//幼苗用户数量-1 //幼苗用户数量-1
teamNumInfoBuyId.setSeedlingNum(teamNumInfoBuyId.getSeedlingNum()-1); teamNumInfoBuyId.setSeedlingNum(teamNumInfoBuyId.getSeedlingNum() - 1);
} }
//邀请人的团队用户信息表中青铜树数量 + 1 //邀请人的团队用户信息表中青铜树数量 + 1
teamNumInfoBuyId.setBronzeTreeNum(teamNumInfoBuyId.getBronzeTreeNum() + 1); teamNumInfoBuyId.setBronzeTreeNum(teamNumInfoBuyId.getBronzeTreeNum() + 1);
teamUserInfoMapper.updateById(teamNumInfoBuyId); teamUserInfoMapper.updateById(teamNumInfoBuyId);
if("1".equals(byUserId.getBeInvitedCode())){ if ("1".equals(byUserId.getBeInvitedCode())) {
return; return;
} }
//递归向上修改团队用户信息表 //递归向上修改团队用户信息表
...@@ -419,30 +504,253 @@ public class UserLevelServiceImlp extends ServiceImpl<UsersMapper,User> implemen ...@@ -419,30 +504,253 @@ public class UserLevelServiceImlp extends ServiceImpl<UsersMapper,User> implemen
/** /**
* 团队用户表数据维护(普通用户升级至幼苗用户时) * 团队用户表数据维护(普通用户升级至幼苗用户时)
*
* @param inviteUserId 邀请人userid * @param inviteUserId 邀请人userid
*/ */
private void teamUserInfoNormalToSeed(String inviteUserId){ private void teamUserInfoNormalToSeed(String inviteUserId) {
//邀请人的团队信息表对象 //邀请人的团队信息表对象
TeamUserInfo teamNumInfoBuyId = teamUserInfoMapper.getByUserId(inviteUserId); TeamUserInfo teamNumInfoBuyId = teamUserInfoMapper.getByUserId(inviteUserId);
//邀请人的用户表对象 //邀请人的用户表对象
User intiveUserByUserId = usersMapper.getByUserId(teamNumInfoBuyId.getUserId()); User intiveUserByUserId = usersMapper.getByUserId(teamNumInfoBuyId.getUserId());
String beinvitedCodeUserId = "";
String inviteCode = intiveUserByUserId.getInviteCode();
if (!"1".equals(inviteCode)) {
//通过邀请人的用户信息获取邀请人的推荐人邀请码 //通过邀请人的用户信息获取邀请人的推荐人邀请码
String beinvitedCodeUserId = usersMapper.getByBeInvitedCode(intiveUserByUserId.getBeInvitedCode()).getUserId(); beinvitedCodeUserId = usersMapper.getByBeInvitedCode(inviteCode).getUserId();
//邀请人团队信息表中普通用户数量 = 0 时,普通用户数量不用变化,否则普通用户数量 - 1 }
if(teamNumInfoBuyId.getNormalUserNum() == 0){ if (teamNumInfoBuyId.getNormalUserNum() == 0) {
teamNumInfoBuyId.setNormalUserNum(teamNumInfoBuyId.getNormalUserNum()); teamNumInfoBuyId.setNormalUserNum(teamNumInfoBuyId.getNormalUserNum());
}else { } else {
//普通用户数量-1 //普通用户数量-1
teamNumInfoBuyId.setNormalUserNum(teamNumInfoBuyId.getNormalUserNum()-1); teamNumInfoBuyId.setNormalUserNum(teamNumInfoBuyId.getNormalUserNum() - 1);
} }
//邀请人的团队用户信息表中幼苗数量 + 1 //邀请人的团队用户信息表中幼苗数量 + 1
//第一波用户是谁邀请的 //第一波用户是谁邀请的
teamNumInfoBuyId.setSeedlingNum(teamNumInfoBuyId.getSeedlingNum() + 1); teamNumInfoBuyId.setSeedlingNum(teamNumInfoBuyId.getSeedlingNum() + 1);
teamUserInfoMapper.updateById(teamNumInfoBuyId); teamUserInfoMapper.updateById(teamNumInfoBuyId);
if("1".equals(intiveUserByUserId.getBeInvitedCode())){ if ("1".equals(intiveUserByUserId.getBeInvitedCode())) {
return; return;
} }
//递归向上修改团队用户信息表 //递归向上修改团队用户信息表
teamUserInfoNormalToSeed(beinvitedCodeUserId); teamUserInfoNormalToSeed(beinvitedCodeUserId);
} }
/**
* 培育奖给到上级用户
*
* @param userid 当前用户id
* @param inviteUserId 上级用户id
* @param level 当前用户升级后的等级
*/
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 (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.updateById(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.updateById(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.setSeedling(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.updateById(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.setSeedling(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.updateById(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.setSeedling(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.updateById(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.setSeedling(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.updateById(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.setSeedling(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.updateById(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.setSeedling(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