Commit b9909272 authored by codezwjava's avatar codezwjava

后台--实现将用户等级设置为幼苗等级功能

parent 05f9c9b1
......@@ -371,7 +371,7 @@
from
<include refid="table"/>
where
invite_code = #{outerUserId}
invite_code = #{IntiveCode}
</select>
<select id="getAerialDeliveryUserBeforOneMonth" resultType="cn.wisenergy.model.app.User">
......
......@@ -9,4 +9,7 @@ public interface UserLevelService {
*/
void userLevelUpgrade(String userId);
//同步accountInfo 和TeamPerformance 的用户等级
void accountAndTeamPerformanceUserLevelUpdate(String userId);
}
......@@ -107,4 +107,12 @@ public interface UserService {
*/
R<PageInfo<User>> getUserList(TeamQueryDto queryDto);
/**
* 将普通用户等级设置为幼苗用户等级
* @param userId 用户的userId
* @param userLevel 用户等级
* @return 成功失败
*/
int setUserLevelToSeedling(String userId, Integer userLevel);
}
......@@ -871,6 +871,7 @@ public class UserLevelServiceImpl extends ServiceImpl<UsersMapper, User> impleme
}
//同步accountInfo 和TeamPerformance 的用户等级
@Override
public void accountAndTeamPerformanceUserLevelUpdate(String userId){
User userByUserId = usersMapper.getUserByUserId(userId);
......
......@@ -49,6 +49,9 @@ public class UserServiceImpl extends ServiceImpl<UsersMapper, User> implements U
@Autowired
private AerialDeliveryUserService aerialDeliveryUserService;
@Autowired
private UserLevelServiceImpl userLevelService;
@Autowired
private UserDataInfoManager userDataInfoManager;
......@@ -458,6 +461,86 @@ public class UserServiceImpl extends ServiceImpl<UsersMapper, User> implements U
schemeVo.setPageSize(pageSize);
}
/**
* 将普通用户等级设置为幼苗用户等级
* @param userId 用户的userId
* @param userLevel 用户等级
* @return 0 成功 1失败
*/
@Transactional
@Override
public int setUserLevelToSeedling(String userId, Integer userLevel){
try {
User user = usersMapper.getUserByUserId(userId);
user.setUserLevel(1);
usersMapper.updateById(user);
//当前用户的推荐人邀请码
String beInvitedCode = user.getBeInvitedCode();
if (!"1".equals(beInvitedCode)){
//上级用户直推数据维护
String userIdByIntiveCode = usersMapper.getUserIdByIntiveCode(beInvitedCode);
RecommendUser recommendUserMapperByUserId = recommendUserMapper.getByUserId(userIdByIntiveCode);
//上级用户的普通用户数量
Integer normalUserNum = recommendUserMapperByUserId.getNormalUserNum();
//上级用户的幼苗用户数量
Integer recommendUserMapperByUserIdSeedlingNum = recommendUserMapperByUserId.getSeedlingNum();
if (normalUserNum > 0){
normalUserNum = normalUserNum - 1;
}
recommendUserMapperByUserIdSeedlingNum = recommendUserMapperByUserIdSeedlingNum + 1;
recommendUserMapperByUserId.setNormalUserNum(normalUserNum);
recommendUserMapperByUserId.setSeedlingNum(recommendUserMapperByUserIdSeedlingNum);
recommendUserMapper.updateById(recommendUserMapperByUserId);
//用户的团队数据维护
normalToSeedlingteamUserInfo(beInvitedCode);
}
//同步用户信息到account-Info 和 team_performance 中
userLevelService.accountAndTeamPerformanceUserLevelUpdate(userId);
return 0;
}catch (Exception e){
return 1;
}
}
//设置普通用户升级至幼苗用户时团队用户数据维护
public void normalToSeedlingteamUserInfo(String beInvitedCode) {
//根据邀请码查询上级用户的userId
String teamUserId = usersMapper.getUserByIntiveCode(beInvitedCode);
//查询上级用户的团队信息表
TeamUserInfo teamUserInfoByUserId = teamUserInfoMapper.getByUserId(teamUserId);
//上级用户团队信息中普通用户数量 -1
Integer normalUserNum = teamUserInfoByUserId.getNormalUserNum();
if (normalUserNum > 0){
normalUserNum = normalUserNum - 1;
}
//上级用户团队信息幼苗用户数量+1
Integer seedlingNum = teamUserInfoByUserId.getSeedlingNum();
teamUserInfoByUserId.setSeedlingNum(seedlingNum + 1);
teamUserInfoByUserId.setNormalUserNum(normalUserNum);
teamUserInfoMapper.updateById(teamUserInfoByUserId);
//根据上级用户id查询上级用户的邀请码
User teamUser = usersMapper.getByUserId(teamUserId);
String teamUserBeInvitedCode = teamUser.getBeInvitedCode();
//递归实现上级所有的用户普通数量 + 1
//若团队用户的被邀请码为 1 时 则没有上级用户用户
if (!"1".equals(teamUserBeInvitedCode) && !"88888888".equals(teamUserBeInvitedCode)) {
normalToSeedlingteamUserInfo(teamUserBeInvitedCode);
} else {
return;
}
}
}
......@@ -210,4 +210,29 @@ public class UserController extends BaseController {
log.info("shop-mall[]UserController[]queryCultivatingPrizeList[]input.param.query:");
return cultivatingPrizeService.getCultivatingPrizeList();
}
@ApiOperation(value = "后台-设置用户等级为幼苗", notes = "后台-设置用户等级为幼苗", httpMethod = "GET")
@GetMapping("admin/user/setUserLevelToSeedling")
public R<String> setUserLevelToSeedling(String userId,Integer userLevel){
if (null == userId || null == userLevel){
return R.error("入参为空");
}
User userByUserId = userService.getByUserId(userId);
if (null == userByUserId){
return R.error(1,"当前用户不存在");
}
if (userLevel != 0){
return R.error("用户等级不是普通用户,请查看自己等级");
}
//进行用户等级设置
int flag = userService.setUserLevelToSeedling(userId , userLevel);
if (flag == 0){
return R.ok(0,"设置成功");
}else {
return R.error(1,"设置失败,请重试");
}
}
}
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