From a693d3897dc9739dee07e4f15dd5eeb086f4d9ab Mon Sep 17 00:00:00 2001 From: zenglf <18502938215@163.com> Date: 星期五, 18 八月 2023 08:13:15 +0800 Subject: [PATCH] 设备管理代码提交 --- lxzn-module-system/lxzn-system-biz/src/main/java/org/jeecg/modules/system/service/impl/SysBaseApiImpl.java | 2355 +++++++++++++++++++++++++++++++--------------------------- 1 files changed, 1,257 insertions(+), 1,098 deletions(-) diff --git a/lxzn-module-system/lxzn-system-biz/src/main/java/org/jeecg/modules/system/service/impl/SysBaseApiImpl.java b/lxzn-module-system/lxzn-system-biz/src/main/java/org/jeecg/modules/system/service/impl/SysBaseApiImpl.java index ad9ab89..79de6f4 100644 --- a/lxzn-module-system/lxzn-system-biz/src/main/java/org/jeecg/modules/system/service/impl/SysBaseApiImpl.java +++ b/lxzn-module-system/lxzn-system-biz/src/main/java/org/jeecg/modules/system/service/impl/SysBaseApiImpl.java @@ -7,6 +7,7 @@ import com.baomidou.mybatisplus.core.conditions.update.LambdaUpdateWrapper; import com.baomidou.mybatisplus.core.conditions.update.UpdateWrapper; import com.baomidou.mybatisplus.core.metadata.IPage; +import com.baomidou.mybatisplus.core.toolkit.ObjectUtils; import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.google.common.base.Joiner; import lombok.extern.slf4j.Slf4j; @@ -21,10 +22,16 @@ import org.jeecg.common.desensitization.util.SensitiveInfoUtil; import org.jeecg.common.exception.JeecgBootException; import org.jeecg.common.system.api.ISysBaseAPI; +import org.jeecg.common.system.base.entity.DataVersion; +import org.jeecg.common.system.base.entity.SysUpload; +import org.jeecg.common.system.base.entity.SysUploadRela; import org.jeecg.common.system.query.QueryGenerator; import org.jeecg.common.system.vo.*; import org.jeecg.common.util.*; import org.jeecg.common.util.dynamic.db.FreemarkerParseFactory; +import org.jeecg.modules.base.entity.Unit; +import org.jeecg.modules.base.service.IEnterpriseService; +import org.jeecg.modules.base.service.IUnitService; import org.jeecg.modules.message.entity.SysMessageTemplate; import org.jeecg.modules.message.handle.impl.DdSendMsgHandle; import org.jeecg.modules.message.handle.impl.EmailSendMsgHandle; @@ -32,6 +39,8 @@ import org.jeecg.modules.message.handle.impl.SystemSendMsgHandle; import org.jeecg.modules.message.service.ISysMessageTemplateService; import org.jeecg.modules.message.websocket.WebSocket; +import org.jeecg.modules.quartz.entity.QuartzJob; +import org.jeecg.modules.quartz.service.IQuartzJobService; import org.jeecg.modules.system.entity.*; import org.jeecg.modules.system.mapper.*; import org.jeecg.modules.system.service.*; @@ -42,6 +51,7 @@ import org.springframework.stereotype.Service; import org.springframework.util.AntPathMatcher; import org.springframework.util.PathMatcher; +import org.springframework.web.multipart.MultipartFile; import javax.annotation.Resource; import javax.sql.DataSource; @@ -53,167 +63,187 @@ /** * @Description: 搴曞眰鍏遍�氫笟鍔PI锛屾彁渚涘叾浠栫嫭绔嬫ā鍧楄皟鐢� * @Author: scott - * @Date:2019-4-20 + * @Date:2019-4-20 * @Version:V1.0 */ @Slf4j @Service public class SysBaseApiImpl implements ISysBaseAPI { - /** 褰撳墠绯荤粺鏁版嵁搴撶被鍨� */ - private static String DB_TYPE = ""; + /** + * 褰撳墠绯荤粺鏁版嵁搴撶被鍨� + */ + private static String DB_TYPE = ""; - @Autowired - private ISysMessageTemplateService sysMessageTemplateService; - @Resource - private SysUserMapper userMapper; - @Resource - private SysUserRoleMapper sysUserRoleMapper; - @Autowired - private ISysDepartService sysDepartService; - @Autowired - private ISysDictService sysDictService; - @Resource - private SysAnnouncementMapper sysAnnouncementMapper; - @Resource - private SysAnnouncementSendMapper sysAnnouncementSendMapper; - @Resource + @Autowired + private ISysMessageTemplateService sysMessageTemplateService; + @Resource + private SysUserMapper userMapper; + @Resource + private SysUserRoleMapper sysUserRoleMapper; + @Autowired + private ISysDepartService sysDepartService; + @Autowired + private ISysDictService sysDictService; + @Resource + private SysAnnouncementMapper sysAnnouncementMapper; + @Resource + private SysAnnouncementSendMapper sysAnnouncementSendMapper; + @Resource private WebSocket webSocket; - @Resource - private SysRoleMapper roleMapper; - @Resource - private SysDepartMapper departMapper; - @Resource - private SysCategoryMapper categoryMapper; - @Autowired - private ISysDataSourceService dataSourceService; - @Autowired - private ISysUserDepartService sysUserDepartService; - @Resource - private SysPermissionMapper sysPermissionMapper; - @Autowired - private ISysPermissionDataRuleService sysPermissionDataRuleService; - @Autowired - private ThirdAppWechatEnterpriseServiceImpl wechatEnterpriseService; - @Autowired - private ThirdAppDingtalkServiceImpl dingtalkService; - @Autowired - ISysCategoryService sysCategoryService; - @Autowired - private ISysUserService sysUserService; - @Autowired - private ISysDataLogService sysDataLogService; - @Autowired - private ISysFilesService sysFilesService; + @Resource + private SysRoleMapper roleMapper; + @Resource + private SysDepartMapper departMapper; + @Resource + private SysCategoryMapper categoryMapper; + @Autowired + private ISysDataSourceService dataSourceService; + @Autowired + private ISysUserDepartService sysUserDepartService; + @Resource + private SysPermissionMapper sysPermissionMapper; + @Autowired + private ISysPermissionDataRuleService sysPermissionDataRuleService; + @Autowired + private ThirdAppWechatEnterpriseServiceImpl wechatEnterpriseService; + @Autowired + private ThirdAppDingtalkServiceImpl dingtalkService; + @Autowired + ISysCategoryService sysCategoryService; + @Autowired + private ISysUserService sysUserService; + @Autowired + private ISysDataLogService sysDataLogService; + @Autowired + private ISysFilesService sysFilesService; - @Override - //@SensitiveDecode - public LoginUser getUserByName(String username) { - //update-begin-author:taoyan date:2022-6-6 for: VUEN-1276 銆恦3娴佺▼鍥俱�戞祴璇昩ug 1銆侀�氳繃鎴戝彂璧风殑娴佺▼鎴栬�呮祦绋嬪疄渚嬶紝鏌ョ湅鍘嗗彶锛屾祦绋嬪浘棰勮闂 - if (oConvertUtils.isEmpty(username)) { - return null; - } - //update-end-author:taoyan date:2022-6-6 for: VUEN-1276 銆恦3娴佺▼鍥俱�戞祴璇昩ug 1銆侀�氳繃鎴戝彂璧风殑娴佺▼鎴栬�呮祦绋嬪疄渚嬶紝鏌ョ湅鍘嗗彶锛屾祦绋嬪浘棰勮闂 - LoginUser user = sysUserService.getEncodeUserInfo(username); + @Autowired + private IUploadRelaService uploadRelaService; - //鐩稿悓绫讳腑鏂规硶闂磋皟鐢ㄦ椂鑴辨晱瑙e瘑 Aop浼氬け鏁堬紝鑾峰彇鐢ㄦ埛淇℃伅澶噸瑕侊紝姝ゅ閲囩敤鍘熺敓瑙e瘑鏂规硶锛屼笉閲囩敤@SensitiveDecodeAble娉ㄨВ鏂瑰紡 - try { - SensitiveInfoUtil.handlerObject(user, false); - } catch (IllegalAccessException e) { - e.printStackTrace(); - } + @Autowired + private IUploadService uploadService; - return user; - } + @Autowired + private IDataVersionService dataVersionService; - @Override - public String translateDictFromTable(String table, String text, String code, String key) { - return sysDictService.queryTableDictTextByKey(table, text, code, key); - } + @Autowired + private IUnitService unitService; + @Autowired + private IEnterpriseService enterpriseService; - @Override - public String translateDict(String code, String key) { - return sysDictService.queryDictTextByKey(code, key); - } - @Override - public List<SysPermissionDataRuleModel> queryPermissionDataRule(String component, String requestPath, String username) { - List<SysPermission> currentSyspermission = null; - if(oConvertUtils.isNotEmpty(component)) { - //1.閫氳繃娉ㄨВ灞炴�ageComponent 鑾峰彇鑿滃崟 - LambdaQueryWrapper<SysPermission> query = new LambdaQueryWrapper<SysPermission>(); - query.eq(SysPermission::getDelFlag,0); - query.eq(SysPermission::getComponent, component); - currentSyspermission = sysPermissionMapper.selectList(query); - }else { - //1.鐩存帴閫氳繃鍓嶇璇锋眰鍦板潃鏌ヨ鑿滃崟 - LambdaQueryWrapper<SysPermission> query = new LambdaQueryWrapper<SysPermission>(); - query.eq(SysPermission::getMenuType,2); - query.eq(SysPermission::getDelFlag,0); - query.eq(SysPermission::getUrl, requestPath); - currentSyspermission = sysPermissionMapper.selectList(query); - //2.鏈壘鍒� 鍐嶉�氳繃鑷畾涔夊尮閰峌RL 鑾峰彇鑿滃崟 - if(currentSyspermission==null || currentSyspermission.size()==0) { - //閫氳繃鑷畾涔塙RL鍖归厤瑙勫垯 鑾峰彇鑿滃崟锛堝疄鐜伴�氳繃鑿滃崟閰嶇疆鏁版嵁鏉冮檺瑙勫垯锛屽疄闄呬笂閽堝鑾峰彇鏁版嵁鎺ュ彛杩涜鏁版嵁瑙勫垯鎺у埗锛� - String userMatchUrl = UrlMatchEnum.getMatchResultByUrl(requestPath); - LambdaQueryWrapper<SysPermission> queryQserMatch = new LambdaQueryWrapper<SysPermission>(); - // update-begin-author:taoyan date:20211027 for: online鑿滃崟濡傛灉閰嶇疆鎴愪竴绾ц彍鍗� 鏉冮檺鏌ヨ涓嶅埌 鍙栨秷menuType = 1 - //queryQserMatch.eq(SysPermission::getMenuType, 1); - // update-end-author:taoyan date:20211027 for: online鑿滃崟濡傛灉閰嶇疆鎴愪竴绾ц彍鍗� 鏉冮檺鏌ヨ涓嶅埌 鍙栨秷menuType = 1 - queryQserMatch.eq(SysPermission::getDelFlag, 0); - queryQserMatch.eq(SysPermission::getUrl, userMatchUrl); - if(oConvertUtils.isNotEmpty(userMatchUrl)){ - currentSyspermission = sysPermissionMapper.selectList(queryQserMatch); - } - } - //3.鏈壘鍒� 鍐嶉�氳繃姝e垯鍖归厤鑾峰彇鑿滃崟 - if(currentSyspermission==null || currentSyspermission.size()==0) { - //閫氳繃姝e垯鍖归厤鏉冮檺閰嶇疆 - String regUrl = getRegexpUrl(requestPath); - if(regUrl!=null) { - currentSyspermission = sysPermissionMapper.selectList(new LambdaQueryWrapper<SysPermission>().eq(SysPermission::getMenuType,2).eq(SysPermission::getUrl, regUrl).eq(SysPermission::getDelFlag,0)); - } - } - } - if(currentSyspermission!=null && currentSyspermission.size()>0){ - List<SysPermissionDataRuleModel> dataRules = new ArrayList<SysPermissionDataRuleModel>(); - for (SysPermission sysPermission : currentSyspermission) { - // update-begin--Author:scott Date:20191119 for锛氭暟鎹潈闄愯鍒欑紪鐮佷笉瑙勮寖锛岄」鐩瓨鍦ㄧ浉鍚屽寘鍚嶅拰绫诲悕 #722 - List<SysPermissionDataRule> temp = sysPermissionDataRuleService.queryPermissionDataRules(username, sysPermission.getId()); - if(temp!=null && temp.size()>0) { - //dataRules.addAll(temp); - dataRules = oConvertUtils.entityListToModelList(temp,SysPermissionDataRuleModel.class); - } - // update-end--Author:scott Date:20191119 for锛氭暟鎹潈闄愯鍒欑紪鐮佷笉瑙勮寖锛岄」鐩瓨鍦ㄧ浉鍚屽寘鍚嶅拰绫诲悕 #722 - } - return dataRules; - } - return null; - } + @Autowired + private IQuartzJobService quartzJobService; - /** - * 鍖归厤鍓嶇浼犺繃鏉ョ殑鍦板潃 鍖归厤鎴愬姛杩斿洖姝e垯鍦板潃 - * AntPathMatcher鍖归厤鍦板潃 - *()* 鍖归厤0涓垨澶氫釜瀛楃 - *()**鍖归厤0涓垨澶氫釜鐩綍 - */ - private String getRegexpUrl(String url) { - List<String> list = sysPermissionMapper.queryPermissionUrlWithStar(); - if(list!=null && list.size()>0) { - for (String p : list) { - PathMatcher matcher = new AntPathMatcher(); - if(matcher.match(p, url)) { - return p; - } - } - } - return null; - } + @Override + //@SensitiveDecode + public LoginUser getUserByName(String username) { + //update-begin-author:taoyan date:2022-6-6 for: VUEN-1276 銆恦3娴佺▼鍥俱�戞祴璇昩ug 1銆侀�氳繃鎴戝彂璧风殑娴佺▼鎴栬�呮祦绋嬪疄渚嬶紝鏌ョ湅鍘嗗彶锛屾祦绋嬪浘棰勮闂 + if (oConvertUtils.isEmpty(username)) { + return null; + } + //update-end-author:taoyan date:2022-6-6 for: VUEN-1276 銆恦3娴佺▼鍥俱�戞祴璇昩ug 1銆侀�氳繃鎴戝彂璧风殑娴佺▼鎴栬�呮祦绋嬪疄渚嬶紝鏌ョ湅鍘嗗彶锛屾祦绋嬪浘棰勮闂 + LoginUser user = sysUserService.getEncodeUserInfo(username); - @Override - public SysUserCacheInfo getCacheUser(String username) { - SysUserCacheInfo info = new SysUserCacheInfo(); - info.setOneDepart(true); - LoginUser user = this.getUserByName(username); + //鐩稿悓绫讳腑鏂规硶闂磋皟鐢ㄦ椂鑴辨晱瑙e瘑 Aop浼氬け鏁堬紝鑾峰彇鐢ㄦ埛淇℃伅澶噸瑕侊紝姝ゅ閲囩敤鍘熺敓瑙e瘑鏂规硶锛屼笉閲囩敤@SensitiveDecodeAble娉ㄨВ鏂瑰紡 + try { + SensitiveInfoUtil.handlerObject(user, false); + } catch (IllegalAccessException e) { + e.printStackTrace(); + } + + return user; + } + + @Override + public String translateDictFromTable(String table, String text, String code, String key) { + return sysDictService.queryTableDictTextByKey(table, text, code, key); + } + + @Override + public String translateDict(String code, String key) { + return sysDictService.queryDictTextByKey(code, key); + } + + @Override + public List<SysPermissionDataRuleModel> queryPermissionDataRule(String component, String requestPath, String username) { + List<SysPermission> currentSyspermission = null; + if (oConvertUtils.isNotEmpty(component)) { + //1.閫氳繃娉ㄨВ灞炴�ageComponent 鑾峰彇鑿滃崟 + LambdaQueryWrapper<SysPermission> query = new LambdaQueryWrapper<SysPermission>(); + query.eq(SysPermission::getDelFlag, 0); + query.eq(SysPermission::getComponent, component); + currentSyspermission = sysPermissionMapper.selectList(query); + } else { + //1.鐩存帴閫氳繃鍓嶇璇锋眰鍦板潃鏌ヨ鑿滃崟 + LambdaQueryWrapper<SysPermission> query = new LambdaQueryWrapper<SysPermission>(); + query.eq(SysPermission::getMenuType, 2); + query.eq(SysPermission::getDelFlag, 0); + query.eq(SysPermission::getUrl, requestPath); + currentSyspermission = sysPermissionMapper.selectList(query); + //2.鏈壘鍒� 鍐嶉�氳繃鑷畾涔夊尮閰峌RL 鑾峰彇鑿滃崟 + if (currentSyspermission == null || currentSyspermission.size() == 0) { + //閫氳繃鑷畾涔塙RL鍖归厤瑙勫垯 鑾峰彇鑿滃崟锛堝疄鐜伴�氳繃鑿滃崟閰嶇疆鏁版嵁鏉冮檺瑙勫垯锛屽疄闄呬笂閽堝鑾峰彇鏁版嵁鎺ュ彛杩涜鏁版嵁瑙勫垯鎺у埗锛� + String userMatchUrl = UrlMatchEnum.getMatchResultByUrl(requestPath); + LambdaQueryWrapper<SysPermission> queryQserMatch = new LambdaQueryWrapper<SysPermission>(); + // update-begin-author:taoyan date:20211027 for: online鑿滃崟濡傛灉閰嶇疆鎴愪竴绾ц彍鍗� 鏉冮檺鏌ヨ涓嶅埌 鍙栨秷menuType = 1 + //queryQserMatch.eq(SysPermission::getMenuType, 1); + // update-end-author:taoyan date:20211027 for: online鑿滃崟濡傛灉閰嶇疆鎴愪竴绾ц彍鍗� 鏉冮檺鏌ヨ涓嶅埌 鍙栨秷menuType = 1 + queryQserMatch.eq(SysPermission::getDelFlag, 0); + queryQserMatch.eq(SysPermission::getUrl, userMatchUrl); + if (oConvertUtils.isNotEmpty(userMatchUrl)) { + currentSyspermission = sysPermissionMapper.selectList(queryQserMatch); + } + } + //3.鏈壘鍒� 鍐嶉�氳繃姝e垯鍖归厤鑾峰彇鑿滃崟 + if (currentSyspermission == null || currentSyspermission.size() == 0) { + //閫氳繃姝e垯鍖归厤鏉冮檺閰嶇疆 + String regUrl = getRegexpUrl(requestPath); + if (regUrl != null) { + currentSyspermission = sysPermissionMapper.selectList(new LambdaQueryWrapper<SysPermission>().eq(SysPermission::getMenuType, 2).eq(SysPermission::getUrl, regUrl).eq(SysPermission::getDelFlag, 0)); + } + } + } + if (currentSyspermission != null && currentSyspermission.size() > 0) { + List<SysPermissionDataRuleModel> dataRules = new ArrayList<SysPermissionDataRuleModel>(); + for (SysPermission sysPermission : currentSyspermission) { + // update-begin--Author:scott Date:20191119 for锛氭暟鎹潈闄愯鍒欑紪鐮佷笉瑙勮寖锛岄」鐩瓨鍦ㄧ浉鍚屽寘鍚嶅拰绫诲悕 #722 + List<SysPermissionDataRule> temp = sysPermissionDataRuleService.queryPermissionDataRules(username, sysPermission.getId()); + if (temp != null && temp.size() > 0) { + //dataRules.addAll(temp); + dataRules = oConvertUtils.entityListToModelList(temp, SysPermissionDataRuleModel.class); + } + // update-end--Author:scott Date:20191119 for锛氭暟鎹潈闄愯鍒欑紪鐮佷笉瑙勮寖锛岄」鐩瓨鍦ㄧ浉鍚屽寘鍚嶅拰绫诲悕 #722 + } + return dataRules; + } + return null; + } + + /** + * 鍖归厤鍓嶇浼犺繃鏉ョ殑鍦板潃 鍖归厤鎴愬姛杩斿洖姝e垯鍦板潃 + * AntPathMatcher鍖归厤鍦板潃 + * ()* 鍖归厤0涓垨澶氫釜瀛楃 + * ()**鍖归厤0涓垨澶氫釜鐩綍 + */ + private String getRegexpUrl(String url) { + List<String> list = sysPermissionMapper.queryPermissionUrlWithStar(); + if (list != null && list.size() > 0) { + for (String p : list) { + PathMatcher matcher = new AntPathMatcher(); + if (matcher.match(p, url)) { + return p; + } + } + } + return null; + } + + @Override + public SysUserCacheInfo getCacheUser(String username) { + SysUserCacheInfo info = new SysUserCacheInfo(); + info.setOneDepart(true); + LoginUser user = this.getUserByName(username); // try { // //鐩稿悓绫讳腑鏂规硶闂磋皟鐢ㄦ椂鑴辨晱@SensitiveDecodeAble瑙e瘑 Aop澶辨晥澶勭悊 @@ -222,454 +252,445 @@ // e.printStackTrace(); // } - if(user!=null) { - info.setSysUserCode(user.getUsername()); - info.setSysUserName(user.getRealname()); - info.setSysOrgCode(user.getOrgCode()); - }else{ - return null; - } - //澶氶儴闂ㄦ敮鎸乮n鏌ヨ - List<SysDepart> list = departMapper.queryUserDeparts(user.getId()); - List<String> sysMultiOrgCode = new ArrayList<String>(); - if(list==null || list.size()==0) { - //褰撳墠鐢ㄦ埛鏃犻儴闂� - //sysMultiOrgCode.add("0"); - }else if(list.size()==1) { - sysMultiOrgCode.add(list.get(0).getOrgCode()); - }else { - info.setOneDepart(false); - for (SysDepart dpt : list) { - sysMultiOrgCode.add(dpt.getOrgCode()); - } - } - info.setSysMultiOrgCode(sysMultiOrgCode); - return info; - } + if (user != null) { + info.setSysUserCode(user.getUsername()); + info.setSysUserName(user.getRealname()); + info.setSysOrgCode(user.getOrgCode()); + } else { + return null; + } + //澶氶儴闂ㄦ敮鎸乮n鏌ヨ + List<SysDepart> list = departMapper.queryUserDeparts(user.getId()); + List<String> sysMultiOrgCode = new ArrayList<String>(); + if (list == null || list.size() == 0) { + //褰撳墠鐢ㄦ埛鏃犻儴闂� + //sysMultiOrgCode.add("0"); + } else if (list.size() == 1) { + sysMultiOrgCode.add(list.get(0).getOrgCode()); + } else { + info.setOneDepart(false); + for (SysDepart dpt : list) { + sysMultiOrgCode.add(dpt.getOrgCode()); + } + } + info.setSysMultiOrgCode(sysMultiOrgCode); + return info; + } - @Override - public LoginUser getUserById(String id) { - if(oConvertUtils.isEmpty(id)) { - return null; - } - LoginUser loginUser = new LoginUser(); - SysUser sysUser = userMapper.selectById(id); - if(sysUser==null) { - return null; - } - BeanUtils.copyProperties(sysUser, loginUser); - return loginUser; - } + @Override + public LoginUser getUserById(String id) { + if (oConvertUtils.isEmpty(id)) { + return null; + } + LoginUser loginUser = new LoginUser(); + SysUser sysUser = userMapper.selectById(id); + if (sysUser == null) { + return null; + } + BeanUtils.copyProperties(sysUser, loginUser); + return loginUser; + } - @Override - public List<String> getRolesByUsername(String username) { - return sysUserRoleMapper.getRoleByUserName(username); - } + @Override + public List<String> getRolesByUsername(String username) { + return sysUserRoleMapper.getRoleByUserName(username); + } - @Override - public List<String> getDepartIdsByUsername(String username) { - List<SysDepart> list = sysDepartService.queryDepartsByUsername(username); - List<String> result = new ArrayList<>(list.size()); - for (SysDepart depart : list) { - result.add(depart.getId()); - } - return result; - } + @Override + public List<String> getDepartIdsByUsername(String username) { + List<SysDepart> list = sysDepartService.queryDepartsByUsername(username); + List<String> result = new ArrayList<>(list.size()); + for (SysDepart depart : list) { + result.add(depart.getId()); + } + return result; + } - @Override - public List<String> getDepartNamesByUsername(String username) { - List<SysDepart> list = sysDepartService.queryDepartsByUsername(username); - List<String> result = new ArrayList<>(list.size()); - for (SysDepart depart : list) { - result.add(depart.getDepartName()); - } - return result; - } + @Override + public List<String> getDepartNamesByUsername(String username) { + List<SysDepart> list = sysDepartService.queryDepartsByUsername(username); + List<String> result = new ArrayList<>(list.size()); + for (SysDepart depart : list) { + result.add(depart.getDepartName()); + } + return result; + } - @Override - public DictModel getParentDepartId(String departId) { - SysDepart depart = departMapper.getParentDepartId(departId); - DictModel model = new DictModel(depart.getId(),depart.getParentId()); - return model; - } + @Override + public DictModel getParentDepartId(String departId) { + SysDepart depart = departMapper.getParentDepartId(departId); + DictModel model = new DictModel(depart.getId(), depart.getParentId()); + return model; + } - @Override - @Cacheable(value = CacheConstant.SYS_DICT_CACHE,key = "#code", unless = "#result == null ") - public List<DictModel> queryDictItemsByCode(String code) { - return sysDictService.queryDictItemsByCode(code); - } + @Override + @Cacheable(value = CacheConstant.SYS_DICT_CACHE, key = "#code", unless = "#result == null ") + public List<DictModel> queryDictItemsByCode(String code) { + return sysDictService.queryDictItemsByCode(code); + } - @Override - @Cacheable(value = CacheConstant.SYS_ENABLE_DICT_CACHE,key = "#code", unless = "#result == null ") - public List<DictModel> queryEnableDictItemsByCode(String code) { - return sysDictService.queryEnableDictItemsByCode(code); - } + @Override + @Cacheable(value = CacheConstant.SYS_ENABLE_DICT_CACHE, key = "#code", unless = "#result == null ") + public List<DictModel> queryEnableDictItemsByCode(String code) { + return sysDictService.queryEnableDictItemsByCode(code); + } - @Override - public List<DictModel> queryTableDictItemsByCode(String table, String text, String code) { - //update-begin-author:taoyan date:20200820 for:銆怬nline+绯荤粺銆戝瓧鍏歌〃鍔犳潈闄愭帶鍒舵満鍒堕�昏緫锛屾兂娉曚笉閿� LOWCOD-799 - if(table.indexOf(SymbolConstant.SYS_VAR_PREFIX)>=0){ - table = QueryGenerator.getSqlRuleValue(table); - } - //update-end-author:taoyan date:20200820 for:銆怬nline+绯荤粺銆戝瓧鍏歌〃鍔犳潈闄愭帶鍒舵満鍒堕�昏緫锛屾兂娉曚笉閿� LOWCOD-799 - String[] arr = new String[]{text, code}; - SqlInjectionUtil.filterContent(arr); - SqlInjectionUtil.specialFilterContentForDictSql(table); - return sysDictService.queryTableDictItemsByCode(table, text, code); - } + @Override + public List<DictModel> queryTableDictItemsByCode(String table, String text, String code) { + //update-begin-author:taoyan date:20200820 for:銆怬nline+绯荤粺銆戝瓧鍏歌〃鍔犳潈闄愭帶鍒舵満鍒堕�昏緫锛屾兂娉曚笉閿� LOWCOD-799 + if (table.indexOf(SymbolConstant.SYS_VAR_PREFIX) >= 0) { + table = QueryGenerator.getSqlRuleValue(table); + } + //update-end-author:taoyan date:20200820 for:銆怬nline+绯荤粺銆戝瓧鍏歌〃鍔犳潈闄愭帶鍒舵満鍒堕�昏緫锛屾兂娉曚笉閿� LOWCOD-799 + String[] arr = new String[]{text, code}; + SqlInjectionUtil.filterContent(arr); + SqlInjectionUtil.specialFilterContentForDictSql(table); + return sysDictService.queryTableDictItemsByCode(table, text, code); + } - @Override - public List<DictModel> queryAllDepartBackDictModel() { - return sysDictService.queryAllDepartBackDictModel(); - } + @Override + public List<DictModel> queryAllDepartBackDictModel() { + return sysDictService.queryAllDepartBackDictModel(); + } - @Override - public void sendSysAnnouncement(MessageDTO message) { - this.sendSysAnnouncement(message.getFromUser(), - message.getToUser(), - message.getTitle(), - message.getContent(), - message.getCategory()); - try { - // 鍚屾鍙戦�佺涓夋柟APP娑堟伅 - wechatEnterpriseService.sendMessage(message, true); - dingtalkService.sendMessage(message, true); - } catch (Exception e) { - log.error("鍚屾鍙戦�佺涓夋柟APP娑堟伅澶辫触锛�", e); - } - } + @Override + public void sendSysAnnouncement(MessageDTO message) { + this.sendSysAnnouncement(message.getFromUser(), message.getToUser(), message.getTitle(), message.getContent(), message.getCategory()); + try { + // 鍚屾鍙戦�佺涓夋柟APP娑堟伅 + wechatEnterpriseService.sendMessage(message, true); + dingtalkService.sendMessage(message, true); + } catch (Exception e) { + log.error("鍚屾鍙戦�佺涓夋柟APP娑堟伅澶辫触锛�", e); + } + } - @Override - public void sendBusAnnouncement(BusMessageDTO message) { - sendBusAnnouncement(message.getFromUser(), - message.getToUser(), - message.getTitle(), - message.getContent(), - message.getCategory(), - message.getBusType(), - message.getBusId()); - try { - // 鍚屾鍙戦�佺涓夋柟APP娑堟伅 - wechatEnterpriseService.sendMessage(message, true); - dingtalkService.sendMessage(message, true); - } catch (Exception e) { - log.error("鍚屾鍙戦�佺涓夋柟APP娑堟伅澶辫触锛�", e); - } - } + @Override + public void sendBusAnnouncement(BusMessageDTO message) { + sendBusAnnouncement(message.getFromUser(), message.getToUser(), message.getTitle(), message.getContent(), message.getCategory(), message.getBusType(), message.getBusId()); + try { + // 鍚屾鍙戦�佺涓夋柟APP娑堟伅 + wechatEnterpriseService.sendMessage(message, true); + dingtalkService.sendMessage(message, true); + } catch (Exception e) { + log.error("鍚屾鍙戦�佺涓夋柟APP娑堟伅澶辫触锛�", e); + } + } - @Override - public void sendTemplateAnnouncement(TemplateMessageDTO message) { - String templateCode = message.getTemplateCode(); - String title = message.getTitle(); - Map<String,String> map = message.getTemplateParam(); - String fromUser = message.getFromUser(); - String toUser = message.getToUser(); + @Override + public void sendTemplateAnnouncement(TemplateMessageDTO message) { + String templateCode = message.getTemplateCode(); + String title = message.getTitle(); + Map<String, String> map = message.getTemplateParam(); + String fromUser = message.getFromUser(); + String toUser = message.getToUser(); - List<SysMessageTemplate> sysSmsTemplates = sysMessageTemplateService.selectByCode(templateCode); - if(sysSmsTemplates==null||sysSmsTemplates.size()==0){ - throw new JeecgBootException("娑堟伅妯℃澘涓嶅瓨鍦紝妯℃澘缂栫爜锛�"+templateCode); - } - SysMessageTemplate sysSmsTemplate = sysSmsTemplates.get(0); - //妯℃澘鏍囬 - title = title==null?sysSmsTemplate.getTemplateName():title; - //妯℃澘鍐呭 - String content = sysSmsTemplate.getTemplateContent(); - if(map!=null) { - for (Map.Entry<String, String> entry : map.entrySet()) { - String str = "${" + entry.getKey() + "}"; - if(oConvertUtils.isNotEmpty(title)){ - title = title.replace(str, entry.getValue()); - } - content = content.replace(str, entry.getValue()); - } - } + List<SysMessageTemplate> sysSmsTemplates = sysMessageTemplateService.selectByCode(templateCode); + if (sysSmsTemplates == null || sysSmsTemplates.size() == 0) { + throw new JeecgBootException("娑堟伅妯℃澘涓嶅瓨鍦紝妯℃澘缂栫爜锛�" + templateCode); + } + SysMessageTemplate sysSmsTemplate = sysSmsTemplates.get(0); + //妯℃澘鏍囬 + title = title == null ? sysSmsTemplate.getTemplateName() : title; + //妯℃澘鍐呭 + String content = sysSmsTemplate.getTemplateContent(); + if (map != null) { + for (Map.Entry<String, String> entry : map.entrySet()) { + String str = "${" + entry.getKey() + "}"; + if (oConvertUtils.isNotEmpty(title)) { + title = title.replace(str, entry.getValue()); + } + content = content.replace(str, entry.getValue()); + } + } - SysAnnouncement announcement = new SysAnnouncement(); - announcement.setTitile(title); - announcement.setMsgContent(content); - announcement.setSender(fromUser); - announcement.setPriority(CommonConstant.PRIORITY_M); - announcement.setMsgType(CommonConstant.MSG_TYPE_UESR); - announcement.setSendStatus(CommonConstant.HAS_SEND); - announcement.setSendTime(new Date()); - announcement.setMsgCategory(CommonConstant.MSG_CATEGORY_2); - announcement.setDelFlag(String.valueOf(CommonConstant.DEL_FLAG_0)); - sysAnnouncementMapper.insert(announcement); - // 2.鎻掑叆鐢ㄦ埛閫氬憡闃呰鏍囪琛ㄨ褰� - String userId = toUser; - String[] userIds = userId.split(","); - String anntId = announcement.getId(); - for(int i=0;i<userIds.length;i++) { - if(oConvertUtils.isNotEmpty(userIds[i])) { - SysUser sysUser = userMapper.getUserByName(userIds[i]); - if(sysUser==null) { - continue; - } - SysAnnouncementSend announcementSend = new SysAnnouncementSend(); - announcementSend.setAnntId(anntId); - announcementSend.setUserId(sysUser.getId()); - announcementSend.setReadFlag(CommonConstant.NO_READ_FLAG); - sysAnnouncementSendMapper.insert(announcementSend); - JSONObject obj = new JSONObject(); - obj.put(WebsocketConst.MSG_CMD, WebsocketConst.CMD_USER); - obj.put(WebsocketConst.MSG_USER_ID, sysUser.getId()); - obj.put(WebsocketConst.MSG_ID, announcement.getId()); - obj.put(WebsocketConst.MSG_TXT, announcement.getTitile()); - webSocket.sendMessage(sysUser.getId(), obj.toJSONString()); - } - } - try { - // 鍚屾浼佷笟寰俊銆侀拤閽夌殑娑堟伅閫氱煡 - dingtalkService.sendActionCardMessage(announcement, true); - wechatEnterpriseService.sendTextCardMessage(announcement, true); - } catch (Exception e) { - log.error("鍚屾鍙戦�佺涓夋柟APP娑堟伅澶辫触锛�", e); - } + SysAnnouncement announcement = new SysAnnouncement(); + announcement.setTitile(title); + announcement.setMsgContent(content); + announcement.setSender(fromUser); + announcement.setPriority(CommonConstant.PRIORITY_M); + announcement.setMsgType(CommonConstant.MSG_TYPE_UESR); + announcement.setSendStatus(CommonConstant.HAS_SEND); + announcement.setSendTime(new Date()); + announcement.setMsgCategory(CommonConstant.MSG_CATEGORY_2); + announcement.setDelFlag(String.valueOf(CommonConstant.DEL_FLAG_0)); + sysAnnouncementMapper.insert(announcement); + // 2.鎻掑叆鐢ㄦ埛閫氬憡闃呰鏍囪琛ㄨ褰� + String userId = toUser; + String[] userIds = userId.split(","); + String anntId = announcement.getId(); + for (int i = 0; i < userIds.length; i++) { + if (oConvertUtils.isNotEmpty(userIds[i])) { + SysUser sysUser = userMapper.getUserByName(userIds[i]); + if (sysUser == null) { + continue; + } + SysAnnouncementSend announcementSend = new SysAnnouncementSend(); + announcementSend.setAnntId(anntId); + announcementSend.setUserId(sysUser.getId()); + announcementSend.setReadFlag(CommonConstant.NO_READ_FLAG); + sysAnnouncementSendMapper.insert(announcementSend); + JSONObject obj = new JSONObject(); + obj.put(WebsocketConst.MSG_CMD, WebsocketConst.CMD_USER); + obj.put(WebsocketConst.MSG_USER_ID, sysUser.getId()); + obj.put(WebsocketConst.MSG_ID, announcement.getId()); + obj.put(WebsocketConst.MSG_TXT, announcement.getTitile()); + webSocket.sendMessage(sysUser.getId(), obj.toJSONString()); + } + } + try { + // 鍚屾浼佷笟寰俊銆侀拤閽夌殑娑堟伅閫氱煡 + dingtalkService.sendActionCardMessage(announcement, true); + wechatEnterpriseService.sendTextCardMessage(announcement, true); + } catch (Exception e) { + log.error("鍚屾鍙戦�佺涓夋柟APP娑堟伅澶辫触锛�", e); + } - } + } - @Override - public void sendBusTemplateAnnouncement(BusTemplateMessageDTO message) { - String templateCode = message.getTemplateCode(); - String title = message.getTitle(); - Map<String,String> map = message.getTemplateParam(); - String fromUser = message.getFromUser(); - String toUser = message.getToUser(); - String busId = message.getBusId(); - String busType = message.getBusType(); + @Override + public void sendBusTemplateAnnouncement(BusTemplateMessageDTO message) { + String templateCode = message.getTemplateCode(); + String title = message.getTitle(); + Map<String, String> map = message.getTemplateParam(); + String fromUser = message.getFromUser(); + String toUser = message.getToUser(); + String busId = message.getBusId(); + String busType = message.getBusType(); - List<SysMessageTemplate> sysSmsTemplates = sysMessageTemplateService.selectByCode(templateCode); - if(sysSmsTemplates==null||sysSmsTemplates.size()==0){ - throw new JeecgBootException("娑堟伅妯℃澘涓嶅瓨鍦紝妯℃澘缂栫爜锛�"+templateCode); - } - SysMessageTemplate sysSmsTemplate = sysSmsTemplates.get(0); - //妯℃澘鏍囬 - title = title==null?sysSmsTemplate.getTemplateName():title; - //妯℃澘鍐呭 - String content = sysSmsTemplate.getTemplateContent(); - if(map!=null) { - for (Map.Entry<String, String> entry : map.entrySet()) { - String str = "${" + entry.getKey() + "}"; - title = title.replace(str, entry.getValue()); - content = content.replace(str, entry.getValue()); - } - } - SysAnnouncement announcement = new SysAnnouncement(); - announcement.setTitile(title); - announcement.setMsgContent(content); - announcement.setSender(fromUser); - announcement.setPriority(CommonConstant.PRIORITY_M); - announcement.setMsgType(CommonConstant.MSG_TYPE_UESR); - announcement.setSendStatus(CommonConstant.HAS_SEND); - announcement.setSendTime(new Date()); - announcement.setMsgCategory(CommonConstant.MSG_CATEGORY_2); - announcement.setDelFlag(String.valueOf(CommonConstant.DEL_FLAG_0)); - announcement.setBusId(busId); - announcement.setBusType(busType); - announcement.setOpenType(SysAnnmentTypeEnum.getByType(busType).getOpenType()); - announcement.setOpenPage(SysAnnmentTypeEnum.getByType(busType).getOpenPage()); - sysAnnouncementMapper.insert(announcement); - // 2.鎻掑叆鐢ㄦ埛閫氬憡闃呰鏍囪琛ㄨ褰� - String userId = toUser; - String[] userIds = userId.split(","); - String anntId = announcement.getId(); - for(int i=0;i<userIds.length;i++) { - if(oConvertUtils.isNotEmpty(userIds[i])) { - SysUser sysUser = userMapper.getUserByName(userIds[i]); - if(sysUser==null) { - continue; - } - SysAnnouncementSend announcementSend = new SysAnnouncementSend(); - announcementSend.setAnntId(anntId); - announcementSend.setUserId(sysUser.getId()); - announcementSend.setReadFlag(CommonConstant.NO_READ_FLAG); - sysAnnouncementSendMapper.insert(announcementSend); - JSONObject obj = new JSONObject(); - obj.put(WebsocketConst.MSG_CMD, WebsocketConst.CMD_USER); - obj.put(WebsocketConst.MSG_USER_ID, sysUser.getId()); - obj.put(WebsocketConst.MSG_ID, announcement.getId()); - obj.put(WebsocketConst.MSG_TXT, announcement.getTitile()); - webSocket.sendMessage(sysUser.getId(), obj.toJSONString()); - } - } - try { - // 鍚屾浼佷笟寰俊銆侀拤閽夌殑娑堟伅閫氱煡 - dingtalkService.sendActionCardMessage(announcement, true); - wechatEnterpriseService.sendTextCardMessage(announcement, true); - } catch (Exception e) { - log.error("鍚屾鍙戦�佺涓夋柟APP娑堟伅澶辫触锛�", e); - } + List<SysMessageTemplate> sysSmsTemplates = sysMessageTemplateService.selectByCode(templateCode); + if (sysSmsTemplates == null || sysSmsTemplates.size() == 0) { + throw new JeecgBootException("娑堟伅妯℃澘涓嶅瓨鍦紝妯℃澘缂栫爜锛�" + templateCode); + } + SysMessageTemplate sysSmsTemplate = sysSmsTemplates.get(0); + //妯℃澘鏍囬 + title = title == null ? sysSmsTemplate.getTemplateName() : title; + //妯℃澘鍐呭 + String content = sysSmsTemplate.getTemplateContent(); + if (map != null) { + for (Map.Entry<String, String> entry : map.entrySet()) { + String str = "${" + entry.getKey() + "}"; + title = title.replace(str, entry.getValue()); + content = content.replace(str, entry.getValue()); + } + } + SysAnnouncement announcement = new SysAnnouncement(); + announcement.setTitile(title); + announcement.setMsgContent(content); + announcement.setSender(fromUser); + announcement.setPriority(CommonConstant.PRIORITY_M); + announcement.setMsgType(CommonConstant.MSG_TYPE_UESR); + announcement.setSendStatus(CommonConstant.HAS_SEND); + announcement.setSendTime(new Date()); + announcement.setMsgCategory(CommonConstant.MSG_CATEGORY_2); + announcement.setDelFlag(String.valueOf(CommonConstant.DEL_FLAG_0)); + announcement.setBusId(busId); + announcement.setBusType(busType); + announcement.setOpenType(SysAnnmentTypeEnum.getByType(busType).getOpenType()); + announcement.setOpenPage(SysAnnmentTypeEnum.getByType(busType).getOpenPage()); + sysAnnouncementMapper.insert(announcement); + // 2.鎻掑叆鐢ㄦ埛閫氬憡闃呰鏍囪琛ㄨ褰� + String userId = toUser; + String[] userIds = userId.split(","); + String anntId = announcement.getId(); + for (int i = 0; i < userIds.length; i++) { + if (oConvertUtils.isNotEmpty(userIds[i])) { + SysUser sysUser = userMapper.getUserByName(userIds[i]); + if (sysUser == null) { + continue; + } + SysAnnouncementSend announcementSend = new SysAnnouncementSend(); + announcementSend.setAnntId(anntId); + announcementSend.setUserId(sysUser.getId()); + announcementSend.setReadFlag(CommonConstant.NO_READ_FLAG); + sysAnnouncementSendMapper.insert(announcementSend); + JSONObject obj = new JSONObject(); + obj.put(WebsocketConst.MSG_CMD, WebsocketConst.CMD_USER); + obj.put(WebsocketConst.MSG_USER_ID, sysUser.getId()); + obj.put(WebsocketConst.MSG_ID, announcement.getId()); + obj.put(WebsocketConst.MSG_TXT, announcement.getTitile()); + webSocket.sendMessage(sysUser.getId(), obj.toJSONString()); + } + } + try { + // 鍚屾浼佷笟寰俊銆侀拤閽夌殑娑堟伅閫氱煡 + dingtalkService.sendActionCardMessage(announcement, true); + wechatEnterpriseService.sendTextCardMessage(announcement, true); + } catch (Exception e) { + log.error("鍚屾鍙戦�佺涓夋柟APP娑堟伅澶辫触锛�", e); + } - } + } - @Override - public String parseTemplateByCode(TemplateDTO templateDTO) { - String templateCode = templateDTO.getTemplateCode(); - Map<String, String> map = templateDTO.getTemplateParam(); - List<SysMessageTemplate> sysSmsTemplates = sysMessageTemplateService.selectByCode(templateCode); - if(sysSmsTemplates==null||sysSmsTemplates.size()==0){ - throw new JeecgBootException("娑堟伅妯℃澘涓嶅瓨鍦紝妯℃澘缂栫爜锛�"+templateCode); - } - SysMessageTemplate sysSmsTemplate = sysSmsTemplates.get(0); - //妯℃澘鍐呭 - String content = sysSmsTemplate.getTemplateContent(); - if(map!=null) { - for (Map.Entry<String, String> entry : map.entrySet()) { - String str = "${" + entry.getKey() + "}"; - content = content.replace(str, entry.getValue()); - } - } - return content; - } + @Override + public String parseTemplateByCode(TemplateDTO templateDTO) { + String templateCode = templateDTO.getTemplateCode(); + Map<String, String> map = templateDTO.getTemplateParam(); + List<SysMessageTemplate> sysSmsTemplates = sysMessageTemplateService.selectByCode(templateCode); + if (sysSmsTemplates == null || sysSmsTemplates.size() == 0) { + throw new JeecgBootException("娑堟伅妯℃澘涓嶅瓨鍦紝妯℃澘缂栫爜锛�" + templateCode); + } + SysMessageTemplate sysSmsTemplate = sysSmsTemplates.get(0); + //妯℃澘鍐呭 + String content = sysSmsTemplate.getTemplateContent(); + if (map != null) { + for (Map.Entry<String, String> entry : map.entrySet()) { + String str = "${" + entry.getKey() + "}"; + content = content.replace(str, entry.getValue()); + } + } + return content; + } - @Override - public void updateSysAnnounReadFlag(String busType, String busId) { - SysAnnouncement announcement = sysAnnouncementMapper.selectOne(new QueryWrapper<SysAnnouncement>().eq("bus_type",busType).eq("bus_id",busId)); - if(announcement != null){ - LoginUser sysUser = (LoginUser)SecurityUtils.getSubject().getPrincipal(); - String userId = sysUser.getId(); - LambdaUpdateWrapper<SysAnnouncementSend> updateWrapper = new UpdateWrapper().lambda(); - updateWrapper.set(SysAnnouncementSend::getReadFlag, CommonConstant.HAS_READ_FLAG); - updateWrapper.set(SysAnnouncementSend::getReadTime, new Date()); - updateWrapper.last("where annt_id ='"+announcement.getId()+"' and user_id ='"+userId+"'"); - SysAnnouncementSend announcementSend = new SysAnnouncementSend(); - sysAnnouncementSendMapper.update(announcementSend, updateWrapper); - } - } + @Override + public void updateSysAnnounReadFlag(String busType, String busId) { + SysAnnouncement announcement = sysAnnouncementMapper.selectOne(new QueryWrapper<SysAnnouncement>().eq("bus_type", busType).eq("bus_id", busId)); + if (announcement != null) { + LoginUser sysUser = (LoginUser) SecurityUtils.getSubject().getPrincipal(); + String userId = sysUser.getId(); + LambdaUpdateWrapper<SysAnnouncementSend> updateWrapper = new UpdateWrapper().lambda(); + updateWrapper.set(SysAnnouncementSend::getReadFlag, CommonConstant.HAS_READ_FLAG); + updateWrapper.set(SysAnnouncementSend::getReadTime, new Date()); + updateWrapper.last("where annt_id ='" + announcement.getId() + "' and user_id ='" + userId + "'"); + SysAnnouncementSend announcementSend = new SysAnnouncementSend(); + sysAnnouncementSendMapper.update(announcementSend, updateWrapper); + } + } - /** - * 鑾峰彇鏁版嵁搴撶被鍨� - * @param dataSource - * @return - * @throws SQLException - */ - private String getDatabaseTypeByDataSource(DataSource dataSource) throws SQLException{ - if("".equals(DB_TYPE)) { - Connection connection = dataSource.getConnection(); - try { - DatabaseMetaData md = connection.getMetaData(); - String dbType = md.getDatabaseProductName().toLowerCase(); - if(dbType.indexOf(DataBaseConstant.DB_TYPE_MYSQL.toLowerCase())>=0) { - DB_TYPE = DataBaseConstant.DB_TYPE_MYSQL; - }else if(dbType.indexOf(DataBaseConstant.DB_TYPE_ORACLE.toLowerCase())>=0) { - DB_TYPE = DataBaseConstant.DB_TYPE_ORACLE; - }else if(dbType.indexOf(DataBaseConstant.DB_TYPE_SQLSERVER.toLowerCase())>=0||dbType.indexOf(DataBaseConstant.DB_TYPE_SQL_SERVER_BLANK)>=0) { - DB_TYPE = DataBaseConstant.DB_TYPE_SQLSERVER; - }else if(dbType.indexOf(DataBaseConstant.DB_TYPE_POSTGRESQL.toLowerCase())>=0) { - DB_TYPE = DataBaseConstant.DB_TYPE_POSTGRESQL; - }else if(dbType.indexOf(DataBaseConstant.DB_TYPE_MARIADB.toLowerCase())>=0) { - DB_TYPE = DataBaseConstant.DB_TYPE_MARIADB; - }else { - log.error("鏁版嵁搴撶被鍨�:[" + dbType + "]涓嶈瘑鍒�!"); - //throw new JeecgBootException("鏁版嵁搴撶被鍨�:["+dbType+"]涓嶈瘑鍒�!"); - } - } catch (Exception e) { - log.error(e.getMessage(), e); - }finally { - connection.close(); - } - } - return DB_TYPE; + /** + * 鑾峰彇鏁版嵁搴撶被鍨� + * + * @param dataSource + * @return + */ + @Resource + private String getDatabaseTypeByDataSource(DataSource dataSource) throws SQLException { + if ("".equals(DB_TYPE)) { + Connection connection = dataSource.getConnection(); + try { + DatabaseMetaData md = connection.getMetaData(); + String dbType = md.getDatabaseProductName().toLowerCase(); + if (dbType.indexOf(DataBaseConstant.DB_TYPE_MYSQL.toLowerCase()) >= 0) { + DB_TYPE = DataBaseConstant.DB_TYPE_MYSQL; + } else if (dbType.indexOf(DataBaseConstant.DB_TYPE_ORACLE.toLowerCase()) >= 0) { + DB_TYPE = DataBaseConstant.DB_TYPE_ORACLE; + } else if (dbType.indexOf(DataBaseConstant.DB_TYPE_SQLSERVER.toLowerCase()) >= 0 || dbType.indexOf(DataBaseConstant.DB_TYPE_SQL_SERVER_BLANK) >= 0) { + DB_TYPE = DataBaseConstant.DB_TYPE_SQLSERVER; + } else if (dbType.indexOf(DataBaseConstant.DB_TYPE_POSTGRESQL.toLowerCase()) >= 0) { + DB_TYPE = DataBaseConstant.DB_TYPE_POSTGRESQL; + } else if (dbType.indexOf(DataBaseConstant.DB_TYPE_MARIADB.toLowerCase()) >= 0) { + DB_TYPE = DataBaseConstant.DB_TYPE_MARIADB; + } else { + log.error("鏁版嵁搴撶被鍨�:[" + dbType + "]涓嶈瘑鍒�!"); + //throw new JeecgBootException("鏁版嵁搴撶被鍨�:["+dbType+"]涓嶈瘑鍒�!"); + } + } catch (Exception e) { + log.error(e.getMessage(), e); + } finally { + connection.close(); + } + } + return DB_TYPE; - } + } - @Override - public List<DictModel> queryAllDict() { - // 鏌ヨ骞舵帓搴� - QueryWrapper<SysDict> queryWrapper = new QueryWrapper<SysDict>(); - queryWrapper.orderByAsc("create_time"); - List<SysDict> dicts = sysDictService.list(queryWrapper); - // 灏佽鎴� model - List<DictModel> list = new ArrayList<DictModel>(); - for (SysDict dict : dicts) { - list.add(new DictModel(dict.getDictCode(), dict.getDictName())); - } + @Override + public List<DictModel> queryAllDict() { + // 鏌ヨ骞舵帓搴� + QueryWrapper<SysDict> queryWrapper = new QueryWrapper<SysDict>(); + queryWrapper.orderByAsc("create_time"); + List<SysDict> dicts = sysDictService.list(queryWrapper); + // 灏佽鎴� model + List<DictModel> list = new ArrayList<DictModel>(); + for (SysDict dict : dicts) { + list.add(new DictModel(dict.getDictCode(), dict.getDictName())); + } - return list; - } + return list; + } - @Override - public List<SysCategoryModel> queryAllSysCategory() { - List<SysCategory> ls = categoryMapper.selectList(null); - List<SysCategoryModel> res = oConvertUtils.entityListToModelList(ls,SysCategoryModel.class); - return res; - } + @Override + public List<SysCategoryModel> queryAllSysCategory() { + List<SysCategory> ls = categoryMapper.selectList(null); + List<SysCategoryModel> res = oConvertUtils.entityListToModelList(ls, SysCategoryModel.class); + return res; + } - @Override - public List<DictModel> queryFilterTableDictInfo(String table, String text, String code, String filterSql) { - return sysDictService.queryTableDictItemsByCodeAndFilter(table,text,code,filterSql); - } + @Override + public List<DictModel> queryFilterTableDictInfo(String table, String text, String code, String filterSql) { + return sysDictService.queryTableDictItemsByCodeAndFilter(table, text, code, filterSql); + } - @Override - public List<String> queryTableDictByKeys(String table, String text, String code, String[] keyArray) { - return sysDictService.queryTableDictByKeys(table,text,code,Joiner.on(",").join(keyArray)); - } + @Override + public List<String> queryTableDictByKeys(String table, String text, String code, String[] keyArray) { + return sysDictService.queryTableDictByKeys(table, text, code, Joiner.on(",").join(keyArray)); + } - @Override - public List<ComboModel> queryAllUserBackCombo() { - List<ComboModel> list = new ArrayList<ComboModel>(); - List<SysUser> userList = userMapper.selectList(new QueryWrapper<SysUser>().eq("status",1).eq("del_flag",0)); - for(SysUser user : userList){ - ComboModel model = new ComboModel(); - model.setTitle(user.getRealname()); - model.setId(user.getId()); - model.setUsername(user.getUsername()); - list.add(model); - } - return list; - } + @Override + public List<ComboModel> queryAllUserBackCombo() { + List<ComboModel> list = new ArrayList<ComboModel>(); + List<SysUser> userList = userMapper.selectList(new QueryWrapper<SysUser>().eq("status", 1).eq("del_flag", 0)); + for (SysUser user : userList) { + ComboModel model = new ComboModel(); + model.setTitle(user.getRealname()); + model.setId(user.getId()); + model.setUsername(user.getUsername()); + list.add(model); + } + return list; + } - @Override - public JSONObject queryAllUser(String userIds, Integer pageNo, Integer pageSize) { - JSONObject json = new JSONObject(); - QueryWrapper<SysUser> queryWrapper = new QueryWrapper<SysUser>().eq("status",1).eq("del_flag",0); - List<ComboModel> list = new ArrayList<ComboModel>(); - Page<SysUser> page = new Page<SysUser>(pageNo, pageSize); - IPage<SysUser> pageList = userMapper.selectPage(page, queryWrapper); - for(SysUser user : pageList.getRecords()){ - ComboModel model = new ComboModel(); - model.setUsername(user.getUsername()); - model.setTitle(user.getRealname()); - model.setId(user.getId()); - model.setEmail(user.getEmail()); - if(oConvertUtils.isNotEmpty(userIds)){ - String[] temp = userIds.split(","); - for(int i = 0; i<temp.length;i++){ - if(temp[i].equals(user.getId())){ - model.setChecked(true); - } - } - } - list.add(model); - } - json.put("list",list); - json.put("total",pageList.getTotal()); - return json; - } + @Override + public JSONObject queryAllUser(String userIds, Integer pageNo, Integer pageSize) { + JSONObject json = new JSONObject(); + QueryWrapper<SysUser> queryWrapper = new QueryWrapper<SysUser>().eq("status", 1).eq("del_flag", 0); + List<ComboModel> list = new ArrayList<ComboModel>(); + Page<SysUser> page = new Page<SysUser>(pageNo, pageSize); + IPage<SysUser> pageList = userMapper.selectPage(page, queryWrapper); + for (SysUser user : pageList.getRecords()) { + ComboModel model = new ComboModel(); + model.setUsername(user.getUsername()); + model.setTitle(user.getRealname()); + model.setId(user.getId()); + model.setEmail(user.getEmail()); + if (oConvertUtils.isNotEmpty(userIds)) { + String[] temp = userIds.split(","); + for (int i = 0; i < temp.length; i++) { + if (temp[i].equals(user.getId())) { + model.setChecked(true); + } + } + } + list.add(model); + } + json.put("list", list); + json.put("total", pageList.getTotal()); + return json; + } - @Override - public List<ComboModel> queryAllRole() { - List<ComboModel> list = new ArrayList<ComboModel>(); - List<SysRole> roleList = roleMapper.selectList(new QueryWrapper<SysRole>()); - for(SysRole role : roleList){ - ComboModel model = new ComboModel(); - model.setTitle(role.getRoleName()); - model.setId(role.getId()); - list.add(model); - } - return list; - } + // @Override + public List<ComboModel> queryAllRole() { + List<ComboModel> list = new ArrayList<ComboModel>(); + List<SysRole> roleList = roleMapper.selectList(new QueryWrapper<SysRole>()); + for (SysRole role : roleList) { + ComboModel model = new ComboModel(); + model.setTitle(role.getRoleName()); + model.setId(role.getId()); + list.add(model); + } + return list; + } @Override public List<ComboModel> queryAllRole(String[] roleIds) { List<ComboModel> list = new ArrayList<ComboModel>(); List<SysRole> roleList = roleMapper.selectList(new QueryWrapper<SysRole>()); - for(SysRole role : roleList){ + for (SysRole role : roleList) { ComboModel model = new ComboModel(); model.setTitle(role.getRoleName()); model.setId(role.getId()); model.setRoleCode(role.getRoleCode()); - if(oConvertUtils.isNotEmpty(roleIds)) { + if (oConvertUtils.isNotEmpty(roleIds)) { for (int i = 0; i < roleIds.length; i++) { if (roleIds[i].equals(role.getId())) { model.setChecked(true); @@ -681,594 +702,606 @@ return list; } - @Override - public List<String> getRoleIdsByUsername(String username) { - return sysUserRoleMapper.getRoleIdByUserName(username); - } + @Override + public List<String> getRoleIdsByUsername(String username) { + return sysUserRoleMapper.getRoleIdByUserName(username); + } - @Override - public String getDepartIdsByOrgCode(String orgCode) { - return departMapper.queryDepartIdByOrgCode(orgCode); - } + @Override + public String getDepartIdsByOrgCode(String orgCode) { + return departMapper.queryDepartIdByOrgCode(orgCode); + } - @Override - public List<SysDepartModel> getAllSysDepart() { - List<SysDepartModel> departModelList = new ArrayList<SysDepartModel>(); - List<SysDepart> departList = departMapper.selectList(new QueryWrapper<SysDepart>().eq("del_flag","0")); - for(SysDepart depart : departList){ - SysDepartModel model = new SysDepartModel(); - BeanUtils.copyProperties(depart,model); - departModelList.add(model); - } - return departModelList; - } + @Override + public List<SysDepartModel> getAllSysDepart() { + List<SysDepartModel> departModelList = new ArrayList<SysDepartModel>(); + List<SysDepart> departList = departMapper.selectList(new QueryWrapper<SysDepart>().eq("del_flag", "0")); + for (SysDepart depart : departList) { + SysDepartModel model = new SysDepartModel(); + BeanUtils.copyProperties(depart, model); + departModelList.add(model); + } + return departModelList; + } - @Override - public DynamicDataSourceModel getDynamicDbSourceById(String dbSourceId) { - SysDataSource dbSource = dataSourceService.getById(dbSourceId); - if(dbSource!=null && StringUtils.isNotBlank(dbSource.getDbPassword())){ - String dbPassword = dbSource.getDbPassword(); - String decodedStr = SecurityUtil.jiemi(dbPassword); - dbSource.setDbPassword(decodedStr); - } - return new DynamicDataSourceModel(dbSource); - } + @Override + public DynamicDataSourceModel getDynamicDbSourceById(String dbSourceId) { + SysDataSource dbSource = dataSourceService.getById(dbSourceId); + if (dbSource != null && StringUtils.isNotBlank(dbSource.getDbPassword())) { + String dbPassword = dbSource.getDbPassword(); + String decodedStr = SecurityUtil.jiemi(dbPassword); + dbSource.setDbPassword(decodedStr); + } + return new DynamicDataSourceModel(dbSource); + } - @Override - public DynamicDataSourceModel getDynamicDbSourceByCode(String dbSourceCode) { - SysDataSource dbSource = dataSourceService.getOne(new LambdaQueryWrapper<SysDataSource>().eq(SysDataSource::getCode, dbSourceCode)); - if(dbSource!=null && StringUtils.isNotBlank(dbSource.getDbPassword())){ - String dbPassword = dbSource.getDbPassword(); - String decodedStr = SecurityUtil.jiemi(dbPassword); - dbSource.setDbPassword(decodedStr); - } - return new DynamicDataSourceModel(dbSource); - } + @Override + public DynamicDataSourceModel getDynamicDbSourceByCode(String dbSourceCode) { + SysDataSource dbSource = dataSourceService.getOne(new LambdaQueryWrapper<SysDataSource>().eq(SysDataSource::getCode, dbSourceCode)); + if (dbSource != null && StringUtils.isNotBlank(dbSource.getDbPassword())) { + String dbPassword = dbSource.getDbPassword(); + String decodedStr = SecurityUtil.jiemi(dbPassword); + dbSource.setDbPassword(decodedStr); + } + return new DynamicDataSourceModel(dbSource); + } - @Override - public List<String> getDeptHeadByDepId(String deptId) { - List<SysUser> userList = userMapper.selectList(new QueryWrapper<SysUser>().like("depart_ids",deptId).eq("status",1).eq("del_flag",0)); - List<String> list = new ArrayList<>(); - for(SysUser user : userList){ - list.add(user.getUsername()); - } - return list; - } + @Override + public List<String> getDeptHeadByDepId(String deptId) { + List<SysUser> userList = userMapper.selectList(new QueryWrapper<SysUser>().like("depart_ids", deptId).eq("status", 1).eq("del_flag", 0)); + List<String> list = new ArrayList<>(); + for (SysUser user : userList) { + list.add(user.getUsername()); + } + return list; + } - @Override - public void sendWebSocketMsg(String[] userIds, String cmd) { - JSONObject obj = new JSONObject(); - obj.put(WebsocketConst.MSG_CMD, cmd); - webSocket.sendMessage(userIds, obj.toJSONString()); - } + @Override + public void sendWebSocketMsg(String[] userIds, String cmd) { + JSONObject obj = new JSONObject(); + obj.put(WebsocketConst.MSG_CMD, cmd); + webSocket.sendMessage(userIds, obj.toJSONString()); + } - @Override - public List<LoginUser> queryAllUserByIds(String[] userIds) { - QueryWrapper<SysUser> queryWrapper = new QueryWrapper<SysUser>().eq("status",1).eq("del_flag",0); - queryWrapper.in("id",userIds); - List<LoginUser> loginUsers = new ArrayList<>(); - List<SysUser> sysUsers = userMapper.selectList(queryWrapper); - for (SysUser user:sysUsers) { - LoginUser loginUser=new LoginUser(); - BeanUtils.copyProperties(user, loginUser); - loginUsers.add(loginUser); - } - return loginUsers; - } + @Override + public List<LoginUser> queryAllUserByIds(String[] userIds) { + QueryWrapper<SysUser> queryWrapper = new QueryWrapper<SysUser>().eq("status", 1).eq("del_flag", 0); + queryWrapper.in("id", userIds); + List<LoginUser> loginUsers = new ArrayList<>(); + List<SysUser> sysUsers = userMapper.selectList(queryWrapper); + for (SysUser user : sysUsers) { + LoginUser loginUser = new LoginUser(); + BeanUtils.copyProperties(user, loginUser); + loginUsers.add(loginUser); + } + return loginUsers; + } - /** - * 鎺ㄩ�佺鍒颁汉鍛樹俊鎭� - * @param userId - */ - @Override - public void meetingSignWebsocket(String userId) { - JSONObject obj = new JSONObject(); - obj.put(WebsocketConst.MSG_CMD, WebsocketConst.CMD_SIGN); - obj.put(WebsocketConst.MSG_USER_ID,userId); - //TODO 鐩墠鍏ㄩ儴鎺ㄩ�侊紝鍚庨潰淇敼 - webSocket.sendMessage(obj.toJSONString()); - } + /** + * 鎺ㄩ�佺鍒颁汉鍛樹俊鎭� + * + * @param userId + */ + @Override + public void meetingSignWebsocket(String userId) { + JSONObject obj = new JSONObject(); + obj.put(WebsocketConst.MSG_CMD, WebsocketConst.CMD_SIGN); + obj.put(WebsocketConst.MSG_USER_ID, userId); + //TODO 鐩墠鍏ㄩ儴鎺ㄩ�侊紝鍚庨潰淇敼 + webSocket.sendMessage(obj.toJSONString()); + } - @Override - public List<LoginUser> queryUserByNames(String[] userNames) { - QueryWrapper<SysUser> queryWrapper = new QueryWrapper<SysUser>().eq("status",1).eq("del_flag",0); - queryWrapper.in("username",userNames); - List<LoginUser> loginUsers = new ArrayList<>(); - List<SysUser> sysUsers = userMapper.selectList(queryWrapper); - for (SysUser user:sysUsers) { - LoginUser loginUser=new LoginUser(); - BeanUtils.copyProperties(user, loginUser); - loginUsers.add(loginUser); - } - return loginUsers; - } + @Override + public List<LoginUser> queryUserByNames(String[] userNames) { + QueryWrapper<SysUser> queryWrapper = new QueryWrapper<SysUser>().eq("status", 1).eq("del_flag", 0); + queryWrapper.in("username", userNames); + List<LoginUser> loginUsers = new ArrayList<>(); + List<SysUser> sysUsers = userMapper.selectList(queryWrapper); + for (SysUser user : sysUsers) { + LoginUser loginUser = new LoginUser(); + BeanUtils.copyProperties(user, loginUser); + loginUsers.add(loginUser); + } + return loginUsers; + } - @Override - public SysDepartModel selectAllById(String id) { - SysDepart sysDepart = sysDepartService.getById(id); - SysDepartModel sysDepartModel = new SysDepartModel(); - BeanUtils.copyProperties(sysDepart,sysDepartModel); - return sysDepartModel; - } + @Override + public SysDepartModel selectAllById(String id) { + SysDepart sysDepart = sysDepartService.getById(id); + SysDepartModel sysDepartModel = new SysDepartModel(); + BeanUtils.copyProperties(sysDepart, sysDepartModel); + return sysDepartModel; + } - @Override - public List<String> queryDeptUsersByUserId(String userId) { - List<String> userIds = new ArrayList<>(); - List<SysUserDepart> userDepartList = sysUserDepartService.list(new QueryWrapper<SysUserDepart>().eq("user_id",userId)); - if(userDepartList != null){ - //鏌ユ壘鎵�灞炲叕鍙� - String orgCodes = ""; - StringBuilder orgCodesBuilder = new StringBuilder(); + @Override + public List<String> queryDeptUsersByUserId(String userId) { + List<String> userIds = new ArrayList<>(); + List<SysUserDepart> userDepartList = sysUserDepartService.list(new QueryWrapper<SysUserDepart>().eq("user_id", userId)); + if (userDepartList != null) { + //鏌ユ壘鎵�灞炲叕鍙� + String orgCodes = ""; + StringBuilder orgCodesBuilder = new StringBuilder(); orgCodesBuilder.append(orgCodes); - for(SysUserDepart userDepart : userDepartList){ - //鏌ヨ鎵�灞炲叕鍙哥紪鐮� - SysDepart depart = sysDepartService.getById(userDepart.getDepId()); - int length = YouBianCodeUtil.ZHANWEI_LENGTH; - String compyOrgCode = ""; - if(depart != null && depart.getOrgCode() != null){ - compyOrgCode = depart.getOrgCode().substring(0,length); - if(orgCodes.indexOf(compyOrgCode) == -1){ + for (SysUserDepart userDepart : userDepartList) { + //鏌ヨ鎵�灞炲叕鍙哥紪鐮� + SysDepart depart = sysDepartService.getById(userDepart.getDepId()); + int length = YouBianCodeUtil.ZHANWEI_LENGTH; + String compyOrgCode = ""; + if (depart != null && depart.getOrgCode() != null) { + compyOrgCode = depart.getOrgCode().substring(0, length); + if (orgCodes.indexOf(compyOrgCode) == -1) { orgCodesBuilder.append(SymbolConstant.COMMA).append(compyOrgCode); - } - } - } + } + } + } orgCodes = orgCodesBuilder.toString(); - if(oConvertUtils.isNotEmpty(orgCodes)){ - orgCodes = orgCodes.substring(1); - List<String> listIds = departMapper.getSubDepIdsByOrgCodes(orgCodes.split(",")); - List<SysUserDepart> userList = sysUserDepartService.list(new QueryWrapper<SysUserDepart>().in("dep_id",listIds)); - for(SysUserDepart userDepart : userList){ - if(!userIds.contains(userDepart.getUserId())){ - userIds.add(userDepart.getUserId()); - } - } - } - } - return userIds; - } + if (oConvertUtils.isNotEmpty(orgCodes)) { + orgCodes = orgCodes.substring(1); + List<String> listIds = departMapper.getSubDepIdsByOrgCodes(orgCodes.split(",")); + List<SysUserDepart> userList = sysUserDepartService.list(new QueryWrapper<SysUserDepart>().in("dep_id", listIds)); + for (SysUserDepart userDepart : userList) { + if (!userIds.contains(userDepart.getUserId())) { + userIds.add(userDepart.getUserId()); + } + } + } + } + return userIds; + } - /** - * 鏌ヨ鐢ㄦ埛鎷ユ湁鐨勮鑹查泦鍚� - * @param username - * @return - */ - @Override - public Set<String> getUserRoleSet(String username) { - // 鏌ヨ鐢ㄦ埛鎷ユ湁鐨勮鑹查泦鍚� - List<String> roles = sysUserRoleMapper.getRoleByUserName(username); - log.info("-------閫氳繃鏁版嵁搴撹鍙栫敤鎴锋嫢鏈夌殑瑙掕壊Rules------username锛� " + username + ",Roles size: " + (roles == null ? 0 : roles.size())); - return new HashSet<>(roles); - } + /** + * 鏌ヨ鐢ㄦ埛鎷ユ湁鐨勮鑹查泦鍚� + * + * @param username + * @return + */ + @Override + public Set<String> getUserRoleSet(String username) { + // 鏌ヨ鐢ㄦ埛鎷ユ湁鐨勮鑹查泦鍚� + List<String> roles = sysUserRoleMapper.getRoleByUserName(username); + log.info("-------閫氳繃鏁版嵁搴撹鍙栫敤鎴锋嫢鏈夌殑瑙掕壊Rules------username锛� " + username + ",Roles size: " + (roles == null ? 0 : roles.size())); + return new HashSet<>(roles); + } - /** - * 鏌ヨ鐢ㄦ埛鎷ユ湁鐨勬潈闄愰泦鍚� - * @param username - * @return - */ - @Override - public Set<String> getUserPermissionSet(String username) { - Set<String> permissionSet = new HashSet<>(); - List<SysPermission> permissionList = sysPermissionMapper.queryByUser(username); - for (SysPermission po : permissionList) { + /** + * 鏌ヨ鐢ㄦ埛鎷ユ湁鐨勬潈闄愰泦鍚� + * + * @param username + * @return + */ + @Override + public Set<String> getUserPermissionSet(String username) { + Set<String> permissionSet = new HashSet<>(); + List<SysPermission> permissionList = sysPermissionMapper.queryByUser(username); + for (SysPermission po : permissionList) { // // TODO URL瑙勫垯鏈夐棶棰橈紵 // if (oConvertUtils.isNotEmpty(po.getUrl())) { // permissionSet.add(po.getUrl()); // } - if (oConvertUtils.isNotEmpty(po.getPerms())) { - permissionSet.add(po.getPerms()); - } - } - log.info("-------閫氳繃鏁版嵁搴撹鍙栫敤鎴锋嫢鏈夌殑鏉冮檺Perms------username锛� "+ username+",Perms size: "+ (permissionSet==null?0:permissionSet.size()) ); - return permissionSet; - } + if (oConvertUtils.isNotEmpty(po.getPerms())) { + permissionSet.add(po.getPerms()); + } + } + log.info("-------閫氳繃鏁版嵁搴撹鍙栫敤鎴锋嫢鏈夌殑鏉冮檺Perms------username锛� " + username + ",Perms size: " + (permissionSet == null ? 0 : permissionSet.size())); + return permissionSet; + } - /** - * 鍒ゆ柇online鑿滃崟鏄惁鏈夋潈闄� - * @param onlineAuthDTO - * @return - */ - @Override - public boolean hasOnlineAuth(OnlineAuthDTO onlineAuthDTO) { - String username = onlineAuthDTO.getUsername(); - List<String> possibleUrl = onlineAuthDTO.getPossibleUrl(); - String onlineFormUrl = onlineAuthDTO.getOnlineFormUrl(); - //鏌ヨ鑿滃崟 - LambdaQueryWrapper<SysPermission> query = new LambdaQueryWrapper<SysPermission>(); - query.eq(SysPermission::getDelFlag, 0); - query.in(SysPermission::getUrl, possibleUrl); - List<SysPermission> permissionList = sysPermissionMapper.selectList(query); - if (permissionList == null || permissionList.size() == 0) { - //娌℃湁閰嶇疆鑿滃崟 鎵緊nline琛ㄥ崟鑿滃崟鍦板潃 - SysPermission sysPermission = new SysPermission(); - sysPermission.setUrl(onlineFormUrl); - int count = sysPermissionMapper.queryCountByUsername(username, sysPermission); - if(count<=0){ - return false; - } - } else { - //鎵惧埌鑿滃崟浜� - boolean has = false; - for (SysPermission p : permissionList) { - int count = sysPermissionMapper.queryCountByUsername(username, p); - has = has || (count>0); - } - return has; - } - return true; - } + /** + * 鍒ゆ柇online鑿滃崟鏄惁鏈夋潈闄� + * + * @param onlineAuthDTO + * @return + */ + @Override + public boolean hasOnlineAuth(OnlineAuthDTO onlineAuthDTO) { + String username = onlineAuthDTO.getUsername(); + List<String> possibleUrl = onlineAuthDTO.getPossibleUrl(); + String onlineFormUrl = onlineAuthDTO.getOnlineFormUrl(); + //鏌ヨ鑿滃崟 + LambdaQueryWrapper<SysPermission> query = new LambdaQueryWrapper<SysPermission>(); + query.eq(SysPermission::getDelFlag, 0); + query.in(SysPermission::getUrl, possibleUrl); + List<SysPermission> permissionList = sysPermissionMapper.selectList(query); + if (permissionList == null || permissionList.size() == 0) { + //娌℃湁閰嶇疆鑿滃崟 鎵緊nline琛ㄥ崟鑿滃崟鍦板潃 + SysPermission sysPermission = new SysPermission(); + sysPermission.setUrl(onlineFormUrl); + int count = sysPermissionMapper.queryCountByUsername(username, sysPermission); + if (count <= 0) { + return false; + } + } else { + //鎵惧埌鑿滃崟浜� + boolean has = false; + for (SysPermission p : permissionList) { + int count = sysPermissionMapper.queryCountByUsername(username, p); + has = has || (count > 0); + } + return has; + } + return true; + } - /** - * 鏌ヨ鐢ㄦ埛鎷ユ湁鐨勮鑹查泦鍚� common api 閲岄潰鐨勬帴鍙e疄鐜� - * @param username - * @return - */ - @Override - public Set<String> queryUserRoles(String username) { - return getUserRoleSet(username); - } + /** + * 鏌ヨ鐢ㄦ埛鎷ユ湁鐨勮鑹查泦鍚� common api 閲岄潰鐨勬帴鍙e疄鐜� + * + * @param username + * @return + */ + @Override + public Set<String> queryUserRoles(String username) { + return getUserRoleSet(username); + } - /** - * 鏌ヨ鐢ㄦ埛鎷ユ湁鐨勬潈闄愰泦鍚� common api 閲岄潰鐨勬帴鍙e疄鐜� - * @param username - * @return - */ - @Override - public Set<String> queryUserAuths(String username) { - return getUserPermissionSet(username); - } + /** + * 鏌ヨ鐢ㄦ埛鎷ユ湁鐨勬潈闄愰泦鍚� common api 閲岄潰鐨勬帴鍙e疄鐜� + * + * @param username + * @return + */ + @Override + public Set<String> queryUserAuths(String username) { + return getUserPermissionSet(username); + } - /** - * 36鏍规嵁澶氫釜鐢ㄦ埛璐﹀彿(閫楀彿鍒嗛殧)锛屾煡璇㈣繑鍥炲涓敤鎴蜂俊鎭� - * @param usernames - * @return - */ - @Override - public List<JSONObject> queryUsersByUsernames(String usernames) { - LambdaQueryWrapper<SysUser> queryWrapper = new LambdaQueryWrapper<>(); - queryWrapper.in(SysUser::getUsername,usernames.split(",")); - return JSON.parseArray(JSON.toJSONString(userMapper.selectList(queryWrapper))).toJavaList(JSONObject.class); - } + /** + * 36鏍规嵁澶氫釜鐢ㄦ埛璐﹀彿(閫楀彿鍒嗛殧)锛屾煡璇㈣繑鍥炲涓敤鎴蜂俊鎭� + * + * @param usernames + * @return + */ + @Override + public List<JSONObject> queryUsersByUsernames(String usernames) { + LambdaQueryWrapper<SysUser> queryWrapper = new LambdaQueryWrapper<>(); + queryWrapper.in(SysUser::getUsername, usernames.split(",")); + return JSON.parseArray(JSON.toJSONString(userMapper.selectList(queryWrapper))).toJavaList(JSONObject.class); + } - @Override - public List<JSONObject> queryUsersByIds(String ids) { - LambdaQueryWrapper<SysUser> queryWrapper = new LambdaQueryWrapper<>(); - queryWrapper.in(SysUser::getId,ids.split(",")); - return JSON.parseArray(JSON.toJSONString(userMapper.selectList(queryWrapper))).toJavaList(JSONObject.class); - } + @Override + public List<JSONObject> queryUsersByIds(String ids) { + LambdaQueryWrapper<SysUser> queryWrapper = new LambdaQueryWrapper<>(); + queryWrapper.in(SysUser::getId, ids.split(",")); + return JSON.parseArray(JSON.toJSONString(userMapper.selectList(queryWrapper))).toJavaList(JSONObject.class); + } - /** - * 37鏍规嵁澶氫釜閮ㄩ棬缂栫爜(閫楀彿鍒嗛殧)锛屾煡璇㈣繑鍥炲涓儴闂ㄤ俊鎭� - * @param orgCodes - * @return - */ - @Override - public List<JSONObject> queryDepartsByOrgcodes(String orgCodes) { - LambdaQueryWrapper<SysDepart> queryWrapper = new LambdaQueryWrapper<>(); - queryWrapper.in(SysDepart::getOrgCode,orgCodes.split(",")); - return JSON.parseArray(JSON.toJSONString(sysDepartService.list(queryWrapper))).toJavaList(JSONObject.class); - } + /** + * 37鏍规嵁澶氫釜閮ㄩ棬缂栫爜(閫楀彿鍒嗛殧)锛屾煡璇㈣繑鍥炲涓儴闂ㄤ俊鎭� + * + * @param orgCodes + * @return + */ + @Override + public List<JSONObject> queryDepartsByOrgcodes(String orgCodes) { + LambdaQueryWrapper<SysDepart> queryWrapper = new LambdaQueryWrapper<>(); + queryWrapper.in(SysDepart::getOrgCode, orgCodes.split(",")); + return JSON.parseArray(JSON.toJSONString(sysDepartService.list(queryWrapper))).toJavaList(JSONObject.class); + } - @Override - public List<JSONObject> queryDepartsByIds(String ids) { - LambdaQueryWrapper<SysDepart> queryWrapper = new LambdaQueryWrapper<>(); - queryWrapper.in(SysDepart::getId,ids.split(",")); - return JSON.parseArray(JSON.toJSONString(sysDepartService.list(queryWrapper))).toJavaList(JSONObject.class); - } + @Override + public List<JSONObject> queryDepartsByIds(String ids) { + LambdaQueryWrapper<SysDepart> queryWrapper = new LambdaQueryWrapper<>(); + queryWrapper.in(SysDepart::getId, ids.split(",")); + return JSON.parseArray(JSON.toJSONString(sysDepartService.list(queryWrapper))).toJavaList(JSONObject.class); + } - /** - * 鍙戞秷鎭� - * @param fromUser - * @param toUser - * @param title - * @param msgContent - * @param setMsgCategory - */ - private void sendSysAnnouncement(String fromUser, String toUser, String title, String msgContent, String setMsgCategory) { - SysAnnouncement announcement = new SysAnnouncement(); - announcement.setTitile(title); - announcement.setMsgContent(msgContent); - announcement.setSender(fromUser); - announcement.setPriority(CommonConstant.PRIORITY_M); - announcement.setMsgType(CommonConstant.MSG_TYPE_UESR); - announcement.setSendStatus(CommonConstant.HAS_SEND); - announcement.setSendTime(new Date()); - announcement.setMsgCategory(setMsgCategory); - announcement.setDelFlag(String.valueOf(CommonConstant.DEL_FLAG_0)); - sysAnnouncementMapper.insert(announcement); - // 2.鎻掑叆鐢ㄦ埛閫氬憡闃呰鏍囪琛ㄨ褰� - String userId = toUser; - String[] userIds = userId.split(","); - String anntId = announcement.getId(); - for(int i=0;i<userIds.length;i++) { - if(oConvertUtils.isNotEmpty(userIds[i])) { - SysUser sysUser = userMapper.getUserByName(userIds[i]); - if(sysUser==null) { - continue; - } - SysAnnouncementSend announcementSend = new SysAnnouncementSend(); - announcementSend.setAnntId(anntId); - announcementSend.setUserId(sysUser.getId()); - announcementSend.setReadFlag(CommonConstant.NO_READ_FLAG); - sysAnnouncementSendMapper.insert(announcementSend); - JSONObject obj = new JSONObject(); - obj.put(WebsocketConst.MSG_CMD, WebsocketConst.CMD_USER); - obj.put(WebsocketConst.MSG_USER_ID, sysUser.getId()); - obj.put(WebsocketConst.MSG_ID, announcement.getId()); - obj.put(WebsocketConst.MSG_TXT, announcement.getTitile()); - webSocket.sendMessage(sysUser.getId(), obj.toJSONString()); - } - } + /** + * 鍙戞秷鎭� + * + * @param fromUser + * @param toUser + * @param title + * @param msgContent + * @param setMsgCategory + */ + private void sendSysAnnouncement(String fromUser, String toUser, String title, String msgContent, String setMsgCategory) { + SysAnnouncement announcement = new SysAnnouncement(); + announcement.setTitile(title); + announcement.setMsgContent(msgContent); + announcement.setSender(fromUser); + announcement.setPriority(CommonConstant.PRIORITY_M); + announcement.setMsgType(CommonConstant.MSG_TYPE_UESR); + announcement.setSendStatus(CommonConstant.HAS_SEND); + announcement.setSendTime(new Date()); + announcement.setMsgCategory(setMsgCategory); + announcement.setDelFlag(String.valueOf(CommonConstant.DEL_FLAG_0)); + sysAnnouncementMapper.insert(announcement); + // 2.鎻掑叆鐢ㄦ埛閫氬憡闃呰鏍囪琛ㄨ褰� + String userId = toUser; + String[] userIds = userId.split(","); + String anntId = announcement.getId(); + for (int i = 0; i < userIds.length; i++) { + if (oConvertUtils.isNotEmpty(userIds[i])) { + SysUser sysUser = userMapper.getUserByName(userIds[i]); + if (sysUser == null) { + continue; + } + SysAnnouncementSend announcementSend = new SysAnnouncementSend(); + announcementSend.setAnntId(anntId); + announcementSend.setUserId(sysUser.getId()); + announcementSend.setReadFlag(CommonConstant.NO_READ_FLAG); + sysAnnouncementSendMapper.insert(announcementSend); + JSONObject obj = new JSONObject(); + obj.put(WebsocketConst.MSG_CMD, WebsocketConst.CMD_USER); + obj.put(WebsocketConst.MSG_USER_ID, sysUser.getId()); + obj.put(WebsocketConst.MSG_ID, announcement.getId()); + obj.put(WebsocketConst.MSG_TXT, announcement.getTitile()); + webSocket.sendMessage(sysUser.getId(), obj.toJSONString()); + } + } - } + } - /** - * 鍙戞秷鎭� 甯︿笟鍔″弬鏁� - * @param fromUser - * @param toUser - * @param title - * @param msgContent - * @param setMsgCategory - * @param busType - * @param busId - */ - private void sendBusAnnouncement(String fromUser, String toUser, String title, String msgContent, String setMsgCategory, String busType, String busId) { - SysAnnouncement announcement = new SysAnnouncement(); - announcement.setTitile(title); - announcement.setMsgContent(msgContent); - announcement.setSender(fromUser); - announcement.setPriority(CommonConstant.PRIORITY_M); - announcement.setMsgType(CommonConstant.MSG_TYPE_UESR); - announcement.setSendStatus(CommonConstant.HAS_SEND); - announcement.setSendTime(new Date()); - announcement.setMsgCategory(setMsgCategory); - announcement.setDelFlag(String.valueOf(CommonConstant.DEL_FLAG_0)); - announcement.setBusId(busId); - announcement.setBusType(busType); - announcement.setOpenType(SysAnnmentTypeEnum.getByType(busType).getOpenType()); - announcement.setOpenPage(SysAnnmentTypeEnum.getByType(busType).getOpenPage()); - sysAnnouncementMapper.insert(announcement); - // 2.鎻掑叆鐢ㄦ埛閫氬憡闃呰鏍囪琛ㄨ褰� - String userId = toUser; - String[] userIds = userId.split(","); - String anntId = announcement.getId(); - for(int i=0;i<userIds.length;i++) { - if(oConvertUtils.isNotEmpty(userIds[i])) { - SysUser sysUser = userMapper.getUserByName(userIds[i]); - if(sysUser==null) { - continue; - } - SysAnnouncementSend announcementSend = new SysAnnouncementSend(); - announcementSend.setAnntId(anntId); - announcementSend.setUserId(sysUser.getId()); - announcementSend.setReadFlag(CommonConstant.NO_READ_FLAG); - sysAnnouncementSendMapper.insert(announcementSend); - JSONObject obj = new JSONObject(); - obj.put(WebsocketConst.MSG_CMD, WebsocketConst.CMD_USER); - obj.put(WebsocketConst.MSG_USER_ID, sysUser.getId()); - obj.put(WebsocketConst.MSG_ID, announcement.getId()); - obj.put(WebsocketConst.MSG_TXT, announcement.getTitile()); - webSocket.sendMessage(sysUser.getId(), obj.toJSONString()); - } - } - } + /** + * 鍙戞秷鎭� 甯︿笟鍔″弬鏁� + * + * @param fromUser + * @param toUser + * @param title + * @param msgContent + * @param setMsgCategory + * @param busType + * @param busId + */ + private void sendBusAnnouncement(String fromUser, String toUser, String title, String msgContent, String setMsgCategory, String busType, String busId) { + SysAnnouncement announcement = new SysAnnouncement(); + announcement.setTitile(title); + announcement.setMsgContent(msgContent); + announcement.setSender(fromUser); + announcement.setPriority(CommonConstant.PRIORITY_M); + announcement.setMsgType(CommonConstant.MSG_TYPE_UESR); + announcement.setSendStatus(CommonConstant.HAS_SEND); + announcement.setSendTime(new Date()); + announcement.setMsgCategory(setMsgCategory); + announcement.setDelFlag(String.valueOf(CommonConstant.DEL_FLAG_0)); + announcement.setBusId(busId); + announcement.setBusType(busType); + announcement.setOpenType(SysAnnmentTypeEnum.getByType(busType).getOpenType()); + announcement.setOpenPage(SysAnnmentTypeEnum.getByType(busType).getOpenPage()); + sysAnnouncementMapper.insert(announcement); + // 2.鎻掑叆鐢ㄦ埛閫氬憡闃呰鏍囪琛ㄨ褰� + String userId = toUser; + String[] userIds = userId.split(","); + String anntId = announcement.getId(); + for (int i = 0; i < userIds.length; i++) { + if (oConvertUtils.isNotEmpty(userIds[i])) { + SysUser sysUser = userMapper.getUserByName(userIds[i]); + if (sysUser == null) { + continue; + } + SysAnnouncementSend announcementSend = new SysAnnouncementSend(); + announcementSend.setAnntId(anntId); + announcementSend.setUserId(sysUser.getId()); + announcementSend.setReadFlag(CommonConstant.NO_READ_FLAG); + sysAnnouncementSendMapper.insert(announcementSend); + JSONObject obj = new JSONObject(); + obj.put(WebsocketConst.MSG_CMD, WebsocketConst.CMD_USER); + obj.put(WebsocketConst.MSG_USER_ID, sysUser.getId()); + obj.put(WebsocketConst.MSG_ID, announcement.getId()); + obj.put(WebsocketConst.MSG_TXT, announcement.getTitile()); + webSocket.sendMessage(sysUser.getId(), obj.toJSONString()); + } + } + } - /** - * 鍙戦�侀偖浠舵秷鎭� - * @param email - * @param title - * @param content - */ - @Override - public void sendEmailMsg(String email, String title, String content) { - EmailSendMsgHandle emailHandle=new EmailSendMsgHandle(); - emailHandle.sendMsg(email, title, content); - } + /** + * 鍙戦�侀偖浠舵秷鎭� + * + * @param email + * @param title + * @param content + */ + @Override + public void sendEmailMsg(String email, String title, String content) { + EmailSendMsgHandle emailHandle = new EmailSendMsgHandle(); + emailHandle.sendMsg(email, title, content); + } - /** - * 鑾峰彇鍏徃涓嬬骇閮ㄩ棬鍜屾墍鏈夌敤鎴穒d淇℃伅 - * @param orgCode - * @return - */ - @Override - public List<Map> getDeptUserByOrgCode(String orgCode) { - //1.鑾峰彇鍏徃淇℃伅 - SysDepart comp=sysDepartService.queryCompByOrgCode(orgCode); - if(comp!=null){ - //2.鑾峰彇鍏徃涓嬬骇閮ㄩ棬 - List<SysDepart> departs=sysDepartService.queryDeptByPid(comp.getId()); - //3.鑾峰彇閮ㄩ棬涓嬬殑浜哄憳淇℃伅 - List<Map> list=new ArrayList(); - //4.澶勭悊閮ㄩ棬鍜屼笅绾х敤鎴锋暟鎹� - for (SysDepart dept:departs) { - Map map=new HashMap(5); - //閮ㄩ棬鍚嶇О - String departName = dept.getDepartName(); - //鏍规嵁閮ㄩ棬缂栫爜鑾峰彇涓嬬骇閮ㄩ棬id - List<String> listIds = departMapper.getSubDepIdsByDepId(dept.getId()); - //鏍规嵁涓嬬骇閮ㄩ棬ids鑾峰彇涓嬬骇閮ㄩ棬鐨勬墍鏈夌敤鎴� - List<SysUserDepart> userList = sysUserDepartService.list(new QueryWrapper<SysUserDepart>().in("dep_id",listIds)); - List<String> userIds = new ArrayList<>(); - for(SysUserDepart userDepart : userList){ - if(!userIds.contains(userDepart.getUserId())){ - userIds.add(userDepart.getUserId()); - } - } - map.put("name",departName); - map.put("ids",userIds); - list.add(map); - } - return list; - } - return null; - } + /** + * 鑾峰彇鍏徃涓嬬骇閮ㄩ棬鍜屾墍鏈夌敤鎴穒d淇℃伅 + * + * @param orgCode + * @return + */ + @Override + public List<Map> getDeptUserByOrgCode(String orgCode) { + //1.鑾峰彇鍏徃淇℃伅 + SysDepart comp = sysDepartService.queryCompByOrgCode(orgCode); + if (comp != null) { + //2.鑾峰彇鍏徃涓嬬骇閮ㄩ棬 + List<SysDepart> departs = sysDepartService.queryDeptByPid(comp.getId()); + //3.鑾峰彇閮ㄩ棬涓嬬殑浜哄憳淇℃伅 + List<Map> list = new ArrayList(); + //4.澶勭悊閮ㄩ棬鍜屼笅绾х敤鎴锋暟鎹� + for (SysDepart dept : departs) { + Map map = new HashMap(5); + //閮ㄩ棬鍚嶇О + String departName = dept.getDepartName(); + //鏍规嵁閮ㄩ棬缂栫爜鑾峰彇涓嬬骇閮ㄩ棬id + List<String> listIds = departMapper.getSubDepIdsByDepId(dept.getId()); + //鏍规嵁涓嬬骇閮ㄩ棬ids鑾峰彇涓嬬骇閮ㄩ棬鐨勬墍鏈夌敤鎴� + List<SysUserDepart> userList = sysUserDepartService.list(new QueryWrapper<SysUserDepart>().in("dep_id", listIds)); + List<String> userIds = new ArrayList<>(); + for (SysUserDepart userDepart : userList) { + if (!userIds.contains(userDepart.getUserId())) { + userIds.add(userDepart.getUserId()); + } + } + map.put("name", departName); + map.put("ids", userIds); + list.add(map); + } + return list; + } + return null; + } - /** - * 鏌ヨ鍒嗙被瀛楀吀缈昏瘧 - * - * @param ids 鍒嗙被瀛楀吀琛╥d - * @return - */ - @Override - public List<String> loadCategoryDictItem(String ids) { - return sysCategoryService.loadDictItem(ids, false); - } + /** + * 鏌ヨ鍒嗙被瀛楀吀缈昏瘧 + * + * @param ids 鍒嗙被瀛楀吀琛╥d + * @return + */ + @Override + public List<String> loadCategoryDictItem(String ids) { + return sysCategoryService.loadDictItem(ids, false); + } - /** - * 鏍规嵁瀛楀吀code鍔犺浇瀛楀吀text - * - * @param dictCode 椤哄簭锛歵ableName,text,code - * @param keys 瑕佹煡璇㈢殑key - * @return - */ - @Override - public List<String> loadDictItem(String dictCode, String keys) { - String[] params = dictCode.split(","); - return sysDictService.queryTableDictByKeys(params[0], params[1], params[2], keys, false); - } + /** + * 鏍规嵁瀛楀吀code鍔犺浇瀛楀吀text + * + * @param dictCode 椤哄簭锛歵ableName,text,code + * @param keys 瑕佹煡璇㈢殑key + * @return + */ + @Override + public List<String> loadDictItem(String dictCode, String keys) { + String[] params = dictCode.split(","); + return sysDictService.queryTableDictByKeys(params[0], params[1], params[2], keys, false); + } - /** - * 鏍规嵁瀛楀吀code鏌ヨ瀛楀吀椤� - * - * @param dictCode 椤哄簭锛歵ableName,text,code - * @param dictCode 瑕佹煡璇㈢殑key - * @return - */ - @Override - public List<DictModel> getDictItems(String dictCode) { - List<DictModel> ls = sysDictService.getDictItems(dictCode); - if (ls == null) { - ls = new ArrayList<>(); - } - return ls; - } + /** + * 鏍规嵁瀛楀吀code鏌ヨ瀛楀吀椤� + * + * @param dictCode 椤哄簭锛歵ableName,text,code + * @param dictCode 瑕佹煡璇㈢殑key + * @return + */ + @Override + public List<DictModel> getDictItems(String dictCode) { + List<DictModel> ls = sysDictService.getDictItems(dictCode); + if (ls == null) { + ls = new ArrayList<>(); + } + return ls; + } - /** - * 鏍规嵁澶氫釜瀛楀吀code鏌ヨ澶氫釜瀛楀吀椤� - * - * @param dictCodeList - * @return key = dictCode 锛� value=瀵瑰簲鐨勫瓧鍏搁」 - */ - @Override - public Map<String, List<DictModel>> getManyDictItems(List<String> dictCodeList) { - return sysDictService.queryDictItemsByCodeList(dictCodeList); - } + /** + * 鏍规嵁澶氫釜瀛楀吀code鏌ヨ澶氫釜瀛楀吀椤� + * + * @param dictCodeList + * @return key = dictCode 锛� value=瀵瑰簲鐨勫瓧鍏搁」 + */ + @Override + public Map<String, List<DictModel>> getManyDictItems(List<String> dictCodeList) { + return sysDictService.queryDictItemsByCodeList(dictCodeList); + } - /** - * 銆愪笅鎷夋悳绱€�� - * 澶ф暟鎹噺鐨勫瓧鍏歌〃 璧板紓姝ュ姞杞斤紝鍗冲墠绔緭鍏ュ唴瀹硅繃婊ゆ暟鎹� - * - * @param dictCode 瀛楀吀code鏍煎紡锛歵able,text,code - * @param keyword 杩囨护鍏抽敭瀛� - * @return - */ - @Override - public List<DictModel> loadDictItemByKeyword(String dictCode, String keyword, Integer pageSize) { - return sysDictService.loadDict(dictCode, keyword, pageSize); - } + /** + * 銆愪笅鎷夋悳绱€�� + * 澶ф暟鎹噺鐨勫瓧鍏歌〃 璧板紓姝ュ姞杞斤紝鍗冲墠绔緭鍏ュ唴瀹硅繃婊ゆ暟鎹� + * + * @param dictCode 瀛楀吀code鏍煎紡锛歵able,text,code + * @param keyword 杩囨护鍏抽敭瀛� + * @return + */ + @Override + public List<DictModel> loadDictItemByKeyword(String dictCode, String keyword, Integer pageSize) { + return sysDictService.loadDict(dictCode, keyword, pageSize); + } - @Override - public Map<String, List<DictModel>> translateManyDict(String dictCodes, String keys) { - List<String> dictCodeList = Arrays.asList(dictCodes.split(",")); - List<String> values = Arrays.asList(keys.split(",")); - return sysDictService.queryManyDictByKeys(dictCodeList, values); - } + @Override + public Map<String, List<DictModel>> translateManyDict(String dictCodes, String keys) { + List<String> dictCodeList = Arrays.asList(dictCodes.split(",")); + List<String> values = Arrays.asList(keys.split(",")); + return sysDictService.queryManyDictByKeys(dictCodeList, values); + } - @Override - public List<DictModel> translateDictFromTableByKeys(String table, String text, String code, String keys) { - return sysDictService.queryTableDictTextByKeys(table, text, code, Arrays.asList(keys.split(","))); - } + @Override + public List<DictModel> translateDictFromTableByKeys(String table, String text, String code, String keys) { + return sysDictService.queryTableDictTextByKeys(table, text, code, Arrays.asList(keys.split(","))); + } - //-------------------------------------娴佺▼鑺傜偣鍙戦�佹ā鏉挎秷鎭�----------------------------------------------- - @Autowired - private QywxSendMsgHandle qywxSendMsgHandle; + //-------------------------------------娴佺▼鑺傜偣鍙戦�佹ā鏉挎秷鎭�----------------------------------------------- + @Autowired + private QywxSendMsgHandle qywxSendMsgHandle; - @Autowired - private SystemSendMsgHandle systemSendMsgHandle; + @Autowired + private SystemSendMsgHandle systemSendMsgHandle; - @Autowired - private EmailSendMsgHandle emailSendMsgHandle; + @Autowired + private EmailSendMsgHandle emailSendMsgHandle; - @Autowired - private DdSendMsgHandle ddSendMsgHandle; + @Autowired + private DdSendMsgHandle ddSendMsgHandle; - @Override - public void sendTemplateMessage(MessageDTO message) { - String messageType = message.getType(); - //update-begin-author:taoyan date:2022-7-9 for: 灏嗘ā鏉胯В鏋愪唬鐮佺Щ鑷虫秷鎭彂閫�, 鑰屼笉鏄皟鐢ㄧ殑鍦版柟 - String templateCode = message.getTemplateCode(); - if(oConvertUtils.isNotEmpty(templateCode)){ - SysMessageTemplate templateEntity = getTemplateEntity(templateCode); - boolean isMarkdown = CommonConstant.MSG_TEMPLATE_TYPE_MD.equals(templateEntity.getTemplateType()); - String content = templateEntity.getTemplateContent(); - if(oConvertUtils.isNotEmpty(content) && null!=message.getData()){ - content = FreemarkerParseFactory.parseTemplateContent(content, message.getData(), isMarkdown); - } - message.setIsMarkdown(isMarkdown); - message.setContent(content); - } - if(oConvertUtils.isEmpty(message.getContent())){ - throw new JeecgBootException("鍙戦�佹秷鎭け璐�,娑堟伅鍐呭涓虹┖锛�"); - } - //update-end-author:taoyan date:2022-7-9 for: 灏嗘ā鏉胯В鏋愪唬鐮佺Щ鑷虫秷鎭彂閫�, 鑰屼笉鏄皟鐢ㄧ殑鍦版柟 - if(MessageTypeEnum.XT.getType().equals(messageType)){ - if (message.isMarkdown()) { - // 绯荤粺娑堟伅瑕佽В鏋怣arkdown - message.setContent(HTMLUtils.parseMarkdown(message.getContent())); - } - systemSendMsgHandle.sendMessage(message); - }else if(MessageTypeEnum.YJ.getType().equals(messageType)){ - if (message.isMarkdown()) { - // 閭欢娑堟伅瑕佽В鏋怣arkdown - message.setContent(HTMLUtils.parseMarkdown(message.getContent())); - } - emailSendMsgHandle.sendMessage(message); - }else if(MessageTypeEnum.DD.getType().equals(messageType)){ - ddSendMsgHandle.sendMessage(message); - }else if(MessageTypeEnum.QYWX.getType().equals(messageType)){ - qywxSendMsgHandle.sendMessage(message); - } - } + @Override + public void sendTemplateMessage(MessageDTO message) { + String messageType = message.getType(); + //update-begin-author:taoyan date:2022-7-9 for: 灏嗘ā鏉胯В鏋愪唬鐮佺Щ鑷虫秷鎭彂閫�, 鑰屼笉鏄皟鐢ㄧ殑鍦版柟 + String templateCode = message.getTemplateCode(); + if (oConvertUtils.isNotEmpty(templateCode)) { + SysMessageTemplate templateEntity = getTemplateEntity(templateCode); + boolean isMarkdown = CommonConstant.MSG_TEMPLATE_TYPE_MD.equals(templateEntity.getTemplateType()); + String content = templateEntity.getTemplateContent(); + if (oConvertUtils.isNotEmpty(content) && null != message.getData()) { + content = FreemarkerParseFactory.parseTemplateContent(content, message.getData(), isMarkdown); + } + message.setIsMarkdown(isMarkdown); + message.setContent(content); + } + if (oConvertUtils.isEmpty(message.getContent())) { + throw new JeecgBootException("鍙戦�佹秷鎭け璐�,娑堟伅鍐呭涓虹┖锛�"); + } + //update-end-author:taoyan date:2022-7-9 for: 灏嗘ā鏉胯В鏋愪唬鐮佺Щ鑷虫秷鎭彂閫�, 鑰屼笉鏄皟鐢ㄧ殑鍦版柟 + if (MessageTypeEnum.XT.getType().equals(messageType)) { + if (message.isMarkdown()) { + // 绯荤粺娑堟伅瑕佽В鏋怣arkdown + message.setContent(HTMLUtils.parseMarkdown(message.getContent())); + } + systemSendMsgHandle.sendMessage(message); + } else if (MessageTypeEnum.YJ.getType().equals(messageType)) { + if (message.isMarkdown()) { + // 閭欢娑堟伅瑕佽В鏋怣arkdown + message.setContent(HTMLUtils.parseMarkdown(message.getContent())); + } + emailSendMsgHandle.sendMessage(message); + } else if (MessageTypeEnum.DD.getType().equals(messageType)) { + ddSendMsgHandle.sendMessage(message); + } else if (MessageTypeEnum.QYWX.getType().equals(messageType)) { + qywxSendMsgHandle.sendMessage(message); + } + } - @Override - public String getTemplateContent(String code) { - List<SysMessageTemplate> list = sysMessageTemplateService.selectByCode(code); - if(list==null || list.size()==0){ - return null; - } - return list.get(0).getTemplateContent(); - } + @Override + public String getTemplateContent(String code) { + List<SysMessageTemplate> list = sysMessageTemplateService.selectByCode(code); + if (list == null || list.size() == 0) { + return null; + } + return list.get(0).getTemplateContent(); + } - /** - * 鑾峰彇妯℃澘鍐呭锛岃В鏋恗arkdown - * - * @param code - * @return - */ - public SysMessageTemplate getTemplateEntity(String code) { - List<SysMessageTemplate> list = sysMessageTemplateService.selectByCode(code); - if (list == null || list.size() == 0) { - return null; - } - return list.get(0); - } + /** + * 鑾峰彇妯℃澘鍐呭锛岃В鏋恗arkdown + * + * @param code + * @return + */ + public SysMessageTemplate getTemplateEntity(String code) { + List<SysMessageTemplate> list = sysMessageTemplateService.selectByCode(code); + if (list == null || list.size() == 0) { + return null; + } + return list.get(0); + } - //-------------------------------------娴佺▼鑺傜偣鍙戦�佹ā鏉挎秷鎭�----------------------------------------------- + //-------------------------------------娴佺▼鑺傜偣鍙戦�佹ā鏉挎秷鎭�----------------------------------------------- - @Override - public void saveDataLog(DataLogDTO dataLogDto) { - SysDataLog entity = new SysDataLog(); - entity.setDataTable(dataLogDto.getTableName()); - entity.setDataId(dataLogDto.getDataId()); - entity.setDataContent(dataLogDto.getContent()); - entity.setType(dataLogDto.getType()); - entity.setDataVersion("1"); - sysDataLogService.save(entity); - } + @Override + public void saveDataLog(DataLogDTO dataLogDto) { + SysDataLog entity = new SysDataLog(); + entity.setDataTable(dataLogDto.getTableName()); + entity.setDataId(dataLogDto.getDataId()); + entity.setDataContent(dataLogDto.getContent()); + entity.setType(dataLogDto.getType()); + entity.setDataVersion("1"); + sysDataLogService.save(entity); + } @Override public void addSysFiles(SysFilesModel sysFilesModel) { SysFiles sysFiles = new SysFiles(); - BeanUtils.copyProperties(sysFilesModel,sysFiles); + BeanUtils.copyProperties(sysFilesModel, sysFiles); String defaultValue = "0"; sysFiles.setIzStar(defaultValue); sysFiles.setIzFolder(defaultValue); @@ -1290,11 +1323,137 @@ sysUserService.updateById(sysUser); } - @Override - public void sendAppChatSocket(String userId) { - JSONObject obj = new JSONObject(); - obj.put(WebsocketConst.MSG_CMD, WebsocketConst.MSG_CHAT); - obj.put(WebsocketConst.MSG_USER_ID, userId); - webSocket.sendMessage(userId, obj.toJSONString()); - } + @Override + public void sendAppChatSocket(String userId) { + JSONObject obj = new JSONObject(); + obj.put(WebsocketConst.MSG_CMD, WebsocketConst.MSG_CHAT); + obj.put(WebsocketConst.MSG_USER_ID, userId); + webSocket.sendMessage(userId, obj.toJSONString()); + } + + @Override + public List<SysUploadRela> listByBusIdAndBusType(String busId, String busType) { + return uploadRelaService.listByBusIdAndBusType(busId, busType); + } + + @Override + public SysUpload getUploadById(String id) { + return uploadService.getById(id); + } + + @Override + public boolean saveOrUpdateBatchUploadRela(List<SysUploadRela> sysUploadRelaList) { + return uploadRelaService.saveOrUpdateBatch(sysUploadRelaList); + } + + @Override + public boolean updateBatchUploadById(List<SysUpload> sysUploadList) { + return uploadService.updateBatchById(sysUploadList); + } + + @Override + public List<SysUpload> batchUploadFile(String fileType, List<MultipartFile> multipartFileList, String description) throws Exception { + return uploadService.batchUploadFile(fileType, multipartFileList, description); + } + + @Override + public void saveOrUpdateUploadRale(String busId, String busType, String uploadId) { + uploadRelaService.saveOrUpdateUploadRale(busId, busType, uploadId); + } + + @Override + public void removeDataVersionByBusinessId(String businessId) { + dataVersionService.removeDataVersionByBusinessId(businessId); + } + + @Override + public void removeUploadById(String id) { + uploadService.removeById(id); + } + + @Override + public void removeUploadRelaById(String id) { + uploadRelaService.removeById(id); + } + + @Override + public void delSysUploadRelaByBusIdAndBusType(String busId, String busType) { + uploadRelaService.delSysUploadRelaByBusIdAndBusType(busId, busType); + } + + @Override + public String getUnitNameById(String unitId) { + Unit unit = unitService.getById(unitId); + String unitName = unit.getName(); + return unitName; + } + + @Override + public String queryDictTextByKey(String dictCode, String key) { + + return sysDictService.queryDictTextByKey(dictCode, key); + } + + @Override + public String getVersionStatusByVersionAndBusinessType(Integer version, String businessType) { + return dataVersionService.getVersionStatusByVersionAndBusinessType(version, businessType); + } + + @Override + public void saveDataVersion(DataVersion dataVersion) { + dataVersionService.save(dataVersion); + } + + @Override + public DataVersion getDataVersionByBusinessId(String id) { + + return dataVersionService.getById(id); + } + + @Override + public void removeDataVersionById(String id) { + dataVersionService.removeById(id); + } + + /** + * 鏍规嵁浼佷笟ID鑾峰彇浼佷笟鍚嶇О + * + * @param enterpriseId + * @return + */ + @Override + public String getEnterpriseNameById(String enterpriseId) { + String enterpriseName = enterpriseService.getById(enterpriseId).getName(); + return enterpriseName; + } + + @Override + public List<DataVersion> getLastDataVersion(String businessType, String enterpriseId, String isLastusable) { + List<DataVersion> dataVersionList = dataVersionService.getLastDataVersion(businessType, enterpriseId, isLastusable); + return dataVersionList; + } + + @Override + public List<DataVersion> getDataVersionList(String businessType, String enterpriseId, String versionStatus, String version) { + List<DataVersion> dataVersionList = dataVersionService.getDataVersionList(businessType, enterpriseId, versionStatus, version); + return dataVersionList; + } + + @Override + public void removeDataVersionByIds(String ids) { + dataVersionService.removeBatchByIds(Arrays.asList(ids.split(","))); + } + + @Override + public void updateBatchDataVersion(List<DataVersion> dataVersionList) { + dataVersionService.saveOrUpdateBatch(dataVersionList); + } + + @Override + public void closeJobByClassName(String className) { + QuartzJob quartzJob = quartzJobService.getOne(new QueryWrapper<QuartzJob>().eq("job_class_name", className), true); + if (ObjectUtils.isNotNull(quartzJob)) { + quartzJobService.deleteAndStopJob(quartzJob); + } + } } \ No newline at end of file -- Gitblit v1.9.3