Merge branch '1.0.x' into dev
# Conflicts: # continew-admin-common/src/main/java/top/charles7c/cnadmin/common/base/BaseController.java
This commit is contained in:
commit
668124591e
@ -16,6 +16,8 @@
|
|||||||
|
|
||||||
package top.charles7c.cnadmin.common.base;
|
package top.charles7c.cnadmin.common.base;
|
||||||
|
|
||||||
|
import static top.charles7c.cnadmin.common.annotation.CrudRequestMapping.Api;
|
||||||
|
|
||||||
import java.util.List;
|
import java.util.List;
|
||||||
|
|
||||||
import javax.servlet.http.HttpServletResponse;
|
import javax.servlet.http.HttpServletResponse;
|
||||||
@ -76,7 +78,7 @@ public abstract class BaseController<S extends BaseService<V, D, Q, C>, V, D, Q,
|
|||||||
@ResponseBody
|
@ResponseBody
|
||||||
@GetMapping
|
@GetMapping
|
||||||
public R<PageDataVO<V>> page(Q query, @Validated PageQuery pageQuery) {
|
public R<PageDataVO<V>> page(Q query, @Validated PageQuery pageQuery) {
|
||||||
this.checkPermission("list");
|
this.checkPermission(Api.LIST);
|
||||||
PageDataVO<V> pageDataVO = baseService.page(query, pageQuery);
|
PageDataVO<V> pageDataVO = baseService.page(query, pageQuery);
|
||||||
return R.ok(pageDataVO);
|
return R.ok(pageDataVO);
|
||||||
}
|
}
|
||||||
@ -94,7 +96,7 @@ public abstract class BaseController<S extends BaseService<V, D, Q, C>, V, D, Q,
|
|||||||
@ResponseBody
|
@ResponseBody
|
||||||
@GetMapping("/tree")
|
@GetMapping("/tree")
|
||||||
public R<List<Tree<Long>>> tree(Q query, SortQuery sortQuery) {
|
public R<List<Tree<Long>>> tree(Q query, SortQuery sortQuery) {
|
||||||
this.checkPermission("list");
|
this.checkPermission(Api.LIST);
|
||||||
List<Tree<Long>> list = baseService.tree(query, sortQuery, false);
|
List<Tree<Long>> list = baseService.tree(query, sortQuery, false);
|
||||||
return R.ok(list);
|
return R.ok(list);
|
||||||
}
|
}
|
||||||
@ -112,7 +114,7 @@ public abstract class BaseController<S extends BaseService<V, D, Q, C>, V, D, Q,
|
|||||||
@ResponseBody
|
@ResponseBody
|
||||||
@GetMapping("/list")
|
@GetMapping("/list")
|
||||||
public R<List<V>> list(Q query, SortQuery sortQuery) {
|
public R<List<V>> list(Q query, SortQuery sortQuery) {
|
||||||
this.checkPermission("list");
|
this.checkPermission(Api.LIST);
|
||||||
List<V> list = baseService.list(query, sortQuery);
|
List<V> list = baseService.list(query, sortQuery);
|
||||||
return R.ok(list);
|
return R.ok(list);
|
||||||
}
|
}
|
||||||
@ -129,7 +131,7 @@ public abstract class BaseController<S extends BaseService<V, D, Q, C>, V, D, Q,
|
|||||||
@ResponseBody
|
@ResponseBody
|
||||||
@GetMapping("/{id}")
|
@GetMapping("/{id}")
|
||||||
public R<D> get(@PathVariable Long id) {
|
public R<D> get(@PathVariable Long id) {
|
||||||
this.checkPermission("list");
|
this.checkPermission(Api.LIST);
|
||||||
D detail = baseService.get(id);
|
D detail = baseService.get(id);
|
||||||
return R.ok(detail);
|
return R.ok(detail);
|
||||||
}
|
}
|
||||||
@ -145,7 +147,7 @@ public abstract class BaseController<S extends BaseService<V, D, Q, C>, V, D, Q,
|
|||||||
@ResponseBody
|
@ResponseBody
|
||||||
@PostMapping
|
@PostMapping
|
||||||
public R<Long> add(@Validated(ValidateGroup.Crud.Add.class) @RequestBody C request) {
|
public R<Long> add(@Validated(ValidateGroup.Crud.Add.class) @RequestBody C request) {
|
||||||
this.checkPermission("add");
|
this.checkPermission(Api.ADD);
|
||||||
Long id = baseService.add(request);
|
Long id = baseService.add(request);
|
||||||
return R.ok("新增成功", id);
|
return R.ok("新增成功", id);
|
||||||
}
|
}
|
||||||
@ -163,7 +165,7 @@ public abstract class BaseController<S extends BaseService<V, D, Q, C>, V, D, Q,
|
|||||||
@ResponseBody
|
@ResponseBody
|
||||||
@PutMapping("/{id}")
|
@PutMapping("/{id}")
|
||||||
public R update(@Validated(ValidateGroup.Crud.Update.class) @RequestBody C request, @PathVariable Long id) {
|
public R update(@Validated(ValidateGroup.Crud.Update.class) @RequestBody C request, @PathVariable Long id) {
|
||||||
this.checkPermission("update");
|
this.checkPermission(Api.UPDATE);
|
||||||
baseService.update(request, id);
|
baseService.update(request, id);
|
||||||
return R.ok("修改成功");
|
return R.ok("修改成功");
|
||||||
}
|
}
|
||||||
@ -180,7 +182,7 @@ public abstract class BaseController<S extends BaseService<V, D, Q, C>, V, D, Q,
|
|||||||
@ResponseBody
|
@ResponseBody
|
||||||
@DeleteMapping("/{ids}")
|
@DeleteMapping("/{ids}")
|
||||||
public R delete(@PathVariable List<Long> ids) {
|
public R delete(@PathVariable List<Long> ids) {
|
||||||
this.checkPermission("delete");
|
this.checkPermission(Api.DELETE);
|
||||||
baseService.delete(ids);
|
baseService.delete(ids);
|
||||||
return R.ok("删除成功");
|
return R.ok("删除成功");
|
||||||
}
|
}
|
||||||
@ -198,20 +200,20 @@ public abstract class BaseController<S extends BaseService<V, D, Q, C>, V, D, Q,
|
|||||||
@Operation(summary = "导出数据")
|
@Operation(summary = "导出数据")
|
||||||
@GetMapping("/export")
|
@GetMapping("/export")
|
||||||
public void export(Q query, SortQuery sortQuery, HttpServletResponse response) {
|
public void export(Q query, SortQuery sortQuery, HttpServletResponse response) {
|
||||||
this.checkPermission("export");
|
this.checkPermission(Api.EXPORT);
|
||||||
baseService.export(query, sortQuery, response);
|
baseService.export(query, sortQuery, response);
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 权限认证
|
* 根据 API 类型进行权限验证
|
||||||
*
|
*
|
||||||
* @param subPermission
|
* @param api
|
||||||
* 部分权限码
|
* API 类型
|
||||||
*/
|
*/
|
||||||
private void checkPermission(String subPermission) {
|
private void checkPermission(Api api) {
|
||||||
CrudRequestMapping crudRequestMapping = this.getClass().getDeclaredAnnotation(CrudRequestMapping.class);
|
CrudRequestMapping crudRequestMapping = this.getClass().getDeclaredAnnotation(CrudRequestMapping.class);
|
||||||
String path = crudRequestMapping.value();
|
String path = crudRequestMapping.value();
|
||||||
String permissionPrefix = String.join(StringConsts.COLON, StrUtil.splitTrim(path, StringConsts.SLASH));
|
String permissionPrefix = String.join(StringConsts.COLON, StrUtil.splitTrim(path, StringConsts.SLASH));
|
||||||
StpUtil.checkPermission(String.format("%s:%s", permissionPrefix, subPermission));
|
StpUtil.checkPermission(String.format("%s:%s", permissionPrefix, api.name().toLowerCase()));
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -55,7 +55,7 @@ public class PageDataVO<V> implements Serializable {
|
|||||||
* 总记录数
|
* 总记录数
|
||||||
*/
|
*/
|
||||||
@Schema(description = "总记录数")
|
@Schema(description = "总记录数")
|
||||||
private Long total;
|
private int total;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 基于 MyBatis Plus 分页数据构建分页信息,并将源数据转换为指定类型数据
|
* 基于 MyBatis Plus 分页数据构建分页信息,并将源数据转换为指定类型数据
|
||||||
@ -76,7 +76,7 @@ public class PageDataVO<V> implements Serializable {
|
|||||||
}
|
}
|
||||||
PageDataVO<V> pageDataVO = new PageDataVO<>();
|
PageDataVO<V> pageDataVO = new PageDataVO<>();
|
||||||
pageDataVO.setList(BeanUtil.copyToList(page.getRecords(), targetClass));
|
pageDataVO.setList(BeanUtil.copyToList(page.getRecords(), targetClass));
|
||||||
pageDataVO.setTotal(page.getTotal());
|
pageDataVO.setTotal((int) page.getTotal());
|
||||||
return pageDataVO;
|
return pageDataVO;
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -95,7 +95,7 @@ public class PageDataVO<V> implements Serializable {
|
|||||||
}
|
}
|
||||||
PageDataVO<V> pageDataVO = new PageDataVO<>();
|
PageDataVO<V> pageDataVO = new PageDataVO<>();
|
||||||
pageDataVO.setList(page.getRecords());
|
pageDataVO.setList(page.getRecords());
|
||||||
pageDataVO.setTotal(page.getTotal());
|
pageDataVO.setTotal((int) page.getTotal());
|
||||||
return pageDataVO;
|
return pageDataVO;
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -118,7 +118,7 @@ public class PageDataVO<V> implements Serializable {
|
|||||||
return pageDataVO;
|
return pageDataVO;
|
||||||
}
|
}
|
||||||
|
|
||||||
pageDataVO.setTotal((long)list.size());
|
pageDataVO.setTotal(list.size());
|
||||||
// 对列表数据进行分页
|
// 对列表数据进行分页
|
||||||
int fromIndex = (page - 1) * size;
|
int fromIndex = (page - 1) * size;
|
||||||
int toIndex = page * size + size;
|
int toIndex = page * size + size;
|
||||||
|
@ -54,4 +54,14 @@ public interface UserMapper extends BaseMapper<UserDO> {
|
|||||||
*/
|
*/
|
||||||
@Select("SELECT * FROM `sys_user` WHERE `username` = #{username}")
|
@Select("SELECT * FROM `sys_user` WHERE `username` = #{username}")
|
||||||
UserDO selectByUsername(@Param("username") String username);
|
UserDO selectByUsername(@Param("username") String username);
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 根据 ID 查询昵称
|
||||||
|
*
|
||||||
|
* @param id
|
||||||
|
* ID
|
||||||
|
* @return 昵称
|
||||||
|
*/
|
||||||
|
@Select("SELECT `nickname` FROM `sys_user` WHERE `id` = #{id}")
|
||||||
|
String selectNicknameById(@Param("id") Long id);
|
||||||
}
|
}
|
||||||
|
@ -248,7 +248,7 @@ public class UserServiceImpl extends BaseServiceImpl<UserMapper, UserDO, UserVO,
|
|||||||
|
|
||||||
@Override
|
@Override
|
||||||
public String getNicknameById(Long id) {
|
public String getNicknameById(Long id) {
|
||||||
return super.getById(id).getNickname();
|
return baseMapper.selectNicknameById(id);
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
Loading…
Reference in New Issue
Block a user