From 44fb1eaca1a6eb9b9d70748d2dc33c17d3b3d36b Mon Sep 17 00:00:00 2001 From: "476474485@qq.com" Date: Sat, 14 Sep 2024 15:21:44 +0800 Subject: [PATCH 1/7] =?UTF-8?q?=E7=BC=96=E5=86=99=E7=A7=BB=E5=8A=A8?= =?UTF-8?q?=E7=AB=AF=E9=92=89=E9=92=89=E7=99=BB=E5=BD=95?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../frame/sysnew/login/ILoginService.java | 9 ++ .../sysnew/login/impl/LoginServiceImpl.java | 126 ++++++++++++++++++ .../service/impl/EntranceServiceImpl.java | 2 +- 3 files changed, 136 insertions(+), 1 deletion(-) 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..f0db3c9e 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,15 @@ 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.stereotype.Service; import javax.annotation.Resource; import java.util.List; +import java.util.Map; /** @@ -35,6 +50,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; @@ -131,6 +147,116 @@ 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); + //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("http://127.0.0.1:9999/kangarooDataCenterV3/entranceController/externalCallInterface"). + 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){ + throw new BaseSystemException("请求错误:"+resultJson.getString("msg")); + } + String userid = resultJson.getString("userid"); + if(StrUtil.isEmpty(userid)){ + return BaseResult.getFailureMessageEntity("认证失败!当前用户未绑定钉钉","1005"); + } + userEntity.setDdUserId( userid); + userEntity = sysUserDao.queryOne(userEntity); + if(null == userEntity ){ + if(StrUtil.isEmpty(userid)){ + JSONObject object = new JSONObject(); + object.put("userid",userid); + return BaseResult.getFailureMessageEntity("认证失败!当前用户未绑定钉钉","1005",object); + } + } + break; + case "weChat": + break; + default: + throw new BaseSystemException("错误的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("用户无访问权限,请联系管理员"); + //} + + } + + protected T getData(String key, JSONObject jsonObject, Class clz) { if (checkStr(jsonObject.getString(key))) { return jsonObject.getJSONObject(key).toJavaObject(clz); 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(); //校验当前登陆人是否有权限 From 55aa4c4a92c03eff6bed089d996a32b308da443b Mon Sep 17 00:00:00 2001 From: lvleigang <957075182@qq.com> Date: Sat, 14 Sep 2024 16:30:05 +0800 Subject: [PATCH 2/7] =?UTF-8?q?dev=E9=BB=98=E8=AE=A4=E7=AB=AF=E5=8F=A3?= =?UTF-8?q?=E4=BF=AE=E6=94=B9=E4=B8=BA10086=EF=BC=8C=E5=90=8C=E6=AD=A5?= =?UTF-8?q?=E4=BF=AE=E6=94=B9=E4=BB=A3=E7=A0=81=E8=8E=B7=E5=8F=96url?= =?UTF-8?q?=E5=9C=B0=E5=9D=80=E6=96=B9=E6=B3=95?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .gitignore | 1 + base-buildpackage/src/main/resources/application.yml | 4 ++-- .../com/hzya/frame/sysnew/login/impl/LoginServiceImpl.java | 6 ++++-- .../service/impl/SysSendMessageLogServiceImpl.java | 6 ++++-- 4 files changed, 11 insertions(+), 6 deletions(-) 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/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/sysnew/login/impl/LoginServiceImpl.java b/base-service/src/main/java/com/hzya/frame/sysnew/login/impl/LoginServiceImpl.java index f0db3c9e..2057cbee 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 @@ -36,6 +36,7 @@ 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; @@ -58,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 @@ -171,7 +173,7 @@ public class LoginServiceImpl implements ILoginService { String requestType = entity.getString("UserAgent");// pc端还是移动端 JSONObject bodyParams = new JSONObject(); bodyParams.put("code",code); - String result = HttpRequest.post("http://127.0.0.1:9999/kangarooDataCenterV3/entranceController/externalCallInterface"). + String result = HttpRequest.post("url"). header("appId",appId). header("apiCode",userApiCode). header("publicKey","ZJYAWb7lhAUTYqekPkU+uHJv1/ObJxb7dT7sD8HPRDGAgyhCe7eDIk+3zDUT+v578prj"). diff --git a/base-service/src/main/java/com/hzya/frame/sysnew/sendMessageLog/service/impl/SysSendMessageLogServiceImpl.java b/base-service/src/main/java/com/hzya/frame/sysnew/sendMessageLog/service/impl/SysSendMessageLogServiceImpl.java index 2ff4f682..d48fb778 100644 --- a/base-service/src/main/java/com/hzya/frame/sysnew/sendMessageLog/service/impl/SysSendMessageLogServiceImpl.java +++ b/base-service/src/main/java/com/hzya/frame/sysnew/sendMessageLog/service/impl/SysSendMessageLogServiceImpl.java @@ -25,6 +25,7 @@ import com.hzya.frame.sysnew.warningInterface.entity.SysWarningInterfaceEntity; import com.hzya.frame.uuid.UUIDUtils; import com.hzya.frame.web.entity.BaseResult; import com.hzya.frame.web.entity.JsonResultEntity; +import org.springframework.beans.factory.annotation.Value; import org.springframework.stereotype.Service; import org.springframework.beans.factory.annotation.Autowired; import javax.annotation.Resource; @@ -55,7 +56,8 @@ public class SysSendMessageLogServiceImpl extends BaseService Date: Sat, 14 Sep 2024 16:57:45 +0800 Subject: [PATCH 3/7] =?UTF-8?q?=E8=A7=A3=E5=86=B3=E7=A7=BB=E5=8A=A8?= =?UTF-8?q?=E7=AB=AF=E8=B7=A8=E5=9F=9F=E9=97=AE=E9=A2=98?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../webapp/entrance/controler/EntranceController.java | 7 ++----- 1 file changed, 2 insertions(+), 5 deletions(-) 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..75e73ca6 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; @@ -56,6 +52,7 @@ public class EntranceController { protected ISysApplicationService sysApplicationService; @RequestMapping(value = "/option") @ResponseBody + @CrossOrigin(origins = "*") public JsonResultEntity option(ServletRequest servletRequest, ServletResponse servletResponse) throws Exception { return entranceService.doBusiness(servletRequest, servletResponse); } From d9405aad90d453a5384fddcdb079aa75ac1b0dea Mon Sep 17 00:00:00 2001 From: lvleigang <957075182@qq.com> Date: Sat, 14 Sep 2024 16:59:04 +0800 Subject: [PATCH 4/7] =?UTF-8?q?dev=E9=BB=98=E8=AE=A4=E7=AB=AF=E5=8F=A3?= =?UTF-8?q?=E4=BF=AE=E6=94=B9=E4=B8=BA10086=EF=BC=8C=E5=90=8C=E6=AD=A5?= =?UTF-8?q?=E4=BF=AE=E6=94=B9=E4=BB=A3=E7=A0=81=E8=8E=B7=E5=8F=96url?= =?UTF-8?q?=E5=9C=B0=E5=9D=80=E6=96=B9=E6=B3=95?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../hzya/frame/sysnew/login/impl/LoginServiceImpl.java | 8 ++++++++ .../com/hzya/frame/sysnew/user/entity/SysUserEntity.xml | 2 ++ 2 files changed, 10 insertions(+) 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 2057cbee..985b999d 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 @@ -131,6 +131,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(); 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..c27713bc 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 @@ -373,6 +373,8 @@ sts = #{sts}, org_id = #{org_id}, company_id = #{companyId}, + dd_user_id = #{ddUserId}, + wx_user_id = #{wxUserId}, where id = #{id} From 165e548056de7dbee5c4af4d9c613fcda657aef8 Mon Sep 17 00:00:00 2001 From: username Date: Wed, 18 Sep 2024 16:51:20 +0800 Subject: [PATCH 5/7] =?UTF-8?q?=E6=B6=88=E6=81=AF=E6=8E=A8=E9=80=81?= =?UTF-8?q?=E6=A8=A1=E5=9D=97=E4=BB=A3=E7=A0=81=E6=9B=B4=E6=96=B0?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- base-buildpackage/pom.xml | 6 + .../plugin/PushMessagePluginInitializer.java | 1 + .../main/resources/application-zqtlocal.yml | 2 +- .../api/entity/SysApplicationApiEntity.xml | 112 ++- .../service/ISysApplicationApiService.java | 2 + .../impl/SysApplicationApiServiceImpl.java | 40 + .../entity/SysApplicationEntity.java | 10 + .../impl/SysApplicationServiceImpl.java | 2 +- .../entity/SysMessageManageLogEntity.xml | 4 +- .../entity/SysMessageTemplateEntity.java | 44 +- .../entity/SysMessageTemplateEntity.xml | 40 +- .../impl/SysMessageTemplateServiceImpl.java | 328 ++++---- .../entity/SysPushMessageEntity.java | 10 - .../entity/SysPushMessageEntity.xml | 10 +- .../impl/SysPushMessageServiceImpl.java | 1 + .../entity/SysSendMessageLogEntity.java | 102 ++- .../entity/SysSendMessageLogEntity.xml | 233 +++--- .../service/ISysSendMessageLogService.java | 2 + .../impl/SysSendMessageLogServiceImpl.java | 749 ++++++++++-------- .../entity/SysWarningConfigEntity.java | 76 +- .../entity/SysWarningConfigEntity.xml | 99 +-- .../impl/SysWarningConfigServiceImpl.java | 276 ++++++- .../dao/ISysWarningInterfaceDao.java | 5 +- .../dao/impl/SysWarningInterfaceDaoImpl.java | 9 +- .../entity/SysWarningInterfaceEntity.java | 21 +- .../entity/SysWarningInterfaceEntity.xml | 65 +- .../service/ISysWarningInterfaceService.java | 2 + .../impl/SysWarningInterfaceServiceImpl.java | 53 +- 28 files changed, 1419 insertions(+), 885 deletions(-) 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-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-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/impl/SysApplicationServiceImpl.java b/base-service/src/main/java/com/hzya/frame/sysnew/application/service/impl/SysApplicationServiceImpl.java index b6ad01cd..2a11d6ef 100644 --- a/base-service/src/main/java/com/hzya/frame/sysnew/application/service/impl/SysApplicationServiceImpl.java +++ b/base-service/src/main/java/com/hzya/frame/sysnew/application/service/impl/SysApplicationServiceImpl.java @@ -2649,7 +2649,7 @@ public class SysApplicationServiceImpl extends BaseService sendMssage(sysPushMessageEntity)); + taskExecutor.execute(() -> sendMssage(sysPushMessageEntity)); return sysMessageManageLogEntity; } 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/messageTemplate/entity/SysMessageTemplateEntity.java b/base-service/src/main/java/com/hzya/frame/sysnew/messageTemplate/entity/SysMessageTemplateEntity.java index 5cda5ede..5a1ba2a6 100644 --- a/base-service/src/main/java/com/hzya/frame/sysnew/messageTemplate/entity/SysMessageTemplateEntity.java +++ b/base-service/src/main/java/com/hzya/frame/sysnew/messageTemplate/entity/SysMessageTemplateEntity.java @@ -12,8 +12,6 @@ public class SysMessageTemplateEntity extends BaseEntity { /** 公司id */ private String companyId; - /** 调用单据类型 */ - private String billKindId; /** 模版类型 */ private String templateType; /** 模版名称 */ @@ -26,14 +24,8 @@ public class SysMessageTemplateEntity extends BaseEntity { private String btns; /** 数据源 */ private String dataSource; - /** 创建时间 */ - private Date createDate; - /** 创建人 */ - private String createPersonId; - /** 状态 */ + /** 状态 0:停用 1:启用 */ private String state; - /** 删除标志 */ - private Integer isdelete; public String getCompanyId() { @@ -44,14 +36,6 @@ public class SysMessageTemplateEntity extends BaseEntity { this.companyId = companyId; } - public String getBillKindId() { - return billKindId; - } - - public void setBillKindId(String billKindId) { - this.billKindId = billKindId; - } - public String getTemplateType() { return templateType; } @@ -99,23 +83,6 @@ public class SysMessageTemplateEntity extends BaseEntity { public void setDataSource(String dataSource) { this.dataSource = dataSource; } - - public Date getCreateDate() { - return createDate; - } - - public void setCreateDate(Date createDate) { - this.createDate = createDate; - } - - public String getCreatePersonId() { - return createPersonId; - } - - public void setCreatePersonId(String createPersonId) { - this.createPersonId = createPersonId; - } - public String getState() { return state; } @@ -123,14 +90,5 @@ public class SysMessageTemplateEntity extends BaseEntity { public void setState(String state) { this.state = state; } - - public Integer getIsdelete() { - return isdelete; - } - - public void setIsdelete(Integer isdelete) { - this.isdelete = isdelete; - } - } diff --git a/base-service/src/main/java/com/hzya/frame/sysnew/messageTemplate/entity/SysMessageTemplateEntity.xml b/base-service/src/main/java/com/hzya/frame/sysnew/messageTemplate/entity/SysMessageTemplateEntity.xml index 80002b16..e1cf60d5 100644 --- a/base-service/src/main/java/com/hzya/frame/sysnew/messageTemplate/entity/SysMessageTemplateEntity.xml +++ b/base-service/src/main/java/com/hzya/frame/sysnew/messageTemplate/entity/SysMessageTemplateEntity.xml @@ -12,17 +12,13 @@ - - - - @@ -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; - @Value("${zt.url}") - private String url ; - private ISysSendMessageLogDao sysSendMessageLogDao; + @Resource + private ApplicationCache applicationCache; + @Resource + private ISysWarningInterfaceDao sysWarningInterfaceDao; + @Resource + private ISysWarningConfigDao sysWarningConfigDao; + @Resource + private ISysMessageTemplateDao sysMessageTemplateDao; + @Resource + private ISysUserDao sysUserDao; + @Resource + private ISysPersonDao sysPersonsDao; - @Autowired - public void setSysSendMessageLogDao(ISysSendMessageLogDao dao) { - this.sysSendMessageLogDao = dao; - this.dao = dao; - } + @Resource + private ISysApplicationApiDao sysApplicationApiDao; + @Resource + private ISysApplicationApiParaDao sysApplicationApiParaDao; - @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); - } + @Value("${zt.url}") + private String url ; - @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); - } + private ISysSendMessageLogDao sysSendMessageLogDao; - @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); - } + @Autowired + public void setSysSendMessageLogDao(ISysSendMessageLogDao dao) { + this.sysSendMessageLogDao = dao; + this.dao = dao; + } - @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 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 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 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 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 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 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(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"); + 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/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 select - - from sys_warning_config + config.* + ,template.template_name + from sys_warning_config config + LEFT JOIN sys_message_template template ON template.id = config.message_template_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 message_template_id like concat('%',#{messageTemplateId},'%') - and app_id like concat('%',#{appId},'%') - and warning_app_id like concat('%',#{warningAppId},'%') - and accept_message_api_code like concat('%',#{acceptMessageApiCode},'%') - and remark like concat('%',#{remark},'%') - and status like concat('%',#{status},'%') - and recipient_id like concat('%',#{recipientId},'%') - and sts='Y' + and config.id like concat('%',#{id},'%') + and config.sorts like concat('%',#{sorts},'%') + and config.create_user_id like concat('%',#{create_user_id},'%') + and config.create_time like concat('%',#{create_time},'%') + and config.modify_user_id like concat('%',#{modify_user_id},'%') + and config.modify_time like concat('%',#{modify_time},'%') + and config.sts like concat('%',#{sts},'%') + and config.org_id like concat('%',#{org_id},'%') + and config.company_id like concat('%',#{companyId},'%') + and config.message_template_id like concat('%',#{messageTemplateId},'%') + and config.app_id_list like concat('%',#{appIdList},'%') + and config.warning_app_id like concat('%',#{warningAppId},'%') + and config.accept_message_api_code like concat('%',#{acceptMessageApiCode},'%') + and config.remark like concat('%',#{remark},'%') + and config.status like concat('%',#{status},'%') + and config.recipient_id_list like concat('%',#{recipientIdList},'%') + and config.sts='Y' + and template.sts='Y' - order by sorts asc + order by config.sorts asc order by ${sort} ${order} @@ -144,12 +151,12 @@ or org_id = #{org_id} or company_id = #{companyId} or message_template_id = #{messageTemplateId} - or app_id = #{appId} + or app_id_list = #{appIdList} or warning_app_id = #{warningAppId} or accept_message_api_code = #{acceptMessageApiCode} or remark = #{remark} or status = #{status} - or recipient_id = #{recipientId} + or recipient_id_list = #{recipientIdList} and sts='Y' order by sorts asc @@ -170,12 +177,12 @@ 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 , sts, )values( @@ -190,30 +197,30 @@ #{org_id} , #{companyId} , #{messageTemplateId} , - #{appId} , + #{appIdList} , #{warningAppId} , #{acceptMessageApiCode} , #{remark} , #{status} , - #{recipientId} , + #{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, 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 + + @@ -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); + } + } From 61b0cdfaeecd4c9a3ca5555135c235f07ee12994 Mon Sep 17 00:00:00 2001 From: lvleigang <957075182@qq.com> Date: Fri, 20 Sep 2024 09:54:27 +0800 Subject: [PATCH 6/7] =?UTF-8?q?=E4=B8=BB=E6=95=B0=E6=8D=AE=E6=98=BE?= =?UTF-8?q?=E7=A4=BA=E6=9F=A5=E7=9C=8B=E6=95=B0=E6=8D=AE=E6=A0=BC=E5=BC=8F?= =?UTF-8?q?=E5=8A=9F=E8=83=BD?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../frame/dingtalk/enums/OrgEventEnum.java | 48 +++++ .../dingtalk/service/IDingTalkExtService.java | 32 +++ .../dingtalk/service/IDingTalkService.java | 66 ++++++ .../service/impl/DingTalkExtServiceImpl.java | 100 +++++++++ .../service/impl/DingTalkServiceImpl.java | 164 +++++++++++++++ .../dingtalk/util/DingTalkAccessToken.java | 103 ++++++++++ .../home/service/impl/HomeServiceImpl.java | 1 + .../frame/mdm/entity/MdmFiledsRuleDto.java | 77 +++++++ .../mdm/mdmModule/dao/IMdmModuleDao.java | 3 + .../mdmModule/dao/impl/MdmModuleDaoImpl.java | 7 + .../mdm/mdmModule/entity/MdmModuleEntity.xml | 9 + .../service/impl/MdmModuleServiceImpl.java | 15 +- .../hzya/frame/mdm/service/IMdmService.java | 9 + .../mdm/service/impl/MdmServiceImpl.java | 193 ++++++++++++++++-- .../service/ISysApplicationService.java | 5 + .../impl/SysApplicationServiceImpl.java | 36 ++++ .../sysnew/login/impl/LoginServiceImpl.java | 30 ++- .../entity/SysMessageManageLogEntity.java | 12 +- .../impl/SysMessageManageLogServiceImpl.java | 13 +- .../sysnew/user/entity/SysUserEntity.xml | 2 + .../controler/EntranceController.java | 1 - 21 files changed, 899 insertions(+), 27 deletions(-) create mode 100755 base-service/src/main/java/com/hzya/frame/dingtalk/enums/OrgEventEnum.java create mode 100755 base-service/src/main/java/com/hzya/frame/dingtalk/service/IDingTalkExtService.java create mode 100755 base-service/src/main/java/com/hzya/frame/dingtalk/service/IDingTalkService.java create mode 100755 base-service/src/main/java/com/hzya/frame/dingtalk/service/impl/DingTalkExtServiceImpl.java create mode 100755 base-service/src/main/java/com/hzya/frame/dingtalk/service/impl/DingTalkServiceImpl.java create mode 100755 base-service/src/main/java/com/hzya/frame/dingtalk/util/DingTalkAccessToken.java create mode 100644 base-service/src/main/java/com/hzya/frame/mdm/entity/MdmFiledsRuleDto.java 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/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 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/impl/LoginServiceImpl.java b/base-service/src/main/java/com/hzya/frame/sysnew/login/impl/LoginServiceImpl.java index 985b999d..80a7fc3a 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 @@ -181,7 +181,7 @@ public class LoginServiceImpl implements ILoginService { String requestType = entity.getString("UserAgent");// pc端还是移动端 JSONObject bodyParams = new JSONObject(); bodyParams.put("code",code); - String result = HttpRequest.post("url"). + String result = HttpRequest.post(url). header("appId",appId). header("apiCode",userApiCode). header("publicKey","ZJYAWb7lhAUTYqekPkU+uHJv1/ObJxb7dT7sD8HPRDGAgyhCe7eDIk+3zDUT+v578prj"). @@ -192,26 +192,24 @@ public class LoginServiceImpl implements ILoginService { JSONObject resultJson = JSONObject.parseObject(result); boolean flag = resultJson.getBoolean("flag"); if(!flag){ - throw new BaseSystemException("请求错误:"+resultJson.getString("msg")); + return BaseResult.getFailureMessageEntity("请求错误:"+resultJson.getString("msg")); } - String userid = resultJson.getString("userid"); + String userid = resultJson.getJSONObject("attribute").getJSONObject("result").getString("userid"); if(StrUtil.isEmpty(userid)){ - return BaseResult.getFailureMessageEntity("认证失败!当前用户未绑定钉钉","1005"); + return BaseResult.getFailureMessageEntity("认证失败!获取钉钉userid错误","1006"); } userEntity.setDdUserId( userid); userEntity = sysUserDao.queryOne(userEntity); if(null == userEntity ){ - if(StrUtil.isEmpty(userid)){ - JSONObject object = new JSONObject(); - object.put("userid",userid); - return BaseResult.getFailureMessageEntity("认证失败!当前用户未绑定钉钉","1005",object); - } + JSONObject object = new JSONObject(); + object.put("userid",userid); + return BaseResult.getFailureMessageEntity("认证失败!当前用户未绑定钉钉","1005",object); } break; case "weChat": break; default: - throw new BaseSystemException("错误的App类型:"+appType+" 支持的app类型有:DD,weChat"); + return BaseResult.getFailureMessageEntity("错误的App类型:"+appType+" 支持的app类型有:DD,weChat"); } //登录 @@ -266,6 +264,18 @@ public class LoginServiceImpl implements ILoginService { } + 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))) { 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/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 BaseServiceand 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 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 75e73ca6..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 @@ -52,7 +52,6 @@ public class EntranceController { protected ISysApplicationService sysApplicationService; @RequestMapping(value = "/option") @ResponseBody - @CrossOrigin(origins = "*") public JsonResultEntity option(ServletRequest servletRequest, ServletResponse servletResponse) throws Exception { return entranceService.doBusiness(servletRequest, servletResponse); } From a778197694ddc210c2a16fae51b32b730b4edb65 Mon Sep 17 00:00:00 2001 From: lvleigang <957075182@qq.com> Date: Fri, 20 Sep 2024 15:50:29 +0800 Subject: [PATCH 7/7] =?UTF-8?q?=E4=BF=AE=E6=94=B9=E9=80=82=E9=85=8D?= =?UTF-8?q?=E9=92=89=E9=92=89=E5=8D=95=E7=82=B9=E7=99=BB=E5=BD=95?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../src/main/resources/application-llg.yml | 6 ++- .../sysnew/login/impl/LoginServiceImpl.java | 10 ++++- .../webapp/web/corsconfig/CorsConfig.java | 24 +++++++++++ pom.xml | 40 ++++++++++++++----- 4 files changed, 66 insertions(+), 14 deletions(-) create mode 100644 base-webapp/src/main/java/com/hzya/frame/webapp/web/corsconfig/CorsConfig.java 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-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 80a7fc3a..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 @@ -85,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("用户名或密码错误"); } @@ -169,6 +172,11 @@ public class LoginServiceImpl implements ILoginService { 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"); 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 fc53bd54..1e7fa67d 100644 --- a/pom.xml +++ b/pom.xml @@ -7,17 +7,17 @@ base-common base-webapp base-core - - - - - - - - - - - + fw-bip + fw-cbs + fw-dd + fw-grpU8 + fw-nc + fw-ncc + fw-ningbobank + fw-oa + fw-u8 + fw-u8c + fw-u9c com.hzya.frame kangarooDataCenterV3 @@ -464,6 +464,24 @@ **/*.jar + + ${basedir}/../fw-bip/src/main/webapp/WEB-INF/lib + WEB-INF/lib/ + false + + + **/*.jar + + + + ${basedir}/../fw-ningbobank/src/main/webapp/WEB-INF/lib + WEB-INF/lib/ + false + + + **/*.jar + +