From a52c8ada0507799606d28cff77c459acc13807c7 Mon Sep 17 00:00:00 2001 From: codezwjava <1563330148@qq.com> Date: Tue, 9 Mar 2021 14:03:54 +0800 Subject: [PATCH] =?UTF-8?q?=E6=A3=AE=E6=9E=97=E7=8A=B6=E6=80=81=E6=8E=A5?= =?UTF-8?q?=E5=8F=A3=E4=BB=A3=E7=A0=81=E4=BF=AE=E6=94=B9?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../cn/wisenergy/model/app/OrderInfo.java | 4 +- .../java/cn/wisenergy/model/app/User.java | 2 +- .../app/impl/UserForestStatusServiceImpl.java | 239 ++++++++++++++---- 3 files changed, 186 insertions(+), 59 deletions(-) diff --git a/wisenergy-model/src/main/java/cn/wisenergy/model/app/OrderInfo.java b/wisenergy-model/src/main/java/cn/wisenergy/model/app/OrderInfo.java index 3d762d8..395f53a 100644 --- a/wisenergy-model/src/main/java/cn/wisenergy/model/app/OrderInfo.java +++ b/wisenergy-model/src/main/java/cn/wisenergy/model/app/OrderInfo.java @@ -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; } diff --git a/wisenergy-model/src/main/java/cn/wisenergy/model/app/User.java b/wisenergy-model/src/main/java/cn/wisenergy/model/app/User.java index 0806cf2..eb41c5b 100644 --- a/wisenergy-model/src/main/java/cn/wisenergy/model/app/User.java +++ b/wisenergy-model/src/main/java/cn/wisenergy/model/app/User.java @@ -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; /** diff --git a/wisenergy-service/src/main/java/cn/wisenergy/service/app/impl/UserForestStatusServiceImpl.java b/wisenergy-service/src/main/java/cn/wisenergy/service/app/impl/UserForestStatusServiceImpl.java index 1b6c0a9..1c5652b 100644 --- a/wisenergy-service/src/main/java/cn/wisenergy/service/app/impl/UserForestStatusServiceImpl.java +++ b/wisenergy-service/src/main/java/cn/wisenergy/service/app/impl/UserForestStatusServiceImpl.java @@ -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); -- 2.18.1