提交修改

This commit is contained in:
quyixiao 2021-01-21 23:58:49 +08:00
parent 894fc29901
commit c969b218bc
3 changed files with 101 additions and 3 deletions

View File

@ -1,10 +1,12 @@
package com.lz.common.utils;
import javafx.scene.input.TouchEvent;
import org.apache.commons.lang.StringUtils;
import java.math.BigDecimal;
import java.text.DecimalFormat;
import java.text.NumberFormat;
import java.util.regex.Pattern;
/**
@ -441,4 +443,14 @@ public class NumberUtil {
return ret;
}
}
public static boolean isNumeric(String str){
Pattern pattern = Pattern.compile("[0-9]*");
return pattern.matcher(str).matches();
}
public static void main(String[] args) {
System.out.println(isNumeric("123a"));
}
}

View File

@ -4,8 +4,10 @@ package com.lz.common.utils;
import com.lz.common.cli.CliToken;
import com.lz.common.cli.CliTokens;
import com.lz.modules.app.utils.t.Tuple;
import com.lz.modules.flow.model.TaskDto;
import org.junit.Test;
import javax.print.attribute.standard.MediaSize;
import java.util.ArrayList;
import java.util.Arrays;
import java.util.List;
@ -18,7 +20,7 @@ public class TaskCommand {
public static final String task = "task";
public static final String record = "record";
public static List<String> commandCommands = new ArrayList<String>(Arrays.asList(new String[]{"add","update","list"}));
public static List<String> commandCommands = new ArrayList<String>(Arrays.asList(new String[]{"add", "update", "list"}));
public static List<String> optTargets = new ArrayList<String>(Arrays.asList(new String[]{"task", "record"}));
@ -32,15 +34,84 @@ public class TaskCommand {
return new Tuple(488, "命令的第二个参数必需是 task or record");
}
if (task.equals(tokens[1])) { //表示对 task 增删改查
if (tokens[0].equals(list)) { //task list
return new Tuple(1);
}
if (tokens[0].equals(add)) {
//task add 1 -nrm "内容" 30 "哈哈"
//task add 1 "内容" 30 "哈哈"
//task add 1 "内容" 30
//task add 1 "内容"
//task add 1 -n "内容"
if(tokens.length < 4 ){
return new Tuple(488, "task add 参数不对,如 task add 1 \"今天任务\"");
}
if(!NumberUtil.isNumeric(tokens[2])){
return new Tuple(488, "命令的第三个参数必需是数字");
}
TaskDto taskDto = new TaskDto();
taskDto.setId(NumberUtil.objToLong(tokens[2]));
int i = 3;
while (i < tokens.length) {
String notKnow = tokens[i];
if(notKnow.startsWith("-")){
notKnow = notKnow.substring(1);
if (StringUtil.isEmpty(notKnow)) {
return new Tuple(488, "task add 的-参数后面必需是 n或r或m。");
}
char chars[] = notKnow.toCharArray();
if (i + chars.length > tokens.length) {
return new Tuple(488, "参数个数不对");
}
for (char c : chars) {
i++;
String know = tokens[i];
if (c == 'n') {
taskDto.setName(know);
} else if (c == 'r') {
if(!NumberUtil.isNumeric(know)){
return new Tuple(488, "r 参数必需是一个正整数");
}
taskDto.setRate(NumberUtil.objToIntDefault(know,0));
}else if ( c == 'm'){
taskDto.setMark(know);
}
}
}else{
if(StringUtil.isBlank(taskDto.getName())){
taskDto.setName(notKnow);
}else if(taskDto.getRate() !=null){
if(!NumberUtil.isNumeric(notKnow)){
return new Tuple(488, "进度必需是一个正整数");
}
taskDto.setRate(NumberUtil.objToIntDefault( notKnow,0));
}else if(StringUtil.isEmpty(taskDto.getMark())){
taskDto.setMark(notKnow);
}
}
i ++;
}
return new Tuple(2,taskDto);
} else if (tokens[0].equals(update)) { //task update
} else if (record.equals(tokens[1])) { //表示对 list 增删改查
return new Tuple(3);
}
} else if (record.equals(tokens[1])) { //表示对 record 增删改查
if (tokens[0].equals(list)) { //record list
return new Tuple(4);
}
if (tokens[0].equals(add)) { //record add
return new Tuple(5);
} else if (tokens[0].equals(update)) { //record update
return new Tuple(6);
}
}
return new Tuple();
}
public static String [] getTokens(String command) {
public static String[] getTokens(String command) {
List<String> tokenList = new ArrayList<>();
List<CliToken> tokens = CliTokens.tokenize(command);
for (int i = 0; i < tokens.size(); i++) {
@ -56,5 +127,9 @@ public class TaskCommand {
for (int i = 0; i < tokens.size(); i++) {
System.out.println(tokens.get(i).value());
}
System.out.println("======================");
String dd = "-d";
dd = dd.substring(1);
System.out.println(dd);
}
}

View File

@ -0,0 +1,11 @@
package com.lz.modules.flow.model;
import lombok.Data;
@Data
public class TaskDto {
private Long id ;
private String name;
private Integer rate ;
private String mark;
}