Skip to content

Commit

Permalink
<feat>(moon): Add percent type express parse.
Browse files Browse the repository at this point in the history
  • Loading branch information
yizzuide committed Mar 14, 2020
1 parent b591874 commit 26d7b2a
Show file tree
Hide file tree
Showing 4 changed files with 27 additions and 6 deletions.
4 changes: 2 additions & 2 deletions Milkomeda/pom.xml
Original file line number Diff line number Diff line change
Expand Up @@ -11,7 +11,7 @@

<properties>
<java.version>1.8</java.version>
<project.release.version>2.6.0-SNAPSHOT</project.release.version>
<project.release.version>2.6.1-SNAPSHOT</project.release.version>
<spring-boot.version>2.2.4</spring-boot.version>
<spring-cloud.version>Hoxton.RELEASE</spring-cloud.version>
<mybatis.starter.version>2.1.1</mybatis.starter.version>
Expand Down Expand Up @@ -65,7 +65,7 @@
<profile>
<id>sonatype-oss-release</id>
<properties>
<project.release.version>2.6.0</project.release.version>
<project.release.version>2.6.1</project.release.version>
</properties>
<build>
<plugins>
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -6,10 +6,11 @@
*
* 全部阶段总百分比为100,阶段赋值如下:<br>
* 33% 设置 33:阶段值为索引0
* 70% 设置 70:阶段值为索引1
* 67% 设置 67:阶段值为索引1
*
* @author yizzuide
* @since 2.6.0
* @version 2.6.1
* Create at 2020/03/13 21:42
*/
public class PercentMoonStrategy implements MoonStrategy {
Expand Down Expand Up @@ -51,4 +52,22 @@ public LeftHandPointer pluck(Moon<?> moon, LeftHandPointer leftHandPointer) {
leftHandPointer.setCurrent(p);
return leftHandPointer;
}

/**
* 百分比表达式解析, 如:5/5、3/7、25/75
* @param percentExpress 百分比表达式
* @return 百分比列表
*/
public static Integer[] parse(String percentExpress) {
String[] percentComps = percentExpress.split("/");
Integer[] percentArray = new Integer[percentComps.length];
for (int i = 0; i < percentComps.length; i++) {
String percentComp = percentComps[i];
if (percentComp.length() == 1) {
percentComps[i] = percentComp + "0";
}
percentArray[i] = Integer.valueOf(percentComps[i]);
}
return percentArray;
}
}
2 changes: 1 addition & 1 deletion MilkomedaDemo/pom.xml
Original file line number Diff line number Diff line change
Expand Up @@ -19,7 +19,7 @@
<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
<project.reporting.outputEncoding>UTF-8</project.reporting.outputEncoding>
<java.version>1.8</java.version>
<milkomeda.version>2.6.0-SNAPSHOT</milkomeda.version>
<milkomeda.version>2.6.1-SNAPSHOT</milkomeda.version>
<mybatis.starter>2.1.1</mybatis.starter>
</properties>

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -25,8 +25,10 @@ public Moon<String> smsMoon() {
public Moon<Integer> abTestMoon() {
Moon<Integer> moon = new Moon<>();
moon.setMoonStrategy(new PercentMoonStrategy());
// AB测试:15%为0,85为1
moon.add(15, 85);
// AB测试阶段值:15%为0,85%为1
// moon.add(15, 85);
// moon.add(PercentMoonStrategy.parse("15/85"));
moon.add(PercentMoonStrategy.parse("1/9"));
return moon;
}
}

0 comments on commit 26d7b2a

Please sign in to comment.