Commit a52c8ada authored by codezwjava's avatar codezwjava

森林状态接口代码修改

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