Commit e5466146 authored by lijiazhi's avatar lijiazhi
Browse files

update beetlsql3,springboot 2.5

parent ea3cb83a
......@@ -11,6 +11,7 @@ import org.apache.commons.lang3.StringUtils;
import org.apache.commons.logging.Log;
import org.apache.commons.logging.LogFactory;
import org.beetl.sql.core.engine.PageQuery;
import org.beetl.sql.core.page.PageResult;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Controller;
import org.springframework.validation.annotation.Validated;
......@@ -108,16 +109,15 @@ public class RoleConsoleController {
/**
* 列表页、 分页数据
*
* @param condtion
* @param condition
* @return
*/
@PostMapping(MODEL + "/list.json")
@Function("role.query")
@ResponseBody
public JsonResult<PageQuery> list(RoleQuery condtion) {
PageQuery page = condtion.getPageQuery();
roleConsoleService.queryByCondtion(page);
return JsonResult.success(page);
public JsonResult<PageResult<CoreRole>> list(RoleQuery condition) {
PageResult<CoreRole> pageResult = roleConsoleService.queryByCondition(condition);
return JsonResult.success(pageResult);
}
@GetMapping(MODEL + "/all.json")
......@@ -220,49 +220,19 @@ public class RoleConsoleController {
/**
* 查询角色下授权用户列表
*
* @param queryCondtion
* @param query
* 查询条件
* @return
*/
@PostMapping(MODEL + "/user/list.json")
@Function("role.user.query")
@ResponseBody
public JsonResult<PageQuery<CoreUser>> userList(RoleUserQuery query) {
PageQuery page = query.getPageQuery();
PageQuery<CoreUser> pageQuery = roleConsoleService.queryRoleUser(page);
return JsonResult.success(page);
public JsonResult<PageResult<CoreUser>> userList(RoleUserQuery query) {
PageResult<CoreUser> pageQuery = roleConsoleService.queryRoleUser(query);
return JsonResult.success(pageQuery);
}
// /**
// * 给角色添加用户
// * @param userRole 角色用户关系
// * @return
// */
// @PostMapping(MODEL + "/user/save.json")
// @Function("role.user.save")
// @ResponseBody
// public JsonResult saveRoleUser(CoreUserRole userRole) {
// userRole.setCreateTime(new Date());
// userRoleConsoleService.saveSysUserRole(userRole);
// platformService.clearFunctionCache();
// return JsonResult.success();
// }
//
//
// /**
// * 用户授权删除
// * @param ids 记录id
// * @return
// */
// @GetMapping(MODEL + "/user/delete.json")
// @Function("role.user.delete")
// @ResponseBody
// public Object deleteRoleUser(String ids) {
// List<Long> dels = ConvertUtil.str2longs(ids);
// userRoleConsoleService.deleteUserRoles(dels);
// platformService.clearFunctionCache();
// return JsonResult.success();
// }
@PostMapping(MODEL + "/function/ids.json")
@Function("role.function.query")
......
......@@ -14,6 +14,7 @@ import javax.servlet.http.HttpServletResponse;
import org.apache.commons.logging.Log;
import org.apache.commons.logging.LogFactory;
import org.beetl.sql.core.engine.PageQuery;
import org.beetl.sql.core.page.PageResult;
import org.jxls.common.Context;
import org.jxls.util.JxlsHelper;
import org.springframework.beans.factory.annotation.Autowired;
......@@ -172,11 +173,9 @@ public class UserConsoleController {
@PostMapping(MODEL + "/list.json")
@Function("user.query")
@ResponseBody
public JsonResult<PageQuery<CoreUser>> index(UserQuery condtion) {
PageQuery<CoreUser> page = condtion.getPageQuery();
userConsoleService.queryByCondtion(page);
return JsonResult.success(page);
public JsonResult<PageResult<CoreUser>> index(UserQuery condition) {
PageResult<CoreUser> pageResult = userConsoleService.queryByCondition(condition);
return JsonResult.success(pageResult);
}
@PostMapping(MODEL + "/list/condition.json")
......@@ -236,8 +235,8 @@ public class UserConsoleController {
/**
* 用户所有授权角色列表
*
* @param id
* 用户id
* @param roleQuery
*
* @return
*/
@PostMapping(MODEL + "/role/list.json")
......@@ -284,14 +283,14 @@ public class UserConsoleController {
@PostMapping(MODEL + "/excel/export.json")
@Function("user.export")
@ResponseBody
public JsonResult<String> export(HttpServletResponse response,UserQuery condtion) {
public JsonResult<String> export(HttpServletResponse response,UserQuery condition) {
String excelTemplate ="excelTemplates/admin/user/user_collection_template.xls";
PageQuery<CoreUser> page = condtion.getPageQuery();
//取出全部符合条件的
page.setPageSize(Integer.MAX_VALUE);
page.setPageNumber(1);
page.setTotalRow(Integer.MAX_VALUE);
List<UserExcelExportData> users =userConsoleService.queryExcel(page);
condition.setPage(1);
condition.setLimit(Integer.MAX_VALUE);
List<UserExcelExportData> users =userConsoleService.queryExcel(condition);
try(InputStream is = Thread.currentThread().getContextClassLoader().getResourceAsStream(excelTemplate)) {
if(is==null) {
throw new PlatformException("模板资源不存在:"+excelTemplate);
......
spring.datasource.baseDataSource.url=jdbc:mysql://127.0.0.1:3306/starter?useUnicode=true&characterEncoding=UTF-8&serverTimezone=GMT%2B8&useSSL=false&useInformationSchema=true
spring.datasource.baseDataSource.url=jdbc:mysql://127.0.0.1:3306/starter?allowPublicKeyRetrieval=true&useUnicode=true&characterEncoding=UTF-8&serverTimezone=GMT%2B8&useSSL=false&useInformationSchema=true
spring.datasource.baseDataSource.username=root
spring.datasource.baseDataSource.password=12345678
spring.datasource.baseDataSource.driver-class-name=com.mysql.cj.jdbc.Driver
beetlsql.ds.baseDataSource.basePackage=com
beetlsql.ds.baseDataSource.dbStyle=org.beetl.sql.core.db.MySqlStyle
#beetlsql.basePackage=com.ibeetl,com.xxx.yourpackage
#有一个数据源命名为baseDataSource,你可以添加多数据源
beetlsql.mutiple.datasource=baseDataSource
# 配置了一个数据源,如果需要多数据源,参考beetlsql springboot集成文档
beetlsql.sqlManagers=coreSqlManager
beetlsql.coreSqlManager.ds=baseDataSource
beetlsql.coreSqlManager.basePackage=com.ibeetl.admin.core.dao,com.ibeetl.admin.console.dao
beetlsql.coreSqlManager.dbStyle=org.beetl.sql.core.db.MySqlStyle
# 1,1 是管理员密码,相当于启动后就登录,方便测试,系统需要取消这俩个配置
user.id=1
user.orgId=1
#打开审计功能,开发模式应该关闭
audit.enable=false
#单机情况下使用hashmap存放回话,集群下可以参考springboot 使用redis
spring.session.store-type=HASH_MAP
# 集群下可以参考springboot 使用redis
spring.session.store-type=NONE
#spring.cache.type=
spring.cache.type=simple
......
......@@ -21,6 +21,11 @@
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-tomcat</artifactId>
</dependency>
<dependency>
<groupId>javax.validation</groupId>
<artifactId>validation-api</artifactId>
</dependency>
<dependency>
<groupId>org.springframework.boot</groupId>
......@@ -41,11 +46,19 @@
</dependency>
<dependency>
<groupId>com.ibeetl</groupId>
<artifactId>beetl-framework-starter</artifactId>
<version>1.2.28.RELEASE</version>
</dependency>
<dependency>
<groupId>com.ibeetl</groupId>
<artifactId>beetl-framework-starter</artifactId>
<version>1.2.31.Beetl.RELEASE</version>
</dependency>
<dependency>
<groupId>com.ibeetl</groupId>
<artifactId>sql-springboot-starter</artifactId>
<version>3.6.0-RELEASE</version>
</dependency>
<dependency>
<groupId>com.zaxxer</groupId>
......@@ -61,6 +74,14 @@
<artifactId>ojdbc6</artifactId>
<version>11.2.0</version>
</dependency> -->
<dependency>
<groupId>org.projectlombok</groupId>
<artifactId>lombok</artifactId>
<version>1.16.18</version>
<scope>compile</scope>
<optional>true</optional>
</dependency>
<dependency>
<groupId>org.jxls</groupId>
<artifactId>jxls-reader</artifactId>
......
package com.ibeetl.admin.core.conf;
import java.io.IOException;
import java.util.ArrayList;
import java.util.Collections;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
import javax.servlet.ServletException;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import org.apache.commons.logging.Log;
import org.apache.commons.logging.LogFactory;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.boot.autoconfigure.web.servlet.error.AbstractErrorController;
import org.springframework.boot.web.servlet.error.DefaultErrorAttributes;
import org.springframework.boot.web.servlet.error.ErrorController;
import org.springframework.stereotype.Controller;
import org.springframework.validation.FieldError;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.servlet.ModelAndView;
import com.fasterxml.jackson.databind.ObjectMapper;
import com.ibeetl.admin.core.util.FormFieldException;
import com.ibeetl.admin.core.util.PlatformException;
import com.ibeetl.admin.core.web.JsonResult;
/**
* 自定义的全局错误页面
*
* @author lijiazhi
*/
@Controller
public class CustomErrorController extends AbstractErrorController {
private static final String ERROR_PATH = "/error";
Log log = LogFactory.getLog(ErrorController.class);
@Autowired
ObjectMapper objectMapper;
public CustomErrorController() {
super(new DefaultErrorAttributes());
}
@RequestMapping(ERROR_PATH)
public ModelAndView getErrorPath(HttpServletRequest request, HttpServletResponse response) {
Map<String, Object> model = Collections.unmodifiableMap(getErrorAttributes(
request, false));
Throwable cause =getCause(request);
int status = (Integer)model.get("status");
//错误信息
String message = (String)model.get("message");
//友好提示
String errorMessage = getErrorMessage(cause);
String requestPath = (String)model.get("path");
List<FieldError> filedErrors = this.getFieldError(model, cause);
//后台打印日志信息方方便查错
log.info(status+":"+message+filedErrors, cause);
log.info("requestPath"+":"+requestPath);
response.setStatus(status);
if(!isJsonRequest(request)){
ModelAndView view = new ModelAndView("/error.html");
view.addAllObjects(model);
view.addObject("errorMessage", errorMessage);
view.addObject("filedErrors", filedErrors);
view.addObject("cause", cause);
view.addObject("requestPath", requestPath);
return view;
}else{
if(filedErrors==null){
if(status==404){
writeJson(response,JsonResult.http404(requestPath));
}else{
writeJson(response,JsonResult.failMessage(getErrorMessage(cause)));
}
}else{
writeJson(response,JsonResult.fail(this.wrapFieldErrors(filedErrors)));
}
return null;
}
}
protected List<FieldError> getFieldError(Map<String, Object> model,Throwable cause){
List<FieldError> filedErrors = (List<FieldError>)model.get("errors");
if(filedErrors!=null){
return filedErrors;
}
if(cause instanceof FormFieldException){
FormFieldException fe = (FormFieldException)cause;
return fe.getErrors();
}
return null;
}
protected List<Map<String,String>> wrapFieldErrors(List<FieldError> errors){
List<Map<String,String>> list = new ArrayList<Map<String,String>>();
for(FieldError e:errors){
Map<String,String> error = new HashMap<String,String>();
error.put("field", e.getField());
error.put("message", e.getDefaultMessage());
list.add(error);
}
return list;
}
protected boolean isJsonRequest(HttpServletRequest request){
String requestUri = (String)request.getAttribute("javax.servlet.error.request_uri");
if(requestUri!=null&&requestUri.endsWith(".json")){
return true;
}else{
return (request.getHeader("Accept").contains("application/json") || (request.getHeader("X-Requested-With") != null
&& request.getHeader("X-Requested-With").contains("XMLHttpRequest")));
}
}
protected void writeJson(HttpServletResponse response,JsonResult error){
response.setContentType("application/json;charset=utf-8");
try {
response.getWriter().write(objectMapper.writeValueAsString(error));
} catch (IOException e) {
// ignore
}
}
protected String getErrorMessage(Throwable ex) {
if(ex instanceof PlatformException){
return ex.getMessage();
}else{
return "服务器错误,请联系管理员";
}
}
protected Throwable getCause(HttpServletRequest request) {
Throwable error = (Throwable)request.getAttribute("javax.servlet.error.exception");
if (error != null) {
while (error instanceof ServletException && error.getCause() != null) {
error = ((ServletException) error).getCause();
}
}
return error;
}
@Override
public String getErrorPath() {
// TODO Auto-generated method stub
return null;
}
}
package com.ibeetl.admin.core.dao;
import org.beetl.sql.core.annotatoin.SqlResource;
import org.beetl.sql.core.mapper.BaseMapper;
import com.ibeetl.admin.core.entity.CoreAudit;
import org.beetl.sql.mapper.BaseMapper;
import org.beetl.sql.mapper.annotation.SqlResource;
/*
*
......
......@@ -3,9 +3,8 @@ package com.ibeetl.admin.core.dao;
import java.util.List;
import java.util.Map;
import org.beetl.sql.core.annotatoin.SqlResource;
import org.beetl.sql.core.annotatoin.SqlStatement;
import org.beetl.sql.core.mapper.BaseMapper;
import org.beetl.sql.mapper.BaseMapper;
import org.beetl.sql.mapper.annotation.SqlResource;
import com.ibeetl.admin.core.entity.CoreDict;
......@@ -27,7 +26,6 @@ public interface CoreDictDao extends BaseMapper<CoreDict> {
* @param delFlag 删除标记
* @return
*/
@SqlStatement(returnType = Map.class)
List<Map<String, String>> findTypeList(int delFlag);
......
package com.ibeetl.admin.core.dao;
import org.beetl.sql.core.annotatoin.Sql;
import org.beetl.sql.core.mapper.BaseMapper;
import org.beetl.sql.mapper.BaseMapper;
import org.beetl.sql.mapper.annotation.Sql;
import com.ibeetl.admin.core.entity.CoreFile;
import org.beetl.sql.mapper.annotation.Update;
public interface CoreFileDao extends BaseMapper<CoreFile> {
@Sql("update core_file set biz_type=?,biz_id=? where file_batch_id=?")
public void updateBatchIdInfo( String bizType, String bizId,String fileBatchId);
@Update
void updateBatchIdInfo( String bizType, String bizId,String fileBatchId);
}
package com.ibeetl.admin.core.dao;
import org.beetl.sql.core.annotatoin.Param;
import org.beetl.sql.core.annotatoin.Sql;
import org.beetl.sql.core.annotatoin.SqlResource;
import org.beetl.sql.core.mapper.BaseMapper;
import org.beetl.sql.mapper.BaseMapper;
import org.beetl.sql.mapper.annotation.Sql;
import com.ibeetl.admin.core.entity.CoreFunction;
import org.beetl.sql.mapper.annotation.SqlResource;
@SqlResource("core.coreFunction")
public interface CoreFunctionDao extends BaseMapper<CoreFunction> {
@Sql("select * from core_function where code = ?")
CoreFunction getFunctionByCode(@Param(value = "code") String code);
CoreFunction getFunctionByCode(String code);
}
package com.ibeetl.admin.core.dao;
import org.beetl.sql.core.annotatoin.Param;
import org.beetl.sql.core.annotatoin.SqlResource;
import org.beetl.sql.core.annotatoin.SqlStatement;
import org.beetl.sql.core.engine.PageQuery;
import org.beetl.sql.core.mapper.BaseMapper;
import com.ibeetl.admin.core.entity.CoreMenu;
import org.beetl.sql.core.page.PageRequest;
import org.beetl.sql.mapper.BaseMapper;
import org.beetl.sql.mapper.annotation.SqlResource;
import java.util.List;
@SqlResource("core.coreMenu")
public interface CoreMenuDao extends BaseMapper<CoreMenu> {
public void queryByCondtion(PageQuery query);
public void clearMenuFunction( List<Long> functionIds);
void queryByCondtion(PageRequest query);
void clearMenuFunction(List<Long> functionIds);
public List<CoreMenu> allMenuWithURL();
List<CoreMenu> allMenuWithURL();
}
......@@ -2,9 +2,11 @@ package com.ibeetl.admin.core.dao;
import java.util.List;
import org.beetl.sql.core.annotatoin.Sql;
import org.beetl.sql.core.annotatoin.SqlResource;
import org.beetl.sql.core.mapper.BaseMapper;
import org.beetl.sql.core.page.PageRequest;
import org.beetl.sql.mapper.BaseMapper;
import org.beetl.sql.mapper.annotation.Sql;
import org.beetl.sql.mapper.annotation.SqlResource;
import com.ibeetl.admin.core.entity.CoreOrg;
......
package com.ibeetl.admin.core.dao;
import org.beetl.sql.core.annotatoin.Param;
import org.beetl.sql.core.annotatoin.SqlResource;
import org.beetl.sql.core.engine.PageQuery;
import org.beetl.sql.core.mapper.BaseMapper;
import org.beetl.sql.core.page.PageRequest;
import org.beetl.sql.mapper.BaseMapper;
import org.beetl.sql.mapper.annotation.Sql;
import org.beetl.sql.mapper.annotation.SqlResource;
import com.ibeetl.admin.core.entity.CoreRole;
import java.util.List;
@SqlResource("core.coreRole")
public interface CoreRoleDao extends BaseMapper<CoreRole> {
}
package com.ibeetl.admin.core.dao;
import org.beetl.sql.core.annotatoin.Param;
import org.beetl.sql.core.annotatoin.SqlResource;
import org.beetl.sql.core.annotatoin.SqlStatement;
import org.beetl.sql.core.mapper.BaseMapper;
import com.ibeetl.admin.core.entity.CoreRoleFunction;
import org.beetl.sql.mapper.BaseMapper;
import org.beetl.sql.mapper.annotation.SqlResource;
import java.util.List;
......
package com.ibeetl.admin.core.dao;
import org.beetl.sql.core.annotatoin.Param;
import org.beetl.sql.core.annotatoin.SqlResource;
import org.beetl.sql.core.annotatoin.SqlStatement;
import org.beetl.sql.core.mapper.BaseMapper;
import com.ibeetl.admin.core.entity.CoreRoleMenu;
import org.beetl.sql.mapper.BaseMapper;
import org.beetl.sql.mapper.annotation.SqlResource;
import java.util.List;
......
package com.ibeetl.admin.core.dao;
import org.beetl.sql.core.annotatoin.Param;
import org.beetl.sql.core.annotatoin.SqlResource;
import org.beetl.sql.core.mapper.BaseMapper;
import com.ibeetl.admin.core.entity.CoreUser;
import org.beetl.sql.mapper.BaseMapper;
import org.beetl.sql.mapper.annotation.SqlResource;
import java.util.List;
......
package com.ibeetl.admin.core.dao;
import org.beetl.sql.core.annotatoin.SqlResource;
import org.beetl.sql.core.engine.PageQuery;
import org.beetl.sql.core.mapper.BaseMapper;
import com.ibeetl.admin.core.entity.CoreUserRole;
import org.beetl.sql.mapper.BaseMapper;
import org.beetl.sql.mapper.annotation.SqlResource;
@SqlResource("core.coresUserRole")
public interface CoreUserRoleDao extends BaseMapper<CoreUserRole> {
......
package com.ibeetl.admin.core.dao;
import org.beetl.sql.core.annotatoin.SqlResource;
import org.beetl.sql.core.mapper.BaseMapper;
import com.ibeetl.admin.core.entity.CoreUser;
import org.beetl.sql.mapper.BaseMapper;
import org.beetl.sql.mapper.annotation.SqlResource;
import java.util.List;
......
package com.ibeetl.admin.core.entity;
import java.util.Date;
import java.util.Map;
import javax.validation.constraints.NotNull;
import org.beetl.sql.core.annotatoin.AutoID;
import org.beetl.sql.core.annotatoin.SeqID;
import com.fasterxml.jackson.annotation.JsonAnyGetter;
import com.fasterxml.jackson.annotation.JsonIgnore;
import com.fasterxml.jackson.core.JsonProcessingException;
import com.fasterxml.jackson.databind.ObjectMapper;
import com.ibeetl.admin.core.util.ValidateConfig;
import org.beetl.sql.annotation.entity.AutoID;
import org.beetl.sql.annotation.entity.SeqID;
public class CoreAudit extends BaseEntity {
......
......@@ -5,13 +5,12 @@ import java.util.Date;
import javax.validation.constraints.NotBlank;
import javax.validation.constraints.NotNull;
import org.beetl.sql.core.annotatoin.AssignID;
import org.beetl.sql.core.annotatoin.AutoID;
import org.beetl.sql.core.annotatoin.SeqID;
import com.fasterxml.jackson.annotation.JsonIgnore;
import com.fasterxml.jackson.annotation.JsonView;
import com.ibeetl.admin.core.util.ValidateConfig;
import org.beetl.sql.annotation.entity.AutoID;
import org.beetl.sql.annotation.entity.SeqID;
/**
* 描述: 字典
......
package com.ibeetl.admin.core.entity;
import java.util.Date;
import javax.validation.constraints.NotBlank;
import javax.validation.constraints.NotNull;
import javax.validation.constraints.Null;
import org.beetl.sql.core.annotatoin.AutoID;
import org.beetl.sql.core.annotatoin.SeqID;
import com.ibeetl.admin.core.util.ValidateConfig;
import org.beetl.sql.core.TailBean;
import java.math.*;
import com.ibeetl.admin.core.entity.BaseEntity;
import org.beetl.sql.annotation.entity.AutoID;
import org.beetl.sql.annotation.entity.SeqID;
/*
*
......
Supports Markdown
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment