|
@@ -32,6 +32,7 @@ import java.time.LocalDate;
|
|
|
import java.time.YearMonth;
|
|
|
import java.time.temporal.TemporalAdjusters;
|
|
|
import java.util.*;
|
|
|
+import java.util.concurrent.atomic.AtomicInteger;
|
|
|
import java.util.stream.Collectors;
|
|
|
import java.util.stream.Stream;
|
|
|
|
|
@@ -1220,6 +1221,7 @@ public class ShopServiceImpl implements ShopService {
|
|
|
if (null != shopKeyword && shopKeyword.size() > 0) {
|
|
|
// 访问供应商用户对于所在地区
|
|
|
List<String> region = shopMapper.getRegion(startTime, endTime, shopKeyword);
|
|
|
+ region.removeIf(re -> re.length() < 2);
|
|
|
Set<String> province = new HashSet<>();
|
|
|
String com = "";
|
|
|
for (String str : region) {
|
|
@@ -1234,8 +1236,42 @@ public class ShopServiceImpl implements ShopService {
|
|
|
rData.setValue(collect.size());
|
|
|
regionMap.add(rData);
|
|
|
}
|
|
|
- userIdentity = shopMapper.getUserIdentity(startTime, endTime, shopKeyword);
|
|
|
- clubType = shopMapper.getClubType(startTime, endTime, shopKeyword);
|
|
|
+ set = new HashSet<>();
|
|
|
+ List<ReturnEntityVo> userIdentity1 = shopMapper.getUserIdentity(startTime, endTime, shopKeyword);
|
|
|
+ // 所有值之和
|
|
|
+ AtomicInteger maxUserValue = new AtomicInteger(0);
|
|
|
+ if (null != userIdentity1 && userIdentity1.size() > 0) {
|
|
|
+ for (ReturnEntityVo returnEntityVo : userIdentity1) {
|
|
|
+ maxUserValue.updateAndGet(max -> max + Integer.parseInt(returnEntityVo.getValue()));
|
|
|
+ if (!set.contains(returnEntityVo.getName())) {
|
|
|
+ set.add(returnEntityVo.getName());
|
|
|
+ userIdentity.add(returnEntityVo);
|
|
|
+ } else {
|
|
|
+ for (ReturnEntityVo returnUserIdentity : userIdentity) {
|
|
|
+ returnUserIdentity.setValue(MathUtil.add(returnUserIdentity.getValue(), returnEntityVo.getValue()).toString());
|
|
|
+ }
|
|
|
+ }
|
|
|
+ }
|
|
|
+ userIdentity.forEach(returnUserIdentity -> returnUserIdentity.setValue(MathUtil.div(returnUserIdentity.getValue(), maxUserValue.get(), 2).toString()));
|
|
|
+ }
|
|
|
+ set = new HashSet<>();
|
|
|
+ List<ReturnEntityVo> clubType1 = shopMapper.getClubType(startTime, endTime, shopKeyword);
|
|
|
+ if (null != clubType1 && clubType1.size() > 0) {
|
|
|
+ // 所有值之和
|
|
|
+ AtomicInteger maxClubTypeValue = new AtomicInteger(0);
|
|
|
+ for (ReturnEntityVo returnEntityVo : clubType1) {
|
|
|
+ maxClubTypeValue.updateAndGet(max -> max + Integer.parseInt(returnEntityVo.getValue()));
|
|
|
+ if (!set.contains(returnEntityVo.getName())) {
|
|
|
+ set.add(returnEntityVo.getName());
|
|
|
+ clubType.add(returnEntityVo);
|
|
|
+ } else {
|
|
|
+ for (ReturnEntityVo returnUserIdentity : clubType) {
|
|
|
+ returnUserIdentity.setValue(MathUtil.add(returnUserIdentity.getValue(), returnEntityVo.getValue()).toString());
|
|
|
+ }
|
|
|
+ }
|
|
|
+ }
|
|
|
+ userIdentity.forEach(returnUserIdentity -> returnUserIdentity.setValue(MathUtil.div(returnUserIdentity.getValue(), maxClubTypeValue.get(), 2).toString()));
|
|
|
+ }
|
|
|
}
|
|
|
map.put("channels", regionMap);
|
|
|
map.put("userIdentity", userIdentity);
|