Commit a52c8ada authored by codezwjava's avatar codezwjava

森林状态接口代码修改

parent 57104d9e
...@@ -126,12 +126,12 @@ public class OrderInfo { ...@@ -126,12 +126,12 @@ public class OrderInfo {
/** /**
* updateTime * updateTime
*/ */
@ApiModelProperty(name = "updateTime", value = "update_time") @ApiModelProperty(name = "updateTime", value = "修改时间")
private Date updateTime; private Date updateTime;
/** /**
* createTime * createTime
*/ */
@ApiModelProperty(name = "createTime", value = "createTime") @ApiModelProperty(name = "createTime", value = "创建时间")
private Date createTime; private Date createTime;
} }
...@@ -31,7 +31,7 @@ public class User extends Model<User> implements Serializable{ ...@@ -31,7 +31,7 @@ public class User extends Model<User> implements Serializable{
/** /**
* 手机号作为用户账号 * 手机号作为用户账号
*/ */
@ApiModelProperty(name = "user_id", value = "用户主键id") @ApiModelProperty(name = "user_id", value = "用户id")
private String userId; private String userId;
/** /**
......
...@@ -53,6 +53,7 @@ public class UserForestStatusServiceImpl implements UserForestStatusService { ...@@ -53,6 +53,7 @@ public class UserForestStatusServiceImpl implements UserForestStatusService {
BigDecimal levelTerm = new BigDecimal(3980); BigDecimal levelTerm = new BigDecimal(3980);
HashMap<Object, Object> userForestStatusMap = new HashMap<>(); HashMap<Object, Object> userForestStatusMap = new HashMap<>();
HashMap<Object, Object> difference = new HashMap<>();
String date = DateUtil.convertDateToStr(new Date(), "yyyy-MM"); String date = DateUtil.convertDateToStr(new Date(), "yyyy-MM");
//1.获取当前用户的等级 //1.获取当前用户的等级
...@@ -69,80 +70,206 @@ public class UserForestStatusServiceImpl implements UserForestStatusService { ...@@ -69,80 +70,206 @@ public class UserForestStatusServiceImpl implements UserForestStatusService {
RecommendUser recommendUserMapperByUserId = recommendUserMapper.getByUserId(userId); RecommendUser recommendUserMapperByUserId = recommendUserMapper.getByUserId(userId);
//用户团队表信息 //用户团队表信息
TeamUserInfo teamUserInfobyUserId = teamUserInfoMapper.getByUserId(userId); TeamUserInfo teamUserInfobyUserId = teamUserInfoMapper.getByUserId(userId);
//距离下级直推用户还需增加的数量
int recommend =0;
//距离下级团队用户还需增加的数量
int team =0;
//6.距离下级升级条件 //6.距离下级升级条件
if(userLevel < 2){ if(userLevel < 2){
//用户等级 < 幼苗 显示业绩缺少额度 //用户等级 < 幼苗 显示业绩缺少额度
//获取当前用户的业绩 //获取当前用户的业绩
BigDecimal performanceByUserid = orderMapper.getPerformanceByUserid(userId); BigDecimal performanceByUserid = orderMapper.getPerformanceByUserid(userId);
//距离升级还差多少额度 //距离升级还差多少额度
BigDecimal difference = levelTerm.subtract(performanceByUserid); BigDecimal differenceAmount = levelTerm.subtract(performanceByUserid);
userForestStatusMap.put("difference",difference); difference.put("differenceAmount",differenceAmount);
userForestStatusMap.put("differenceMap",difference);
}else if (userLevel == 2){ }else if (userLevel == 2){
//用户等级为青铜树 //用户等级为青铜树
int levelTerm1 = 20; //到达白银树升级条件
Integer seedlingNum = recommendUserMapperByUserId.getSeedlingNum(); int recommendSeedling = 20;
recommend = levelTerm1 - seedlingNum; //获取当前用户直接推荐表中幼苗数量
userForestStatusMap.put("recommend",recommend); Integer recommendseedlingNum = recommendUserMapperByUserId.getSeedlingNum();
//距离升级还差 recommendDifferenceSeedling
int recommendDifferenceSeedling = recommendSeedling - recommendseedlingNum;
if (recommendDifferenceSeedling < 0){
recommendDifferenceSeedling = 0;
}
difference.put("recommendDifferenceSeedling",recommendDifferenceSeedling);
//距离升级所差百分比
float perenctFloat = ((float)recommendseedlingNum / recommendSeedling);
float perpenct = (float) Math.round(perenctFloat*100)/100;
userForestStatusMap.put("perenct",perpenct);
userForestStatusMap.put("differenceMap",difference);
}else if (userLevel == 3){ }else if (userLevel == 3){
//用户等级为白银树 //用户等级为白银树
int goldLevelRecommend = 54;
int goldLevelteam = 20; //黄金升级条件
//直推用户之和 int recommendSeedling = 50;
Integer countRecommend = recommendUserMapperByUserId.getSeedlingNum()+recommendUserMapperByUserId.getSilverTreeNum(); int recommendSilver = 4;
//所差直推用户的数量 int teamBronze = 20;
recommend = goldLevelRecommend - countRecommend;
//所差团队用户的数量 //当前用户直推表
team = goldLevelteam - teamUserInfobyUserId.getBronzeTreeNum(); int seedlingNum = recommendUserMapperByUserId.getSeedlingNum();
userForestStatusMap.put("recommend",recommend); Integer silverTreeNum = recommendUserMapperByUserId.getSilverTreeNum();
userForestStatusMap.put("team",team); Integer teamBronzeTreeNum = teamUserInfobyUserId.getBronzeTreeNum();
//直推幼苗差
//直推白银差
//团队青铜差
int recommendDifferenceSeedling = recommendSeedling - seedlingNum;
if(recommendDifferenceSeedling < 0 ){
recommendDifferenceSeedling = 0;
}
int recommendDifferenceSilver = recommendSilver - silverTreeNum;
if (recommendDifferenceSilver < 0){
recommendDifferenceSilver = 0;
}
int teamDifferenceBronze = teamBronze - teamBronzeTreeNum;
if (teamDifferenceBronze < 0 ){
teamDifferenceBronze = 0;
}
//距离升级所差百分比
float perenctFloat = ((float) (seedlingNum + silverTreeNum + teamBronzeTreeNum)
/ (recommendSeedling + recommendSilver + teamBronze));
float perenct = (float) Math.round(perenctFloat*100)/100;
userForestStatusMap.put("perenct",perenct);
difference.put("recommendDifferenceSeedling",recommendDifferenceSeedling);
difference.put("recommendDifferenceSilver",recommendDifferenceSilver);
difference.put("teamDifferenceBronze",teamDifferenceBronze);
userForestStatusMap.put("differenceMap",difference);
}else if (userLevel == 4){ }else if (userLevel == 4){
//用户等级为黄金树 //用户等级为黄金树
int farmerLevelRecommend = 73;
int fammerLevelTeam = 40; //农场主升级条件
//用户直推之和 int recommendSeedling = 70;
Integer countRecommend = recommendUserMapperByUserId.getSeedlingNum()+recommendUserMapperByUserId.getGoldTreeNum(); int recommendGold = 3;
//用户团队之和 int teamSilver = 40;
Integer countTeam = teamUserInfobyUserId.getSilverTreeNum();
//所差直推用户的数量 int recommendSeedlingNum = recommendUserMapperByUserId.getSeedlingNum();
recommend = farmerLevelRecommend - countRecommend; int recommendGoldTreeNum = recommendUserMapperByUserId.getGoldTreeNum();
//所差团队用户的数量 int teamSilverTreeNum = teamUserInfobyUserId.getSilverTreeNum();
team = fammerLevelTeam - teamUserInfobyUserId.getBronzeTreeNum();
userForestStatusMap.put("recommend",recommend); //直推幼苗差
userForestStatusMap.put("team",team); //直推黄金差
//团队白银差
int recommendDifferenceSeedling = recommendSeedling - recommendSeedlingNum;
if(recommendDifferenceSeedling < 0 ){
recommendDifferenceSeedling = 0;
}
int recommendDifferenceGold = recommendGold - recommendGoldTreeNum;
if (recommendDifferenceGold < 0){
recommendDifferenceGold = 0;
}
int teamDifferenceSilver = teamSilver - teamSilverTreeNum;
if (teamDifferenceSilver < 0 ){
teamDifferenceSilver = 0;
}
//距离升级所差百分比
float perenctFloat = ((float) (recommendSeedlingNum + recommendGoldTreeNum + teamSilverTreeNum)
/ (recommendSeedling + recommendGold + teamSilver));
float perenct = (float) Math.round(perenctFloat*100)/100;
userForestStatusMap.put("perenct",perenct);
difference.put("recommendDifferenceSeedling",recommendDifferenceSeedling);
difference.put("recommendDifferenceGold",recommendDifferenceGold);
difference.put("teamDifferenceSilver",teamDifferenceSilver);
userForestStatusMap.put("differenceMap",difference);
}else if (userLevel == 5){ }else if (userLevel == 5){
//用户等级为农场主 //用户等级为农场主
int farmerLevelRecommend = 73;
int fammerLevelTeam = 40; //升级森林之星条件
//用户直推之和 int recommendSeedling = 80;
Integer countRecommend = recommendUserMapperByUserId.getSeedlingNum()+recommendUserMapperByUserId.getGoldTreeNum(); int recommenFarmer = 5;
//用户团队之和 int teamSilver = 70;
Integer countTeam = teamUserInfobyUserId.getSilverTreeNum(); int teamGold = 30;
//所差直推用户的数量
recommend = farmerLevelRecommend - countRecommend; //当前用户条件
//所差团队用户的数量 Integer recommendSeedlingNum = recommendUserMapperByUserId.getSeedlingNum();
team = fammerLevelTeam - teamUserInfobyUserId.getBronzeTreeNum(); Integer recommendFarmerNum = recommendUserMapperByUserId.getFarmerNum();
userForestStatusMap.put("recommend",recommend); Integer teamSilverTreeNum = teamUserInfobyUserId.getSilverTreeNum();
userForestStatusMap.put("team",team); Integer teamGoldTreeNum = teamUserInfobyUserId.getGoldTreeNum();
//直推幼苗差
//直推农场主差
//团队白银差
//团队黄金差
int recommendDifferenceSeedling = recommendSeedling - recommendSeedlingNum;
if(recommendDifferenceSeedling < 0 ){
recommendDifferenceSeedling = 0;
}
int recommendDifferenceFarmer = recommenFarmer - recommendFarmerNum;
if (recommendDifferenceFarmer < 0){
recommendDifferenceFarmer = 0;
}
int teamDifferenceSilver = teamSilver - teamSilverTreeNum;
if (teamDifferenceSilver < 0 ){
teamDifferenceSilver = 0;
}
int teamDifferenceGold = teamGold - teamGoldTreeNum;
if (teamDifferenceGold < 0 ){
teamDifferenceGold = 0;
}
//距离升级所差百分比
float perenctFloat = ((float) (recommendSeedlingNum + recommendFarmerNum + teamSilverTreeNum + teamGoldTreeNum)
/ (recommendSeedling + recommenFarmer + teamSilver + teamGold));
float perenct = (float) Math.round(perenctFloat*100)/100;
userForestStatusMap.put("perenct",perenct);
difference.put("recommendDifferenceSeedling",recommendDifferenceSeedling);
difference.put("recommendDifferenceFarmer",recommendDifferenceFarmer);
difference.put("teamDifferenceSilver",teamDifferenceSilver);
difference.put("teamDifferenceGold",teamDifferenceGold);
userForestStatusMap.put("differenceMap",difference);
}else if (userLevel == 6){ }else if (userLevel == 6){
//用户等级为森林之星 //用户等级为森林之星
int forestStartNumLevelRecommend = 101;
int forestStartNumLevelTeam = 170; //升级西田森合伙人条件
//用户直推之和 int recommendSeedling = 100;
Integer countRecommend = recommendUserMapperByUserId.getSeedlingNum()+recommendUserMapperByUserId.getForestStartNum(); int recommendForestStart = 1;
//用户团队之和 int teamSilver = 90;
Integer countTeam = teamUserInfobyUserId.getSilverTreeNum()+teamUserInfobyUserId.getGoldTreeNum()+teamUserInfobyUserId.getFarmerNum(); int teamGold = 50;
//所差直推用户的数量 int teamFarmer = 50;
recommend = forestStartNumLevelRecommend - countRecommend;
//所差团队用户的数量 //当前用户条件
team = forestStartNumLevelTeam - countTeam; Integer recommendSeedlingNum = recommendUserMapperByUserId.getSeedlingNum();
userForestStatusMap.put("recommend",recommend); Integer recommendForestStartNum = recommendUserMapperByUserId.getForestStartNum();
userForestStatusMap.put("team",team); Integer teamSilverTreeNum = teamUserInfobyUserId.getSilverTreeNum();
Integer teamGoldTreeNum = teamUserInfobyUserId.getGoldTreeNum();
Integer teamFarmerNum = teamUserInfobyUserId.getFarmerNum();
int recommendDifferenceSeedling = recommendSeedling - recommendSeedlingNum;
if(recommendDifferenceSeedling < 0 ){
recommendDifferenceSeedling = 0;
}
int recommendDifferenceForestStart = recommendForestStart - recommendForestStartNum;
if (recommendDifferenceForestStart < 0){
recommendDifferenceForestStart = 0;
}
int teamDifferenceSilver = teamSilver - teamSilverTreeNum;
if (teamDifferenceSilver < 0 ){
teamDifferenceSilver = 0;
}
int teamDifferenceGold = teamGold - teamGoldTreeNum;
if (teamDifferenceGold < 0 ){
teamDifferenceGold = 0;
}
int teamDifferenceFarmer = teamFarmer - teamFarmerNum;
if (teamDifferenceFarmer < 0){
teamDifferenceFarmer = 0;
}
//距离升级所差百分比
float perenctFloat = ((float) (recommendSeedlingNum + recommendForestStartNum + teamSilverTreeNum + teamGoldTreeNum + teamFarmerNum)
/ (recommendSeedling + recommendForestStart + teamSilver + teamGold + teamFarmer));
float perenct = (float) Math.round(perenctFloat*100)/100;
userForestStatusMap.put("perenct",perenct);
difference.put("recommendDifferenceSeedling",recommendDifferenceSeedling);
difference.put("recommendDifferenceForestStart",recommendDifferenceForestStart);
difference.put("teamDifferenceSilver",teamDifferenceSilver);
difference.put("teamDifferenceGold",teamDifferenceGold);
difference.put("teamDifferenceFarmer",teamDifferenceFarmer);
userForestStatusMap.put("differenceMap",difference);
}else if (userLevel == 7){
difference.put("null",null);
userForestStatusMap.put("perenct",1);
userForestStatusMap.put("differenceMap",difference);
} }
userForestStatusMap.put("userLevel",userLevel); userForestStatusMap.put("userLevel",userLevel);
......
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