diff --git a/jeecg-boot/jeecg-boot-module-system/src/main/java/org/jeecg/modules/api/controller/SystemAPIController.java b/jeecg-boot/jeecg-boot-module-system/src/main/java/org/jeecg/modules/api/controller/SystemAPIController.java deleted file mode 100644 index b3790be..0000000 --- a/jeecg-boot/jeecg-boot-module-system/src/main/java/org/jeecg/modules/api/controller/SystemAPIController.java +++ /dev/null @@ -1,644 +0,0 @@ -package org.jeecg.modules.api.controller; - -import com.alibaba.fastjson.JSONObject; -import lombok.extern.slf4j.Slf4j; -import org.jeecg.common.api.dto.OnlineAuthDTO; -import org.jeecg.common.api.dto.message.*; -import org.jeecg.common.system.vo.*; -import org.jeecg.modules.system.service.ISysUserService; -import org.jeecg.modules.system.service.impl.SysBaseApiImpl; -import org.springframework.beans.factory.annotation.Autowired; -import org.springframework.web.bind.annotation.*; - -import java.util.List; -import java.util.Map; -import java.util.Set; - - -/** - * 服务化 system模块 对外接口请求类 - * @author: jeecg-boot - */ -@Slf4j -@RestController -@RequestMapping("/sys/api") -public class SystemAPIController { - - @Autowired - private SysBaseApiImpl sysBaseApi; - @Autowired - private ISysUserService sysUserService; - - - /** - * 发送系统消息 - * @param message 使用构造器赋值参数 如果不设置category(消息类型)则默认为2 发送系统消息 - */ - @PostMapping("/sendSysAnnouncement") - public void sendSysAnnouncement(@RequestBody MessageDTO message){ - sysBaseApi.sendSysAnnouncement(message); - } - - /** - * 发送消息 附带业务参数 - * @param message 使用构造器赋值参数 - */ - @PostMapping("/sendBusAnnouncement") - public void sendBusAnnouncement(@RequestBody BusMessageDTO message){ - sysBaseApi.sendBusAnnouncement(message); - } - - /** - * 通过模板发送消息 - * @param message 使用构造器赋值参数 - */ - @PostMapping("/sendTemplateAnnouncement") - public void sendTemplateAnnouncement(@RequestBody TemplateMessageDTO message){ - sysBaseApi.sendTemplateAnnouncement(message); - } - - /** - * 通过模板发送消息 附带业务参数 - * @param message 使用构造器赋值参数 - */ - @PostMapping("/sendBusTemplateAnnouncement") - public void sendBusTemplateAnnouncement(@RequestBody BusTemplateMessageDTO message){ - sysBaseApi.sendBusTemplateAnnouncement(message); - } - - /** - * 通过消息中心模板,生成推送内容 - * @param templateDTO 使用构造器赋值参数 - * @return - */ - @PostMapping("/parseTemplateByCode") - public String parseTemplateByCode(@RequestBody TemplateDTO templateDTO){ - return sysBaseApi.parseTemplateByCode(templateDTO); - } - - /** - * 根据业务类型busType及业务busId修改消息已读 - */ - @GetMapping("/updateSysAnnounReadFlag") - public void updateSysAnnounReadFlag(@RequestParam("busType") String busType, @RequestParam("busId")String busId){ - sysBaseApi.updateSysAnnounReadFlag(busType, busId); - } - - /** - * 根据用户账号查询用户信息 - * @param username - * @return - */ - @GetMapping("/getUserByName") - public LoginUser getUserByName(@RequestParam("username") String username){ - return sysBaseApi.getUserByName(username); - } - - /** - * 根据用户id查询用户信息 - * @param id - * @return - */ - @GetMapping("/getUserById") - LoginUser getUserById(@RequestParam("id") String id){ - return sysBaseApi.getUserById(id); - } - - /** - * 通过用户账号查询角色集合 - * @param username - * @return - */ - @GetMapping("/getRolesByUsername") - List<String> getRolesByUsername(@RequestParam("username") String username){ - return sysBaseApi.getRolesByUsername(username); - } - - /** - * 通过用户账号查询部门集合 - * @param username - * @return 部门 id - */ - @GetMapping("/getDepartIdsByUsername") - List<String> getDepartIdsByUsername(@RequestParam("username") String username){ - return sysBaseApi.getDepartIdsByUsername(username); - } - - /** - * 通过用户账号查询部门 name - * @param username - * @return 部门 name - */ - @GetMapping("/getDepartNamesByUsername") - List<String> getDepartNamesByUsername(@RequestParam("username") String username){ - return sysBaseApi.getDepartNamesByUsername(username); - } - - - /** - * 获取数据字典 - * @param code - * @return - */ - @GetMapping("/queryDictItemsByCode") - List<DictModel> queryDictItemsByCode(@RequestParam("code") String code){ - return sysBaseApi.queryDictItemsByCode(code); - } - - /** - * 获取有效的数据字典 - * @param code - * @return - */ - @GetMapping("/queryEnableDictItemsByCode") - List<DictModel> queryEnableDictItemsByCode(@RequestParam("code") String code){ - return sysBaseApi.queryEnableDictItemsByCode(code); - } - - - /** 查询所有的父级字典,按照create_time排序 */ - @GetMapping("/queryAllDict") - List<DictModel> queryAllDict(){ -// try{ -// //睡10秒,gateway网关5秒超时,会触发熔断降级操作 -// Thread.sleep(10000); -// }catch (Exception e){ -// e.printStackTrace(); -// } - - log.info("--我是jeecg-system服务节点,微服务接口queryAllDict被调用--"); - return sysBaseApi.queryAllDict(); - } - - /** - * 查询所有分类字典 - * @return - */ - @GetMapping("/queryAllSysCategory") - List<SysCategoryModel> queryAllSysCategory(){ - return sysBaseApi.queryAllSysCategory(); - } - - - /** - * 查询所有部门 作为字典信息 id -->value,departName -->text - * @return - */ - @GetMapping("/queryAllDepartBackDictModel") - List<DictModel> queryAllDepartBackDictModel(){ - return sysBaseApi.queryAllDepartBackDictModel(); - } - - /** - * 获取所有角色 带参 - * roleIds 默认选中角色 - * @return - */ - @GetMapping("/queryAllRole") - public List<ComboModel> queryAllRole(@RequestParam(name = "roleIds",required = false)String[] roleIds){ - if(roleIds==null || roleIds.length==0){ - return sysBaseApi.queryAllRole(); - }else{ - return sysBaseApi.queryAllRole(roleIds); - } - } - - /** - * 通过用户账号查询角色Id集合 - * @param username - * @return - */ - @GetMapping("/getRoleIdsByUsername") - public List<String> getRoleIdsByUsername(@RequestParam("username")String username){ - return sysBaseApi.getRoleIdsByUsername(username); - } - - /** - * 通过部门编号查询部门id - * @param orgCode - * @return - */ - @GetMapping("/getDepartIdsByOrgCode") - public String getDepartIdsByOrgCode(@RequestParam("orgCode")String orgCode){ - return sysBaseApi.getDepartIdsByOrgCode(orgCode); - } - - /** - * 查询所有部门 - * @return - */ - @GetMapping("/getAllSysDepart") - public List<SysDepartModel> getAllSysDepart(){ - return sysBaseApi.getAllSysDepart(); - } - - /** - * 根据 id 查询数据库中存储的 DynamicDataSourceModel - * - * @param dbSourceId - * @return - */ - @GetMapping("/getDynamicDbSourceById") - DynamicDataSourceModel getDynamicDbSourceById(@RequestParam("dbSourceId")String dbSourceId){ - return sysBaseApi.getDynamicDbSourceById(dbSourceId); - } - - - - /** - * 根据部门Id获取部门负责人 - * @param deptId - * @return - */ - @GetMapping("/getDeptHeadByDepId") - public List<String> getDeptHeadByDepId(@RequestParam("deptId") String deptId){ - return sysBaseApi.getDeptHeadByDepId(deptId); - } - - /** - * 查找父级部门 - * @param departId - * @return - */ - @GetMapping("/getParentDepartId") - public DictModel getParentDepartId(@RequestParam("departId")String departId){ - return sysBaseApi.getParentDepartId(departId); - } - - /** - * 根据 code 查询数据库中存储的 DynamicDataSourceModel - * - * @param dbSourceCode - * @return - */ - @GetMapping("/getDynamicDbSourceByCode") - public DynamicDataSourceModel getDynamicDbSourceByCode(@RequestParam("dbSourceCode") String dbSourceCode){ - return sysBaseApi.getDynamicDbSourceByCode(dbSourceCode); - } - - /** - * 给指定用户发消息 - * @param userIds - * @param cmd - */ - @GetMapping("/sendWebSocketMsg") - public void sendWebSocketMsg(String[] userIds, String cmd){ - sysBaseApi.sendWebSocketMsg(userIds, cmd); - } - - - /** - * 根据id获取所有参与用户 - * userIds - * @return - */ - @GetMapping("/queryAllUserByIds") - public List<LoginUser> queryAllUserByIds(@RequestParam("userIds") String[] userIds){ - return sysBaseApi.queryAllUserByIds(userIds); - } - - /** - * 查询所有用户 返回ComboModel - * @return - */ - @GetMapping("/queryAllUserBackCombo") - public List<ComboModel> queryAllUserBackCombo(){ - return sysBaseApi.queryAllUserBackCombo(); - } - - /** - * 分页查询用户 返回JSONObject - * @return - */ - @GetMapping("/queryAllUser") - public JSONObject queryAllUser(@RequestParam(name="userIds",required=false)String userIds, @RequestParam(name="pageNo",required=false) Integer pageNo,@RequestParam(name="pageSize",required=false) int pageSize){ - return sysBaseApi.queryAllUser(userIds, pageNo, pageSize); - } - - - - /** - * 将会议签到信息推动到预览 - * userIds - * @return - * @param userId - */ - @GetMapping("/meetingSignWebsocket") - public void meetingSignWebsocket(@RequestParam("userId")String userId){ - sysBaseApi.meetingSignWebsocket(userId); - } - - /** - * 根据name获取所有参与用户 - * userNames - * @return - */ - @GetMapping("/queryUserByNames") - public List<LoginUser> queryUserByNames(@RequestParam("userNames")String[] userNames){ - return sysBaseApi.queryUserByNames(userNames); - } - - /** - * 获取用户的角色集合 - * @param username - * @return - */ - @GetMapping("/getUserRoleSet") - public Set<String> getUserRoleSet(@RequestParam("username")String username){ - return sysBaseApi.getUserRoleSet(username); - } - - /** - * 获取用户的权限集合 - * @param username - * @return - */ - @GetMapping("/getUserPermissionSet") - public Set<String> getUserPermissionSet(@RequestParam("username") String username){ - return sysBaseApi.getUserPermissionSet(username); - } - - //----- - - /** - * 判断是否有online访问的权限 - * @param onlineAuthDTO - * @return - */ - @PostMapping("/hasOnlineAuth") - public boolean hasOnlineAuth(@RequestBody OnlineAuthDTO onlineAuthDTO){ - return sysBaseApi.hasOnlineAuth(onlineAuthDTO); - } - - /** - * 查询用户角色信息 - * @param username - * @return - */ - @GetMapping("/queryUserRoles") - public Set<String> queryUserRoles(@RequestParam("username") String username){ - return sysUserService.getUserRolesSet(username); - } - - - /** - * 查询用户权限信息 - * @param username - * @return - */ - @GetMapping("/queryUserAuths") - public Set<String> queryUserAuths(@RequestParam("username") String username){ - return sysUserService.getUserPermissionsSet(username); - } - - /** - * 通过部门id获取部门全部信息 - */ - @GetMapping("/selectAllById") - public SysDepartModel selectAllById(@RequestParam("id") String id){ - return sysBaseApi.selectAllById(id); - } - - /** - * 根据用户id查询用户所属公司下所有用户ids - * @param userId - * @return - */ - @GetMapping("/queryDeptUsersByUserId") - public List<String> queryDeptUsersByUserId(@RequestParam("userId") String userId){ - return sysBaseApi.queryDeptUsersByUserId(userId); - } - - - /** - * 查询数据权限 - * @return - */ - @GetMapping("/queryPermissionDataRule") - public List<SysPermissionDataRuleModel> queryPermissionDataRule(@RequestParam("component") String component, @RequestParam("requestPath")String requestPath, @RequestParam("username") String username){ - return sysBaseApi.queryPermissionDataRule(component, requestPath, username); - } - - /** - * 查询用户信息 - * @param username - * @return - */ - @GetMapping("/getCacheUser") - public SysUserCacheInfo getCacheUser(@RequestParam("username") String username){ - return sysBaseApi.getCacheUser(username); - } - - /** - * 普通字典的翻译 - * @param code - * @param key - * @return - */ - @GetMapping("/translateDict") - public String translateDict(@RequestParam("code") String code, @RequestParam("key") String key){ - return sysBaseApi.translateDict(code, key); - } - - - /** - * 36根据多个用户账号(逗号分隔),查询返回多个用户信息 - * @param usernames - * @return - */ - @RequestMapping("/queryUsersByUsernames") - List<JSONObject> queryUsersByUsernames(@RequestParam("usernames") String usernames){ - return this.sysBaseApi.queryUsersByUsernames(usernames); - } - - /** - * 37根据多个用户id(逗号分隔),查询返回多个用户信息 - * @param ids - * @return - */ - @RequestMapping("/queryUsersByIds") - List<JSONObject> queryUsersByIds(@RequestParam("ids") String ids){ - return this.sysBaseApi.queryUsersByIds(ids); - } - - /** - * 38根据多个部门编码(逗号分隔),查询返回多个部门信息 - * @param orgCodes - * @return - */ - @GetMapping("/queryDepartsByOrgcodes") - List<JSONObject> queryDepartsByOrgcodes(@RequestParam("orgCodes") String orgCodes){ - return this.sysBaseApi.queryDepartsByOrgcodes(orgCodes); - } - - /** - * 39根据多个部门ID(逗号分隔),查询返回多个部门信息 - * @param ids - * @return - */ - @GetMapping("/queryDepartsByIds") - List<JSONObject> queryDepartsByIds(@RequestParam("ids") String ids){ - return this.sysBaseApi.queryDepartsByIds(ids); - } - - /** - * 40发送邮件消息 - * @param email - * @param title - * @param content - */ - @GetMapping("/sendEmailMsg") - public void sendEmailMsg(@RequestParam("email")String email,@RequestParam("title")String title,@RequestParam("content")String content){ - this.sysBaseApi.sendEmailMsg(email,title,content); - }; - /** - * 41 获取公司下级部门和公司下所有用户信息 - * @param orgCode - */ - @GetMapping("/getDeptUserByOrgCode") - List<Map> getDeptUserByOrgCode(@RequestParam("orgCode")String orgCode){ - return this.sysBaseApi.getDeptUserByOrgCode(orgCode); - } - - /** - * 查询分类字典翻译 - * - * @param ids 分类字典表id - * @return - */ - @GetMapping("/loadCategoryDictItem") - public List<String> loadCategoryDictItem(@RequestParam("ids") String ids) { - return sysBaseApi.loadCategoryDictItem(ids); - } - - /** - * 根据字典code加载字典text - * - * @param dictCode 顺序:tableName,text,code - * @param keys 要查询的key - * @return - */ - @GetMapping("/loadDictItem") - public List<String> loadDictItem(@RequestParam("dictCode") String dictCode, @RequestParam("keys") String keys) { - return sysBaseApi.loadDictItem(dictCode, keys); - } - - /** - * 根据字典code查询字典项 - * - * @param dictCode 顺序:tableName,text,code - * @param dictCode 要查询的key - * @return - */ - @GetMapping("/getDictItems") - public List<DictModel> getDictItems(@RequestParam("dictCode") String dictCode) { - return sysBaseApi.getDictItems(dictCode); - } - - /** - * 根据多个字典code查询多个字典项 - * - * @param dictCodeList - * @return key = dictCode ; value=对应的字典项 - */ - @RequestMapping("/getManyDictItems") - public Map<String, List<DictModel>> getManyDictItems(@RequestParam("dictCodeList") List<String> dictCodeList) { - return sysBaseApi.getManyDictItems(dictCodeList); - } - - /** - * 【下拉搜索】 - * 大数据量的字典表 走异步加载,即前端输入内容过滤数据 - * - * @param dictCode 字典code格式:table,text,code - * @param keyword 过滤关键字 - * @return - */ - @GetMapping("/loadDictItemByKeyword") - public List<DictModel> loadDictItemByKeyword(@RequestParam("dictCode") String dictCode, @RequestParam("keyword") String keyword, @RequestParam(value = "pageSize", required = false) Integer pageSize) { - return sysBaseApi.loadDictItemByKeyword(dictCode, keyword, pageSize); - } - - /** - * 48 普通字典的翻译,根据多个dictCode和多条数据,多个以逗号分割 - * @param dictCodes - * @param keys - * @return - */ - @GetMapping("/translateManyDict") - public Map<String, List<DictModel>> translateManyDict(@RequestParam("dictCodes") String dictCodes, @RequestParam("keys") String keys){ - return this.sysBaseApi.translateManyDict(dictCodes, keys); - } - - - /** - * 获取表数据字典 【接口签名验证】 - * @param table - * @param text - * @param code - * @return - */ - @GetMapping("/queryTableDictItemsByCode") - List<DictModel> queryTableDictItemsByCode(@RequestParam("table") String table, @RequestParam("text") String text, @RequestParam("code") String code){ - return sysBaseApi.queryTableDictItemsByCode(table, text, code); - } - - /** - * 查询表字典 支持过滤数据 【接口签名验证】 - * @param table - * @param text - * @param code - * @param filterSql - * @return - */ - @GetMapping("/queryFilterTableDictInfo") - List<DictModel> queryFilterTableDictInfo(@RequestParam("table") String table, @RequestParam("text") String text, @RequestParam("code") String code, @RequestParam("filterSql") String filterSql){ - return sysBaseApi.queryFilterTableDictInfo(table, text, code, filterSql); - } - - /** - * 【接口签名验证】 - * 查询指定table的 text code 获取字典,包含text和value - * @param table - * @param text - * @param code - * @param keyArray - * @return - */ - @Deprecated - @GetMapping("/queryTableDictByKeys") - public List<String> queryTableDictByKeys(@RequestParam("table") String table, @RequestParam("text") String text, @RequestParam("code") String code, @RequestParam("keyArray") String[] keyArray){ - return sysBaseApi.queryTableDictByKeys(table, text, code, keyArray); - } - - - /** - * 字典表的 翻译【接口签名验证】 - * @param table - * @param text - * @param code - * @param key - * @return - */ - @GetMapping("/translateDictFromTable") - public String translateDictFromTable(@RequestParam("table") String table, @RequestParam("text") String text, @RequestParam("code") String code, @RequestParam("key") String key){ - return sysBaseApi.translateDictFromTable(table, text, code, key); - } - - - /** - * 【接口签名验证】 - * 49 字典表的 翻译,可批量 - * - * @param table - * @param text - * @param code - * @param keys 多个用逗号分割 - * @return - */ - @GetMapping("/translateDictFromTableByKeys") - public List<DictModel> translateDictFromTableByKeys(@RequestParam("table") String table, @RequestParam("text") String text, @RequestParam("code") String code, @RequestParam("keys") String keys) { - return this.sysBaseApi.translateDictFromTableByKeys(table, text, code, keys); - } - -} diff --git a/jeecg-boot/jeecg-boot-module-system/src/main/java/org/jeecg/modules/cas/util/CASServiceUtil.java b/jeecg-boot/jeecg-boot-module-system/src/main/java/org/jeecg/modules/cas/util/CASServiceUtil.java deleted file mode 100644 index 1b609f6..0000000 --- a/jeecg-boot/jeecg-boot-module-system/src/main/java/org/jeecg/modules/cas/util/CASServiceUtil.java +++ /dev/null @@ -1,107 +0,0 @@ -package org.jeecg.modules.cas.util; - -import java.io.BufferedReader; -import java.io.IOException; -import java.io.InputStreamReader; -import java.security.cert.X509Certificate; - -import javax.net.ssl.SSLContext; -import javax.net.ssl.TrustManager; -import javax.net.ssl.X509TrustManager; - -import org.apache.http.HttpResponse; -import org.apache.http.client.methods.HttpGet; -import org.apache.http.conn.socket.LayeredConnectionSocketFactory; -import org.apache.http.conn.ssl.SSLConnectionSocketFactory; -import org.apache.http.impl.client.CloseableHttpClient; -import org.apache.http.impl.client.HttpClients; - -/** - * @Description: CASServiceUtil - * @author: jeecg-boot - */ -public class CASServiceUtil { - - public static void main(String[] args) { - String serviceUrl = "https://cas.8f8.com.cn:8443/cas/p3/serviceValidate"; - String service = "http://localhost:3003/user/login"; - String ticket = "ST-5-1g-9cNES6KXNRwq-GuRET103sm0-DESKTOP-VKLS8B3"; - String res = getSTValidate(serviceUrl,ticket, service); - - System.out.println("---------res-----"+res); - } - - - /** - * 验证ST - */ - public static String getSTValidate(String url,String st, String service){ - try { - url = url+"?service="+service+"&ticket="+st; - CloseableHttpClient httpclient = createHttpClientWithNoSsl(); - HttpGet httpget = new HttpGet(url); - HttpResponse response = httpclient.execute(httpget); - String res = readResponse(response); - return res == null ? null : (res == "" ? null : res); - } catch (Exception e) { - e.printStackTrace(); - } - return ""; - } - - - /** - * 读取 response body 内容为字符串 - * - * @param response - * @return - * @throws IOException - */ - private static String readResponse(HttpResponse response) throws IOException { - BufferedReader in = new BufferedReader(new InputStreamReader(response.getEntity().getContent())); - String result = new String(); - String line; - while ((line = in.readLine()) != null) { - result += line; - } - return result; - } - - - /** - * 创建模拟客户端(针对 https 客户端禁用 SSL 验证) - * - * @param cookieStore 缓存的 Cookies 信息 - * @return - * @throws Exception - */ - private static CloseableHttpClient createHttpClientWithNoSsl() throws Exception { - // Create a trust manager that does not validate certificate chains - TrustManager[] trustAllCerts = new TrustManager[]{ - new X509TrustManager() { - @Override - public X509Certificate[] getAcceptedIssuers() { - return null; - } - - @Override - public void checkClientTrusted(X509Certificate[] certs, String authType) { - // don't check - } - - @Override - public void checkServerTrusted(X509Certificate[] certs, String authType) { - // don't check - } - } - }; - - SSLContext ctx = SSLContext.getInstance("TLS"); - ctx.init(null, trustAllCerts, null); - LayeredConnectionSocketFactory sslSocketFactory = new SSLConnectionSocketFactory(ctx); - return HttpClients.custom() - .setSSLSocketFactory(sslSocketFactory) - .build(); - } - -} diff --git a/jeecg-boot/jeecg-boot-module-system/src/main/java/org/jeecg/modules/oss/controller/OSSFileController.java b/jeecg-boot/jeecg-boot-module-system/src/main/java/org/jeecg/modules/oss/controller/OSSFileController.java deleted file mode 100644 index 12995a4..0000000 --- a/jeecg-boot/jeecg-boot-module-system/src/main/java/org/jeecg/modules/oss/controller/OSSFileController.java +++ /dev/null @@ -1,98 +0,0 @@ -package org.jeecg.modules.oss.controller; - -import javax.servlet.http.HttpServletRequest; - -import org.apache.shiro.authz.annotation.RequiresRoles; -import org.jeecg.common.api.vo.Result; -import org.jeecg.common.system.query.QueryGenerator; -import org.jeecg.modules.oss.entity.OSSFile; -import org.jeecg.modules.oss.service.IOSSFileService; -import org.springframework.beans.factory.annotation.Autowired; -import org.springframework.stereotype.Controller; -import org.springframework.web.bind.annotation.*; -import org.springframework.web.multipart.MultipartFile; - -import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; -import com.baomidou.mybatisplus.core.metadata.IPage; -import com.baomidou.mybatisplus.extension.plugins.pagination.Page; - -import lombok.extern.slf4j.Slf4j; - -/** - * 云存储示例 DEMO - * @author: jeecg-boot - */ -@Slf4j -@Controller -@RequestMapping("/sys/oss/file") -public class OSSFileController { - - @Autowired - private IOSSFileService ossFileService; - - @ResponseBody - @GetMapping("/list") - public Result<IPage<OSSFile>> queryPageList(OSSFile file, - @RequestParam(name = "pageNo", defaultValue = "1") Integer pageNo, - @RequestParam(name = "pageSize", defaultValue = "10") Integer pageSize, HttpServletRequest req) { - Result<IPage<OSSFile>> result = new Result<>(); - QueryWrapper<OSSFile> queryWrapper = QueryGenerator.initQueryWrapper(file, req.getParameterMap()); - Page<OSSFile> page = new Page<>(pageNo, pageSize); - IPage<OSSFile> pageList = ossFileService.page(page, queryWrapper); - result.setSuccess(true); - result.setResult(pageList); - return result; - } - - @ResponseBody - @PostMapping("/upload") - //@RequiresRoles("admin") - public Result upload(@RequestParam("file") MultipartFile multipartFile) { - Result result = new Result(); - try { - ossFileService.upload(multipartFile); - result.success("上传成功!"); - } - catch (Exception ex) { - log.info(ex.getMessage(), ex); - result.error500("上传失败"); - } - return result; - } - - @ResponseBody - @DeleteMapping("/delete") - public Result delete(@RequestParam(name = "id") String id) { - Result result = new Result(); - OSSFile file = ossFileService.getById(id); - if (file == null) { - result.error500("未找到对应实体"); - } - else { - boolean ok = ossFileService.delete(file); - if (ok) { - result.success("删除成功!"); - } - } - return result; - } - - /** - * 通过id查询. - */ - @ResponseBody - @GetMapping("/queryById") - public Result<OSSFile> queryById(@RequestParam(name = "id") String id) { - Result<OSSFile> result = new Result<>(); - OSSFile file = ossFileService.getById(id); - if (file == null) { - result.error500("未找到对应实体"); - } - else { - result.setResult(file); - result.setSuccess(true); - } - return result; - } - -} diff --git a/jeecg-boot/jeecg-boot-module-system/src/main/java/org/jeecg/modules/oss/entity/OSSFile.java b/jeecg-boot/jeecg-boot-module-system/src/main/java/org/jeecg/modules/oss/entity/OSSFile.java deleted file mode 100644 index 92a187d..0000000 --- a/jeecg-boot/jeecg-boot-module-system/src/main/java/org/jeecg/modules/oss/entity/OSSFile.java +++ /dev/null @@ -1,28 +0,0 @@ -package org.jeecg.modules.oss.entity; - -import com.baomidou.mybatisplus.annotation.TableName; -import lombok.Data; -import lombok.EqualsAndHashCode; -import lombok.experimental.Accessors; -import org.jeecg.common.system.base.entity.JeecgEntity; -import org.jeecgframework.poi.excel.annotation.Excel; - -/** - * @Description: oss云存储实体类 - * @author: jeecg-boot - */ -@Data -@TableName("oss_file") -@EqualsAndHashCode(callSuper = false) -@Accessors(chain = true) -public class OSSFile extends JeecgEntity { - - private static final long serialVersionUID = 1L; - - @Excel(name = "文件名称") - private String fileName; - - @Excel(name = "文件地址") - private String url; - -} diff --git a/jeecg-boot/jeecg-boot-module-system/src/main/java/org/jeecg/modules/oss/mapper/OSSFileMapper.java b/jeecg-boot/jeecg-boot-module-system/src/main/java/org/jeecg/modules/oss/mapper/OSSFileMapper.java deleted file mode 100644 index 2290c45..0000000 --- a/jeecg-boot/jeecg-boot-module-system/src/main/java/org/jeecg/modules/oss/mapper/OSSFileMapper.java +++ /dev/null @@ -1,12 +0,0 @@ -package org.jeecg.modules.oss.mapper; - -import com.baomidou.mybatisplus.core.mapper.BaseMapper; -import org.jeecg.modules.oss.entity.OSSFile; - -/** - * @Description: oss云存储Mapper - * @author: jeecg-boot - */ -public interface OSSFileMapper extends BaseMapper<OSSFile> { - -} diff --git a/jeecg-boot/jeecg-boot-module-system/src/main/java/org/jeecg/modules/oss/service/IOSSFileService.java b/jeecg-boot/jeecg-boot-module-system/src/main/java/org/jeecg/modules/oss/service/IOSSFileService.java deleted file mode 100644 index d3abd57..0000000 --- a/jeecg-boot/jeecg-boot-module-system/src/main/java/org/jeecg/modules/oss/service/IOSSFileService.java +++ /dev/null @@ -1,29 +0,0 @@ -package org.jeecg.modules.oss.service; - -import java.io.IOException; - -import com.baomidou.mybatisplus.extension.service.IService; -import org.jeecg.modules.oss.entity.OSSFile; -import org.springframework.web.multipart.MultipartFile; - -/** - * @Description: OOS云存储service接口 - * @author: jeecg-boot - */ -public interface IOSSFileService extends IService<OSSFile> { - - /** - * oss文件上传 - * @param multipartFile - * @throws IOException - */ - void upload(MultipartFile multipartFile) throws IOException; - - /** - * oss文件删除 - * @param ossFile OSSFile对象 - * @return - */ - boolean delete(OSSFile ossFile); - -} diff --git a/jeecg-boot/jeecg-boot-module-system/src/main/java/org/jeecg/modules/oss/service/impl/OSSFileServiceImpl.java b/jeecg-boot/jeecg-boot-module-system/src/main/java/org/jeecg/modules/oss/service/impl/OSSFileServiceImpl.java deleted file mode 100644 index a5e7099..0000000 --- a/jeecg-boot/jeecg-boot-module-system/src/main/java/org/jeecg/modules/oss/service/impl/OSSFileServiceImpl.java +++ /dev/null @@ -1,47 +0,0 @@ -package org.jeecg.modules.oss.service.impl; - -import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; -import org.jeecg.common.util.CommonUtils; -import org.jeecg.common.util.oss.OssBootUtil; -import org.jeecg.modules.oss.entity.OSSFile; -import org.jeecg.modules.oss.mapper.OSSFileMapper; -import org.jeecg.modules.oss.service.IOSSFileService; -import org.springframework.stereotype.Service; -import org.springframework.web.multipart.MultipartFile; - -import java.io.IOException; - -/** - * @Description: OSS云存储实现类 - * @author: jeecg-boot - */ -@Service("ossFileService") -public class OSSFileServiceImpl extends ServiceImpl<OSSFileMapper, OSSFile> implements IOSSFileService { - - @Override - public void upload(MultipartFile multipartFile) throws IOException { - String fileName = multipartFile.getOriginalFilename(); - fileName = CommonUtils.getFileName(fileName); - OSSFile ossFile = new OSSFile(); - ossFile.setFileName(fileName); - String url = OssBootUtil.upload(multipartFile,"upload/test"); - //update-begin--Author:scott Date:20201227 for:JT-361【文件预览】阿里云原生域名可以文件预览,自己映射域名kkfileview提示文件下载失败------------------- - // 返回阿里云原生域名前缀URL - ossFile.setUrl(OssBootUtil.getOriginalUrl(url)); - //update-end--Author:scott Date:20201227 for:JT-361【文件预览】阿里云原生域名可以文件预览,自己映射域名kkfileview提示文件下载失败------------------- - this.save(ossFile); - } - - @Override - public boolean delete(OSSFile ossFile) { - try { - this.removeById(ossFile.getId()); - OssBootUtil.deleteUrl(ossFile.getUrl()); - } - catch (Exception ex) { - return false; - } - return true; - } - -} diff --git a/jeecg-boot/jeecg-boot-module-system/src/main/java/org/jeecg/modules/system/util/XSSUtils.java b/jeecg-boot/jeecg-boot-module-system/src/main/java/org/jeecg/modules/system/util/XSSUtils.java deleted file mode 100644 index e38b1c1..0000000 --- a/jeecg-boot/jeecg-boot-module-system/src/main/java/org/jeecg/modules/system/util/XSSUtils.java +++ /dev/null @@ -1,44 +0,0 @@ -package org.jeecg.modules.system.util; - -import org.springframework.web.util.HtmlUtils; - -import java.util.regex.Pattern; - -/** - * @Description: 工具类XSSUtils,现在的做法是替换成空字符,CSDN的是进行转义,比如文字开头的"<"转成< - * @author: lsq - * @date: 2021年07月26日 19:13 - */ -public class XSSUtils { - public static String striptXSS(String value) { - if (value != null) { - value = value.replaceAll(" ", ""); - Pattern scriptPattern = Pattern.compile("<script>(.*?)</script>", Pattern.CASE_INSENSITIVE); - value = scriptPattern.matcher(value).replaceAll(""); - scriptPattern = Pattern.compile("src[\r\n]*=[\r\n]*\\\'(.*?)\\\'", Pattern.CASE_INSENSITIVE | Pattern.MULTILINE | Pattern.DOTALL); - value = scriptPattern.matcher(value).replaceAll(""); - scriptPattern = Pattern.compile("src[\r\n]*=[\r\n]*\\\"(.*?)\\\"", Pattern.CASE_INSENSITIVE | Pattern.MULTILINE | Pattern.DOTALL); - value = scriptPattern.matcher(value).replaceAll(""); - scriptPattern = Pattern.compile("</script>", Pattern.CASE_INSENSITIVE); - value = scriptPattern.matcher(value).replaceAll(""); - scriptPattern = Pattern.compile("<script(.*?)>", Pattern.CASE_INSENSITIVE | Pattern.MULTILINE | Pattern.DOTALL); - value = scriptPattern.matcher(value).replaceAll(""); - scriptPattern = Pattern.compile("eval\\((.*?)\\)", Pattern.CASE_INSENSITIVE | Pattern.MULTILINE | Pattern.DOTALL); - value = scriptPattern.matcher(value).replaceAll(""); - scriptPattern = Pattern.compile("expression\\((.*?)\\)", Pattern.CASE_INSENSITIVE | Pattern.MULTILINE | Pattern.DOTALL); - value = scriptPattern.matcher(value).replaceAll(""); - scriptPattern = Pattern.compile("javascript:", Pattern.CASE_INSENSITIVE); - value = scriptPattern.matcher(value).replaceAll(""); - scriptPattern = Pattern.compile("vbscript:", Pattern.CASE_INSENSITIVE); - value = scriptPattern.matcher(value).replaceAll(""); - scriptPattern = Pattern.compile("onload(.*?)=", Pattern.CASE_INSENSITIVE | Pattern.MULTILINE | Pattern.DOTALL); - value = scriptPattern.matcher(value).replaceAll(""); - } - return HtmlUtils.htmlEscape(value); - } - - public static void main(String[] args) { - String s = striptXSS("<img src=x onload=alert(111).*?><script></script>javascript:eval()\\\\."); - System.err.println("s======>" + s); - } -}