Commit 2cffcd26 authored by codezwjava's avatar codezwjava

用户注册初始化事务优化,空头池用户随机分配部分代码上传

parent b1466193
...@@ -177,4 +177,10 @@ public interface UsersMapper extends BaseMapper<User> { ...@@ -177,4 +177,10 @@ public interface UsersMapper extends BaseMapper<User> {
String getUserByIntiveCode(String beInvitedCode); String getUserByIntiveCode(String beInvitedCode);
String getUserIdByIntiveCode(String outerUserId); String getUserIdByIntiveCode(String outerUserId);
/**
* 获取所有的空投用户
* @return
*/
List<User> getAerialDeliveryUser();
} }
...@@ -368,4 +368,13 @@ ...@@ -368,4 +368,13 @@
invite_code = #{outerUserId} invite_code = #{outerUserId}
</select> </select>
<select id="getAerialDeliveryUser" resultType="cn.wisenergy.model.app.User">
select
<include refid="cols_all"/>
from
<include refid="table"/>
where
be_invited_code = '1';
</select>
</mapper> </mapper>
package cn.wisenergy.service.Manager;
import cn.wisenergy.mapper.*;
import cn.wisenergy.model.app.*;
import lombok.extern.slf4j.Slf4j;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Component;
import org.springframework.transaction.annotation.Transactional;
import java.math.BigDecimal;
import java.text.SimpleDateFormat;
import java.util.Date;
@Component
@Slf4j
public class RegistUserMoudleInitManager {
@Autowired
private RecommendUserMapper recommendUserMapper;
@Autowired
private TeamUserInfoMapper teamUserInfoMapper;
@Autowired
private CultivatingPrizeInfoMapper cultivatingPrizeInfoMapper;
@Autowired
private AccountMapper accountMapper;
@Autowired
TeamPerformanceMapper teamPerformanceMapper;
/**
* 注册时用户初始化
*
* @param userId
* @return
*/
@Transactional
public Boolean registUserMoudleInit(String userId) {
SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM");
String data = sdf.format(new Date());
try {
//直推用户表维护
RecommendUser recommendUser = new RecommendUser();
recommendUser.setUserId(userId);
recommendUser.setNormalUserNum(0);
recommendUser.setSeedlingNum(0);
recommendUser.setBronzeTreeNum(0);
recommendUser.setSilverTreeNum(0);
recommendUser.setGoldTreeNum(0);
recommendUser.setFarmerNum(0);
recommendUser.setForestStartNum(0);
recommendUser.setPartnerNum(0);
recommendUser.setMonthyCount(new BigDecimal(0));
recommendUser.setHistoryCount(new BigDecimal(0));
recommendUserMapper.add(recommendUser);
//团队用户表数据维护
TeamUserInfo teamUserInfo = new TeamUserInfo();
teamUserInfo.setUserId(userId);
teamUserInfo.setNormalUserNum(0);
teamUserInfo.setSeedlingNum(0);
teamUserInfo.setBronzeTreeNum(0);
teamUserInfo.setSilverTreeNum(0);
teamUserInfo.setGoldTreeNum(0);
teamUserInfo.setFarmerNum(0);
teamUserInfo.setForestStartNum(0);
teamUserInfo.setPartnerNum(0);
teamUserInfoMapper.add(teamUserInfo);
//培育奖记录数据维护
CultivatingPrizeInfo cultivatingPrizeInfo = new CultivatingPrizeInfo();
cultivatingPrizeInfo.setUserId(userId);
cultivatingPrizeInfo.setSeedling(0);
cultivatingPrizeInfo.setBronzeTree(0);
cultivatingPrizeInfo.setSilverTree(0);
cultivatingPrizeInfo.setGoldTree(0);
cultivatingPrizeInfo.setFarmer(0);
cultivatingPrizeInfo.setForestStart(0);
cultivatingPrizeInfo.setPartner(0);
cultivatingPrizeInfoMapper.add(cultivatingPrizeInfo);
//账户表记录数据维护
AccountInfo accountInfo = new AccountInfo();
accountInfo.setUserId(userId);
accountInfo.setUserLevel(0);
accountInfo.setYearMonth(data);
accountInfo.setExtractMoney(new BigDecimal(0));
accountInfo.setEarningsMonth(new BigDecimal(0));
accountInfo.setFrozenMoney(new BigDecimal(0));
accountInfo.setEarningsTotal(new BigDecimal(0));
accountMapper.add(accountInfo);
//团队业绩表数据维护
TeamPerformance teamPerformance = new TeamPerformance();
teamPerformance.setUserId(userId);
teamPerformance.setUserLevel(0);
teamPerformance.setYearMonth(data);
teamPerformance.setMonthTeamPerformance(new BigDecimal(0));
teamPerformanceMapper.add(teamPerformance);
return true;
} catch (Exception e) {
return false;
}
}
}
...@@ -96,5 +96,11 @@ public interface UserService { ...@@ -96,5 +96,11 @@ public interface UserService {
*/ */
R<Boolean> fillInInviteCode(String userId, String inviteCode); R<Boolean> fillInInviteCode(String userId, String inviteCode);
Boolean registUserMoudleInit(String userId); /**
* 空投池中用户随机分配任意邀请人
* 定时任务(日任务)
* 随机邀请人要求 1:注册时间早于当前用户
* 2;推荐人邀请码不能为1
*/
public void AerialDeliveryUserRand();
} }
...@@ -6,11 +6,14 @@ import cn.wisenergy.model.app.*; ...@@ -6,11 +6,14 @@ import cn.wisenergy.model.app.*;
import cn.wisenergy.model.app.UsersDto; import cn.wisenergy.model.app.UsersDto;
import cn.wisenergy.model.vo.AerialDeliveryVo; import cn.wisenergy.model.vo.AerialDeliveryVo;
import cn.wisenergy.model.vo.UserPoolVo; import cn.wisenergy.model.vo.UserPoolVo;
import cn.wisenergy.service.Manager.RegistUserMoudleInitManager;
import cn.wisenergy.service.app.UserService; import cn.wisenergy.service.app.UserService;
import com.alibaba.fastjson.JSONObject; import com.alibaba.fastjson.JSONObject;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import com.xxl.job.core.handler.annotation.XxlJob;
import lombok.extern.slf4j.Slf4j; import lombok.extern.slf4j.Slf4j;
import org.apache.commons.lang3.StringUtils; import org.apache.commons.lang3.StringUtils;
import org.aspectj.weaver.ast.Var;
import org.springframework.beans.factory.annotation.Autowired; import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service; import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional; import org.springframework.transaction.annotation.Transactional;
...@@ -40,13 +43,7 @@ public class UserServiceImpl extends ServiceImpl<UsersMapper, User> implements U ...@@ -40,13 +43,7 @@ public class UserServiceImpl extends ServiceImpl<UsersMapper, User> implements U
private TeamUserInfoMapper teamUserInfoMapper; private TeamUserInfoMapper teamUserInfoMapper;
@Autowired @Autowired
private CultivatingPrizeInfoMapper cultivatingPrizeInfoMapper; private RegistUserMoudleInitManager registUserMoudleInit;
@Autowired
private AccountMapper accountMapper;
@Autowired
private TeamPerformanceMapper teamPerformanceMapper;
@Autowired @Autowired
private RedisUtils redisUtils; private RedisUtils redisUtils;
...@@ -130,7 +127,7 @@ public class UserServiceImpl extends ServiceImpl<UsersMapper, User> implements U ...@@ -130,7 +127,7 @@ public class UserServiceImpl extends ServiceImpl<UsersMapper, User> implements U
int userLevel = 0; int userLevel = 0;
String headImage = Constants.Common.HEAD_POTRAIT; String headImage = Constants.Common.HEAD_POTRAIT;
usersMapper.insertbyint(userId, inviteCode, beInvitedCode, userLevel, headImage); usersMapper.insertbyint(userId, inviteCode, beInvitedCode, userLevel, headImage);
registUserMoudleInit(userId); registUserMoudleInit.registUserMoudleInit(userId);
} else { } else {
//用户的被邀请码,查询到推荐人用户,根据推荐人用户的邀请码查询/修改 //用户的被邀请码,查询到推荐人用户,根据推荐人用户的邀请码查询/修改
User user = usersMapper.getByBeInvitedCode(beInvitedCode); User user = usersMapper.getByBeInvitedCode(beInvitedCode);
...@@ -342,79 +339,21 @@ public class UserServiceImpl extends ServiceImpl<UsersMapper, User> implements U ...@@ -342,79 +339,21 @@ public class UserServiceImpl extends ServiceImpl<UsersMapper, User> implements U
} }
/** /**
* 注册时用户初始化 * 空投池中用户随机分配任意邀请人
* * 定时任务(日任务)
* @param userId * 随机分配条件( 1:当前用户的推荐人邀请码是 “1”
* @return * 2: 且当前用户的注册时间是一个月前)
* 随机邀请人要求 1:注册时间早于当前用户
* 2;推荐人邀请码不能为1
*/ */
// @XxlJob()
@Override @Override
@Transactional public void AerialDeliveryUserRand(){
public Boolean registUserMoudleInit(String userId) { //查询空头池中的所有用户(即推荐人邀请码为 “1” 的用户)
SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM"); List<User> aerialDeliveryUserList = usersMapper.getAerialDeliveryUser();
String data = sdf.format(new Date()); for (User user : aerialDeliveryUserList) {
try {
//直推用户表维护
RecommendUser recommendUser = new RecommendUser();
recommendUser.setUserId(userId);
recommendUser.setNormalUserNum(0);
recommendUser.setSeedlingNum(0);
recommendUser.setBronzeTreeNum(0);
recommendUser.setSilverTreeNum(0);
recommendUser.setGoldTreeNum(0);
recommendUser.setFarmerNum(0);
recommendUser.setForestStartNum(0);
recommendUser.setPartnerNum(0);
recommendUser.setMonthyCount(new BigDecimal(0));
recommendUser.setHistoryCount(new BigDecimal(0));
recommendUserMapper.add(recommendUser);
//团队用户表数据维护
TeamUserInfo teamUserInfo = new TeamUserInfo();
teamUserInfo.setUserId(userId);
teamUserInfo.setNormalUserNum(0);
teamUserInfo.setSeedlingNum(0);
teamUserInfo.setBronzeTreeNum(0);
teamUserInfo.setSilverTreeNum(0);
teamUserInfo.setGoldTreeNum(0);
teamUserInfo.setFarmerNum(0);
teamUserInfo.setForestStartNum(0);
teamUserInfo.setPartnerNum(0);
teamUserInfoMapper.add(teamUserInfo);
//培育奖记录数据维护
CultivatingPrizeInfo cultivatingPrizeInfo = new CultivatingPrizeInfo();
cultivatingPrizeInfo.setUserId(userId);
cultivatingPrizeInfo.setSeedling(0);
cultivatingPrizeInfo.setBronzeTree(0);
cultivatingPrizeInfo.setSilverTree(0);
cultivatingPrizeInfo.setGoldTree(0);
cultivatingPrizeInfo.setFarmer(0);
cultivatingPrizeInfo.setForestStart(0);
cultivatingPrizeInfo.setPartner(0);
cultivatingPrizeInfoMapper.add(cultivatingPrizeInfo);
//账户表记录数据维护
AccountInfo accountInfo = new AccountInfo();
accountInfo.setUserId(userId);
accountInfo.setUserLevel(0);
accountInfo.setYearMonth(data);
accountInfo.setExtractMoney(new BigDecimal(0));
accountInfo.setEarningsMonth(new BigDecimal(0));
accountInfo.setFrozenMoney(new BigDecimal(0));
accountInfo.setEarningsTotal(new BigDecimal(0));
accountMapper.add(accountInfo);
//团队业绩表数据维护
TeamPerformance teamPerformance = new TeamPerformance();
teamPerformance.setUserId(userId);
teamPerformance.setUserLevel(0);
teamPerformance.setYearMonth(data);
teamPerformance.setMonthTeamPerformance(new BigDecimal(0));
teamPerformanceMapper.add(teamPerformance);
return true;
} catch (Exception e) {
return false;
} }
} }
} }
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