package org.jeecg.modules.api.controller; import com.alibaba.fastjson.JSONObject; import org.jeecg.common.api.dto.OnlineAuthDTO; import org.jeecg.common.api.dto.message.*; import org.jeecg.common.system.api.ISysBaseAPI; import org.jeecg.common.system.vo.*; import org.jeecg.modules.system.service.ISysUserService; 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模块 对外接口请求类 */ @RestController @RequestMapping("/sys/api") public class SystemAPIController { @Autowired private ISysBaseAPI 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 getRolesByUsername(@RequestParam("username") String username){ return sysBaseAPI.getRolesByUsername(username); } /** * 通过用户账号查询部门集合 * @param username * @return 部门 id */ @GetMapping("/getDepartIdsByUsername") List getDepartIdsByUsername(@RequestParam("username") String username){ return sysBaseAPI.getDepartIdsByUsername(username); } /** * 通过用户账号查询部门 name * @param username * @return 部门 name */ @GetMapping("/getDepartNamesByUsername") List getDepartNamesByUsername(@RequestParam("username") String username){ return sysBaseAPI.getDepartNamesByUsername(username); } /** * 获取数据字典 * @param code * @return */ @GetMapping("/queryDictItemsByCode") List queryDictItemsByCode(@RequestParam("code") String code){ return sysBaseAPI.queryDictItemsByCode(code); } /** * 获取有效的数据字典 * @param code * @return */ @GetMapping("/queryEnableDictItemsByCode") List queryEnableDictItemsByCode(@RequestParam("code") String code){ return sysBaseAPI.queryEnableDictItemsByCode(code); } /** 查询所有的父级字典,按照create_time排序 */ @GetMapping("/queryAllDict") List queryAllDict(){ return sysBaseAPI.queryAllDict(); } /** * 查询所有分类字典 * @return */ @GetMapping("/queryAllDSysCategory") List queryAllDSysCategory(){ return sysBaseAPI.queryAllDSysCategory(); } /** * 查询所有部门 作为字典信息 id -->value,departName -->text * @return */ @GetMapping("/queryAllDepartBackDictModel") List queryAllDepartBackDictModel(){ return sysBaseAPI.queryAllDepartBackDictModel(); } /** * 获取所有角色 带参 * roleIds 默认选中角色 * @return */ @GetMapping("/queryAllRole") public List 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 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 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 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 queryAllUserByIds(@RequestParam("userIds") String[] userIds){ return sysBaseAPI.queryAllUserByIds(userIds); } /** * 查询所有用户 返回ComboModel * @return */ @GetMapping("/queryAllUserBackCombo") public List 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 queryUserByNames(@RequestParam("userNames")String[] userNames){ return sysBaseAPI.queryUserByNames(userNames); } /** * 获取用户的角色集合 * @param username * @return */ @GetMapping("/getUserRoleSet") public Set getUserRoleSet(@RequestParam("username")String username){ return sysBaseAPI.getUserRoleSet(username); } /** * 获取用户的权限集合 * @param username * @return */ @GetMapping("/getUserPermissionSet") public Set 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 queryUserRoles(@RequestParam("username") String username){ return sysUserService.getUserRolesSet(username); } /** * 查询用户权限信息 * @param username * @return */ @GetMapping("/queryUserAuths") public Set 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 queryDeptUsersByUserId(@RequestParam("userId") String userId){ return sysBaseAPI.queryDeptUsersByUserId(userId); } /** * 查询数据权限 * @return */ @GetMapping("/queryPermissionDataRule") public List 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 queryUsersByUsernames(@RequestParam("usernames") String usernames){ return this.sysBaseAPI.queryUsersByUsernames(usernames); } /** * 37根据多个用户id(逗号分隔),查询返回多个用户信息 * @param ids * @return */ @RequestMapping("/queryUsersByIds") List queryUsersByIds(@RequestParam("ids") String ids){ return this.sysBaseAPI.queryUsersByIds(ids); } /** * 38根据多个部门编码(逗号分隔),查询返回多个部门信息 * @param orgCodes * @return */ @GetMapping("/queryDepartsByOrgcodes") List queryDepartsByOrgcodes(@RequestParam("orgCodes") String orgCodes){ return this.sysBaseAPI.queryDepartsByOrgcodes(orgCodes); } /** * 39根据多个部门ID(逗号分隔),查询返回多个部门信息 * @param ids * @return */ @GetMapping("/queryDepartsByIds") List 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 getDeptUserByOrgCode(@RequestParam("orgCode")String orgCode){ return this.sysBaseAPI.getDeptUserByOrgCode(orgCode); } /** * 查询分类字典翻译 * * @param ids 分类字典表id * @return */ @GetMapping("/loadCategoryDictItem") public List loadCategoryDictItem(@RequestParam("ids") String ids) { return sysBaseAPI.loadCategoryDictItem(ids); } /** * 根据字典code加载字典text * * @param dictCode 顺序:tableName,text,code * @param keys 要查询的key * @return */ @GetMapping("/loadDictItem") public List 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 getDictItems(@RequestParam("dictCode") String dictCode) { return sysBaseAPI.getDictItems(dictCode); } /** * 根据多个字典code查询多个字典项 * * @param dictCodeList * @return key = dictCode ; value=对应的字典项 */ @RequestMapping("/getManyDictItems") public Map> getManyDictItems(@RequestParam("dictCodeList") List dictCodeList) { return sysBaseAPI.getManyDictItems(dictCodeList); } /** * 【下拉搜索】 * 大数据量的字典表 走异步加载,即前端输入内容过滤数据 * * @param dictCode 字典code格式:table,text,code * @param keyword 过滤关键字 * @return */ @GetMapping("/loadDictItemByKeyword") public List 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> 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 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 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 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 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); } }