diff --git a/like-admin/src/main/java/com/hxkj/admin/controller/AlbumController.java b/like-admin/src/main/java/com/hxkj/admin/controller/AlbumController.java new file mode 100644 index 00000000..c26b2e86 --- /dev/null +++ b/like-admin/src/main/java/com/hxkj/admin/controller/AlbumController.java @@ -0,0 +1,120 @@ +package com.hxkj.admin.controller; + +import com.hxkj.admin.service.IAlbumService; +import com.hxkj.admin.validate.AlbumParam; +import com.hxkj.admin.validate.PageParam; +import com.hxkj.admin.validate.system.SystemAdminParam; +import com.hxkj.admin.vo.album.AlbumVo; +import com.hxkj.common.core.AjaxResult; +import com.hxkj.common.core.PageResult; +import org.springframework.validation.annotation.Validated; +import org.springframework.web.bind.annotation.*; + +import javax.annotation.Resource; +import java.util.Map; + +@RestController +@RequestMapping("/api/album") +public class AlbumController { + + @Resource + IAlbumService iAlbumService; + + /** + * 相册列表 + * + * @author fzr + * @return Object + */ + @GetMapping("/albumList") + public Object albumList(@Validated PageParam pageParam, + @RequestParam Map params) { + PageResult voPageResult = iAlbumService.albumList(pageParam, params); + return AjaxResult.success(voPageResult); + } + + /** + * 相册重命名 + * + * @author fzr + * @return Object + */ + @PostMapping("/albumRename") + public Object albumRename(@Validated(value = AlbumParam.rename.class) @RequestBody AlbumParam albumParam) { + iAlbumService.albumRename(albumParam.getId(), albumParam.getName()); + return AjaxResult.success(); + } + + /** + * 相册移动 + * + * @author fzr + * @return Object + */ + @PostMapping("/albumMove") + public Object albumMove(@Validated(value = AlbumParam.albumMove.class) @RequestBody AlbumParam albumParam) { + iAlbumService.albumMove(albumParam.getId(), albumParam.getCid()); + return AjaxResult.success(); + } + + /** + * 相册删除 + * + * @author fzr + * @return Object + */ + @PostMapping("/albumDel") + public Object albumDel(@Validated(value = AlbumParam.delete.class) @RequestBody AlbumParam albumParam) { + iAlbumService.albumDel(albumParam.getId()); + return AjaxResult.success(); + } + + /** + * 分类列表 + * + * @author fzr + * @return Object + */ + @PostMapping("/cateList") + public Object cateList(@RequestParam Map params) { + iAlbumService.cateList(params); + return AjaxResult.success(); + } + + /** + * 分类新增 + * + * @author fzr + * @return Object + */ + @PostMapping("/cateAdd") + public Object cateAdd(@Validated(value = AlbumParam.cateAdd.class) @RequestBody AlbumParam albumParam) { + iAlbumService.cateAdd(albumParam); + return AjaxResult.success(); + } + + /** + * 分类重命名 + * + * @author fzr + * @return Object + */ + @PostMapping("/cateRename") + public Object cateRename(@Validated(value = AlbumParam.rename.class) @RequestBody AlbumParam albumParam) { + iAlbumService.cateRename(albumParam.getId(), albumParam.getName()); + return AjaxResult.success(); + } + + /** + * 分类重命名 + * + * @author fzr + * @return Object + */ + @PostMapping("/cateDel") + public Object cateDel(@Validated(value = AlbumParam.delete.class) @RequestBody AlbumParam albumParam) { + iAlbumService.cateDel(albumParam.getId()); + return AjaxResult.success(); + } + +} diff --git a/like-admin/src/main/java/com/hxkj/admin/controller/IndexController.java b/like-admin/src/main/java/com/hxkj/admin/controller/IndexController.java index e9e6e0a6..9521292b 100644 --- a/like-admin/src/main/java/com/hxkj/admin/controller/IndexController.java +++ b/like-admin/src/main/java/com/hxkj/admin/controller/IndexController.java @@ -1,23 +1,35 @@ package com.hxkj.admin.controller; -import com.hxkj.common.utils.YmlUtil; +import com.hxkj.common.core.AjaxResult; +import com.hxkj.common.plugin.storage.StorageDriver; +import com.hxkj.common.plugin.storage.engine.Aliyun; +import com.hxkj.common.plugin.storage.engine.Qiniu; +import com.hxkj.common.utils.TimeUtil; import org.springframework.web.bind.annotation.GetMapping; +import org.springframework.web.bind.annotation.PostMapping; import org.springframework.web.bind.annotation.RestController; +import org.springframework.web.multipart.MultipartFile; +import org.springframework.web.multipart.MultipartRequest; + +import javax.servlet.http.HttpServletRequest; @RestController public class IndexController { - - @GetMapping("/user/add") - public void index() { - System.out.println(YmlUtil.get("server.port")); + @PostMapping("/aa") + public AjaxResult aa(HttpServletRequest request) { + MultipartFile multipartFile = ((MultipartRequest) request).getFile("file"); + if (multipartFile == null) { + return AjaxResult.failed("请选择上传文件"); + } - } +// Qiniu qiniu = new Qiniu(); +// qiniu.upload(multipartFile); - @GetMapping("/user/update") - public void ee() { - System.out.println("小红"); + new StorageDriver(); + + return AjaxResult.success(); } } diff --git a/like-admin/src/main/java/com/hxkj/admin/controller/UploadController.java b/like-admin/src/main/java/com/hxkj/admin/controller/UploadController.java new file mode 100644 index 00000000..8e488725 --- /dev/null +++ b/like-admin/src/main/java/com/hxkj/admin/controller/UploadController.java @@ -0,0 +1,18 @@ +package com.hxkj.admin.controller; + +import org.springframework.web.bind.annotation.RequestMapping; +import org.springframework.web.bind.annotation.RestController; + +@RestController +@RequestMapping("/api/upload") +public class UploadController { + + public Object image() { + return null; + } + + public Object video() { + return null; + } + +} diff --git a/like-admin/src/main/java/com/hxkj/admin/controller/system/SystemAdminController.java b/like-admin/src/main/java/com/hxkj/admin/controller/system/SystemAdminController.java index aba8ed10..f42e4d91 100644 --- a/like-admin/src/main/java/com/hxkj/admin/controller/system/SystemAdminController.java +++ b/like-admin/src/main/java/com/hxkj/admin/controller/system/SystemAdminController.java @@ -2,7 +2,7 @@ package com.hxkj.admin.controller.system; import com.hxkj.admin.service.ISystemAdminService; import com.hxkj.admin.validate.PageParam; -import com.hxkj.admin.validate.SysAdminParam; +import com.hxkj.admin.validate.system.SystemAdminParam; import com.hxkj.admin.vo.system.SystemAdminVo; import com.hxkj.common.core.AjaxResult; import com.hxkj.common.core.PageResult; @@ -49,12 +49,12 @@ public class SystemAdminController { * 新增管理员 * * @author fzr - * @param sysAdminParam 参数 + * @param systemAdminParam 参数 * @return Object */ @PostMapping("/add") - public Object add(@Validated(value = SysAdminParam.create.class) @RequestBody SysAdminParam sysAdminParam) { - iSystemAdminService.add(sysAdminParam); + public Object add(@Validated(value = SystemAdminParam.create.class) @RequestBody SystemAdminParam systemAdminParam) { + iSystemAdminService.add(systemAdminParam); return AjaxResult.success(); } @@ -62,12 +62,12 @@ public class SystemAdminController { * 编辑管理员 * * @author fzr - * @param sysAdminParam 参数 + * @param systemAdminParam 参数 * @return Object */ @PostMapping("/edit") - public Object edit(@Validated(value = SysAdminParam.update.class) @RequestBody SysAdminParam sysAdminParam) { - iSystemAdminService.edit(sysAdminParam); + public Object edit(@Validated(value = SystemAdminParam.update.class) @RequestBody SystemAdminParam systemAdminParam) { + iSystemAdminService.edit(systemAdminParam); return AjaxResult.success(); } @@ -78,8 +78,8 @@ public class SystemAdminController { * @return Object */ @PostMapping("/del") - public Object del(@Validated(value = SysAdminParam.delete.class) @RequestBody SysAdminParam sysAdminParam) { - iSystemAdminService.del(sysAdminParam.getId()); + public Object del(@Validated(value = SystemAdminParam.delete.class) @RequestBody SystemAdminParam systemAdminParam) { + iSystemAdminService.del(systemAdminParam.getId()); return AjaxResult.success(); } diff --git a/like-admin/src/main/java/com/hxkj/admin/controller/system/SystemLoginController.java b/like-admin/src/main/java/com/hxkj/admin/controller/system/SystemLoginController.java index 3a444d01..b52cca9c 100644 --- a/like-admin/src/main/java/com/hxkj/admin/controller/system/SystemLoginController.java +++ b/like-admin/src/main/java/com/hxkj/admin/controller/system/SystemLoginController.java @@ -1,7 +1,7 @@ package com.hxkj.admin.controller.system; import com.hxkj.admin.service.ISystemLoginService; -import com.hxkj.admin.validate.SysLoginParam; +import com.hxkj.admin.validate.system.SystemLoginParam; import com.hxkj.common.core.AjaxResult; import com.hxkj.common.exception.LoginException; import com.hxkj.common.exception.OperateException; @@ -26,13 +26,13 @@ public class SystemLoginController { * 登录系统 * * @author fzr - * @param sysLoginParam 登录参数 + * @param systemLoginParam 登录参数 * @return Object */ @PostMapping("/login") - public Object login(@Validated() @RequestBody SysLoginParam sysLoginParam) { + public Object login(@Validated() @RequestBody SystemLoginParam systemLoginParam) { try { - Map map = iSystemLoginService.login(sysLoginParam); + Map map = iSystemLoginService.login(systemLoginParam); return AjaxResult.success(map); } catch (LoginException e) { return AjaxResult.failed(e.getCode(), e.getMsg()); diff --git a/like-admin/src/main/java/com/hxkj/admin/controller/system/SystemMenuController.java b/like-admin/src/main/java/com/hxkj/admin/controller/system/SystemMenuController.java index 1760d984..a522a353 100644 --- a/like-admin/src/main/java/com/hxkj/admin/controller/system/SystemMenuController.java +++ b/like-admin/src/main/java/com/hxkj/admin/controller/system/SystemMenuController.java @@ -3,7 +3,7 @@ package com.hxkj.admin.controller.system; import com.alibaba.fastjson.JSONArray; import com.hxkj.admin.LikeAdminThreadLocal; import com.hxkj.admin.service.ISystemMenuService; -import com.hxkj.admin.validate.SysMenuParam; +import com.hxkj.admin.validate.system.SystemMenuParam; import com.hxkj.admin.vo.system.SystemMenuVo; import com.hxkj.common.core.AjaxResult; import com.hxkj.common.validator.annotation.IDMust; @@ -63,8 +63,8 @@ public class SystemMenuController { * @return Object */ @PostMapping("/add") - public Object add(@Validated(value = SysMenuParam.create.class) @RequestBody SysMenuParam sysMenuParam) { - iSystemMenuService.add(sysMenuParam); + public Object add(@Validated(value = SystemMenuParam.create.class) @RequestBody SystemMenuParam systemMenuParam) { + iSystemMenuService.add(systemMenuParam); return AjaxResult.success(); } @@ -75,8 +75,8 @@ public class SystemMenuController { * @return Object */ @PostMapping("/edit") - public Object edit(@Validated(value = SysMenuParam.update.class) @RequestBody SysMenuParam sysMenuParam) { - iSystemMenuService.edit(sysMenuParam); + public Object edit(@Validated(value = SystemMenuParam.update.class) @RequestBody SystemMenuParam systemMenuParam) { + iSystemMenuService.edit(systemMenuParam); return AjaxResult.success(); } @@ -87,8 +87,8 @@ public class SystemMenuController { * @return Object */ @PostMapping("/del") - public Object del(@Validated(value = SysMenuParam.delete.class) @RequestBody SysMenuParam sysMenuParam) { - iSystemMenuService.del(sysMenuParam.getId()); + public Object del(@Validated(value = SystemMenuParam.delete.class) @RequestBody SystemMenuParam systemMenuParam) { + iSystemMenuService.del(systemMenuParam.getId()); return AjaxResult.success(); } diff --git a/like-admin/src/main/java/com/hxkj/admin/controller/system/SystemRoleController.java b/like-admin/src/main/java/com/hxkj/admin/controller/system/SystemRoleController.java index 96157d11..200095e6 100644 --- a/like-admin/src/main/java/com/hxkj/admin/controller/system/SystemRoleController.java +++ b/like-admin/src/main/java/com/hxkj/admin/controller/system/SystemRoleController.java @@ -2,7 +2,7 @@ package com.hxkj.admin.controller.system; import com.hxkj.admin.service.ISystemRoleService; import com.hxkj.admin.validate.PageParam; -import com.hxkj.admin.validate.SysRoleParam; +import com.hxkj.admin.validate.system.SystemRoleParam; import com.hxkj.admin.vo.system.SystemRoleVo; import com.hxkj.common.core.AjaxResult; import com.hxkj.common.core.PageResult; @@ -48,12 +48,12 @@ public class SystemRoleController { * 新增角色 * * @author fzr - * @param sysRoleParam 角色参数 + * @param systemRoleParam 角色参数 * @return Object */ @PostMapping("/add") - public Object add(@Validated(value = SysRoleParam.create.class) @RequestBody SysRoleParam sysRoleParam) { - iSystemRoleService.add(sysRoleParam); + public Object add(@Validated(value = SystemRoleParam.create.class) @RequestBody SystemRoleParam systemRoleParam) { + iSystemRoleService.add(systemRoleParam); return AjaxResult.success(); } @@ -61,12 +61,12 @@ public class SystemRoleController { * 编辑角色 * * @author fzr - * @param sysRoleParam 角色参数 + * @param systemRoleParam 角色参数 * @return Object */ @PostMapping("/edit") - public Object edit(@Validated(value = SysRoleParam.create.class) @RequestBody SysRoleParam sysRoleParam) { - iSystemRoleService.edit(sysRoleParam); + public Object edit(@Validated(value = SystemRoleParam.create.class) @RequestBody SystemRoleParam systemRoleParam) { + iSystemRoleService.edit(systemRoleParam); return AjaxResult.success(); } @@ -74,12 +74,12 @@ public class SystemRoleController { * 删除角色 * * @author fzr - * @param sysRoleParam 角色参数 + * @param systemRoleParam 角色参数 * @return Object */ @PostMapping("/del") - public Object del(@Validated(value = SysRoleParam.delete.class) @RequestBody SysRoleParam sysRoleParam) { - iSystemRoleService.del(sysRoleParam.getId()); + public Object del(@Validated(value = SystemRoleParam.delete.class) @RequestBody SystemRoleParam systemRoleParam) { + iSystemRoleService.del(systemRoleParam.getId()); return AjaxResult.success(); } diff --git a/like-admin/src/main/java/com/hxkj/admin/service/IAlbumService.java b/like-admin/src/main/java/com/hxkj/admin/service/IAlbumService.java new file mode 100644 index 00000000..d822fc8c --- /dev/null +++ b/like-admin/src/main/java/com/hxkj/admin/service/IAlbumService.java @@ -0,0 +1,92 @@ +package com.hxkj.admin.service; + +import com.alibaba.fastjson.JSONArray; +import com.hxkj.admin.validate.AlbumParam; +import com.hxkj.admin.validate.PageParam; +import com.hxkj.admin.vo.album.AlbumVo; +import com.hxkj.common.basics.BaseService; +import com.hxkj.common.core.PageResult; +import com.hxkj.common.entity.Album; + +import java.util.Map; + +/** + * 相册服务类 + */ +public interface IAlbumService extends BaseService { + + /** + * 文件列表 + * + * @author fzr + * @param pageParam 分页参数 + * @param params 其他搜索参数 + * @return PageResult + */ + PageResult albumList(PageParam pageParam, Map params); + + /** + * 文件重命名 + * + * @param id 文件ID + * @param name 文件名称 + */ + void albumRename(Integer id, String name); + + /** + * 文件移动 + * + * @author fzr + * @param id 文件ID + * @param cid 类目ID + */ + void albumMove(Integer id, Integer cid); + + /** + * 文件新增 + * + * @author fzr + * @param params 文件信息参数 + */ + void albumAdd(Map params); + + /** + * 文件删除 + * + * @author fzr + * @param id 文件ID + */ + void albumDel(Integer id); + + /** + * 分类列表 + * + * @author fzr + * @param params 搜索参数 + * @return JSONArray + */ + JSONArray cateList(Map params); + + /** + * 分类新增 + */ + void cateAdd(AlbumParam albumParam); + + /** + * 分类编辑 + * + * @author fzr + * @param id 分类ID + * @param name 分类名称 + */ + void cateRename(Integer id, String name); + + /** + * 分类删除 + * + * @author fzr + * @param id 分类ID + */ + void cateDel(Integer id); + +} diff --git a/like-admin/src/main/java/com/hxkj/admin/service/ISystemAdminService.java b/like-admin/src/main/java/com/hxkj/admin/service/ISystemAdminService.java index f6101972..5aa56404 100644 --- a/like-admin/src/main/java/com/hxkj/admin/service/ISystemAdminService.java +++ b/like-admin/src/main/java/com/hxkj/admin/service/ISystemAdminService.java @@ -1,7 +1,7 @@ package com.hxkj.admin.service; import com.hxkj.admin.validate.PageParam; -import com.hxkj.admin.validate.SysAdminParam; +import com.hxkj.admin.validate.system.SystemAdminParam; import com.hxkj.admin.vo.system.SystemAdminVo; import com.hxkj.common.basics.BaseService; import com.hxkj.common.core.PageResult; @@ -45,17 +45,17 @@ public interface ISystemAdminService extends BaseService { * 新增管理员 * * @author fzr - * @param sysAdminParam 参数 + * @param systemAdminParam 参数 */ - void add(SysAdminParam sysAdminParam); + void add(SystemAdminParam systemAdminParam); /** * 编辑管理员 * * @author fzr - * @param sysAdminParam 参数 + * @param systemAdminParam 参数 */ - void edit(SysAdminParam sysAdminParam); + void edit(SystemAdminParam systemAdminParam); /** * 删除管理员 diff --git a/like-admin/src/main/java/com/hxkj/admin/service/ISystemLoginService.java b/like-admin/src/main/java/com/hxkj/admin/service/ISystemLoginService.java index 10337d8f..cdcf2b0b 100644 --- a/like-admin/src/main/java/com/hxkj/admin/service/ISystemLoginService.java +++ b/like-admin/src/main/java/com/hxkj/admin/service/ISystemLoginService.java @@ -1,6 +1,6 @@ package com.hxkj.admin.service; -import com.hxkj.admin.validate.SysLoginParam; +import com.hxkj.admin.validate.system.SystemLoginParam; import java.util.Map; @@ -13,10 +13,10 @@ public interface ISystemLoginService { * 登录 * * @author fzr - * @param sysLoginParam 登录参数 + * @param systemLoginParam 登录参数 * @return token */ - Map login(SysLoginParam sysLoginParam); + Map login(SystemLoginParam systemLoginParam); /** * 退出 diff --git a/like-admin/src/main/java/com/hxkj/admin/service/ISystemMenuService.java b/like-admin/src/main/java/com/hxkj/admin/service/ISystemMenuService.java index f47aa5f4..c9989e67 100644 --- a/like-admin/src/main/java/com/hxkj/admin/service/ISystemMenuService.java +++ b/like-admin/src/main/java/com/hxkj/admin/service/ISystemMenuService.java @@ -1,7 +1,7 @@ package com.hxkj.admin.service; import com.alibaba.fastjson.JSONArray; -import com.hxkj.admin.validate.SysMenuParam; +import com.hxkj.admin.validate.system.SystemMenuParam; import com.hxkj.admin.vo.system.SystemMenuVo; import com.hxkj.common.basics.BaseService; import com.hxkj.common.entity.system.SystemMenu; @@ -40,17 +40,17 @@ public interface ISystemMenuService extends BaseService { * 新增菜单 * * @author fzr - * @param sysMenuParam 参数 + * @param systemMenuParam 参数 */ - void add(SysMenuParam sysMenuParam); + void add(SystemMenuParam systemMenuParam); /** * 编辑菜单 * * @author fzr - * @param sysMenuParam 参数 + * @param systemMenuParam 参数 */ - void edit(SysMenuParam sysMenuParam); + void edit(SystemMenuParam systemMenuParam); /** * 删除菜单 diff --git a/like-admin/src/main/java/com/hxkj/admin/service/ISystemRoleService.java b/like-admin/src/main/java/com/hxkj/admin/service/ISystemRoleService.java index 2f704a4a..4548d3cd 100644 --- a/like-admin/src/main/java/com/hxkj/admin/service/ISystemRoleService.java +++ b/like-admin/src/main/java/com/hxkj/admin/service/ISystemRoleService.java @@ -1,7 +1,7 @@ package com.hxkj.admin.service; import com.hxkj.admin.validate.PageParam; -import com.hxkj.admin.validate.SysRoleParam; +import com.hxkj.admin.validate.system.SystemRoleParam; import com.hxkj.admin.vo.system.SystemRoleVo; import com.hxkj.common.basics.BaseService; import com.hxkj.common.core.PageResult; @@ -42,17 +42,17 @@ public interface ISystemRoleService extends BaseService { * 新增角色 * * @author fzr - * @param sysRoleParam 参数 + * @param systemRoleParam 参数 */ - void add(SysRoleParam sysRoleParam); + void add(SystemRoleParam systemRoleParam); /** * 更新角色 * * @author fzr - * @param sysRoleParam 参数 + * @param systemRoleParam 参数 */ - void edit(SysRoleParam sysRoleParam); + void edit(SystemRoleParam systemRoleParam); /** * 删除角色 diff --git a/like-admin/src/main/java/com/hxkj/admin/service/impl/IAlbumServiceImpl.java b/like-admin/src/main/java/com/hxkj/admin/service/impl/IAlbumServiceImpl.java new file mode 100644 index 00000000..60513797 --- /dev/null +++ b/like-admin/src/main/java/com/hxkj/admin/service/impl/IAlbumServiceImpl.java @@ -0,0 +1,281 @@ +package com.hxkj.admin.service.impl; + +import com.alibaba.fastjson.JSONArray; +import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; +import com.baomidou.mybatisplus.core.metadata.IPage; +import com.baomidou.mybatisplus.core.toolkit.Assert; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.github.yulichang.base.MPJBaseServiceImpl; +import com.hxkj.admin.LikeAdminThreadLocal; +import com.hxkj.admin.service.IAlbumService; +import com.hxkj.admin.validate.AlbumParam; +import com.hxkj.admin.validate.PageParam; +import com.hxkj.admin.vo.album.AlbumCateVo; +import com.hxkj.admin.vo.album.AlbumVo; +import com.hxkj.admin.vo.system.SystemMenuVo; +import com.hxkj.common.core.PageResult; +import com.hxkj.common.entity.Album; +import com.hxkj.common.entity.AlbumCate; +import com.hxkj.common.mapper.AlbumCateMapper; +import com.hxkj.common.mapper.AlbumMapper; +import com.hxkj.common.utils.ArrayUtil; +import com.hxkj.common.utils.TimeUtil; +import com.hxkj.common.utils.ToolsUtil; +import com.hxkj.common.utils.UrlUtil; +import org.springframework.beans.BeanUtils; +import org.springframework.stereotype.Service; + +import javax.annotation.Resource; +import java.util.ArrayList; +import java.util.List; +import java.util.Map; + +@Service +public class IAlbumServiceImpl extends MPJBaseServiceImpl implements IAlbumService { + + @Resource + AlbumCateMapper albumCateMapper; + + /** + * 文件列表 + * + * @author fzr + * @param pageParam 分页参数 + * @return PageResult + */ + @Override + public PageResult albumList(PageParam pageParam, Map params) { + Integer page = pageParam.getPageNo(); + Integer limit = pageParam.getPageSize(); + + QueryWrapper queryWrapper = new QueryWrapper<>(); + queryWrapper.select(Album.class, info-> + !info.getColumn().equals("type") && + !info.getColumn().equals("aid") && + !info.getColumn().equals("uid") && + !info.getColumn().equals("is_delete") && + !info.getColumn().equals("delete_time")) + .eq("is_delete", 0) + .orderByDesc("id"); + + this.setSearch(queryWrapper, params, new String[]{ + "like:keyword:str", + "=:type:int" + }); + + IPage iPage = this.page(new Page<>(page, limit), queryWrapper); + + List albumVoArrayList = new ArrayList<>(); + for (Album album : iPage.getRecords()) { + AlbumVo vo = new AlbumVo(); + BeanUtils.copyProperties(album, vo); + + vo.setUri(UrlUtil.toAbsoluteUrl(album.getUri())); + vo.setSize(ToolsUtil.toStorageUnit(album.getSize())); + vo.setCreateTime(TimeUtil.timestampToDate(album.getCreateTime())); + vo.setUpdateTime(TimeUtil.timestampToDate(album.getUpdateTime())); + albumVoArrayList.add(vo); + } + + return PageResult.iPageHandle(iPage.getTotal(), iPage.getCurrent(), iPage.getSize(), albumVoArrayList); + } + + /** + * 文件重命名 + * + * @author fzr + * @param id 文件ID + * @param name 文件名称 + */ + @Override + public void albumRename(Integer id, String name) { + Album album = this.getOne(new QueryWrapper() + .select("id", "name") + .eq("id", id) + .eq("is_delete", 0)); + + Assert.notNull(album, "文件丢失!"); + + album.setName(name); + album.setUpdateTime(System.currentTimeMillis() / 1000); + this.updateById(album); + } + + /** + * 文件移动 + * + * @author fzr + * @param id 文件ID + * @param cid 类目ID + */ + @Override + public void albumMove(Integer id, Integer cid) { + Album album = this.getOne(new QueryWrapper() + .select("id", "name") + .eq("id", id) + .eq("is_delete", 0) + .last("limit 1")); + + Assert.notNull(album, "文件丢失!"); + + Assert.notNull( albumCateMapper.selectOne( + new QueryWrapper() + .eq("id", cid) + .eq("is_delete", 0) + ), "类目已不存在!"); + + album.setCid(cid); + album.setUpdateTime(System.currentTimeMillis() / 1000); + this.updateById(album); + } + + /** + * 文件新增 + * + * @author fzr + * @param params 文件信息参数 + */ + @Override + public void albumAdd(Map params) { + Album album = new Album(); + album.setAid(Integer.parseInt(params.getOrDefault("aid", "0"))); + album.setUid(Integer.parseInt(params.getOrDefault("uid", "0"))); + album.setType(Integer.parseInt(params.get("type"))); + album.setName(params.get("name")); + album.setExt(params.get("ext")); + album.setUri(params.get("uri")); + album.setSize(Long.parseLong(params.get("size"))); + album.setCreateTime(System.currentTimeMillis() / 1000); + album.setUpdateTime(System.currentTimeMillis() / 1000); + this.save(album); + } + + /** + * 文件删除 + * + * @author fzr + * @param id 文件ID + */ + @Override + public void albumDel(Integer id) { + Album album = this.getOne(new QueryWrapper() + .select("id", "name") + .eq("id", id) + .eq("is_delete", 0) + .last("limit 1")); + + Assert.notNull(album, "文件丢失!"); + + album.setIsDelete(1); + album.setDeleteTime(System.currentTimeMillis() / 1000); + this.updateById(album); + } + + /** + * 分类列表 + * + * @param params 搜索参数 + * @return JSONArray + */ + @Override + public JSONArray cateList(Map params) { + QueryWrapper queryWrapper = new QueryWrapper<>(); + queryWrapper.select(AlbumCate.class, info-> + !info.getColumn().equals("is_delete") && + !info.getColumn().equals("delete_time")) + .eq("is_delete", 0) + .orderByDesc("id"); + + long type = Integer.parseInt(params.getOrDefault("type", "0")); + String keyword = params.getOrDefault("keyword", ""); + if (type > 0) { + queryWrapper.eq("type", type); + } + + if (!keyword.equals("")) { + queryWrapper.like("name", keyword); + } + + List albumCateList = albumCateMapper.selectList(queryWrapper); + + List lists = new ArrayList<>(); + for (AlbumCate albumCate : albumCateList) { + AlbumCateVo vo = new AlbumCateVo(); + BeanUtils.copyProperties(albumCate, vo); + + vo.setCreateTime(TimeUtil.timestampToDate(albumCate.getCreateTime())); + vo.setUpdateTime(TimeUtil.timestampToDate(albumCate.getUpdateTime())); + } + + JSONArray jsonArray = JSONArray.parseArray(JSONArray.toJSONString(lists)); + return ArrayUtil.listToTree(jsonArray, "id", "pid", "children"); + } + + /** + * 分类新增 + * + * @author fzr + * @param albumParam 分类参数 + */ + @Override + public void cateAdd(AlbumParam albumParam) { + AlbumCate albumCate = new AlbumCate(); + albumCate.setType(albumParam.getType()); + albumCate.setPid(albumParam.getPid()); + albumCate.setName(albumParam.getName()); + albumCate.setCreateTime(System.currentTimeMillis() / 1000); + albumCate.setUpdateTime(System.currentTimeMillis() / 1000); + albumCateMapper.insert(albumCate); + } + + /** + * 分类重命名 + * + * @author fzr + * @param id 分类ID + * @param name 分类名称 + */ + @Override + public void cateRename(Integer id, String name) { + AlbumCate albumCate = albumCateMapper.selectOne( + new QueryWrapper() + .select("id", "name") + .eq("id", id) + .eq("is_delete", 0)); + + Assert.notNull(albumCate, "分类已不存在!"); + + albumCate.setName(name); + albumCate.setUpdateTime(System.currentTimeMillis() / 1000); + albumCateMapper.updateById(albumCate); + } + + /** + * 分类删除 + * + * @author fzr + * @param id 分类ID + */ + @Override + public void cateDel(Integer id) { + AlbumCate albumCate = albumCateMapper.selectOne( + new QueryWrapper() + .select("id", "name") + .eq("id", id) + .eq("is_delete", 0)); + + Assert.notNull(albumCate, "分类已不存在!"); + + Assert.isNull(this.getOne(new QueryWrapper() + .select("id", "cid", "name") + .eq("cid", id) + .eq("is_delete", 0) + .last("limit 1") + ), "当前分类正被使用中,不能删除!"); + + albumCate.setIsDelete(1); + albumCate.setDeleteTime(System.currentTimeMillis() / 1000); + albumCateMapper.updateById(albumCate); + } + +} diff --git a/like-admin/src/main/java/com/hxkj/admin/service/impl/ISystemAdminServiceImpl.java b/like-admin/src/main/java/com/hxkj/admin/service/impl/ISystemAdminServiceImpl.java index 327c149d..942a26db 100644 --- a/like-admin/src/main/java/com/hxkj/admin/service/impl/ISystemAdminServiceImpl.java +++ b/like-admin/src/main/java/com/hxkj/admin/service/impl/ISystemAdminServiceImpl.java @@ -10,7 +10,7 @@ import com.hxkj.admin.config.SystemConfig; import com.hxkj.admin.service.ISystemAdminService; import com.hxkj.admin.service.ISystemRoleService; import com.hxkj.admin.validate.PageParam; -import com.hxkj.admin.validate.SysAdminParam; +import com.hxkj.admin.validate.system.SystemAdminParam; import com.hxkj.admin.vo.system.SystemAdminVo; import com.hxkj.common.core.PageResult; import com.hxkj.common.entity.system.SystemAdmin; @@ -124,38 +124,38 @@ public class ISystemAdminServiceImpl extends MPJBaseServiceImpl() .select(field) .eq("is_delete", 0) - .eq("username", sysAdminParam.getUsername()) + .eq("username", systemAdminParam.getUsername()) .last("limit 1")), "账号已存在换一个吧!"); Assert.isNull(this.getOne(new QueryWrapper() .select(field) .eq("is_delete", 0) - .eq("nickname", sysAdminParam.getNickname()) + .eq("nickname", systemAdminParam.getNickname()) .last("limit 1")), "昵称已存在换一个吧!"); - Assert.notNull(iSystemRoleService.getById(sysAdminParam.getRole()), "角色不存在!"); + Assert.notNull(iSystemRoleService.getById(systemAdminParam.getRole()), "角色不存在!"); String salt = ToolsUtil.randomString(5); - String pwd = ToolsUtil.makeMd5(sysAdminParam.getPassword().trim() + salt); - String avatar = UrlUtil.toRelativeUrl(sysAdminParam.getAvatar()); + String pwd = ToolsUtil.makeMd5(systemAdminParam.getPassword().trim() + salt); + String avatar = UrlUtil.toRelativeUrl(systemAdminParam.getAvatar()); SystemAdmin model = new SystemAdmin(); - model.setUsername(sysAdminParam.getUsername()); - model.setNickname(sysAdminParam.getNickname()); - model.setRole(sysAdminParam.getRole()); + model.setUsername(systemAdminParam.getUsername()); + model.setNickname(systemAdminParam.getNickname()); + model.setRole(systemAdminParam.getRole()); model.setAvatar(avatar); model.setPassword(pwd); model.setSalt(salt); - model.setSort(sysAdminParam.getSort()); - model.setIsDisable(sysAdminParam.getIsDisable()); + model.setSort(systemAdminParam.getSort()); + model.setIsDisable(systemAdminParam.getIsDisable()); model.setCreateTime(System.currentTimeMillis() / 1000); model.setUpdateTime(System.currentTimeMillis() / 1000); this.save(model); @@ -165,54 +165,54 @@ public class ISystemAdminServiceImpl extends MPJBaseServiceImpl() .select(field) - .eq("id", sysAdminParam.getId()) + .eq("id", systemAdminParam.getId()) .eq("is_delete", 0) .last("limit 1")), "账号不存在了!"); Assert.isNull(this.getOne(new QueryWrapper() .select(field) .eq("is_delete", 0) - .eq("username", sysAdminParam.getUsername()) - .ne("id", sysAdminParam.getId()) + .eq("username", systemAdminParam.getUsername()) + .ne("id", systemAdminParam.getId()) .last("limit 1")), "账号已存在换一个吧!"); Assert.isNull(this.getOne(new QueryWrapper() .select(field) .eq("is_delete", 0) - .eq("nickname", sysAdminParam.getNickname()) - .ne("id", sysAdminParam.getId()) + .eq("nickname", systemAdminParam.getNickname()) + .ne("id", systemAdminParam.getId()) .last("limit 1")), "昵称已存在换一个吧!"); - Assert.notNull(iSystemRoleService.getById(sysAdminParam.getRole()), "角色不存在!"); + Assert.notNull(iSystemRoleService.getById(systemAdminParam.getRole()), "角色不存在!"); SystemAdmin model = new SystemAdmin(); - model.setId(sysAdminParam.getId()); - model.setNickname(sysAdminParam.getNickname()); - model.setUsername(sysAdminParam.getUsername()); - model.setAvatar( UrlUtil.toRelativeUrl(sysAdminParam.getAvatar())); - model.setRole(sysAdminParam.getId() == 1 ? 0 : sysAdminParam.getRole()); - model.setSort(sysAdminParam.getSort()); - model.setIsDisable(sysAdminParam.getIsDisable()); + model.setId(systemAdminParam.getId()); + model.setNickname(systemAdminParam.getNickname()); + model.setUsername(systemAdminParam.getUsername()); + model.setAvatar( UrlUtil.toRelativeUrl(systemAdminParam.getAvatar())); + model.setRole(systemAdminParam.getId() == 1 ? 0 : systemAdminParam.getRole()); + model.setSort(systemAdminParam.getSort()); + model.setIsDisable(systemAdminParam.getIsDisable()); model.setUpdateTime(System.currentTimeMillis() / 1000); - if (sysAdminParam.getPassword() != null) { + if (systemAdminParam.getPassword() != null) { String salt = ToolsUtil.randomString(5); - String pwd = ToolsUtil.makeMd5( sysAdminParam.getPassword().trim() + salt); + String pwd = ToolsUtil.makeMd5( systemAdminParam.getPassword().trim() + salt); model.setPassword(pwd); model.setSalt(salt); } this.updateById(model); - this.cacheAdminUserByUid(sysAdminParam.getId()); + this.cacheAdminUserByUid(systemAdminParam.getId()); - if (sysAdminParam.getPassword() != null) { + if (systemAdminParam.getPassword() != null) { RedisUtil.del(Objects.requireNonNull(HttpUtil.obj()).getHeader("token")); } } diff --git a/like-admin/src/main/java/com/hxkj/admin/service/impl/ISystemLoginServiceImpl.java b/like-admin/src/main/java/com/hxkj/admin/service/impl/ISystemLoginServiceImpl.java index 4ca37a0f..797bf522 100644 --- a/like-admin/src/main/java/com/hxkj/admin/service/impl/ISystemLoginServiceImpl.java +++ b/like-admin/src/main/java/com/hxkj/admin/service/impl/ISystemLoginServiceImpl.java @@ -3,7 +3,7 @@ package com.hxkj.admin.service.impl; import com.hxkj.admin.config.SystemConfig; import com.hxkj.admin.service.ISystemAdminService; import com.hxkj.admin.service.ISystemLoginService; -import com.hxkj.admin.validate.SysLoginParam; +import com.hxkj.admin.validate.system.SystemLoginParam; import com.hxkj.common.entity.system.SystemAdmin; import com.hxkj.common.enums.HttpEnum; import com.hxkj.common.exception.LoginException; @@ -27,13 +27,13 @@ public class ISystemLoginServiceImpl implements ISystemLoginService { * 登录 * * @author fzr - * @param sysLoginParam 登录参数 + * @param systemLoginParam 登录参数 * @return token */ @Override - public Map login(SysLoginParam sysLoginParam) { - String username = sysLoginParam.getUsername(); - String password = sysLoginParam.getPassword(); + public Map login(SystemLoginParam systemLoginParam) { + String username = systemLoginParam.getUsername(); + String password = systemLoginParam.getPassword(); SystemAdmin sysAdmin = iSystemAdminService.findByUsername(username); if (sysAdmin == null || sysAdmin.getIsDelete() == 1) { diff --git a/like-admin/src/main/java/com/hxkj/admin/service/impl/ISystemMenuServiceImpl.java b/like-admin/src/main/java/com/hxkj/admin/service/impl/ISystemMenuServiceImpl.java index a4e88148..2d6d8666 100644 --- a/like-admin/src/main/java/com/hxkj/admin/service/impl/ISystemMenuServiceImpl.java +++ b/like-admin/src/main/java/com/hxkj/admin/service/impl/ISystemMenuServiceImpl.java @@ -8,7 +8,7 @@ import com.hxkj.admin.LikeAdminThreadLocal; import com.hxkj.admin.config.SystemConfig; import com.hxkj.admin.service.ISystemMenuService; import com.hxkj.admin.service.ISystemRoleMenuService; -import com.hxkj.admin.validate.SysMenuParam; +import com.hxkj.admin.validate.system.SystemMenuParam; import com.hxkj.admin.vo.system.SystemMenuVo; import com.hxkj.common.entity.system.SystemMenu; import com.hxkj.common.mapper.system.SystemMenuMapper; @@ -114,18 +114,18 @@ public class ISystemMenuServiceImpl extends MPJBaseServiceImpl().eq("id", sysMenuParam.getId())); + public void edit(SystemMenuParam systemMenuParam) { + SystemMenu model = this.getOne(new QueryWrapper().eq("id", systemMenuParam.getId())); Assert.notNull(model, "菜单已不存在!"); - model.setMenuType(sysMenuParam.getMenuType()); - model.setMenuName(sysMenuParam.getMenuName()); - model.setMenuIcon(sysMenuParam.getMenuIcon()); - model.setMenuSort(sysMenuParam.getMenuSort()); - model.setPerms(sysMenuParam.getPerms()); - model.setPid(sysMenuParam.getPid()); - model.setIsDisable(sysMenuParam.getIsDisable()); + model.setMenuType(systemMenuParam.getMenuType()); + model.setMenuName(systemMenuParam.getMenuName()); + model.setMenuIcon(systemMenuParam.getMenuIcon()); + model.setMenuSort(systemMenuParam.getMenuSort()); + model.setPerms(systemMenuParam.getPerms()); + model.setPid(systemMenuParam.getPid()); + model.setIsDisable(systemMenuParam.getIsDisable()); model.setUpdateTime(System.currentTimeMillis() / 1000); this.updateById(model); diff --git a/like-admin/src/main/java/com/hxkj/admin/service/impl/ISystemRoleServiceImpl.java b/like-admin/src/main/java/com/hxkj/admin/service/impl/ISystemRoleServiceImpl.java index a095e0fc..96adf48c 100644 --- a/like-admin/src/main/java/com/hxkj/admin/service/impl/ISystemRoleServiceImpl.java +++ b/like-admin/src/main/java/com/hxkj/admin/service/impl/ISystemRoleServiceImpl.java @@ -10,7 +10,7 @@ import com.hxkj.admin.service.ISystemAdminService; import com.hxkj.admin.service.ISystemRoleMenuService; import com.hxkj.admin.service.ISystemRoleService; import com.hxkj.admin.validate.PageParam; -import com.hxkj.admin.validate.SysRoleParam; +import com.hxkj.admin.validate.system.SystemRoleParam; import com.hxkj.admin.vo.system.SystemRoleVo; import com.hxkj.common.core.PageResult; import com.hxkj.common.entity.system.SystemAdmin; @@ -119,58 +119,58 @@ public class ISystemRoleServiceImpl extends MPJBaseServiceImpl() .select("id,name") - .eq("name", sysRoleParam.getName().trim()) + .eq("name", systemRoleParam.getName().trim()) .last("limit 1")), "角色名称已存在!"); SystemRole model = new SystemRole(); - model.setName(sysRoleParam.getName().trim()); - model.setRemark(sysRoleParam.getRemark()); - model.setIsDisable(sysRoleParam.getIsDisable()); + model.setName(systemRoleParam.getName().trim()); + model.setRemark(systemRoleParam.getRemark()); + model.setIsDisable(systemRoleParam.getIsDisable()); model.setCreateTime(System.currentTimeMillis() / 1000); model.setUpdateTime(System.currentTimeMillis() / 1000); this.save(model); - iSystemRoleMenuService.batchSaveByMenuIds(model.getId(), sysRoleParam.getMenuIds()); + iSystemRoleMenuService.batchSaveByMenuIds(model.getId(), systemRoleParam.getMenuIds()); } /** * 编辑角色 * * @author fzr - * @param sysRoleParam 参数 + * @param systemRoleParam 参数 */ @Override @Transactional - public void edit(SysRoleParam sysRoleParam) { + public void edit(SystemRoleParam systemRoleParam) { Assert.notNull(this.getOne(new QueryWrapper() .select("id,name") - .eq("id", sysRoleParam.getId()) + .eq("id", systemRoleParam.getId()) .last("limit 1")), "角色已不存在!"); Assert.isNull(this.getOne(new QueryWrapper() .select("id,name") - .ne("id", sysRoleParam.getId()) - .eq("name", sysRoleParam.getName().trim()) + .ne("id", systemRoleParam.getId()) + .eq("name", systemRoleParam.getName().trim()) .last("limit 1")), "角色名称已存在!"); SystemRole model = new SystemRole(); - model.setId(sysRoleParam.getId()); - model.setName(sysRoleParam.getName().trim()); - model.setRemark(sysRoleParam.getRemark()); - model.setIsDisable(sysRoleParam.getIsDisable()); + model.setId(systemRoleParam.getId()); + model.setName(systemRoleParam.getName().trim()); + model.setRemark(systemRoleParam.getRemark()); + model.setIsDisable(systemRoleParam.getIsDisable()); model.setUpdateTime(System.currentTimeMillis() / 1000); this.updateById(model); - iSystemRoleMenuService.batchDeleteByRoleId(sysRoleParam.getId()); - iSystemRoleMenuService.batchSaveByMenuIds(sysRoleParam.getId(), sysRoleParam.getMenuIds()); - iSystemRoleMenuService.cacheRoleMenusByRoleId(sysRoleParam.getId()); + iSystemRoleMenuService.batchDeleteByRoleId(systemRoleParam.getId()); + iSystemRoleMenuService.batchSaveByMenuIds(systemRoleParam.getId(), systemRoleParam.getMenuIds()); + iSystemRoleMenuService.cacheRoleMenusByRoleId(systemRoleParam.getId()); } /** diff --git a/like-admin/src/main/java/com/hxkj/admin/validate/AlbumParam.java b/like-admin/src/main/java/com/hxkj/admin/validate/AlbumParam.java new file mode 100644 index 00000000..977ea028 --- /dev/null +++ b/like-admin/src/main/java/com/hxkj/admin/validate/AlbumParam.java @@ -0,0 +1,46 @@ +package com.hxkj.admin.validate; + +import com.hxkj.admin.validate.system.SystemAdminParam; +import com.hxkj.common.validator.annotation.IDMust; +import com.hxkj.common.validator.annotation.IntegerContains; +import lombok.Data; +import lombok.EqualsAndHashCode; +import lombok.experimental.Accessors; +import org.hibernate.validator.constraints.Length; + +import javax.validation.constraints.Min; +import javax.validation.constraints.NotEmpty; +import javax.validation.constraints.NotNull; +import java.io.Serializable; + +@Data +@EqualsAndHashCode(callSuper = false) +@Accessors(chain = true) +public class AlbumParam implements Serializable { + + private static final long serialVersionUID = 1L; + + public interface delete{} + public interface rename{} + public interface albumMove{} + public interface cateAdd{} + + @IDMust(message = "id参数必传且需大于0", groups = {rename.class, albumMove.class, delete.class}) + private Integer id; + + @IDMust(message = "id参数必传且需大于0", groups = {albumMove.class}) + private Integer cid; + + @NotNull(message = "缺少pid参数", groups = {cateAdd.class}) + @Min(value = 0, message = "pid参数必须为数字", groups = {cateAdd.class}) + private Integer pid; + + @NotNull(message = "缺少type参数", groups = {cateAdd.class}) + @IntegerContains(values = {10, 20, 30}, message = "type不在合法值内", groups = {cateAdd.class}) + private Integer type; + + @NotEmpty(message = "名称不能为空", groups = {rename.class}) + @Length(min = 1, max = 30, message = "名称不能大于30个字符", groups = {rename.class}) + private String name; + +} diff --git a/like-admin/src/main/java/com/hxkj/admin/validate/SysAdminParam.java b/like-admin/src/main/java/com/hxkj/admin/validate/system/SystemAdminParam.java similarity index 95% rename from like-admin/src/main/java/com/hxkj/admin/validate/SysAdminParam.java rename to like-admin/src/main/java/com/hxkj/admin/validate/system/SystemAdminParam.java index 2e79a039..08cfe78b 100644 --- a/like-admin/src/main/java/com/hxkj/admin/validate/SysAdminParam.java +++ b/like-admin/src/main/java/com/hxkj/admin/validate/system/SystemAdminParam.java @@ -1,4 +1,4 @@ -package com.hxkj.admin.validate; +package com.hxkj.admin.validate.system; import com.hxkj.common.validator.annotation.IDMust; import lombok.EqualsAndHashCode; @@ -15,7 +15,7 @@ import java.io.Serializable; @Data @EqualsAndHashCode(callSuper = false) @Accessors(chain = true) -public class SysAdminParam implements Serializable { +public class SystemAdminParam implements Serializable { private static final long serialVersionUID = 1L; diff --git a/like-admin/src/main/java/com/hxkj/admin/validate/SysLoginParam.java b/like-admin/src/main/java/com/hxkj/admin/validate/system/SystemLoginParam.java similarity index 87% rename from like-admin/src/main/java/com/hxkj/admin/validate/SysLoginParam.java rename to like-admin/src/main/java/com/hxkj/admin/validate/system/SystemLoginParam.java index d1d44b1a..90b412fb 100644 --- a/like-admin/src/main/java/com/hxkj/admin/validate/SysLoginParam.java +++ b/like-admin/src/main/java/com/hxkj/admin/validate/system/SystemLoginParam.java @@ -1,4 +1,4 @@ -package com.hxkj.admin.validate; +package com.hxkj.admin.validate.system; import lombok.Data; import lombok.EqualsAndHashCode; @@ -14,7 +14,7 @@ import java.io.Serializable; @Data @EqualsAndHashCode(callSuper = false) @Accessors(chain = true) -public class SysLoginParam implements Serializable { +public class SystemLoginParam implements Serializable { private static final long serialVersionUID = 1L; diff --git a/like-admin/src/main/java/com/hxkj/admin/validate/SysMenuParam.java b/like-admin/src/main/java/com/hxkj/admin/validate/system/SystemMenuParam.java similarity index 95% rename from like-admin/src/main/java/com/hxkj/admin/validate/SysMenuParam.java rename to like-admin/src/main/java/com/hxkj/admin/validate/system/SystemMenuParam.java index 4738df0e..c0c701e2 100644 --- a/like-admin/src/main/java/com/hxkj/admin/validate/SysMenuParam.java +++ b/like-admin/src/main/java/com/hxkj/admin/validate/system/SystemMenuParam.java @@ -1,4 +1,4 @@ -package com.hxkj.admin.validate; +package com.hxkj.admin.validate.system; import com.hxkj.common.validator.annotation.IDMust; import com.hxkj.common.validator.annotation.StringContains; @@ -18,7 +18,7 @@ import java.io.Serializable; @Data @EqualsAndHashCode(callSuper = false) @Accessors(chain = true) -public class SysMenuParam implements Serializable { +public class SystemMenuParam implements Serializable { public interface create{} public interface update{} diff --git a/like-admin/src/main/java/com/hxkj/admin/validate/SysRoleParam.java b/like-admin/src/main/java/com/hxkj/admin/validate/system/SystemRoleParam.java similarity index 93% rename from like-admin/src/main/java/com/hxkj/admin/validate/SysRoleParam.java rename to like-admin/src/main/java/com/hxkj/admin/validate/system/SystemRoleParam.java index 96a46766..8952d480 100644 --- a/like-admin/src/main/java/com/hxkj/admin/validate/SysRoleParam.java +++ b/like-admin/src/main/java/com/hxkj/admin/validate/system/SystemRoleParam.java @@ -1,4 +1,4 @@ -package com.hxkj.admin.validate; +package com.hxkj.admin.validate.system; import com.hxkj.common.validator.annotation.IDMust; import lombok.Data; @@ -14,7 +14,7 @@ import java.io.Serializable; @Data @EqualsAndHashCode(callSuper = false) @Accessors(chain = true) -public class SysRoleParam implements Serializable { +public class SystemRoleParam implements Serializable { public interface create{} public interface update{} diff --git a/like-admin/src/main/java/com/hxkj/admin/vo/album/AlbumCateVo.java b/like-admin/src/main/java/com/hxkj/admin/vo/album/AlbumCateVo.java new file mode 100644 index 00000000..d71ec556 --- /dev/null +++ b/like-admin/src/main/java/com/hxkj/admin/vo/album/AlbumCateVo.java @@ -0,0 +1,18 @@ +package com.hxkj.admin.vo.album; + +import lombok.Data; + +import java.io.Serializable; + +@Data +public class AlbumCateVo implements Serializable { + + private static final long serialVersionUID = 1L; + + private Integer id; + private Integer pid; + private String name; + private String createTime; + private String updateTime; + +} diff --git a/like-admin/src/main/java/com/hxkj/admin/vo/album/AlbumVo.java b/like-admin/src/main/java/com/hxkj/admin/vo/album/AlbumVo.java new file mode 100644 index 00000000..7962badf --- /dev/null +++ b/like-admin/src/main/java/com/hxkj/admin/vo/album/AlbumVo.java @@ -0,0 +1,21 @@ +package com.hxkj.admin.vo.album; + +import lombok.Data; + +import java.io.Serializable; + +@Data +public class AlbumVo implements Serializable { + + private static final long serialVersionUID = 1L; + + private Integer id; + private Integer cid; + private String name; + private String uri; + private String ext; + private String size; + private String createTime; + private String updateTime; + +} diff --git a/like-common/pom.xml b/like-common/pom.xml index c775fad8..bae64f1a 100644 --- a/like-common/pom.xml +++ b/like-common/pom.xml @@ -81,13 +81,21 @@ org.apache.commons commons-pool2 - 2.10.0 - + com.google.code.gson gson - 2.9.0 + + + + com.qiniu + qiniu-java-sdk + + + + com.aliyun.oss + aliyun-sdk-oss diff --git a/like-common/src/main/java/com/hxkj/common/entity/Album.java b/like-common/src/main/java/com/hxkj/common/entity/Album.java new file mode 100644 index 00000000..e26d6d07 --- /dev/null +++ b/like-common/src/main/java/com/hxkj/common/entity/Album.java @@ -0,0 +1,32 @@ +package com.hxkj.common.entity; + +import com.baomidou.mybatisplus.annotation.IdType; +import com.baomidou.mybatisplus.annotation.TableId; +import lombok.Data; + +import java.io.Serializable; + +/** + * 相册实体 + */ +@Data +public class Album implements Serializable { + + private static final long serialVersionUID = 1L; + + @TableId(value="id", type= IdType.AUTO) + private Integer id; + private Integer cid; + private Integer aid; + private Integer uid; + private Integer type; + private String name; + private String uri; + private String ext; + private Long size; + private Integer isDelete; + private Long createTime; + private Long updateTime; + private Long deleteTime; + +} diff --git a/like-common/src/main/java/com/hxkj/common/entity/AlbumCate.java b/like-common/src/main/java/com/hxkj/common/entity/AlbumCate.java new file mode 100644 index 00000000..915ded62 --- /dev/null +++ b/like-common/src/main/java/com/hxkj/common/entity/AlbumCate.java @@ -0,0 +1,27 @@ +package com.hxkj.common.entity; + +import com.baomidou.mybatisplus.annotation.IdType; +import com.baomidou.mybatisplus.annotation.TableId; +import lombok.Data; + +import java.io.Serializable; + +/** + * 相册分类实体 + */ +@Data +public class AlbumCate implements Serializable { + + private static final long serialVersionUID = 1L; + + @TableId(value="id", type= IdType.AUTO) + private Integer id; + private Integer pid; + private Integer type; + private String name; + private Integer isDelete; + private Long createTime; + private Long updateTime; + private Long deleteTime; + +} diff --git a/like-common/src/main/java/com/hxkj/common/exception/GlobalException.java b/like-common/src/main/java/com/hxkj/common/exception/GlobalException.java index a15a5d4c..a10dd806 100644 --- a/like-common/src/main/java/com/hxkj/common/exception/GlobalException.java +++ b/like-common/src/main/java/com/hxkj/common/exception/GlobalException.java @@ -23,18 +23,15 @@ import java.util.Objects; @ControllerAdvice public class GlobalException { -// /** -// * 处理所有不可知异常 -// * -// * @param e 异常 -// * @return AjaxResult -// */ -// @ResponseStatus(HttpStatus.OK) -// @ExceptionHandler(Throwable.class) -// public AjaxResult handleException(Throwable e) { -// log.error(ThrowableUtil.getStackTrace(e)); -// return AjaxResult.failed(HttpEnum.SYSTEM_ERROR.getCode(), HttpEnum.SUCCESS.getMsg()); -// } + /** + * 处理所有不可知异常 + */ + @ResponseStatus(HttpStatus.OK) + @ExceptionHandler(Throwable.class) + public AjaxResult handleException(Throwable e) { + log.error(e.getMessage()); + return AjaxResult.failed(HttpEnum.SYSTEM_ERROR.getCode(), HttpEnum.SYSTEM_ERROR.getMsg()); + } /** * 拦截表单参数校验FROM diff --git a/like-common/src/main/java/com/hxkj/common/mapper/AlbumCateMapper.java b/like-common/src/main/java/com/hxkj/common/mapper/AlbumCateMapper.java new file mode 100644 index 00000000..2593998c --- /dev/null +++ b/like-common/src/main/java/com/hxkj/common/mapper/AlbumCateMapper.java @@ -0,0 +1,12 @@ +package com.hxkj.common.mapper; + +import com.hxkj.common.basics.BaseMapper; +import com.hxkj.common.entity.AlbumCate; +import org.apache.ibatis.annotations.Mapper; + +/** + * 相册分类 + */ +@Mapper +public interface AlbumCateMapper extends BaseMapper { +} diff --git a/like-common/src/main/java/com/hxkj/common/mapper/AlbumMapper.java b/like-common/src/main/java/com/hxkj/common/mapper/AlbumMapper.java new file mode 100644 index 00000000..4c944678 --- /dev/null +++ b/like-common/src/main/java/com/hxkj/common/mapper/AlbumMapper.java @@ -0,0 +1,12 @@ +package com.hxkj.common.mapper; + +import com.hxkj.common.basics.BaseMapper; +import com.hxkj.common.entity.Album; +import org.apache.ibatis.annotations.Mapper; + +/** + * 相册 + */ +@Mapper +public interface AlbumMapper extends BaseMapper { +} diff --git a/like-common/src/main/java/com/hxkj/common/plugin/storage/StorageDriver.java b/like-common/src/main/java/com/hxkj/common/plugin/storage/StorageDriver.java new file mode 100644 index 00000000..15d47764 --- /dev/null +++ b/like-common/src/main/java/com/hxkj/common/plugin/storage/StorageDriver.java @@ -0,0 +1,65 @@ +package com.hxkj.common.plugin.storage; + +import com.hxkj.common.plugin.storage.engine.Qiniu; +import com.hxkj.common.utils.ConfigUtil; +import com.hxkj.common.utils.TimeUtil; +import org.springframework.web.multipart.MultipartFile; + +import java.util.LinkedHashMap; +import java.util.Map; +import java.util.Objects; +import java.util.UUID; + +public class StorageDriver { + + /** + * 当前存储引擎 + */ + private final String engine; + + /** + * 存储引擎配置 + */ + private final Map config; + + /** + * 构造方法 + */ + public StorageDriver() { + this.engine = ConfigUtil.get("storage", "default", "local"); + this.config = ConfigUtil.getMap("storage", this.engine); + } + + /** + * 根据引擎类型上传文件 + * + * @author fzr + * @param multipartFile 文件对象 + */ + public void upload(MultipartFile multipartFile) { + String key = this.buildSaveName(multipartFile); + switch (this.engine) { + case "local": + break; + case "qiniu": + Qiniu qiniu = new Qiniu(this.config); + qiniu.upload(multipartFile, key); + break; + } + } + + /** + * 生成文件名称 + * + * @author fzr + * @param multipartFile 文件对象 + * @return String + */ + private String buildSaveName(MultipartFile multipartFile) { + String name = multipartFile.getOriginalFilename(); + String ext = Objects.requireNonNull(name).substring(name.lastIndexOf(".")); + String date = TimeUtil.timestampToDate(TimeUtil.timestamp(), "Ymd"); + return date + "/" + UUID.randomUUID() + ext.toLowerCase(); + } + +} diff --git a/like-common/src/main/java/com/hxkj/common/plugin/storage/engine/Aliyun.java b/like-common/src/main/java/com/hxkj/common/plugin/storage/engine/Aliyun.java new file mode 100644 index 00000000..692af1c7 --- /dev/null +++ b/like-common/src/main/java/com/hxkj/common/plugin/storage/engine/Aliyun.java @@ -0,0 +1,37 @@ +package com.hxkj.common.plugin.storage.engine; + +import com.aliyun.oss.ClientException; +import com.aliyun.oss.OSS; +import com.aliyun.oss.OSSClientBuilder; +import com.aliyun.oss.OSSException; +import com.aliyun.oss.model.PutObjectRequest; + +import java.io.ByteArrayInputStream; + +public class Aliyun { + + public void upload() { + String endpoint = "https://oss-cn-hangzhou.aliyuncs.com"; + String accessKeyId = "LTAI4G9XZP9MKQ2AmeZJGRTE"; + String accessKeySecret = "qbA9DoJ41jnmpoKhiZqmU1dfHFcpvN"; + + String bucketName = "yixiangonline"; + String objectName = "exampleobject.txt"; + OSS ossClient = new OSSClientBuilder().build(endpoint, accessKeyId, accessKeySecret); + + try { + String content = "Hello OSS"; + PutObjectRequest putObjectRequest = new PutObjectRequest(bucketName, objectName, new ByteArrayInputStream(content.getBytes())); + ossClient.putObject(putObjectRequest); + } catch (OSSException oe) { + System.out.println("Error Message:" + oe.getErrorMessage()); + } catch (ClientException ce) { + System.out.println("Error Message:" + ce.getMessage()); + } finally { + if (ossClient != null) { + ossClient.shutdown(); + } + } + } + +} diff --git a/like-common/src/main/java/com/hxkj/common/plugin/storage/engine/Local.java b/like-common/src/main/java/com/hxkj/common/plugin/storage/engine/Local.java new file mode 100644 index 00000000..99546f86 --- /dev/null +++ b/like-common/src/main/java/com/hxkj/common/plugin/storage/engine/Local.java @@ -0,0 +1,50 @@ +package com.hxkj.common.plugin.storage.engine; + +import com.hxkj.common.exception.OperateException; +import org.springframework.web.multipart.MultipartFile; +import org.springframework.web.multipart.MultipartRequest; + +import javax.annotation.Resource; +import javax.servlet.http.HttpServletRequest; +import java.io.File; +import java.io.IOException; +import java.util.Objects; +import java.util.UUID; + +public class Local { + + @Resource + HttpServletRequest request; + + public void upload() { + MultipartFile multipartFile = ((MultipartRequest) request).getFile("file"); + if (multipartFile == null) { + throw new OperateException("请选择要上传的图片"); + } + + // 文件信息 + String origFileName = multipartFile.getOriginalFilename(); + String origFileExt = Objects.requireNonNull(origFileName).substring(origFileName.lastIndexOf(".")); + long origFileSize = multipartFile.getSize(); + String newsFileName = UUID.randomUUID() + origFileExt; + String newsSavePath = ""; + + // 创建目录 + File fileExist = new File(newsSavePath); + if (!fileExist.exists()) { + if (!fileExist.mkdirs()) { + throw new OperateException("创建上传目录失败"); + } + } + + // 保存文件 + try { + File dest = new File(newsSavePath, newsFileName); + multipartFile.transferTo(dest); + } catch (IOException e) { + throw new OperateException("上传文件失败:"+e.getMessage()); + } + + } + +} diff --git a/like-common/src/main/java/com/hxkj/common/plugin/storage/engine/Qcloud.java b/like-common/src/main/java/com/hxkj/common/plugin/storage/engine/Qcloud.java new file mode 100644 index 00000000..83cd7b86 --- /dev/null +++ b/like-common/src/main/java/com/hxkj/common/plugin/storage/engine/Qcloud.java @@ -0,0 +1,4 @@ +package com.hxkj.common.plugin.storage.engine; + +public class Qcloud { +} diff --git a/like-common/src/main/java/com/hxkj/common/plugin/storage/engine/Qiniu.java b/like-common/src/main/java/com/hxkj/common/plugin/storage/engine/Qiniu.java new file mode 100644 index 00000000..65348b2a --- /dev/null +++ b/like-common/src/main/java/com/hxkj/common/plugin/storage/engine/Qiniu.java @@ -0,0 +1,67 @@ +package com.hxkj.common.plugin.storage.engine; + +import com.google.gson.Gson; +import com.hxkj.common.exception.OperateException; +import com.hxkj.common.utils.TimeUtil; +import com.qiniu.common.QiniuException; +import com.qiniu.http.Response; +import com.qiniu.storage.Configuration; +import com.qiniu.storage.Region; +import com.qiniu.storage.UploadManager; +import com.qiniu.storage.model.DefaultPutRet; +import com.qiniu.util.Auth; +import org.springframework.web.multipart.MultipartFile; + +import java.io.IOException; +import java.util.Map; +import java.util.Objects; +import java.util.UUID; + +public class Qiniu { + + /** + * 存储配置 + */ + private final Map config; + + /** + * 构造方法 + */ + public Qiniu(Map config) { + this.config = config; + } + + /** + * 鉴权令牌 + * + * @author fzr + * @return String + */ + public String upToken() { + String accessKey = this.config.get("access_key"); + String secretKey = this.config.get("secret_key"); + String bucket = this.config.get("bucket"); + Auth auth = Auth.create(accessKey, secretKey); + return auth.uploadToken(bucket); + } + + /** + * 上传文件 + * + * @author fzr + * @param multipartFile 文件对象 + * @param key 保存文件的名称 + */ + public void upload(MultipartFile multipartFile, String key) { + Configuration cfg = new Configuration(Region.region2()); + UploadManager uploadManager = new UploadManager(cfg); + + try { + Response response = uploadManager.put(multipartFile.getBytes(), key, this.upToken()); + new Gson().fromJson(response.bodyString(), DefaultPutRet.class); + } catch (IOException ex) { + throw new OperateException(ex.getMessage()); + } + } + +} diff --git a/like-common/src/main/java/com/hxkj/common/utils/ConfigUtil.java b/like-common/src/main/java/com/hxkj/common/utils/ConfigUtil.java index efabdd14..d4ae2caa 100644 --- a/like-common/src/main/java/com/hxkj/common/utils/ConfigUtil.java +++ b/like-common/src/main/java/com/hxkj/common/utils/ConfigUtil.java @@ -88,7 +88,7 @@ public class ConfigUtil { * @param name 名称 * @return String */ - public static Map getMap(String type, String name) { + public static Map getMap(String type, String name) { SystemConfigMapper model = SpringUtil.getBean(SystemConfigMapper.class); SystemConfig config = model.selectOne( @@ -97,7 +97,7 @@ public class ConfigUtil { .eq("type", type) .eq("name", name)); - return ToolsUtil.jsonToMap(config.getValue()); + return ToolsUtil.jsonToStrMap(config.getValue()); } /** diff --git a/like-common/src/main/java/com/hxkj/common/utils/ToolsUtil.java b/like-common/src/main/java/com/hxkj/common/utils/ToolsUtil.java index accc7aff..272b97b5 100644 --- a/like-common/src/main/java/com/hxkj/common/utils/ToolsUtil.java +++ b/like-common/src/main/java/com/hxkj/common/utils/ToolsUtil.java @@ -103,6 +103,35 @@ public class ToolsUtil { return stringBuffer.toString(); } + /** + * 转换存储单位: KB MB GB TB + * + * @author fzr + * @return String + */ + public static String toStorageUnit(Long size) { + if (size == null) { + return "0B"; + } + if (size < 1024) { + return size + "B"; + } else { + size = size / 1024; + } + if (size < 1024) { + return size + "KB"; + } else { + size = size / 1024; + } + if (size < 1024) { + size = size * 100; + return (size / 100) + "." + (size % 100) + "MB"; + } else { + size = size * 100 / 1024; + return (size / 100) + "." + (size % 100) + "GB"; + } + } + /** * JSON转map * @@ -115,6 +144,18 @@ public class ToolsUtil { return JSON.parseObject(json, type); } + /** + * JSON转map + * + * @author fzr + * @param json 对象 + * @return Map + */ + public static Map jsonToStrMap(String json){ + Type type = new TypeToken>() {}.getType(); + return JSON.parseObject(json, type); + } + /** * 列表转字符串 * diff --git a/like-common/src/main/java/com/hxkj/common/utils/UrlUtil.java b/like-common/src/main/java/com/hxkj/common/utils/UrlUtil.java index d1eb7ba9..37358308 100644 --- a/like-common/src/main/java/com/hxkj/common/utils/UrlUtil.java +++ b/like-common/src/main/java/com/hxkj/common/utils/UrlUtil.java @@ -28,6 +28,7 @@ public class UrlUtil { /** * 转相对路径 * + * @author fzr * @param url 绝对路径 * @return String */ diff --git a/pom.xml b/pom.xml index 315503c3..05bbff01 100644 --- a/pom.xml +++ b/pom.xml @@ -26,12 +26,12 @@ 3.4.3.1 1.2.2 1.4.0 - 1.8.0 1.18.22 1.2.78 - 3.18.2 2.10.0 2.9.0 + 7.9.5 + 3.10.2 @@ -69,19 +69,13 @@ pagehelper-spring-boot-starter ${pagehelper.version} - - - org.apache.shiro - shiro-spring - ${shiro-spring.version} - org.projectlombok lombok ${lombok.version} - + com.alibaba fastjson @@ -93,12 +87,24 @@ commons-pool2 ${apache-commons.version} - + com.google.code.gson gson ${gson.version} + + + com.qiniu + qiniu-java-sdk + ${qiniu-oss.version} + + + + com.aliyun.oss + aliyun-sdk-oss + ${aliyun-oss.version} +