@FunctionalInterface

This commit is contained in:
thinkgem
2023-02-08 12:52:55 +08:00
parent dd81693b36
commit dd9a058d63
5 changed files with 176 additions and 269 deletions

View File

@@ -8,6 +8,7 @@ package com.jeesite.common.callback;
* 方法回调接口
* @author ThinkGem
*/
@FunctionalInterface
public interface MethodCallback {
Object execute(Object... params);

View File

@@ -409,10 +409,8 @@ public class ListUtils extends org.apache.commons.collections.ListUtils {
final String[] ss = orderBy.trim().split(" ");
if (ss != null){
final String t = ss.length==2 ? ss[1] : "asc";
Collections.sort(list, new Comparator<T>() {
@Override
public int compare(T o1, T o2) {
String s1 = StringUtils.EMPTY, s2 = StringUtils.EMPTY;
Collections.sort(list, (o1, o2) -> {
String s1, s2;
if (o1 instanceof Map){
s1 = ObjectUtils.toString(((Map)o1).get(ss[0]));
s2 = ObjectUtils.toString(((Map)o2).get(ss[0]));
@@ -425,7 +423,6 @@ public class ListUtils extends org.apache.commons.collections.ListUtils {
}else{
return s2.compareTo(s1);
}
}
});
}
}

View File

@@ -4,40 +4,6 @@
*/
package com.jeesite.common.utils.excel;
import java.io.Closeable;
import java.io.File;
import java.io.FileInputStream;
import java.io.IOException;
import java.io.InputStream;
import java.lang.reflect.Constructor;
import java.lang.reflect.Field;
import java.lang.reflect.InvocationTargetException;
import java.lang.reflect.Method;
import java.math.BigDecimal;
import java.text.DecimalFormat;
import java.util.Collections;
import java.util.Comparator;
import java.util.Date;
import java.util.Iterator;
import java.util.List;
import java.util.Map;
import org.apache.poi.hssf.usermodel.HSSFWorkbook;
import org.apache.poi.openxml4j.exceptions.InvalidFormatException;
import org.apache.poi.ss.formula.eval.ErrorEval;
import org.apache.poi.ss.usermodel.Cell;
import org.apache.poi.ss.usermodel.CellType;
import org.apache.poi.ss.usermodel.CellValue;
import org.apache.poi.ss.usermodel.DateUtil;
import org.apache.poi.ss.usermodel.FormulaEvaluator;
import org.apache.poi.ss.usermodel.Row;
import org.apache.poi.ss.usermodel.Sheet;
import org.apache.poi.ss.usermodel.Workbook;
import org.apache.poi.xssf.usermodel.XSSFWorkbook;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.springframework.web.multipart.MultipartFile;
import com.jeesite.common.callback.MethodCallback;
import com.jeesite.common.codec.EncodeUtils;
import com.jeesite.common.collect.ListUtils;
@@ -50,6 +16,23 @@ import com.jeesite.common.utils.excel.annotation.ExcelField;
import com.jeesite.common.utils.excel.annotation.ExcelField.Type;
import com.jeesite.common.utils.excel.annotation.ExcelFields;
import com.jeesite.common.utils.excel.fieldtype.FieldType;
import org.apache.poi.hssf.usermodel.HSSFWorkbook;
import org.apache.poi.openxml4j.exceptions.InvalidFormatException;
import org.apache.poi.ss.formula.eval.ErrorEval;
import org.apache.poi.ss.usermodel.*;
import org.apache.poi.xssf.usermodel.XSSFWorkbook;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.springframework.web.multipart.MultipartFile;
import java.io.*;
import java.lang.reflect.Constructor;
import java.lang.reflect.Field;
import java.lang.reflect.InvocationTargetException;
import java.lang.reflect.Method;
import java.math.BigDecimal;
import java.text.DecimalFormat;
import java.util.*;
/**
* 导入Excel文件支持“XLS”和“XLSX”格式
@@ -334,9 +317,7 @@ public class ExcelImport implements Closeable {
* @param groups 导入分组
*/
public <E> List<E> getDataList(Class<E> cls, final boolean isThrowException, String... groups) throws Exception{
return getDataList(cls, new MethodCallback() {
@Override
public Object execute(Object... params) {
return getDataList(cls, params -> {
if (isThrowException){
Exception ex = (Exception)params[0];
int rowNum = (int)params[1];
@@ -344,13 +325,12 @@ public class ExcelImport implements Closeable {
throw new ExcelException("Get cell value ["+rowNum+","+columnNum+"]", ex);
}
return null;
}
}, groups);
}
/**
* 获取导入数据列表
* @param cls 导入对象类型
* @param isThrowException 遇见错误是否抛出异常
* @param exceptionCallback 遇见异常时回调方法
* @param groups 导入分组
*/
@SuppressWarnings("unchecked")

View File

@@ -4,11 +4,6 @@
*/
package com.jeesite.modules.cms.db;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.boot.autoconfigure.condition.ConditionalOnProperty;
import org.springframework.stereotype.Component;
import com.jeesite.common.callback.MethodCallback;
import com.jeesite.common.config.Global;
import com.jeesite.common.tests.BaseInitDataTests;
import com.jeesite.modules.cms.dao.ArticleDao;
@@ -20,6 +15,9 @@ import com.jeesite.modules.cms.entity.Site;
import com.jeesite.modules.cms.service.CategoryService;
import com.jeesite.modules.cms.service.SiteService;
import com.jeesite.modules.gen.utils.GenUtils;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.boot.autoconfigure.condition.ConditionalOnProperty;
import org.springframework.stereotype.Component;
/**
* 初始化CMS表及数据
@@ -51,9 +49,7 @@ public class InitCmsData extends BaseInitDataTests {
@Autowired
private SiteService siteService;
public void initSite() throws Exception{
initExcelData(Site.class, new MethodCallback() {
@Override
public Object execute(Object... params) {
initExcelData(Site.class, params -> {
String action = (String)params[0];
if("save".equals(action)){
Site entity = (Site)params[1];
@@ -62,16 +58,13 @@ public class InitCmsData extends BaseInitDataTests {
return null;
}
return null;
}
});
}
@Autowired
private CategoryService categoryService;
public void initCategory() throws Exception{
initExcelData(Category.class, new MethodCallback() {
@Override
public Object execute(Object... params) {
initExcelData(Category.class, params -> {
String action = (String)params[0];
if("save".equals(action)){
Category entity = (Category)params[1];
@@ -80,16 +73,13 @@ public class InitCmsData extends BaseInitDataTests {
return null;
}
return null;
}
});
}
@Autowired
private ArticleDao articleDao;
public void initArticle() throws Exception{
initExcelData(Article.class, new MethodCallback() {
@Override
public Object execute(Object... params) {
initExcelData(Article.class, params -> {
String action = (String)params[0];
if("save".equals(action)){
Article entity = (Article)params[1];
@@ -98,16 +88,13 @@ public class InitCmsData extends BaseInitDataTests {
return null;
}
return null;
}
});
}
@Autowired
private ArticleDataDao articleDataDao;
public void initArticleData() throws Exception{
initExcelData(ArticleData.class, new MethodCallback() {
@Override
public Object execute(Object... params) {
initExcelData(ArticleData.class, params -> {
String action = (String)params[0];
if("save".equals(action)){
ArticleData entity = (ArticleData)params[1];
@@ -116,7 +103,6 @@ public class InitCmsData extends BaseInitDataTests {
return null;
}
return null;
}
});
}

View File

@@ -4,12 +4,6 @@
*/
package com.jeesite.modules.sys.db;
import org.quartz.CronTrigger;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.boot.autoconfigure.condition.ConditionalOnProperty;
import org.springframework.stereotype.Component;
import com.jeesite.common.callback.MethodCallback;
import com.jeesite.common.config.Global;
import com.jeesite.common.idgen.IdGen;
import com.jeesite.common.tests.BaseInitDataTests;
@@ -19,30 +13,12 @@ import com.jeesite.modules.job.entity.JobEntity;
import com.jeesite.modules.msg.task.impl.MsgLocalMergePushTask;
import com.jeesite.modules.msg.task.impl.MsgLocalPushTask;
import com.jeesite.modules.sys.dao.RoleMenuDao;
import com.jeesite.modules.sys.entity.Area;
import com.jeesite.modules.sys.entity.Company;
import com.jeesite.modules.sys.entity.Config;
import com.jeesite.modules.sys.entity.DictData;
import com.jeesite.modules.sys.entity.DictType;
import com.jeesite.modules.sys.entity.EmpUser;
import com.jeesite.modules.sys.entity.Menu;
import com.jeesite.modules.sys.entity.Module;
import com.jeesite.modules.sys.entity.Office;
import com.jeesite.modules.sys.entity.Post;
import com.jeesite.modules.sys.entity.Role;
import com.jeesite.modules.sys.entity.RoleMenu;
import com.jeesite.modules.sys.entity.User;
import com.jeesite.modules.sys.service.CompanyService;
import com.jeesite.modules.sys.service.ConfigService;
import com.jeesite.modules.sys.service.DictDataService;
import com.jeesite.modules.sys.service.DictTypeService;
import com.jeesite.modules.sys.service.EmpUserService;
import com.jeesite.modules.sys.service.MenuService;
import com.jeesite.modules.sys.service.ModuleService;
import com.jeesite.modules.sys.service.OfficeService;
import com.jeesite.modules.sys.service.PostService;
import com.jeesite.modules.sys.service.RoleService;
import com.jeesite.modules.sys.service.UserService;
import com.jeesite.modules.sys.entity.*;
import com.jeesite.modules.sys.service.*;
import org.quartz.CronTrigger;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.boot.autoconfigure.condition.ConditionalOnProperty;
import org.springframework.stereotype.Component;
/**
* 初始化核心表数据
@@ -112,9 +88,7 @@ public class InitCoreData extends BaseInitDataTests {
*/
public void initConfig() throws Exception{
// clearTable(Config.class);
initExcelData(Config.class, new MethodCallback() {
@Override
public Object execute(Object... params) {
initExcelData(Config.class, params -> {
String action = (String)params[0];
if("save".equals(action)){
Config entity = (Config)params[1];
@@ -124,7 +98,6 @@ public class InitCoreData extends BaseInitDataTests {
return null;
}
return null;
}
});
}
@@ -135,9 +108,7 @@ public class InitCoreData extends BaseInitDataTests {
*/
public void initModule() throws Exception{
// clearTable(Module.class);
initExcelData(Module.class, new MethodCallback() {
@Override
public Object execute(Object... params) {
initExcelData(Module.class, params -> {
String action = (String)params[0];
if("save".equals(action)){
Module entity = (Module)params[1];
@@ -146,7 +117,6 @@ public class InitCoreData extends BaseInitDataTests {
return null;
}
return null;
}
});
}
@@ -159,9 +129,7 @@ public class InitCoreData extends BaseInitDataTests {
*/
public void initDict() throws Exception{
// clearTable(DictType.class);
initExcelData(DictType.class, new MethodCallback() {
@Override
public Object execute(Object... params) {
initExcelData(DictType.class, params -> {
String action = (String)params[0];
if("save".equals(action)){
DictType entity = (DictType)params[1];
@@ -171,13 +139,10 @@ public class InitCoreData extends BaseInitDataTests {
return null;
}
return null;
}
});
// clearTable(DictData.class);
initExcelData(DictData.class, new MethodCallback() {
@Override
public Object execute(Object... params) {
initExcelData(DictData.class, params -> {
String action = (String)params[0];
if("save".equals(action)){
DictData entity = (DictData)params[1];
@@ -186,7 +151,6 @@ public class InitCoreData extends BaseInitDataTests {
return null;
}
return null;
}
});
}
@@ -199,9 +163,7 @@ public class InitCoreData extends BaseInitDataTests {
// clearTable(Role.class);
// clearTable(RoleMenu.class);
// clearTable(RoleDataScope.class);
initExcelData(Role.class, new MethodCallback() {
@Override
public Object execute(Object... params) {
initExcelData(Role.class, params -> {
String action = (String)params[0];
if("save".equals(action)){
Role entity = (Role)params[1];
@@ -210,7 +172,6 @@ public class InitCoreData extends BaseInitDataTests {
return null;
}
return null;
}
});
}
@@ -224,9 +185,7 @@ public class InitCoreData extends BaseInitDataTests {
public void initMenu() throws Exception{
// clearTable(Menu.class);
// clearTable(RoleMenu.class);
initExcelData(Menu.class, new MethodCallback() {
@Override
public Object execute(Object... params) {
initExcelData(Menu.class, params -> {
String action = (String)params[0];
if("save".equals(action)){
Menu entity = (Menu)params[1];
@@ -239,7 +198,6 @@ public class InitCoreData extends BaseInitDataTests {
return null;
}
return null;
}
});
}
@@ -252,9 +210,7 @@ public class InitCoreData extends BaseInitDataTests {
// clearTable(User.class);
// clearTable(UserRole.class);
// clearTable(UserDataScope.class);
initExcelData(User.class, new MethodCallback() {
@Override
public Object execute(Object... params) {
initExcelData(User.class, params -> {
String action = (String)params[0];
if("save".equals(action)){
User entity = (User)params[1];
@@ -263,7 +219,6 @@ public class InitCoreData extends BaseInitDataTests {
return null;
}
return null;
}
});
}
@@ -274,9 +229,7 @@ public class InitCoreData extends BaseInitDataTests {
*/
public void initOffice() throws Exception{
// clearTable(Office.class);
initExcelData(Office.class, new MethodCallback() {
@Override
public Object execute(Object... params) {
initExcelData(Office.class, params -> {
String action = (String)params[0];
if("save".equals(action)){
Office entity = (Office)params[1];
@@ -285,7 +238,6 @@ public class InitCoreData extends BaseInitDataTests {
return null;
}
return null;
}
});
}
@@ -297,9 +249,7 @@ public class InitCoreData extends BaseInitDataTests {
public void initCompany() throws Exception{
// clearTable(Company.class);
// clearTable(CompanyOffice.class);
initExcelData(Company.class, new MethodCallback() {
@Override
public Object execute(Object... params) {
initExcelData(Company.class, params -> {
String action = (String)params[0];
if("save".equals(action)){
Company entity = (Company)params[1];
@@ -308,7 +258,6 @@ public class InitCoreData extends BaseInitDataTests {
return null;
}
return null;
}
});
}
@@ -319,9 +268,7 @@ public class InitCoreData extends BaseInitDataTests {
*/
public void initPost() throws Exception{
// clearTable(Post.class);
initExcelData(Post.class, new MethodCallback() {
@Override
public Object execute(Object... params) {
initExcelData(Post.class, params -> {
String action = (String)params[0];
if("save".equals(action)){
Post entity = (Post)params[1];
@@ -330,7 +277,6 @@ public class InitCoreData extends BaseInitDataTests {
return null;
}
return null;
}
});
}
@@ -342,9 +288,7 @@ public class InitCoreData extends BaseInitDataTests {
public void initEmpUser() throws Exception{
// clearTable(Employee.class);
// clearTable(EmployeePost.class);
initExcelData(EmpUser.class, new MethodCallback() {
@Override
public Object execute(Object... params) {
initExcelData(EmpUser.class, params -> {
String action = (String)params[0];
if("check".equals(action)){
User user = new User();
@@ -371,7 +315,6 @@ public class InitCoreData extends BaseInitDataTests {
return null;
}
return null;
}
});
}