|
@@ -551,7 +551,7 @@ public class GameServerServiceImpl implements IGameServerService {
|
|
|
GSGameServerDayRVO gsGameServerDayRVO = rDataList.get(i);
|
|
|
rData = getRDataStr(gsGameServerDayRVO, vo);
|
|
|
} else {
|
|
|
- rData = "0/0/0/0";
|
|
|
+ rData = "0/0/0/0/0/0/0/0";
|
|
|
}
|
|
|
value += "/" + rData;
|
|
|
// field.set(vo, value + "/" + rData);
|
|
@@ -564,7 +564,12 @@ public class GameServerServiceImpl implements IGameServerService {
|
|
|
.smallR(split[4])
|
|
|
.mediumR(split[5])
|
|
|
.largeR(split[6])
|
|
|
- .superR(split[7]).build();
|
|
|
+ .superR(split[7])
|
|
|
+ .smallRNum(split[8])
|
|
|
+ .mediumRNum(split[9])
|
|
|
+ .largeRNum(split[10])
|
|
|
+ .superRNum(split[11])
|
|
|
+ .build();
|
|
|
fieldObjectList.get(i).set(vo, retentionVO);
|
|
|
} catch (IllegalAccessException e) {
|
|
|
throw new RuntimeException(e);
|
|
@@ -652,7 +657,12 @@ public class GameServerServiceImpl implements IGameServerService {
|
|
|
.smallR(split[4])
|
|
|
.mediumR(split[5])
|
|
|
.largeR(split[6])
|
|
|
- .superR(split[7]).build();
|
|
|
+ .superR(split[7])
|
|
|
+ .smallRNum(split[8])
|
|
|
+ .mediumRNum(split[9])
|
|
|
+ .largeRNum(split[10])
|
|
|
+ .superRNum(split[11])
|
|
|
+ .build();
|
|
|
fieldObjectList.get(i).set(vo, retentionVO);
|
|
|
// field.set(vo, value + "/" + rData);
|
|
|
} catch (IllegalAccessException e) {
|
|
@@ -702,13 +712,19 @@ public class GameServerServiceImpl implements IGameServerService {
|
|
|
if (rvo != null && vo.getTotalAmountNum() != null && vo.getTotalAmountNum() != 0) {
|
|
|
//充值总人数
|
|
|
BigDecimal totalAmountNum = new BigDecimal(vo.getTotalAmountNum());
|
|
|
- BigDecimal smallR = new BigDecimal(rvo.getSmallR()).divide(totalAmountNum, 2, RoundingMode.HALF_UP).multiply(BigDecimal.valueOf(100));
|
|
|
- BigDecimal mediumR = new BigDecimal(rvo.getMediumR()).divide(totalAmountNum, 2, RoundingMode.HALF_UP).multiply(BigDecimal.valueOf(100));
|
|
|
- BigDecimal largeR = new BigDecimal(rvo.getLargeR()).divide(totalAmountNum, 2, RoundingMode.HALF_UP).multiply(BigDecimal.valueOf(100));
|
|
|
- BigDecimal superR = new BigDecimal(rvo.getSuperR()).divide(totalAmountNum, 2, RoundingMode.HALF_UP).multiply(BigDecimal.valueOf(100));
|
|
|
- return smallR + "/" + mediumR + "/" + largeR + "/" + superR;
|
|
|
+ //R人数
|
|
|
+ Long smallRCount = rvo.getSmallR();
|
|
|
+ Long mediumRCount = rvo.getMediumR();
|
|
|
+ Long largeRCont = rvo.getLargeR();
|
|
|
+ Long superRCount = rvo.getSuperR();
|
|
|
+ //R留存率
|
|
|
+ BigDecimal smallR = new BigDecimal(smallRCount).divide(totalAmountNum, 2, RoundingMode.HALF_UP).multiply(BigDecimal.valueOf(100));
|
|
|
+ BigDecimal mediumR = new BigDecimal(mediumRCount).divide(totalAmountNum, 2, RoundingMode.HALF_UP).multiply(BigDecimal.valueOf(100));
|
|
|
+ BigDecimal largeR = new BigDecimal(largeRCont).divide(totalAmountNum, 2, RoundingMode.HALF_UP).multiply(BigDecimal.valueOf(100));
|
|
|
+ BigDecimal superR = new BigDecimal(superRCount).divide(totalAmountNum, 2, RoundingMode.HALF_UP).multiply(BigDecimal.valueOf(100));
|
|
|
+ return smallR + "/" + mediumR + "/" + largeR + "/" + superR + "/" + smallRCount + "/" + mediumRCount + "/" + largeRCont + "/" + superRCount;
|
|
|
} else {
|
|
|
- return "0/0/0/0";
|
|
|
+ return "0/0/0/0/0/0/0/0";
|
|
|
}
|
|
|
}
|
|
|
|