Commit 6769c873 authored by codezwjava's avatar codezwjava

月度升级定时任务代码实现

采集用户设置邀请码行为记录功能实现
用户空投池功能代码优化
parent e18a985e
package cn.wisenergy.mapper;
import cn.wisenergy.model.app.CultivatingPrize;
import cn.wisenergy.model.app.CultivatingPrizeInfo;
import cn.wisenergy.model.app.LastMonthCultivatingPrizeInfo;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
public interface LastMonthCultivatingPrizeInfoMapper extends BaseMapper<LastMonthCultivatingPrizeInfo> {
LastMonthCultivatingPrizeInfo getOneByUserId(String userId);
}
package cn.wisenergy.mapper;
import cn.wisenergy.model.app.LastMonthRecommendUser;
import cn.wisenergy.model.app.RecommendUser;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
public interface LastMonthRecommendUserMapper extends BaseMapper<LastMonthRecommendUser> {
/**
* 获取用户直推信息
* @param userId 用户Id
* @return 用户直推信息
*/
LastMonthRecommendUser getByUserId(String userId);
//根据用户推荐人的userid,查询数据库用户直推表,看推荐人用户是否存在
Integer zcByUserId(String userid);
/**
* 获取用户的直推用户总人数
* @param userId 用户Id
* @return 直推用户总人数
*/
Integer getRecommendUserCountByUserId(String userId);
/**
* 新增用户直推信息
* @param recommendUser
* @return
*/
int add(LastMonthRecommendUser recommendUser);
}
package cn.wisenergy.mapper;
import cn.wisenergy.model.app.LastMonthTeamUserInfo;
import cn.wisenergy.model.app.TeamUserInfo;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
public interface LastMonthTeamUserInfoMapper extends BaseMapper<LastMonthTeamUserInfo> {
/**
* 获取用户的团队信息
* @param userId 用户Id
* @return 用户的团队信息
*/
LastMonthTeamUserInfo getByUserId(String userId);
/**
* 获取用户的团队总人数
* @param userId 用户Id
* @return 团队总人数
*/
Integer getTeamUserCount(String userId);
int add(LastMonthTeamUserInfo teamUserInfo);
int edit(LastMonthTeamUserInfo lastMonthTeamUserInfo);
}
package cn.wisenergy.mapper;
import cn.hutool.system.UserInfo;
import cn.wisenergy.model.app.LastMonthUserInfo;
import cn.wisenergy.model.app.User;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import org.apache.ibatis.annotations.Param;
import java.util.List;
import java.util.Map;
public interface LastMonthUserInfoMapper extends BaseMapper<LastMonthUserInfo> {
/**
* 添加
*
* @param user 用户信息
* @return 用户信息
*/
int add(LastMonthUserInfo user);
/**
* 编辑
*
* @param user 用户信息
* @return 修改是否成功
*/
int edit(LastMonthUserInfo user);
/**
* 删除
*
* @param id 用户id
* @return 删除是否成功
*/
int delById(@Param("id") Integer id);
List<User> getList(Map<String, Object> map);
/**
* 获取所有的非普通用户列表
*
* @return 非普通用户列表
*/
List<LastMonthUserInfo> findAllNotZeroUser();
LastMonthUserInfo findByName(String name);
String findPswByName(String UserName);
void save(LastMonthUserInfo user);
/**
* 获取用户信息
*
* @return 用户信息
*/
LastMonthUserInfo getUserById(@Param("id") Long id);
/**
* 获取用户信息
*
* @param userId 用户id
* @return 用户信息
*/
LastMonthUserInfo getByUserId(@Param("userId") String userId);
/**
* 获取用户信息
*
* @param userId 用户id
* @return 用户信息
*/
Integer ByUserId(@Param("userId") String userId);
/**
* 获取用户信息
*
* @param
* @return 用户信息
*/
Integer beInvitedCode1(@Param("beInvitedCode") String beInvitedCode);
/**
* 获取用户信息
*
* @param beInvitedCode 用户被邀请码
* @return 用户信息
*/
LastMonthUserInfo getByBeInvitedCode(@Param("beInvitedCode") String beInvitedCode);
/**
* 获取黄金树以上会员用户
*
* @return
*/
List<LastMonthUserInfo> getAllGoldUser();
/**
* 查询用户
*
* @param param
* @return
*/
public List<LastMonthUserInfo> getUsersListByMap(Map<String, Object> param);
//根据手机号查询用户Integer
LastMonthUserInfo queryUsersByPhone(@Param("userId") String userId);
//根据用户的推荐人邀请码比对推荐人的本人邀请码,查询推荐人的用户ID
Integer inviteCodeBeInvitedCode(@Param("beInvitedCode") Integer beInvitedCode);
/**
* 用户注册
*
* @param userId
* @param inviteCode
* @param beInvitedCode
* @param userLevel
*/
Integer insertbyint(@Param("userId") String userId, @Param("inviteCode") String inviteCode, @Param("beInvitedCode") String beInvitedCode, @Param("userLevel") Integer userLevel, @Param("headImage") String headImage,@Param("frozen") Integer frozen);
Integer save(@Param("userId") String userId, @Param("beInvitedCode") String beInvitedCode);
LastMonthUserInfo edit1(int userLevel, String intiveCode, String userId);
Integer getuserIdById(@Param("userId") String userId);
Integer getById(@Param("userId") String userId);
String BYQMById(@Param("userId") String userId);
/**
* 根据userid获取获取所有的直接推荐人
*
* @param inviteCode 用户本人的邀请码
* @return 所有填写此人的邀请码的用户
*/
List<LastMonthUserInfo> getByInviteCode(@Param("inviteCode") String inviteCode, @Param("userLevel") int userLevel);
/**
* 通过邀请码,获取用户信息
*
* @param inviteCode 邀请码
* @return 用户信息
*/
LastMonthUserInfo queryByInviteCode(@Param("inviteCode") String inviteCode);
/**
* 通过用户等级,获取该等级用户列表
*
* @param userLevel 用户等级
* @return 等级用户列表
*/
List<LastMonthUserInfo> getByLevel(@Param("userLevel") Integer userLevel);
/**
* @param
* @return
*/
LastMonthUserInfo biInvitedCode1(@Param("inviteCode") String inviteCode);
/**
* 用户邀请码查询用户数据
*
* @param inviteCode
* @return
*/
LastMonthUserInfo InvitedCode2(@Param("inviteCode") String inviteCode);
/**
* 根据用户的推荐人邀请码 查询上级用户的id
*
* @param beInvitedCode
* @return
*/
String getUserByIntiveCode(String beInvitedCode);
String getUserIdByIntiveCode(String outerUserId);
/**
* 获取所有的空投用户
* 且注册时间为一月之前
*
* @return
*/
List<LastMonthUserInfo> getAerialDeliveryUserBeforOneMonth(@Param("before") String before,
@Param("now") String now);
/**
* 随机获取一条小于当前id的用户 即: 比当前用户早注册的用户
*
* @param id
* @return
*/
LastMonthUserInfo randOneGetUserByUserId(Integer id);
/**
* 根据邀请码获取所有的下级用户
* @param userId
* @return
*/
List<LastMonthUserInfo> getListByIntvitedCode(String userId);
/**
* 根据当前用户的推荐人邀请码获取推荐人的用户信息(上级用户信息)
* @param beInvitedCode
* @return
*/
LastMonthUserInfo getuserByBeInvitedCode(String beInvitedCode);
/**
* 获取在团队中处于同一位置的用户集合
* @param beInvitedCode
* @return
*/
List<LastMonthUserInfo> getListUserByBeInvitedCode(String beInvitedCode);
/**
* 通过邀请码获取用户信息
* @param inviteCode
* @return
*/
LastMonthUserInfo getUserByInviteCode(String inviteCode);
/**
* 根据用户的userid查询用户对象
* @param userId
* @return
*/
LastMonthUserInfo getUserByUserId(String userId);
List<LastMonthUserInfo> getAll();
}
package cn.wisenergy.mapper;
import cn.wisenergy.model.app.UserDataInfo;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import java.util.List;
public interface UserDataInfoMapper extends BaseMapper<UserDataInfo> {
int add(UserDataInfo userDataInfo);
List<UserDataInfo> getALl();
List<UserDataInfo> getListByLevelStatus(int levelStatus);
}
<?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.LastMonthCultivatingPrizeInfoMapper">
<resultMap id="LastMonthCultivatingPrizeInfoMap" type="cn.wisenergy.model.app.LastMonthCultivatingPrizeInfo">
<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">
lastmonth_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.LastMonthCultivatingPrizeInfo">
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.LastMonthRecommendUserMapper">
<resultMap id="userMap" type="cn.wisenergy.model.app.LastMonthRecommendUser">
<id column="id" property="id"/>
<result column="user_id" property="userId"/>
<result column="normal_user_num" property="normalUserNum"/>
<result column="seedling_num" property="seedlingNum"/>
<result column="bronze_tree_num" property="bronzeTreeNum"/>
<result column="silver_tree_num" property="silverTreeNum"/>
<result column="gold_tree_num" property="goldTreeNum"/>
<result column="farmer_num" property="farmerNum"/>
<result column="forest_start_num" property="forestStartNum"/>
<result column="partner_num" property="partnerNum"/>
<result column="create_time" property="createTime"/>
<result column="update_time" property="updateTime"/>
<result column="monthy_count" property="monthyCount"/>
<result column="history_count" property="historyCount"/>
</resultMap>
<sql id="table">
lastmonth_recommend_user
</sql>
<sql id="cols_all">
id,
<include refid="cols_exclude_id"/>
</sql>
<sql id="cols_exclude_id">
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,monthy_count,history_count
</sql>
<sql id="vals">
#{userId},#{normalUserNum},#{seedlingNum},#{bronzeTreeNum},#{silverTreeNum},
#{goldTreeNum},#{farmerNum},#{forestStartNum},#{partnerNum},now(),now(),#{monthyCount},#{historyCount}
</sql>
<sql id="updateCondition">
<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>
<if test="silverTreeNum != null">silver_tree_num =#{silverTreeNum},</if>
<if test="goldTreeNum != null">gold_tree_num =#{goldTreeNum},</if>
<if test="farmerNum != null">farmer_num =#{farmerNum},</if>
<if test="forestStartNum != null">forest_start_num =#{forestStartNum},</if>
<if test="partnerNum != null">partner_num =#{partnerNum},</if>
<if test="monthyCount != null">monthy_count =#{monthyCount},</if>
<if test="historyCount != null">history_count =#{historyCount},</if>
update_time =now()
</sql>
<sql id="criteria">
<if test="id != null">id = #{id}</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>
<if test="silverTreeNum != null">and silver_tree_num =#{silverTreeNum},</if>
<if test="goldTreeNum != null">and gold_tree_num =#{goldTreeNum},</if>
<if test="farmerNum != null">and farmer_num =#{farmerNum},</if>
<if test="forestStartNum != null">and forest_start_num =#{forestStartNum},</if>
<if test="partnerNum != null">and partner_num =#{partnerNum},</if>
<if test="createTime != null">and create_time &gt;= #{createTime}</if>
<if test="updateTime != null">and #{updateTime} &gt;= update_time</if>
<if test="monthyCount != null">and #{monthyCount} &gt;= monthyCount</if>
<if test="historyCount != null">and #{historyCount} &gt;= historyCount</if>
</sql>
<select id="getByUserId" resultType="cn.wisenergy.model.app.LastMonthRecommendUser">
select
<include refid="cols_all"/>
from
<include refid="table"/>
<where>
user_id=#{userId}
</where>
</select>
<!--根据用户邀请码更新直推表-->
<select id="zcByUserId" resultType="integer">
select
id
from
<include refid="table"/>
<where>
user_id=#{userid}
</where>
</select>
<!--用户信息插入用户直推表-->
<select id="getRecommendUserCountByUserId" resultType="java.lang.Integer">
select
(normal_user_num+seedling_num+bronze_tree_num+silver_tree_num+
gold_tree_num+farmer_num+forest_start_num+partner_num) AS RecommendUserCount
from
<include refid="table"/>
<where>
user_id=#{userId}
</where>
</select>
<insert id="add" parameterType="cn.wisenergy.model.app.LastMonthRecommendUser" keyProperty="id" useGeneratedKeys="true">
insert into
<include refid="table"/>
(<include refid="cols_exclude_id"/>)
value
(<include refid="vals"/>)
</insert>
</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.LastMonthTeamUserInfoMapper">
<resultMap id="userMap" type="cn.wisenergy.model.app.LastMonthTeamUserInfo">
<id column="id" property="id"/>
<result column="user_id" property="userId"/>
<result column="normal_user_num" property="normalUserNum"/>
<result column="seedling_num" property="seedlingNum"/>
<result column="bronze_tree_num" property="bronzeTreeNum"/>
<result column="silver_tree_num" property="silverTreeNum"/>
<result column="gold_tree_num" property="goldTreeNum"/>
<result column="farmer_num" property="farmerNum"/>
<result column="forest_start_num" property="forestStartNum"/>
<result column="partner_num" property="partnerNum"/>
<result column="create_time" property="createTime"/>
<result column="update_time" property="updateTime"/>
</resultMap>
<sql id="table">
lastmonth_team_user_info
</sql>
<sql id="cols_all">
id,
<include refid="cols_exclude_id"/>
</sql>
<sql id="cols_exclude_id">
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},#{normalUserNum},#{seedlingNum},#{bronzeTreeNum},#{silverTreeNum},
#{goldTreeNum},#{farmerNum},#{forestStartNum},#{partnerNum},now(),now()
</sql>
<sql id="updateCondition">
<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>
<if test="silverTreeNum != null">silver_tree_num =#{silverTreeNum},</if>
<if test="goldTreeNum != null">gold_tree_num =#{goldTreeNum},</if>
<if test="farmerNum != null">farmer_num =#{farmerNum},</if>
<if test="forestStartNum != null">forest_start_num =#{forestStartNum},</if>
<if test="partnerNum != null">partner_num =#{partnerNum},</if>
update_time =now()
</sql>
<sql id="criteria">
<if test="id != null">id = #{id}</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>
<if test="silverTreeNum != null">and silver_tree_num =#{silverTreeNum},</if>
<if test="goldTreeNum != null">and gold_tree_num =#{goldTreeNum},</if>
<if test="farmerNum != null">and farmer_num =#{farmerNum},</if>
<if test="forestStartNum != null">and forest_start_num =#{forestStartNum},</if>
<if test="partnerNum != null">and partner_num =#{partnerNum},</if>
<if test="createTime != null">and create_time &gt;= #{createTime}</if>
<if test="updateTime != null">and #{updateTime} &gt;= update_time</if>
</sql>
<update id="edit">
UPDATE
<include refid="table"/>
<set>
<include refid="updateCondition"/>
</set>
<where>
id = #{id}
</where>
</update>
<select id="getByUserId" resultType="cn.wisenergy.model.app.LastMonthTeamUserInfo">
select
<include refid="cols_all"/>
from
<include refid="table"/>
<where>
user_id=#{userId}
</where>
</select>
<!--根据userid查询用户是否存在-->
<select id="czByUserId" resultType="cn.wisenergy.model.app.LastMonthTeamUserInfo">
select
id
from
<include refid="table"/>
<where>
user_id=#{userid}
</where>
</select>
<select id="getTeamUserCount" resultType="java.lang.Integer" >
select
(normal_user_num+seedling_num+bronze_tree_num+silver_tree_num+
gold_tree_num+farmer_num+forest_start_num+partner_num) AS teamUserCount
from
<include refid="table"/>
<where>
user_id=#{userId}
</where>
</select>
<insert id="add" parameterType="cn.wisenergy.model.app.LastMonthTeamUserInfo" keyProperty="id" useGeneratedKeys="true">
insert into
<include refid="table"/>
(<include refid="cols_exclude_id"/>)
value
(<include refid="vals"/>)
</insert>
</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.LastMonthUserInfoMapper">
<resultMap id="userMap" type="cn.wisenergy.model.app.LastMonthUserInfo">
<id column="id" property="id"/>
<result column="user_id" property="userId"/>
<result column="password" property="password"/>
<result column="head_image" property="headImage"/>
<result column="user_level" property="userLevel"/>
<result column="cross_border_line" property="crossBorderLine"/>
<result column="id_card_number" property="idCardNumber"/>
<result column="fans_nickname" property="fansNickname"/>
<result column="fans_id" property="fansId"/>
<result column="invite_code" property="inviteCode"/>
<result column="be_invited_code" property="beInvitedCode"/>
<result column="customer_service_id" property="customerServiceId"/>
<result column="frozen" property="frozen"/>
<result column="create_time" property="createTime"/>
<result column="update_time" property="updateTime"/>
</resultMap>
<sql id="table">
lastmonth_user_info
</sql>
<sql id="cols_all">
id,
<include refid="cols_exclude_id"/>
</sql>
<sql id="cols_exclude_id">
user_id,password,head_image,user_level,cross_border_line,id_card_number,fans_nickname,fans_id, invite_code,
be_invited_code,customer_service_id,create_time,update_time
</sql>
<sql id="vals">
#{userId},#{password},#{headImage},#{userLevel},#{crossBorderLine},#{idCardNumber},#{fansNickname},#{fansId},#{inviteCode},
#{beInvitedCode},#{customerServiceId},now(),now()
</sql>
<sql id="updateCondition">
<if test="userId != null">user_id = #{userId},</if>
<if test="password != null">password =#{password},</if>
<if test="headImage != null">head_image =#{headImage},</if>
<if test="userLevel != null">user_level =#{userLevel},</if>
<if test="crossBorderLine != null">cross_border_line =#{crossBorderLine},</if>
<if test="idCardNumber != null">id_card_number = #{idCardNumber},</if>
<if test="fansNickname != null">fans_nickname =#{fansNickname},</if>
<if test="fansId != null">fans_id =#{fansId},</if>
<if test="inviteCode != null">invite_code =#{inviteCode},</if>
<if test="beInvitedCode != null">be_invited_code = #{beInvitedCode},</if>
<if test="customerServiceId != null">customer_service_id = #{customerServiceId},</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="password != null">and password =#{password}</if>
<if test="headImage != null">and head_image =#{headImage}</if>
<if test="userLevel != null">and user_level =#{userLevel}</if>
<if test="crossBorderLine != null">and cross_border_line =#{crossBorderLine}</if>
<if test="idCardNumber != null">and id_card_number = #{idCardNumber}</if>
<if test="fansNickname != null">and fans_nickname =#{fansNickname}</if>
<if test="fansId != null">and fans_id =#{fansId}</if>
<if test="inviteCode != null">and invite_code =#{inviteCode}</if>
<if test="beInvitedCode != null">and be_invited_code = #{beInvitedCode}</if>
<if test="customerServiceId != null">and customer_service_id = #{customerServiceId}</if>
<if test="createTime != null">and create_time &gt;= #{createTime}</if>
<if test="updateTime != null">and #{updateTime} &gt;= update_time</if>
</sql>
<insert id="add" parameterType="cn.wisenergy.model.app.LastMonthUserInfo" keyProperty="id" useGeneratedKeys="true">
insert into
<include refid="table"/>
(<include refid="cols_exclude_id"/>)
value(
<include refid="vals"/>
)
</insert>
<update id="edit" parameterType="cn.wisenergy.model.app.LastMonthUserInfo">
UPDATE
<include refid="table"/>
<set>
<include refid="updateCondition"/>
</set>
<where>
id = #{id}
</where>
</update>
<delete id="delById" parameterType="java.lang.Integer">
delete from
<include refid="table"/>
where id = #{id}
</delete>
<select id="getList" resultMap="userMap" parameterType="map">
select
<include refid="cols_all"/>
from
<include refid="table"/>
<where>
be_invited_code=1
<if test="createTime != null">
and(YEAR(create_time) = YEAR(#{createTime})
AND MONTH(create_time) = MONTH(#{createTime}))
</if>
</where>
order by create_time desc
</select>
<select id="getUserById" resultType="cn.wisenergy.model.app.LastMonthUserInfo" parameterType="java.lang.Long">
select
<include refid="cols_all"/>
from
<include refid="table"/>
<where>
id=#{id}
</where>
</select>
<select id="getByUserId" resultType="cn.wisenergy.model.app.LastMonthUserInfo" parameterType="string">
select
id,user_id,password,head_image,user_level,cross_border_line,id_card_number,fans_nickname,fans_id, invite_code,
be_invited_code,customer_service_id,create_time,update_time
from
user_info
<where>
user_id=#{userId}
</where>
</select>
<select id="getById" resultType="java.lang.Integer" parameterType="string">
select
userId
from
user_info
<where>
user_id=#{userId}
</where>
</select>
<select id="ByUserId" resultType="java.lang.Integer">
select
id
from
user_info
<where>
user_id=#{userId}
</where>
</select>
<select id="findAllNotZeroUser" resultType="cn.wisenergy.model.app.LastMonthUserInfo">
select
<include refid="cols_all"/>
from
<include refid="table"/>
<where>
user_level !=0
</where>
</select>
<!--查询用户-->
<select id="findByName" resultType="cn.wisenergy.model.app.LastMonthUserInfo">
select * from User where user_id = #{userId}
</select>
<!--查询密码-->
<select id="findPswByName" resultType="String">
select password from user where user_id = #{userId}
</select>
<select id="getByBeInvitedCode" resultType="cn.wisenergy.model.app.LastMonthUserInfo">
select
<include refid="cols_all"/>
from
<include refid="table"/>
<where>
invite_code = #{beInvitedCode}
</where>
</select>
<select id="getAllGoldUser" resultType="cn.wisenergy.model.app.LastMonthUserInfo">
select
<include refid="cols_all"/>
from
<include refid="table"/>
<where>
user_level >3
</where>
</select>
<!--用户注册-->
<insert id="insertbyint">
insert into user_info(user_id,invite_code,be_invited_code,user_level,head_image,frozen) value
(#{userId},#{inviteCode},#{beInvitedCode},#{userLevel},#{headImage},#{frozen})
</insert>
<insert id="save">
insert into user_info(user_id,be_invited_code) value (#{userId},#{beInvitedCode})
</insert>
<select id="queryUsersByPhone" resultType="cn.wisenergy.model.app.LastMonthUserInfo">
select
<include refid="vals"/>
from
<include refid="table"/>
<where>
user_id=#{userId}
</where>
</select>
<!--根据用户的推荐人邀请码比对推荐人的本人邀请码,查询推荐人的用户ID-->
<select id="inviteCodeBeInvitedCode" resultType="java.lang.Integer">
select
user_id
from
<include refid="table"/>
<where>
invite_code=#{beInvitedCode}
</where>
</select>
<!--根据用户的推荐人邀请码比对推荐人的本人邀请码,查询推荐人的用户ID-->
<select id="beInvitedCode1" resultType="java.lang.Integer">
select
id
from
<include refid="table"/>
<where>
invite_code=#{beInvitedCode}
</where>
</select>
<select id="InvitedCode2" resultType="cn.wisenergy.model.app.LastMonthUserInfo" parameterType="string">
select
*
from
user_info
<where>
invite_code=#{inviteCode}
</where>
</select>
<select id="getuserIdById" resultType="java.lang.Integer">
select
id
from
user_info
<where>
user_id=#{userId}
</where>
</select>
<select id="BYQMById" resultType="String">
select
be_invited_code
from
<include refid="table"/>
<where>
user_id=#{userId}
</where>
</select>
<update id="edit1">
update
user_info
<set>
<if test="userLevel != null">user_level =#{userLevel},</if>
<if test="inviteCode != null">invite_code =#{inviteCode},</if>
create_time =now(),
update_time =now()
</set>
<where>
user_id = #{userId}
</where>
</update>
<!--分页查询所有用户信息 -->
<select id="getUsersListByMap" resultType="cn.wisenergy.model.app.LastMonthUserInfo" parameterType="java.util.Map">
select id as id,
user_id as userId,
password as password,
user_level as userLevel,
cross_border_line as crossBorderLine,
id_card_number as idCardNumber,
fans_nickname as fansNickname,
invite_code as inviteCode,
be_invited_code as beInvitedCode,
create_time as createTime,
update_time as updateTime
from user_info
<trim prefix="where" prefixOverrides="and | or">
<if test="id != null">
and id=#{id}
</if>
<if test="account != null and account!=''">
and userId=#{userId}
</if>
<if test="password != null and password!=''">
and password=#{password}
</if>
<if test="salt != null and salt!=''">
and userLevel=#{userLevel}
</if>
<if test="sex != null">
and idCardNumber=#{idCardNumber}
</if>
<if test="isAuthentication != null">
and fansNickname=#{fansNickname}
</if>
<if test="name != null and name!=''">
and inviteCode=#{inviteCode}
</if>
<if test="cardNo != null and cardNo!=''">
and beInvitedCode=#{beInvitedCode}
</if>
<if test="null!=creatdTime">
and creatdTime=#{creatdTime}
</if>
<if test="null!=updatedTime">
and updatedTime=#{updatedTime}
</if>
</trim>
<if test="beginPos != null and pageSize != null ">
limit #{beginPos},#{pageSize}
</if>
</select>
<!-- 获取当前用户的所有直接推荐人-->
<select id="getByInviteCode" resultType="cn.wisenergy.model.app.LastMonthUserInfo" parameterType="string">
select
<include refid="cols_all"/>
from
<include refid="table"/>
<where>
be_invited_code=#{inviteCode}
and user_level=#{userLevel}
</where>
</select>
<select id="queryByInviteCode" resultType="cn.wisenergy.model.app.LastMonthUserInfo">
select
<include refid="cols_all"/>
from
<include refid="table"/>
<where>
invite_code=#{inviteCode}
</where>
</select>
<select id="getByLevel" resultType="cn.wisenergy.model.app.LastMonthUserInfo">
select
<include refid="cols_all"/>
from
<include refid="table"/>
<where>
user_level=#{userLevel}
</where>
</select>
<select id="getUserByIntiveCode" parameterType="string" resultType="string">
select user_id
from
<include refid="table"/>
where
invite_code = #{beInvitedCode}
</select>
<select id="getUserIdByIntiveCode" resultType="string" parameterType="string">
select user_id
from
<include refid="table"/>
where
invite_code = #{outerUserId}
</select>
<select id="getAerialDeliveryUserBeforOneMonth" resultType="cn.wisenergy.model.app.LastMonthUserInfo">
select
<include refid="cols_all"/>
from
<include refid="table"/>
where
be_invited_code = '1'
and DATE_FORMAT(create_time,'%Y-%m-%d')
BETWEEN #{before} AND #{now}
</select>
<select id="randOneGetUserByUserId" resultType="cn.wisenergy.model.app.LastMonthUserInfo">
SELECT
<include refid="cols_all"/>
FROM
<include refid="table"/>
WHERE id &lt; #{id}
ORDER BY RAND() LIMIT 1
</select>
<select id="getListByIntvitedCode" resultType="cn.wisenergy.model.app.LastMonthUserInfo">
select
<include refid="cols_all"/>
from
<include refid="table"/>
where be_invited_code = #{intiveCode}
</select>
<select id="getuserByBeInvitedCode" resultType="cn.wisenergy.model.app.LastMonthUserInfo">
select
<include refid="cols_all"/>
from
<include refid="table"/>
where
invite_code = #{be_invited_code}
</select>
<select id="getListUserByBeInvitedCode" resultType="cn.wisenergy.model.app.LastMonthUserInfo">
select
<include refid="cols_all"/>
from
<include refid="table"/>
where
be_invited_code = #{be_invited_code}
</select>
<select id="getUserByInviteCode" resultType="cn.wisenergy.model.app.LastMonthUserInfo">
select
<include refid="cols_all"/>
from
<include refid="table"/>
where
invite_code = #{inviteCode}
</select>
<select id="getUserByUserId" resultType="cn.wisenergy.model.app.LastMonthUserInfo">
select
<include refid="cols_all"/>
from
<include refid="table"/>
where
user_id = #{userId}
</select>
<select id="getAll" resultType="cn.wisenergy.model.app.LastMonthUserInfo">
select
<include refid="cols_all"/>
from
<include refid="table"/>
</select>
</mapper>
......@@ -172,6 +172,8 @@
<include refid="table"/>
where
month_order_status = #{monthOrderStatus}
and
success_time is not null
</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.UserDataInfoMapper">
<resultMap id="UserDataInfoMap" type="cn.wisenergy.model.app.UserDataInfo">
<id column="id" property="id"/>
<result column="user_id" property="userId"/>
<result column="invite_code" property="inviteCode"/>
<result column="be_invited_code" property="beInvitedCode"/>
<result column="level_status" property="levelStatus"/>
<result column="create_time" property="createTime"/>
<result column="update_time" property="updateTime"/>
</resultMap>
<sql id="table">
user_data_info
</sql>
<sql id="cols_all">
id,
<include refid="cols_exclude_id"/>
</sql>
<sql id="cols_exclude_id">
user_id,invite_code,be_invited_code,level_status,create_time,update_time
</sql>
<sql id="vals">
#{userId},#{inviteCode},#{beInvitedCode},#{levelStatus},now(),now()
</sql>
<sql id="updateCondition">
<if test="userId != null">user_id = #{userId},</if>
<if test="inviteCode != null">invite_code = #{inviteCode},</if>
<if test="beInvitedCode != null">be_invited_code = #{beInvitedCode},</if>
<if test="levelStatus != null">level_status = #{levelStatus},</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="inviteCode != null">and invite_code = #{inviteCode}</if>
<if test="beInvitedCode != null">and be_invited_code = #{beInvitedCode}</if>
<if test="levelStatus != null">and level_status = #{levelStatus}</if>
<if test="createTime != null">and create_time &gt;= #{createTime}</if>
<if test="updateTime != null">and #{updateTime} &gt;= update_time</if>
</sql>
<insert id="add" parameterType="cn.wisenergy.model.app.UserDataInfo" keyProperty="id" useGeneratedKeys="true">
insert into
<include refid="table"/>
(<include refid="cols_exclude_id"/>)
value(
<include refid="vals"/>
)
</insert>
<select id="getALl" resultType="cn.wisenergy.model.app.UserDataInfo">
select
<include refid="cols_all"/>
from
<include refid="table"/>
</select>
<select id="getListByLevelStatus" resultType="cn.wisenergy.model.app.UserDataInfo">
select
<include refid="cols_all"/>
from
<include refid="table"/>
where
level_status = #{levelStatus}
</select>
</mapper>
\ No newline at end of file
package cn.wisenergy.model.app;
import com.baomidou.mybatisplus.annotation.TableName;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import java.io.Serializable;
import java.util.Date;
@Data
@ApiModel(value = "LastMonthCultivatingPrizeInfo")
@TableName("lastmonth_cultivating_prize_info")
public class LastMonthCultivatingPrizeInfo implements Serializable {
/**
* 主键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.app;
import com.baomidou.mybatisplus.annotation.TableName;
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;
/**
*@ Description: 上月直推用户实体类
*@ Author : zw
*@ Date : 2021/3/25 11:24
* @author zw
*/
@Data
@ApiModel(value = "LastmonthRecommendUser")
@TableName("lastmonth_recommend_user")
public class LastMonthRecommendUser implements Serializable {
/**
* 直推用户主键id
*/
@ApiModelProperty(name = "id", value = "直推用户主键id")
private Integer id;
/**
* 用户id
*/
@ApiModelProperty(name = "user_id", value = "用户id")
private String userId;
/**
* 普通用户数量
*/
@ApiModelProperty(name = "normal_user_num", value = "普通用户数量")
private Integer normalUserNum;
/**
* 幼苗数量
*/
@ApiModelProperty(name = "seedling_num", value = "幼苗数量")
private Integer seedlingNum;
/**
* 青铜树数量
*/
@ApiModelProperty(name = " bronze_tree_num", value = "青铜树数量")
private Integer bronzeTreeNum;
/**
* 白银树数量
*/
@ApiModelProperty(name = "silver_tree_num", value = "白银树数量")
private Integer silverTreeNum;
/**
* 黄金树数量
*/
@ApiModelProperty(name = "gold_tree_num", value = "黄金树数量")
private Integer goldTreeNum;
/**
* 农场主数量
*/
@ApiModelProperty(name = "farmer_num", value = "农场主数量")
private Integer farmerNum;
/**
* 森林之星数量
*/
@ApiModelProperty(name = "forest_start_num", value = "森林之星数量")
private Integer forestStartNum;
/**
* 西田森合伙人数量
*/
@ApiModelProperty(name = "partner_num", value = "西田森合伙人数量")
private Integer partnerNum;
/**
* 创建时间
*/
@ApiModelProperty(name = "create_time", value = "创建时间")
private Date createTime;
/**
* 更新时间
*/
@ApiModelProperty(name = "update_time", value = "更新时间")
private Date updateTime;
/**
* 用户当月消费金额
*/
@ApiModelProperty(name = "monthy_count", value = "用户当月消费金额")
private BigDecimal monthyCount;
/**
* 用户当月消费金额
*/
@ApiModelProperty(name = "history_count", value = "用户累计消费金额")
private BigDecimal historyCount;
}
package cn.wisenergy.model.app;
import com.baomidou.mybatisplus.annotation.TableName;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import java.io.Serializable;
import java.util.Date;
/**
*@ Description: 上月团队用户实体类
*@ Author : zw
*@ Date : 2021/3/25 11:24
* @author zw
*/
@Data
@ApiModel
@TableName("lastmonth_team_user_info")
public class LastMonthTeamUserInfo implements Serializable {
/**
* 团队用户主键id
*/
@ApiModelProperty(name = "id", value = "团队用户主键id")
private Integer id;
/**
* 用户id
*/
@ApiModelProperty(name = "userId", value = "用户id")
private String userId;
/**
* 普通用户数量
*/
@ApiModelProperty(name = "normal_user_num", value = "普通用户数量")
private Integer normalUserNum;
/**
* 幼苗数量
*/
@ApiModelProperty(name = "seedling_num", value = "幼苗数量")
private Integer seedlingNum;
/**
* 青铜树数量
*/
@ApiModelProperty(name = " bronze_tree_num", value = "青铜树数量")
private Integer bronzeTreeNum;
/**
* 白银树数量
*/
@ApiModelProperty(name = "silver_tree_num", value = "白银树数量")
private Integer silverTreeNum;
/**
* 黄金树数量
*/
@ApiModelProperty(name = "gold_tree_num", value = "黄金树数量")
private Integer goldTreeNum;
/**
* 农场主数量
*/
@ApiModelProperty(name = "farmer_num", value = "农场主数量")
private Integer farmerNum;
/**
* 森林之星数量
*/
@ApiModelProperty(name = "forest_start_num", value = "森林之星数量")
private Integer forestStartNum;
/**
* 西田森合伙人数量
*/
@ApiModelProperty(name = "partner_num", value = "西田森合伙人数量")
private Integer partnerNum;
/**
* 创建时间
*/
@ApiModelProperty(name = "createTime", value = "创建时间")
private Date createTime;
/**
* 更新时间
*/
@ApiModelProperty(name = "updateTime", value = "更新时间")
private Date updateTime;
}
package cn.wisenergy.model.app;
import com.baomidou.mybatisplus.annotation.TableName;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
......@@ -16,6 +17,7 @@ import java.util.Date;
*/
@Data
@ApiModel
@TableName("lastmonth_user_info")
public class LastMonthUserInfo implements Serializable {
/**
* 主键id
......
package cn.wisenergy.model.app;
import com.baomidou.mybatisplus.annotation.TableName;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import java.io.Serializable;
import java.util.Date;
/**
* @author 86187
* @ Description : 用户填写邀请码行为记录详情表
* @ Author : zw
* @ CreateDate : 2020/3/25 10:42
*/
@Data
@ApiModel("UserDataInfo")
@TableName("user_data_info")
public class UserDataInfo implements Serializable {
@ApiModelProperty(name = "id",value = "主键id")
private int id;
@ApiModelProperty(name = "user_id",value = "用户id")
private String userId;
@ApiModelProperty(name = "inviteCode",value = "邀请码")
private String inviteCode;
@ApiModelProperty(name = "beInvitedCode",value = "推荐人邀请码")
private String beInvitedCode;
/**
* 0:该条记录未进行升级处理
* 1:该条记录已进行升级处理
*/
@ApiModelProperty(name="levelStatus",value = "是否计算升级状态")
private int levelStatus;
@ApiModelProperty(name = "createTime",value = "创建时间")
private Date createTime;
@ApiModelProperty(name = "updateTime",value = "修改时间")
private Date updateTime;
}
package cn.wisenergy.service.Manager;
import cn.wisenergy.mapper.UserDataInfoMapper;
import cn.wisenergy.mapper.UsersMapper;
import cn.wisenergy.model.app.User;
import cn.wisenergy.model.app.UserDataInfo;
import lombok.extern.slf4j.Slf4j;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Component;
@Component
@Slf4j
public class UserDataInfoManager {
@Autowired
private UserDataInfoMapper userDataInfoMapper;
@Autowired
private UsersMapper usersMapper;
//记录用户设置邀请码的行为数据
public boolean addUserSetBeInvitedCodeDoc(String userId , String invitedUserId){
if (null != userId && null != invitedUserId){
User userByUserId = usersMapper.getUserByUserId(userId);
User inviteduserByUserId = usersMapper.getUserByUserId(invitedUserId);
if (null != userByUserId && null != inviteduserByUserId){
//用户自身的邀请码
String inviteCode = userByUserId.getInviteCode();
//推荐人的邀请码
String beInvitedCode = inviteduserByUserId.getInviteCode();
UserDataInfo userDataInfo = new UserDataInfo();
userDataInfo.setUserId(userId);
userDataInfo.setInviteCode(inviteCode);
userDataInfo.setBeInvitedCode(beInvitedCode);
userDataInfo.setLevelStatus(0);
userDataInfoMapper.add(userDataInfo);
return true;
}
}
return false;
}
}
......@@ -2,5 +2,20 @@ package cn.wisenergy.service.app;
public interface LastMonthUserInfoService {
/**
* 镜像上一个时间节点的用户表
* 直推表
* 团队表
* 培育奖记录表
*/
void userInfoMirrorImage();
/**
* 用户升级月度任务执行完成以后执行用户表
* 直推表
* 团队表
* 培育奖记录表
* 的备份,以便下次月度定时任务的执行
*/
public void userInfoMirrorImageBack();
}
package cn.wisenergy.service.app;
public interface MonthUserLevelService {
/**
* 月度定时升级任务
*/
void monthUserLevelUpgrade(String userId);
}
......@@ -6,6 +6,8 @@ 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.model.app.UserDataInfo;
import cn.wisenergy.service.Manager.UserDataInfoManager;
import cn.wisenergy.service.app.AerialDeliveryUserService;
import lombok.extern.slf4j.Slf4j;
import org.springframework.beans.factory.annotation.Autowired;
......@@ -29,6 +31,9 @@ public class AerialDeliveryUserServiceImpl implements AerialDeliveryUserService
@Autowired
private TeamUserInfoMapper teamUserInfoMapper;
@Autowired
UserDataInfoManager userDataInfoManager;
@Autowired
UserLevelServiceImpl userLevelService;
......@@ -66,10 +71,12 @@ public class AerialDeliveryUserServiceImpl implements AerialDeliveryUserService
String randUserId = randUser.getUserId();
//2.1、随机用户的邀请码
String inviteCode = randUser.getInviteCode();
log.info("推荐人用户id------------" +randUserId+"推荐人用户邀请码----------"+inviteCode);
//2.2、设置当前用户的推荐人邀请码为 随机用户的inviteCode
user.setBeInvitedCode(inviteCode);
usersMapper.edit(user);
//用户团队与直推数据维护
userSetBeinviteCode(userId,randUserId);
usersMapper.edit(user);
}
}
......@@ -79,21 +86,13 @@ public class AerialDeliveryUserServiceImpl implements AerialDeliveryUserService
@Override
@Transactional
public void userSetBeinviteCode(String userId, String userInvitedId){
//3、上级用户的直推表数据维护
recommendInfoDataPreserve(userId,userInvitedId);
//4、用户的团队表数据维护
//Map<String, Integer> teamDataMap = teamUserInfoByAerialDelivery(userInvitedId, userId);
//4.1获取当前团队中最上级的用户对象
// User highUser = highUser(userId);
// if (null != highUser){
// //4.2 最上级用户id
// String highUserId = highUser.getUserId();
// //4.1整体团队数据维护
// teamData(teamDataMap, highUserId);
// }
//4、用户团队数据维护
teamDataPreserve(userId,userInvitedId);
//记录用户设置邀请码的行为数据
userDataInfoManager.addUserSetBeInvitedCodeDoc(userId, userInvitedId);
//5、查看当前用户是否要进行升级
userLevelService.userLevelUpgrade(userInvitedId);
}
......
......@@ -13,28 +13,78 @@ public class LastMonthUserInfoServiceImpl implements LastMonthUserInfoService {
@Autowired
private LastAccountMapper lastAccountMapper;
/**
* 镜像上一个时间节点的用户表
* 直推表
* 团队表
* 培育奖记录表
*/
@Override
public void userInfoMirrorImage() {
//把用户表user_info备份
log.info("user_info表进行镜像开始");
lastAccountMapper.copyTable("user_info","user_info_image");
lastAccountMapper.deleteTable("user_info_backup");
lastAccountMapper.updateTableName("user_info_image","user_info_backup");
lastAccountMapper.copyTable("user_info_backup", "user_info_image");
lastAccountMapper.deleteTable("lastmonth_user_info");
lastAccountMapper.updateTableName("user_info_image", "lastmonth_user_info");
log.info("user_info表进行镜像成功");
//recommend_user表备份
log.info("user_info表进行镜像开始");
lastAccountMapper.copyTable("recommend_user","recommend_user_image");
lastAccountMapper.deleteTable("recommend_user_backup");
lastAccountMapper.updateTableName("recommend_user_image","recommend_user_backup");
lastAccountMapper.copyTable("recommend_user_backup", "recommend_user_image");
lastAccountMapper.deleteTable("lastmonth_recommend_user");
lastAccountMapper.updateTableName("recommend_user_image", "lastmonth_recommend_user");
log.info("user_info表进行镜像成功");
//team_user_info表备份
log.info("user_info表进行镜像开始");
lastAccountMapper.copyTable("team_user_info","team_user_info_image");
lastAccountMapper.deleteTable("team_user_info_backup");
lastAccountMapper.updateTableName("team_user_info_image","team_user_info_backup");
lastAccountMapper.copyTable("team_user_info_backup", "team_user_info_image");
lastAccountMapper.deleteTable("lastmonth_team_user_info");
lastAccountMapper.updateTableName("team_user_info_image", "lastmonth_team_user_info");
log.info("user_info表进行镜像成功");
//镜像培育奖记录表
log.info("cultivating_prize_info表记录镜像开始");
lastAccountMapper.copyTable("cultivating_prize_info_backup", "cultivating_prize_info_image");
lastAccountMapper.deleteTable("lastmonth_cultivating_prize_info");
lastAccountMapper.updateTableName("cultivating_prize_info_image", "lastmonth_cultivating_prize_info");
log.info("cultivating_prize_info表记录镜像结束");
}
/**
* 用户升级月度任务执行完成以后执行用户表
* 直推表
* 团队表
* 培育奖记录表
* 的备份,以便下次月度定时任务的执行
*/
@Override
public void userInfoMirrorImageBack(){
//把用户表user_info备份
log.info("user_info表进行镜像开始");
lastAccountMapper.copyTable("user_info", "user_info_image");
lastAccountMapper.deleteTable("user_info_backup");
lastAccountMapper.updateTableName("user_info_image", "user_info_backup");
log.info("user_info表进行镜像成功");
//recommend_user表备份
log.info("recommend_user表进行镜像开始");
lastAccountMapper.copyTable("recommend_user", "recommend_user_image");
lastAccountMapper.deleteTable("recommend_user_backup");
lastAccountMapper.updateTableName("recommend_user_image", "recommend_user_backup");
log.info("recommend_user表进行镜像成功");
//team_user_info表备份
log.info("team_user_info表进行镜像开始");
lastAccountMapper.copyTable("team_user_info", "team_user_info_image");
lastAccountMapper.deleteTable("team_user_info_backup");
lastAccountMapper.updateTableName("team_user_info_image", "team_user_info_backup");
log.info("team_user_info表进行镜像成功");
//镜像培育奖记录表
log.info("cultivating_prize_info表进行镜像开始");
lastAccountMapper.copyTable("cultivating_prize_info", "cultivating_prize_info_image");
lastAccountMapper.deleteTable("cultivating_prize_info_backup");
lastAccountMapper.updateTableName("cultivating_prize_info_image", "cultivating_prize_info_backup");
log.info("cultivating_prize_info表进行镜像成功");
}
}
package cn.wisenergy.service.app.impl;
import cn.wisenergy.mapper.*;
import cn.wisenergy.model.app.*;
import cn.wisenergy.model.enums.TradeRecordEnum;
import cn.wisenergy.service.app.MonthUserLevelService;
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;
@Service
@Slf4j
public class MonthUserLevelServiceImpl implements MonthUserLevelService {
@Autowired
private OrderMapper orderMapper;
@Autowired
private CultivatingPrizeMapper cultivatingPrizeMapper;
@Autowired
private TradeRecordMapper tradeRecordMapper;
@Autowired
private LastMonthUserInfoMapper lastMonthUserInfoMapper;
@Autowired
private LastMonthRecommendUserMapper lastMonthRecommendUserMapper;
@Autowired
private LastMonthTeamUserInfoMapper lastMonthTeamUserInfoMapper;
@Autowired
private LastMonthCultivatingPrizeInfoMapper lastMonthCultivatingPrizeInfoMapper;
//系统推荐人邀请码
private static final String monthSysInviteCode1 = "1";
private static final String monthSysInviteCode2 = "88888888";
@Transactional
@Override
public void monthUserLevelUpgrade(String userId) {
//当前用户对象
LastMonthUserInfo user = lastMonthUserInfoMapper.getByUserId(userId);
//当前用户直推表对象
LastMonthRecommendUser recommendUser = lastMonthRecommendUserMapper.getByUserId(userId);
//当前用户团队信息表对象
// TeamUserInfo teamUserInfoMapperByUserId = lastMonthTeamUserInfoMapper.getByUserId(userId);
LastMonthTeamUserInfo teamUserInfoMapperByUserId = lastMonthTeamUserInfoMapper.getByUserId(userId);
//当前用户等级
Integer userLevel = user.getUserLevel();
//当前用户的累计消费
BigDecimal performanceByUserid = new BigDecimal(0);
if (userLevel == 0){
//计算当前用户业绩
performanceByUserid = orderMapper.getPerformanceByUserid(userId);
if (null == performanceByUserid) {
performanceByUserid = new BigDecimal(0);
}
}
//当前用户的推荐人邀请码
String beInvitedCode = user.getBeInvitedCode();
//
String inviteUserId = "";
LastMonthRecommendUser inviteRecommendUser = new LastMonthRecommendUser();
//若当前用户的推荐人邀请码是 “1” 时 则当前用户没有邀请人
if (!monthSysInviteCode1.equals(beInvitedCode) && !monthSysInviteCode2.equals(beInvitedCode)) {
//通过当前用户推荐人邀请码获取邀请人的userId
LastMonthUserInfo byBeInvitedCode = lastMonthUserInfoMapper.getByBeInvitedCode(beInvitedCode);
if (null != byBeInvitedCode) {
inviteUserId = byBeInvitedCode.getUserId();
//邀请人的直推用户信息
inviteRecommendUser = lastMonthRecommendUserMapper.getByUserId(inviteUserId);
}
}
//用户等级升级为幼苗 1
//若当前用户等级为0(普通用户)且跨境额度(业绩消费金额)>= 3980 进行升级0-->1
//todo:根据业绩去计算 查一次表获取业绩
if (userLevel == 0 && performanceByUserid.intValue() >= 3980) {
user.setUserLevel(1);
lastMonthUserInfoMapper.updateById(user);
//同步accountInfo 和TeamPerformance 的用户等级
//todo: accountInfo 和TeamPerformance 需要镜像吗
// accountAndTeamPerformanceUserLevelUpdate(userId);
//用户的推荐人邀请码为1或者88888888时 没有上级用户
if (monthSysInviteCode1.equals(beInvitedCode) || monthSysInviteCode2.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);
lastMonthRecommendUserMapper.updateById(inviteRecommendUser);
//团队用户表数据维护
lastmonthTeamUserInfoNormalToSeed(inviteUserId);
//上级用户获得幼苗等级的培育奖
int level = 1;
lastmonthCultivatingPrizeToInvitedUser(userId, inviteUserId, level);
//用户升级成功时,进行邀请人等级自查是否达到升级条件
monthUserLevelUpgrade(inviteUserId);
}
}
//用户等级升级为青铜树 2
//当前用户等级为幼苗用户(1)时 且当前用户直推人数中幼苗等级>=5人<20人时
if (userLevel == 1 && recommendUser.getSeedlingNum() >= 3
&& recommendUser.getSeedlingNum() < 15) {
//用户升级成功
user.setUserLevel(2);
lastMonthUserInfoMapper.updateById(user);
//同步accountInfo 和TeamPerformance 的用户等级
// accountAndTeamPerformanceUserLevelUpdate(userId);
////用户的推荐人邀请码为1或者88888888时 没有上级用户
if (monthSysInviteCode1.equals(beInvitedCode) || monthSysInviteCode2.equals(beInvitedCode)) {
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);
lastMonthRecommendUserMapper.updateById(inviteRecommendUser);
//团队用户表数据维护
lastmonthTeamUserInfoSeedToBronze(inviteUserId);
//上级用户获得幼苗等级的培育奖
int level = 2;
lastmonthCultivatingPrizeToInvitedUser(userId, inviteUserId, level);
//用户升级成功时,进行邀请人等级自查是否达到升级条件
monthUserLevelUpgrade(inviteUserId);
}
}
//用户等级升级为白银树 3
if (userLevel == 2 && recommendUser.getSeedlingNum() >= 15
&& recommendUser.getSeedlingNum() < 20) {
user.setUserLevel(3);
lastMonthUserInfoMapper.updateById(user);
//同步accountInfo 和TeamPerformance 的用户等级
// accountAndTeamPerformanceUserLevelUpdate(userId);
//用户的推荐人邀请码为1或者88888888时 没有上级用户
if (monthSysInviteCode1.equals(beInvitedCode) || monthSysInviteCode2.equals(beInvitedCode)) {
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);
lastMonthRecommendUserMapper.updateById(inviteRecommendUser);
//团队用户表数据维护
lastmonthTeamUserInfoBronzeToSilver(inviteUserId);
//上级用户获得幼苗等级的培育奖
int level = 3;
lastmonthCultivatingPrizeToInvitedUser(userId, inviteUserId, level);
//用户升级成功时,进行邀请人等级自查是否达到升级条件
monthUserLevelUpgrade(inviteUserId);
}
}
//用户等级升级为黄金树 4
//:todo 条件:团队中青铜树数量>=20
if (userLevel == 3 && recommendUser.getSeedlingNum() >= 20
&& recommendUser.getSilverTreeNum() >= 2
&& teamUserInfoMapperByUserId.getSeedlingNum() >= 30
&& teamUserInfoMapperByUserId.getBronzeTreeNum() >= 20) {
user.setUserLevel(4);
lastMonthUserInfoMapper.updateById(user);
//同步accountInfo 和TeamPerformance 的用户等级
// accountAndTeamPerformanceUserLevelUpdate(userId);
////用户的推荐人邀请码为1或者88888888时 没有上级用户
if (monthSysInviteCode1.equals(beInvitedCode) || monthSysInviteCode2.equals(beInvitedCode)) {
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);
lastMonthRecommendUserMapper.updateById(inviteRecommendUser);
//团队用户表数据维护
lastmonthTeamUserInfoSilverToGoldTree(inviteUserId);
//上级用户获得幼苗等级的培育奖
int level = 4;
lastmonthCultivatingPrizeToInvitedUser(userId, inviteUserId, level);
//用户升级成功时,进行邀请人等级自查是否达到升级条件
monthUserLevelUpgrade(inviteUserId);
}
}
//用户等级级升级为农场主 5
//:todo 条件:团队中白银树数量>=40
if (userLevel == 4 && recommendUser.getSeedlingNum() >= 30
&& recommendUser.getGoldTreeNum() >= 2
&& teamUserInfoMapperByUserId.getSeedlingNum() >=70
&& teamUserInfoMapperByUserId.getSilverTreeNum() >= 40) {
user.setUserLevel(5);
lastMonthUserInfoMapper.updateById(user);
//同步accountInfo 和TeamPerformance 的用户等级
// accountAndTeamPerformanceUserLevelUpdate(userId);
//用户的推荐人邀请码为1或者88888888时 没有上级用户
if (monthSysInviteCode1.equals(beInvitedCode) || monthSysInviteCode2.equals(beInvitedCode)) {
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);
lastMonthRecommendUserMapper.updateById(inviteRecommendUser);
//团队用户表数据维护
lastmonthTeamUserInfoGoldTreeToFarmer(inviteUserId);
//上级用户获得幼苗等级的培育奖
int level = 5;
lastmonthCultivatingPrizeToInvitedUser(userId, inviteUserId, level);
//用户升级成功时,进行邀请人等级自查是否达到升级条件
monthUserLevelUpgrade(inviteUserId);
}
}
//用户等级升级为森林之星 6
if (userLevel == 5 && recommendUser.getSeedlingNum() >= 40
&& recommendUser.getFarmerNum() >= 2
&& teamUserInfoMapperByUserId.getSeedlingNum() >=80
&& teamUserInfoMapperByUserId.getSilverTreeNum() >= 70
&& teamUserInfoMapperByUserId.getGoldTreeNum() >= 30) {
user.setUserLevel(6);
lastMonthUserInfoMapper.updateById(user);
//同步accountInfo 和TeamPerformance 的用户等级
// accountAndTeamPerformanceUserLevelUpdate(userId);
//用户的推荐人邀请码为1或者88888888时 没有上级用户
if (monthSysInviteCode1.equals(beInvitedCode) || monthSysInviteCode2.equals(beInvitedCode)) {
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);
lastMonthRecommendUserMapper.updateById(inviteRecommendUser);
//团队用户表数据维护
lastmonthTeamUserInfoFarmerToForestStart(inviteUserId);
//上级用户获得幼苗等级的培育奖
int level = 6;
lastmonthCultivatingPrizeToInvitedUser(userId, inviteUserId, level);
//用户升级成功时,进行邀请人等级自查是否达到升级条件
monthUserLevelUpgrade(inviteUserId);
}
}
//用户等级升级为西田森合伙人 7
//:todo 条件:团队中白银树数量>=90 && 条件:团队中黄金树数量>=50 条件:团队中农场主数量>=30
if (userLevel == 6 && recommendUser.getSeedlingNum() >= 50
&& recommendUser.getForestStartNum() >= 2
&& teamUserInfoMapperByUserId.getSeedlingNum() >= 100
&& teamUserInfoMapperByUserId.getSilverTreeNum() >= 90
&& teamUserInfoMapperByUserId.getGoldTreeNum() >= 50
&& teamUserInfoMapperByUserId.getFarmerNum() >= 30) {
user.setUserLevel(7);
lastMonthUserInfoMapper.updateById(user);
//同步accountInfo 和TeamPerformance 的用户等级
// accountAndTeamPerformanceUserLevelUpdate(userId);
//用户的推荐人邀请码为1或者88888888时 没有上级用户
if (monthSysInviteCode1.equals(beInvitedCode) || monthSysInviteCode2.equals(beInvitedCode)) {
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);
lastMonthRecommendUserMapper.updateById(inviteRecommendUser);
//团队用户表数据维护
lastmonthTeamUserInfoForestStartToPartner(inviteUserId);
//上级用户获得幼苗等级的培育奖
int level = 7;
lastmonthCultivatingPrizeToInvitedUser(userId, inviteUserId, level);
//用户升级成功时,进行邀请人等级自查是否达到升级条件
monthUserLevelUpgrade(inviteUserId);
}
}
}
/**
* 团队用户表数据维护(普通用户升级至幼苗用户时)
*
* @param inviteUserId 邀请人userid
*/
private void lastmonthTeamUserInfoNormalToSeed(String inviteUserId) {
if (!"".equals(inviteUserId)){
//邀请人的团队信息表对象
// TeamUserInfo teamNumInfoBuyId = lastMonthTeamUserInfoMapper.getByUserId(inviteUserId);
LastMonthTeamUserInfo teamNumInfoBuyId = lastMonthTeamUserInfoMapper.getByUserId(inviteUserId);
//邀请人的用户表对象
LastMonthUserInfo intiveUserByUserId = lastMonthUserInfoMapper.getByUserId(teamNumInfoBuyId.getUserId());
String beinvitedCodeUserId = "";
//邀请人的推荐人邀请码
String inviteCode = intiveUserByUserId.getBeInvitedCode();
if (!monthSysInviteCode1.equals(inviteUserId) && !monthSysInviteCode2.equals(inviteUserId)) {
//通过邀请人的用户信息获取邀请人的推荐人邀请码
LastMonthUserInfo byBeInvitedCode = lastMonthUserInfoMapper.getByBeInvitedCode(inviteCode);
if (null != byBeInvitedCode) {
beinvitedCodeUserId = byBeInvitedCode.getUserId();
}
}
if (teamNumInfoBuyId.getNormalUserNum() == 0) {
teamNumInfoBuyId.setNormalUserNum(teamNumInfoBuyId.getNormalUserNum());
} else {
//普通用户数量-1
teamNumInfoBuyId.setNormalUserNum(teamNumInfoBuyId.getNormalUserNum() - 1);
}
//邀请人的团队用户信息表中幼苗数量 + 1
//第一波用户是谁邀请的
teamNumInfoBuyId.setSeedlingNum(teamNumInfoBuyId.getSeedlingNum() + 1);
lastMonthTeamUserInfoMapper.updateById(teamNumInfoBuyId);
if (monthSysInviteCode1.equals(inviteUserId) || monthSysInviteCode2.equals(inviteUserId)) {
return;
}
//递归向上修改团队用户信息表
if (!"".equals(beinvitedCodeUserId)) {
lastmonthTeamUserInfoNormalToSeed(beinvitedCodeUserId);
}
}
}
/**
* 团队用户表数据维护(幼苗用户升级至青铜用户时)
*
* @param inviteUserId 邀请人userid
*/
private void lastmonthTeamUserInfoSeedToBronze(String inviteUserId) {
if (!"".equals(inviteUserId)){
//邀请人的团队信息表对象
// TeamUserInfo teamNumInfoBuyId = lastMonthTeamUserInfoMapper.getByUserId(inviteUserId);
LastMonthTeamUserInfo teamNumInfoBuyId = lastMonthTeamUserInfoMapper.getByUserId(inviteUserId);
//邀请人的用户表对象
LastMonthUserInfo byUserId = lastMonthUserInfoMapper.getByUserId(teamNumInfoBuyId.getUserId());
String beinvitedCodeUserId = "";
String inviteCode = byUserId.getBeInvitedCode();
if (!monthSysInviteCode1.equals(inviteUserId) && !monthSysInviteCode2.equals(inviteUserId)) {
//通过邀请人的用户信息获取邀请人的推荐人邀请码
beinvitedCodeUserId = lastMonthUserInfoMapper.getByBeInvitedCode(inviteCode).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);
lastMonthTeamUserInfoMapper.updateById(teamNumInfoBuyId);
if (monthSysInviteCode1.equals(inviteUserId) || monthSysInviteCode2.equals(inviteUserId)) {
return;
}
//递归向上修改团队用户信息表
if ("".equals(beinvitedCodeUserId)){
lastmonthTeamUserInfoSeedToBronze(beinvitedCodeUserId);
}
}
}
/**
* 团队用户表数据维护(青铜树用户升级至白银树用户时)
*
* @param inviteUserId 邀请人userid
*/
private void lastmonthTeamUserInfoBronzeToSilver(String inviteUserId) {
if (!"".equals(inviteUserId)){
//邀请人的团队信息表对象
// TeamUserInfo teamNumInfoBuyId = lastMonthTeamUserInfoMapper.getByUserId(inviteUserId);
LastMonthTeamUserInfo teamNumInfoBuyId = lastMonthTeamUserInfoMapper.getByUserId(inviteUserId);
//邀请人的用户表对象
LastMonthUserInfo byUserId = lastMonthUserInfoMapper.getByUserId(teamNumInfoBuyId.getUserId());
String beinvitedCodeUserId = "";
String inviteCode = byUserId.getBeInvitedCode();
if (!monthSysInviteCode1.equals(inviteUserId) && !monthSysInviteCode2.equals(inviteUserId)) {
//通过邀请人的用户信息获取邀请人的推荐人邀请码
beinvitedCodeUserId = lastMonthUserInfoMapper.getByBeInvitedCode(inviteCode).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);
lastMonthTeamUserInfoMapper.updateById(teamNumInfoBuyId);
if (monthSysInviteCode1.equals(inviteUserId) || monthSysInviteCode2.equals(inviteUserId)) {
return;
}
//递归向上修改团队用户信息表
if ("".equals(beinvitedCodeUserId)){
lastmonthTeamUserInfoBronzeToSilver(beinvitedCodeUserId);
}
}
}
/**
* 团队用户表数据维护(白银树用户升级至黄金树用户时)
*
* @param inviteUserId 邀请人userid
*/
private void lastmonthTeamUserInfoSilverToGoldTree(String inviteUserId) {
if(!"".equals(inviteUserId)){
//邀请人的团队信息表对象
// TeamUserInfo teamNumInfoBuyId = lastMonthTeamUserInfoMapper.getByUserId(inviteUserId);
LastMonthTeamUserInfo teamNumInfoBuyId = lastMonthTeamUserInfoMapper.getByUserId(inviteUserId);
//邀请人的用户表对象
LastMonthUserInfo byUserId = lastMonthUserInfoMapper.getByUserId(teamNumInfoBuyId.getUserId());
String beinvitedCodeUserId = "";
String inviteCode = byUserId.getBeInvitedCode();
if (!monthSysInviteCode1.equals(inviteUserId) && !monthSysInviteCode2.equals(inviteUserId)) {
//通过邀请人的用户信息获取邀请人的推荐人邀请码
beinvitedCodeUserId = lastMonthUserInfoMapper.getByBeInvitedCode(inviteCode).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);
lastMonthTeamUserInfoMapper.updateById(teamNumInfoBuyId);
if (monthSysInviteCode1.equals(inviteUserId) || monthSysInviteCode2.equals(inviteUserId)) {
return;
}
//递归向上修改团队用户信息表
if ("".equals(beinvitedCodeUserId)){
lastmonthTeamUserInfoSilverToGoldTree(beinvitedCodeUserId);
}
}
}
/**
* 团队用户表数据维护(黄金树用户升级至农场主用户时)
*
* @param inviteUserId 邀请人userid
*/
private void lastmonthTeamUserInfoGoldTreeToFarmer(String inviteUserId) {
if (!"".equals(inviteUserId)){
//邀请人的团队信息表对象
// TeamUserInfo teamNumInfoBuyId = lastMonthTeamUserInfoMapper.getByUserId(inviteUserId);
LastMonthTeamUserInfo teamNumInfoBuyId = lastMonthTeamUserInfoMapper.getByUserId(inviteUserId);
//邀请人的用户表对象
LastMonthUserInfo byUserId = lastMonthUserInfoMapper.getByUserId(teamNumInfoBuyId.getUserId());
String beinvitedCodeUserId = "";
String inviteCode = byUserId.getBeInvitedCode();
if (!monthSysInviteCode1.equals(inviteUserId) && !monthSysInviteCode2.equals(inviteUserId)) {
//通过邀请人的用户信息获取邀请人的推荐人邀请码
beinvitedCodeUserId = lastMonthUserInfoMapper.getByBeInvitedCode(inviteCode).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);
lastMonthTeamUserInfoMapper.updateById(teamNumInfoBuyId);
if (monthSysInviteCode1.equals(inviteUserId) || monthSysInviteCode2.equals(inviteUserId)) {
return;
}
//递归向上修改团队用户信息表
if ("".equals(beinvitedCodeUserId)){
lastmonthTeamUserInfoGoldTreeToFarmer(beinvitedCodeUserId);
}
}
}
/**
* 团队用户表数据维护(农场主用户升级至森林之星用户时)
*
* @param inviteUserId 邀请人userid
*/
private void lastmonthTeamUserInfoFarmerToForestStart(String inviteUserId) {
if (!"".equals(inviteUserId)){
//邀请人的团队信息表对象
// TeamUserInfo teamNumInfoBuyId = lastMonthTeamUserInfoMapper.getByUserId(inviteUserId);
LastMonthTeamUserInfo teamNumInfoBuyId = lastMonthTeamUserInfoMapper.getByUserId(inviteUserId);
//邀请人的用户表对象
LastMonthUserInfo byUserId = lastMonthUserInfoMapper.getByUserId(teamNumInfoBuyId.getUserId());
String beinvitedCodeUserId = "";
String inviteCode = byUserId.getBeInvitedCode();
if (!monthSysInviteCode1.equals(inviteUserId) && !monthSysInviteCode2.equals(inviteUserId)) {
//通过邀请人的用户信息获取邀请人的推荐人邀请码
beinvitedCodeUserId = lastMonthUserInfoMapper.getByBeInvitedCode(inviteCode).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);
lastMonthTeamUserInfoMapper.updateById(teamNumInfoBuyId);
if (monthSysInviteCode1.equals(inviteUserId) || monthSysInviteCode2.equals(inviteUserId)) {
return;
}
//递归向上修改团队用户信息表
if ("".equals(beinvitedCodeUserId)){
lastmonthTeamUserInfoFarmerToForestStart(beinvitedCodeUserId);
}
}
}
/**
* 团队用户表数据维护(森林之星用户升级至西田森合伙人用户时)
*
* @param inviteUserId 邀请人userid
*/
private void lastmonthTeamUserInfoForestStartToPartner(String inviteUserId) {
if (!"".equals(inviteUserId)){
//邀请人的团队信息表对象
// TeamUserInfo teamNumInfoBuyId = lastMonthTeamUserInfoMapper.getByUserId(inviteUserId);
LastMonthTeamUserInfo teamNumInfoBuyId = lastMonthTeamUserInfoMapper.getByUserId(inviteUserId);
//邀请人的用户表对象
LastMonthUserInfo byUserId = lastMonthUserInfoMapper.getByUserId(teamNumInfoBuyId.getUserId());
String beinvitedCodeUserId = "";
String inviteCode = byUserId.getBeInvitedCode();
if (!monthSysInviteCode1.equals(inviteUserId) && !monthSysInviteCode2.equals(inviteUserId)) {
//通过邀请人的用户信息获取邀请人的推荐人邀请码
beinvitedCodeUserId = lastMonthUserInfoMapper.getByBeInvitedCode(inviteCode).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);
lastMonthTeamUserInfoMapper.updateById(teamNumInfoBuyId);
if (monthSysInviteCode1.equals(inviteUserId) || monthSysInviteCode2.equals(inviteUserId)) {
return;
}
if ("".equals(beinvitedCodeUserId)){
lastmonthTeamUserInfoForestStartToPartner(beinvitedCodeUserId);
}
}
}
/**
* 培育奖给到上级用户
*
* @param userId 当前用户id
* @param inviteUserId 上级用户id
* @param level 当前用户升级后的等级
*/
public void lastmonthCultivatingPrizeToInvitedUser(String userId, String inviteUserId, int level) {
//当前用户的培育奖记录
LastMonthCultivatingPrizeInfo cultivatingPrizeInfo = lastMonthCultivatingPrizeInfoMapper.getOneByUserId(userId);
//判断当前用户等级
if (1 == level) {
//获取等级对应的培育奖记录状态
int seedling = cultivatingPrizeInfo.getSeedling();
//用户等级对应的培育奖金额
BigDecimal cultivatingPrize = cultivatingPrizeMapper.getcultivatingPrizeByUserLevel(level).getCultivatingPrize();
if (0 == seedling) {
//1、判断推荐人的等级是否大与当前用户等级
LastMonthUserInfo inviteUser = lastMonthUserInfoMapper.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(1);
tradeRecord.setTradeType(TradeRecordEnum.CULTIVATING_PRIZE.getCode());
tradeRecordMapper.add(tradeRecord);
//3.修改培育奖记录状态 ==1
seedling = 1;
cultivatingPrizeInfo.setSeedling(seedling);
lastMonthCultivatingPrizeInfoMapper.updateById(cultivatingPrizeInfo);
} else {
//3.修改培育奖记录状态 ==2
seedling = 2;
cultivatingPrizeInfo.setSeedling(seedling);
lastMonthCultivatingPrizeInfoMapper.updateById(cultivatingPrizeInfo);
}
}
}
} else if (2 == level) {
//培育奖记录状态
int bronzeTree = cultivatingPrizeInfo.getBronzeTree();
//用户等级对应的培育奖金额
BigDecimal cultivatingPrize = cultivatingPrizeMapper.getcultivatingPrizeByUserLevel(level).getCultivatingPrize();
if (0 == bronzeTree) {
//1、判断推荐人的等级是否大与当前用户等级
LastMonthUserInfo inviteUser = lastMonthUserInfoMapper.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(1);
tradeRecord.setTradeType(TradeRecordEnum.CULTIVATING_PRIZE.getCode());
tradeRecordMapper.add(tradeRecord);
//3.修改培育奖记录状态 ==1
bronzeTree = 1;
cultivatingPrizeInfo.setBronzeTree(bronzeTree);
lastMonthCultivatingPrizeInfoMapper.updateById(cultivatingPrizeInfo);
} else {
//3.修改培育奖记录状态 ==2
bronzeTree = 2;
cultivatingPrizeInfo.setBronzeTree(bronzeTree);
lastMonthCultivatingPrizeInfoMapper.updateById(cultivatingPrizeInfo);
}
}
}
} else if (3 == level) {
//获取当前等级的培育奖状态
int silverTree = cultivatingPrizeInfo.getSilverTree();
//用户等级对应的培育奖金额
BigDecimal cultivatingPrize = cultivatingPrizeMapper.getcultivatingPrizeByUserLevel(level).getCultivatingPrize();
if (0 == silverTree) {
//1、判断推荐人的等级是否大与当前用户等级
LastMonthUserInfo inviteUser = lastMonthUserInfoMapper.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(1);
tradeRecord.setTradeType(TradeRecordEnum.CULTIVATING_PRIZE.getCode());
tradeRecordMapper.add(tradeRecord);
//3.修改培育奖记录状态 ==1
silverTree = 1;
cultivatingPrizeInfo.setBronzeTree(silverTree);
lastMonthCultivatingPrizeInfoMapper.updateById(cultivatingPrizeInfo);
} else {
//3.修改培育奖记录状态 ==2
silverTree = 2;
cultivatingPrizeInfo.setBronzeTree(silverTree);
lastMonthCultivatingPrizeInfoMapper.updateById(cultivatingPrizeInfo);
}
}
}
} else if (4 == level) {
int goldTree = cultivatingPrizeInfo.getGoldTree();
//用户等级对应的培育奖金额
BigDecimal cultivatingPrize = cultivatingPrizeMapper.getcultivatingPrizeByUserLevel(level).getCultivatingPrize();
if (0 == goldTree) {
//1、判断推荐人的等级是否大与当前用户等级
LastMonthUserInfo inviteUser = lastMonthUserInfoMapper.getByUserId(inviteUserId);
if (null != inviteUser) {
int userLevel = inviteUser.getUserLevel();
if (userLevel >= level){
//2.交易流水新增一条数据
TradeRecord tradeRecord = new TradeRecord();
tradeRecord.setUserId(inviteUserId);
tradeRecord.setMoney(cultivatingPrize);
tradeRecord.setTradeNo(null);
tradeRecord.setStatus(1);
tradeRecord.setTradeType(TradeRecordEnum.CULTIVATING_PRIZE.getCode());
tradeRecordMapper.add(tradeRecord);
//3.修改培育奖记录状态 ==1
goldTree = 1;
cultivatingPrizeInfo.setGoldTree(goldTree);
lastMonthCultivatingPrizeInfoMapper.updateById(cultivatingPrizeInfo);
}else {
//3.修改培育奖记录状态 ==2
goldTree = 2;
cultivatingPrizeInfo.setGoldTree(goldTree);
lastMonthCultivatingPrizeInfoMapper.updateById(cultivatingPrizeInfo);
}
}
}
} else if (5 == level) {
int farmer = cultivatingPrizeInfo.getFarmer();
//用户等级对应的培育奖金额
BigDecimal cultivatingPrize = cultivatingPrizeMapper.getcultivatingPrizeByUserLevel(level).getCultivatingPrize();
if (0 == farmer) {
//上级用户
LastMonthUserInfo inviteUser = lastMonthUserInfoMapper.getByUserId(inviteUserId);
if (null != inviteUser) {
int userLevel = inviteUser.getUserLevel();
if (userLevel >= level){
//2.交易流水新增一条数据
TradeRecord tradeRecord = new TradeRecord();
tradeRecord.setUserId(inviteUserId);
tradeRecord.setMoney(cultivatingPrize);
tradeRecord.setTradeNo(null);
tradeRecord.setStatus(1);
tradeRecord.setTradeType(TradeRecordEnum.CULTIVATING_PRIZE.getCode());
tradeRecordMapper.add(tradeRecord);
//3.修改培育奖记录状态 ==1
farmer = 1;
cultivatingPrizeInfo.setGoldTree(farmer);
lastMonthCultivatingPrizeInfoMapper.updateById(cultivatingPrizeInfo);
}else {
//3.修改培育奖记录状态 ==2
farmer = 2;
cultivatingPrizeInfo.setGoldTree(farmer);
lastMonthCultivatingPrizeInfoMapper.updateById(cultivatingPrizeInfo);
}
}
}
} else if (6 == level) {
int forestStart = cultivatingPrizeInfo.getForestStart();
//用户等级对应的培育奖金额
BigDecimal cultivatingPrize = cultivatingPrizeMapper.getcultivatingPrizeByUserLevel(level).getCultivatingPrize();
if (0 == forestStart) {
//上级用户
LastMonthUserInfo inviteUser = lastMonthUserInfoMapper.getByUserId(inviteUserId);
if (null != inviteUser) {
int userLevel = inviteUser.getUserLevel();
if (userLevel >= level){
//2.交易流水新增一条数据
TradeRecord tradeRecord = new TradeRecord();
tradeRecord.setUserId(inviteUserId);
tradeRecord.setMoney(cultivatingPrize);
tradeRecord.setTradeNo(null);
tradeRecord.setStatus(1);
tradeRecord.setTradeType(TradeRecordEnum.CULTIVATING_PRIZE.getCode());
tradeRecordMapper.add(tradeRecord);
//3.修改培育奖记录状态 ==1
forestStart = 1;
cultivatingPrizeInfo.setGoldTree(forestStart);
lastMonthCultivatingPrizeInfoMapper.updateById(cultivatingPrizeInfo);
}else {
//3.修改培育奖记录状态 ==2
forestStart = 2;
cultivatingPrizeInfo.setGoldTree(forestStart);
lastMonthCultivatingPrizeInfoMapper.updateById(cultivatingPrizeInfo);
}
}
}
} else if (7 == level) {
int partner = cultivatingPrizeInfo.getPartner();
//用户等级对应的培育奖金额
BigDecimal cultivatingPrize = cultivatingPrizeMapper.getcultivatingPrizeByUserLevel(level).getCultivatingPrize();
if (0 == partner) {
//上级用户
LastMonthUserInfo inviteUser = lastMonthUserInfoMapper.getByUserId(inviteUserId);
if (null != inviteUser) {
int userLevel = inviteUser.getUserLevel();
if (userLevel >= level ){
//2.交易流水新增一条数据
TradeRecord tradeRecord = new TradeRecord();
tradeRecord.setUserId(inviteUserId);
tradeRecord.setMoney(cultivatingPrize);
tradeRecord.setTradeNo(null);
tradeRecord.setStatus(1);
tradeRecord.setTradeType(TradeRecordEnum.CULTIVATING_PRIZE.getCode());
tradeRecordMapper.add(tradeRecord);
//3.修改培育奖记录状态 ==1
partner = 1;
cultivatingPrizeInfo.setGoldTree(partner);
lastMonthCultivatingPrizeInfoMapper.updateById(cultivatingPrizeInfo);
}else {
//3.修改培育奖记录状态 ==2
partner = 2;
cultivatingPrizeInfo.setGoldTree(partner);
lastMonthCultivatingPrizeInfoMapper.updateById(cultivatingPrizeInfo);
}
}
}
}
}
}
......@@ -104,7 +104,9 @@ public class OrderServiceImpl extends ServiceImpl<OrderMapper, OrderInfo> implem
orderInfo.setItemId(itemList.toString());
//有赞的outer_user_id 与有赞的对应关系是邀请码 邀请码唯一
String outerUserId = buyerInfo.getOuterUserId();
log.info("有赞返回OutUserId------------"+outerUserId);
String userId = usersMapper.getUserIdByIntiveCode(outerUserId);
log.info("对应西田森系统中的用户Id--------"+userId);
orderInfo.setUserId(userId);
//支付方式
orderInfo.setPayType(youzanOrderInfo.getPayType().toString());
......@@ -226,7 +228,7 @@ public class OrderServiceImpl extends ServiceImpl<OrderMapper, OrderInfo> implem
.build();
OAuthToken oAuthToken = yzClient.getOAuthToken(tokenParameter);
String accessToken = oAuthToken.getAccessToken();
log.info(accessToken);
log.info("调用有赞接口获取到的有赞Token"+accessToken);
Token youzanToken = new Token(accessToken);
return youzanToken;
......
......@@ -3,7 +3,6 @@ package cn.wisenergy.service.app.impl;
import cn.wisenergy.mapper.*;
import cn.wisenergy.model.app.*;
import cn.wisenergy.model.enums.TradeRecordEnum;
import cn.wisenergy.service.app.AerialDeliveryUserService;
import cn.wisenergy.service.app.UserLevelService;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import lombok.extern.slf4j.Slf4j;
......@@ -48,9 +47,6 @@ public class UserLevelServiceImpl extends ServiceImpl<UsersMapper, User> impleme
@Autowired
private CultivatingPrizeInfoMapper cultivatingPrizeInfoMapper;
@Autowired
private AerialDeliveryUserService aerialDeliveryUserService;
@Autowired
private OrderMapper orderMapper;
......@@ -101,7 +97,7 @@ public class UserLevelServiceImpl extends ServiceImpl<UsersMapper, User> impleme
usersMapper.updateById(user);
//同步accountInfo 和TeamPerformance 的用户等级
accountAndTeamPerformanceUserLevelUpdate(userId);
//用户推荐人邀请码为 1 时 该用户没有邀请人
//用户的推荐人邀请码为1或者88888888时 没有上级用户
if (sysInviteCode1.equals(beInvitedCode) || sysInviteCode2.equals(beInvitedCode)) {
return;
} else {
......@@ -118,7 +114,6 @@ public class UserLevelServiceImpl extends ServiceImpl<UsersMapper, User> impleme
recommendUserMapper.updateById(inviteRecommendUser);
//团队用户表数据维护
teamUserInfoNormalToSeed(inviteUserId);
// aerialDeliveryUserService.teamDataNotRecommend(userId,inviteUserId);
//上级用户获得幼苗等级的培育奖
int level = 1;
cultivatingPrizeToInvitedUser(userId, inviteUserId, level);
......@@ -136,7 +131,7 @@ public class UserLevelServiceImpl extends ServiceImpl<UsersMapper, User> impleme
usersMapper.updateById(user);
//同步accountInfo 和TeamPerformance 的用户等级
accountAndTeamPerformanceUserLevelUpdate(userId);
//用户被邀请码为 1 时 该用户没有邀请人
//用户的推荐人邀请码为1或者88888888时 没有上级用户
if (sysInviteCode1.equals(beInvitedCode) || sysInviteCode2.equals(beInvitedCode)) {
return;
} else {
......@@ -152,7 +147,6 @@ public class UserLevelServiceImpl extends ServiceImpl<UsersMapper, User> impleme
recommendUserMapper.updateById(inviteRecommendUser);
//团队用户表数据维护
teamUserInfoSeedToBronze(inviteUserId);
// aerialDeliveryUserService.teamDataNotRecommend(userId,inviteUserId);
//上级用户获得幼苗等级的培育奖
int level = 2;
cultivatingPrizeToInvitedUser(userId, inviteUserId, level);
......@@ -167,7 +161,7 @@ public class UserLevelServiceImpl extends ServiceImpl<UsersMapper, User> impleme
usersMapper.updateById(user);
//同步accountInfo 和TeamPerformance 的用户等级
accountAndTeamPerformanceUserLevelUpdate(userId);
//用户被邀请码为 1 时 该用户没有邀请人
////用户的推荐人邀请码为1或者88888888时 没有上级用户
if (sysInviteCode1.equals(beInvitedCode) || sysInviteCode2.equals(beInvitedCode)) {
return;
} else {
......@@ -184,7 +178,6 @@ public class UserLevelServiceImpl extends ServiceImpl<UsersMapper, User> impleme
recommendUserMapper.updateById(inviteRecommendUser);
//团队用户表数据维护
teamUserInfoBronzeToSilver(inviteUserId);
// aerialDeliveryUserService.teamDataNotRecommend(userId,inviteUserId);
//上级用户获得幼苗等级的培育奖
int level = 3;
cultivatingPrizeToInvitedUser(userId, inviteUserId, level);
......@@ -203,7 +196,7 @@ public class UserLevelServiceImpl extends ServiceImpl<UsersMapper, User> impleme
usersMapper.updateById(user);
//同步accountInfo 和TeamPerformance 的用户等级
accountAndTeamPerformanceUserLevelUpdate(userId);
//用户被邀请码为 1 时 该用户没有邀请人
//用户的推荐人邀请码为1或者88888888时 没有上级用户
if (sysInviteCode1.equals(beInvitedCode) || sysInviteCode2.equals(beInvitedCode)) {
return;
} else {
......@@ -219,8 +212,7 @@ public class UserLevelServiceImpl extends ServiceImpl<UsersMapper, User> impleme
inviteRecommendUser.setGoldTreeNum(inviteRecommendUser.getGoldTreeNum() + 1);
recommendUserMapper.updateById(inviteRecommendUser);
//团队用户表数据维护
// teamUserInfoSilverToGoldTree(inviteUserId);
aerialDeliveryUserService.teamDataNotRecommend(userId,inviteUserId);
teamUserInfoSilverToGoldTree(inviteUserId);
//上级用户获得幼苗等级的培育奖
int level = 4;
cultivatingPrizeToInvitedUser(userId, inviteUserId, level);
......@@ -238,7 +230,7 @@ public class UserLevelServiceImpl extends ServiceImpl<UsersMapper, User> impleme
usersMapper.updateById(user);
//同步accountInfo 和TeamPerformance 的用户等级
accountAndTeamPerformanceUserLevelUpdate(userId);
//用户被邀请码为 1 时 该用户没有邀请人
////用户的推荐人邀请码为1或者88888888时 没有上级用户
if (sysInviteCode1.equals(beInvitedCode) || sysInviteCode2.equals(beInvitedCode)) {
return;
} else {
......@@ -255,7 +247,6 @@ public class UserLevelServiceImpl extends ServiceImpl<UsersMapper, User> impleme
recommendUserMapper.updateById(inviteRecommendUser);
//团队用户表数据维护
teamUserInfoGoldTreeToFarmer(inviteUserId);
// aerialDeliveryUserService.teamDataNotRecommend(userId,inviteUserId);
//上级用户获得幼苗等级的培育奖
int level = 5;
cultivatingPrizeToInvitedUser(userId, inviteUserId, level);
......@@ -274,7 +265,7 @@ public class UserLevelServiceImpl extends ServiceImpl<UsersMapper, User> impleme
usersMapper.updateById(user);
//同步accountInfo 和TeamPerformance 的用户等级
accountAndTeamPerformanceUserLevelUpdate(userId);
//用户被邀请码为 1 时 该用户没有邀请人
//用户的推荐人邀请码为1或者88888888时 没有上级用户
if (sysInviteCode1.equals(beInvitedCode) || sysInviteCode2.equals(beInvitedCode)) {
return;
} else {
......@@ -291,7 +282,6 @@ public class UserLevelServiceImpl extends ServiceImpl<UsersMapper, User> impleme
recommendUserMapper.updateById(inviteRecommendUser);
//团队用户表数据维护
teamUserInfoFarmerToForestStart(inviteUserId);
// aerialDeliveryUserService.teamDataNotRecommend(userId,inviteUserId);
//上级用户获得幼苗等级的培育奖
int level = 6;
cultivatingPrizeToInvitedUser(userId, inviteUserId, level);
......@@ -311,7 +301,7 @@ public class UserLevelServiceImpl extends ServiceImpl<UsersMapper, User> impleme
usersMapper.updateById(user);
//同步accountInfo 和TeamPerformance 的用户等级
accountAndTeamPerformanceUserLevelUpdate(userId);
//用户被邀请码为 1 时 该用户没有邀请人
//用户的推荐人邀请码为1或者88888888时 没有上级用户
if (sysInviteCode1.equals(beInvitedCode) || sysInviteCode2.equals(beInvitedCode)) {
return;
} else {
......@@ -328,7 +318,6 @@ public class UserLevelServiceImpl extends ServiceImpl<UsersMapper, User> impleme
recommendUserMapper.updateById(inviteRecommendUser);
//团队用户表数据维护
teamUserInfoForestStartToPartner(inviteUserId);
// aerialDeliveryUserService.teamDataNotRecommend(userId,inviteUserId);
//上级用户获得幼苗等级的培育奖
int level = 7;
cultivatingPrizeToInvitedUser(userId, inviteUserId, level);
......@@ -344,33 +333,39 @@ public class UserLevelServiceImpl extends ServiceImpl<UsersMapper, User> impleme
* @param inviteUserId 邀请人userid
*/
private void teamUserInfoForestStartToPartner(String inviteUserId) {
//邀请人的团队信息表对象
TeamUserInfo teamNumInfoBuyId = teamUserInfoMapper.getByUserId(inviteUserId);
//邀请人的用户表对象
User byUserId = usersMapper.getByUserId(teamNumInfoBuyId.getUserId());
String beinvitedCodeUserId = "";
String inviteCode = byUserId.getBeInvitedCode();
if (!sysInviteCode1.equals(inviteUserId) || !sysInviteCode2.equals(inviteUserId)) {
if (!"".equals(inviteUserId)){
//邀请人的团队信息表对象
TeamUserInfo teamNumInfoBuyId = teamUserInfoMapper.getByUserId(inviteUserId);
//邀请人的用户表对象
User byUserId = usersMapper.getByUserId(teamNumInfoBuyId.getUserId());
String beinvitedCodeUserId = "";
String inviteCode = byUserId.getBeInvitedCode();
if (!sysInviteCode1.equals(inviteUserId) && !sysInviteCode2.equals(inviteUserId)) {
//通过邀请人的用户信息获取邀请人的推荐人邀请码
beinvitedCodeUserId = usersMapper.getByBeInvitedCode(inviteCode).getUserId();
}
//通过邀请人的用户信息获取邀请人的推荐人邀请码
beinvitedCodeUserId = usersMapper.getByBeInvitedCode(inviteCode).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 (!sysInviteCode1.equals(inviteUserId) || !sysInviteCode2.equals(inviteUserId)) {
return;
//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 (sysInviteCode1.equals(inviteUserId) || sysInviteCode2.equals(inviteUserId)) {
return;
}
if ("".equals(beinvitedCodeUserId)){
teamUserInfoForestStartToPartner(beinvitedCodeUserId);
}
}
teamUserInfoForestStartToPartner(beinvitedCodeUserId);
}
/**
......@@ -379,34 +374,40 @@ public class UserLevelServiceImpl extends ServiceImpl<UsersMapper, User> impleme
* @param inviteUserId 邀请人userid
*/
private void teamUserInfoFarmerToForestStart(String inviteUserId) {
//邀请人的团队信息表对象
TeamUserInfo teamNumInfoBuyId = teamUserInfoMapper.getByUserId(inviteUserId);
//邀请人的用户表对象
User byUserId = usersMapper.getByUserId(teamNumInfoBuyId.getUserId());
String beinvitedCodeUserId = "";
String inviteCode = byUserId.getBeInvitedCode();
if (!sysInviteCode1.equals(inviteUserId) || !sysInviteCode2.equals(inviteUserId)) {
if (!"".equals(inviteUserId)){
//邀请人的团队信息表对象
TeamUserInfo teamNumInfoBuyId = teamUserInfoMapper.getByUserId(inviteUserId);
//邀请人的用户表对象
User byUserId = usersMapper.getByUserId(teamNumInfoBuyId.getUserId());
String beinvitedCodeUserId = "";
String inviteCode = byUserId.getBeInvitedCode();
if (!sysInviteCode1.equals(inviteUserId) && !sysInviteCode2.equals(inviteUserId)) {
//通过邀请人的用户信息获取邀请人的推荐人邀请码
beinvitedCodeUserId = usersMapper.getByBeInvitedCode(inviteCode).getUserId();
}
//通过邀请人的用户信息获取邀请人的推荐人邀请码
beinvitedCodeUserId = usersMapper.getByBeInvitedCode(inviteCode).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 (!sysInviteCode1.equals(inviteUserId) || !sysInviteCode2.equals(inviteUserId)) {
return;
//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 (sysInviteCode1.equals(inviteUserId) || sysInviteCode2.equals(inviteUserId)) {
return;
}
//递归向上修改团队用户信息表
if ("".equals(beinvitedCodeUserId)){
teamUserInfoFarmerToForestStart(beinvitedCodeUserId);
}
}
//递归向上修改团队用户信息表
teamUserInfoFarmerToForestStart(beinvitedCodeUserId);
}
/**
......@@ -415,34 +416,40 @@ public class UserLevelServiceImpl extends ServiceImpl<UsersMapper, User> impleme
* @param inviteUserId 邀请人userid
*/
private void teamUserInfoGoldTreeToFarmer(String inviteUserId) {
//邀请人的团队信息表对象
TeamUserInfo teamNumInfoBuyId = teamUserInfoMapper.getByUserId(inviteUserId);
//邀请人的用户表对象
User byUserId = usersMapper.getByUserId(teamNumInfoBuyId.getUserId());
String beinvitedCodeUserId = "";
String inviteCode = byUserId.getBeInvitedCode();
if (!sysInviteCode1.equals(inviteUserId) || !sysInviteCode2.equals(inviteUserId)) {
if (!"".equals(inviteUserId)){
//邀请人的团队信息表对象
TeamUserInfo teamNumInfoBuyId = teamUserInfoMapper.getByUserId(inviteUserId);
//邀请人的用户表对象
User byUserId = usersMapper.getByUserId(teamNumInfoBuyId.getUserId());
String beinvitedCodeUserId = "";
String inviteCode = byUserId.getBeInvitedCode();
if (!sysInviteCode1.equals(inviteUserId) && !sysInviteCode2.equals(inviteUserId)) {
//通过邀请人的用户信息获取邀请人的推荐人邀请码
beinvitedCodeUserId = usersMapper.getByBeInvitedCode(inviteCode).getUserId();
}
//通过邀请人的用户信息获取邀请人的推荐人邀请码
beinvitedCodeUserId = usersMapper.getByBeInvitedCode(inviteCode).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 (!sysInviteCode1.equals(inviteUserId) || !sysInviteCode2.equals(inviteUserId)) {
return;
// 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 (sysInviteCode1.equals(inviteUserId) || sysInviteCode2.equals(inviteUserId)) {
return;
}
//递归向上修改团队用户信息表
if ("".equals(beinvitedCodeUserId)){
teamUserInfoGoldTreeToFarmer(beinvitedCodeUserId);
}
}
//递归向上修改团队用户信息表
teamUserInfoGoldTreeToFarmer(beinvitedCodeUserId);
}
/**
......@@ -451,34 +458,40 @@ public class UserLevelServiceImpl extends ServiceImpl<UsersMapper, User> impleme
* @param inviteUserId 邀请人userid
*/
private void teamUserInfoSilverToGoldTree(String inviteUserId) {
//邀请人的团队信息表对象
TeamUserInfo teamNumInfoBuyId = teamUserInfoMapper.getByUserId(inviteUserId);
//邀请人的用户表对象
User byUserId = usersMapper.getByUserId(teamNumInfoBuyId.getUserId());
String beinvitedCodeUserId = "";
String inviteCode = byUserId.getBeInvitedCode();
if (!sysInviteCode1.equals(inviteUserId) || !sysInviteCode2.equals(inviteUserId)) {
if(!"".equals(inviteUserId)){
//邀请人的团队信息表对象
TeamUserInfo teamNumInfoBuyId = teamUserInfoMapper.getByUserId(inviteUserId);
//邀请人的用户表对象
User byUserId = usersMapper.getByUserId(teamNumInfoBuyId.getUserId());
String beinvitedCodeUserId = "";
String inviteCode = byUserId.getBeInvitedCode();
if (!sysInviteCode1.equals(inviteUserId) && !sysInviteCode2.equals(inviteUserId)) {
//通过邀请人的用户信息获取邀请人的推荐人邀请码
beinvitedCodeUserId = usersMapper.getByBeInvitedCode(inviteCode).getUserId();
}
//通过邀请人的用户信息获取邀请人的推荐人邀请码
beinvitedCodeUserId = usersMapper.getByBeInvitedCode(inviteCode).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 (!sysInviteCode1.equals(inviteUserId) || !sysInviteCode2.equals(inviteUserId)) {
return;
//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 (sysInviteCode1.equals(inviteUserId) || sysInviteCode2.equals(inviteUserId)) {
return;
}
//递归向上修改团队用户信息表
if ("".equals(beinvitedCodeUserId)){
teamUserInfoSilverToGoldTree(beinvitedCodeUserId);
}
}
//递归向上修改团队用户信息表
teamUserInfoSilverToGoldTree(beinvitedCodeUserId);
}
/**
......@@ -487,34 +500,40 @@ public class UserLevelServiceImpl extends ServiceImpl<UsersMapper, User> impleme
* @param inviteUserId 邀请人userid
*/
private void teamUserInfoBronzeToSilver(String inviteUserId) {
//邀请人的团队信息表对象
TeamUserInfo teamNumInfoBuyId = teamUserInfoMapper.getByUserId(inviteUserId);
//邀请人的用户表对象
User byUserId = usersMapper.getByUserId(teamNumInfoBuyId.getUserId());
String beinvitedCodeUserId = "";
String inviteCode = byUserId.getBeInvitedCode();
if (!sysInviteCode1.equals(inviteUserId) || !sysInviteCode2.equals(inviteUserId)) {
if (!"".equals(inviteUserId)){
//邀请人的团队信息表对象
TeamUserInfo teamNumInfoBuyId = teamUserInfoMapper.getByUserId(inviteUserId);
//邀请人的用户表对象
User byUserId = usersMapper.getByUserId(teamNumInfoBuyId.getUserId());
String beinvitedCodeUserId = "";
String inviteCode = byUserId.getBeInvitedCode();
if (!sysInviteCode1.equals(inviteUserId) && !sysInviteCode2.equals(inviteUserId)) {
//通过邀请人的用户信息获取邀请人的推荐人邀请码
beinvitedCodeUserId = usersMapper.getByBeInvitedCode(inviteCode).getUserId();
}
//通过邀请人的用户信息获取邀请人的推荐人邀请码
beinvitedCodeUserId = usersMapper.getByBeInvitedCode(inviteCode).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 (!sysInviteCode1.equals(inviteUserId) || !sysInviteCode2.equals(inviteUserId)) {
return;
//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 (sysInviteCode1.equals(inviteUserId) || sysInviteCode2.equals(inviteUserId)) {
return;
}
//递归向上修改团队用户信息表
if ("".equals(beinvitedCodeUserId)){
teamUserInfoBronzeToSilver(beinvitedCodeUserId);
}
}
//递归向上修改团队用户信息表
teamUserInfoBronzeToSilver(beinvitedCodeUserId);
}
/**
......@@ -523,34 +542,40 @@ public class UserLevelServiceImpl extends ServiceImpl<UsersMapper, User> impleme
* @param inviteUserId 邀请人userid
*/
private void teamUserInfoSeedToBronze(String inviteUserId) {
//邀请人的团队信息表对象
TeamUserInfo teamNumInfoBuyId = teamUserInfoMapper.getByUserId(inviteUserId);
//邀请人的用户表对象
User byUserId = usersMapper.getByUserId(teamNumInfoBuyId.getUserId());
String beinvitedCodeUserId = "";
String inviteCode = byUserId.getBeInvitedCode();
if (!sysInviteCode1.equals(inviteUserId) || !sysInviteCode2.equals(inviteUserId)) {
if (!"".equals(inviteUserId)){
//邀请人的团队信息表对象
TeamUserInfo teamNumInfoBuyId = teamUserInfoMapper.getByUserId(inviteUserId);
//邀请人的用户表对象
User byUserId = usersMapper.getByUserId(teamNumInfoBuyId.getUserId());
String beinvitedCodeUserId = "";
String inviteCode = byUserId.getBeInvitedCode();
if (!sysInviteCode1.equals(inviteUserId) && !sysInviteCode2.equals(inviteUserId)) {
//通过邀请人的用户信息获取邀请人的推荐人邀请码
beinvitedCodeUserId = usersMapper.getByBeInvitedCode(inviteCode).getUserId();
}
//通过邀请人的用户信息获取邀请人的推荐人邀请码
beinvitedCodeUserId = usersMapper.getByBeInvitedCode(inviteCode).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 (!sysInviteCode1.equals(inviteUserId) || !sysInviteCode2.equals(inviteUserId)) {
return;
//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 (sysInviteCode1.equals(inviteUserId) || sysInviteCode2.equals(inviteUserId)) {
return;
}
//递归向上修改团队用户信息表
if ("".equals(beinvitedCodeUserId)){
teamUserInfoSeedToBronze(beinvitedCodeUserId);
}
}
//递归向上修改团队用户信息表
teamUserInfoSeedToBronze(beinvitedCodeUserId);
}
/**
......@@ -559,37 +584,40 @@ public class UserLevelServiceImpl extends ServiceImpl<UsersMapper, User> impleme
* @param inviteUserId 邀请人userid
*/
private void teamUserInfoNormalToSeed(String inviteUserId) {
//邀请人的团队信息表对象
TeamUserInfo teamNumInfoBuyId = teamUserInfoMapper.getByUserId(inviteUserId);
//邀请人的用户表对象
User intiveUserByUserId = usersMapper.getByUserId(teamNumInfoBuyId.getUserId());
String beinvitedCodeUserId = "";
//邀请人的推荐人邀请码
String inviteCode = intiveUserByUserId.getBeInvitedCode();
if (!sysInviteCode1.equals(inviteUserId) || !sysInviteCode2.equals(inviteUserId)) {
//通过邀请人的用户信息获取邀请人的推荐人邀请码
User byBeInvitedCode = usersMapper.getByBeInvitedCode(inviteCode);
if (null != byBeInvitedCode) {
beinvitedCodeUserId = byBeInvitedCode.getUserId();
if (!"".equals(inviteUserId)){
//邀请人的团队信息表对象
TeamUserInfo teamNumInfoBuyId = teamUserInfoMapper.getByUserId(inviteUserId);
//邀请人的用户表对象
User intiveUserByUserId = usersMapper.getByUserId(teamNumInfoBuyId.getUserId());
String beinvitedCodeUserId = "";
//邀请人的推荐人邀请码
String inviteCode = intiveUserByUserId.getBeInvitedCode();
if (!sysInviteCode1.equals(inviteUserId) && !sysInviteCode2.equals(inviteUserId)) {
//通过邀请人的用户信息获取邀请人的推荐人邀请码
User byBeInvitedCode = usersMapper.getByBeInvitedCode(inviteCode);
if (null != byBeInvitedCode) {
beinvitedCodeUserId = byBeInvitedCode.getUserId();
}
}
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 (sysInviteCode1.equals(inviteUserId) || sysInviteCode2.equals(inviteUserId)) {
return;
}
//递归向上修改团队用户信息表
if (!"".equals(beinvitedCodeUserId)) {
teamUserInfoNormalToSeed(beinvitedCodeUserId);
}
}
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 (!sysInviteCode1.equals(inviteUserId) || !sysInviteCode2.equals(inviteUserId)) {
return;
}
//递归向上修改团队用户信息表
if (!"".equals(beinvitedCodeUserId)) {
teamUserInfoNormalToSeed(beinvitedCodeUserId);
}
}
......@@ -614,7 +642,7 @@ public class UserLevelServiceImpl extends ServiceImpl<UsersMapper, User> impleme
User inviteUser = usersMapper.getByUserId(inviteUserId);
int inviteUserLevel = inviteUser.getUserLevel();
if (null != inviteUser) {
if (inviteUserLevel > level) {
if (inviteUserLevel >= level) {
//2.交易流水新增一条数据
TradeRecord tradeRecord = new TradeRecord();
tradeRecord.setUserId(inviteUserId);
......@@ -648,7 +676,7 @@ public class UserLevelServiceImpl extends ServiceImpl<UsersMapper, User> impleme
User inviteUser = usersMapper.getByUserId(inviteUserId);
if (null != inviteUser) {
int inviteUserLevel = inviteUser.getUserLevel();
if (inviteUserLevel > level) {
if (inviteUserLevel >= level) {
//2.交易流水新增一条数据
TradeRecord tradeRecord = new TradeRecord();
tradeRecord.setUserId(inviteUserId);
......@@ -682,7 +710,7 @@ public class UserLevelServiceImpl extends ServiceImpl<UsersMapper, User> impleme
User inviteUser = usersMapper.getByUserId(inviteUserId);
if (null != inviteUser) {
int inviteUserLevel = inviteUser.getUserLevel();
if (inviteUserLevel > level) {
if (inviteUserLevel >= level) {
//2.交易流水新增一条数据
TradeRecord tradeRecord = new TradeRecord();
tradeRecord.setUserId(inviteUserId);
......@@ -710,27 +738,31 @@ public class UserLevelServiceImpl extends ServiceImpl<UsersMapper, User> impleme
BigDecimal cultivatingPrize = cultivatingPrizeMapper.getcultivatingPrizeByUserLevel(level).getCultivatingPrize();
if (0 == goldTree) {
//上级用户
//1、判断推荐人的等级是否大与当前用户等级
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);
int userLevel = inviteUser.getUserLevel();
if (userLevel >= 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
goldTree = 1;
cultivatingPrizeInfo.setGoldTree(goldTree);
cultivatingPrizeInfoMapper.updateById(cultivatingPrizeInfo);
}else {
//3.修改培育奖记录状态 ==2
goldTree = 2;
cultivatingPrizeInfo.setGoldTree(goldTree);
cultivatingPrizeInfoMapper.updateById(cultivatingPrizeInfo);
}
}
}
} else if (5 == level) {
......@@ -742,24 +774,28 @@ public class UserLevelServiceImpl extends ServiceImpl<UsersMapper, User> impleme
//上级用户
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);
int userLevel = inviteUser.getUserLevel();
if (userLevel >= 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
farmer = 1;
cultivatingPrizeInfo.setGoldTree(farmer);
cultivatingPrizeInfoMapper.updateById(cultivatingPrizeInfo);
}else {
//3.修改培育奖记录状态 ==2
farmer = 2;
cultivatingPrizeInfo.setGoldTree(farmer);
cultivatingPrizeInfoMapper.updateById(cultivatingPrizeInfo);
}
}
}
} else if (6 == level) {
......@@ -771,24 +807,28 @@ public class UserLevelServiceImpl extends ServiceImpl<UsersMapper, User> impleme
//上级用户
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);
int userLevel = inviteUser.getUserLevel();
if (userLevel >= 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
forestStart = 1;
cultivatingPrizeInfo.setGoldTree(forestStart);
cultivatingPrizeInfoMapper.updateById(cultivatingPrizeInfo);
}else {
//3.修改培育奖记录状态 ==2
forestStart = 2;
cultivatingPrizeInfo.setGoldTree(forestStart);
cultivatingPrizeInfoMapper.updateById(cultivatingPrizeInfo);
}
}
}
} else if (7 == level) {
......@@ -800,24 +840,28 @@ public class UserLevelServiceImpl extends ServiceImpl<UsersMapper, User> impleme
//上级用户
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);
int userLevel = inviteUser.getUserLevel();
if (userLevel >= 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
partner = 1;
cultivatingPrizeInfo.setGoldTree(partner);
cultivatingPrizeInfoMapper.updateById(cultivatingPrizeInfo);
}else {
//3.修改培育奖记录状态 ==2
partner = 2;
cultivatingPrizeInfo.setGoldTree(partner);
cultivatingPrizeInfoMapper.updateById(cultivatingPrizeInfo);
}
}
}
}
......
package cn.wisenergy.service.app.impl;
import cn.wisenergy.mapper.OrderMapper;
import cn.wisenergy.model.app.OrderInfo;
import cn.wisenergy.mapper.*;
import cn.wisenergy.model.app.*;
import cn.wisenergy.service.app.LastMonthUserInfoService;
import cn.wisenergy.service.app.MonthUserLevelService;
import cn.wisenergy.service.app.UserLevelService;
import cn.wisenergy.service.app.UserLevelTaskService;
import com.sun.org.apache.bcel.internal.generic.ARRAYLENGTH;
import com.xxl.job.core.handler.annotation.XxlJob;
import lombok.extern.slf4j.Slf4j;
import org.apache.poi.xssf.model.IndexedUDFFinder;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import java.util.ArrayList;
import java.util.List;
@Service
......@@ -18,15 +23,36 @@ public class UserLevelTaskServiceImpl implements UserLevelTaskService {
@Autowired
private OrderMapper orderMapper;
@Autowired
private UsersMapper usersMapper;
@Autowired
private UserLevelService userLevelService;
@Autowired
private MonthUserLevelService monthUserLevelService;
@Autowired
private LastMonthUserInfoMapper lastMonthUserInfoMapper;
@Autowired
private LastMonthRecommendUserMapper lastMonthRecommendUserMapper;
@Autowired
private LastMonthTeamUserInfoMapper lastMonthTeamUserInfoMapper;
@Autowired
private LastMonthUserInfoService lastMonthUserInfoService;
@Autowired
private UserDataInfoMapper userDataInfoMapper;
//获取订单
@XxlJob(value = "userLevelUpjobhandler")
@Override
public void userLevelUp() {
//1.获取数据库订单数据
log.info("------------------------日定时任务+5分钟执行一次+用户升级开始----------------------------------");
log.info("------------------------日定时任务每5分钟执行一次:用户升级开始----------------------------------");
List<OrderInfo> ordersByLevelStatus = orderMapper.getByLevelStatus(0);
for (OrderInfo orderInfo : ordersByLevelStatus) {
String userId = orderInfo.getUserId();
......@@ -35,23 +61,260 @@ public class UserLevelTaskServiceImpl implements UserLevelTaskService {
orderInfo.setLevelStatus(1);
orderMapper.updateById(orderInfo);
}
log.info("-------------------------日定时任务+5分钟执行一次+用户升级结束--------------------------------------");
log.info("-------------------------日定时任务每5分钟执行一次:用户升级结束--------------------------------------");
}
@XxlJob("monthUserLevelUpjobhandler")
@Override
public void monthUserLevelUp(){
//1.获取数据库订单数据
log.info("------------------------月定时任务:====用户升级开始----------------------------------");
/**
* 根据上月的镜像表镜像lastmonth_userinfo
* lastmonth_recommend_user
* lastmonth_team_user_info
* lastmonth_cultivating_prize_info
*/
lastMonthUserInfoService.userInfoMirrorImage();
/**
* 1、获取订单数据 根据订单对应的userId进行升级以及升级后直推数据与团队数据维护
*/
log.info("------------------------月定时任务:每月执行一次 ====用户升级开始----------------------------------");
List<OrderInfo> ordersByLevelStatus = orderMapper.getByMonthOrderStatus(0);
for (OrderInfo orderInfo : ordersByLevelStatus) {
//用户信息
String userId = orderInfo.getUserId();
userLevelService.userLevelUpgrade(userId);
//月度升级功能实现
monthUserLevelService.monthUserLevelUpgrade(userId);
//当前订单升级状态置为1
orderInfo.setLevelStatus(1);
orderInfo.setMonthOrderStatus(1);
orderMapper.updateById(orderInfo);
}
log.info("-------------------------月定时任务:====用户升级结束--------------------------------------");
/**
* 根据用户填写邀请码的行为记录表
* 进行用户的直推团队数据维护 之后进行升级
*/
List<UserDataInfo> userDataInfoList = userDataInfoMapper.getListByLevelStatus(0);
for (UserDataInfo userDataInfo : userDataInfoList) {
String userId = userDataInfo.getUserId();
String beInvitedCode = userDataInfo.getBeInvitedCode();
LastMonthUserInfo userByUserId = lastMonthUserInfoMapper.getUserByUserId(userId);
userByUserId.setBeInvitedCode(beInvitedCode);
lastMonthUserInfoMapper.updateById(userByUserId);
LastMonthUserInfo user = lastMonthUserInfoMapper.getuserByBeInvitedCode(beInvitedCode);
if (null != user){
String inviteUserId = user.getUserId();
lastmonthUserSetBeinviteCode(userId,inviteUserId);
}
userDataInfo.setLevelStatus(1);
userDataInfoMapper.updateById(userDataInfo);
}
/**
* 将月度定时任务的执行结果同步至线上user_info表中
*/
List<LastMonthUserInfo> lastMonthUserInfoList = lastMonthUserInfoMapper.getAll();
if (null != lastMonthUserInfoList){
for (LastMonthUserInfo lastMonthUserInfo : lastMonthUserInfoList) {
String userId = lastMonthUserInfo.getUserId();
int userLevel = lastMonthUserInfo.getUserLevel();
User userByUserId = usersMapper.getUserByUserId(userId);
if (null != userByUserId){
userByUserId.setUserLevel(userLevel);
}
usersMapper.updateById(userByUserId);
}
}
/**
* 镜像用户信息表
* 直推表
* 团队表
* 培育奖记录表
*/
lastMonthUserInfoService.userInfoMirrorImageBack();
log.info("-------------------------月定时任务:每月执行一次 ====用户升级结束--------------------------------------");
}
private void lastmonthUserSetBeinviteCode(String userId, String inviteUserId) {
//3、上级用户的直推表数据维护
lastmonthRecommendInfoDataPreserve(userId,inviteUserId);
//4、用户团队数据维护
lastmonthTeamDataPreserve(userId,inviteUserId);
//记录用户设置邀请码的行为数据
// userDataInfoManager.addUserSetBeInvitedCodeDoc(userId, inviteUserId);
//5、查看当前用户是否要进行升级
// userLevelService.userLevelUpgrade(inviteUserId);
monthUserLevelService.monthUserLevelUpgrade(inviteUserId);
}
private void lastmonthRecommendInfoDataPreserve(String userId, String inviteUserId) {
LastMonthUserInfo byUserId = lastMonthUserInfoMapper.getByUserId(userId);
int userLevel = byUserId.getUserLevel();
LastMonthRecommendUser recommendUserMapperByRandUser = lastMonthRecommendUserMapper.getByUserId(inviteUserId);
if (userLevel == 0){
//普通用户数量 + 1
Integer normalUserNum = recommendUserMapperByRandUser.getNormalUserNum();
recommendUserMapperByRandUser.setNormalUserNum(normalUserNum +1);
lastMonthRecommendUserMapper.updateById(recommendUserMapperByRandUser);
}else if (userLevel == 1){
//幼苗用户数量 + 1
Integer seedlingNum = recommendUserMapperByRandUser.getSeedlingNum();
recommendUserMapperByRandUser.setSeedlingNum(seedlingNum + 1);
lastMonthRecommendUserMapper.updateById(recommendUserMapperByRandUser);
}else if (userLevel == 2){
//青铜用户数量 + 1
Integer bronzeTreeNum = recommendUserMapperByRandUser.getBronzeTreeNum();
recommendUserMapperByRandUser.setBronzeTreeNum(bronzeTreeNum + 1 );
lastMonthRecommendUserMapper.updateById(recommendUserMapperByRandUser);
}else if (userLevel == 3){
//白银用户数量 + 1
Integer silverTreeNum = recommendUserMapperByRandUser.getSilverTreeNum();
recommendUserMapperByRandUser.setSilverTreeNum(silverTreeNum + 1 );
lastMonthRecommendUserMapper.updateById(recommendUserMapperByRandUser);
}else if (userLevel == 4){
//黄金用户数量 + 1
Integer goldTreeNum = recommendUserMapperByRandUser.getGoldTreeNum();
recommendUserMapperByRandUser.setGoldTreeNum(goldTreeNum + 1);
lastMonthRecommendUserMapper.updateById(recommendUserMapperByRandUser);
}else if (userLevel == 5){
//农场主用户数量 + 1
Integer farmerNum = recommendUserMapperByRandUser.getFarmerNum();
recommendUserMapperByRandUser.setFarmerNum(farmerNum + 1);
lastMonthRecommendUserMapper.updateById(recommendUserMapperByRandUser);
}else if (userLevel == 6){
//森林之星用户数量 + 1
Integer forestStartNum = recommendUserMapperByRandUser.getForestStartNum();
recommendUserMapperByRandUser.setForestStartNum(forestStartNum + 1);
lastMonthRecommendUserMapper.updateById(recommendUserMapperByRandUser);
}else if (userLevel == 7){
//西田森合伙人用户数量 + 1
Integer partnerNum = recommendUserMapperByRandUser.getPartnerNum();
recommendUserMapperByRandUser.setFarmerNum(partnerNum + 1);
lastMonthRecommendUserMapper.updateById(recommendUserMapperByRandUser);
}
}
/**
* 团队数据维护
* @param userId
* @param userInvitedId
*/
private void lastmonthTeamDataPreserve(String userId, String userInvitedId) {
LastMonthUserInfo userByUserId = lastMonthUserInfoMapper.getUserByUserId(userId);
//用户等级
int userLevel = userByUserId.getUserLevel();
//当前用户的团队各人数等级
// TeamUserInfo userTeamUserInfoMapperByUserId = lastMonthTeamUserInfoMapper.getByUserId(userId);
LastMonthTeamUserInfo userTeamUserInfoMapperByUserId = lastMonthTeamUserInfoMapper.getByUserId(userId);
if (null != userTeamUserInfoMapperByUserId ){
Integer normalUserNum = userTeamUserInfoMapperByUserId.getNormalUserNum();
Integer seedlingNum = userTeamUserInfoMapperByUserId.getSeedlingNum();
Integer bronzeTreeNum = userTeamUserInfoMapperByUserId.getBronzeTreeNum();
Integer silverTreeNum = userTeamUserInfoMapperByUserId.getSilverTreeNum();
Integer goldTreeNum = userTeamUserInfoMapperByUserId.getGoldTreeNum();
Integer farmerNum = userTeamUserInfoMapperByUserId.getFarmerNum();
Integer forestStartNum = userTeamUserInfoMapperByUserId.getForestStartNum();
Integer partnerNum = userTeamUserInfoMapperByUserId.getPartnerNum();
//推荐人的用户的团队各等级人数
// TeamUserInfo inviteTeamUserInfoMapperByUserId = lastMonthTeamUserInfoMapper.getByUserId(userInvitedId);
LastMonthTeamUserInfo inviteTeamUserInfoMapperByUserId = lastMonthTeamUserInfoMapper.getByUserId(userInvitedId);
if (null != inviteTeamUserInfoMapperByUserId){
if (0 == userLevel){
inviteTeamUserInfoMapperByUserId.setNormalUserNum(inviteTeamUserInfoMapperByUserId.getNormalUserNum() + normalUserNum + 1 );
inviteTeamUserInfoMapperByUserId.setSeedlingNum(inviteTeamUserInfoMapperByUserId.getSeedlingNum() + seedlingNum );
inviteTeamUserInfoMapperByUserId.setBronzeTreeNum(inviteTeamUserInfoMapperByUserId.getBronzeTreeNum() + bronzeTreeNum );
inviteTeamUserInfoMapperByUserId.setSilverTreeNum(inviteTeamUserInfoMapperByUserId.getSilverTreeNum() + silverTreeNum );
inviteTeamUserInfoMapperByUserId.setGoldTreeNum(inviteTeamUserInfoMapperByUserId.getGoldTreeNum() + goldTreeNum );
inviteTeamUserInfoMapperByUserId.setFarmerNum(inviteTeamUserInfoMapperByUserId.getFarmerNum() + farmerNum );
inviteTeamUserInfoMapperByUserId.setForestStartNum(inviteTeamUserInfoMapperByUserId.getForestStartNum() + forestStartNum );
inviteTeamUserInfoMapperByUserId.setPartnerNum(inviteTeamUserInfoMapperByUserId.getPartnerNum() + partnerNum );
}else if (1 == userLevel){
inviteTeamUserInfoMapperByUserId.setNormalUserNum(inviteTeamUserInfoMapperByUserId.getNormalUserNum() + normalUserNum );
inviteTeamUserInfoMapperByUserId.setSeedlingNum(inviteTeamUserInfoMapperByUserId.getSeedlingNum() + seedlingNum + 1 );
inviteTeamUserInfoMapperByUserId.setBronzeTreeNum(inviteTeamUserInfoMapperByUserId.getBronzeTreeNum() + bronzeTreeNum );
inviteTeamUserInfoMapperByUserId.setSilverTreeNum(inviteTeamUserInfoMapperByUserId.getSilverTreeNum() + silverTreeNum );
inviteTeamUserInfoMapperByUserId.setGoldTreeNum(inviteTeamUserInfoMapperByUserId.getGoldTreeNum() + goldTreeNum );
inviteTeamUserInfoMapperByUserId.setFarmerNum(inviteTeamUserInfoMapperByUserId.getFarmerNum() + farmerNum );
inviteTeamUserInfoMapperByUserId.setForestStartNum(inviteTeamUserInfoMapperByUserId.getForestStartNum() + forestStartNum );
inviteTeamUserInfoMapperByUserId.setPartnerNum(inviteTeamUserInfoMapperByUserId.getPartnerNum() + partnerNum );
}else if (2 == userLevel){
inviteTeamUserInfoMapperByUserId.setNormalUserNum(inviteTeamUserInfoMapperByUserId.getNormalUserNum() + normalUserNum );
inviteTeamUserInfoMapperByUserId.setSeedlingNum(inviteTeamUserInfoMapperByUserId.getSeedlingNum() + seedlingNum );
inviteTeamUserInfoMapperByUserId.setBronzeTreeNum(inviteTeamUserInfoMapperByUserId.getBronzeTreeNum() + bronzeTreeNum + 1 );
inviteTeamUserInfoMapperByUserId.setSilverTreeNum(inviteTeamUserInfoMapperByUserId.getSilverTreeNum() + silverTreeNum );
inviteTeamUserInfoMapperByUserId.setGoldTreeNum(inviteTeamUserInfoMapperByUserId.getGoldTreeNum() + goldTreeNum );
inviteTeamUserInfoMapperByUserId.setFarmerNum(inviteTeamUserInfoMapperByUserId.getFarmerNum() + farmerNum );
inviteTeamUserInfoMapperByUserId.setForestStartNum(inviteTeamUserInfoMapperByUserId.getForestStartNum() + forestStartNum );
inviteTeamUserInfoMapperByUserId.setPartnerNum(inviteTeamUserInfoMapperByUserId.getPartnerNum() + partnerNum );
}else if (3 == userLevel){
inviteTeamUserInfoMapperByUserId.setNormalUserNum(inviteTeamUserInfoMapperByUserId.getNormalUserNum() + normalUserNum );
inviteTeamUserInfoMapperByUserId.setSeedlingNum(inviteTeamUserInfoMapperByUserId.getSeedlingNum() + seedlingNum );
inviteTeamUserInfoMapperByUserId.setBronzeTreeNum(inviteTeamUserInfoMapperByUserId.getBronzeTreeNum() + bronzeTreeNum );
inviteTeamUserInfoMapperByUserId.setSilverTreeNum(inviteTeamUserInfoMapperByUserId.getSilverTreeNum() + silverTreeNum + 1 );
inviteTeamUserInfoMapperByUserId.setGoldTreeNum(inviteTeamUserInfoMapperByUserId.getGoldTreeNum() + goldTreeNum );
inviteTeamUserInfoMapperByUserId.setFarmerNum(inviteTeamUserInfoMapperByUserId.getFarmerNum() + farmerNum );
inviteTeamUserInfoMapperByUserId.setForestStartNum(inviteTeamUserInfoMapperByUserId.getForestStartNum() + forestStartNum );
inviteTeamUserInfoMapperByUserId.setPartnerNum(inviteTeamUserInfoMapperByUserId.getPartnerNum() + partnerNum );
}else if (4 == userLevel){
inviteTeamUserInfoMapperByUserId.setNormalUserNum(inviteTeamUserInfoMapperByUserId.getNormalUserNum() + normalUserNum );
inviteTeamUserInfoMapperByUserId.setSeedlingNum(inviteTeamUserInfoMapperByUserId.getSeedlingNum() + seedlingNum );
inviteTeamUserInfoMapperByUserId.setBronzeTreeNum(inviteTeamUserInfoMapperByUserId.getBronzeTreeNum() + bronzeTreeNum );
inviteTeamUserInfoMapperByUserId.setSilverTreeNum(inviteTeamUserInfoMapperByUserId.getSilverTreeNum() + silverTreeNum );
inviteTeamUserInfoMapperByUserId.setGoldTreeNum(inviteTeamUserInfoMapperByUserId.getGoldTreeNum() + goldTreeNum + 1 );
inviteTeamUserInfoMapperByUserId.setFarmerNum(inviteTeamUserInfoMapperByUserId.getFarmerNum() + farmerNum );
inviteTeamUserInfoMapperByUserId.setForestStartNum(inviteTeamUserInfoMapperByUserId.getForestStartNum() + forestStartNum );
inviteTeamUserInfoMapperByUserId.setPartnerNum(inviteTeamUserInfoMapperByUserId.getPartnerNum() + partnerNum );
}else if (5 == userLevel){
inviteTeamUserInfoMapperByUserId.setNormalUserNum(inviteTeamUserInfoMapperByUserId.getNormalUserNum() + normalUserNum );
inviteTeamUserInfoMapperByUserId.setSeedlingNum(inviteTeamUserInfoMapperByUserId.getSeedlingNum() + seedlingNum );
inviteTeamUserInfoMapperByUserId.setBronzeTreeNum(inviteTeamUserInfoMapperByUserId.getBronzeTreeNum() + bronzeTreeNum );
inviteTeamUserInfoMapperByUserId.setSilverTreeNum(inviteTeamUserInfoMapperByUserId.getSilverTreeNum() + silverTreeNum );
inviteTeamUserInfoMapperByUserId.setGoldTreeNum(inviteTeamUserInfoMapperByUserId.getGoldTreeNum() + goldTreeNum );
inviteTeamUserInfoMapperByUserId.setFarmerNum(inviteTeamUserInfoMapperByUserId.getFarmerNum() + farmerNum + 1 );
inviteTeamUserInfoMapperByUserId.setForestStartNum(inviteTeamUserInfoMapperByUserId.getForestStartNum() + forestStartNum );
inviteTeamUserInfoMapperByUserId.setPartnerNum(inviteTeamUserInfoMapperByUserId.getPartnerNum() + partnerNum );
}else if (6 == userLevel){
inviteTeamUserInfoMapperByUserId.setNormalUserNum(inviteTeamUserInfoMapperByUserId.getNormalUserNum() + normalUserNum );
inviteTeamUserInfoMapperByUserId.setSeedlingNum(inviteTeamUserInfoMapperByUserId.getSeedlingNum() + seedlingNum );
inviteTeamUserInfoMapperByUserId.setBronzeTreeNum(inviteTeamUserInfoMapperByUserId.getBronzeTreeNum() + bronzeTreeNum );
inviteTeamUserInfoMapperByUserId.setSilverTreeNum(inviteTeamUserInfoMapperByUserId.getSilverTreeNum() + silverTreeNum );
inviteTeamUserInfoMapperByUserId.setGoldTreeNum(inviteTeamUserInfoMapperByUserId.getGoldTreeNum() + goldTreeNum );
inviteTeamUserInfoMapperByUserId.setFarmerNum(inviteTeamUserInfoMapperByUserId.getFarmerNum() + farmerNum );
inviteTeamUserInfoMapperByUserId.setForestStartNum(inviteTeamUserInfoMapperByUserId.getForestStartNum() + forestStartNum + 1 );
inviteTeamUserInfoMapperByUserId.setPartnerNum(inviteTeamUserInfoMapperByUserId.getPartnerNum() + partnerNum );
}else if (7 == userLevel){
inviteTeamUserInfoMapperByUserId.setNormalUserNum(inviteTeamUserInfoMapperByUserId.getNormalUserNum() + normalUserNum );
inviteTeamUserInfoMapperByUserId.setSeedlingNum(inviteTeamUserInfoMapperByUserId.getSeedlingNum() + seedlingNum );
inviteTeamUserInfoMapperByUserId.setBronzeTreeNum(inviteTeamUserInfoMapperByUserId.getBronzeTreeNum() + bronzeTreeNum );
inviteTeamUserInfoMapperByUserId.setSilverTreeNum(inviteTeamUserInfoMapperByUserId.getSilverTreeNum() + silverTreeNum );
inviteTeamUserInfoMapperByUserId.setGoldTreeNum(inviteTeamUserInfoMapperByUserId.getGoldTreeNum() + goldTreeNum );
inviteTeamUserInfoMapperByUserId.setFarmerNum(inviteTeamUserInfoMapperByUserId.getFarmerNum() + farmerNum );
inviteTeamUserInfoMapperByUserId.setForestStartNum(inviteTeamUserInfoMapperByUserId.getForestStartNum() + forestStartNum );
inviteTeamUserInfoMapperByUserId.setPartnerNum(inviteTeamUserInfoMapperByUserId.getPartnerNum() + partnerNum + 1);
}
lastMonthTeamUserInfoMapper.updateById(inviteTeamUserInfoMapperByUserId);
//推荐人的推荐人id
LastMonthUserInfo invitedUserByUserId = lastMonthUserInfoMapper.getUserByUserId(userInvitedId);
if (null != invitedUserByUserId){
String beInvitedCode = invitedUserByUserId.getBeInvitedCode();
LastMonthUserInfo user = lastMonthUserInfoMapper.getuserByBeInvitedCode(beInvitedCode);
if (null != user){
String upUserId = user.getUserId();
lastmonthTeamDataPreserve(userId,upUserId);
}
}
}
}
}
}
......@@ -9,6 +9,7 @@ import cn.wisenergy.model.dto.TeamQueryDto;
import cn.wisenergy.model.vo.AerialDeliveryVo;
import cn.wisenergy.model.vo.UserPoolVo;
import cn.wisenergy.service.Manager.RegistUserMoudleInitManager;
import cn.wisenergy.service.Manager.UserDataInfoManager;
import cn.wisenergy.service.app.AerialDeliveryUserService;
import cn.wisenergy.service.app.UserService;
import com.alibaba.fastjson.JSONObject;
......@@ -47,6 +48,9 @@ public class UserServiceImpl extends ServiceImpl<UsersMapper, User> implements U
@Autowired
private AerialDeliveryUserService aerialDeliveryUserService;
@Autowired
private UserDataInfoManager userDataInfoManager;
@Autowired
private RedisUtils redisUtils;
......@@ -219,12 +223,12 @@ public class UserServiceImpl extends ServiceImpl<UsersMapper, User> implements U
Integer normalUserNum = recommendUserMapperByUserId.getNormalUserNum();
recommendUserMapperByUserId.setNormalUserNum(normalUserNum + 1);
recommendUserMapper.updateById(recommendUserMapperByUserId);
//通过用户的userid和推荐人邀请码 设置当前用户的上级直推数据和当前用户所在团队的团队数据
// aerialDeliveryUserService.userSetBeinviteCode(userId,beInvitedCode);
}
//递归向上修改团队用户信息表
teamUserInfo(beInvitedCode);
//记录带邀请码注册的用户行为信息
userDataInfoManager.addUserSetBeInvitedCodeDoc(userId,userIdByIntive);
Map map = new HashMap();
R.ok("注册成功!", 0);
map.put("code", 0);
......@@ -334,7 +338,7 @@ public class UserServiceImpl extends ServiceImpl<UsersMapper, User> implements U
//团队用户数据维护
public void teamUserInfo(String beInvitedCode) {
//根据邀请码查询上级用户的id
//根据邀请码查询上级用户的userId
String teamUserId = usersMapper.getUserByIntiveCode(beInvitedCode);
//查询上级用户的团队信息表
TeamUserInfo teamUserInfoByUserId = teamUserInfoMapper.getByUserId(teamUserId);
......@@ -347,7 +351,7 @@ public class UserServiceImpl extends ServiceImpl<UsersMapper, User> implements U
String teamUserBeInvitedCode = teamUser.getBeInvitedCode();
//递归实现上级所有的用户普通数量 + 1
//若团队用户的被邀请码为 1 时 则没有上级用户用户
if (!"1".equals(teamUserBeInvitedCode)) {
if (!"1".equals(teamUserBeInvitedCode) && !"88888888".equals(teamUserBeInvitedCode)) {
teamUserInfo(teamUserBeInvitedCode);
} else {
return;
......
......@@ -167,6 +167,8 @@ public class LoginController {
QrConfig config = new QrConfig(width, height);
config.setCharset(StandardCharsets.UTF_8);
config.setMargin(0);
config.setWidth(width);
config.setHeight(height);
BufferedImage waterImage = QrCodeUtil.generate(regFullUrl, config);
byte[] bytes = ImageUtil.watermarkImageSimple1(srcImage, waterImage);
// ByteArrayOutputStream out = new ByteArrayOutputStream();
......
......@@ -71,10 +71,7 @@
<!-- 项目日志 -->
<logger name="cn.wisenergy"/>
<!-- 定时任务日志配置-->
<!-- <property name="task_log_address" value="/opt"/>-->
<!-- 订单定时任务日志配置-->
<appender name="order_task_logs" class="ch.qos.logback.core.rolling.RollingFileAppender">
<rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy">
<fileNamePattern>${LOG_DIR}/${project.artifactId}/order_task-log.%d{yyyy-MM-dd}.log</fileNamePattern>
......@@ -95,6 +92,27 @@
<appender-ref ref="order_task_logs"/>
</logger>
<!-- 升级日、月定时任务日志配置-->
<appender name="userLevel_task_logs" class="ch.qos.logback.core.rolling.RollingFileAppender">
<rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy">
<fileNamePattern>${LOG_DIR}/${project.artifactId}/userLevel_task_log.%d{yyyy-MM-dd}.log</fileNamePattern>
</rollingPolicy>
<encoder class="ch.qos.logback.core.encoder.LayoutWrappingEncoder">
<layout class="ch.qos.logback.classic.PatternLayout">
<pattern>%d{yyyy-MM-dd HH:mm:ss.SSS} [%thread] %-5level %logger{50} - %msg%n</pattern>
</layout>
</encoder>
<!--日志文件最大的大小 -->
<triggeringPolicy class="ch.qos.logback.core.rolling.SizeBasedTriggeringPolicy">
<MaxFileSize>10MB</MaxFileSize>
</triggeringPolicy>
</appender>
<logger name="cn.wisenergy.service.app.impl.UserLevelTaskServiceImpl">
<appender-ref ref="userLevel_task_logs"/>
</logger>
<!-- 日志根 -->
<root level="${LOG_LEVEL}">
<appender-ref ref="stdout"/>
......
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