diff --git a/.gitignore b/.gitignore
index 1565f44e..b6cc5cd0 100644
--- a/.gitignore
+++ b/.gitignore
@@ -63,3 +63,4 @@ $RECYCLE.BIN/
/base-buildpackage/target/
/base-common/target/
/base-core/target/
+/base-webapp/target/classes/com/hzya/frame/
diff --git a/base-buildpackage/pom.xml b/base-buildpackage/pom.xml
index 41435a19..1a317d04 100644
--- a/base-buildpackage/pom.xml
+++ b/base-buildpackage/pom.xml
@@ -38,6 +38,12 @@
llg
+
+ zqtlocal
+
+ zqtlocal
+
+
diff --git a/base-buildpackage/src/main/java/com/hzya/frame/plugin/pushMessage/plugin/PushMessagePluginInitializer.java b/base-buildpackage/src/main/java/com/hzya/frame/plugin/pushMessage/plugin/PushMessagePluginInitializer.java
index 3e0a996f..3bc07a67 100644
--- a/base-buildpackage/src/main/java/com/hzya/frame/plugin/pushMessage/plugin/PushMessagePluginInitializer.java
+++ b/base-buildpackage/src/main/java/com/hzya/frame/plugin/pushMessage/plugin/PushMessagePluginInitializer.java
@@ -62,6 +62,7 @@ public class PushMessagePluginInitializer extends PluginBaseEntity {
public JsonResultEntity executeBusiness(JSONObject requestJson) {
try {
logger.info("======开始执行定时消息推送========");
+ //目前只查询一周内的异常日志进行消息推送
List list = sysPushMessageDao.getAll();
for(SysPushMessageEntity entity : list){
diff --git a/base-buildpackage/src/main/resources/application-llg.yml b/base-buildpackage/src/main/resources/application-llg.yml
index 5953ca0d..d3a1ebfd 100644
--- a/base-buildpackage/src/main/resources/application-llg.yml
+++ b/base-buildpackage/src/main/resources/application-llg.yml
@@ -45,7 +45,7 @@ savefile:
tomcatpath: /Users/apple/Desktop/log/local
pluginpath: /Users/apple/Desktop/log/local
zt:
- url: http://127.0.0.1:9999/kangarooDataCenterV3/entranceController/externalCallInterface
+ url: http://127.0.0.1:10086/kangarooDataCenterV3/entranceController/externalCallInterface
cbs8:
appId: 1P4AGrpz
appSecret: 2c2369ae5dc04382844bbe3a5abf39e1bea9cd3a
@@ -59,4 +59,6 @@ cbs8:
#电子回单下载临时存放位置
elec_path: /Users/xiangerlin/Downloads/
OA:
- data_source_code: yc_oa
\ No newline at end of file
+ data_source_code: yc_oa
+server:
+ port: 10086
\ No newline at end of file
diff --git a/base-buildpackage/src/main/resources/application-zqtlocal.yml b/base-buildpackage/src/main/resources/application-zqtlocal.yml
index ffff00a3..5aeac683 100644
--- a/base-buildpackage/src/main/resources/application-zqtlocal.yml
+++ b/base-buildpackage/src/main/resources/application-zqtlocal.yml
@@ -36,4 +36,4 @@ cbs8:
OA:
data_source_code: yc_oa
zt:
- url: http://127.0.0.1:9082/kangarooDataCenterV3/entranceController/externalCallInterface
\ No newline at end of file
+ url: http://127.0.0.1:10086/kangarooDataCenterV3/entranceController/externalCallInterface
\ No newline at end of file
diff --git a/base-buildpackage/src/main/resources/application.yml b/base-buildpackage/src/main/resources/application.yml
index 7b481a9d..821ad1c1 100644
--- a/base-buildpackage/src/main/resources/application.yml
+++ b/base-buildpackage/src/main/resources/application.yml
@@ -1,5 +1,5 @@
server:
- port: 9999
+ port: 10086
servlet:
context-path: /kangarooDataCenterV3
localIP: 127.0.0.1
@@ -93,7 +93,7 @@ mybatis-plus:
db-config:
id-type: auto # 主键策略
zt:
- url: http://127.0.0.1:9999/kangarooDataCenterV3/entranceController/externalCallInterface
+ url: http://127.0.0.1:10086/kangarooDataCenterV3/entranceController/externalCallInterface
#JimuReport[minidao配置]
minidao :
base-package: org.jeecg.modules.jmreport.desreport.dao*
diff --git a/base-service/src/main/java/com/hzya/frame/dingtalk/enums/OrgEventEnum.java b/base-service/src/main/java/com/hzya/frame/dingtalk/enums/OrgEventEnum.java
new file mode 100755
index 00000000..f01431f0
--- /dev/null
+++ b/base-service/src/main/java/com/hzya/frame/dingtalk/enums/OrgEventEnum.java
@@ -0,0 +1,48 @@
+package com.hzya.frame.dingtalk.enums;
+
+/**
+ * @Description 通讯录事件类型
+ * @Author xiangerlin
+ * @Date 2024/8/27 15:58
+ **/
+public enum OrgEventEnum {
+ USER_ADD_ORG("user_add_org","通讯录用户新增"),
+ USER_MODIFY_ORG("user_modify_org","通讯录用户更改"),
+ USER_LEAVE_ORG("user_leave_org","通讯录用户离职"),
+ USER_ACTIVE_ORG("user_active_org","加入企业后用户激活"),
+ ORG_DEPT_CREATE("org_dept_create","通讯录企业部门创建"),
+ ORG_DEPT_MODIFY("org_dept_modify","通讯录企业部门更改"),
+ ORG_DEPT_REMOVE("org_dept_remove","通讯录企业部门删除"),
+ ;
+
+
+ private String code;
+ private String explain;
+
+ OrgEventEnum(String code, String explain) {
+ this.code = code;
+ this.explain = explain;
+ }
+
+ public String getCode() {
+ return code;
+ }
+
+ public String getExplain() {
+ return explain;
+ }
+
+ /**
+ * 根据code获取事件类型
+ * @param code
+ * @return
+ */
+ public static OrgEventEnum getByCode(String code){
+ for (OrgEventEnum org : OrgEventEnum.values()) {
+ if (org.getCode().equals(code)){
+ return org;
+ }
+ }
+ return null;
+ }
+}
diff --git a/base-service/src/main/java/com/hzya/frame/dingtalk/service/IDingTalkExtService.java b/base-service/src/main/java/com/hzya/frame/dingtalk/service/IDingTalkExtService.java
new file mode 100755
index 00000000..ffbba432
--- /dev/null
+++ b/base-service/src/main/java/com/hzya/frame/dingtalk/service/IDingTalkExtService.java
@@ -0,0 +1,32 @@
+package com.hzya.frame.dingtalk.service;
+
+import com.alibaba.fastjson.JSONObject;
+import com.hzya.frame.sysnew.application.entity.SysApplicationEntity;
+import com.hzya.frame.sysnew.application.entity.SysExtensionApiEntity;
+
+/**
+ * @Description 钉钉集成扩展类
+ * @Author xiangerlin
+ * @Date 2024/8/28 14:25
+ **/
+public interface IDingTalkExtService {
+
+ /**
+ * 调用这个方法初始化钉钉参数
+ * @param entity
+ * @return
+ */
+ SysExtensionApiEntity init(SysExtensionApiEntity entity);
+
+ /**
+ * 查询配置在应用上的钉钉参数
+ * @param sysApplication
+ * @return
+ */
+ JSONObject getDingTalkConfig(SysApplicationEntity sysApplication);
+
+ /**
+ * 清空配置缓存
+ */
+ void clearDingTalkConfigCatch();
+}
diff --git a/base-service/src/main/java/com/hzya/frame/dingtalk/service/IDingTalkService.java b/base-service/src/main/java/com/hzya/frame/dingtalk/service/IDingTalkService.java
new file mode 100755
index 00000000..be742955
--- /dev/null
+++ b/base-service/src/main/java/com/hzya/frame/dingtalk/service/IDingTalkService.java
@@ -0,0 +1,66 @@
+package com.hzya.frame.dingtalk.service;
+
+import com.dingtalk.api.request.OapiV2UserListRequest;
+import com.dingtalk.api.response.OapiV2DepartmentGetResponse;
+import com.dingtalk.api.response.OapiV2DepartmentListsubResponse;
+import com.dingtalk.api.response.OapiV2UserGetResponse;
+import com.dingtalk.api.response.OapiV2UserListResponse;
+
+import java.util.List;
+
+/**
+ * @Description 钉钉service
+ * @Author xiangerlin
+ * @Date 2024/8/27 16:17
+ **/
+public interface IDingTalkService {
+
+ /**
+ * 根据userid获取用户详情
+ * @param userId 钉钉userid
+ * @param appKey
+ * @param appSecret
+ * @return
+ */
+ OapiV2UserGetResponse.UserGetResponse getUserById(String userId, String appKey, String appSecret);
+
+ /**
+ * 根据userid获取用户详情
+ * @param userId
+ * @return
+ */
+ OapiV2UserGetResponse.UserGetResponse getUserById(String userId);
+
+ /**
+ * 获取部门用户列表
+ * @param req 请求参数
+ * @param appKey
+ * @param appSecret
+ * @return
+ */
+ OapiV2UserListResponse.PageResult getUserListByDeptId(OapiV2UserListRequest req, String appKey, String appSecret);
+ /**
+ * 根据部门id获取部门详情
+ * @param deptId 钉钉部门id
+ * @param appKey
+ * @param appSecret
+ * @return
+ */
+ OapiV2DepartmentGetResponse.DeptGetResponse getDeptById(Long deptId, String appKey, String appSecret);
+
+ /**
+ * 根据部门id获取部门详情
+ * @param deptId
+ * @return
+ */
+ OapiV2DepartmentGetResponse.DeptGetResponse getDeptById(Long deptId);
+
+ /**
+ * 获取部门列表,此接口只会返回下一级部门信息
+ * @param deptId 部门id,如果不传则查询一级部门
+ * @param appKey
+ * @param appSecret
+ * @return
+ */
+ List getDeptList(Long deptId, String appKey, String appSecret);
+}
diff --git a/base-service/src/main/java/com/hzya/frame/dingtalk/service/impl/DingTalkExtServiceImpl.java b/base-service/src/main/java/com/hzya/frame/dingtalk/service/impl/DingTalkExtServiceImpl.java
new file mode 100755
index 00000000..dd0267f8
--- /dev/null
+++ b/base-service/src/main/java/com/hzya/frame/dingtalk/service/impl/DingTalkExtServiceImpl.java
@@ -0,0 +1,100 @@
+package com.hzya.frame.dingtalk.service.impl;
+
+import cn.hutool.core.util.StrUtil;
+import com.alibaba.fastjson.JSONArray;
+import com.alibaba.fastjson.JSONObject;
+import com.hzya.frame.dingtalk.service.IDingTalkExtService;
+import com.hzya.frame.dingtalk.util.DingTalkAccessToken;
+import com.hzya.frame.sysnew.application.api.entity.SysApplicationApiEntity;
+import com.hzya.frame.sysnew.application.apiPara.dao.ISysApplicationApiParaDao;
+import com.hzya.frame.sysnew.application.apiPara.entity.SysApplicationApiParaEntity;
+import com.hzya.frame.sysnew.application.apiPara.service.ISysApplicationApiParaService;
+import com.hzya.frame.sysnew.application.entity.SysApplicationEntity;
+import com.hzya.frame.sysnew.application.entity.SysExtensionApiEntity;
+import org.apache.commons.collections.CollectionUtils;
+import org.springframework.beans.factory.annotation.Value;
+import org.springframework.stereotype.Service;
+
+import javax.annotation.Resource;
+import java.util.HashMap;
+import java.util.List;
+import java.util.Map;
+import java.util.concurrent.ConcurrentHashMap;
+import java.util.stream.Collectors;
+import java.util.stream.Stream;
+
+/**
+ * @Description 钉钉集成扩展类
+ * @Author xiangerlin
+ * @Date 2024/8/28 14:25
+ **/
+@Service(value = "dingTalkExtService")
+public class DingTalkExtServiceImpl implements IDingTalkExtService {
+
+
+ @Resource
+ private ISysApplicationApiParaDao sysApplicationApiParaDao;
+ private final ConcurrentHashMap dingTalkMap = new ConcurrentHashMap<>();
+ /**
+ * 调用这个方法初始化钉钉参数
+ *
+ * @param entity
+ * @return
+ */
+ @Override
+ public SysExtensionApiEntity init(SysExtensionApiEntity entity) {
+ Map headers = entity.getHeaders();
+ if (null == headers){
+ headers = new HashMap<>();
+ }
+ SysApplicationEntity receiveApp = entity.getReceiveApp();
+ //查询应用上配置的参数
+ JSONObject dingTalkConfig = getDingTalkConfig(receiveApp);
+ //给token赋值
+ entity.setQuerys("access_token="+DingTalkAccessToken.getAccessToken(dingTalkConfig.getString("appKey"),dingTalkConfig.getString("appSecret")));
+ return entity;
+ }
+
+ /**
+ * 查询配置在应用上的钉钉参数
+ *
+ * @param sysApplication
+ * @return
+ */
+ @Override
+ public JSONObject getDingTalkConfig(SysApplicationEntity sysApplication) {
+ if (null != sysApplication && StrUtil.isNotEmpty(sysApplication.getId()) && null != sysApplication.getAppId()){
+ JSONObject jsonObject = new JSONObject();
+ String key = sysApplication.getAppId()+"dingTalk";
+ if (null != dingTalkMap.get(key)){
+ return dingTalkMap.get(key);
+ }else {
+ //查询应用上配置的参数
+ SysApplicationApiParaEntity paraEntity = new SysApplicationApiParaEntity();
+ paraEntity.setAppId(sysApplication.getId());
+ List paraList = sysApplicationApiParaDao.query(paraEntity);
+ if (CollectionUtils.isNotEmpty(paraList)) {
+ List appKeyList = paraList.stream().filter(p -> p.getInterfaceKey().equals("appKey")).collect(Collectors.toList());
+ if (CollectionUtils.isNotEmpty(appKeyList)) {
+ jsonObject.put("appKey", appKeyList.get(0).getInterfaceValue());
+ }
+ List appSecretList = paraList.stream().filter(p -> p.getInterfaceKey().equals("appSecret")).collect(Collectors.toList());
+ if (CollectionUtils.isNotEmpty(appSecretList)) {
+ jsonObject.put("appSecret", appSecretList.get(0).getInterfaceValue());
+ }
+ dingTalkMap.put(key,jsonObject);
+ return dingTalkMap.get(key);
+ }
+ }
+ }
+ return null;
+ }
+
+ /**
+ * 清空配置缓存
+ */
+ @Override
+ public void clearDingTalkConfigCatch() {
+ dingTalkMap.clear();
+ }
+}
diff --git a/base-service/src/main/java/com/hzya/frame/dingtalk/service/impl/DingTalkServiceImpl.java b/base-service/src/main/java/com/hzya/frame/dingtalk/service/impl/DingTalkServiceImpl.java
new file mode 100755
index 00000000..8e74ae9d
--- /dev/null
+++ b/base-service/src/main/java/com/hzya/frame/dingtalk/service/impl/DingTalkServiceImpl.java
@@ -0,0 +1,164 @@
+package com.hzya.frame.dingtalk.service.impl;
+
+import com.alibaba.fastjson.JSONObject;
+import com.dingtalk.api.DefaultDingTalkClient;
+import com.dingtalk.api.DingTalkClient;
+import com.dingtalk.api.request.OapiV2DepartmentGetRequest;
+import com.dingtalk.api.request.OapiV2DepartmentListsubRequest;
+import com.dingtalk.api.request.OapiV2UserGetRequest;
+import com.dingtalk.api.request.OapiV2UserListRequest;
+import com.dingtalk.api.response.OapiV2DepartmentGetResponse;
+import com.dingtalk.api.response.OapiV2DepartmentListsubResponse;
+import com.dingtalk.api.response.OapiV2UserGetResponse;
+import com.dingtalk.api.response.OapiV2UserListResponse;
+import com.hzya.frame.dingtalk.service.IDingTalkService;
+import com.hzya.frame.dingtalk.util.DingTalkAccessToken;
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
+import org.springframework.beans.factory.annotation.Value;
+import org.springframework.stereotype.Service;
+
+import java.util.List;
+
+/**
+ * @Description 钉钉service
+ * @Author xiangerlin
+ * @Date 2024/8/27 16:17
+ **/
+@Service(value = "dingTalkService")
+public class DingTalkServiceImpl implements IDingTalkService {
+ Logger logger = LoggerFactory.getLogger(getClass());
+ @Value("${dingtalk.appKey:}")
+ private String dAppKey;
+ @Value("${dingtalk.appSecret:}")
+ private String dAppSecret;
+
+
+ /**
+ * 根据userid获取用户详情
+ *
+ * @param userId 钉钉userid
+ * @param appKey
+ * @param appSecret
+ * @return
+ */
+ @Override
+ public OapiV2UserGetResponse.UserGetResponse getUserById(String userId, String appKey, String appSecret) {
+ DingTalkClient client = new DefaultDingTalkClient("https://oapi.dingtalk.com/topapi/v2/user/get");
+ OapiV2UserGetRequest req = new OapiV2UserGetRequest();
+ req.setUserid(userId);
+ req.setLanguage("zh_CN");
+ try {
+ OapiV2UserGetResponse rsp = client.execute(req, DingTalkAccessToken.getAccessToken(appKey,appSecret));
+ if (rsp.isSuccess()){
+ OapiV2UserGetResponse.UserGetResponse result = rsp.getResult();
+ String s = JSONObject.toJSONString(result);
+ logger.info("人员详情信息:{}",s);
+ return result;
+ }
+ }catch (Exception e){
+ logger.error("根据部门id获取钉钉用户详情出错:{}",e);
+ }
+ return null;
+ }
+
+ /**
+ * 根据userid获取用户详情
+ *
+ * @param userId
+ * @return
+ */
+ @Override
+ public OapiV2UserGetResponse.UserGetResponse getUserById(String userId) {
+ return getUserById(userId,dAppKey,dAppSecret);
+ }
+
+ /**
+ * 获取部门用户列表
+ *
+ * @param req 请求参数
+ * @param appKey
+ * @param appSecret
+ * @return
+ */
+ @Override
+ public OapiV2UserListResponse.PageResult getUserListByDeptId(OapiV2UserListRequest req, String appKey, String appSecret) {
+ try {
+ DingTalkClient client = new DefaultDingTalkClient("https://oapi.dingtalk.com/topapi/v2/user/list");
+ req.setSize(100L);//每页最大只能查100条
+ req.setOrderField("modify_desc");
+ req.setContainAccessLimit(false);
+ req.setLanguage("zh_CN");
+ OapiV2UserListResponse rsp = client.execute(req, DingTalkAccessToken.getAccessToken(appKey,appSecret));
+ OapiV2UserListResponse.PageResult result = rsp.getResult();
+ return result;
+ }catch (Exception e){
+ e.printStackTrace();
+ }
+ return null;
+ }
+
+ /**
+ * 根据部门id获取部门详情
+ *
+ * @param deptId 钉钉部门id
+ * @param appKey
+ * @param appSecret
+ * @return
+ */
+ @Override
+ public OapiV2DepartmentGetResponse.DeptGetResponse getDeptById(Long deptId, String appKey, String appSecret) {
+ DingTalkClient client = new DefaultDingTalkClient("https://oapi.dingtalk.com/topapi/v2/department/get");
+ OapiV2DepartmentGetRequest req = new OapiV2DepartmentGetRequest();
+ req.setDeptId(deptId);
+ req.setLanguage("zh_CN");
+ try {
+ OapiV2DepartmentGetResponse rsp = client.execute(req, DingTalkAccessToken.getAccessToken(appKey,appSecret));
+ if (rsp.isSuccess()){
+ OapiV2DepartmentGetResponse.DeptGetResponse result = rsp.getResult();
+ String s = JSONObject.toJSONString(result);
+ logger.info("部门详情信息:{}",s);
+ return result;
+ }
+ }catch(Exception e){
+ logger.error("根据部门id获取钉钉部门出错:{}",e);
+ }
+ return null;
+ }
+
+ /**
+ * 根据部门id获取部门详情
+ *
+ * @param deptId
+ * @return
+ */
+ @Override
+ public OapiV2DepartmentGetResponse.DeptGetResponse getDeptById(Long deptId) {
+ return getDeptById(deptId,dAppKey,dAppSecret);
+ }
+
+ /**
+ * 获取部门列表,此接口只会返回下一级部门信息
+ * @param deptId 部门id,如果不传则查询一级部门
+ * @param appKey
+ * @param appSecret
+ * @return
+ */
+ @Override
+ public List getDeptList(Long deptId,String appKey,String appSecret) {
+ try {
+ DingTalkClient client = new DefaultDingTalkClient("https://oapi.dingtalk.com/topapi/v2/department/listsub");
+ OapiV2DepartmentListsubRequest req = new OapiV2DepartmentListsubRequest();
+ req.setDeptId(deptId);
+ req.setLanguage("zh_CN");
+ OapiV2DepartmentListsubResponse rsp = client.execute(req, DingTalkAccessToken.getAccessToken(appKey,appSecret));
+ if (rsp.isSuccess()){
+ List result = rsp.getResult();
+ return result;
+ }
+ }catch (Exception e){
+ logger.error("获取部门列表接口出错:{}",e);
+ }
+ return null;
+ }
+}
diff --git a/base-service/src/main/java/com/hzya/frame/dingtalk/util/DingTalkAccessToken.java b/base-service/src/main/java/com/hzya/frame/dingtalk/util/DingTalkAccessToken.java
new file mode 100755
index 00000000..eb951180
--- /dev/null
+++ b/base-service/src/main/java/com/hzya/frame/dingtalk/util/DingTalkAccessToken.java
@@ -0,0 +1,103 @@
+package com.hzya.frame.dingtalk.util;
+
+import cn.hutool.core.util.StrUtil;
+import com.aliyun.dingtalkoauth2_1_0.models.GetAccessTokenResponse;
+import com.aliyun.tea.TeaException;
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
+import org.springframework.beans.factory.annotation.Value;
+
+import java.time.Instant;
+
+/**
+ * @Description 钉钉获取accessToken
+ * @Author xiangerlin
+ * @Date 2024/8/27 14:05
+ **/
+public class DingTalkAccessToken {
+ static Logger logger = LoggerFactory.getLogger(DingTalkAccessToken.class);
+ //token
+ private static String accessToken;
+ //过期时间
+ private static Instant expireTime;
+ private static final Long CACHE_EXPIRY_TIME = 7000L; // 缓存有效时间(秒)
+ //应用key
+ private static String appKey;
+ //应用密钥
+ private static String appSecret;
+ @Value("${dingtalk.appKey:}")
+ public static void setAppKey(String appKey) {
+ DingTalkAccessToken.appKey = appKey;
+ }
+ @Value("${dingtalk.appSecret:}")
+ public static void setAppSecret(String appSecret) {
+ DingTalkAccessToken.appSecret = appSecret;
+ }
+
+ /**
+ * 获取token
+ * @return
+ */
+ public static String getAccessToken(){
+ return getAccessToken(appKey,appSecret);
+ }
+ /**
+ * 获取accessToken
+ *
+ * @param appKey
+ * @param appSecret
+ * @return
+ */
+ public static String getAccessToken(String appKey,String appSecret) {
+ //判断是否过期 如果没过期直接返回
+ if (null != accessToken && expireTime != null && Instant.now().isBefore(expireTime)) {
+ return accessToken;
+ }
+ //获取新的accessToken
+ accessToken = fetchNewAccessToken(appKey,appSecret);
+ //过期时间设置成当前事件+7000s,预留200s的时间
+ expireTime = Instant.now().plusSeconds(CACHE_EXPIRY_TIME);
+ return accessToken;
+ }
+
+ /**
+ * 获取新的accessToken
+ *
+ * @return
+ */
+ private static String fetchNewAccessToken(String appKey,String appSecret) {
+ try {
+ //查询应用上配置的钉钉信息
+ if (StrUtil.isNotEmpty(appKey) && StrUtil.isNotEmpty(appSecret)) {
+ //查询应用上的信息
+ com.aliyun.dingtalkoauth2_1_0.Client client = DingTalkAccessToken.createClient();
+ com.aliyun.dingtalkoauth2_1_0.models.GetAccessTokenRequest getAccessTokenRequest = new com.aliyun.dingtalkoauth2_1_0.models.GetAccessTokenRequest()
+ .setAppKey(appKey)
+ .setAppSecret(appSecret);
+ GetAccessTokenResponse accessToken = client.getAccessToken(getAccessTokenRequest);
+ String accessToken1 = accessToken.getBody().getAccessToken();
+ return accessToken1;
+ }
+ } catch (Exception _err) {
+ TeaException err = new TeaException(_err.getMessage(), _err);
+ if (!com.aliyun.teautil.Common.empty(err.code) && !com.aliyun.teautil.Common.empty(err.message)) {
+ // err 中含有 code 和 message 属性,可帮助开发定位问题
+ }
+ logger.error("获取钉钉token出错:{}", _err);
+ }
+ return null;
+ }
+
+ /**
+ * 使用 Token 初始化账号Client
+ *
+ * @return Client
+ * @throws Exception
+ */
+ private static com.aliyun.dingtalkoauth2_1_0.Client createClient() throws Exception {
+ com.aliyun.teaopenapi.models.Config config = new com.aliyun.teaopenapi.models.Config();
+ config.protocol = "https";
+ config.regionId = "central";
+ return new com.aliyun.dingtalkoauth2_1_0.Client(config);
+ }
+}
diff --git a/base-service/src/main/java/com/hzya/frame/home/service/impl/HomeServiceImpl.java b/base-service/src/main/java/com/hzya/frame/home/service/impl/HomeServiceImpl.java
index 6ee65aa3..cda6cf9c 100644
--- a/base-service/src/main/java/com/hzya/frame/home/service/impl/HomeServiceImpl.java
+++ b/base-service/src/main/java/com/hzya/frame/home/service/impl/HomeServiceImpl.java
@@ -50,6 +50,7 @@ public class HomeServiceImpl extends BaseService implements
for (int a = 0; a < sysApplicationEntities.size(); a++) {
if(homeEntities.get(i).getAppId()!= null && sysApplicationEntities.get(a).getId().equals(homeEntities.get(i).getAppId())){
homeEntities.get(i).setPath(sysApplicationEntities.get(a).getAppLogo());
+ homeEntities.get(i).setName(sysApplicationEntities.get(a).getName());
continue;
}
}
diff --git a/base-service/src/main/java/com/hzya/frame/mdm/entity/MdmFiledsRuleDto.java b/base-service/src/main/java/com/hzya/frame/mdm/entity/MdmFiledsRuleDto.java
new file mode 100644
index 00000000..f6bd998b
--- /dev/null
+++ b/base-service/src/main/java/com/hzya/frame/mdm/entity/MdmFiledsRuleDto.java
@@ -0,0 +1,77 @@
+package com.hzya.frame.mdm.entity;
+
+
+public class MdmFiledsRuleDto {
+ /** 主数据模版ID */
+ private String mdmId;
+ /** 模版数据库id */
+ private String dbId;
+ /** 模版数据库字段id */
+ private String filedId;
+ /** 字段类型 1、select 2、treeselect */
+ private String filedType;
+ /** 字段服务 */
+ private String typeFiled;
+ /** 字段服务 */
+ private String id;
+ /** 字段服务 */
+ private String dataId;
+
+ public String getMdmId() {
+ return mdmId;
+ }
+
+ public void setMdmId(String mdmId) {
+ this.mdmId = mdmId;
+ }
+
+ public String getDbId() {
+ return dbId;
+ }
+
+ public void setDbId(String dbId) {
+ this.dbId = dbId;
+ }
+
+ public String getFiledId() {
+ return filedId;
+ }
+
+ public void setFiledId(String filedId) {
+ this.filedId = filedId;
+ }
+
+ public String getFiledType() {
+ return filedType;
+ }
+
+ public void setFiledType(String filedType) {
+ this.filedType = filedType;
+ }
+
+ public String getTypeFiled() {
+ return typeFiled;
+ }
+
+ public void setTypeFiled(String typeFiled) {
+ this.typeFiled = typeFiled;
+ }
+
+
+ public String getId() {
+ return id;
+ }
+
+ public void setId(String id) {
+ this.id = id;
+ }
+
+ public String getDataId() {
+ return dataId;
+ }
+
+ public void setDataId(String dataId) {
+ this.dataId = dataId;
+ }
+}
+
diff --git a/base-service/src/main/java/com/hzya/frame/mdm/mdmModule/dao/IMdmModuleDao.java b/base-service/src/main/java/com/hzya/frame/mdm/mdmModule/dao/IMdmModuleDao.java
index 1940d472..7c936af7 100644
--- a/base-service/src/main/java/com/hzya/frame/mdm/mdmModule/dao/IMdmModuleDao.java
+++ b/base-service/src/main/java/com/hzya/frame/mdm/mdmModule/dao/IMdmModuleDao.java
@@ -3,6 +3,7 @@ package com.hzya.frame.mdm.mdmModule.dao;
import com.alibaba.fastjson.JSONObject;
import com.hzya.frame.mdm.entity.MdmDataDto;
import com.hzya.frame.mdm.entity.MdmDto;
+import com.hzya.frame.mdm.entity.MdmFiledsRuleDto;
import com.hzya.frame.mdm.entity.MdmQuery;
import com.hzya.frame.mdm.mdmModule.entity.MdmModuleEntity;
import com.hzya.frame.basedao.dao.IBaseDao;
@@ -68,5 +69,7 @@ public interface IMdmModuleDao extends IBaseDao {
void updataTreeUpData(Map updateMaps);
void updataTreeUpDataDetail(Map updateMaps);
+
+ MdmFiledsRuleDto queryDataId(MdmFiledsRuleDto mdmFiledsRuleDto);
}
diff --git a/base-service/src/main/java/com/hzya/frame/mdm/mdmModule/dao/impl/MdmModuleDaoImpl.java b/base-service/src/main/java/com/hzya/frame/mdm/mdmModule/dao/impl/MdmModuleDaoImpl.java
index c9d4ea70..56e4777e 100644
--- a/base-service/src/main/java/com/hzya/frame/mdm/mdmModule/dao/impl/MdmModuleDaoImpl.java
+++ b/base-service/src/main/java/com/hzya/frame/mdm/mdmModule/dao/impl/MdmModuleDaoImpl.java
@@ -4,6 +4,7 @@ import com.alibaba.fastjson.JSONObject;
import com.hzya.frame.basedao.dao.MybatisGenericDao;
import com.hzya.frame.mdm.entity.MdmDataDto;
import com.hzya.frame.mdm.entity.MdmDto;
+import com.hzya.frame.mdm.entity.MdmFiledsRuleDto;
import com.hzya.frame.mdm.entity.MdmQuery;
import com.hzya.frame.mdm.mdmModule.dao.IMdmModuleDao;
import com.hzya.frame.mdm.mdmModule.entity.MdmModuleEntity;
@@ -181,6 +182,12 @@ public class MdmModuleDaoImpl extends MybatisGenericDao
super.update(getSqlIdPrifx() + "updataTreeUpDataDetail", maps);
}
+ @Override
+ public MdmFiledsRuleDto queryDataId(MdmFiledsRuleDto mdmFiledsRuleDto) {
+ MdmFiledsRuleDto o = (MdmFiledsRuleDto) super.selectOne(getSqlIdPrifx() + "queryDataId", mdmFiledsRuleDto);
+ return o;
+ }
+
@Override
public List queryMdMFields(Map maps) {
List o = (List) super.selectList(getSqlIdPrifx() + "queryMdMFields", maps);
diff --git a/base-service/src/main/java/com/hzya/frame/mdm/mdmModule/entity/MdmModuleEntity.xml b/base-service/src/main/java/com/hzya/frame/mdm/mdmModule/entity/MdmModuleEntity.xml
index 629067a8..8403c031 100644
--- a/base-service/src/main/java/com/hzya/frame/mdm/mdmModule/entity/MdmModuleEntity.xml
+++ b/base-service/src/main/java/com/hzya/frame/mdm/mdmModule/entity/MdmModuleEntity.xml
@@ -1086,5 +1086,14 @@ where id = #{id}
AND b.sts = 'Y'
AND b.data_status != 'N'
+
+
+
+
diff --git a/base-service/src/main/java/com/hzya/frame/mdm/mdmModule/service/impl/MdmModuleServiceImpl.java b/base-service/src/main/java/com/hzya/frame/mdm/mdmModule/service/impl/MdmModuleServiceImpl.java
index 7169f57f..c32080d1 100644
--- a/base-service/src/main/java/com/hzya/frame/mdm/mdmModule/service/impl/MdmModuleServiceImpl.java
+++ b/base-service/src/main/java/com/hzya/frame/mdm/mdmModule/service/impl/MdmModuleServiceImpl.java
@@ -2340,7 +2340,20 @@ public class MdmModuleServiceImpl extends BaseService i
xf.setCreate();
sysButtonConfigDao.save(xf);
}
-
+ if ("viewData".equals(mdmModuleViewButtonEntities.get(i).getButtonValue())) {
+ SysButtonConfigEntity xf = new SysButtonConfigEntity();
+ xf.setCode("viewData");
+ xf.setNameCh("查看数据格式");
+ xf.setNameEn("viewData");
+ xf.setMenuId(module.getId());
+ xf.setIconName("");
+ xf.setStyles("");
+ xf.setBtnFunction("viewData");
+ xf.setRemark("查看数据格式");
+ xf.setSorts(i + 1L);
+ xf.setCreate();
+ sysButtonConfigDao.save(xf);
+ }
}
}
diff --git a/base-service/src/main/java/com/hzya/frame/mdm/service/IMdmService.java b/base-service/src/main/java/com/hzya/frame/mdm/service/IMdmService.java
index fff31302..70de4325 100644
--- a/base-service/src/main/java/com/hzya/frame/mdm/service/IMdmService.java
+++ b/base-service/src/main/java/com/hzya/frame/mdm/service/IMdmService.java
@@ -87,6 +87,15 @@ public interface IMdmService {
* @Date 9:40 上午 2023/10/18
**/
JsonResultEntity queryMdmShowDetailsData(JSONObject jsonObject);
+
+ /**
+ * @param jsonObject
+ * @return com.hzya.frame.web.entity.JsonResultEntity
+ * @Author lvleigang
+ * @Description 主数据详情数据字典
+ * @Date 9:40 上午 2023/10/18
+ **/
+ JsonResultEntity queryMdmShowDetailsDictionary(JSONObject jsonObject);
//
/**
* @param jsonObject
diff --git a/base-service/src/main/java/com/hzya/frame/mdm/service/impl/MdmServiceImpl.java b/base-service/src/main/java/com/hzya/frame/mdm/service/impl/MdmServiceImpl.java
index fcb46154..b5d7e716 100644
--- a/base-service/src/main/java/com/hzya/frame/mdm/service/impl/MdmServiceImpl.java
+++ b/base-service/src/main/java/com/hzya/frame/mdm/service/impl/MdmServiceImpl.java
@@ -101,12 +101,6 @@ public class MdmServiceImpl implements IMdmService {
@Resource
private IMdmServiceCache mdmServiceCache;
@Resource
- private ISysMenuConfigDao sysMenuConfigDao;
- @Resource
- private ISysButtonConfigDao sysButtonConfigDao;
- @Resource
- private ISysPopedomOperateDao sysPopedomOperateDao;
- @Resource
private IMdmModuleDbDao mdmModuleDbDao;
@Resource
private ISysUserDao sysUserDao;
@@ -1381,15 +1375,188 @@ public class MdmServiceImpl implements IMdmService {
}
}
- //if (tablename != null && !"".equals(tablename)) {
- // Map queryData = new HashMap<>();
- // queryData.put("tableName", tablename);//表名
- // queryData.put("id", entity.getId());//字段
- // List> datas = mdmModuleDbDao.getServiceByDistributeId(queryData);
- // jsonObject.put(tablename, datas);
- //}
+
+ return BaseResult.getSuccessMessageEntity("获取数据成功", jsonObject);
+ }
+
+
+ /**
+ * @param object
+ * @return com.hzya.frame.web.entity.JsonResultEntity
+ * @Author lvleigang
+ * @Description 主数据详情数据字典
+ * @Date 9:40 上午 2023/10/18
+ **/
+ @Override
+ public JsonResultEntity queryMdmShowDetailsDictionary(JSONObject object) {
+ MdmDto entity = getData("jsonStr", object, MdmDto.class);
+ if (entity == null) {
+ return BaseResult.getFailureMessageEntity("参数不允许为空");
+ }
+ if (entity.getMdmCode() == null || "".equals(entity.getMdmCode())) {
+ return BaseResult.getFailureMessageEntity("系统错误");
+ }
+ if (entity.getId() == null || "".equals(entity.getId())) {
+ return BaseResult.getFailureMessageEntity("系统错误");
+ }
+ //查询模版
+
+ MdmModuleEntity mdmModuleEntity = mdmServiceCache.getMdmModuleEntity(entity.getMdmCode());
+ if (mdmModuleEntity == null) {
+ return BaseResult.getFailureMessageEntity("系统错误");
+ }
+ //查询数据源主表
+ MdmModuleDbEntity mdmModuleDbEntity = new MdmModuleDbEntity();
+ mdmModuleDbEntity.setMdmId(mdmModuleEntity.getId());
+ mdmModuleDbEntity.setSts("Y");
+ List mdmModuleDbEntityList = mdmServiceCache.queryMdmModuleDb(mdmModuleDbEntity);
+ if (mdmModuleDbEntityList == null || mdmModuleDbEntityList.size() == 0) {
+ return BaseResult.getFailureMessageEntity("系统错误");
+ }
+ MdmModuleDbFiledsEntity queryFild = new MdmModuleDbFiledsEntity();
+ queryFild.setMdmId(mdmModuleEntity.getId());
+ queryFild.setSts("Y");
+ List mdmModuleDbFiledsEntities = mdmServiceCache.queryMdmModuleDbFileds(queryFild);
+
+ MdmModuleDbFiledsRuleEntity mdmModuleDbFiledsRuleEntity = new MdmModuleDbFiledsRuleEntity();
+ mdmModuleDbFiledsRuleEntity.setMdmId(mdmModuleEntity.getId());
+ mdmModuleDbFiledsRuleEntity.setSts("Y");
+ List mdmModuleDbFiledsRuleEntities = mdmModuleDbFiledsRuleDao.queryBase(mdmModuleDbFiledsRuleEntity);
+
+ List mdmFiledsRuleDtos = new ArrayList<>();
+ if(mdmModuleDbFiledsRuleEntities != null && mdmModuleDbFiledsRuleEntities.size() > 0){
+ for (int i = 0; i < mdmModuleDbFiledsRuleEntities.size(); i++) {
+ if("treeselect".equals(mdmModuleDbFiledsRuleEntities.get(i).getRuleValue()) || "select".equals(mdmModuleDbFiledsRuleEntities.get(i).getRuleValue())){
+ MdmFiledsRuleDto mdmFiledsRuleDto = new MdmFiledsRuleDto();
+ mdmFiledsRuleDto.setDbId(mdmModuleDbFiledsRuleEntities.get(i).getDbId());
+ mdmFiledsRuleDto.setFiledId(mdmModuleDbFiledsRuleEntities.get(i).getFiledId());
+ mdmFiledsRuleDto.setMdmId(mdmModuleDbFiledsRuleEntities.get(i).getMdmId());
+ mdmFiledsRuleDto.setFiledType(mdmModuleDbFiledsRuleEntities.get(i).getRuleValue());
+ mdmFiledsRuleDtos.add(mdmFiledsRuleDto);
+ }
+ }
+ }
+
+ if(mdmFiledsRuleDtos != null && mdmFiledsRuleDtos.size() > 0){
+ for (int i = 0; i < mdmFiledsRuleDtos.size(); i++) {
+ for (int i1 = 0; i1 < mdmModuleDbFiledsRuleEntities.size(); i1++) {
+ if(mdmFiledsRuleDtos.get(i).getFiledId().equals(mdmModuleDbFiledsRuleEntities.get(i1).getFiledId())
+ && "service".equals(mdmModuleDbFiledsRuleEntities.get(i1).getRuleCode())){
+ mdmFiledsRuleDtos.get(i).setTypeFiled(mdmModuleDbFiledsRuleEntities.get(i1).getRuleValue());
+ }
+ }
+ }
+ }
+
+ //String tablename = null;
+ JSONObject jsonObject = new JSONObject();
+ jsonObject.put("appName","数智中台");
+ jsonObject.put("appCode","800004");
+ jsonObject.put("mdmCode",entity.getMdmCode());
+ jsonObject.put("optionName","admin");
+ for (int i = 0; i < mdmModuleDbEntityList.size(); i++) {
+ if ("1".equals(mdmModuleDbEntityList.get(i).getDbType()) || "2".equals(mdmModuleDbEntityList.get(i).getDbType())) {
+ //查询数据
+ Map queryData = new HashMap<>();
+ queryData.put("tableName", mdmModuleDbEntityList.get(i).getDbName());//表名
+ if ("1".equals(mdmModuleDbEntityList.get(i).getDbType())) {
+ queryData.put("detailFlag", false);//是否明细
+ queryData.put("id", entity.getId());//字段
+ HashMap datas = mdmModuleDbDao.getServiceDataById(queryData);
+ convertKeysToLowerCase(datas);
+ JSONObject zbdata = new JSONObject();
+ if(mdmModuleDbFiledsEntities != null && mdmModuleDbFiledsEntities.size() > 0){
+ for (int i2 = 0; i2 < mdmModuleDbFiledsEntities.size(); i2++) {
+ if(mdmModuleDbFiledsEntities.get(i2).getDbId().equals(mdmModuleDbEntityList.get(i).getId())){
+ if("1".equals(mdmModuleDbFiledsEntities.get(i2).getViewType())){
+ //判断是否是下拉类型
+ Object data = datas.get(mdmModuleDbFiledsEntities.get(i2).getEnName());
+ if(mdmFiledsRuleDtos != null && mdmFiledsRuleDtos.size() > 0){
+ for (int i1 = 0; i1 < mdmFiledsRuleDtos.size(); i1++) {
+ if(mdmModuleDbFiledsEntities.get(i2).getId().equals(mdmFiledsRuleDtos.get(i1).getFiledId())){
+ //查询对应的data_id
+ String strData = String.valueOf(data);
+ int index = strData.lastIndexOf(',');
+ if (index!= -1) {
+ strData = strData.substring(index + 1);
+ }
+ mdmFiledsRuleDtos.get(i1).setId(strData);
+ MdmFiledsRuleDto mdmFiledsRuleDto = mdmModuleDao.queryDataId(mdmFiledsRuleDtos.get(i1));
+ if(mdmFiledsRuleDto != null && mdmFiledsRuleDto.getDataId() != null && !"".equals(mdmFiledsRuleDto.getDataId())){
+ data = mdmFiledsRuleDto.getDataId();
+ }else {
+ data = null;
+ }
+ }
+ }
+ }
+ zbdata.put(mdmModuleDbFiledsEntities.get(i2).getEnName(),data);
+ }
+ }
+ }
+ }
+ jsonObject.put(mdmModuleDbEntityList.get(i).getDbName(), zbdata);
+ } else {
+ queryData.put("detailFlag", true);//是否明细
+ queryData.put("id", entity.getId());//字段
+ List> datas = mdmModuleDbDao.getServiceByFormmainId(queryData);
+ convertKeysToLowerCase(datas);
+ List mxDataList = new ArrayList<>();
+ if(datas != null && datas.size() > 0){
+ for (int i1 = 0; i1 < datas.size(); i1++) {
+ JSONObject mxData = new JSONObject();
+ if(mdmModuleDbFiledsEntities != null && mdmModuleDbFiledsEntities.size() > 0){
+ for (int i2 = 0; i2 < mdmModuleDbFiledsEntities.size(); i2++) {
+ if(mdmModuleDbFiledsEntities.get(i2).getDbId().equals(mdmModuleDbEntityList.get(i).getId())){
+ if("1".equals(mdmModuleDbFiledsEntities.get(i2).getViewType())){
+
+ //判断是否是下拉类型
+ Object data = datas.get(i1).get(mdmModuleDbFiledsEntities.get(i2).getEnName());
+ if(mdmFiledsRuleDtos != null && mdmFiledsRuleDtos.size() > 0){
+ for (int b = 0; b < mdmFiledsRuleDtos.size(); b++) {
+ if(mdmModuleDbFiledsEntities.get(i2).getId().equals(mdmFiledsRuleDtos.get(b).getFiledId())){
+ //查询对应的data_id
+ String strData = String.valueOf(data);
+ int index = strData.lastIndexOf(',');
+ if (index!= -1) {
+ strData = strData.substring(index + 1);
+ }
+ mdmFiledsRuleDtos.get(b).setId(strData);
+ MdmFiledsRuleDto mdmFiledsRuleDto = mdmModuleDao.queryDataId(mdmFiledsRuleDtos.get(b));
+ if(mdmFiledsRuleDto != null && mdmFiledsRuleDto.getDataId() != null && !"".equals(mdmFiledsRuleDto.getDataId())){
+ data = mdmFiledsRuleDto.getDataId();
+ }else {
+ data = null;
+ }
+ }
+ }
+ }
+ mxData.put(mdmModuleDbFiledsEntities.get(i2).getEnName(),data);
+ }
+ }
+ }
+ }
+ mxDataList.add(mxData);
+ }
+ }else {
+ JSONObject mxData = new JSONObject();
+ if(mdmModuleDbFiledsEntities != null && mdmModuleDbFiledsEntities.size() > 0){
+ for (int i2 = 0; i2 < mdmModuleDbFiledsEntities.size(); i2++) {
+ if(mdmModuleDbFiledsEntities.get(i2).getDbId().equals(mdmModuleDbEntityList.get(i).getId())){
+ if("1".equals(mdmModuleDbFiledsEntities.get(i2).getViewType())){
+ mxData.put(mdmModuleDbFiledsEntities.get(i2).getEnName(),null);
+ }
+ }
+ }
+ }
+ mxDataList.add(mxData);
+ }
+ jsonObject.put(mdmModuleDbEntityList.get(i).getDbName(), mxDataList);
+ }
+ }
+ }
return BaseResult.getSuccessMessageEntity("获取数据成功", jsonObject);
}
diff --git a/base-service/src/main/java/com/hzya/frame/sysnew/application/api/entity/SysApplicationApiEntity.xml b/base-service/src/main/java/com/hzya/frame/sysnew/application/api/entity/SysApplicationApiEntity.xml
index 089b6eb5..f2d0a1dc 100644
--- a/base-service/src/main/java/com/hzya/frame/sysnew/application/api/entity/SysApplicationApiEntity.xml
+++ b/base-service/src/main/java/com/hzya/frame/sysnew/application/api/entity/SysApplicationApiEntity.xml
@@ -42,6 +42,7 @@
+
@@ -156,52 +157,87 @@ WHERE
diff --git a/base-service/src/main/java/com/hzya/frame/sysnew/application/api/service/ISysApplicationApiService.java b/base-service/src/main/java/com/hzya/frame/sysnew/application/api/service/ISysApplicationApiService.java
index 2218bf04..52272f22 100644
--- a/base-service/src/main/java/com/hzya/frame/sysnew/application/api/service/ISysApplicationApiService.java
+++ b/base-service/src/main/java/com/hzya/frame/sysnew/application/api/service/ISysApplicationApiService.java
@@ -24,6 +24,8 @@ public interface ISysApplicationApiService extends IBaseService resultList = new ArrayList<>();
+ for (int i = 0; i < appIdList.length; i++) {
+ entity.setAppId(appIdList[i]);
+ List list = sysApplicationApiDao.queryBase(entity);
+ resultList.addAll(list);
+ }
+ //手动分页
+ int total = resultList.size();
+ int fromIndex = (pageNum - 1) * pageSize;
+ int toIndex = Math.min(fromIndex + pageSize, total);
+ List pageList = resultList.subList(fromIndex, toIndex);
+
+ PageInfo pageInfo = new PageInfo<>(pageList);
+ pageInfo.setTotal(total);
+ pageInfo.setPages((total + pageSize - 1) / pageSize);
+
+ return BaseResult.getSuccessMessageEntity("查询数据成功", pageInfo);
+ }
+
/**
* 模糊查询,联查sys_app
*
diff --git a/base-service/src/main/java/com/hzya/frame/sysnew/application/entity/SysApplicationEntity.java b/base-service/src/main/java/com/hzya/frame/sysnew/application/entity/SysApplicationEntity.java
index 3eb1ff34..3be0953f 100644
--- a/base-service/src/main/java/com/hzya/frame/sysnew/application/entity/SysApplicationEntity.java
+++ b/base-service/src/main/java/com/hzya/frame/sysnew/application/entity/SysApplicationEntity.java
@@ -42,6 +42,16 @@ public class SysApplicationEntity extends BaseEntity {
private String interfaceStatus;
/** 数据源是否启用(1、开启 2、关闭) */
private String dbStatus;
+ /** 新消息数 */
+ private int newMessageCount;
+
+ public int getNewMessageCount() {
+ return newMessageCount;
+ }
+
+ public void setNewMessageCount(int newMessageCount) {
+ this.newMessageCount = newMessageCount;
+ }
/** 系统类型 1、致远OA 2、用友U8C 3、用友BIP */
private String appType;
diff --git a/base-service/src/main/java/com/hzya/frame/sysnew/application/service/ISysApplicationService.java b/base-service/src/main/java/com/hzya/frame/sysnew/application/service/ISysApplicationService.java
index 25ec9090..f8dd60b1 100644
--- a/base-service/src/main/java/com/hzya/frame/sysnew/application/service/ISysApplicationService.java
+++ b/base-service/src/main/java/com/hzya/frame/sysnew/application/service/ISysApplicationService.java
@@ -3,6 +3,7 @@ package com.hzya.frame.sysnew.application.service;
import com.alibaba.fastjson.JSONObject;
import com.hzya.frame.sysnew.application.entity.SysApplicationEntity;
import com.hzya.frame.basedao.service.IBaseService;
+import com.hzya.frame.sysnew.application.entity.SysExtensionApiEntity;
import com.hzya.frame.sysnew.messageManageLog.entity.SysMessageManageLogEntity;
import com.hzya.frame.web.entity.JsonResultEntity;
@@ -432,4 +433,8 @@ public interface ISysApplicationService extends IBaseService sendMssage(sysPushMessageEntity));
+ taskExecutor.execute(() -> sendMssage(sysPushMessageEntity));
return sysMessageManageLogEntity;
}
@@ -3478,4 +3479,39 @@ public class SysApplicationServiceImpl extends BaseService 0) {
+ for (int i = 0; i < jsonArray.size(); i++) {
+ JSONObject object1 = jsonArray.getJSONObject(i);
+ if(i > 0){
+ stringBuilder.append("&");
+ }
+ stringBuilder.append(object1.getString("parameterName")).append("=").append(object1.getString("example"));
+ }
+ }
+ }
+ sysExtensionApiEntity.setQuerys(stringBuilder.toString());
+ return sysExtensionApiEntity;
+ }
+
+ @Override
+ public SysExtensionApiEntity setDDUserId(SysExtensionApiEntity sysExtensionApiEntity) {
+ String bodys = sysExtensionApiEntity.getBodys();
+ StringBuilder stringBuilder = new StringBuilder();
+ JSONObject jsonObject = JSONObject.parseObject(bodys);
+ stringBuilder.append("userid=").append(jsonObject.getString("userid"));
+ stringBuilder.append("&");
+ stringBuilder.append("access_token=").append(jsonObject.getString("access_token"));
+ sysExtensionApiEntity.setQuerys(stringBuilder.toString());
+ return sysExtensionApiEntity;
+ }
+
+
}
diff --git a/base-service/src/main/java/com/hzya/frame/sysnew/login/ILoginService.java b/base-service/src/main/java/com/hzya/frame/sysnew/login/ILoginService.java
index 90f9bfa0..69b63c81 100644
--- a/base-service/src/main/java/com/hzya/frame/sysnew/login/ILoginService.java
+++ b/base-service/src/main/java/com/hzya/frame/sysnew/login/ILoginService.java
@@ -15,4 +15,13 @@ public interface ILoginService {
* @throws Exception
*/
JsonResultEntity doLogin(JSONObject jsonObject)throws Exception;
+/****
+ * 移动端登录
+ * @content:
+ * @author 👻👻👻👻👻👻👻👻 gjh
+ * @date 2024-09-14 10:51
+ * @param
+ * @return com.hzya.frame.web.entity.JsonResultEntity
+ **/
+ JsonResultEntity appDoLogin(JSONObject jsonObject) ;
}
diff --git a/base-service/src/main/java/com/hzya/frame/sysnew/login/impl/LoginServiceImpl.java b/base-service/src/main/java/com/hzya/frame/sysnew/login/impl/LoginServiceImpl.java
index 3b0bf5be..d5883b07 100644
--- a/base-service/src/main/java/com/hzya/frame/sysnew/login/impl/LoginServiceImpl.java
+++ b/base-service/src/main/java/com/hzya/frame/sysnew/login/impl/LoginServiceImpl.java
@@ -2,7 +2,18 @@ package com.hzya.frame.sysnew.login.impl;
import cn.dev33.satoken.stp.SaTokenInfo;
import cn.dev33.satoken.stp.StpUtil;
+import cn.hutool.core.util.StrUtil;
+import cn.hutool.http.HttpRequest;
+import cn.hutool.http.HttpUtil;
import com.alibaba.fastjson.JSONObject;
+import com.dingtalk.api.DefaultDingTalkClient;
+import com.dingtalk.api.DingTalkClient;
+import com.dingtalk.api.request.OapiGettokenRequest;
+import com.dingtalk.api.request.OapiV2UserGetRequest;
+import com.dingtalk.api.request.OapiV2UserGetuserinfoRequest;
+import com.dingtalk.api.response.OapiGettokenResponse;
+import com.dingtalk.api.response.OapiV2UserGetResponse;
+import com.dingtalk.api.response.OapiV2UserGetuserinfoResponse;
import com.hzya.frame.sysnew.application.dao.ISysApplicationDao;
import com.hzya.frame.sysnew.application.entity.SysApplicationEntity;
import com.hzya.frame.sysnew.login.ILoginService;
@@ -21,11 +32,16 @@ import com.hzya.frame.sysnew.userRoles.entity.SysUserRolesEntity;
import com.hzya.frame.util.AESUtil;
import com.hzya.frame.web.entity.BaseResult;
import com.hzya.frame.web.entity.JsonResultEntity;
+import com.hzya.frame.web.exception.BaseSystemException;
import org.checkerframework.checker.units.qual.C;
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
+import org.springframework.beans.factory.annotation.Value;
import org.springframework.stereotype.Service;
import javax.annotation.Resource;
import java.util.List;
+import java.util.Map;
/**
@@ -35,6 +51,7 @@ import java.util.List;
**/
@Service(value = "loginService")
public class LoginServiceImpl implements ILoginService {
+ private final Logger logger = LoggerFactory.getLogger(LoginServiceImpl.class);
@Resource
private ISysUserDao sysUserDao;
@@ -42,7 +59,8 @@ public class LoginServiceImpl implements ILoginService {
private ISysPersonDao sysPersonDao;
@Resource
private ISysOrganDao sysOrganDao;
-
+ @Value("${zt.url}")
+ private String url ;
@Resource
private ISysApplicationDao sysApplicationDao;
@Resource
@@ -67,7 +85,10 @@ public class LoginServiceImpl implements ILoginService {
return BaseResult.getFailureMessageEntity("请输入用户名或密码");
}
entity.setPassword(AESUtil.encrypt(entity.getLoginCode() + "-" + entity.getPassword()));
- SysUserEntity sysUserEntity = sysUserDao.queryOne(entity);
+ SysUserEntity sysUserEntity = new SysUserEntity();
+ sysUserEntity.setLoginCode(entity.getLoginCode());
+ sysUserEntity.setPassword(entity.getPassword());
+ sysUserEntity = sysUserDao.queryOne(sysUserEntity);
if (sysUserEntity == null || sysUserEntity.getId() == null || "".equals(sysUserEntity.getId())) {
return BaseResult.getFailureMessageEntity("用户名或密码错误");
}
@@ -113,6 +134,14 @@ public class LoginServiceImpl implements ILoginService {
//}
//登录
StpUtil.login(sysUserEntity.getId());
+ //修改ddid或者修改微信id
+ if((entity.getDdUserId() != null && !"".equals(entity.getDdUserId()))
+ || (entity.getWxUserId() != null && !"".equals(entity.getWxUserId())) ){
+ sysUserEntity.setDdUserId(entity.getDdUserId());
+ sysUserEntity.setWxUserId(entity.getWxUserId());
+ sysUserDao.update(sysUserEntity);
+ }
+
//获取token
SaTokenInfo tokenInfo = StpUtil.getTokenInfo();
String token = tokenInfo.getTokenValue();
@@ -131,6 +160,131 @@ public class LoginServiceImpl implements ILoginService {
return BaseResult.getSuccessMessageEntity("登录成功", res);
}
+ /****
+ * 移动端登录地址
+ * @content:
+ * @author 👻👻👻👻👻👻👻👻 gjh
+ * @date 2024-09-14 11:14
+ * @param
+ * @return com.hzya.frame.web.entity.JsonResultEntity
+ **/
+ @Override
+ public JsonResultEntity appDoLogin(JSONObject jsonObject) {
+ //移动端类型
+ JSONObject entity = getData("jsonStr", jsonObject, JSONObject.class);
+ logger.error(entity.toString());
+ //boolean f = true;
+ //if(f){
+ // return BaseResult.getFailureMessageEntity("cuowu",entity);
+ //}
+ //DD,weChat
+ String appType = entity.getString("appType");
+ String appId = entity.getString("appId");
+ String apiCode = entity.getString("apiCode");
+ String userApiCode = entity.getString("userApiCode");
+ SysUserEntity userEntity = new SysUserEntity();
+ switch (appType){
+ case "DD":
+ String code = entity.getString("code");//授权码
+ String requestType = entity.getString("UserAgent");// pc端还是移动端
+ JSONObject bodyParams = new JSONObject();
+ bodyParams.put("code",code);
+ String result = HttpRequest.post(url).
+ header("appId",appId).
+ header("apiCode",userApiCode).
+ header("publicKey","ZJYAWb7lhAUTYqekPkU+uHJv1/ObJxb7dT7sD8HPRDGAgyhCe7eDIk+3zDUT+v578prj").
+ header("secretKey","fviZnLBsQUAGF8w8FSOdJi7XlIm/XAZclMxRagDLfTyJFlvnIBF3w66Hrpfzs8cYj3JzOP8MtA1LSGvL+2BWG8c/o7DKi92S4mr3zcGearA=").
+ body(bodyParams.toJSONString()).
+ execute().
+ body();
+ JSONObject resultJson = JSONObject.parseObject(result);
+ boolean flag = resultJson.getBoolean("flag");
+ if(!flag){
+ return BaseResult.getFailureMessageEntity("请求错误:"+resultJson.getString("msg"));
+ }
+ String userid = resultJson.getJSONObject("attribute").getJSONObject("result").getString("userid");
+ if(StrUtil.isEmpty(userid)){
+ return BaseResult.getFailureMessageEntity("认证失败!获取钉钉userid错误","1006");
+ }
+ userEntity.setDdUserId( userid);
+ userEntity = sysUserDao.queryOne(userEntity);
+ if(null == userEntity ){
+ JSONObject object = new JSONObject();
+ object.put("userid",userid);
+ return BaseResult.getFailureMessageEntity("认证失败!当前用户未绑定钉钉","1005",object);
+ }
+ break;
+ case "weChat":
+ break;
+ default:
+ return BaseResult.getFailureMessageEntity("错误的App类型:"+appType+" 支持的app类型有:DD,weChat");
+
+ }
+ //登录
+ StpUtil.login(userEntity.getId());
+ //获取token
+ SaTokenInfo tokenInfo = StpUtil.getTokenInfo();
+ String token = tokenInfo.getTokenValue();
+ //获取公司
+ SysOrganEntity sysOrganEntity = new SysOrganEntity();
+ sysOrganEntity.setUserId(userEntity.getId());
+ List sysOrganEntities = sysOrganDao.queryUserCompany(sysOrganEntity);
+ //返回值
+ JSONObject res = new JSONObject();
+ res.put("token", token);
+ res.put("userInfo", userEntity);
+ res.put("company", sysOrganEntities);
+ //切换数据源查询
+
+ return BaseResult.getSuccessMessageEntity("登录成功", res);
+
+ //校验当前登陆人是否有权限
+ //boolean flag = false;
+ //SysInterfaceEntity sysInterfaceEntity = (SysInterfaceEntity) interfaceCache.get("6","beanNameloginServiceinterfacNamedoLogin");
+ //if(sysInterfaceEntity == null || sysInterfaceEntity.getId() == null){
+ // return BaseResult.getFailureMessageEntity("用户无访问权限,请联系管理员");
+ //}
+ ////查询用户权限
+ //if(!flag){
+ // SysPopedomInterfaceEntity userPopedomInterfaceEntity = (SysPopedomInterfaceEntity) interfaceCache.get("4","userId"+sysUserEntity.getId()+"interfaceId"+sysInterfaceEntity.getId());
+ // if(userPopedomInterfaceEntity != null && userPopedomInterfaceEntity.getId() != null ){
+ // flag = true;
+ // }
+ //}
+ ////查询用户角色的权限
+ //if(!flag){
+ // List userRoleMap = (List) interfaceCache.get("3",null);
+ // if(userRoleMap != null && userRoleMap.size() > 0){
+ // for (SysUserRolesEntity sysUserRolesEntity : userRoleMap) {
+ // if(sysUserRolesEntity.getUserId().equals(sysUserEntity.getId())){
+ // SysPopedomInterfaceEntity sysPopedomInterfaceEntity = (SysPopedomInterfaceEntity) interfaceCache.get("5","roleId"+sysUserRolesEntity.getRoleId()+"interfaceId"+sysInterfaceEntity.getId());
+ // if(sysPopedomInterfaceEntity != null && sysPopedomInterfaceEntity.getId() != null ){
+ // flag = true;
+ // break;
+ // }
+ // }
+ // }
+ // }
+ //}
+ //if(!flag){
+ // return BaseResult.getFailureMessageEntity("用户无访问权限,请联系管理员");
+ //}
+
+ }
+
+ private JSONObject getAccess_token(String appId,String apiCode) {
+ String result = HttpRequest.post(url).
+ header("appId",appId).
+ header("apiCode",apiCode).
+ header("publicKey","ZJYAWb7lhAUTYqekPkU+uHJv1/ObJxb7dT7sD8HPRDGAgyhCe7eDIk+3zDUT+v578prj").
+ header("secretKey","fviZnLBsQUAGF8w8FSOdJi7XlIm/XAZclMxRagDLfTyJFlvnIBF3w66Hrpfzs8cYj3JzOP8MtA1LSGvL+2BWG8c/o7DKi92S4mr3zcGearA=").
+ execute().
+ body();
+ JSONObject resultJson = JSONObject.parseObject(result);
+ return resultJson;
+ }
+
+
protected T getData(String key, JSONObject jsonObject, Class clz) {
if (checkStr(jsonObject.getString(key))) {
return jsonObject.getJSONObject(key).toJavaObject(clz);
diff --git a/base-service/src/main/java/com/hzya/frame/sysnew/messageManageLog/entity/SysMessageManageLogEntity.java b/base-service/src/main/java/com/hzya/frame/sysnew/messageManageLog/entity/SysMessageManageLogEntity.java
index c6218dc0..67bb5e5a 100644
--- a/base-service/src/main/java/com/hzya/frame/sysnew/messageManageLog/entity/SysMessageManageLogEntity.java
+++ b/base-service/src/main/java/com/hzya/frame/sysnew/messageManageLog/entity/SysMessageManageLogEntity.java
@@ -21,7 +21,9 @@ public class SysMessageManageLogEntity extends BaseEntity {
private String messageCode;
/** 发送者应用 */
private String sendApp;
- /** 发送者 */
+ private String sendAppName;
+
+ /** 发送者 */
private String sendApi;
/** 接收者编码 */
private String receiveCode;
@@ -196,5 +198,13 @@ public class SysMessageManageLogEntity extends BaseEntity {
public void setCreateTimeEnd(Date createTimeEnd) {
this.createTimeEnd = createTimeEnd;
}
+
+ public String getSendAppName() {
+ return sendAppName;
+ }
+
+ public void setSendAppName(String sendAppName) {
+ this.sendAppName = sendAppName;
+ }
}
diff --git a/base-service/src/main/java/com/hzya/frame/sysnew/messageManageLog/entity/SysMessageManageLogEntity.xml b/base-service/src/main/java/com/hzya/frame/sysnew/messageManageLog/entity/SysMessageManageLogEntity.xml
index 5c02e0bb..990d106a 100644
--- a/base-service/src/main/java/com/hzya/frame/sysnew/messageManageLog/entity/SysMessageManageLogEntity.xml
+++ b/base-service/src/main/java/com/hzya/frame/sysnew/messageManageLog/entity/SysMessageManageLogEntity.xml
@@ -566,7 +566,8 @@ where id = #{id}
a.status AS status,
a.remark AS remark,
a.create_time AS createTime,
- a.modify_time AS modifyTime
+ a.modify_time AS modifyTime,
+ receiveApi.api_name AS receiveApiName
FROM
@@ -577,6 +578,7 @@ where id = #{id}
LEFT JOIN sys_application sendApp ON a.send_app = sendApp.id AND sendApp.sts = 'Y'
+ LEFT JOIN sys_application_api receiveApi ON a.receive_code = receiveApi.api_code AND receiveApi.sts = 'Y'
AND a.id in
diff --git a/base-service/src/main/java/com/hzya/frame/sysnew/messageManageLog/service/impl/SysMessageManageLogServiceImpl.java b/base-service/src/main/java/com/hzya/frame/sysnew/messageManageLog/service/impl/SysMessageManageLogServiceImpl.java
index e8fbb850..2813a75e 100644
--- a/base-service/src/main/java/com/hzya/frame/sysnew/messageManageLog/service/impl/SysMessageManageLogServiceImpl.java
+++ b/base-service/src/main/java/com/hzya/frame/sysnew/messageManageLog/service/impl/SysMessageManageLogServiceImpl.java
@@ -6,6 +6,8 @@ import com.alibaba.fastjson.JSONObject;
import com.github.pagehelper.PageHelper;
import com.github.pagehelper.PageInfo;
import com.hzya.frame.basedao.service.impl.BaseService;
+import com.hzya.frame.sysnew.application.dao.ISysApplicationDao;
+import com.hzya.frame.sysnew.application.entity.SysApplicationEntity;
import com.hzya.frame.sysnew.messageManageLogBack.detail.server.ISysMessageManageLogDetailBackService;
import com.hzya.frame.sysnew.messageManageLogBack.service.ISysMessageManageLogBackService;
import com.hzya.frame.sysnew.messageManageLogDetail.dao.ISysMessageManageLogDetailDao;
@@ -41,7 +43,8 @@ public class SysMessageManageLogServiceImpl extends BaseService
-
-
-
-
@@ -34,18 +30,14 @@
,modify_time
,sts
,org_id
- ,company_id
- ,bill_kind_id
+ ,company_id
,template_type
,template_name
,message_title
,message_contents
,btns
- ,data_source
- ,create_date
- ,create_person_id
- ,state
- ,isdelete
+ ,data_source
+ ,state
@@ -70,17 +62,13 @@
and sts = #{sts}
and org_id = #{org_id}
and company_id = #{companyId}
- and bill_kind_id = #{billKindId}
and template_type = #{templateType}
and template_name = #{templateName}
and message_title = #{messageTitle}
and message_contents = #{messageContents}
and btns = #{btns}
and data_source = #{dataSource}
- and create_date = #{createDate}
- and create_person_id = #{createPersonId}
and state = #{state}
- and isdelete = #{isdelete}
and sts='Y'
order by sorts asc
@@ -100,15 +88,12 @@
and sts = #{sts}
and org_id = #{org_id}
and company_id = #{companyId}
- and bill_kind_id = #{billKindId}
and template_type = #{templateType}
and template_name = #{templateName}
and message_title = #{messageTitle}
and message_contents = #{messageContents}
and btns = #{btns}
and data_source = #{dataSource}
- and create_date = #{createDate}
- and create_person_id = #{createPersonId}
and state = #{state}
and isdelete = #{isdelete}
and sts='Y'
@@ -132,17 +117,13 @@
and sts like concat('%',#{sts},'%')
and org_id like concat('%',#{org_id},'%')
and company_id like concat('%',#{companyId},'%')
- and bill_kind_id like concat('%',#{billKindId},'%')
and template_type like concat('%',#{templateType},'%')
and template_name like concat('%',#{templateName},'%')
and message_title like concat('%',#{messageTitle},'%')
and message_contents like concat('%',#{messageContents},'%')
and btns like concat('%',#{btns},'%')
and data_source like concat('%',#{dataSource},'%')
- and create_date like concat('%',#{createDate},'%')
- and create_person_id like concat('%',#{createPersonId},'%')
and state like concat('%',#{state},'%')
- and isdelete like concat('%',#{isdelete},'%')
and sts='Y'
order by sorts asc
@@ -164,15 +145,12 @@
or sts = #{sts}
or org_id = #{org_id}
or company_id = #{companyId}
- or bill_kind_id = #{billKindId}
or template_type = #{templateType}
or template_name = #{templateName}
or message_title = #{messageTitle}
or message_contents = #{messageContents}
or btns = #{btns}
or data_source = #{dataSource}
- or create_date = #{createDate}
- or create_person_id = #{createPersonId}
or state = #{state}
or isdelete = #{isdelete}
and sts='Y'
@@ -194,17 +172,13 @@
sts ,
org_id ,
company_id ,
- bill_kind_id ,
template_type ,
template_name ,
message_title ,
message_contents ,
btns ,
data_source ,
- create_date ,
- create_person_id ,
state ,
- isdelete ,
sts,
)values(
@@ -218,17 +192,13 @@
#{sts} ,
#{org_id} ,
#{companyId} ,
- #{billKindId} ,
#{templateType} ,
#{templateName} ,
#{messageTitle} ,
#{messageContents} ,
#{btns} ,
#{dataSource} ,
- #{createDate} ,
- #{createPersonId} ,
#{state} ,
- #{isdelete} ,
'Y',
)
@@ -278,17 +248,13 @@ update sys_message_template set
sts = #{sts},
org_id = #{org_id},
company_id = #{companyId},
- bill_kind_id = #{billKindId},
template_type = #{templateType},
template_name = #{templateName},
message_title = #{messageTitle},
message_contents = #{messageContents},
btns = #{btns},
data_source = #{dataSource},
- create_date = #{createDate},
- create_person_id = #{createPersonId},
state = #{state},
- isdelete = #{isdelete},
where id = #{id}
diff --git a/base-service/src/main/java/com/hzya/frame/sysnew/messageTemplate/service/impl/SysMessageTemplateServiceImpl.java b/base-service/src/main/java/com/hzya/frame/sysnew/messageTemplate/service/impl/SysMessageTemplateServiceImpl.java
index 7f4db12a..6930fd2c 100644
--- a/base-service/src/main/java/com/hzya/frame/sysnew/messageTemplate/service/impl/SysMessageTemplateServiceImpl.java
+++ b/base-service/src/main/java/com/hzya/frame/sysnew/messageTemplate/service/impl/SysMessageTemplateServiceImpl.java
@@ -9,11 +9,15 @@ import com.hzya.frame.sysnew.messageTemplate.dao.ISysMessageTemplateDao;
import com.hzya.frame.sysnew.messageTemplate.service.ISysMessageTemplateService;
import com.hzya.frame.sysnew.person.dao.ISysPersonDao;
import com.hzya.frame.sysnew.user.entity.SysUserEntity;
+import com.hzya.frame.sysnew.warningConfig.dao.ISysWarningConfigDao;
+import com.hzya.frame.sysnew.warningConfig.entity.SysWarningConfigEntity;
import com.hzya.frame.web.entity.BaseResult;
import com.hzya.frame.web.entity.JsonResultEntity;
import org.springframework.stereotype.Service;
import org.springframework.beans.factory.annotation.Autowired;
+
import javax.annotation.Resource;
+
import com.hzya.frame.basedao.service.impl.BaseService;
import java.sql.*;
@@ -28,178 +32,178 @@ import java.util.List;
*/
@Service(value = "sysMessageTemplateService")
public class SysMessageTemplateServiceImpl extends BaseService implements ISysMessageTemplateService {
-
+
private ISysMessageTemplateDao sysMessageTemplateDao;
- @Resource
- public IExecSqlService execSqlService;
-
+ @Resource
+ private ISysWarningConfigDao sysWarningConfigDao;
+
+ @Resource
+ public IExecSqlService execSqlService;
+
@Autowired
- public void setSysMessageTemplateDao(ISysMessageTemplateDao dao) {
- this.sysMessageTemplateDao = dao;
- this.dao = dao;
- }
+ public void setSysMessageTemplateDao(ISysMessageTemplateDao dao) {
+ this.sysMessageTemplateDao = dao;
+ this.dao = dao;
+ }
- @Override
- public JsonResultEntity queryEntityPage(JSONObject jsonObject) {
- SysMessageTemplateEntity entity = getData("jsonStr", jsonObject, SysMessageTemplateEntity.class);
- //判断分页
- if (entity == null || entity.getPageNum() == null || entity.getPageSize() == null) {
- return BaseResult.getFailureMessageEntity("分页查询参数不存在");
- }
- PageHelper.startPage(entity.getPageNum(), entity.getPageSize());
- List list = sysMessageTemplateDao.queryByLike(entity);
- PageInfo pageInfo = new PageInfo(list);
- return BaseResult.getSuccessMessageEntity("查询数据成功", pageInfo);
- }
+ @Override
+ public JsonResultEntity queryEntityPage(JSONObject jsonObject) {
+ SysMessageTemplateEntity entity = getData("jsonStr", jsonObject, SysMessageTemplateEntity.class);
+ //判断分页
+ if (entity == null || entity.getPageNum() == null || entity.getPageSize() == null) {
+ return BaseResult.getFailureMessageEntity("分页查询参数不存在");
+ }
+ PageHelper.startPage(entity.getPageNum(), entity.getPageSize());
+ List list = sysMessageTemplateDao.queryByLike(entity);
+ PageInfo pageInfo = new PageInfo(list);
+ return BaseResult.getSuccessMessageEntity("查询数据成功", pageInfo);
+ }
- @Override
- public JsonResultEntity queryEntity(JSONObject jsonObject){
- SysMessageTemplateEntity entity = getData("jsonStr", jsonObject, SysMessageTemplateEntity.class);
- if(entity == null){
- entity = new SysMessageTemplateEntity();
- }
- List list = sysMessageTemplateDao.queryByLike(entity);
- return BaseResult.getSuccessMessageEntity("查询数据成功", list);
- }
+ @Override
+ public JsonResultEntity queryEntity(JSONObject jsonObject) {
+ SysMessageTemplateEntity entity = getData("jsonStr", jsonObject, SysMessageTemplateEntity.class);
+ if (entity == null) {
+ entity = new SysMessageTemplateEntity();
+ }
+ List list = sysMessageTemplateDao.queryByLike(entity);
+ return BaseResult.getSuccessMessageEntity("查询数据成功", list);
+ }
- @Override
- public JsonResultEntity getEntity(JSONObject jsonObject){
- SysMessageTemplateEntity entity = getData("jsonStr", jsonObject, SysMessageTemplateEntity.class);
- if(entity == null){
- return BaseResult.getFailureMessageEntity("参数不允许为空");
- }
- if(entity.getId() == null || "".equals(entity.getId())){
- return BaseResult.getFailureMessageEntity("系统错误");
- }
- entity = sysMessageTemplateDao.get(entity.getId());
- if(entity == null){
- return BaseResult.getFailureMessageEntity("获取消息模版失败");
- }
- return BaseResult.getSuccessMessageEntity("获取消息模版成功", entity);
- }
+ @Override
+ public JsonResultEntity getEntity(JSONObject jsonObject) {
+ SysMessageTemplateEntity entity = getData("jsonStr", jsonObject, SysMessageTemplateEntity.class);
+ if (entity == null) {
+ return BaseResult.getFailureMessageEntity("参数不允许为空");
+ }
+ if (entity.getId() == null || "".equals(entity.getId())) {
+ return BaseResult.getFailureMessageEntity("系统错误");
+ }
+ entity = sysMessageTemplateDao.get(entity.getId());
+ if (entity == null) {
+ return BaseResult.getFailureMessageEntity("获取消息模版失败");
+ }
+ return BaseResult.getSuccessMessageEntity("获取消息模版成功", entity);
+ }
- @Override
- public JsonResultEntity saveEntity(JSONObject jsonObject){
- SysMessageTemplateEntity entity = getData("jsonStr", jsonObject, SysMessageTemplateEntity.class);
- if (entity == null) {
- return BaseResult.getFailureMessageEntity("参数不允许为空");
- }
- if(entity.getBillKindId() == null || "".equals(entity.getBillKindId())){
- return BaseResult.getFailureMessageEntity("调用单据类型不允许为空");
- }
- if(entity.getTemplateType() == null || "".equals(entity.getTemplateType())){
- return BaseResult.getFailureMessageEntity("模版类型不允许为空");
- }
- if(entity.getTemplateName() == null || "".equals(entity.getTemplateName())){
- return BaseResult.getFailureMessageEntity("模版名称不允许为空");
- }
- if(entity.getMessageContents() == null || "".equals(entity.getMessageContents())){
- return BaseResult.getFailureMessageEntity("消息内容不允许为空");
- }
- if(entity.getDataSource() == null || "".equals(entity.getDataSource())){
- return BaseResult.getFailureMessageEntity("数据源不允许为空");
- }
- if(entity.getCreateDate() == null){
- return BaseResult.getFailureMessageEntity("创建时间不允许为空");
- }
- if(entity.getCreatePersonId() == null || "".equals(entity.getCreatePersonId())){
- return BaseResult.getFailureMessageEntity("创建人不允许为空");
- }
- entity.setCreate();
- sysMessageTemplateDao.save(entity);
- return BaseResult.getSuccessMessageEntity("保存消息模版成功",entity);
- }
+ @Override
+ public JsonResultEntity saveEntity(JSONObject jsonObject) {
+ SysMessageTemplateEntity entity = getData("jsonStr", jsonObject, SysMessageTemplateEntity.class);
+ if (entity == null) {
+ return BaseResult.getFailureMessageEntity("参数不允许为空");
+ }
+ if (entity.getTemplateType() == null || "".equals(entity.getTemplateType())) {
+ return BaseResult.getFailureMessageEntity("模版类型不允许为空");
+ }
+ if (entity.getTemplateName() == null || "".equals(entity.getTemplateName())) {
+ return BaseResult.getFailureMessageEntity("模版名称不允许为空");
+ }
+ if (entity.getMessageContents() == null || "".equals(entity.getMessageContents())) {
+ return BaseResult.getFailureMessageEntity("消息内容不允许为空");
+ }
+ if (entity.getDataSource() == null || "".equals(entity.getDataSource())) {
+ return BaseResult.getFailureMessageEntity("数据源不允许为空");
+ }
+ entity.setCreate();
+ sysMessageTemplateDao.save(entity);
+ return BaseResult.getSuccessMessageEntity("保存消息模版成功", entity);
+ }
- @Override
- public JsonResultEntity updateEntity(JSONObject jsonObject){
- SysMessageTemplateEntity entity = getData("jsonStr", jsonObject, SysMessageTemplateEntity.class);
- if(entity == null){
- return BaseResult.getFailureMessageEntity("参数不允许为空");
- }
- if (entity.getId() == null || "".equals(entity.getId())) {
- return BaseResult.getFailureMessageEntity("系统错误");
- }
- if(entity.getBillKindId() == null || "".equals(entity.getBillKindId())){
- return BaseResult.getFailureMessageEntity("调用单据类型不允许为空");
- }
- if(entity.getTemplateType() == null || "".equals(entity.getTemplateType())){
- return BaseResult.getFailureMessageEntity("模版类型不允许为空");
- }
- if(entity.getTemplateName() == null || "".equals(entity.getTemplateName())){
- return BaseResult.getFailureMessageEntity("模版名称不允许为空");
- }
- if(entity.getMessageContents() == null || "".equals(entity.getMessageContents())){
- return BaseResult.getFailureMessageEntity("消息内容不允许为空");
- }
- if(entity.getDataSource() == null || "".equals(entity.getDataSource())){
- return BaseResult.getFailureMessageEntity("数据源不允许为空");
- }
- if(entity.getCreateDate() == null){
- return BaseResult.getFailureMessageEntity("创建时间不允许为空");
- }
- if(entity.getCreatePersonId() == null || "".equals(entity.getCreatePersonId())){
- return BaseResult.getFailureMessageEntity("创建人不允许为空");
- }
- entity.setUpdate();
- sysMessageTemplateDao.update(entity);
- return BaseResult.getSuccessMessageEntity("修改消息模版成功",entity);
- }
+ @Override
+ public JsonResultEntity updateEntity(JSONObject jsonObject) {
+ SysMessageTemplateEntity entity = getData("jsonStr", jsonObject, SysMessageTemplateEntity.class);
+ if (entity == null) {
+ return BaseResult.getFailureMessageEntity("参数不允许为空");
+ }
+ if (entity.getId() == null || "".equals(entity.getId())) {
+ return BaseResult.getFailureMessageEntity("系统错误");
+ }
+ if (entity.getTemplateType() == null || "".equals(entity.getTemplateType())) {
+ return BaseResult.getFailureMessageEntity("模版类型不允许为空");
+ }
+ if (entity.getTemplateName() == null || "".equals(entity.getTemplateName())) {
+ return BaseResult.getFailureMessageEntity("模版名称不允许为空");
+ }
+ if (entity.getMessageContents() == null || "".equals(entity.getMessageContents())) {
+ return BaseResult.getFailureMessageEntity("消息内容不允许为空");
+ }
+ if (entity.getDataSource() == null || "".equals(entity.getDataSource())) {
+ return BaseResult.getFailureMessageEntity("数据源不允许为空");
+ }
+ entity.setUpdate();
+ sysMessageTemplateDao.update(entity);
+ return BaseResult.getSuccessMessageEntity("修改消息模版成功", entity);
+ }
- @Override
- public JsonResultEntity deleteEntity(JSONObject jsonObject){
- SysMessageTemplateEntity entity = getData("jsonStr", jsonObject, SysMessageTemplateEntity.class);
- if(entity == null){
- return BaseResult.getFailureMessageEntity("参数不允许为空");
- }
- if (entity.getId() == null || "".equals(entity.getId())) {
- return BaseResult.getFailureMessageEntity("系统错误");
- }
- entity.setUpdate();
- //1、判断这个模版有没有被使用过,使用过就不能删除(待完成)
- //将模版id去,预警配置表里查一下,如果有匹配的数据,代表有人正在使用,不能删除
- sysMessageTemplateDao.logicRemove(entity);
- return BaseResult.getSuccessMessageEntity("删除消息模版成功");
- }
+ @Override
+ public JsonResultEntity deleteEntity(JSONObject jsonObject) {
+ SysMessageTemplateEntity entity = getData("jsonStr", jsonObject, SysMessageTemplateEntity.class);
+ if (entity == null) {
+ return BaseResult.getFailureMessageEntity("参数不允许为空");
+ }
+ if (entity.getId() == null || "".equals(entity.getId())) {
+ return BaseResult.getFailureMessageEntity("系统错误");
+ }
+ //判断这个模版有没有被使用过,使用过就不能删除
+ //将模版id去,预警配置表里查一下,如果有匹配的数据,代表有人正在使用,不能删除
+ SysWarningConfigEntity warningConfigEntity = new SysWarningConfigEntity();
+ warningConfigEntity.setMessageTemplateId(entity.getId());
+ int count = sysWarningConfigDao.getCount(warningConfigEntity);
+ if (count > 0) {
+ return BaseResult.getFailureMessageEntity("该模版已被使用,不能删除");
+ }
+ entity.setUpdate();
+ sysMessageTemplateDao.logicRemove(entity);
+ return BaseResult.getSuccessMessageEntity("删除消息模版成功");
+ }
- @Override
- public JsonResultEntity enableDisableEntity(JSONObject jsonObject){
- SysMessageTemplateEntity entity = getData("jsonStr", jsonObject, SysMessageTemplateEntity.class);
- if(entity == null){
- return BaseResult.getFailureMessageEntity("参数不允许为空");
- }
- if (entity.getId() == null || "".equals(entity.getId())) {
- return BaseResult.getFailureMessageEntity("系统错误");
- }
- if (entity.getState() == null || "".equals(entity.getState())) {
- return BaseResult.getFailureMessageEntity("系统错误");
- }
- //0启用,1禁用
- if("0".equals(entity.getState())){
- entity.setUpdate();
- sysMessageTemplateDao.update(entity);
- return BaseResult.getSuccessMessageEntity("启用模版成功");
- }else{
- //停用消息模版
- entity.setUpdate();
- sysMessageTemplateDao.update(entity);
- return BaseResult.getSuccessMessageEntity("停用模版成功");
- }
- }
+ @Override
+ public JsonResultEntity enableDisableEntity(JSONObject jsonObject) {
+ SysMessageTemplateEntity entity = getData("jsonStr", jsonObject, SysMessageTemplateEntity.class);
+ if (entity == null) {
+ return BaseResult.getFailureMessageEntity("参数不允许为空");
+ }
+ if (entity.getId() == null || "".equals(entity.getId())) {
+ return BaseResult.getFailureMessageEntity("系统错误");
+ }
+ if (entity.getState() == null || "".equals(entity.getState())) {
+ return BaseResult.getFailureMessageEntity("系统错误");
+ }
+ //0停用,1启用
+ if ("0".equals(entity.getState())) {
+ entity.setUpdate();
+ sysMessageTemplateDao.update(entity);
+ //同步停用到预警配置表
+ SysWarningConfigEntity warningConfigEntity = new SysWarningConfigEntity();
+ warningConfigEntity.setMessageTemplateId(entity.getId());
+ warningConfigEntity.setStatus("1");
+ List warningConfigList = sysWarningConfigDao.queryByLike(warningConfigEntity);
+ for (SysWarningConfigEntity warningConfig : warningConfigList) {
+ warningConfig.setStatus("0");
+ warningConfig.setUpdate();
+ sysWarningConfigDao.update(warningConfig);
+ }
+ return BaseResult.getSuccessMessageEntity("停用模版成功");
+ } else {
+ entity.setUpdate();
+ sysMessageTemplateDao.update(entity);
+ return BaseResult.getSuccessMessageEntity("启用模版成功");
+ }
+ }
- @Override
- public JsonResultEntity checkSql(JSONObject jsonObject) throws Exception {
- try {
- String sql = JSONObject.parseObject(jsonObject.getString("jsonStr")).getString("sql");
- List> result = execSqlService.execSelectSql(sql, "master");
- return BaseResult.getSuccessMessageEntity("SQL检查成功", result);
- } catch (Exception e) {
- return BaseResult.getFailureMessageEntity("SQL检查失败,原因:" + e.getMessage());
- }
- }
+ @Override
+ public JsonResultEntity checkSql(JSONObject jsonObject) throws Exception {
+ try {
+ String sql = JSONObject.parseObject(jsonObject.getString("jsonStr")).getString("sql");
+ List> result = execSqlService.execSelectSql(sql, "master");
+ return BaseResult.getSuccessMessageEntity("SQL检查成功", result);
+ } catch (Exception e) {
+ return BaseResult.getFailureMessageEntity("SQL检查失败,原因:" + e.getMessage());
+ }
+ }
- @Override
- public JsonResultEntity spliceMessage(JSONObject jsonObject){
- return BaseResult.getSuccessMessageEntity("消息拼接成功");
- }
+ @Override
+ public JsonResultEntity spliceMessage(JSONObject jsonObject) {
+ return BaseResult.getSuccessMessageEntity("消息拼接成功");
+ }
}
diff --git a/base-service/src/main/java/com/hzya/frame/sysnew/pushMessage/entity/SysPushMessageEntity.java b/base-service/src/main/java/com/hzya/frame/sysnew/pushMessage/entity/SysPushMessageEntity.java
index 94eeb61f..9f5ba071 100644
--- a/base-service/src/main/java/com/hzya/frame/sysnew/pushMessage/entity/SysPushMessageEntity.java
+++ b/base-service/src/main/java/com/hzya/frame/sysnew/pushMessage/entity/SysPushMessageEntity.java
@@ -9,8 +9,6 @@ public class SysPushMessageEntity extends BaseEntity {
private Long warningAppCode;
/** 预警接口编码 */
private Long warningApiCode;
- /** 接收者ID列表*/
- private String recipientIdList;
/** 预警应用类型 */
private String warningAppType;
/** 发送应用名称 */
@@ -59,14 +57,6 @@ public class SysPushMessageEntity extends BaseEntity {
this.receiveApiCode = receiveApiCode;
}
- public String getRecipientIdList() {
- return recipientIdList;
- }
-
- public void setRecipientIdList(String recipientIdList) {
- this.recipientIdList = recipientIdList;
- }
-
public String getWarningAppType() {
return warningAppType;
}
diff --git a/base-service/src/main/java/com/hzya/frame/sysnew/pushMessage/entity/SysPushMessageEntity.xml b/base-service/src/main/java/com/hzya/frame/sysnew/pushMessage/entity/SysPushMessageEntity.xml
index 0916a33a..547ed5e9 100644
--- a/base-service/src/main/java/com/hzya/frame/sysnew/pushMessage/entity/SysPushMessageEntity.xml
+++ b/base-service/src/main/java/com/hzya/frame/sysnew/pushMessage/entity/SysPushMessageEntity.xml
@@ -7,7 +7,6 @@
-
@@ -23,19 +22,20 @@
warning_config.sendAppid AS warning_app_code,
warning_config.endApiCode AS warning_api_code,
warning_config.app_type AS warning_app_type,
- warning_config.recipient_id AS recipient_id_list,
log.send_app_name,
log.receive_app_name,
receive_api_name,
log.receive_api_code,
log.return_data,
- log.STATUS
+ log.STATUS,
+ log.create_time
FROM
v_hzya_sys_warning warning_config
- LEFT JOIN v_hzya_sys_send_message_log log ON warning_config.api_code = log.receive_api_code
+ LEFT JOIN v_hzya_sys_send_message_log log ON warning_config.api_code = log.receive_api_code
WHERE
log.STATUS = '4'
- AND warning_config.push_method = '定时'
+ AND warning_config.push_method = '定时'
+ AND log.create_time > DATE_SUB( CURDATE( ), INTERVAL 1 WEEK )
diff --git a/base-service/src/main/java/com/hzya/frame/sysnew/pushMessage/service/impl/SysPushMessageServiceImpl.java b/base-service/src/main/java/com/hzya/frame/sysnew/pushMessage/service/impl/SysPushMessageServiceImpl.java
index 28a7028d..c3200814 100644
--- a/base-service/src/main/java/com/hzya/frame/sysnew/pushMessage/service/impl/SysPushMessageServiceImpl.java
+++ b/base-service/src/main/java/com/hzya/frame/sysnew/pushMessage/service/impl/SysPushMessageServiceImpl.java
@@ -30,4 +30,5 @@ public class SysPushMessageServiceImpl extends BaseService list = sysPushMessageDao.getAll();
return BaseResult.getSuccessMessageEntity("success");
}
+
}
diff --git a/base-service/src/main/java/com/hzya/frame/sysnew/sendMessageLog/entity/SysSendMessageLogEntity.java b/base-service/src/main/java/com/hzya/frame/sysnew/sendMessageLog/entity/SysSendMessageLogEntity.java
index 6e88baf2..b425872e 100644
--- a/base-service/src/main/java/com/hzya/frame/sysnew/sendMessageLog/entity/SysSendMessageLogEntity.java
+++ b/base-service/src/main/java/com/hzya/frame/sysnew/sendMessageLog/entity/SysSendMessageLogEntity.java
@@ -9,17 +9,20 @@ import com.hzya.frame.web.entity.BaseEntity;
* @since 2024-08-30 14:19:30
*/
public class SysSendMessageLogEntity extends BaseEntity {
-
+
+
+ //接收人姓名
+ private String recipientsPersonName;
+ //发送人姓名
+ private String sendPersonName;
/** 公司id */
private String companyId;
- /** 来源业务单据 */
- private String billId;
/** 消息类型(1、系统消息、2、单据消息、3、钉钉、4微信、5短信、6、邮件) */
private String type;
/** 发送给谁(三方系统userID 钉钉微信、邮箱、手机号) */
- private String sendToUserId;
+ private String recipientsPersonId;
/** 发送给系统内部人员ID */
- private String sendToPersonId;
+ private String recipientsInteriorId;
/** 消息内容 */
private String sendCount;
/** 发送时间 */
@@ -32,7 +35,72 @@ public class SysSendMessageLogEntity extends BaseEntity {
private Integer state;
/** 三方系统消息结果 */
private String resultMessage;
+ /** 预警接口表id */
+ private String warningInterfaceId;
+ /** 应用id */
+ private String appId;
+ /** 应用名称 */
+ private String appName;
+ /** 消息标题 */
+ private String messageTitle;
+ /** 按钮 */
+ private String btns;
+ public String getAppName() {
+ return appName;
+ }
+
+ public void setAppName(String appName) {
+ this.appName = appName;
+ }
+
+ public String getMessageTitle() {
+ return messageTitle;
+ }
+
+ public void setMessageTitle(String messageTitle) {
+ this.messageTitle = messageTitle;
+ }
+
+ public String getBtns() {
+ return btns;
+ }
+
+ public void setBtns(String btns) {
+ this.btns = btns;
+ }
+
+ public String getAppId() {
+ return appId;
+ }
+
+ public void setAppId(String appId) {
+ this.appId = appId;
+ }
+
+ public String getWarningInterfaceId() {
+ return warningInterfaceId;
+ }
+
+ public void setWarningInterfaceId(String warningInterfaceId) {
+ this.warningInterfaceId = warningInterfaceId;
+ }
+
+ public String getRecipientsPersonName() {
+ return recipientsPersonName;
+ }
+
+ public void setRecipientsPersonName(String recipientsPersonName) {
+ this.recipientsPersonName = recipientsPersonName;
+ }
+
+ public String getSendPersonName() {
+ return sendPersonName;
+ }
+
+ public void setSendPersonName(String sendPersonName) {
+ this.sendPersonName = sendPersonName;
+ }
public String getCompanyId() {
return companyId;
@@ -42,14 +110,6 @@ public class SysSendMessageLogEntity extends BaseEntity {
this.companyId = companyId;
}
- public String getBillId() {
- return billId;
- }
-
- public void setBillId(String billId) {
- this.billId = billId;
- }
-
public String getType() {
return type;
}
@@ -58,20 +118,20 @@ public class SysSendMessageLogEntity extends BaseEntity {
this.type = type;
}
- public String getSendToUserId() {
- return sendToUserId;
+ public String getRecipientsPersonId() {
+ return recipientsPersonId;
}
- public void setSendToUserId(String sendToUserId) {
- this.sendToUserId = sendToUserId;
+ public void setRecipientsPersonId(String recipientsPersonId) {
+ this.recipientsPersonId = recipientsPersonId;
}
- public String getSendToPersonId() {
- return sendToPersonId;
+ public String getRecipientsInteriorId() {
+ return recipientsInteriorId;
}
- public void setSendToPersonId(String sendToPersonId) {
- this.sendToPersonId = sendToPersonId;
+ public void setRecipientsInteriorId(String recipientsInteriorId) {
+ this.recipientsInteriorId = recipientsInteriorId;
}
public String getSendCount() {
diff --git a/base-service/src/main/java/com/hzya/frame/sysnew/sendMessageLog/entity/SysSendMessageLogEntity.xml b/base-service/src/main/java/com/hzya/frame/sysnew/sendMessageLog/entity/SysSendMessageLogEntity.xml
index 144a67e7..b0e9b621 100644
--- a/base-service/src/main/java/com/hzya/frame/sysnew/sendMessageLog/entity/SysSendMessageLogEntity.xml
+++ b/base-service/src/main/java/com/hzya/frame/sysnew/sendMessageLog/entity/SysSendMessageLogEntity.xml
@@ -12,31 +12,24 @@
-
-
-
+
+
+
+
+
+
+
+
+
-
-
-
-
-
-
-
-
-
-
-
-
-
id
@@ -47,53 +40,67 @@
,modify_time
,sts
,org_id
- ,company_id
- ,bill_id
+ ,company_id
,type
- ,send_to_user_id
- ,send_to_person_id
+ ,recipients_person_id
+ ,recipients_interior_id
,send_count
,send_datetime
,send_person_id
,source_model_name
,state
- ,result_message
+ ,result_message
+ ,warning_interface_id
@@ -110,10 +117,9 @@
and sts = #{sts}
and org_id = #{org_id}
and company_id = #{companyId}
- and bill_id = #{billId}
and type = #{type}
- and send_to_user_id = #{sendToUserId}
- and send_to_person_id = #{sendToPersonId}
+ and recipients_person_id = #{recipientsPersonId}
+ and recipients_interior_id = #{recipientsInteriorId}
and send_count = #{sendCount}
and send_datetime = #{sendDatetime}
and send_person_id = #{sendPersonId}
@@ -128,32 +134,51 @@
@@ -172,10 +197,9 @@
or sts = #{sts}
or org_id = #{org_id}
or company_id = #{companyId}
- or bill_id = #{billId}
or type = #{type}
- or send_to_user_id = #{sendToUserId}
- or send_to_person_id = #{sendToPersonId}
+ or recipients_person_id = #{recipientsPersonId}
+ or recipients_interior_id = #{recipientsInteriorId}
or send_count = #{sendCount}
or send_datetime = #{sendDatetime}
or send_person_id = #{sendPersonId}
@@ -201,16 +225,16 @@
sts ,
org_id ,
company_id ,
- bill_id ,
type ,
- send_to_user_id ,
- send_to_person_id ,
+ recipients_person_id ,
+ recipients_interior_id ,
send_count ,
send_datetime ,
send_person_id ,
source_model_name ,
state ,
result_message ,
+ warning_interface_id ,
sts,
)values(
@@ -224,34 +248,34 @@
#{sts} ,
#{org_id} ,
#{companyId} ,
- #{billId} ,
#{type} ,
- #{sendToUserId} ,
- #{sendToPersonId} ,
+ #{recipientsPersonId} ,
+ #{recipientsInteriorId} ,
#{sendCount} ,
#{sendDatetime} ,
#{sendPersonId} ,
#{sourceModelName} ,
#{state} ,
#{resultMessage} ,
+ #{warningInterfaceId} ,
'Y',
)
- insert into sys_send_message_log(create_user_id, create_time, modify_user_id, modify_time, sts, org_id, company_id, bill_id, type, send_to_user_id, send_to_person_id, send_count, send_datetime, send_person_id, source_model_name, state, result_message, sts)
+ insert into sys_send_message_log(create_user_id, create_time, modify_user_id, modify_time, sts, org_id, company_id, bill_id, type, recipients_person_id, recipients_interior_id, send_count, send_datetime, send_person_id, source_model_name, state, result_message, sts)
values
- (#{entity.create_user_id},#{entity.create_time},#{entity.modify_user_id},#{entity.modify_time},#{entity.sts},#{entity.org_id},#{entity.companyId},#{entity.billId},#{entity.type},#{entity.sendToUserId},#{entity.sendToPersonId},#{entity.sendCount},#{entity.sendDatetime},#{entity.sendPersonId},#{entity.sourceModelName},#{entity.state},#{entity.resultMessage}, 'Y')
+ (#{entity.create_user_id},#{entity.create_time},#{entity.modify_user_id},#{entity.modify_time},#{entity.sts},#{entity.org_id},#{entity.companyId},#{entity.billId},#{entity.type},#{entity.recipientsPersonId},#{entity.recipientsInteriorId},#{entity.sendCount},#{entity.sendDatetime},#{entity.sendPersonId},#{entity.sourceModelName},#{entity.state},#{entity.resultMessage}, 'Y')
- insert into sys_send_message_log(create_user_id, create_time, modify_user_id, modify_time, sts, org_id, company_id, bill_id, type, send_to_user_id, send_to_person_id, send_count, send_datetime, send_person_id, source_model_name, state, result_message)
+ insert into sys_send_message_log(create_user_id, create_time, modify_user_id, modify_time, sts, org_id, company_id, bill_id, type, recipients_person_id, recipients_interior_id, send_count, send_datetime, send_person_id, source_model_name, state, result_message)
values
- (#{entity.create_user_id},#{entity.create_time},#{entity.modify_user_id},#{entity.modify_time},#{entity.sts},#{entity.org_id},#{entity.companyId},#{entity.billId},#{entity.type},#{entity.sendToUserId},#{entity.sendToPersonId},#{entity.sendCount},#{entity.sendDatetime},#{entity.sendPersonId},#{entity.sourceModelName},#{entity.state},#{entity.resultMessage})
+ (#{entity.create_user_id},#{entity.create_time},#{entity.modify_user_id},#{entity.modify_time},#{entity.sts},#{entity.org_id},#{entity.companyId},#{entity.billId},#{entity.type},#{entity.recipientsPersonId},#{entity.recipientsInteriorId},#{entity.sendCount},#{entity.sendDatetime},#{entity.sendPersonId},#{entity.sourceModelName},#{entity.state},#{entity.resultMessage})
on duplicate key update
create_user_id = values(create_user_id),
@@ -263,8 +287,8 @@
company_id = values(company_id),
bill_id = values(bill_id),
type = values(type),
- send_to_user_id = values(send_to_user_id),
- send_to_person_id = values(send_to_person_id),
+ recipients_person_id = values(recipients_person_id),
+ recipients_interior_id = values(recipients_interior_id),
send_count = values(send_count),
send_datetime = values(send_datetime),
send_person_id = values(send_person_id),
@@ -282,10 +306,9 @@ update sys_send_message_log set
sts = #{sts},
org_id = #{org_id},
company_id = #{companyId},
- bill_id = #{billId},
type = #{type},
- send_to_user_id = #{sendToUserId},
- send_to_person_id = #{sendToPersonId},
+ recipients_person_id = #{recipientsPersonId},
+ recipients_interior_id = #{recipientsInteriorId},
send_count = #{sendCount},
send_datetime = #{sendDatetime},
send_person_id = #{sendPersonId},
@@ -308,10 +331,9 @@ update sys_send_message_log set sts= 'N' ,modify_time = #{modify_time},modify_u
and sorts = #{sorts}
and sts = #{sts}
and company_id = #{companyId}
- and bill_id = #{billId}
and type = #{type}
- and send_to_user_id = #{sendToUserId}
- and send_to_person_id = #{sendToPersonId}
+ and recipients_person_id = #{recipientsPersonId}
+ and recipients_interior_id = #{recipientsInteriorId}
and send_count = #{sendCount}
and send_datetime = #{sendDatetime}
and send_person_id = #{sendPersonId}
@@ -326,28 +348,5 @@ update sys_send_message_log set sts= 'N' ,modify_time = #{modify_time},modify_u
delete from sys_send_message_log where id = #{id}
-
-
-
-
diff --git a/base-service/src/main/java/com/hzya/frame/sysnew/sendMessageLog/service/ISysSendMessageLogService.java b/base-service/src/main/java/com/hzya/frame/sysnew/sendMessageLog/service/ISysSendMessageLogService.java
index 929a22b3..0472f9ac 100644
--- a/base-service/src/main/java/com/hzya/frame/sysnew/sendMessageLog/service/ISysSendMessageLogService.java
+++ b/base-service/src/main/java/com/hzya/frame/sysnew/sendMessageLog/service/ISysSendMessageLogService.java
@@ -23,6 +23,8 @@ public interface ISysSendMessageLogService extends IBaseService implements ISysSendMessageLogService {
- @Resource
- private ISysWarningInterfaceDao sysWarningInterfaceDao;
- @Resource
- private ISysWarningConfigDao sysWarningConfigDao;
- @Resource
- private ISysMessageTemplateDao sysMessageTemplateDao;
- @Resource
- private ISysUserDao sysUserDao;
- @Resource
- private ISysApplicationApiDao sysApplicationApiDao;
- @Resource
- private ISysApplicationApiParaDao sysApplicationApiParaDao;
+ @Resource
+ private ApplicationCache applicationCache;
+ @Resource
+ private ISysWarningInterfaceDao sysWarningInterfaceDao;
+ @Resource
+ private ISysWarningConfigDao sysWarningConfigDao;
+ @Resource
+ private ISysMessageTemplateDao sysMessageTemplateDao;
+ @Resource
+ private ISysUserDao sysUserDao;
+ @Resource
+ private ISysPersonDao sysPersonsDao;
- private ISysSendMessageLogDao sysSendMessageLogDao;
+ @Resource
+ private ISysApplicationApiDao sysApplicationApiDao;
+ @Resource
+ private ISysApplicationApiParaDao sysApplicationApiParaDao;
- @Autowired
- public void setSysSendMessageLogDao(ISysSendMessageLogDao dao) {
- this.sysSendMessageLogDao = dao;
- this.dao = dao;
- }
+ @Value("${zt.url}")
+ private String url ;
- @Override
- public JsonResultEntity queryEntityPage(JSONObject jsonObject) {
- SysSendMessageLogEntity entity = getData("jsonStr", jsonObject, SysSendMessageLogEntity.class);
- if (entity == null || entity.getPageNum() == null || entity.getPageSize() == null) {
- return BaseResult.getFailureMessageEntity("分页查询参数不存在");
- }
- PageHelper.startPage(entity.getPageNum(), entity.getPageSize());
- List list = sysSendMessageLogDao.queryByLike(entity);
- PageInfo pageInfo = new PageInfo(list);
- return BaseResult.getSuccessMessageEntity("查询数据成功", pageInfo);
- }
+ private ISysSendMessageLogDao sysSendMessageLogDao;
- @Override
- public JsonResultEntity queryEntity(JSONObject jsonObject) {
- SysSendMessageLogEntity entity = getData("jsonStr", jsonObject, SysSendMessageLogEntity.class);
- if (entity == null) {
- entity = new SysSendMessageLogEntity();
- }
- List list = sysSendMessageLogDao.queryByLike(entity);
- return BaseResult.getSuccessMessageEntity("查询数据成功", list);
- }
+ @Autowired
+ public void setSysSendMessageLogDao(ISysSendMessageLogDao dao) {
+ this.sysSendMessageLogDao = dao;
+ this.dao = dao;
+ }
- @Override
- public JsonResultEntity getEntity(JSONObject jsonObject) {
- SysSendMessageLogEntity entity = getData("jsonStr", jsonObject, SysSendMessageLogEntity.class);
- if (entity == null) {
- return BaseResult.getFailureMessageEntity("参数不能为空");
- }
- if (entity.getId() == null || "".equals(entity.getId())) {
- return BaseResult.getFailureMessageEntity("系统错误");
- }
- entity = sysSendMessageLogDao.get(entity.getId());
- if (entity == null) {
- return BaseResult.getFailureMessageEntity("获取发送消息日志失败");
- }
- return BaseResult.getSuccessMessageEntity("获取发送消息日志成功", entity);
- }
+ @Override
+ public JsonResultEntity queryEntityPage(JSONObject jsonObject) {
+ SysSendMessageLogEntity entity = getData("jsonStr", jsonObject, SysSendMessageLogEntity.class);
+ if (entity == null || entity.getPageNum() == null || entity.getPageSize() == null) {
+ return BaseResult.getFailureMessageEntity("分页查询参数不存在");
+ }
+ PageHelper.startPage(entity.getPageNum(), entity.getPageSize());
+ List list = sysSendMessageLogDao.queryByLike(entity);
+ PageInfo pageInfo = new PageInfo(list);
+ return BaseResult.getSuccessMessageEntity("查询数据成功", pageInfo);
+ }
- @Override
- public JsonResultEntity saveEntity(JSONObject jsonObject) {
- SysSendMessageLogEntity entity = getData("jsonStr", jsonObject, SysSendMessageLogEntity.class);
- if (entity == null) {
- return BaseResult.getFailureMessageEntity("参数不能为空");
- }
- if (entity.getBillId() == null || "".equals(entity.getBillId())) {
- return BaseResult.getFailureMessageEntity("来源业务单据不能为空");
- }
- entity.setCreate();
- sysSendMessageLogDao.save(entity);
- return BaseResult.getSuccessMessageEntity("保存发送消息日志成功", entity);
- }
+ @Override
+ public JsonResultEntity queryEntity(JSONObject jsonObject) {
+ SysSendMessageLogEntity entity = getData("jsonStr", jsonObject, SysSendMessageLogEntity.class);
+ if (entity == null) {
+ entity = new SysSendMessageLogEntity();
+ }
+ List list = sysSendMessageLogDao.queryByLike(entity);
+ return BaseResult.getSuccessMessageEntity("查询数据成功", list);
+ }
- @Override
- public JsonResultEntity updateEntity(JSONObject jsonObject){
- SysSendMessageLogEntity entity = getData("jsonStr", jsonObject, SysSendMessageLogEntity.class);
- if (entity == null) {
- return BaseResult.getFailureMessageEntity("参数不能为空");
- }
- if (entity.getId() == null || "".equals(entity.getId())) {
- return BaseResult.getFailureMessageEntity("系统错误");
- }
- if (entity.getBillId() == null || "".equals(entity.getBillId())) {
- return BaseResult.getFailureMessageEntity("来源业务单据不能为空");
- }
- entity.setUpdate();
- sysSendMessageLogDao.update(entity);
- return BaseResult.getSuccessMessageEntity("修改发送消息日志成功", entity);
- }
+ @Override
+ public JsonResultEntity getEntity(JSONObject jsonObject) {
+ SysSendMessageLogEntity entity = getData("jsonStr", jsonObject, SysSendMessageLogEntity.class);
+ if (entity == null) {
+ return BaseResult.getFailureMessageEntity("参数不能为空");
+ }
+ if (entity.getId() == null || "".equals(entity.getId())) {
+ return BaseResult.getFailureMessageEntity("系统错误");
+ }
+ entity = sysSendMessageLogDao.get(entity.getId());
+ if (entity == null) {
+ return BaseResult.getFailureMessageEntity("获取发送消息日志失败");
+ }
+ return BaseResult.getSuccessMessageEntity("获取发送消息日志成功", entity);
+ }
- @Override
- public JsonResultEntity deleteEntity(JSONObject jsonObject){
- SysSendMessageLogEntity entity = getData("jsonStr", jsonObject, SysSendMessageLogEntity.class);
- if(entity == null){
- return BaseResult.getFailureMessageEntity("参数不能为空");
- }
- if (entity.getId() == null || "".equals(entity.getId())) {
- return BaseResult.getFailureMessageEntity("系统错误");
- }
- entity.setUpdate();;
- sysSendMessageLogDao.logicRemove(entity);
- return BaseResult.getSuccessMessageEntity("删除发送消息日志成功", entity);
- }
+ @Override
+ public JsonResultEntity markRead(JSONObject jsonObject) {
+ SysSendMessageLogEntity entity = getData("jsonStr", jsonObject, SysSendMessageLogEntity.class);
+ if (entity.getAppId() == null || "".equals(entity.getAppId())) {
+ return BaseResult.getFailureMessageEntity("传入appId不能为空");
+ }
+ List list = sysSendMessageLogDao.queryBase(entity);
+ if (list == null || list.size() == 0) {
+ return BaseResult.getSuccessMessageEntity("未找到需要标记已读的消息日志", list);
+ }
+ for (SysSendMessageLogEntity log : list) {
+ log.setState(1);
+ log.setUpdate();
+ sysSendMessageLogDao.update(log);
+ }
+ return BaseResult.getSuccessMessageEntity("标记已读成功", list);
+ }
+
+ @Override
+ public JsonResultEntity saveEntity(JSONObject jsonObject) {
+ SysSendMessageLogEntity entity = getData("jsonStr", jsonObject, SysSendMessageLogEntity.class);
+ if (entity == null) {
+ return BaseResult.getFailureMessageEntity("参数不能为空");
+ }
+ entity.setCreate();
+ sysSendMessageLogDao.save(entity);
+ return BaseResult.getSuccessMessageEntity("保存发送消息日志成功", entity);
+ }
+
+ @Override
+ public JsonResultEntity updateEntity(JSONObject jsonObject) {
+ SysSendMessageLogEntity entity = getData("jsonStr", jsonObject, SysSendMessageLogEntity.class);
+ if (entity == null) {
+ return BaseResult.getFailureMessageEntity("参数不能为空");
+ }
+ if (entity.getId() == null || "".equals(entity.getId())) {
+ return BaseResult.getFailureMessageEntity("系统错误");
+ }
+ entity.setUpdate();
+ sysSendMessageLogDao.update(entity);
+ return BaseResult.getSuccessMessageEntity("修改发送消息日志成功", entity);
+ }
+
+ @Override
+ public JsonResultEntity deleteEntity(JSONObject jsonObject) {
+ SysSendMessageLogEntity entity = getData("jsonStr", jsonObject, SysSendMessageLogEntity.class);
+ if (entity == null) {
+ return BaseResult.getFailureMessageEntity("参数不能为空");
+ }
+ if (entity.getId() == null || "".equals(entity.getId())) {
+ return BaseResult.getFailureMessageEntity("系统错误");
+ }
+ entity.setUpdate();
+ ;
+ sysSendMessageLogDao.logicRemove(entity);
+ return BaseResult.getSuccessMessageEntity("删除发送消息日志成功", entity);
+ }
- /**
- * sendMessage方法:根据请求错误消息,组装成消息模版,推送到三方业务系统
- * 1、先获取接口调用的日志数据
- * 2、如果日志状态为失败,且该接口预警状态为启用,则进行消息推送
- * 3、根据预警配置,找到消息模版,并生成消息内容
- * 4、根据预警配置,找到预警应用,并推送消息
- * 5、保存消息推送日志
- * */
- @Override
- public boolean sendMessage(SysPushMessageEntity entity){
- String status = entity.getStatus();
- Long receiveApiCode = entity.getReceiveApiCode();
- String sendAppName = entity.getSendAppName();
- String receiveApiName = entity.getReceiveApiName();
- String recieveAppName = entity.getReceiveAppName();
- String returnData = entity.getReturnData();
- String warningAppType = entity.getWarningAppType();
- Long warningAppCode = entity.getWarningAppCode();
- Long warningApiCode = entity.getWarningApiCode();
- String sendMsgContent = "";
+ /**
+ * sendMessage方法:根据请求错误消息,组装成消息模版,推送到三方业务系统
+ * 1、先获取接口调用的日志数据
+ * 2、如果日志状态为失败,且该接口预警状态为启用,则进行消息推送
+ * 3、根据预警配置,找到消息模版,并生成消息内容
+ * 4、根据预警配置,找到预警应用,并推送消息
+ * 5、保存消息推送日志
+ */
+ @Override
+ public boolean sendMessage(SysPushMessageEntity entity) {
+ String status = entity.getStatus();
+ Long receiveApiCode = entity.getReceiveApiCode();
+ String sendAppName = entity.getSendAppName();
+ String receiveApiName = entity.getReceiveApiName();
+ String recieveAppName = entity.getReceiveAppName();
+ String returnData = entity.getReturnData();
+ String sendMsgContent = "";
- SysWarningInterfaceEntity interfaceEntity = new SysWarningInterfaceEntity();
- SysWarningConfigEntity configEntity = new SysWarningConfigEntity();
- SysMessageTemplateEntity templateEntity = new SysMessageTemplateEntity();
- SysApplicationApiParaEntity sysApplicationApiParaEntity = new SysApplicationApiParaEntity();
+ //SysWarningInterfaceEntity interfaceEntityApi = new SysWarningInterfaceEntity();
+ SysWarningInterfaceEntity interfaceEntity = new SysWarningInterfaceEntity();
+ SysWarningConfigEntity configEntity = new SysWarningConfigEntity();
+ SysMessageTemplateEntity templateEntity = new SysMessageTemplateEntity();
+ SysApplicationApiParaEntity sysApplicationApiParaEntity = new SysApplicationApiParaEntity();
- interfaceEntity.setApiCode(receiveApiCode);
+ //interfaceEntityApi.setApiCode(receiveApiCode);
+ interfaceEntity.setApiCode(receiveApiCode);
+ if (status == null) {
+ logger.error("日志状态为空");
+ return false;
+ }
+ //只有发送失败的日志才会推送消息,成功的日志不推送消息
+ if ("4".equals(status)) {
+ try {
+ interfaceEntity = sysWarningInterfaceDao.queryOne(interfaceEntity);
+ } catch (Exception e) {
+ logger.error("API接口预警信息可能配置了多个");
+ return false;
+ }
+ //List interfaceEntityList =sysWarningInterfaceDao.queryByLike(interfaceEntityApi);
+ //for(SysWarningInterfaceEntity interfaceEntity : interfaceEntityList){
+ if (interfaceEntity == null) {
+ logger.error("未找到API接口预警信息");
+ return false;
+ }
+ //只有预警接口状态为启用,才会进行消息推送
+ if (interfaceEntity.getStatus() == null || interfaceEntity.getStatus().equals("1") == false) {
+ logger.error("API接口未启用推送");
+ return false;
+ }
+ //根据主表id,找到主表记录中的消息模版id
+ String warningConfigId = interfaceEntity.getWarningConfigId();
+ SysWarningConfigEntity statusEntity = new SysWarningConfigEntity();
+ statusEntity.setStatus("1");
+ statusEntity.setId(warningConfigId);
+ if (warningConfigId == null || "".equals(warningConfigId)) {
+ logger.error("未找到该接口预警配置信息的主表id");
+ return false;
+ }
+ configEntity = sysWarningConfigDao.queryOne(statusEntity);
+ if (configEntity == null) {
+ logger.error("未找到该接口预警配置信息");
+ return false;
+ }
+ String messageTemplateId = configEntity.getMessageTemplateId();
+ if (messageTemplateId == null || "".equals(messageTemplateId)) {
+ logger.error("未找到该接口预警配置信息的消息模版id");
+ return false;
+ }
+ templateEntity = sysMessageTemplateDao.get(messageTemplateId);
+ if (templateEntity == null) {
+ logger.error("未找到该接口预警配置信息的消息模版信息");
+ return false;
+ }
+ if(templateEntity.getState() == null || !"1".equals(templateEntity.getState())){
+ logger.error("当前预警配置中消息模版状态为禁用");
+ return false;
+ }
- if(status == null){
- logger.error("日志状态为空");
- return false;
- }
- //只有发送失败的日志才会推送消息,成功的日志不推送消息
- if ("4".equals(status)) {
- interfaceEntity = sysWarningInterfaceDao.queryOne(interfaceEntity);
- if(interfaceEntity == null){
- logger.error("未找到API接口预警信息");
- return false;
- }
- //只有预警接口状态为启用,才会进行消息推送
- if(interfaceEntity.getStatus() == null || interfaceEntity.getStatus().equals("1") == false){
- logger.error("API接口未启用推送");
- return false;
- }
- //根据主表id,找到主表记录中的消息模版id
- String warningConfigId = interfaceEntity.getWarningConfigId();
- if(warningConfigId == null || "".equals(warningConfigId)){
- logger.error("未找到该接口预警配置信息的主表id");
- return false;
- }
- configEntity = sysWarningConfigDao.get(warningConfigId);
- if(configEntity == null){
- logger.error("未找到该接口预警配置信息");
- return false;
- }
- String messageTemplateId = configEntity.getMessageTemplateId();
- if(messageTemplateId == null || "".equals(messageTemplateId)){
- logger.error("未找到该接口预警配置信息的消息模版id");
- return false;
- }
- templateEntity = sysMessageTemplateDao.get(messageTemplateId);
- if(templateEntity == null){
- logger.error("未找到该接口预警配置信息的消息模版信息");
- return false;
- }
+ String messageContent = templateEntity.getMessageContents();
+ if (messageContent == null || "".equals(messageContent)) {
+ logger.error("未找到该接口预警配置信息的消息模版内容");
+ return false;
+ }
+ //推送消息内容拼接
+ sendMsgContent = messageContent.replace("${receive_app_name}", recieveAppName);
+ sendMsgContent = sendMsgContent.replace("${send_app_name}", sendAppName);
+ sendMsgContent = sendMsgContent.replace("${receive_api_name}", receiveApiName);
+ sendMsgContent = sendMsgContent.replace("${return_data}", returnData);
+ //消息模版名称
+ String templateName = templateEntity.getTemplateName();
+ String type = "";
+ String bodyParams = "";
+ String warningAppId = configEntity.getWarningAppId();
- String messageContent = templateEntity.getMessageContents();
- if(messageContent == null || "".equals(messageContent)){
- logger.error("未找到该接口预警配置信息的消息模版内容");
- return false;
- }
- //推送消息内容拼接
- sendMsgContent = messageContent.replace("${reciecveAppName}",recieveAppName);
- sendMsgContent = sendMsgContent.replace("${sendAppName}",sendAppName);
- sendMsgContent = sendMsgContent.replace("${receiveApiName}",receiveApiName);
- sendMsgContent = sendMsgContent.replace("${returnData}",returnData);
- //消息模版名称
- String templateName = templateEntity.getTemplateName();
- String type = "";
- String bodyParams = "";
- String warningAppId = configEntity.getWarningAppId();
+ Long warningApiCode = configEntity.getAcceptMessageApiCode();
+ String appCode = String.valueOf(warningApiCode).substring(0, 6);
+ SysApplicationEntity warningApp = getAppByAppId(appCode);
+ String warningAppType = warningApp.getAppType();
+ Integer warningAppCode = warningApp.getAppId();
- //查询预警人员id列表
- String recipientIdList = configEntity.getRecipientId();
- //根据预警人员id列表,获取预警应用人员id列表
- String warningAppReceiverIdList = getWarningAppReceiverIdList(warningAppType,recipientIdList);
+ //查询预警人员id列表
+ String recipientIdList = configEntity.getRecipientIdList();
+ //根据预警人员id列表,获取预警应用人员id列表
+ String warningAppReceiverIdList = getWarningAppReceiverIdList(warningAppType, recipientIdList);
- switch (warningAppType){
- case "6WX":
- //调用微信推送消息
- break;
- case "5DD":
- //消息类型:3表示钉钉
- type = "3";
- //获取钉钉发送消息时使用的微应用的AgentID
- sysApplicationApiParaEntity.setAppId(warningAppId);
- sysApplicationApiParaEntity.setInterfaceKey("agentId");
- String agentId = sysApplicationApiParaDao.queryOne(sysApplicationApiParaEntity).getInterfaceValue();
- //拼接调用钉钉接口的body参数
- bodyParams = splicingDDBody(sendMsgContent,agentId,warningAppReceiverIdList).toString();
- break;
- default:
- logger.error("未找到该应用类型");
- break;
- }
- String result = HttpRequest.post("http://127.0.0.1:9999/kangarooDataCenterV3/entranceController/externalCallInterface").
- header("appId",warningAppCode.toString()).
- header("apiCode",warningApiCode.toString()).
- header("publicKey","ZJYA7v6DubGMm8EdBPGo+Jj9wCpUeCGJEpfBRLiInq4dvDlCe7eDIk+3zDUT+v578prj").
- header("secretKey","bsAMm6tvJs/BV1SO/9ZzjlW+OQaK0mwyv6rLvktyNy/OdltLuG2zze9bT7ttfAA9j3JzOP8MtA1LSGvL+2BWG8c/o7DKi92S4mr3zcGearA=").
- body(bodyParams).
- execute().
- body();
- JSONObject resultJson = JSONObject.parseObject(result);
- String body = resultJson.getString("attribute");
+ switch (warningAppType) {
+ case "6WX":
+ //调用微信推送消息
+ break;
+ case "5DD":
+ //消息类型:3表示钉钉
+ type = "3";
+ //获取钉钉发送消息时使用的微应用的AgentID
+ sysApplicationApiParaEntity.setAppId(warningAppId);
+ sysApplicationApiParaEntity.setInterfaceKey("agentId");
+ String agentId = sysApplicationApiParaDao.queryOne(sysApplicationApiParaEntity).getInterfaceValue();
+ //拼接调用钉钉接口的body参数
+ bodyParams = splicingDDBody(sendMsgContent, agentId, warningAppReceiverIdList).toString();
+ break;
+ default:
+ logger.error("未找到该应用类型");
+ break;
+ }
+ String result = HttpRequest.post(url).
+ header("appId", warningAppCode.toString()).
+ header("apiCode", warningApiCode.toString()).
+ header("publicKey", "ZJYA7v6DubGMm8EdBPGo+Jj9wCpUeCGJEpfBRLiInq4dvDlCe7eDIk+3zDUT+v578prj").
+ header("secretKey", "bsAMm6tvJs/BV1SO/9ZzjlW+OQaK0mwyv6rLvktyNy/OdltLuG2zze9bT7ttfAA9j3JzOP8MtA1LSGvL+2BWG8c/o7DKi92S4mr3zcGearA=").
+ body(bodyParams).
+ execute().
+ body();
+ JSONObject resultJson = JSONObject.parseObject(result);
+ String body = resultJson.getString("attribute");
+ SysApplicationApiEntity warningApiEntity = getApiByAppIdApiCode(warningAppId, warningApiCode.toString());
- SysApplicationApiEntity sysApplicationApiEntity = new SysApplicationApiEntity();
- sysApplicationApiEntity.setApiCode(warningApiCode);
- SysApplicationApiEntity warningApiEntity = sysApplicationApiDao.queryOne(sysApplicationApiEntity);
+ //根据预警接口编码,以及返回数据,判断消息推送是否成功
+ if (warningApiEntity.getReturnSuccessField() != null && !"".equals(warningApiEntity.getReturnSuccessField())
+ && warningApiEntity.getReturnSuccessValue() != null && !"".equals(warningApiEntity.getReturnSuccessValue())) {
+ //先判断返回值是否为JSON格式
+ if (JSONUtil.isTypeJSON(body)) {
+ JSONObject cheackdatas = JSONObject.parseObject(body);
+ JSONObject datas = JSONObject.parseObject(body);
+ String checkdata = cheackdatas.getString(warningApiEntity.getReturnSuccessField());
+ //判断返回值是否为预警接口预期的返回值(1、返回值匹配2、返回值配置的就是not null3、返回值带.)
+ if (checkdata != null && warningApiEntity.getReturnSuccessValue().equals(checkdata)) {
+ logger.info("推送消息成功,开始保存日志");
+ } else if (warningApiEntity.getReturnSuccessValue().equals("not null") && checkdata != null) {
+ logger.info("推送消息成功,开始保存日志");
+ } else {
+ String fieldname = warningApiEntity.getReturnSuccessField();
+ if (fieldname.contains(".")) {
+ String[] fileds = fieldname.split("\\.");
+ boolean flags = false;
+ for (int i = 0; i < fileds.length; i++) {
+ if (JSONUtil.isTypeJSON(datas.getString(fileds[i]))) {
+ datas = datas.getJSONObject(fileds[i]);
+ if (fileds.length - 2 == i) {
+ String a = datas.getString(fileds[i + 1]);
+ if (a != null && warningApiEntity.getReturnSuccessValue().equals(a)) {
+ flags = true;
+ break;
+ } else if (warningApiEntity.getReturnSuccessValue().equals("not null") && a != null) {
+ flags = true;
+ break;
+ } else {
+ break;
+ }
+ }
+ }
+ }
+ if (flags) {
+ logger.info("推送消息成功,开始保存日志");
+ } else {
+ logger.error("推送消息失败,返回值错误");
+ }
- //根据预警接口编码,以及返回数据,判断消息推送是否成功
- if(warningApiEntity.getReturnSuccessField() != null && !"".equals(warningApiEntity.getReturnSuccessField())
- && warningApiEntity.getReturnSuccessValue() != null && !"".equals(warningApiEntity.getReturnSuccessValue())){
- //先判断返回值是否为JSON格式
- if (JSONUtil.isTypeJSON(body)){
- JSONObject cheackdatas = JSONObject.parseObject(body);
- JSONObject datas = JSONObject.parseObject(body);
- String checkdata = cheackdatas.getString(warningApiEntity.getReturnSuccessField());
- //判断返回值是否为预警接口预期的返回值(1、返回值匹配2、返回值配置的就是not null3、返回值带.)
- if (checkdata != null && warningApiEntity.getReturnSuccessValue().equals(checkdata)) {
- logger.info("推送消息成功,开始保存日志");
- }else if(warningApiEntity.getReturnSuccessValue().equals("not null") && checkdata != null){
- logger.info("推送消息成功,开始保存日志");
- }else {
- String fieldname = warningApiEntity.getReturnSuccessField();
- if(fieldname.contains(".")){
- String[] fileds = fieldname.split("\\.");
- boolean flags = false;
- for (int i = 0; i < fileds.length; i++) {
- if (JSONUtil.isTypeJSON(datas.getString(fileds[i]))) {
- datas = datas.getJSONObject(fileds[i]);
- if(fileds.length-2 == i ){
- String a = datas.getString(fileds[i+1]);
- if (a != null && warningApiEntity.getReturnSuccessValue().equals(a)) {
- flags = true;
- break;
- }else if(warningApiEntity.getReturnSuccessValue().equals("not null") && a != null){
- flags = true;
- break;
- }else {
- break;
- }
- }
- }
- }
- if(flags){
- logger.info("推送消息成功,开始保存日志");
- }else {
- logger.error("推送消息失败,返回值错误");
- }
+ } else {
+ logger.error("推送消息失败,返回值错误");
+ }
+ }
+ } else {
+ logger.error("接口调用失败,返回格式错误,不是JSON");
+ }
+ } else {
+ logger.error("api返回信息字段未配置,开始保存日志");
+ }
+ saveLog(sendMsgContent, type, resultJson.toString(), templateName, recipientIdList, warningAppReceiverIdList, interfaceEntity.getId());
+ logger.info("保存日志成功");
+ //}
- }else {
- logger.error("推送消息失败,返回值错误");
- }
- }
- }else{
- logger.error("接口调用失败,返回格式错误,不是JSON");
- }
- }else{
- logger.error("api返回信息字段未配置,开始保存日志");
- }
- saveLog(sendMsgContent,type,resultJson.toString(),templateName,recipientIdList,warningAppReceiverIdList);
- logger.info("保存日志成功");
- }else{
- logger.error("日志状态为成功,不需要推送消息");
- return false;
- }
- return true;
- }
+ } else {
+ logger.error("日志状态为成功,不需要推送消息");
+ return false;
+ }
+ return true;
+ }
+ /**
+ * 根据appCode查询缓存中的应用信息
+ */
+ private SysApplicationEntity getAppByAppId(String appId) {
+ String str = "appId" + appId;
+ Object o = applicationCache.get("1", str);
+ if (o != null) {
+ return (SysApplicationEntity) o;
+ }
+ return null;
+ }
- /**保存推送消息日志时,需要循环预警应用人员id列表*/
- public void saveLog(String sendMsgContent,String type,String resultMessage,String templateName,String recipientIdList,String warningAppReceiverIdList){
- SysSendMessageLogEntity logEntity = new SysSendMessageLogEntity();
- logEntity.setSendCount(sendMsgContent);
- logEntity.setType(type);
- logEntity.setBillId("test1411");
- logEntity.setSendDatetime(new Date());
+ /**
+ * 根据appId和apiCode查询缓存中的api信息
+ */
+ private SysApplicationApiEntity getApiByAppIdApiCode(String appId, String apiCode) {
- logEntity.setSts("Y");
- logEntity.setCreate_user_id("1");
- logEntity.setModify_user_id("1");
- logEntity.setCreate_time(new Date());
- logEntity.setModify_time(new Date());
- logEntity.setOrg_id("0");
- logEntity.setCompanyId("0");
+ String str = "appId" + appId + "apiCode" + apiCode;
+ Object o = applicationCache.get("2", str);
+ if (o != null) {
+ return (SysApplicationApiEntity) o;
+ }
+ return null;
+ }
+
+ /**
+ * 保存推送消息日志时,需要循环预警应用人员id列表
+ */
+ public void saveLog(String sendMsgContent, String type, String resultMessage, String templateName, String recipientIdList, String warningAppReceiverIdList,String warningInterfaceId) {
+ SysSendMessageLogEntity logEntity = new SysSendMessageLogEntity();
+ logEntity.setSendCount(sendMsgContent);
+ logEntity.setType(type);
+ logEntity.setSendDatetime(new Date());
+
+ logEntity.setSts("Y");
+ logEntity.setCreate_user_id("1");
+ logEntity.setModify_user_id("1");
+ logEntity.setCreate_time(new Date());
+ logEntity.setModify_time(new Date());
+ logEntity.setOrg_id("0");
+ logEntity.setCompanyId("0");
logEntity.setSendPersonId("1");
- logEntity.setResultMessage(resultMessage);
- logEntity.setSourceModelName(templateName);
+ logEntity.setResultMessage(resultMessage);
+ logEntity.setSourceModelName(templateName);
+ logEntity.setState(0);
+ logEntity.setWarningInterfaceId(warningInterfaceId);
+ String[] recipientsInteriorIdList = warningAppReceiverIdList.split(",");
+ String[] recipientsPersonIdList = recipientIdList.split(",");
- String[] personIdList = warningAppReceiverIdList.split(",");
- String[] userIdList = recipientIdList.split(",");
+ for (int i = 0; i < recipientsInteriorIdList.length; i++) {
+ logEntity.setRecipientsInteriorId(recipientsInteriorIdList[i]);
+ logEntity.setRecipientsPersonId(recipientsPersonIdList[i]);
+ logEntity.setId(UUIDUtils.getUUID());
+ sysSendMessageLogDao.save(logEntity);
+ }
+ }
- for(int i=0;i sysUserList = new ArrayList<>();
- for(String userId : userIdArray){
- sysUserList.add(sysUserDao.get(userId));
- }
- switch (warningAppType){
- case "6WX":
- //获取微信预警人员id列表
- break;
- case "5DD":
- //获取钉钉预警人员id列表
- for(SysUserEntity sysUser : sysUserList){
- if(sysUser.getDdUserId()!= null && !"".equals(sysUser.getDdUserId())){
- if(!warningAppReceiverIdList.isEmpty()){
- warningAppReceiverIdList += ",";
- }
- warningAppReceiverIdList += sysUser.getDdUserId();
- }
- }
- break;
- default:
- logger.error("未找到该应用类型");
- break;
- }
+ String[] personIdArray = personIdList.split(",");
+ List sysUserList = new ArrayList<>();
+ SysUserEntity sysUserEntity = new SysUserEntity();
+ for (String personId : personIdArray) {
+ sysUserEntity.setPersonId(personId);
+ sysUserList.add(sysUserDao.queryOne(sysUserEntity));
+ }
+ String warningAppReceiverIdList = "";
+ switch (warningAppType) {
+ case "6WX":
+ //获取微信预警人员id列表
+ break;
+ case "5DD":
+ //获取钉钉预警人员id列表
+ for (SysUserEntity sysUser : sysUserList) {
+ if (sysUser.getDdUserId() == null || "".equals(sysUser.getDdUserId())) {
+ String personName = sysPersonsDao.get(sysUser.getPersonId()).getPersonName();
+ logger.error("接收人:" +personName + "未配置钉钉用户id");
+ }
+ if (sysUser.getDdUserId() != null && !"".equals(sysUser.getDdUserId())) {
+ if (!warningAppReceiverIdList.isEmpty()) {
+ warningAppReceiverIdList += ",";
+ }
+ warningAppReceiverIdList += sysUser.getDdUserId();
+ }
+ }
+ break;
+ default:
+ logger.error("未找到该应用类型");
+ break;
+ }
return warningAppReceiverIdList;
- }
+ }
}
diff --git a/base-service/src/main/java/com/hzya/frame/sysnew/user/entity/SysUserEntity.xml b/base-service/src/main/java/com/hzya/frame/sysnew/user/entity/SysUserEntity.xml
index 82c6d1ed..44badcb8 100644
--- a/base-service/src/main/java/com/hzya/frame/sysnew/user/entity/SysUserEntity.xml
+++ b/base-service/src/main/java/com/hzya/frame/sysnew/user/entity/SysUserEntity.xml
@@ -104,6 +104,8 @@
and sts = #{sts}
and org_id = #{org_id}
and company_id = #{companyId}
+ and dd_user_id = #{ddUserId}
+ and wx_user_id = #{wxUserId}
and sts='Y'
order by sorts asc
@@ -373,6 +375,8 @@
sts = #{sts},
org_id = #{org_id},
company_id = #{companyId},
+ dd_user_id = #{ddUserId},
+ wx_user_id = #{wxUserId},
where id = #{id}
diff --git a/base-service/src/main/java/com/hzya/frame/sysnew/warningConfig/entity/SysWarningConfigEntity.java b/base-service/src/main/java/com/hzya/frame/sysnew/warningConfig/entity/SysWarningConfigEntity.java
index 11be0abe..61d21a2e 100644
--- a/base-service/src/main/java/com/hzya/frame/sysnew/warningConfig/entity/SysWarningConfigEntity.java
+++ b/base-service/src/main/java/com/hzya/frame/sysnew/warningConfig/entity/SysWarningConfigEntity.java
@@ -14,8 +14,8 @@ public class SysWarningConfigEntity extends BaseEntity {
private String companyId;
/** 消息模版id */
private String messageTemplateId;
- /** 应用id */
- private String appId;
+ /** 应用id列表 */
+ private String appIdList;
/** 预警应用id */
private String warningAppId;
/** 接收推送消息的api编码 */
@@ -25,8 +25,63 @@ public class SysWarningConfigEntity extends BaseEntity {
/** 是否启用(0:停用、1:启用) */
private String status;
/** 接收人id(存表sys_user的id) */
- private String recipientId;
+ private String recipientIdList;
+ /** 模版名称 */
+ private String templateName;
+ /** 应用名称 */
+ private String appNameList;
+ /** 预警应用名称 */
+ private String warningAppNameList;
+ /** 接收人名称列表 */
+ private String recipientNameList;
+ public String getWarningAppNameList() {
+ return warningAppNameList;
+ }
+
+ public void setWarningAppNameList(String warningAppNameList) {
+ this.warningAppNameList = warningAppNameList;
+ }
+
+ public String getTemplateName() {
+ return templateName;
+ }
+
+ public void setTemplateName(String templateName) {
+ this.templateName = templateName;
+ }
+
+ public String getAppNameList() {
+ return appNameList;
+ }
+
+ public void setAppNameList(String appNameList) {
+ this.appNameList = appNameList;
+ }
+
+ public String getRecipientNameList() {
+ return recipientNameList;
+ }
+
+ public void setRecipientNameList(String recipientNameList) {
+ this.recipientNameList = recipientNameList;
+ }
+
+ public String getAppIdList() {
+ return appIdList;
+ }
+
+ public void setAppIdList(String appIdList) {
+ this.appIdList = appIdList;
+ }
+
+ public String getRecipientIdList() {
+ return recipientIdList;
+ }
+
+ public void setRecipientIdList(String recipientIdList) {
+ this.recipientIdList = recipientIdList;
+ }
public String getCompanyId() {
return companyId;
@@ -44,13 +99,6 @@ public class SysWarningConfigEntity extends BaseEntity {
this.messageTemplateId = messageTemplateId;
}
- public String getAppId() {
- return appId;
- }
-
- public void setAppId(String appId) {
- this.appId = appId;
- }
public String getWarningAppId() {
return warningAppId;
@@ -84,13 +132,5 @@ public class SysWarningConfigEntity extends BaseEntity {
this.status = status;
}
- public String getRecipientId() {
- return recipientId;
- }
-
- public void setRecipientId(String recipientId) {
- this.recipientId = recipientId;
- }
-
}
diff --git a/base-service/src/main/java/com/hzya/frame/sysnew/warningConfig/entity/SysWarningConfigEntity.xml b/base-service/src/main/java/com/hzya/frame/sysnew/warningConfig/entity/SysWarningConfigEntity.xml
index c7ff7a11..ac4fcc10 100644
--- a/base-service/src/main/java/com/hzya/frame/sysnew/warningConfig/entity/SysWarningConfigEntity.xml
+++ b/base-service/src/main/java/com/hzya/frame/sysnew/warningConfig/entity/SysWarningConfigEntity.xml
@@ -13,12 +13,13 @@
-
+
-
+
+
@@ -32,19 +33,22 @@
,org_id
,company_id
,message_template_id
- ,app_id
+ ,app_id_list
,warning_app_id
,accept_message_api_code
,remark
,status
- ,recipient_id
+ ,recipient_id_list
- insert into sys_warning_config(create_user_id, create_time, modify_user_id, modify_time, sts, org_id, company_id, message_template_id, app_id, warning_app_id, accept_message_api_code, remark, status, recipient_id, sts)
+ insert into sys_warning_config(create_user_id, create_time, modify_user_id, modify_time, sts, org_id, company_id, message_template_id, app_id_list, warning_app_id, accept_message_api_code, remark, status, recipient_id_list, sts)
values
- (#{entity.create_user_id},#{entity.create_time},#{entity.modify_user_id},#{entity.modify_time},#{entity.sts},#{entity.org_id},#{entity.companyId},#{entity.messageTemplateId},#{entity.appId},#{entity.warningAppId},#{entity.acceptMessageApiCode},#{entity.remark},#{entity.status},#{entity.recipientId}, 'Y')
+ (#{entity.create_user_id},#{entity.create_time},#{entity.modify_user_id},#{entity.modify_time},#{entity.sts},#{entity.org_id},#{entity.companyId},#{entity.messageTemplateId},#{entity.appIdList},#{entity.warningAppId},#{entity.acceptMessageApiCode},#{entity.remark},#{entity.status},#{entity.recipientIdList}, 'Y')
- insert into sys_warning_config(create_user_id, create_time, modify_user_id, modify_time, sts, org_id, company_id, message_template_id, app_id, warning_app_id, accept_message_api_code, remark, status, recipient_id)
+ insert into sys_warning_config(create_user_id, create_time, modify_user_id, modify_time, sts, org_id, company_id, message_template_id, app_id_list, warning_app_id, accept_message_api_code, remark, status, recipient_id_list)
values
- (#{entity.create_user_id},#{entity.create_time},#{entity.modify_user_id},#{entity.modify_time},#{entity.sts},#{entity.org_id},#{entity.companyId},#{entity.messageTemplateId},#{entity.appId},#{entity.warningAppId},#{entity.acceptMessageApiCode},#{entity.remark},#{entity.status},#{entity.recipientId})
+ (#{entity.create_user_id},#{entity.create_time},#{entity.modify_user_id},#{entity.modify_time},#{entity.sts},#{entity.org_id},#{entity.companyId},#{entity.messageTemplateId},#{entity.appIdList},#{entity.warningAppId},#{entity.acceptMessageApiCode},#{entity.remark},#{entity.status},#{entity.recipientIdList})
on duplicate key update
create_user_id = values(create_user_id),
@@ -224,12 +231,12 @@
org_id = values(org_id),
company_id = values(company_id),
message_template_id = values(message_template_id),
- app_id = values(app_id),
+ app_id_list = values(app_id_list),
warning_app_id = values(warning_app_id),
accept_message_api_code = values(accept_message_api_code),
remark = values(remark),
status = values(status),
- recipient_id = values(recipient_id)
+ recipient_id_list = values(recipient_id_list)
update sys_warning_config set
@@ -242,12 +249,12 @@ update sys_warning_config set
org_id = #{org_id},
company_id = #{companyId},
message_template_id = #{messageTemplateId},
- app_id = #{appId},
+ app_id_list = #{appIdList},
warning_app_id = #{warningAppId},
accept_message_api_code = #{acceptMessageApiCode},
remark = #{remark},
status = #{status},
- recipient_id = #{recipientId},
+ recipient_id_list = #{recipientIdList},
where id = #{id}
@@ -265,12 +272,12 @@ update sys_warning_config set sts= 'N' ,modify_time = #{modify_time},modify_use
and sts = #{sts}
and company_id = #{companyId}
and message_template_id = #{messageTemplateId}
- and app_id = #{appId}
+ and app_id_list = #{appIdList}
and warning_app_id = #{warningAppId}
and accept_message_api_code = #{acceptMessageApiCode}
and remark = #{remark}
and status = #{status}
- and recipient_id = #{recipientId}
+ and recipient_id_list = #{recipientIdList}
and sts='Y'
diff --git a/base-service/src/main/java/com/hzya/frame/sysnew/warningConfig/service/impl/SysWarningConfigServiceImpl.java b/base-service/src/main/java/com/hzya/frame/sysnew/warningConfig/service/impl/SysWarningConfigServiceImpl.java
index 7634e93f..541d44f1 100644
--- a/base-service/src/main/java/com/hzya/frame/sysnew/warningConfig/service/impl/SysWarningConfigServiceImpl.java
+++ b/base-service/src/main/java/com/hzya/frame/sysnew/warningConfig/service/impl/SysWarningConfigServiceImpl.java
@@ -1,11 +1,22 @@
package com.hzya.frame.sysnew.warningConfig.service.impl;
+import com.alibaba.fastjson.JSONArray;
import com.alibaba.fastjson.JSONObject;
import com.github.pagehelper.PageHelper;
import com.github.pagehelper.PageInfo;
+import com.hzya.frame.sysnew.application.dao.ISysApplicationDao;
+import com.hzya.frame.sysnew.application.entity.SysApplicationEntity;
+import com.hzya.frame.sysnew.messageTemplate.dao.ISysMessageTemplateDao;
+import com.hzya.frame.sysnew.messageTemplate.entity.SysMessageTemplateEntity;
+import com.hzya.frame.sysnew.person.dao.ISysPersonDao;
+import com.hzya.frame.sysnew.person.entity.SysPersonEntity;
+import com.hzya.frame.sysnew.user.dao.ISysUserDao;
+import com.hzya.frame.sysnew.user.entity.SysUserEntity;
import com.hzya.frame.sysnew.warningConfig.entity.SysWarningConfigEntity;
import com.hzya.frame.sysnew.warningConfig.dao.ISysWarningConfigDao;
import com.hzya.frame.sysnew.warningConfig.service.ISysWarningConfigService;
+import com.hzya.frame.sysnew.warningInterface.dao.ISysWarningInterfaceDao;
+import com.hzya.frame.sysnew.warningInterface.entity.SysWarningInterfaceEntity;
import com.hzya.frame.web.entity.BaseResult;
import com.hzya.frame.web.entity.JsonResultEntity;
import org.springframework.stereotype.Service;
@@ -13,6 +24,7 @@ import org.springframework.beans.factory.annotation.Autowired;
import javax.annotation.Resource;
import com.hzya.frame.basedao.service.impl.BaseService;
+import java.util.ArrayList;
import java.util.List;
/**
@@ -23,7 +35,20 @@ import java.util.List;
*/
@Service(value = "sysWarningConfigService")
public class SysWarningConfigServiceImpl extends BaseService implements ISysWarningConfigService {
-
+
+ @Resource
+ private ISysWarningInterfaceDao sysWarningInterfaceDao;
+ @Resource
+ private ISysUserDao sysUserDao;
+ @Resource
+ private ISysPersonDao sysPersonDao;
+
+ @Resource
+ private ISysApplicationDao sysApplicationDao;
+
+ @Resource
+ private ISysMessageTemplateDao sysMessageTemplateDao;
+
private ISysWarningConfigDao sysWarningConfigDao;
@Autowired
@@ -40,7 +65,9 @@ public class SysWarningConfigServiceImpl extends BaseService list = sysWarningConfigDao.queryByLike(entity);
- PageInfo pageInfo = new PageInfo(list);
+ //查询并记录应用名称、预警应用名称、接收者名称列表
+ List resultList = queryNameList(list);
+ PageInfo pageInfo = new PageInfo(resultList);
return BaseResult.getSuccessMessageEntity("查询数据成功",pageInfo);
}
@@ -51,8 +78,11 @@ public class SysWarningConfigServiceImpl extends BaseService list = sysWarningConfigDao.queryByLike(entity);
- return BaseResult.getSuccessMessageEntity("查询数据成功",list);
+ //查询并记录应用名称、预警应用名称、接收者名称列表
+ List resultList = queryNameList(list);
+ return BaseResult.getSuccessMessageEntity("查询数据成功",resultList);
}
+ /**查询应用名称、预警应用名称、接收者名称列表*/
@Override
public JsonResultEntity getEntity(JSONObject jsonObject){
@@ -63,23 +93,51 @@ public class SysWarningConfigServiceImpl extends BaseService list = new ArrayList<>();
+ list.add(entity);
+ //查询并记录应用名称、预警应用名称、接收者名称列表
+ List resultList = queryNameList(list);
+ String warningConfigId = resultList.get(0).getId();
+ //查询子表信息
+ SysWarningInterfaceEntity interfaceEntity = new SysWarningInterfaceEntity();
+ interfaceEntity.setWarningConfigId(warningConfigId);
+ List interfaceList = sysWarningInterfaceDao.queryByLike(interfaceEntity);
+ //拼接主子表信息并返回
+ JSONObject father = (JSONObject) JSONObject.toJSON(resultList.get(0));
+ JSONArray sonArray = new JSONArray();
+ for(SysWarningInterfaceEntity interfaceOne : interfaceList){
+ JSONObject interfaceJson = (JSONObject) JSONObject.toJSON(interfaceOne);
+ sonArray.add(interfaceJson);
+ }
+ JSONObject resultJson = new JSONObject();
+ resultJson.put("father", father);
+ resultJson.put("son", sonArray);
+ return BaseResult.getSuccessMessageEntity("获取预警配置成功",resultJson);
}
@Override
public JsonResultEntity saveEntity(JSONObject jsonObject){
- SysWarningConfigEntity entity = getData("jsonStr", jsonObject, SysWarningConfigEntity.class);
+ JSONObject jsonStr = jsonObject.getJSONObject("jsonStr");
+ JSONArray sonArray = jsonStr.getJSONArray("son");
+ List interfaceEntities = new ArrayList<>();
+ for(int i=0;i interfaceEntities = new ArrayList<>();
+ for(int i=0;i oldInterfaceList = sysWarningInterfaceDao.queryBase(oldInterfaceEntity);
+ //更新子表数据
+ for(SysWarningInterfaceEntity interfaceEntity : interfaceEntities){
+ interfaceEntity.setWarningConfigId(warningConfigId);
+ if(interfaceEntity.getApiCode() == null || "".equals(interfaceEntity.getApiCode())){
+ return BaseResult.getFailureMessageEntity("接口编码不能为空");
+ }
+ if(interfaceEntity.getPushMethod() == null || "".equals(interfaceEntity.getPushMethod())){
+ return BaseResult.getFailureMessageEntity("推送方式不能为空");
+ }
+ if(interfaceEntity.getStatus() == null || "".equals(interfaceEntity.getStatus())){
+ return BaseResult.getFailureMessageEntity("状态不能为空");
+ }
+ if(interfaceEntity.getWarningConfigId() == null || "".equals(interfaceEntity.getWarningConfigId())){
+ return BaseResult.getFailureMessageEntity("预警配置id不能为空");
+ }
+ if(interfaceEntity.getId() == null || "".equals(interfaceEntity.getId())){
+ //新增
+ interfaceEntity.setCreate();
+ sysWarningInterfaceDao.save(interfaceEntity);
+ }else{
+ //修改
+ interfaceEntity.setUpdate();
+ interfaceEntity.setSts("Y");
+ sysWarningInterfaceDao.update(interfaceEntity);
+ }
+ }
+ //删除多余的子表数据
+ boolean isDelete = true;
+ for(SysWarningInterfaceEntity oldInterface : oldInterfaceList){
+ isDelete = true;
+ for(SysWarningInterfaceEntity interfaceEntity : interfaceEntities){
+ if(oldInterface.getId().equals(interfaceEntity.getId())){
+ isDelete = false;
+ break;
+ }
+ }
+ if(isDelete){
+ sysWarningInterfaceDao.logicRemove(oldInterface);
+ }
+
+ }
+
return BaseResult.getSuccessMessageEntity("修改预警配置成功",entity);
}
+ /**
+ * 删除主表时,同时删除子表数据*/
@Override
public JsonResultEntity deleteEntity(JSONObject jsonObject) {
SysWarningConfigEntity entity = getData("jsonStr", jsonObject, SysWarningConfigEntity.class);
@@ -134,8 +278,14 @@ public class SysWarningConfigServiceImpl extends BaseService queryNameList(List list){
+ for(SysWarningConfigEntity configEntity : list){
+ //拼接应用名称列表
+ String appIds = configEntity.getAppIdList();
+ String[] appIdList = appIds.split(",");
+ String appNameList = "";
+ for(String appId : appIdList){
+ SysApplicationEntity appEntity = sysApplicationDao.get(appId);
+ String appName = appEntity.getName();
+ if(!"".equals(appNameList)){
+ appNameList += ",";
+ }
+ appNameList += appName;
+ }
+ configEntity.setAppNameList(appNameList);
+ //拼接预警应用名称列表
+ String warningAppIds = configEntity.getWarningAppId();
+ String[] warningAppIdList = warningAppIds.split(",");
+ String warningAppNameList = "";
+ for(String warningAppId : warningAppIdList){
+ SysApplicationEntity warningAppEntity = sysApplicationDao.get(warningAppId);
+ String warningAppName = warningAppEntity.getName();
+ if(!"".equals(warningAppNameList)){
+ warningAppNameList += ",";
+ }
+ warningAppNameList += warningAppName;
+ }
+ configEntity.setWarningAppNameList(warningAppNameList);
+ //拼接接收者名称列表
+ String recipientIds = configEntity.getRecipientIdList();
+ String[] recipientIdList = recipientIds.split(",");
+ String recipientNameList = "";
+ for(String recipientId : recipientIdList){
+// SysUserEntity userEntity = sysUserDao.get(recipientId);
+// String personId = userEntity.getPersonId();
+ SysPersonEntity personEntity = sysPersonDao.get(recipientId);
+ String recipientName = personEntity.getPersonName();
+ if(!"".equals(recipientNameList)){
+ recipientNameList += ",";
+ }
+ recipientNameList += recipientName;
+ }
+ configEntity.setRecipientNameList(recipientNameList);
+
+ }
+ return list;
+ }
+
}
diff --git a/base-service/src/main/java/com/hzya/frame/sysnew/warningInterface/dao/ISysWarningInterfaceDao.java b/base-service/src/main/java/com/hzya/frame/sysnew/warningInterface/dao/ISysWarningInterfaceDao.java
index 544241f6..61a64efa 100644
--- a/base-service/src/main/java/com/hzya/frame/sysnew/warningInterface/dao/ISysWarningInterfaceDao.java
+++ b/base-service/src/main/java/com/hzya/frame/sysnew/warningInterface/dao/ISysWarningInterfaceDao.java
@@ -1,7 +1,9 @@
package com.hzya.frame.sysnew.warningInterface.dao;
import com.hzya.frame.sysnew.warningInterface.entity.SysWarningInterfaceEntity;
-import com.hzya.frame.basedao.dao.IBaseDao;
+import com.hzya.frame.basedao.dao.IBaseDao;
+
+import java.util.List;
/**
* 预警接口表(sys_warning_interface: table)表数据库访问层
@@ -11,5 +13,6 @@ import com.hzya.frame.basedao.dao.IBaseDao;
*/
public interface ISysWarningInterfaceDao extends IBaseDao {
+ List getWarningAppList();
}
diff --git a/base-service/src/main/java/com/hzya/frame/sysnew/warningInterface/dao/impl/SysWarningInterfaceDaoImpl.java b/base-service/src/main/java/com/hzya/frame/sysnew/warningInterface/dao/impl/SysWarningInterfaceDaoImpl.java
index 655eb183..fdcbb1f2 100644
--- a/base-service/src/main/java/com/hzya/frame/sysnew/warningInterface/dao/impl/SysWarningInterfaceDaoImpl.java
+++ b/base-service/src/main/java/com/hzya/frame/sysnew/warningInterface/dao/impl/SysWarningInterfaceDaoImpl.java
@@ -4,6 +4,9 @@ import com.hzya.frame.sysnew.warningInterface.entity.SysWarningInterfaceEntity;
import com.hzya.frame.sysnew.warningInterface.dao.ISysWarningInterfaceDao;
import org.springframework.stereotype.Repository;
import com.hzya.frame.basedao.dao.MybatisGenericDao;
+
+import java.util.List;
+
/**
* 预警接口表(SysWarningInterface)表数据库访问层
*
@@ -12,6 +15,10 @@ import com.hzya.frame.basedao.dao.MybatisGenericDao;
*/
@Repository(value = "SysWarningInterfaceDaoImpl")
public class SysWarningInterfaceDaoImpl extends MybatisGenericDao implements ISysWarningInterfaceDao{
-
+ @Override
+ public List getWarningAppList(){
+ List tempList = (List)super.selectList(getSqlIdPrifx() + "warning_app_list", null);
+ return tempList;
+ }
}
diff --git a/base-service/src/main/java/com/hzya/frame/sysnew/warningInterface/entity/SysWarningInterfaceEntity.java b/base-service/src/main/java/com/hzya/frame/sysnew/warningInterface/entity/SysWarningInterfaceEntity.java
index fa2181c9..c9abb5c7 100644
--- a/base-service/src/main/java/com/hzya/frame/sysnew/warningInterface/entity/SysWarningInterfaceEntity.java
+++ b/base-service/src/main/java/com/hzya/frame/sysnew/warningInterface/entity/SysWarningInterfaceEntity.java
@@ -9,7 +9,11 @@ import com.hzya.frame.web.entity.BaseEntity;
* @since 2024-09-03 10:06:19
*/
public class SysWarningInterfaceEntity extends BaseEntity {
-
+
+ /** 应用id */
+ private String appId;
+ /** 应用名称 */
+ private String appName;
/** 公司id */
private String companyId;
/** api名称 */
@@ -23,6 +27,21 @@ public class SysWarningInterfaceEntity extends BaseEntity {
/** 主表id(预警配置表id) */
private String warningConfigId;
+ public String getAppName() {
+ return appName;
+ }
+
+ public void setAppName(String appName) {
+ this.appName = appName;
+ }
+
+ public String getAppId() {
+ return appId;
+ }
+
+ public void setAppId(String appId) {
+ this.appId = appId;
+ }
public String getCompanyId() {
return companyId;
diff --git a/base-service/src/main/java/com/hzya/frame/sysnew/warningInterface/entity/SysWarningInterfaceEntity.xml b/base-service/src/main/java/com/hzya/frame/sysnew/warningInterface/entity/SysWarningInterfaceEntity.xml
index 663e7cd1..f43f9f82 100644
--- a/base-service/src/main/java/com/hzya/frame/sysnew/warningInterface/entity/SysWarningInterfaceEntity.xml
+++ b/base-service/src/main/java/com/hzya/frame/sysnew/warningInterface/entity/SysWarningInterfaceEntity.xml
@@ -17,7 +17,10 @@
+
+
+
id
@@ -33,7 +36,8 @@
,api_code
,push_method
,status
- ,warning_config_id
+ ,warning_config_id
+ ,app_id
@@ -85,29 +89,50 @@
order by ${sort} ${order}
+
+ select distinct app_id from sys_warning_interface where sts='Y'
+
+
select
-
- from sys_warning_interface
+ i.id
+ ,i.sorts
+ ,i.create_user_id
+ ,i.create_time
+ ,i.modify_user_id
+ ,i.modify_time
+ ,i.sts
+ ,i.org_id
+ ,i.company_id
+ ,i.api_name
+ ,i.api_code
+ ,i.push_method
+ ,i.status
+ ,i.warning_config_id
+ ,i.app_id
+ ,app.name as app_name
+ from sys_warning_interface i
+ left join sys_application app on app.id = i.app_id
- and id like concat('%',#{id},'%')
- and sorts like concat('%',#{sorts},'%')
- and create_user_id like concat('%',#{create_user_id},'%')
- and create_time like concat('%',#{create_time},'%')
- and modify_user_id like concat('%',#{modify_user_id},'%')
- and modify_time like concat('%',#{modify_time},'%')
- and sts like concat('%',#{sts},'%')
- and org_id like concat('%',#{org_id},'%')
- and company_id like concat('%',#{companyId},'%')
- and api_name like concat('%',#{apiName},'%')
- and api_code like concat('%',#{apiCode},'%')
- and push_method like concat('%',#{pushMethod},'%')
- and status like concat('%',#{status},'%')
- and warning_config_id like concat('%',#{warningConfigId},'%')
- and sts='Y'
+ and i.id like concat('%',#{id},'%')
+ and i.sorts like concat('%',#{sorts},'%')
+ and i.create_user_id like concat('%',#{create_user_id},'%')
+ and i.create_time like concat('%',#{create_time},'%')
+ and i.modify_user_id like concat('%',#{modify_user_id},'%')
+ and i.modify_time like concat('%',#{modify_time},'%')
+ and i.sts like concat('%',#{sts},'%')
+ and i.org_id like concat('%',#{org_id},'%')
+ and i.company_id like concat('%',#{companyId},'%')
+ and i.api_name like concat('%',#{apiName},'%')
+ and i.api_code like concat('%',#{apiCode},'%')
+ and i.push_method like concat('%',#{pushMethod},'%')
+ and i.status like concat('%',#{status},'%')
+ and i.warning_config_id like concat('%',#{warningConfigId},'%')
+ and i.sts='Y'
+ and app.sts='Y'
- order by sorts asc
+ order by i.sorts asc
order by ${sort} ${order}
@@ -155,6 +180,7 @@
push_method ,
status ,
warning_config_id ,
+ app_id ,
sts,
)values(
@@ -173,6 +199,7 @@
#{pushMethod} ,
#{status} ,
#{warningConfigId} ,
+ #{appId} ,
'Y',
)
diff --git a/base-service/src/main/java/com/hzya/frame/sysnew/warningInterface/service/ISysWarningInterfaceService.java b/base-service/src/main/java/com/hzya/frame/sysnew/warningInterface/service/ISysWarningInterfaceService.java
index 09f2ff30..b8514bc7 100644
--- a/base-service/src/main/java/com/hzya/frame/sysnew/warningInterface/service/ISysWarningInterfaceService.java
+++ b/base-service/src/main/java/com/hzya/frame/sysnew/warningInterface/service/ISysWarningInterfaceService.java
@@ -17,6 +17,8 @@ public interface ISysWarningInterfaceService extends IBaseService implements ISysWarningInterfaceService {
private ISysWarningInterfaceDao sysWarningInterfaceDao;
-
+
+ @Resource
+ private ISysApplicationDao sysApplicationDao;
+
+ @Resource
+ private ISysSendMessageLogDao sysSendMessageLogDao;
+
+
@Autowired
public void setSysWarningInterfaceDao(ISysWarningInterfaceDao dao) {
this.sysWarningInterfaceDao = dao;
@@ -75,10 +89,7 @@ public class SysWarningInterfaceServiceImpl extends BaseService appIdList = sysWarningInterfaceDao.getWarningAppList();
+ List appList = new ArrayList<>();
+ for (SysWarningInterfaceEntity entity : appIdList) {
+ if (entity == null) {
+ continue;
+ }
+ String appId = entity.getAppId();
+ SysApplicationEntity app = sysApplicationDao.get(appId);
+ if (app == null) {
+ continue;
+ }
+ SysSendMessageLogEntity logEntity = new SysSendMessageLogEntity();
+ logEntity.setAppId(appId);
+ logEntity.setState(0);
+ List list = sysSendMessageLogDao.queryByLike(logEntity);
+ app.setNewMessageCount(list.size());
+ if (app != null) {
+ appList.add(app);
+ }
+ }
+ return BaseResult.getSuccessMessageEntity("查询预警应用列表成功",appList);
+ }
+
}
diff --git a/base-webapp/src/main/java/com/hzya/frame/webapp/entrance/controler/EntranceController.java b/base-webapp/src/main/java/com/hzya/frame/webapp/entrance/controler/EntranceController.java
index a48c72bf..1227f020 100644
--- a/base-webapp/src/main/java/com/hzya/frame/webapp/entrance/controler/EntranceController.java
+++ b/base-webapp/src/main/java/com/hzya/frame/webapp/entrance/controler/EntranceController.java
@@ -21,11 +21,7 @@ import org.springframework.http.HttpHeaders;
import org.springframework.http.HttpStatus;
import org.springframework.http.MediaType;
import org.springframework.http.ResponseEntity;
-import org.springframework.web.bind.annotation.RequestMapping;
-import org.springframework.web.bind.annotation.RequestMethod;
-import org.springframework.web.bind.annotation.ResponseBody;
-import org.springframework.web.bind.annotation.RestController;
-import org.springframework.web.bind.annotation.RestControllerAdvice;
+import org.springframework.web.bind.annotation.*;
import org.springframework.web.multipart.MultipartFile;
import javax.annotation.Resource;
diff --git a/base-webapp/src/main/java/com/hzya/frame/webapp/entrance/service/impl/EntranceServiceImpl.java b/base-webapp/src/main/java/com/hzya/frame/webapp/entrance/service/impl/EntranceServiceImpl.java
index 9dec83c7..ea5f4c44 100644
--- a/base-webapp/src/main/java/com/hzya/frame/webapp/entrance/service/impl/EntranceServiceImpl.java
+++ b/base-webapp/src/main/java/com/hzya/frame/webapp/entrance/service/impl/EntranceServiceImpl.java
@@ -78,7 +78,7 @@ public class EntranceServiceImpl implements IEntranceService {
if (m.getName().equals(serviceMethod.trim())) {
if (m.getName().startsWith("thirdInterface")) {//TODO 后续可能要加强校验规则
logger.info("第三方接口,不校验是否登陆");
- }else if (!"doLogin".equals(m.getName())) {
+ }else if (!"doLogin".equals(m.getName())&& !"appDoLogin".equals(m.getName()) ) {
try {
StpUtil.checkLogin();
//校验当前登陆人是否有权限
diff --git a/base-webapp/src/main/java/com/hzya/frame/webapp/web/corsconfig/CorsConfig.java b/base-webapp/src/main/java/com/hzya/frame/webapp/web/corsconfig/CorsConfig.java
new file mode 100644
index 00000000..45ea4e9f
--- /dev/null
+++ b/base-webapp/src/main/java/com/hzya/frame/webapp/web/corsconfig/CorsConfig.java
@@ -0,0 +1,24 @@
+package com.hzya.frame.webapp.web.corsconfig;
+
+import org.springframework.context.annotation.Configuration;
+import org.springframework.web.servlet.config.annotation.CorsRegistry;
+import org.springframework.web.servlet.config.annotation.WebMvcConfigurer;
+
+/**
+ * @author 👻👻👻👻👻👻👻👻👻👻 gjh
+ * @version 1.0
+ * @content
+ * @date 2024-09-14 17:10
+ */
+@Configuration
+public class CorsConfig implements WebMvcConfigurer {
+
+ @Override
+ public void addCorsMappings(CorsRegistry registry) {
+ registry.addMapping("/**")
+ .allowedOrigins("*")
+ .allowedMethods("GET", "POST", "PUT", "DELETE")
+ .allowedHeaders("*")
+ .allowCredentials(false);
+ }
+}
\ No newline at end of file
diff --git a/pom.xml b/pom.xml
index 4a8ada76..c4a7665a 100644
--- a/pom.xml
+++ b/pom.xml
@@ -464,6 +464,15 @@
**/*.jar
+
+ ${basedir}/../fw-bip/src/main/webapp/WEB-INF/lib
+ WEB-INF/lib/
+ false
+
+
+ **/*.jar
+
+