恢复错误的修改
This commit is contained in:
-142
@@ -1,142 +0,0 @@
|
|||||||
package com.jero.common.util;
|
|
||||||
|
|
||||||
import com.jero.common.exception.JeroBootException;
|
|
||||||
import lombok.extern.slf4j.Slf4j;
|
|
||||||
import org.apache.commons.lang3.StringUtils;
|
|
||||||
|
|
||||||
import javax.validation.ConstraintViolation;
|
|
||||||
import javax.validation.Validation;
|
|
||||||
import javax.validation.Validator;
|
|
||||||
import java.util.ArrayList;
|
|
||||||
import java.util.List;
|
|
||||||
import java.util.Set;
|
|
||||||
|
|
||||||
/**
|
|
||||||
* 手动校验@Vaild方法
|
|
||||||
* @author liJiaRao
|
|
||||||
* @date 2021-08-05 15:09
|
|
||||||
*/
|
|
||||||
@Slf4j
|
|
||||||
public class ValidUtil {
|
|
||||||
|
|
||||||
private static Validator validator;
|
|
||||||
|
|
||||||
static {
|
|
||||||
validator = Validation.buildDefaultValidatorFactory()
|
|
||||||
.getValidator();
|
|
||||||
}
|
|
||||||
|
|
||||||
private static Validator validatorAll;
|
|
||||||
|
|
||||||
static {
|
|
||||||
validatorAll = Validation.buildDefaultValidatorFactory()
|
|
||||||
.getValidator();
|
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
|
||||||
* 手动校验@Vaild并抛出异常信息
|
|
||||||
*
|
|
||||||
* @param object 待校验对象
|
|
||||||
* @param groups 待校验的组
|
|
||||||
*/
|
|
||||||
public static void validate(Object object, Class<?>... groups){
|
|
||||||
StringBuilder msg = new StringBuilder();
|
|
||||||
Set<ConstraintViolation<Object>> set = validator.validate(object, groups);
|
|
||||||
for (ConstraintViolation<Object> constraintViolation : set) {
|
|
||||||
msg.append(constraintViolation.getMessage()).append(",");
|
|
||||||
}
|
|
||||||
if (StringUtils.isNotBlank(msg)) {
|
|
||||||
throw new JeroBootException(msg.substring(0,msg.length()-1));
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
|
||||||
* 手动校验@Vaild并抛出异常信息list
|
|
||||||
*
|
|
||||||
* @param object 待校验对象
|
|
||||||
* @param groups 待校验的组
|
|
||||||
* @return errorList
|
|
||||||
*/
|
|
||||||
public static List<String> validateReturnList(Object object, Class<?>... groups){
|
|
||||||
List<String> list = new ArrayList<>();
|
|
||||||
Set<ConstraintViolation<Object>> set = validator.validate(object, groups);
|
|
||||||
for (ConstraintViolation<Object> constraintViolation : set) {
|
|
||||||
list.add(constraintViolation.getMessage());
|
|
||||||
}
|
|
||||||
return list;
|
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
|
||||||
* 手动校验@Vaild并抛出异常信息list
|
|
||||||
*
|
|
||||||
* @param object 待校验对象
|
|
||||||
* @param groups 待校验的组
|
|
||||||
* @return errorList
|
|
||||||
*/
|
|
||||||
public static List<String> validateReturnListWithNum(Object object, int errorRowNum, Class<?>... groups){
|
|
||||||
List<String> list = new ArrayList<>();
|
|
||||||
Set<ConstraintViolation<Object>> set = validator.validate(object, groups);
|
|
||||||
for (ConstraintViolation<Object> constraintViolation : set) {
|
|
||||||
list.add("第" + errorRowNum + "行:"+constraintViolation.getMessage());
|
|
||||||
}
|
|
||||||
return list;
|
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
|
||||||
* @Description 校验全部数据格式
|
|
||||||
* @Author lqt
|
|
||||||
* @Date 2021/8/26
|
|
||||||
* @Param
|
|
||||||
* @Return
|
|
||||||
* @Exception
|
|
||||||
*/
|
|
||||||
public static StringBuilder validateAll(Object object){
|
|
||||||
StringBuilder msg = new StringBuilder();
|
|
||||||
Set<ConstraintViolation<Object>> set = validatorAll.validate(object);
|
|
||||||
if(set != null && set.size() >0 ){
|
|
||||||
for(ConstraintViolation<Object> constraintViolation : set){
|
|
||||||
// 这里循环获取错误信息,可以自定义格式
|
|
||||||
msg.append(constraintViolation.getMessage()).append("<br/>");
|
|
||||||
}
|
|
||||||
}
|
|
||||||
return msg;
|
|
||||||
}
|
|
||||||
/**
|
|
||||||
* @Description 校验excel 每行数据格式
|
|
||||||
* @Author lqt
|
|
||||||
* @Date 2021/8/26
|
|
||||||
* @Param count excel 行数
|
|
||||||
* @Return
|
|
||||||
* @Exception
|
|
||||||
*/
|
|
||||||
public static StringBuilder validateExcel(Object object, int count){
|
|
||||||
StringBuilder msg = new StringBuilder();
|
|
||||||
Set<ConstraintViolation<Object>> set = validatorAll.validate(object);
|
|
||||||
if(set != null && set.size() > 0 ){
|
|
||||||
for(ConstraintViolation<Object> constraintViolation : set){
|
|
||||||
// 这里循环获取错误信息,可以自定义格式
|
|
||||||
msg.append("第").append(count).append("行:").append(constraintViolation.getMessage()).append(",请修改。<br/>");
|
|
||||||
}
|
|
||||||
}
|
|
||||||
return msg;
|
|
||||||
}
|
|
||||||
/**
|
|
||||||
* @Description 校验excel 每行数据格式(只用于支出合同导入校验)
|
|
||||||
* @Author lqt
|
|
||||||
* @Date 2021/8/26
|
|
||||||
* @Param count excel 行数
|
|
||||||
* @Return
|
|
||||||
* @Exception
|
|
||||||
*/
|
|
||||||
public static StringBuilder validateSpendingContractExcel(Object object, int count,int num){
|
|
||||||
StringBuilder msg = new StringBuilder();
|
|
||||||
Set<ConstraintViolation<Object>> set = validatorAll.validate(object);
|
|
||||||
if(set != null && set.size() > 0 ){
|
|
||||||
for(ConstraintViolation<Object> constraintViolation : set){
|
|
||||||
// 这里循环获取错误信息,可以自定义格式
|
|
||||||
msg.append("第").append(count).append("行:").append(num).append(constraintViolation.getMessage()).append(",请修改。<br/>");
|
|
||||||
}
|
|
||||||
}
|
|
||||||
return msg;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
+1
-13
@@ -253,21 +253,9 @@ public class ${entityName}Controller {
|
|||||||
try {
|
try {
|
||||||
List<${entityName}Page> list = ExcelImportUtil.importExcel(file.getInputStream(), ${entityName}Page.class, params);
|
List<${entityName}Page> list = ExcelImportUtil.importExcel(file.getInputStream(), ${entityName}Page.class, params);
|
||||||
for (${entityName}Page page : list) {
|
for (${entityName}Page page : list) {
|
||||||
int lineNumber = i + 1;
|
|
||||||
${entityName} po = new ${entityName}();
|
${entityName} po = new ${entityName}();
|
||||||
BeanUtils.copyProperties(page, po);
|
BeanUtils.copyProperties(page, po);
|
||||||
try {
|
${entityName?uncap_first}Service.saveMain(po, <#list subTables as sub>page.get${sub.entityName}List()<#if sub_has_next>,</#if></#list>);
|
||||||
List<String> errorList = ValidUtil.validateReturnList(po);
|
|
||||||
if (!errorList.isEmpty()){
|
|
||||||
errorLines++;
|
|
||||||
errorMessage.add("第 " + lineNumber + " 行:"+ StringUtils.join(errorList,","));
|
|
||||||
}
|
|
||||||
${entityName?uncap_first}Service.saveMain(po, <#list subTables as sub>page.get${sub.entityName}List()<#if sub_has_next>,</#if></#list>);
|
|
||||||
} catch (Exception e) {
|
|
||||||
// 通过索引名判断出错信息
|
|
||||||
errorMessage.add("第 " + lineNumber + " 行:未知错误");
|
|
||||||
log.error(e.getMessage(), e);
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
return Result.OK("文件导入成功!数据行数:" + list.size());
|
return Result.OK("文件导入成功!数据行数:" + list.size());
|
||||||
} catch (Exception e) {
|
} catch (Exception e) {
|
||||||
|
|||||||
Reference in New Issue
Block a user