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