diff --git a/buildpackage/src/main/java/com/hzya/frame/plugin/BackUpDatabase/plugin/BackUpDatabaseInitializer.java b/buildpackage/src/main/java/com/hzya/frame/plugin/BackUpDatabase/plugin/BackUpDatabaseInitializer.java new file mode 100644 index 00000000..7a98112a --- /dev/null +++ b/buildpackage/src/main/java/com/hzya/frame/plugin/BackUpDatabase/plugin/BackUpDatabaseInitializer.java @@ -0,0 +1,386 @@ +package com.hzya.frame.plugin.BackUpDatabase.plugin; + +import com.alibaba.fastjson.JSONObject; +import com.hzya.frame.base.PluginBaseEntity; +import com.hzya.frame.web.entity.BaseResult; +import com.hzya.frame.web.entity.JsonResultEntity; + +import com.jcraft.jsch.Channel; +import com.jcraft.jsch.ChannelSftp; +import com.jcraft.jsch.JSch; +import com.jcraft.jsch.Session; +import com.jcraft.jsch.SftpATTRS; +import com.jcraft.jsch.SftpException; +import org.apache.commons.net.ftp.FTPClient; +import org.slf4j.Logger; +import org.slf4j.LoggerFactory; +import org.springframework.beans.factory.annotation.Value; + +import java.io.BufferedReader; +import java.io.File; +import java.io.FileInputStream; +import java.io.FileNotFoundException; +import java.io.FileWriter; +import java.io.IOException; +import java.io.InputStreamReader; +import java.io.PrintWriter; +import java.nio.file.Files; +import java.text.SimpleDateFormat; +import java.util.Date; +import java.util.Properties; + + +/** + * 主数据模版(MdmModule)表服务接口 + * + * @author makejava + * @since 2024-06-18 10:33:32 + */ +public class BackUpDatabaseInitializer extends PluginBaseEntity { + Logger logger = LoggerFactory.getLogger(BackUpDatabaseInitializer.class); + + @Override + public void initialize() { + logger.info(getPluginLabel() + "執行初始化方法initialize()"); + } + + @Override + public void destroy() { + logger.info(getPluginLabel() + "執行銷毀方法destroy()"); + } + + @Override + public String getPluginId() { + return "BackUpDatabasePlugin"; + } + + @Override + public String getPluginName() { + return "数据库备份下发"; + } + + @Override + public String getPluginLabel() { + return "BackUpDatabasePlugin"; + } + + @Override + public String getPluginType() { + return "1"; + } + + @Value("${database.filePase:}") + private String filePase;//文件保存路径 + + @Value("${database.fileName:data.sql}") + private String fileName;//文件保存名称 + + @Value("${database.databaseName:}") + private String databaseName;//库名 + + @Value("${database.host:}") + private String host;//地址 + + @Value("${database.port:}") + private String port;//端口 + + @Value("${database.username:}") + private String username;//用户名 + + @Value("${database.password:}") + private String password;//密码 + + + @Value("${sftp.host:}") + private String sftpHost; + + @Value("${sftp.port:}") + private Integer sftpPort; + + @Value("${sftp.username:}") + private String sftpUsername; + + @Value("${sftp.password:}") + private String sftpPassword; + + @Value("${sftp.filePase:}") + private String sftpFilePase; + + + private ChannelSftp sftp = null; + private Session sshSession = null; + + @Override + public JsonResultEntity executeBusiness(JSONObject requestJson) { + try { + if(filePase == null || "".equals(filePase) + || databaseName == null || "".equals(databaseName) + || fileName == null || "".equals(fileName) + || host == null || "".equals(host) + || port == null || "".equals(port) + || username == null || "".equals(username) + || password == null || "".equals(password) + ){ + return BaseResult.getSuccessMessageEntity("系统参数未配置不执行,数据库备份"); + } + //查找是否存在当天数据库 + //格式化日期 + SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd"); + String data = sdf.format(new Date()); + //当天路径 + String nowDatabasePase = filePase + File.separator + data; + //不判断文件是否存在,直接执行 + if(!backFile(nowDatabasePase)){ + return BaseResult.getFailureMessageEntity("备份失败"); + } + //判断是否有sftp配置,有的备份,没有的不备份 + if(sftpHost != null && !"".equals(sftpHost) + && sftpPort != null && !"".equals(sftpPort) + && sftpUsername != null && !"".equals(sftpUsername) + && sftpPassword != null && !"".equals(sftpPassword) + && sftpFilePase != null && !"".equals(sftpFilePase) + ){ + String sftpnowDatabasePase = sftpFilePase + File.separator + data; + if(!sendFile(nowDatabasePase,sftpnowDatabasePase)){ + return BaseResult.getFailureMessageEntity("备份失败"); + } + } + logger.info("执行成功"); + return BaseResult.getSuccessMessageEntity("执行成功"); + } catch (Exception e) { + logger.error("执行失败{}", e.getMessage()); + return BaseResult.getFailureMessageEntity("备份失败"); + } + } + + private boolean backFile(String nowDatabasePase) { + try { + // 构建 mysqldump 命令 + ProcessBuilder processBuilder = new ProcessBuilder( + "mysqldump", + "--ssl-mode=DISABLED", + "-h", host, + "-u", username, + "-p" + password, + "-P" + port, + databaseName); + // 启动进程并获取输入流 + Process process = processBuilder.start(); + BufferedReader reader = new BufferedReader(new InputStreamReader(process.getInputStream())); + File f = creatFile(nowDatabasePase,fileName); + // 将备份内容写入文件 + FileWriter writer = new FileWriter(f); + String line; + while ((line = reader.readLine())!= null) { + writer.write(line + "\n"); + } + // 关闭资源 + reader.close(); + writer.close(); + process.waitFor(); + logger.info("文件备份成功路径:"+nowDatabasePase+ File.separator +fileName); + return true; + } catch (IOException | InterruptedException e) { + logger.info("文件备份失败:"+e.getMessage()); + return false; + } + } + /** + * @Author lvleigang + * @Description 创建目录及文件 + * @Date 8:59 上午 2024/10/22 + * @param filePath + * @param fileName + * @return java.io.File + **/ + public File creatFile(String filePath, String fileName) { + File folder = new File(filePath); + //文件夹路径不存在 + if (!folder.exists()) { + boolean mkdirs = folder.mkdirs(); + } + // 如果文件不存在就创建 + File file = new File(filePath + File.separator + fileName); + if (!file.exists()) { + try { + file.createNewFile(); + } catch (IOException e) { + logger.error("创建备份文件失败:"+e.getMessage()); + } + } + return file; + } + + private boolean sendFile(String localFilePath,String remoteFileName) { + try { + connect(); + uploadFile(remoteFileName,fileName,localFilePath,fileName); + disconnect(); + return true; + } catch (Exception e) { + logger.error("sftp文件上传失败:"+e.getMessage()); + return false; + } + } + + public void connect() { + try { + JSch jsch = new JSch(); + jsch.getSession(sftpUsername, sftpHost, sftpPort); + sshSession = jsch.getSession(sftpUsername, sftpHost, sftpPort); + if (logger.isInfoEnabled()) { + logger.info("Session created."); + } + sshSession.setPassword(sftpPassword); + Properties sshConfig = new Properties(); + sshConfig.put("StrictHostKeyChecking", "no"); + sshSession.setConfig(sshConfig); + sshSession.connect(); + if (logger.isInfoEnabled()) { + logger.info("Session connected."); + } + Channel channel = sshSession.openChannel("sftp"); + channel.connect(); + if (logger.isInfoEnabled()) { + logger.info("Opening Channel."); + } + sftp = (ChannelSftp) channel; + if (logger.isInfoEnabled()) { + logger.info("Connected to " + host + "."); + } + } catch (Exception e) { + } + } + + /** + * 关闭连接 + */ + public void disconnect() { + if (this.sftp != null) { + if (this.sftp.isConnected()) { + this.sftp.disconnect(); + if (logger.isInfoEnabled()) { + logger.info("sftp is closed already"); + } + } + } + if (this.sshSession != null) { + if (this.sshSession.isConnected()) { + this.sshSession.disconnect(); + if (logger.isInfoEnabled()) { + logger.info("sshSession is closed already"); + } + } + } + } + + /** + * 上传单个文件 + * + * @param remotePath:远程保存目录 + * @param remoteFileName:保存文件名 + * @param localPath:本地上传目录(以路径符号结束) + * @param localFileName:上传的文件名 + * @return + */ + public boolean uploadFile(String remotePath, String remoteFileName, String localPath, String localFileName) { + FileInputStream in = null; + try { + createDir(remotePath); + File file = new File(localPath + File.separator + localFileName); + in = new FileInputStream(file); + sftp.put(in, remoteFileName, 65536); + return true; + } catch (FileNotFoundException e) { + } catch (SftpException e) { + } finally { + if (in != null) { + try { + in.close(); + } catch (IOException e) { + } + } + } + return false; + } + + /** + * 创建目录 + * + * @param createpath + * @return + */ + public boolean createDir(String createpath) { + try { + if (isDirExist(createpath)) { + this.sftp.cd(createpath); + return true; + } + String pathArry[] = createpath.split("/"); + StringBuffer filePath = new StringBuffer("/"); + for (String path : pathArry) { + if (path.equals("")) { + continue; + } + filePath.append(path + "/"); + if (isDirExist(filePath.toString())) { + sftp.cd(filePath.toString()); + } else { + // 建立目录 + sftp.mkdir(filePath.toString()); + // 进入并设置为当前目录 + sftp.cd(filePath.toString()); + } + + } + this.sftp.cd(createpath); + return true; + } catch (SftpException e) { + } + return false; + } + + /** + * 判断目录是否存在 + * + * @param directory + * @return + */ + public boolean isDirExist(String directory) { + boolean isDirExistFlag = false; + try { + SftpATTRS sftpATTRS = sftp.lstat(directory); + isDirExistFlag = true; + return sftpATTRS.isDir(); + } catch (Exception e) { + if (e.getMessage().toLowerCase().equals("no such file")) { + isDirExistFlag = false; + } + } + return isDirExistFlag; + } + + + + /** + * 如果目录不存在就创建目录 + * + * @param path + */ + public void mkdirs(String path) { + File f = new File(path); + + String fs = f.getParent(); + + f = new File(fs); + + if (!f.exists()) { + f.mkdirs(); + } + } + + + + + +} diff --git a/buildpackage/src/main/java/com/hzya/frame/plugin/mdmDistribute/plugin/MdmModulePluginInitializer.java b/buildpackage/src/main/java/com/hzya/frame/plugin/mdmDistribute/plugin/MdmModulePluginInitializer.java index de6fb968..ebff9dc2 100644 --- a/buildpackage/src/main/java/com/hzya/frame/plugin/mdmDistribute/plugin/MdmModulePluginInitializer.java +++ b/buildpackage/src/main/java/com/hzya/frame/plugin/mdmDistribute/plugin/MdmModulePluginInitializer.java @@ -704,7 +704,7 @@ public class MdmModulePluginInitializer extends PluginBaseEntity { continue; }else { //保存日志 - saveMdmModuleSendLogEntity(mainCode,mdmModuleDistributeEntities.get(i1).getId(),"2","转发失败",mainDb,objects.get(i).getString("id"),sysApplicationEntity.getName(),sysApplicationEntity.getId(),apiEntity.getApiName(),apiEntity.getId(),doObjects.get(i).toJSONString(),"3"); + saveMdmModuleSendLogEntity(mainCode,mdmModuleDistributeEntities.get(i1).getId(),"2","转发失败:"+jsonResultEntity.getAttribute(),mainDb,objects.get(i).getString("id"),sysApplicationEntity.getName(),sysApplicationEntity.getId(),apiEntity.getApiName(),apiEntity.getId(),doObjects.get(i).toJSONString(),"3"); continue; } } @@ -885,7 +885,7 @@ public class MdmModulePluginInitializer extends PluginBaseEntity { continue; }else { //保存日志 - saveMdmModuleSendLogEntity(mainCode,mdmModuleDistributeEntities.get(i1).getId(),"2","转发失败",mainDb,objects.get(i).getString("id"),sysApplicationEntity.getName(),sysApplicationEntity.getId(),apiEntity.getApiName(),apiEntity.getId(),doObjects.get(i).toJSONString(),"2"); + saveMdmModuleSendLogEntity(mainCode,mdmModuleDistributeEntities.get(i1).getId(),"2","转发失败:"+jsonResultEntity.getAttribute(),mainDb,objects.get(i).getString("id"),sysApplicationEntity.getName(),sysApplicationEntity.getId(),apiEntity.getApiName(),apiEntity.getId(),doObjects.get(i).toJSONString(),"2"); continue; } } @@ -1124,7 +1124,7 @@ public class MdmModulePluginInitializer extends PluginBaseEntity { continue; }else { //保存日志 - saveMdmModuleSendLogEntity(mainCode,mdmModuleDistributeEntities.get(i1).getId(),"2","转发失败",mainDb,objects.get(i).getString("id"),sysApplicationEntity.getName(),sysApplicationEntity.getId(),apiEntity.getApiName(),apiEntity.getId(),doObjects.get(i).toJSONString(),"1"); + saveMdmModuleSendLogEntity(mainCode,mdmModuleDistributeEntities.get(i1).getId(),"2","转发失败:"+jsonResultEntity.getAttribute(),mainDb,objects.get(i).getString("id"),sysApplicationEntity.getName(),sysApplicationEntity.getId(),apiEntity.getApiName(),apiEntity.getId(),doObjects.get(i).toJSONString(),"1"); continue; } } diff --git a/buildpackage/src/main/java/com/hzya/frame/plugin/pushMessage/dao/IPushMessageDao.java b/buildpackage/src/main/java/com/hzya/frame/plugin/pushMessage/dao/IPushMessageDao.java new file mode 100644 index 00000000..fa96f193 --- /dev/null +++ b/buildpackage/src/main/java/com/hzya/frame/plugin/pushMessage/dao/IPushMessageDao.java @@ -0,0 +1,7 @@ +package com.hzya.frame.plugin.pushMessage.dao; + +import com.hzya.frame.basedao.dao.IBaseDao; +import com.hzya.frame.plugin.pushMessage.entity.PushMessageEntity; + +public interface IPushMessageDao extends IBaseDao { +} diff --git a/buildpackage/src/main/java/com/hzya/frame/plugin/pushMessage/dao/impl/PushMessageDaoImpl.java b/buildpackage/src/main/java/com/hzya/frame/plugin/pushMessage/dao/impl/PushMessageDaoImpl.java new file mode 100644 index 00000000..adff81f2 --- /dev/null +++ b/buildpackage/src/main/java/com/hzya/frame/plugin/pushMessage/dao/impl/PushMessageDaoImpl.java @@ -0,0 +1,8 @@ +package com.hzya.frame.plugin.pushMessage.dao.impl; + +import com.hzya.frame.basedao.dao.MybatisGenericDao; +import com.hzya.frame.plugin.pushMessage.dao.IPushMessageDao; +import com.hzya.frame.plugin.pushMessage.entity.PushMessageEntity; + +public class PushMessageDaoImpl extends MybatisGenericDao implements IPushMessageDao { +} diff --git a/buildpackage/src/main/java/com/hzya/frame/plugin/pushMessage/entity/PushMessageEntity.java b/buildpackage/src/main/java/com/hzya/frame/plugin/pushMessage/entity/PushMessageEntity.java new file mode 100644 index 00000000..a91f1e6a --- /dev/null +++ b/buildpackage/src/main/java/com/hzya/frame/plugin/pushMessage/entity/PushMessageEntity.java @@ -0,0 +1,106 @@ +package com.hzya.frame.plugin.pushMessage.entity; + +import com.hzya.frame.web.entity.BaseEntity; + +public class PushMessageEntity extends BaseEntity { + + private String pushMethod; + private String warningAppCode; + private String warningApiCode; + private String recipientIdList; + private String warningAppType; + private String sendAppName; + private String receiveAppName; + private String receiveApiName; + private String returnData; + private String receiveApiCode; + private String status; + + public String getPushMethod() { + return pushMethod; + } + + public void setPushMethod(String pushMethod) { + this.pushMethod = pushMethod; + } + + public String getWarningAppCode() { + return warningAppCode; + } + + public void setWarningAppCode(String warningAppCode) { + this.warningAppCode = warningAppCode; + } + + public String getWarningApiCode() { + return warningApiCode; + } + + public void setWarningApiCode(String warningApiCode) { + this.warningApiCode = warningApiCode; + } + + public String getRecipientIdList() { + return recipientIdList; + } + + public void setRecipientIdList(String recipientIdList) { + this.recipientIdList = recipientIdList; + } + + public String getWarningAppType() { + return warningAppType; + } + + public void setWarningAppType(String warningAppType) { + this.warningAppType = warningAppType; + } + + public String getSendAppName() { + return sendAppName; + } + + public void setSendAppName(String sendAppName) { + this.sendAppName = sendAppName; + } + + public String getReceiveAppName() { + return receiveAppName; + } + + public void setReceiveAppName(String receiveAppName) { + this.receiveAppName = receiveAppName; + } + + public String getReceiveApiName() { + return receiveApiName; + } + + public void setReceiveApiName(String receiveApiName) { + this.receiveApiName = receiveApiName; + } + + public String getReturnData() { + return returnData; + } + + public void setReturnData(String returnData) { + this.returnData = returnData; + } + + public String getReceiveApiCode() { + return receiveApiCode; + } + + public void setReceiveApiCode(String receiveApiCode) { + this.receiveApiCode = receiveApiCode; + } + + public String getStatus() { + return status; + } + + public void setStatus(String status) { + this.status = status; + } +} diff --git a/buildpackage/src/main/java/com/hzya/frame/plugin/pushMessage/entity/PushMessageEntity.xml b/buildpackage/src/main/java/com/hzya/frame/plugin/pushMessage/entity/PushMessageEntity.xml new file mode 100644 index 00000000..af2614b6 --- /dev/null +++ b/buildpackage/src/main/java/com/hzya/frame/plugin/pushMessage/entity/PushMessageEntity.xml @@ -0,0 +1,43 @@ + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/buildpackage/src/main/java/com/hzya/frame/plugin/pushMessage/plugin/PushMessagePluginInitializer.java b/buildpackage/src/main/java/com/hzya/frame/plugin/pushMessage/plugin/PushMessagePluginInitializer.java new file mode 100644 index 00000000..3bc07a67 --- /dev/null +++ b/buildpackage/src/main/java/com/hzya/frame/plugin/pushMessage/plugin/PushMessagePluginInitializer.java @@ -0,0 +1,78 @@ +package com.hzya.frame.plugin.pushMessage.plugin; + +import com.alibaba.fastjson.JSONObject; +import com.hzya.frame.base.PluginBaseEntity; +import com.hzya.frame.plugin.pushMessage.dao.IPushMessageDao; +import com.hzya.frame.plugin.pushMessage.entity.PushMessageEntity; +import com.hzya.frame.sysnew.comparison.masterData.service.IMasterDataService; +import com.hzya.frame.sysnew.pushMessage.dao.ISysPushMessageDao; +import com.hzya.frame.sysnew.pushMessage.entity.SysPushMessageEntity; +import com.hzya.frame.sysnew.pushMessage.service.ISysPushMessageService; +import com.hzya.frame.sysnew.sendMessageLog.service.ISysSendMessageLogService; +import com.hzya.frame.web.entity.BaseResult; +import com.hzya.frame.web.entity.JsonResultEntity; +import org.slf4j.Logger; +import org.slf4j.LoggerFactory; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.stereotype.Service; + +import javax.annotation.Resource; +import java.util.List; + +@Service("PushMessagePluginInitializer") +public class PushMessagePluginInitializer extends PluginBaseEntity { + Logger logger = LoggerFactory.getLogger(PushMessagePluginInitializer.class); + + @Autowired + private ISysPushMessageDao sysPushMessageDao; + + @Resource + public ISysSendMessageLogService sysSendMessageLogService; + + @Override + public void initialize() { + logger.info(getPluginLabel() + "執行初始化方法initialize()"); + } + + @Override + public void destroy() { + logger.info(getPluginLabel() + "執行銷毀方法destroy()"); + } + + @Override + public String getPluginId() { + return "PushMessagePlugin"; + } + + @Override + public String getPluginName() { + return "PushMessagePlugin插件"; + } + + @Override + public String getPluginLabel() { + return "PushMessagePlugin"; + } + + @Override + public String getPluginType() { + return "1"; + } + @Override + public JsonResultEntity executeBusiness(JSONObject requestJson) { + try { + logger.info("======开始执行定时消息推送========"); + //目前只查询一周内的异常日志进行消息推送 + List list = sysPushMessageDao.getAll(); + + for(SysPushMessageEntity entity : list){ + sysSendMessageLogService.sendMessage(entity); + } + return BaseResult.getSuccessMessageEntity("定时推送消息成功"); + }catch (Exception e){ + logger.info("======执行定时消息推送失败:{}========",e.getMessage()); + e.printStackTrace(); + } + return null; + } +} diff --git a/buildpackage/src/main/java/com/hzya/frame/plugin/pushMessage/service/IPushMessageService.java b/buildpackage/src/main/java/com/hzya/frame/plugin/pushMessage/service/IPushMessageService.java new file mode 100644 index 00000000..1109a5bd --- /dev/null +++ b/buildpackage/src/main/java/com/hzya/frame/plugin/pushMessage/service/IPushMessageService.java @@ -0,0 +1,10 @@ +package com.hzya.frame.plugin.pushMessage.service; + +import com.alibaba.fastjson.JSONObject; +import com.hzya.frame.basedao.service.IBaseService; +import com.hzya.frame.plugin.pushMessage.entity.PushMessageEntity; +import com.hzya.frame.web.entity.JsonResultEntity; + +public interface IPushMessageService extends IBaseService { + +} diff --git a/buildpackage/src/main/java/com/hzya/frame/plugin/pushMessage/service/impl/PushMessageServiceImpl.java b/buildpackage/src/main/java/com/hzya/frame/plugin/pushMessage/service/impl/PushMessageServiceImpl.java new file mode 100644 index 00000000..8101cda9 --- /dev/null +++ b/buildpackage/src/main/java/com/hzya/frame/plugin/pushMessage/service/impl/PushMessageServiceImpl.java @@ -0,0 +1,25 @@ +package com.hzya.frame.plugin.pushMessage.service.impl; + +import com.alibaba.fastjson.JSONObject; +import com.hzya.frame.basedao.service.impl.BaseService; +import com.hzya.frame.plugin.pushMessage.dao.IPushMessageDao; +import com.hzya.frame.plugin.pushMessage.entity.PushMessageEntity; +import com.hzya.frame.plugin.pushMessage.service.IPushMessageService; +import com.hzya.frame.web.entity.BaseResult; +import com.hzya.frame.web.entity.JsonResultEntity; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.stereotype.Service; + +import java.util.List; + +public class PushMessageServiceImpl extends BaseService implements IPushMessageService { + + private IPushMessageDao pushMessageDao; + + @Autowired + public void setPushMessageDao(IPushMessageDao dao) { + this.pushMessageDao = dao; + this.dao = dao; + } + +} diff --git a/buildpackage/src/main/resources/application-llg.yml b/buildpackage/src/main/resources/application-llg.yml index c6af4e87..d5771756 100644 --- a/buildpackage/src/main/resources/application-llg.yml +++ b/buildpackage/src/main/resources/application-llg.yml @@ -42,8 +42,13 @@ spring: savefile: # 文件保存路径 path: /Users/apple/Desktop/log/local + tomcatpath: /Users/apple/Desktop/log/local + pluginpath: /Users/apple/Desktop/log/local +zt: + url: http://127.0.0.1:9999/kangarooDataCenterV3/entranceController/externalCallInterface ax: url: http://127.0.0.1:9999/kangarooDataCenterV3/entranceController/externalCallInterface + cbs8: appId: 1P4AGrpz appSecret: 2c2369ae5dc04382844bbe3a5abf39e1bea9cd3a @@ -57,4 +62,20 @@ cbs8: #电子回单下载临时存放位置 elec_path: /Users/xiangerlin/Downloads/ OA: - data_source_code: yc_oa \ No newline at end of file + data_source_code: yc_oa + + +database: + databaseName: businesscenter + host: 192.168.2.237 + port: 3306 + username: root + password: hzya@1314 + filePase: /Users/apple/Desktop/log + fileName: data.sql +#sftp: +# host: 192.168.2.237 +# port: 9091 +# username: cs237 +# password: hzya@1314 +# filePase: /databaseBack \ No newline at end of file diff --git a/buildpackage/src/main/resources/application-xel.yml b/buildpackage/src/main/resources/application-xel.yml index e53ca4c4..468c67b5 100644 --- a/buildpackage/src/main/resources/application-xel.yml +++ b/buildpackage/src/main/resources/application-xel.yml @@ -19,6 +19,8 @@ spring: savefile: # 文件保存路径 path: /Users/xiangerlin/work/app/file/dev + tomcatpath: /Users/xiangerlin/work/app/file/dev + pluginpath: /Users/xiangerlin/work/app/file/dev cbs8: appId: 1P4AGrpz appSecret: 2c2369ae5dc04382844bbe3a5abf39e1bea9cd3a diff --git a/buildpackage/src/main/resources/application-zqtlocal.yml b/buildpackage/src/main/resources/application-zqtlocal.yml index a656bd59..3f1d773b 100644 --- a/buildpackage/src/main/resources/application-zqtlocal.yml +++ b/buildpackage/src/main/resources/application-zqtlocal.yml @@ -2,7 +2,7 @@ logging: #日志级别 指定目录级别 level: - root: warn + root: info encodings: UTF-8 file: # 日志保存路径 @@ -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:9999/kangarooDataCenterV3/entranceController/externalCallInterface \ No newline at end of file diff --git a/buildpackage/src/main/resources/cfgHome/plugin/BackUpDatabase/pluginCfg.xml b/buildpackage/src/main/resources/cfgHome/plugin/BackUpDatabase/pluginCfg.xml new file mode 100644 index 00000000..774971d0 --- /dev/null +++ b/buildpackage/src/main/resources/cfgHome/plugin/BackUpDatabase/pluginCfg.xml @@ -0,0 +1,6 @@ + + +BackUpDatabasePlugin +BackUpDatabasePlugin插件 +20241021 + diff --git a/buildpackage/src/main/resources/cfgHome/plugin/BackUpDatabase/spring/spring-buildpackage-plugin.xml b/buildpackage/src/main/resources/cfgHome/plugin/BackUpDatabase/spring/spring-buildpackage-plugin.xml new file mode 100644 index 00000000..29896996 --- /dev/null +++ b/buildpackage/src/main/resources/cfgHome/plugin/BackUpDatabase/spring/spring-buildpackage-plugin.xml @@ -0,0 +1,5 @@ + + + + + diff --git a/pom.xml b/pom.xml index d7c2e49a..b4682454 100644 --- a/pom.xml +++ b/pom.xml @@ -399,6 +399,16 @@ alibaba-dingtalk-service-sdk 2.0.0 + + commons-net + commons-net + 3.8.0 + + + com.jcraft + jsch + 0.1.53 + diff --git a/service/src/main/java/com/hzya/frame/dingtalk/service/impl/DingTalkExtServiceImpl.java b/service/src/main/java/com/hzya/frame/dingtalk/service/impl/DingTalkExtServiceImpl.java index 61dc97fa..dd0267f8 100644 --- a/service/src/main/java/com/hzya/frame/dingtalk/service/impl/DingTalkExtServiceImpl.java +++ b/service/src/main/java/com/hzya/frame/dingtalk/service/impl/DingTalkExtServiceImpl.java @@ -28,7 +28,7 @@ import java.util.stream.Stream; * @Author xiangerlin * @Date 2024/8/28 14:25 **/ -@Service +@Service(value = "dingTalkExtService") public class DingTalkExtServiceImpl implements IDingTalkExtService { diff --git a/service/src/main/java/com/hzya/frame/mdm/mdmModule/entity/MdmModuleEntity.xml b/service/src/main/java/com/hzya/frame/mdm/mdmModule/entity/MdmModuleEntity.xml index ae5903a8..629067a8 100644 --- a/service/src/main/java/com/hzya/frame/mdm/mdmModule/entity/MdmModuleEntity.xml +++ b/service/src/main/java/com/hzya/frame/mdm/mdmModule/entity/MdmModuleEntity.xml @@ -379,7 +379,7 @@ where id = #{id} `org_id` varchar(50) DEFAULT NULL COMMENT '组织机构ID', `company_id` varchar(50) DEFAULT NULL COMMENT '公司id', `data_type` varchar(255) DEFAULT NULL COMMENT '状态 1、成功2、失败', - `remark` varchar(255) DEFAULT NULL COMMENT '备注', + `remark` text CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci COMMENT '备注', `id` varchar(50) NOT NULL COMMENT '唯一标识码', @@ -397,7 +397,7 @@ where id = #{id} `org_id` varchar(50) DEFAULT NULL COMMENT '组织机构ID', `company_id` varchar(50) DEFAULT NULL COMMENT '公司id', `data_type` varchar(50) DEFAULT NULL COMMENT '状态 1、成功2、失败', - `remark` varchar(255) DEFAULT NULL COMMENT '备注', + `remark` text CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci COMMENT '备注', `distribute_id` varchar(50) DEFAULT NULL COMMENT 'distribute_id', `api_id` varchar(50) DEFAULT NULL COMMENT 'apiid', `app_id` varchar(50) DEFAULT NULL COMMENT 'app_id', @@ -962,37 +962,43 @@ where id = #{id} ${item.leftBracket} ${item.filedId} - = + = #{item.filedVaule} - != + != #{item.filedVaule} - > + > #{item.filedVaule} - < + < #{item.filedVaule} + + + like concat('%',#{item.filedVaule},'%') + + + not like concat('%',#{item.filedVaule},'%') - #{item.filedVaule} + - ${item.rightParenthesis} and + ${item.rightParenthesis} - ${item.rightParenthesis} + ${item.rightParenthesis} and - ${item.rightParenthesis} or + ${item.rightParenthesis} - ${item.rightParenthesis} + ${item.rightParenthesis} or diff --git a/service/src/main/java/com/hzya/frame/mdm/service/impl/MdmServiceImpl.java b/service/src/main/java/com/hzya/frame/mdm/service/impl/MdmServiceImpl.java index 26c03807..fcb46154 100644 --- a/service/src/main/java/com/hzya/frame/mdm/service/impl/MdmServiceImpl.java +++ b/service/src/main/java/com/hzya/frame/mdm/service/impl/MdmServiceImpl.java @@ -1935,7 +1935,7 @@ public class MdmServiceImpl implements IMdmService { } } catch (Exception e) { logger.error("新增返回脚本解析保存三方id错误" + jsonResultEntity.getAttribute()); - saveMdmModuleSendLogEntity(mdmModuleEntity.getMdmCode(), mdmModuleDistributeEntity.getId(), "2", "转发失败", dbname, object.getString("id"), sysApplicationEntity.getName(), sysApplicationEntity.getId(), apiEntity.getApiName(), apiEntity.getId(), object.toJSONString(), type); + saveMdmModuleSendLogEntity(mdmModuleEntity.getMdmCode(), mdmModuleDistributeEntity.getId(), "2", "转发失败:"+jsonResultEntity.getAttribute(), dbname, object.getString("id"), sysApplicationEntity.getName(), sysApplicationEntity.getId(), apiEntity.getApiName(), apiEntity.getId(), object.toJSONString(), type); return BaseResult.getFailureMessageEntity("发送错误:新增返回脚本解析保存三方id错误"); } } @@ -1943,7 +1943,7 @@ public class MdmServiceImpl implements IMdmService { saveMdmModuleSendLogEntity(mdmModuleEntity.getMdmCode(), mdmModuleDistributeEntity.getId(), "1", "发送成功", dbname, object.getString("id"), sysApplicationEntity.getName(), sysApplicationEntity.getId(), apiEntity.getApiName(), apiEntity.getId(), object.toJSONString(), type); return BaseResult.getSuccessMessageEntity("发送成功"); } else { - saveMdmModuleSendLogEntity(mdmModuleEntity.getMdmCode(), mdmModuleDistributeEntity.getId(), "2", "转发失败", dbname, object.getString("id"), sysApplicationEntity.getName(), sysApplicationEntity.getId(), apiEntity.getApiName(), apiEntity.getId(), object.toJSONString(), type); + saveMdmModuleSendLogEntity(mdmModuleEntity.getMdmCode(), mdmModuleDistributeEntity.getId(), "2", "转发失败:"+jsonResultEntity.getAttribute(), dbname, object.getString("id"), sysApplicationEntity.getName(), sysApplicationEntity.getId(), apiEntity.getApiName(), apiEntity.getId(), object.toJSONString(), type); return BaseResult.getFailureMessageEntity("发送错误:" + jsonResultEntity.getAttribute()); } } diff --git a/service/src/main/java/com/hzya/frame/seeyon/dao/ICapFormDefinitionDao.java b/service/src/main/java/com/hzya/frame/seeyon/dao/ICapFormDefinitionDao.java new file mode 100644 index 00000000..f892fa11 --- /dev/null +++ b/service/src/main/java/com/hzya/frame/seeyon/dao/ICapFormDefinitionDao.java @@ -0,0 +1,51 @@ +package com.hzya.frame.seeyon.dao; + +import com.baomidou.dynamic.datasource.annotation.DS; +import com.hzya.frame.basedao.dao.IBaseDao; +import com.hzya.frame.seeyon.entity.CapFormDefinitionEntity; +import com.hzya.frame.seeyon.entity.CtpFileEntity; +import com.hzya.frame.seeyon.paybill.entity.PayBillEntity; + +import java.util.List; + +/** + * + * @content OA字段配置表DAO + * @className: Administrator + * @author laborer + * @date 2024-09-09 16:00 + * + */ + +public interface ICapFormDefinitionDao extends IBaseDao { + + /** + * + * @content 通过模版编号获取无流程表单配置信息 + * @className: Administrator + * @author laborer + * @date 2024-09-09 16:02 + * + */ + List getFormFiled(CapFormDefinitionEntity fieldInfo); +/** + * + * @content 通过主键删除单据数据 + * @className: Administrator + * @author laborer + * @date 2024-09-09 17:04 + * + */ + + int deleteByKey(CapFormDefinitionEntity fieldInfo); +/** + * + * @content 通过客户传递的数据值查询古河条件的数据 + * @className: Administrator + * @author laborer + * @date 2024-09-09 17:05 + * + */ + + List getFormFiledByFileValue(CapFormDefinitionEntity fieldInfo); +} diff --git a/service/src/main/java/com/hzya/frame/seeyon/dao/impl/CapFormDefinitionDaoImpl.java b/service/src/main/java/com/hzya/frame/seeyon/dao/impl/CapFormDefinitionDaoImpl.java new file mode 100644 index 00000000..07304f45 --- /dev/null +++ b/service/src/main/java/com/hzya/frame/seeyon/dao/impl/CapFormDefinitionDaoImpl.java @@ -0,0 +1,39 @@ +package com.hzya.frame.seeyon.dao.impl; + +import com.baomidou.dynamic.datasource.annotation.DS; +import com.hzya.frame.basedao.dao.MybatisGenericDao; +import com.hzya.frame.seeyon.dao.ICapFormDefinitionDao; +import com.hzya.frame.seeyon.dao.ICtpFileDao; +import com.hzya.frame.seeyon.entity.CapFormDefinitionEntity; +import com.hzya.frame.seeyon.entity.CtpFileEntity; +import com.hzya.frame.seeyon.paybill.entity.PayBillEntity; +import org.springframework.stereotype.Repository; + +import java.util.List; + +/** + * + * @content OA字段配置表DAO + * @className: Administrator + * @author laborer + * @date 2024-09-09 16:00 + * + */ +@Repository(value = "CapFormDefinitionDaoImpl") +public class CapFormDefinitionDaoImpl extends MybatisGenericDao implements ICapFormDefinitionDao { + @DS("#fieldInfo.dataSourceCode") + @Override + public List getFormFiled(CapFormDefinitionEntity fieldInfo) { + return (List) selectList("com.hzya.frame.seeyon.entity.CapFormDefinitionEntity.CapFormDefinitionEntity_list_base",fieldInfo); + } + @DS("#fieldInfo.dataSourceCode") + @Override + public int deleteByKey(CapFormDefinitionEntity fieldInfo) { + return super.delete("com.hzya.frame.seeyon.entity.CapFormDefinitionEntity.CapFormDefinitionEntity_delete",fieldInfo); + } + @DS("#fieldInfo.dataSourceCode") + @Override + public List getFormFiledByFileValue(CapFormDefinitionEntity fieldInfo) { + return (List) selectList("com.hzya.frame.seeyon.entity.CapFormDefinitionEntity.CapFormDefinitionEntity_list_table_info",fieldInfo); + } +} diff --git a/service/src/main/java/com/hzya/frame/seeyon/entity/CapFormDefinitionEntity.java b/service/src/main/java/com/hzya/frame/seeyon/entity/CapFormDefinitionEntity.java new file mode 100644 index 00000000..2ab841bd --- /dev/null +++ b/service/src/main/java/com/hzya/frame/seeyon/entity/CapFormDefinitionEntity.java @@ -0,0 +1,71 @@ +package com.hzya.frame.seeyon.entity; + +import com.hzya.frame.web.entity.BaseEntity; + +import java.io.File; + +/** + * + * @content OA字段配置表 + * @className: Administrator + * @author laborer + * @date 2024-09-09 15:48 + * + */ + +public class CapFormDefinitionEntity extends BaseEntity { + private String fieldInfo;//字段属性定义 + private String viewInfo;//视图权限定义 + private String appbindInfo;//应用绑定定义 + private String tableName;//表名 + private String fieldName;//字段名称 + private String fieldValue;//字段值 + + public String getFieldValue() { + return fieldValue; + } + + public void setFieldValue(String fieldValue) { + this.fieldValue = fieldValue; + } + + public String getTableName() { + return tableName; + } + + public void setTableName(String tableName) { + this.tableName = tableName; + } + + public String getFieldName() { + return fieldName; + } + + public void setFieldName(String fieldName) { + this.fieldName = fieldName; + } + + public String getFieldInfo() { + return fieldInfo; + } + + public void setFieldInfo(String fieldInfo) { + this.fieldInfo = fieldInfo; + } + + public String getViewInfo() { + return viewInfo; + } + + public void setViewInfo(String viewInfo) { + this.viewInfo = viewInfo; + } + + public String getAppbindInfo() { + return appbindInfo; + } + + public void setAppbindInfo(String appbindInfo) { + this.appbindInfo = appbindInfo; + } +} diff --git a/service/src/main/java/com/hzya/frame/seeyon/entity/CapFormDefinitionEntity.xml b/service/src/main/java/com/hzya/frame/seeyon/entity/CapFormDefinitionEntity.xml new file mode 100644 index 00000000..5c0a498d --- /dev/null +++ b/service/src/main/java/com/hzya/frame/seeyon/entity/CapFormDefinitionEntity.xml @@ -0,0 +1,41 @@ + + + + + + + + + + + + + + + + id, + field_info, + view_info, + appbind_info + + + + + + + + + + delete from ${tableName} where ${fieldName} = #{id} + + diff --git a/service/src/main/java/com/hzya/frame/seeyon/service/INoProcessService.java b/service/src/main/java/com/hzya/frame/seeyon/service/INoProcessService.java new file mode 100644 index 00000000..57e72e80 --- /dev/null +++ b/service/src/main/java/com/hzya/frame/seeyon/service/INoProcessService.java @@ -0,0 +1,26 @@ +package com.hzya.frame.seeyon.service; + +import com.alibaba.fastjson.JSONObject; +import com.hzya.frame.sysnew.application.entity.SysExtensionApiEntity; +import com.hzya.frame.web.entity.JsonResultEntity; + +/** + * + * @content 无流程表单公用service + * @className: Administrator + * @author laborer + * @date 2024-09-09 14:53 + * + */ +public interface INoProcessService { +/** + * + * @content 无流程删除通用接口 + * @className: Administrator + * @author laborer + * @date 2024-09-09 15:08 + * + */ + + JsonResultEntity DeleteProcessField(JSONObject requestData); +} diff --git a/service/src/main/java/com/hzya/frame/seeyon/service/impl/NoProcessServiceImpl.java b/service/src/main/java/com/hzya/frame/seeyon/service/impl/NoProcessServiceImpl.java new file mode 100644 index 00000000..87ba10be --- /dev/null +++ b/service/src/main/java/com/hzya/frame/seeyon/service/impl/NoProcessServiceImpl.java @@ -0,0 +1,119 @@ +package com.hzya.frame.seeyon.service.impl; +import cn.hutool.core.util.StrUtil; +import com.alibaba.fastjson.JSON; +import com.alibaba.fastjson.JSONArray; +import com.alibaba.fastjson.JSONObject; +import com.hzya.frame.seeyon.dao.ICapFormDefinitionDao; +import com.hzya.frame.seeyon.entity.CapFormDefinitionEntity; +import com.hzya.frame.seeyon.service.INoProcessService; +import com.hzya.frame.web.entity.JsonResultEntity; +import org.apache.commons.collections.CollectionUtils; +import org.checkerframework.checker.units.qual.A; +import org.slf4j.Logger; +import org.slf4j.LoggerFactory; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.stereotype.Service; + +import java.util.ArrayList; +import java.util.List; +import java.util.concurrent.atomic.AtomicReference; + +/** + * + * @content 无流程表单公用service + * @className: Administrator + * @author laborer + * @date 2024-09-09 14:53 + * + */ + +@Service(value = "NoProcessServiceImpl") +public class NoProcessServiceImpl implements INoProcessService { + private static final Logger logger = LoggerFactory.getLogger(NoProcessServiceImpl.class); + @Autowired + private ICapFormDefinitionDao capFormDefinitionDao; + @Override + public JsonResultEntity DeleteProcessField(JSONObject requestData) { + Listcount =new ArrayList<>(); + JSONObject jsonStrObj = requestData.getJSONObject("jsonStr"); + String formCode = jsonStrObj.getString("formCode"); + String fieldName = jsonStrObj.getString("fieldName"); + String fieldValue = jsonStrObj.getString("fieldValue"); + if(StrUtil.isEmpty(formCode)){ + return new JsonResultEntity("表单编码不能为空:formCode",false); + } + if(StrUtil.isEmpty(fieldName)){ + return new JsonResultEntity("字段名称不能为空:fieldName",false); + } + if(StrUtil.isEmpty(fieldValue)){ + return new JsonResultEntity("字段值不能为空:fieldValue",false); + } + + //通过表单编号获取表单字段信息 + CapFormDefinitionEntity fieldInfo = new CapFormDefinitionEntity(); + fieldInfo.setAppbindInfo(formCode); + fieldInfo.setDataSourceCode("djoatest"); + ListcapFormDefinitionEntityList = capFormDefinitionDao.getFormFiled(fieldInfo); + if(CollectionUtils.isEmpty(capFormDefinitionEntityList)){ + return new JsonResultEntity("通过表单编号查询表单有误,请检查表单编号:"+formCode,false); + } + + try { + capFormDefinitionEntityList.forEach(item->{ + String appbindInfo = item.getAppbindInfo(); + //格式化字段信息 + JSONObject jsonObject = JSONObject.parseObject(appbindInfo); + boolean queryFlag = false; + //如果模版编号相同则继续删除,反正跳过 + if(formCode.equals(jsonObject.getString("formCode"))){ + JSONObject field = JSONObject.parseObject(item.getFieldInfo()); + JSONObject frontFormmain = field.getJSONObject("front_formmain"); + JSONArray formsons = field.getJSONArray("formsons"); + JSONArray fieldInfoTable = frontFormmain.getJSONArray("fieldInfo"); + //验证需要删除的条件字段在表单属性中是否存在 + for (int i = 0; i < fieldInfoTable.size(); i++) { + JSONObject fieldInfoTableObj = fieldInfoTable.getJSONObject(i); + String name = fieldInfoTableObj.getString("name"); + //如果表单属性中存在该字段则验证通过,如果不存在直接返回错误 + if(name.equals(fieldName)){ + queryFlag = true; + + } + } + //验证通过获取数据库表名称进行数据删除 + if(queryFlag){ + String tableName = frontFormmain.getString("tableName"); + //如果主表名称获取主表的主键进行数据删除 + fieldInfo.setTableName(tableName); + fieldInfo.setFieldName(fieldName); + fieldInfo.setFieldValue(fieldValue); + ListdataFormList = capFormDefinitionDao.getFormFiledByFileValue(fieldInfo); + if(CollectionUtils.isNotEmpty(dataFormList)){ + dataFormList.forEach(item1->{ + String id = item1.getId(); + count.add(id); + fieldInfo.setFieldName("id"); + fieldInfo.setId(id); + capFormDefinitionDao.deleteByKey(fieldInfo); + //循环该表单下面的所有子表信息进行子表删除 + if(CollectionUtils.isNotEmpty(formsons)){ + formsons.forEach(formsonsItem->{ + JSONObject jsonObjectBoddy = JSONObject.parseObject(formsonsItem.toString()); + String bodyTableName = jsonObjectBoddy.getString("tableName"); + fieldInfo.setTableName(bodyTableName); + fieldInfo.setFieldName("formmain_id"); + fieldInfo.setId(id); + capFormDefinitionDao.deleteByKey(fieldInfo); + }); + } + }); + } + } + } + }); + } catch (Exception e) { + throw new RuntimeException(e); + } + return new JsonResultEntity("删除成功,删除的数据ID"+ JSON.toJSONString(count),true); + } +} diff --git a/service/src/main/java/com/hzya/frame/sysnew/application/api/entity/SysApplicationApiEntity.xml b/service/src/main/java/com/hzya/frame/sysnew/application/api/entity/SysApplicationApiEntity.xml index 089b6eb5..f2d0a1dc 100644 --- a/service/src/main/java/com/hzya/frame/sysnew/application/api/entity/SysApplicationApiEntity.xml +++ b/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/service/src/main/java/com/hzya/frame/sysnew/application/api/service/ISysApplicationApiService.java b/service/src/main/java/com/hzya/frame/sysnew/application/api/service/ISysApplicationApiService.java index 2218bf04..52272f22 100644 --- a/service/src/main/java/com/hzya/frame/sysnew/application/api/service/ISysApplicationApiService.java +++ b/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/service/src/main/java/com/hzya/frame/sysnew/application/entity/SysApplicationEntity.java b/service/src/main/java/com/hzya/frame/sysnew/application/entity/SysApplicationEntity.java index 3eb1ff34..3be0953f 100644 --- a/service/src/main/java/com/hzya/frame/sysnew/application/entity/SysApplicationEntity.java +++ b/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/service/src/main/java/com/hzya/frame/sysnew/application/plugin/entity/SysApplicationPluginDto.java b/service/src/main/java/com/hzya/frame/sysnew/application/plugin/entity/SysApplicationPluginDto.java index 54a3dc3f..8825215f 100644 --- a/service/src/main/java/com/hzya/frame/sysnew/application/plugin/entity/SysApplicationPluginDto.java +++ b/service/src/main/java/com/hzya/frame/sysnew/application/plugin/entity/SysApplicationPluginDto.java @@ -20,6 +20,16 @@ public class SysApplicationPluginDto { private Integer pageNum; private Integer pageSize; + private String typeId; + + public String getTypeId() { + return typeId; + } + + public void setTypeId(String typeId) { + this.typeId = typeId; + } + public String getAppId() { return appId; } diff --git a/service/src/main/java/com/hzya/frame/sysnew/application/plugin/entity/SysApplicationPluginEntity.java b/service/src/main/java/com/hzya/frame/sysnew/application/plugin/entity/SysApplicationPluginEntity.java index 5929e14b..79b8c326 100644 --- a/service/src/main/java/com/hzya/frame/sysnew/application/plugin/entity/SysApplicationPluginEntity.java +++ b/service/src/main/java/com/hzya/frame/sysnew/application/plugin/entity/SysApplicationPluginEntity.java @@ -22,13 +22,33 @@ public class SysApplicationPluginEntity extends BaseEntity { private String pluginVersion; /** 描述 */ private String pluginRemark; + /** 插件类型id */ + private String typeId; + /** 插件类型名称 */ + private String typeName; /** 发布日期 */ private Date releaseDate; /** 启用停用(1启用2停用) */ private String pluginStatus; - + /** 附件id */ private String attachmentId; + public String getTypeName() { + return typeName; + } + + public void setTypeName(String typeName) { + this.typeName = typeName; + } + + public String getTypeId() { + return typeId; + } + + public void setTypeId(String typeId) { + this.typeId = typeId; + } + public String getPluginPackageName() { return pluginPackageName; } diff --git a/service/src/main/java/com/hzya/frame/sysnew/application/plugin/entity/SysApplicationPluginEntity.xml b/service/src/main/java/com/hzya/frame/sysnew/application/plugin/entity/SysApplicationPluginEntity.xml index 90b5444d..5ba4c199 100644 --- a/service/src/main/java/com/hzya/frame/sysnew/application/plugin/entity/SysApplicationPluginEntity.xml +++ b/service/src/main/java/com/hzya/frame/sysnew/application/plugin/entity/SysApplicationPluginEntity.xml @@ -20,6 +20,8 @@ + + @@ -40,6 +42,7 @@ ,org_id ,attachment_id ,plugin_package_name + ,type_id - select - - from sys_application_plugin + SELECT + p.*, + type.NAME AS type_name + FROM + sys_application_plugin p + LEFT JOIN sys_application_plugin_type type ON p.type_id = type.id - and id like concat('%',#{id},'%') - and app_id like concat('%',#{appId},'%') - and plugin_name like concat('%',#{pluginName},'%') - and plugin_code like concat('%',#{pluginCode},'%') - and plugin_version like concat('%',#{pluginVersion},'%') - and plugin_remark like concat('%',#{pluginRemark},'%') - and release_date like concat('%',#{releaseDate},'%') - and plugin_status like concat('%',#{pluginStatus},'%') - 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 attachment_id like concat('%',#{attachmentId},'%') - and plugin_package_name like concat('%',#{pluginPackageName},'%') - and sts='Y' + and p.id like concat('%',#{id},'%') + and p.app_id like concat('%',#{appId},'%') + and p.plugin_name like concat('%',#{pluginName},'%') + and p.plugin_code like concat('%',#{pluginCode},'%') + and p.plugin_version like concat('%',#{pluginVersion},'%') + and p.plugin_remark like concat('%',#{pluginRemark},'%') + and p.release_date like concat('%',#{releaseDate},'%') + and p.plugin_status like concat('%',#{pluginStatus},'%') + and p.sorts like concat('%',#{sorts},'%') + and p.create_user_id like concat('%',#{create_user_id},'%') + and p.create_time like concat('%',#{create_time},'%') + and p.modify_user_id like concat('%',#{modify_user_id},'%') + and p.modify_time like concat('%',#{modify_time},'%') + and p.sts like concat('%',#{sts},'%') + and p.org_id like concat('%',#{org_id},'%') + and p.attachment_id like concat('%',#{attachmentId},'%') + and p.plugin_package_name like concat('%',#{pluginPackageName},'%') + and p.type_id like concat('%',#{typeId},'%') + and p.sts='Y' - order by sorts asc + order by p.sorts asc order by ${sort} ${order} @@ -182,6 +190,7 @@ org_id , attachment_id , plugin_package_name , + type_id , sts, )values( @@ -203,6 +212,7 @@ #{org_id} , #{attachmentId} , #{pluginPackageName} , + #{typeId} , 'Y', ) @@ -254,9 +264,10 @@ update sys_application_plugin set modify_user_id = #{modify_user_id}, modify_time = #{modify_time}, sts = #{sts}, - org_id = #{org_id}, + org_id = #{org_id}, attachment_id = #{attachmentId}, plugin_package_name = #{pluginPackageName}, + type_id = #{typeId}, where id = #{id} @@ -291,16 +302,20 @@ update sys_application_plugin set sts= 'N' ,modify_time = #{modify_time},modify diff --git a/service/src/main/java/com/hzya/frame/sysnew/application/pluginType/dao/ISysApplicationPluginTypeDao.java b/service/src/main/java/com/hzya/frame/sysnew/application/pluginType/dao/ISysApplicationPluginTypeDao.java new file mode 100644 index 00000000..2578639c --- /dev/null +++ b/service/src/main/java/com/hzya/frame/sysnew/application/pluginType/dao/ISysApplicationPluginTypeDao.java @@ -0,0 +1,15 @@ +package com.hzya.frame.sysnew.application.pluginType.dao; + +import com.hzya.frame.sysnew.application.pluginType.entity.SysApplicationPluginTypeEntity; +import com.hzya.frame.basedao.dao.IBaseDao; + +/** + * 插件类型表(sys_application_plugin_type: table)表数据库访问层 + * + * @author makejava + * @since 2024-09-19 09:56:24 + */ +public interface ISysApplicationPluginTypeDao extends IBaseDao { + +} + diff --git a/service/src/main/java/com/hzya/frame/sysnew/application/pluginType/dao/impl/SysApplicationPluginTypeDaoImpl.java b/service/src/main/java/com/hzya/frame/sysnew/application/pluginType/dao/impl/SysApplicationPluginTypeDaoImpl.java new file mode 100644 index 00000000..78e7ac17 --- /dev/null +++ b/service/src/main/java/com/hzya/frame/sysnew/application/pluginType/dao/impl/SysApplicationPluginTypeDaoImpl.java @@ -0,0 +1,17 @@ +package com.hzya.frame.sysnew.application.pluginType.dao.impl; + +import com.hzya.frame.sysnew.application.pluginType.entity.SysApplicationPluginTypeEntity; +import com.hzya.frame.sysnew.application.pluginType.dao.ISysApplicationPluginTypeDao; +import org.springframework.stereotype.Repository; +import com.hzya.frame.basedao.dao.MybatisGenericDao; +/** + * 插件类型表(SysApplicationPluginType)表数据库访问层 + * + * @author makejava + * @since 2024-09-19 09:56:24 + */ +@Repository(value = "SysApplicationPluginTypeDaoImpl") +public class SysApplicationPluginTypeDaoImpl extends MybatisGenericDao implements ISysApplicationPluginTypeDao{ + +} + diff --git a/service/src/main/java/com/hzya/frame/sysnew/application/pluginType/entity/SysApplicationPluginTypeEntity.java b/service/src/main/java/com/hzya/frame/sysnew/application/pluginType/entity/SysApplicationPluginTypeEntity.java new file mode 100644 index 00000000..b8362993 --- /dev/null +++ b/service/src/main/java/com/hzya/frame/sysnew/application/pluginType/entity/SysApplicationPluginTypeEntity.java @@ -0,0 +1,25 @@ +package com.hzya.frame.sysnew.application.pluginType.entity; + +import java.util.Date; +import com.hzya.frame.web.entity.BaseEntity; +/** + * 插件类型表(SysApplicationPluginType)实体类 + * + * @author makejava + * @since 2024-09-19 09:56:24 + */ +public class SysApplicationPluginTypeEntity extends BaseEntity { + + /** 插件类型名称 */ + private String name; + + public String getName() { + return name; + } + + public void setName(String name) { + this.name = name; + } + +} + diff --git a/service/src/main/java/com/hzya/frame/sysnew/application/pluginType/entity/SysApplicationPluginTypeEntity.xml b/service/src/main/java/com/hzya/frame/sysnew/application/pluginType/entity/SysApplicationPluginTypeEntity.xml new file mode 100644 index 00000000..f48b07c9 --- /dev/null +++ b/service/src/main/java/com/hzya/frame/sysnew/application/pluginType/entity/SysApplicationPluginTypeEntity.xml @@ -0,0 +1,201 @@ + + + + + + + + + + + + + + + + + + id + ,name + ,sorts + ,org_id + ,sts + ,create_time + ,create_user_id + ,modify_time + ,modify_user_id + + + + + + + + + + + + + + + + insert into sys_application_plugin_type( + + id , + name , + sorts , + org_id , + sts , + create_time , + create_user_id , + modify_time , + modify_user_id , + sts, + + )values( + + #{id} , + #{name} , + #{sorts} , + #{org_id} , + #{sts} , + #{create_time} , + #{create_user_id} , + #{modify_time} , + #{modify_user_id} , + 'Y', + + ) + + + + insert into sys_application_plugin_type(app_id, name, org_id, sts, create_time, create_user_id, modify_time, modify_user_id, sts) + values + + (#{entity.appId},#{entity.name},#{entity.org_id},#{entity.sts},#{entity.create_time},#{entity.create_user_id},#{entity.modify_time},#{entity.modify_user_id}, 'Y') + + + + + insert into sys_application_plugin_type(app_id, name, org_id, sts, create_time, create_user_id, modify_time, modify_user_id) + values + + (#{entity.appId},#{entity.name},#{entity.org_id},#{entity.sts},#{entity.create_time},#{entity.create_user_id},#{entity.modify_time},#{entity.modify_user_id}) + + on duplicate key update + app_id = values(app_id), + name = values(name), + org_id = values(org_id), + sts = values(sts), + create_time = values(create_time), + create_user_id = values(create_user_id), + modify_time = values(modify_time), + modify_user_id = values(modify_user_id) + + +update sys_application_plugin_type set + + name = #{name}, + org_id = #{org_id}, + sts = #{sts}, + create_time = #{create_time}, + create_user_id = #{create_user_id}, + modify_time = #{modify_time}, + modify_user_id = #{modify_user_id}, + +where id = #{id} + + + +update sys_application_plugin_type set sts= 'N' ,modify_time = #{modify_time},modify_user_id = #{modify_user_id} +where id = #{id} + + + +update sys_application_plugin_type set sts= 'N' ,modify_time = #{modify_time},modify_user_id = #{modify_user_id} + + and id = #{id} + and name = #{name} + and sorts = #{sorts} + and sts = #{sts} + and sts='Y' + + + + + delete from sys_application_plugin_type where id = #{id} + + + + diff --git a/service/src/main/java/com/hzya/frame/sysnew/application/pluginType/service/ISysApplicationPluginTypeService.java b/service/src/main/java/com/hzya/frame/sysnew/application/pluginType/service/ISysApplicationPluginTypeService.java new file mode 100644 index 00000000..dfee99d3 --- /dev/null +++ b/service/src/main/java/com/hzya/frame/sysnew/application/pluginType/service/ISysApplicationPluginTypeService.java @@ -0,0 +1,22 @@ +package com.hzya.frame.sysnew.application.pluginType.service; + +import com.alibaba.fastjson.JSONObject; +import com.hzya.frame.sysnew.application.pluginType.entity.SysApplicationPluginTypeEntity; +import com.hzya.frame.basedao.service.IBaseService; +import com.hzya.frame.web.entity.JsonResultEntity; + +/** + * 插件类型表(SysApplicationPluginType)表服务接口 + * + * @author makejava + * @since 2024-09-19 09:56:24 + */ +public interface ISysApplicationPluginTypeService extends IBaseService{ + JsonResultEntity queryPluginType(JSONObject jsonObject); + + JsonResultEntity savePluginType(JSONObject jsonObject); + + JsonResultEntity updatePluginType(JSONObject jsonObject); + + JsonResultEntity deletePluginType(JSONObject jsonObject); +} diff --git a/service/src/main/java/com/hzya/frame/sysnew/application/pluginType/service/impl/SysApplicationPluginTypeServiceImpl.java b/service/src/main/java/com/hzya/frame/sysnew/application/pluginType/service/impl/SysApplicationPluginTypeServiceImpl.java new file mode 100644 index 00000000..d6c00bc1 --- /dev/null +++ b/service/src/main/java/com/hzya/frame/sysnew/application/pluginType/service/impl/SysApplicationPluginTypeServiceImpl.java @@ -0,0 +1,106 @@ +package com.hzya.frame.sysnew.application.pluginType.service.impl; + +import com.alibaba.fastjson.JSONObject; +import com.hzya.frame.sysnew.application.entity.SysApplicationEntity; +import com.hzya.frame.sysnew.application.plugin.dao.ISysApplicationPluginDao; +import com.hzya.frame.sysnew.application.plugin.entity.SysApplicationPluginEntity; +import com.hzya.frame.sysnew.application.pluginType.entity.SysApplicationPluginTypeEntity; +import com.hzya.frame.sysnew.application.pluginType.dao.ISysApplicationPluginTypeDao; +import com.hzya.frame.sysnew.application.pluginType.service.ISysApplicationPluginTypeService; +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 org.springframework.transaction.annotation.Transactional; + +import java.util.List; + +/** + * 插件类型表(SysApplicationPluginType)表服务实现类 + * + * @author makejava + * @since 2024-09-19 09:56:24 + */ +@Service(value = "sysApplicationPluginTypeService") +public class SysApplicationPluginTypeServiceImpl extends BaseService implements ISysApplicationPluginTypeService { + + private ISysApplicationPluginTypeDao sysApplicationPluginTypeDao; + + @Resource + private ISysApplicationPluginDao sysApplicationPluginDao; + + @Autowired + public void setSysApplicationPluginTypeDao(ISysApplicationPluginTypeDao dao) { + this.sysApplicationPluginTypeDao = dao; + this.dao = dao; + } + + @Override + public JsonResultEntity queryPluginType(JSONObject jsonObject){ + SysApplicationPluginTypeEntity entity = getData("jsonStr", jsonObject, SysApplicationPluginTypeEntity.class); + if(entity == null){ + entity = new SysApplicationPluginTypeEntity(); + } + List list = sysApplicationPluginTypeDao.queryByLike(entity); + return BaseResult.getSuccessMessageEntity("查询数据成功",list); + } + + @Override + public JsonResultEntity savePluginType(JSONObject jsonObject) { + SysApplicationPluginTypeEntity entity = getData("jsonStr", jsonObject, SysApplicationPluginTypeEntity.class); + if(entity == null){ + return BaseResult.getFailureMessageEntity("参数错误"); + } + if(entity.getName() == null || "".equals(entity.getName())){ + return BaseResult.getFailureMessageEntity("插件类型名称不能为空"); + } + entity.setCreate(); + sysApplicationPluginTypeDao.save(entity); + return BaseResult.getSuccessMessageEntity("保存数据成功",entity); + } + + @Override + public JsonResultEntity updatePluginType(JSONObject jsonObject) { + SysApplicationPluginTypeEntity entity = getData("jsonStr", jsonObject, SysApplicationPluginTypeEntity.class); + if(entity == null){ + return BaseResult.getFailureMessageEntity("参数错误"); + } + if(entity.getId() == null || "".equals(entity.getId())){ + return BaseResult.getFailureMessageEntity("ID不能为空"); + } + if(entity.getName() == null || "".equals(entity.getName())){ + return BaseResult.getFailureMessageEntity("插件类型名称不能为空"); + } + entity.setUpdate(); + sysApplicationPluginTypeDao.update(entity); + return BaseResult.getSuccessMessageEntity("更新数据成功",entity); + } + + @Transactional + @Override + public JsonResultEntity deletePluginType(JSONObject jsonObject) { + SysApplicationPluginTypeEntity entity = getData("jsonStr", jsonObject, SysApplicationPluginTypeEntity.class); + if(entity == null){ + return BaseResult.getFailureMessageEntity("参数错误"); + } + if(entity.getId() == null || "".equals(entity.getId())){ + return BaseResult.getFailureMessageEntity("ID不能为空"); + } + // 同步删除匹配插件中的插件类型,将其赋值为null + SysApplicationPluginEntity pluginEntity = new SysApplicationPluginEntity(); + pluginEntity.setTypeId(entity.getId()); + List pluginList = sysApplicationPluginDao.queryBase(pluginEntity); + for(SysApplicationPluginEntity plugin : pluginList){ + plugin.setTypeId("无"); + plugin.setUpdate(); + sysApplicationPluginDao.update(plugin); + } + entity.setUpdate(); + sysApplicationPluginTypeDao.logicRemove(entity); + return BaseResult.getSuccessMessageEntity("删除数据成功"); + } + + +} diff --git a/service/src/main/java/com/hzya/frame/sysnew/application/service/impl/SysApplicationServiceImpl.java b/service/src/main/java/com/hzya/frame/sysnew/application/service/impl/SysApplicationServiceImpl.java index 8c4dc9d9..8cdd8b3a 100644 --- a/service/src/main/java/com/hzya/frame/sysnew/application/service/impl/SysApplicationServiceImpl.java +++ b/service/src/main/java/com/hzya/frame/sysnew/application/service/impl/SysApplicationServiceImpl.java @@ -46,6 +46,8 @@ import com.hzya.frame.sysnew.messageManageDetail.entity.SysMessageManageDetailEn import com.hzya.frame.sysnew.messageManageLog.dao.ISysMessageManageLogDao; import com.hzya.frame.sysnew.messageManageLog.entity.SysMessageManageLogEntity; import com.hzya.frame.sysnew.messageManageLog.entity.SysMessageManageLogPageVo; +import com.hzya.frame.sysnew.pushMessage.entity.SysPushMessageEntity; +import com.hzya.frame.sysnew.sendMessageLog.service.ISysSendMessageLogService; import com.hzya.frame.util.AESUtil; import com.hzya.frame.util.IPHelper; import com.hzya.frame.uuid.UUIDUtils; @@ -90,6 +92,8 @@ public class SysApplicationServiceImpl extends BaseService doEsbTask(sysMessageManageLogEntity)); + SysPushMessageEntity sysPushMessageEntity = new SysPushMessageEntity(); + sysPushMessageEntity.setSendAppName(sendApp.getName()); + sysPushMessageEntity.setReceiveAppName(receiveApp.getName()); + sysPushMessageEntity.setReceiveApiName(receiveApi.getApiName()); + sysPushMessageEntity.setReceiveApiCode(receiveApi.getApiCode()); + sysPushMessageEntity.setReturnData(sysMessageManageLogEntity.getReturnData()); + sysPushMessageEntity.setStatus(sysMessageManageLogEntity.getStatus()); + taskExecutor.execute(() -> sendMssage(sysPushMessageEntity)); return sysMessageManageLogEntity; } + private void sendMssage(SysPushMessageEntity sysPushMessageEntity) { + sysSendMessageLogService.sendMessage(sysPushMessageEntity); + } + private SysMessageManageLogEntity updateLog(SysApplicationEntity sendApp, SysApplicationEntity receiveApp, SysApplicationApiEntity receiveApi, String oldbodys,String bodys, Map oldheaderMap,Map headerMap, @@ -2793,6 +2809,9 @@ public class SysApplicationServiceImpl extends BaseService doEsbTaskNew(sysMessageManageLogEntity)); + + + return sysMessageManageLogEntity; } @@ -2805,6 +2824,7 @@ public class SysApplicationServiceImpl extends BaseService sysOrganEntities = sysOrganDao.queryUserCompany(sysOrganEntity); //返回值 JSONObject res = new JSONObject(); - res.put("token", token); + res.put("zt-token", token); res.put("userInfo", sysUserEntity); res.put("company", sysOrganEntities); diff --git a/service/src/main/java/com/hzya/frame/sysnew/message/dao/ISysMessageDao.java b/service/src/main/java/com/hzya/frame/sysnew/message/dao/ISysMessageDao.java new file mode 100644 index 00000000..94aed6d7 --- /dev/null +++ b/service/src/main/java/com/hzya/frame/sysnew/message/dao/ISysMessageDao.java @@ -0,0 +1,15 @@ +package com.hzya.frame.sysnew.message.dao; + +import com.hzya.frame.sysnew.message.entity.SysMessageEntity; +import com.hzya.frame.basedao.dao.IBaseDao; + +/** + * (sys_message: table)表数据库访问层 + * + * @author makejava + * @since 2024-08-30 14:17:11 + */ +public interface ISysMessageDao extends IBaseDao { + +} + diff --git a/service/src/main/java/com/hzya/frame/sysnew/message/dao/impl/SysMessageDaoImpl.java b/service/src/main/java/com/hzya/frame/sysnew/message/dao/impl/SysMessageDaoImpl.java new file mode 100644 index 00000000..7734cd43 --- /dev/null +++ b/service/src/main/java/com/hzya/frame/sysnew/message/dao/impl/SysMessageDaoImpl.java @@ -0,0 +1,17 @@ +package com.hzya.frame.sysnew.message.dao.impl; + +import com.hzya.frame.sysnew.message.entity.SysMessageEntity; +import com.hzya.frame.sysnew.message.dao.ISysMessageDao; +import org.springframework.stereotype.Repository; +import com.hzya.frame.basedao.dao.MybatisGenericDao; +/** + * (SysMessage)表数据库访问层 + * + * @author makejava + * @since 2024-08-30 14:17:11 + */ +@Repository(value = "SysMessageDaoImpl") +public class SysMessageDaoImpl extends MybatisGenericDao implements ISysMessageDao{ + +} + diff --git a/service/src/main/java/com/hzya/frame/sysnew/message/entity/SysMessageEntity.java b/service/src/main/java/com/hzya/frame/sysnew/message/entity/SysMessageEntity.java new file mode 100644 index 00000000..a5488938 --- /dev/null +++ b/service/src/main/java/com/hzya/frame/sysnew/message/entity/SysMessageEntity.java @@ -0,0 +1,136 @@ +package com.hzya.frame.sysnew.message.entity; + +import java.util.Date; +import com.hzya.frame.web.entity.BaseEntity; +/** + * (SysMessage)实体类 + * + * @author makejava + * @since 2024-08-30 14:17:11 + */ +public class SysMessageEntity extends BaseEntity { + + /** 公司id */ + private String companyId; + /** 调用单据类型 */ + private Integer billKindId; + /** 来源业务单据id */ + private String billId; + /** 模版id */ + private String templateId; + /** 1文本消息 2 卡片消息 */ + private String messageType; + /** 消息标题 */ + private String title; + /** 消息内容 */ + private String content; + /** 消息操作区域 */ + private String btns; + /** 发送时间 */ + private Date pushTime; + /** 发送者 */ + private String sendPersonId; + /** 接受者 */ + private String sendToPersonId; + /** 状态 */ + private Integer state; + + + public String getCompanyId() { + return companyId; + } + + public void setCompanyId(String companyId) { + this.companyId = companyId; + } + + public Integer getBillKindId() { + return billKindId; + } + + public void setBillKindId(Integer billKindId) { + this.billKindId = billKindId; + } + + public String getBillId() { + return billId; + } + + public void setBillId(String billId) { + this.billId = billId; + } + + public String getTemplateId() { + return templateId; + } + + public void setTemplateId(String templateId) { + this.templateId = templateId; + } + + public String getMessageType() { + return messageType; + } + + public void setMessageType(String messageType) { + this.messageType = messageType; + } + + public String getTitle() { + return title; + } + + public void setTitle(String title) { + this.title = title; + } + + public String getContent() { + return content; + } + + public void setContent(String content) { + this.content = content; + } + + public String getBtns() { + return btns; + } + + public void setBtns(String btns) { + this.btns = btns; + } + + public Date getPushTime() { + return pushTime; + } + + public void setPushTime(Date pushTime) { + this.pushTime = pushTime; + } + + public String getSendPersonId() { + return sendPersonId; + } + + public void setSendPersonId(String sendPersonId) { + this.sendPersonId = sendPersonId; + } + + public String getSendToPersonId() { + return sendToPersonId; + } + + public void setSendToPersonId(String sendToPersonId) { + this.sendToPersonId = sendToPersonId; + } + + public Integer getState() { + return state; + } + + public void setState(Integer state) { + this.state = state; + } + +} + diff --git a/service/src/main/java/com/hzya/frame/sysnew/message/entity/SysMessageEntity.xml b/service/src/main/java/com/hzya/frame/sysnew/message/entity/SysMessageEntity.xml new file mode 100644 index 00000000..080729bf --- /dev/null +++ b/service/src/main/java/com/hzya/frame/sysnew/message/entity/SysMessageEntity.xml @@ -0,0 +1,327 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + id + ,sorts + ,create_user_id + ,create_time + ,modify_user_id + ,modify_time + ,sts + ,org_id + ,company_id + ,bill_kind_id + ,bill_id + ,template_id + ,message_type + ,title + ,content + ,btns + ,push_time + ,send_person_id + ,send_to_person_id + ,state + + + + + + + + + + + + + + + + + + + insert into sys_message( + + id , + sorts , + create_user_id , + create_time , + modify_user_id , + modify_time , + sts , + org_id , + company_id , + bill_kind_id , + bill_id , + template_id , + message_type , + title , + content , + btns , + push_time , + send_person_id , + send_to_person_id , + state , + sts, + + )values( + + #{id} , + #{sorts} , + #{create_user_id} , + #{create_time} , + #{modify_user_id} , + #{modify_time} , + #{sts} , + #{org_id} , + #{companyId} , + #{billKindId} , + #{billId} , + #{templateId} , + #{messageType} , + #{title} , + #{content} , + #{btns} , + #{pushTime} , + #{sendPersonId} , + #{sendToPersonId} , + #{state} , + 'Y', + + ) + + + + insert into sys_message(create_user_id, create_time, modify_user_id, modify_time, sts, org_id, company_id, bill_kind_id, bill_id, template_id, message_type, title, content, btns, push_time, send_person_id, send_to_person_id, state, sts) + values + + (#{entity.create_user_id},#{entity.create_time},#{entity.modify_user_id},#{entity.modify_time},#{entity.sts},#{entity.org_id},#{entity.companyId},#{entity.billKindId},#{entity.billId},#{entity.templateId},#{entity.messageType},#{entity.title},#{entity.content},#{entity.btns},#{entity.pushTime},#{entity.sendPersonId},#{entity.sendToPersonId},#{entity.state}, 'Y') + + + + + insert into sys_message(create_user_id, create_time, modify_user_id, modify_time, sts, org_id, company_id, bill_kind_id, bill_id, template_id, message_type, title, content, btns, push_time, send_person_id, send_to_person_id, state) + values + + (#{entity.create_user_id},#{entity.create_time},#{entity.modify_user_id},#{entity.modify_time},#{entity.sts},#{entity.org_id},#{entity.companyId},#{entity.billKindId},#{entity.billId},#{entity.templateId},#{entity.messageType},#{entity.title},#{entity.content},#{entity.btns},#{entity.pushTime},#{entity.sendPersonId},#{entity.sendToPersonId},#{entity.state}) + + on duplicate key update + create_user_id = values(create_user_id), + create_time = values(create_time), + modify_user_id = values(modify_user_id), + modify_time = values(modify_time), + sts = values(sts), + org_id = values(org_id), + company_id = values(company_id), + bill_kind_id = values(bill_kind_id), + bill_id = values(bill_id), + template_id = values(template_id), + message_type = values(message_type), + title = values(title), + content = values(content), + btns = values(btns), + push_time = values(push_time), + send_person_id = values(send_person_id), + send_to_person_id = values(send_to_person_id), + state = values(state) + + +update sys_message set + + create_user_id = #{create_user_id}, + create_time = #{create_time}, + modify_user_id = #{modify_user_id}, + modify_time = #{modify_time}, + sts = #{sts}, + org_id = #{org_id}, + company_id = #{companyId}, + bill_kind_id = #{billKindId}, + bill_id = #{billId}, + template_id = #{templateId}, + message_type = #{messageType}, + title = #{title}, + content = #{content}, + btns = #{btns}, + push_time = #{pushTime}, + send_person_id = #{sendPersonId}, + send_to_person_id = #{sendToPersonId}, + state = #{state}, + +where id = #{id} + + + +update sys_message set sts= 'N' ,modify_time = #{modify_time},modify_user_id = #{modify_user_id} +where id = #{id} + + + +update sys_message set sts= 'N' ,modify_time = #{modify_time},modify_user_id = #{modify_user_id} + + and id = #{id} + and sorts = #{sorts} + and sts = #{sts} + and company_id = #{companyId} + and bill_kind_id = #{billKindId} + and bill_id = #{billId} + and template_id = #{templateId} + and message_type = #{messageType} + and title = #{title} + and content = #{content} + and btns = #{btns} + and push_time = #{pushTime} + and send_person_id = #{sendPersonId} + and send_to_person_id = #{sendToPersonId} + and state = #{state} + and sts='Y' + + + + + delete from sys_message where id = #{id} + + + + diff --git a/service/src/main/java/com/hzya/frame/sysnew/message/service/ISysMessageService.java b/service/src/main/java/com/hzya/frame/sysnew/message/service/ISysMessageService.java new file mode 100644 index 00000000..e3e2e2a2 --- /dev/null +++ b/service/src/main/java/com/hzya/frame/sysnew/message/service/ISysMessageService.java @@ -0,0 +1,26 @@ +package com.hzya.frame.sysnew.message.service; + +import com.alibaba.fastjson.JSONObject; +import com.hzya.frame.sysnew.message.entity.SysMessageEntity; +import com.hzya.frame.basedao.service.IBaseService; +import com.hzya.frame.web.entity.JsonResultEntity; + +/** + * (SysMessage)表服务接口 + * + * @author makejava + * @since 2024-08-30 14:17:11 + */ +public interface ISysMessageService extends IBaseService{ + JsonResultEntity queryEntityPage(JSONObject jsonObject); + + JsonResultEntity queryEntity(JSONObject jsonObject); + + JsonResultEntity saveEntity(JSONObject jsonObject); + + JsonResultEntity getEntity(JSONObject jsonObject); + + JsonResultEntity updateEntity(JSONObject jsonObject); + + JsonResultEntity deleteEntity(JSONObject jsonObject); +} diff --git a/service/src/main/java/com/hzya/frame/sysnew/message/service/impl/SysMessageServiceImpl.java b/service/src/main/java/com/hzya/frame/sysnew/message/service/impl/SysMessageServiceImpl.java new file mode 100644 index 00000000..0421079b --- /dev/null +++ b/service/src/main/java/com/hzya/frame/sysnew/message/service/impl/SysMessageServiceImpl.java @@ -0,0 +1,112 @@ +package com.hzya.frame.sysnew.message.service.impl; + +import com.alibaba.fastjson.JSONObject; +import com.github.pagehelper.PageHelper; +import com.github.pagehelper.PageInfo; +import com.hzya.frame.sysnew.message.entity.SysMessageEntity; +import com.hzya.frame.sysnew.message.dao.ISysMessageDao; +import com.hzya.frame.sysnew.message.service.ISysMessageService; +import com.hzya.frame.sysnew.organ.entity.SysOrganEntity; +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.util.List; + +/** + * (SysMessage)表服务实现类 + * + * @author makejava + * @since 2024-08-30 14:17:11 + */ +@Service(value = "sysMessageService") +public class SysMessageServiceImpl extends BaseService implements ISysMessageService { + + private ISysMessageDao sysMessageDao; + + @Autowired + public void setSysMessageDao(ISysMessageDao dao) { + this.sysMessageDao = dao; + this.dao = dao; + } + + @Override + public JsonResultEntity queryEntityPage(JSONObject jsonObject){ + SysMessageEntity entity = getData("jsonStr", jsonObject, SysMessageEntity.class); + if(entity == null || entity.getPageNum() == null || entity.getPageSize() == null){ + return BaseResult.getFailureMessageEntity("分页查询参数不存在"); + } + PageHelper.startPage(entity.getPageNum(), entity.getPageSize()); + List list = sysMessageDao.queryByLike(entity); + PageInfo pageInfo = new PageInfo<>(list); + return BaseResult.getSuccessMessageEntity("查询数据成功", pageInfo); + } + + @Override + public JsonResultEntity queryEntity(JSONObject jsonObject){ + SysMessageEntity entity = getData("jsonStr", jsonObject, SysMessageEntity.class); + if(entity == null){ + entity = new SysMessageEntity(); + } + List list = sysMessageDao.queryByLike(entity); + return BaseResult.getSuccessMessageEntity("查询数据成功", list); + } + + @Override + public JsonResultEntity getEntity(JSONObject jsonObject){ + SysMessageEntity entity = getData("jsonStr", jsonObject, SysMessageEntity.class); + if(entity == null){ + return BaseResult.getFailureMessageEntity("参数不允许为空"); + } + if(entity.getId() == null || "".equals(entity.getId())){ + return BaseResult.getFailureMessageEntity("系统错误"); + } + entity = sysMessageDao.get(entity.getId()); + if(entity == null){ + return BaseResult.getFailureMessageEntity("获取站内消息失败"); + } + return BaseResult.getSuccessMessageEntity("获取站内消息成功", entity); + } + + @Override + public JsonResultEntity saveEntity(JSONObject jsonObject) { + SysMessageEntity entity = getData("jsonStr", jsonObject, SysMessageEntity.class); + if (entity == null) { + return BaseResult.getFailureMessageEntity("参数不允许为空"); + } + entity.setCreate(); + //保存 + sysMessageDao.save(entity); + return BaseResult.getSuccessMessageEntity("保存消息成功", entity); + } + + @Override + public JsonResultEntity updateEntity(JSONObject jsonObject) { + SysMessageEntity entity = getData("jsonStr", jsonObject, SysMessageEntity.class); + if(entity == null){ + return BaseResult.getFailureMessageEntity("参数不允许为空"); + } + if(entity.getId() == null || "".equals(entity.getId())){ + return BaseResult.getFailureMessageEntity("系统错误"); + } + entity.setUpdate(); + sysMessageDao.update(entity); + return BaseResult.getSuccessMessageEntity("修改站内消息成功", entity); + } + + @Override + public JsonResultEntity deleteEntity(JSONObject jsonObject) { + SysMessageEntity entity = getData("jsonStr", jsonObject, SysMessageEntity.class); + if(entity == null){ + return BaseResult.getFailureMessageEntity("参数不允许为空"); + } + if(entity.getId() == null || "".equals(entity.getId())){ + return BaseResult.getFailureMessageEntity("系统错误"); + } + sysMessageDao.logicRemove(entity); + return BaseResult.getSuccessMessageEntity("删除站内消息成功"); + } +} diff --git a/service/src/main/java/com/hzya/frame/sysnew/messageManageLog/entity/SysMessageManageLogEntity.xml b/service/src/main/java/com/hzya/frame/sysnew/messageManageLog/entity/SysMessageManageLogEntity.xml index 5c02e0bb..990d106a 100644 --- a/service/src/main/java/com/hzya/frame/sysnew/messageManageLog/entity/SysMessageManageLogEntity.xml +++ b/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/service/src/main/java/com/hzya/frame/sysnew/messageTemplate/dao/ISysMessageTemplateDao.java b/service/src/main/java/com/hzya/frame/sysnew/messageTemplate/dao/ISysMessageTemplateDao.java new file mode 100644 index 00000000..a7a29b66 --- /dev/null +++ b/service/src/main/java/com/hzya/frame/sysnew/messageTemplate/dao/ISysMessageTemplateDao.java @@ -0,0 +1,15 @@ +package com.hzya.frame.sysnew.messageTemplate.dao; + +import com.hzya.frame.sysnew.messageTemplate.entity.SysMessageTemplateEntity; +import com.hzya.frame.basedao.dao.IBaseDao; + +/** + * (sys_message_template: table)表数据库访问层 + * + * @author makejava + * @since 2024-08-30 14:21:15 + */ +public interface ISysMessageTemplateDao extends IBaseDao { + +} + diff --git a/service/src/main/java/com/hzya/frame/sysnew/messageTemplate/dao/impl/SysMessageTemplateDaoImpl.java b/service/src/main/java/com/hzya/frame/sysnew/messageTemplate/dao/impl/SysMessageTemplateDaoImpl.java new file mode 100644 index 00000000..10890a7a --- /dev/null +++ b/service/src/main/java/com/hzya/frame/sysnew/messageTemplate/dao/impl/SysMessageTemplateDaoImpl.java @@ -0,0 +1,17 @@ +package com.hzya.frame.sysnew.messageTemplate.dao.impl; + +import com.hzya.frame.sysnew.messageTemplate.entity.SysMessageTemplateEntity; +import com.hzya.frame.sysnew.messageTemplate.dao.ISysMessageTemplateDao; +import org.springframework.stereotype.Repository; +import com.hzya.frame.basedao.dao.MybatisGenericDao; +/** + * (SysMessageTemplate)表数据库访问层 + * + * @author makejava + * @since 2024-08-30 14:21:15 + */ +@Repository(value = "SysMessageTemplateDaoImpl") +public class SysMessageTemplateDaoImpl extends MybatisGenericDao implements ISysMessageTemplateDao{ + +} + diff --git a/service/src/main/java/com/hzya/frame/sysnew/messageTemplate/entity/SysMessageTemplateEntity.java b/service/src/main/java/com/hzya/frame/sysnew/messageTemplate/entity/SysMessageTemplateEntity.java new file mode 100644 index 00000000..5a1ba2a6 --- /dev/null +++ b/service/src/main/java/com/hzya/frame/sysnew/messageTemplate/entity/SysMessageTemplateEntity.java @@ -0,0 +1,94 @@ +package com.hzya.frame.sysnew.messageTemplate.entity; + +import java.util.Date; +import com.hzya.frame.web.entity.BaseEntity; +/** + * (SysMessageTemplate)实体类 + * + * @author makejava + * @since 2024-08-30 14:21:15 + */ +public class SysMessageTemplateEntity extends BaseEntity { + + /** 公司id */ + private String companyId; + /** 模版类型 */ + private String templateType; + /** 模版名称 */ + private String templateName; + /** 消息标题 */ + private String messageTitle; + /** 消息内容 */ + private String messageContents; + /** 消息操作区域 */ + private String btns; + /** 数据源 */ + private String dataSource; + /** 状态 0:停用 1:启用 */ + private String state; + + + public String getCompanyId() { + return companyId; + } + + public void setCompanyId(String companyId) { + this.companyId = companyId; + } + + public String getTemplateType() { + return templateType; + } + + public void setTemplateType(String templateType) { + this.templateType = templateType; + } + + public String getTemplateName() { + return templateName; + } + + public void setTemplateName(String templateName) { + this.templateName = templateName; + } + + public String getMessageTitle() { + return messageTitle; + } + + public void setMessageTitle(String messageTitle) { + this.messageTitle = messageTitle; + } + + public String getMessageContents() { + return messageContents; + } + + public void setMessageContents(String messageContents) { + this.messageContents = messageContents; + } + + public String getBtns() { + return btns; + } + + public void setBtns(String btns) { + this.btns = btns; + } + + public String getDataSource() { + return dataSource; + } + + public void setDataSource(String dataSource) { + this.dataSource = dataSource; + } + public String getState() { + return state; + } + + public void setState(String state) { + this.state = state; + } +} + diff --git a/service/src/main/java/com/hzya/frame/sysnew/messageTemplate/entity/SysMessageTemplateEntity.xml b/service/src/main/java/com/hzya/frame/sysnew/messageTemplate/entity/SysMessageTemplateEntity.xml new file mode 100644 index 00000000..e1cf60d5 --- /dev/null +++ b/service/src/main/java/com/hzya/frame/sysnew/messageTemplate/entity/SysMessageTemplateEntity.xml @@ -0,0 +1,294 @@ + + + + + + + + + + + + + + + + + + + + + + + + + id + ,sorts + ,create_user_id + ,create_time + ,modify_user_id + ,modify_time + ,sts + ,org_id + ,company_id + ,template_type + ,template_name + ,message_title + ,message_contents + ,btns + ,data_source + ,state + + + + + + + + + + + + + + + + + + + + insert into sys_message_template( + + id , + sorts , + create_user_id , + create_time , + modify_user_id , + modify_time , + sts , + org_id , + company_id , + template_type , + template_name , + message_title , + message_contents , + btns , + data_source , + state , + sts, + + )values( + + #{id} , + #{sorts} , + #{create_user_id} , + #{create_time} , + #{modify_user_id} , + #{modify_time} , + #{sts} , + #{org_id} , + #{companyId} , + #{templateType} , + #{templateName} , + #{messageTitle} , + #{messageContents} , + #{btns} , + #{dataSource} , + #{state} , + 'Y', + + ) + + + + insert into sys_message_template(create_user_id, create_time, modify_user_id, modify_time, 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 + + (#{entity.create_user_id},#{entity.create_time},#{entity.modify_user_id},#{entity.modify_time},#{entity.sts},#{entity.org_id},#{entity.companyId},#{entity.billKindId},#{entity.templateType},#{entity.templateName},#{entity.messageTitle},#{entity.messageContents},#{entity.btns},#{entity.dataSource},#{entity.createDate},#{entity.createPersonId},#{entity.state},#{entity.isdelete}, 'Y') + + + + + insert into sys_message_template(create_user_id, create_time, modify_user_id, modify_time, 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) + values + + (#{entity.create_user_id},#{entity.create_time},#{entity.modify_user_id},#{entity.modify_time},#{entity.sts},#{entity.org_id},#{entity.companyId},#{entity.billKindId},#{entity.templateType},#{entity.templateName},#{entity.messageTitle},#{entity.messageContents},#{entity.btns},#{entity.dataSource},#{entity.createDate},#{entity.createPersonId},#{entity.state},#{entity.isdelete}) + + on duplicate key update + create_user_id = values(create_user_id), + create_time = values(create_time), + modify_user_id = values(modify_user_id), + modify_time = values(modify_time), + sts = values(sts), + org_id = values(org_id), + company_id = values(company_id), + bill_kind_id = values(bill_kind_id), + template_type = values(template_type), + template_name = values(template_name), + message_title = values(message_title), + message_contents = values(message_contents), + btns = values(btns), + data_source = values(data_source), + create_date = values(create_date), + create_person_id = values(create_person_id), + state = values(state), + isdelete = values(isdelete) + + +update sys_message_template set + + create_user_id = #{create_user_id}, + create_time = #{create_time}, + modify_user_id = #{modify_user_id}, + modify_time = #{modify_time}, + sts = #{sts}, + org_id = #{org_id}, + company_id = #{companyId}, + template_type = #{templateType}, + template_name = #{templateName}, + message_title = #{messageTitle}, + message_contents = #{messageContents}, + btns = #{btns}, + data_source = #{dataSource}, + state = #{state}, + +where id = #{id} + + + +update sys_message_template set sts= 'N' ,modify_time = #{modify_time},modify_user_id = #{modify_user_id} +where id = #{id} + + + +update sys_message_template set sts= 'N' ,modify_time = #{modify_time},modify_user_id = #{modify_user_id} + + and id = #{id} + and sorts = #{sorts} + and sts = #{sts} + 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' + + + + + delete from sys_message_template where id = #{id} + + + + diff --git a/service/src/main/java/com/hzya/frame/sysnew/messageTemplate/service/ISysMessageTemplateService.java b/service/src/main/java/com/hzya/frame/sysnew/messageTemplate/service/ISysMessageTemplateService.java new file mode 100644 index 00000000..bb553613 --- /dev/null +++ b/service/src/main/java/com/hzya/frame/sysnew/messageTemplate/service/ISysMessageTemplateService.java @@ -0,0 +1,36 @@ +package com.hzya.frame.sysnew.messageTemplate.service; + +import com.alibaba.fastjson.JSONObject; +import com.hzya.frame.sysnew.messageTemplate.entity.SysMessageTemplateEntity; +import com.hzya.frame.basedao.service.IBaseService; +import com.hzya.frame.web.entity.JsonResultEntity; +import org.apache.ibatis.annotations.Select; + +import java.sql.SQLException; + +/** + * (SysMessageTemplate)表服务接口 + * + * @author makejava + * @since 2024-08-30 14:21:15 + */ +public interface ISysMessageTemplateService extends IBaseService{ + JsonResultEntity queryEntityPage(JSONObject jsonObject); + + JsonResultEntity queryEntity(JSONObject jsonObject); + + JsonResultEntity saveEntity(JSONObject jsonObject); + + JsonResultEntity getEntity(JSONObject jsonObject); + + JsonResultEntity updateEntity(JSONObject jsonObject); + + JsonResultEntity deleteEntity(JSONObject jsonObject); + + JsonResultEntity enableDisableEntity(JSONObject jsonObject); + + JsonResultEntity checkSql(JSONObject jsonObject)throws Exception; + + JsonResultEntity spliceMessage(JSONObject jsonObject); + +} diff --git a/service/src/main/java/com/hzya/frame/sysnew/messageTemplate/service/impl/SysMessageTemplateServiceImpl.java b/service/src/main/java/com/hzya/frame/sysnew/messageTemplate/service/impl/SysMessageTemplateServiceImpl.java new file mode 100644 index 00000000..6930fd2c --- /dev/null +++ b/service/src/main/java/com/hzya/frame/sysnew/messageTemplate/service/impl/SysMessageTemplateServiceImpl.java @@ -0,0 +1,209 @@ +package com.hzya.frame.sysnew.messageTemplate.service.impl; + +import com.alibaba.fastjson.JSONObject; +import com.github.pagehelper.PageHelper; +import com.github.pagehelper.PageInfo; +import com.hzya.frame.execsql.service.IExecSqlService; +import com.hzya.frame.sysnew.messageTemplate.entity.SysMessageTemplateEntity; +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.*; +import java.util.HashMap; +import java.util.List; + +/** + * (SysMessageTemplate)表服务实现类 + * + * @author makejava + * @since 2024-08-30 14:21:15 + */ +@Service(value = "sysMessageTemplateService") +public class SysMessageTemplateServiceImpl extends BaseService implements ISysMessageTemplateService { + + private ISysMessageTemplateDao sysMessageTemplateDao; + + @Resource + private ISysWarningConfigDao sysWarningConfigDao; + + @Resource + public IExecSqlService execSqlService; + + @Autowired + 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 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 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.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("系统错误"); + } + //判断这个模版有没有被使用过,使用过就不能删除 + //将模版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); + //同步停用到预警配置表 + 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 spliceMessage(JSONObject jsonObject) { + return BaseResult.getSuccessMessageEntity("消息拼接成功"); + } +} diff --git a/service/src/main/java/com/hzya/frame/sysnew/person/entity/SysPersonEntity.xml b/service/src/main/java/com/hzya/frame/sysnew/person/entity/SysPersonEntity.xml index ea0abb65..49eba37b 100644 --- a/service/src/main/java/com/hzya/frame/sysnew/person/entity/SysPersonEntity.xml +++ b/service/src/main/java/com/hzya/frame/sysnew/person/entity/SysPersonEntity.xml @@ -38,72 +38,72 @@ id - ,organ_id - ,person_code - ,person_name - ,sex + ,organ_id + ,person_code + ,person_name + ,sex ,mobile_phone - ,entry_time - ,email - ,degree_id - ,post_id - ,level_id - ,birth_day - ,tel_phone - ,hometown - ,id_card - ,address - ,leave_time - ,state - ,remark - ,dd_user_id - ,wx_user_id - ,head_image_id - ,sorts - ,create_user_id - ,create_time - ,modify_user_id - ,modify_time - ,sts - ,org_id - ,company_id - + ,entry_time + ,email + ,degree_id + ,post_id + ,level_id + ,birth_day + ,tel_phone + ,hometown + ,id_card + ,address + ,leave_time + ,state + ,remark + ,dd_user_id + ,wx_user_id + ,head_image_id + ,sorts + ,create_user_id + ,create_time + ,modify_user_id + ,modify_time + ,sts + ,org_id + ,company_id + @@ -314,7 +314,7 @@ a.id + > insert into sys_person( id , @@ -476,9 +476,9 @@ a.id -update sys_person set sts= 'N' ,modify_time = #{modify_time},modify_user_id = #{modify_user_id} -where id = #{id} - + update sys_person set sts= 'N' ,modify_time = #{modify_time},modify_user_id = #{modify_user_id} + where id = #{id} + update sys_person set sts= 'N' ,modify_time = #{modify_time},modify_user_id = #{modify_user_id} @@ -513,8 +513,7 @@ where id = #{id} - delete from sys_person where id = #{id} - + delete from sys_person where id = #{id} + - diff --git a/service/src/main/java/com/hzya/frame/sysnew/pushMessage/dao/ISysPushMessageDao.java b/service/src/main/java/com/hzya/frame/sysnew/pushMessage/dao/ISysPushMessageDao.java new file mode 100644 index 00000000..7c9c4303 --- /dev/null +++ b/service/src/main/java/com/hzya/frame/sysnew/pushMessage/dao/ISysPushMessageDao.java @@ -0,0 +1,7 @@ +package com.hzya.frame.sysnew.pushMessage.dao; + +import com.hzya.frame.basedao.dao.IBaseDao; +import com.hzya.frame.sysnew.pushMessage.entity.SysPushMessageEntity; + +public interface ISysPushMessageDao extends IBaseDao{ +} diff --git a/service/src/main/java/com/hzya/frame/sysnew/pushMessage/dao/impl/SysPushMessageDaoImpl.java b/service/src/main/java/com/hzya/frame/sysnew/pushMessage/dao/impl/SysPushMessageDaoImpl.java new file mode 100644 index 00000000..3ede38a6 --- /dev/null +++ b/service/src/main/java/com/hzya/frame/sysnew/pushMessage/dao/impl/SysPushMessageDaoImpl.java @@ -0,0 +1,10 @@ +package com.hzya.frame.sysnew.pushMessage.dao.impl; + +import com.hzya.frame.basedao.dao.MybatisGenericDao; +import com.hzya.frame.sysnew.pushMessage.dao.ISysPushMessageDao; +import com.hzya.frame.sysnew.pushMessage.entity.SysPushMessageEntity; +import org.springframework.stereotype.Repository; + +@Repository("sysPushMessageDaoImpl") +public class SysPushMessageDaoImpl extends MybatisGenericDao implements ISysPushMessageDao { +} diff --git a/service/src/main/java/com/hzya/frame/sysnew/pushMessage/entity/SysPushMessageEntity.java b/service/src/main/java/com/hzya/frame/sysnew/pushMessage/entity/SysPushMessageEntity.java new file mode 100644 index 00000000..9f5ba071 --- /dev/null +++ b/service/src/main/java/com/hzya/frame/sysnew/pushMessage/entity/SysPushMessageEntity.java @@ -0,0 +1,107 @@ +package com.hzya.frame.sysnew.pushMessage.entity; + +import com.hzya.frame.web.entity.BaseEntity; + +public class SysPushMessageEntity extends BaseEntity { + /** 推送方式 “一次”、“定时” */ + private String pushMethod; + /** 预警应用编码 */ + private Long warningAppCode; + /** 预警接口编码 */ + private Long warningApiCode; + /** 预警应用类型 */ + private String warningAppType; + /** 发送应用名称 */ + private String sendAppName; + /** 接收应用名称 */ + private String receiveAppName; + /** 接收接口名称 */ + private String receiveApiName; + /** 返回信息 */ + private String returnData; + /** 接收接口编码 */ + private Long receiveApiCode; + /** 状态(1、待发送2、发送中3、发送成功4、发送失败) */ + private String status; + + public String getPushMethod() { + return pushMethod; + } + + public void setPushMethod(String pushMethod) { + this.pushMethod = pushMethod; + } + + + public Long getWarningAppCode() { + return warningAppCode; + } + + public void setWarningAppCode(Long warningAppCode) { + this.warningAppCode = warningAppCode; + } + + public Long getWarningApiCode() { + return warningApiCode; + } + + public void setWarningApiCode(Long warningApiCode) { + this.warningApiCode = warningApiCode; + } + + public Long getReceiveApiCode() { + return receiveApiCode; + } + + public void setReceiveApiCode(Long receiveApiCode) { + this.receiveApiCode = receiveApiCode; + } + + public String getWarningAppType() { + return warningAppType; + } + + public void setWarningAppType(String warningAppType) { + this.warningAppType = warningAppType; + } + + public String getSendAppName() { + return sendAppName; + } + + public void setSendAppName(String sendAppName) { + this.sendAppName = sendAppName; + } + + public String getReceiveAppName() { + return receiveAppName; + } + + public void setReceiveAppName(String receiveAppName) { + this.receiveAppName = receiveAppName; + } + + public String getReceiveApiName() { + return receiveApiName; + } + + public void setReceiveApiName(String receiveApiName) { + this.receiveApiName = receiveApiName; + } + + public String getReturnData() { + return returnData; + } + + public void setReturnData(String returnData) { + this.returnData = returnData; + } + + public String getStatus() { + return status; + } + + public void setStatus(String status) { + this.status = status; + } +} diff --git a/service/src/main/java/com/hzya/frame/sysnew/pushMessage/entity/SysPushMessageEntity.xml b/service/src/main/java/com/hzya/frame/sysnew/pushMessage/entity/SysPushMessageEntity.xml new file mode 100644 index 00000000..547ed5e9 --- /dev/null +++ b/service/src/main/java/com/hzya/frame/sysnew/pushMessage/entity/SysPushMessageEntity.xml @@ -0,0 +1,42 @@ + + + + + + + + + + + + + + + + + + + + + + diff --git a/service/src/main/java/com/hzya/frame/sysnew/pushMessage/service/ISysPushMessageService.java b/service/src/main/java/com/hzya/frame/sysnew/pushMessage/service/ISysPushMessageService.java new file mode 100644 index 00000000..67f4583b --- /dev/null +++ b/service/src/main/java/com/hzya/frame/sysnew/pushMessage/service/ISysPushMessageService.java @@ -0,0 +1,10 @@ +package com.hzya.frame.sysnew.pushMessage.service; + +import com.alibaba.fastjson.JSONObject; +import com.hzya.frame.basedao.service.IBaseService; +import com.hzya.frame.sysnew.pushMessage.entity.SysPushMessageEntity; +import com.hzya.frame.web.entity.JsonResultEntity; + +public interface ISysPushMessageService extends IBaseService{ + JsonResultEntity queryEntity(JSONObject jsonObject); +} diff --git a/service/src/main/java/com/hzya/frame/sysnew/pushMessage/service/impl/SysPushMessageServiceImpl.java b/service/src/main/java/com/hzya/frame/sysnew/pushMessage/service/impl/SysPushMessageServiceImpl.java new file mode 100644 index 00000000..c3200814 --- /dev/null +++ b/service/src/main/java/com/hzya/frame/sysnew/pushMessage/service/impl/SysPushMessageServiceImpl.java @@ -0,0 +1,34 @@ +package com.hzya.frame.sysnew.pushMessage.service.impl; + +import com.alibaba.fastjson.JSONObject; +import com.hzya.frame.basedao.service.impl.BaseService; +import com.hzya.frame.sysnew.pushMessage.dao.ISysPushMessageDao; +import com.hzya.frame.sysnew.pushMessage.dao.impl.SysPushMessageDaoImpl; +import com.hzya.frame.sysnew.pushMessage.entity.SysPushMessageEntity; +import com.hzya.frame.sysnew.pushMessage.service.ISysPushMessageService; +import com.hzya.frame.sysnew.sendMessageLog.dao.ISysSendMessageLogDao; +import com.hzya.frame.web.entity.BaseResult; +import com.hzya.frame.web.entity.JsonResultEntity; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.stereotype.Service; + +import java.util.List; + +@Service("sysPushMessageService") +public class SysPushMessageServiceImpl extends BaseService implements ISysPushMessageService { + + private ISysPushMessageDao sysPushMessageDao; + + @Autowired + public void setSysPushMessageDao(ISysPushMessageDao dao) { + this.sysPushMessageDao = dao; + this.dao = dao; + } + + @Override + public JsonResultEntity queryEntity(JSONObject jsonObject){ + List list = sysPushMessageDao.getAll(); + return BaseResult.getSuccessMessageEntity("success"); + } + +} diff --git a/service/src/main/java/com/hzya/frame/sysnew/sendMessageLog/dao/ISysSendMessageLogDao.java b/service/src/main/java/com/hzya/frame/sysnew/sendMessageLog/dao/ISysSendMessageLogDao.java new file mode 100644 index 00000000..5359eede --- /dev/null +++ b/service/src/main/java/com/hzya/frame/sysnew/sendMessageLog/dao/ISysSendMessageLogDao.java @@ -0,0 +1,15 @@ +package com.hzya.frame.sysnew.sendMessageLog.dao; + +import com.hzya.frame.sysnew.sendMessageLog.entity.SysSendMessageLogEntity; +import com.hzya.frame.basedao.dao.IBaseDao; + +/** + * (sys_send_message_log: table)表数据库访问层 + * + * @author makejava + * @since 2024-08-30 14:19:30 + */ +public interface ISysSendMessageLogDao extends IBaseDao { + +} + diff --git a/service/src/main/java/com/hzya/frame/sysnew/sendMessageLog/dao/impl/SysSendMessageLogDaoImpl.java b/service/src/main/java/com/hzya/frame/sysnew/sendMessageLog/dao/impl/SysSendMessageLogDaoImpl.java new file mode 100644 index 00000000..7593f996 --- /dev/null +++ b/service/src/main/java/com/hzya/frame/sysnew/sendMessageLog/dao/impl/SysSendMessageLogDaoImpl.java @@ -0,0 +1,17 @@ +package com.hzya.frame.sysnew.sendMessageLog.dao.impl; + +import com.hzya.frame.sysnew.sendMessageLog.entity.SysSendMessageLogEntity; +import com.hzya.frame.sysnew.sendMessageLog.dao.ISysSendMessageLogDao; +import org.springframework.stereotype.Repository; +import com.hzya.frame.basedao.dao.MybatisGenericDao; +/** + * (SysSendMessageLog)表数据库访问层 + * + * @author makejava + * @since 2024-08-30 14:19:30 + */ +@Repository(value = "SysSendMessageLogDaoImpl") +public class SysSendMessageLogDaoImpl extends MybatisGenericDao implements ISysSendMessageLogDao{ + +} + diff --git a/service/src/main/java/com/hzya/frame/sysnew/sendMessageLog/entity/SysSendMessageLogEntity.java b/service/src/main/java/com/hzya/frame/sysnew/sendMessageLog/entity/SysSendMessageLogEntity.java new file mode 100644 index 00000000..b425872e --- /dev/null +++ b/service/src/main/java/com/hzya/frame/sysnew/sendMessageLog/entity/SysSendMessageLogEntity.java @@ -0,0 +1,186 @@ +package com.hzya.frame.sysnew.sendMessageLog.entity; + +import java.util.Date; +import com.hzya.frame.web.entity.BaseEntity; +/** + * (SysSendMessageLog)实体类 + * + * @author makejava + * @since 2024-08-30 14:19:30 + */ +public class SysSendMessageLogEntity extends BaseEntity { + + + //接收人姓名 + private String recipientsPersonName; + //发送人姓名 + private String sendPersonName; + /** 公司id */ + private String companyId; + /** 消息类型(1、系统消息、2、单据消息、3、钉钉、4微信、5短信、6、邮件) */ + private String type; + /** 发送给谁(三方系统userID 钉钉微信、邮箱、手机号) */ + private String recipientsPersonId; + /** 发送给系统内部人员ID */ + private String recipientsInteriorId; + /** 消息内容 */ + private String sendCount; + /** 发送时间 */ + private Date sendDatetime; + /** 发送人Id */ + private String sendPersonId; + /** 消息发送来源模块 */ + private String sourceModelName; + /** 消息状态(0未读1已读) */ + 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; + } + + public void setCompanyId(String companyId) { + this.companyId = companyId; + } + + public String getType() { + return type; + } + + public void setType(String type) { + this.type = type; + } + + public String getRecipientsPersonId() { + return recipientsPersonId; + } + + public void setRecipientsPersonId(String recipientsPersonId) { + this.recipientsPersonId = recipientsPersonId; + } + + public String getRecipientsInteriorId() { + return recipientsInteriorId; + } + + public void setRecipientsInteriorId(String recipientsInteriorId) { + this.recipientsInteriorId = recipientsInteriorId; + } + + public String getSendCount() { + return sendCount; + } + + public void setSendCount(String sendCount) { + this.sendCount = sendCount; + } + + public Date getSendDatetime() { + return sendDatetime; + } + + public void setSendDatetime(Date sendDatetime) { + this.sendDatetime = sendDatetime; + } + + public String getSendPersonId() { + return sendPersonId; + } + + public void setSendPersonId(String sendPersonId) { + this.sendPersonId = sendPersonId; + } + + public String getSourceModelName() { + return sourceModelName; + } + + public void setSourceModelName(String sourceModelName) { + this.sourceModelName = sourceModelName; + } + + public Integer getState() { + return state; + } + + public void setState(Integer state) { + this.state = state; + } + + public String getResultMessage() { + return resultMessage; + } + + public void setResultMessage(String resultMessage) { + this.resultMessage = resultMessage; + } + +} + diff --git a/service/src/main/java/com/hzya/frame/sysnew/sendMessageLog/entity/SysSendMessageLogEntity.xml b/service/src/main/java/com/hzya/frame/sysnew/sendMessageLog/entity/SysSendMessageLogEntity.xml new file mode 100644 index 00000000..b0e9b621 --- /dev/null +++ b/service/src/main/java/com/hzya/frame/sysnew/sendMessageLog/entity/SysSendMessageLogEntity.xml @@ -0,0 +1,352 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + id + ,sorts + ,create_user_id + ,create_time + ,modify_user_id + ,modify_time + ,sts + ,org_id + ,company_id + ,type + ,recipients_person_id + ,recipients_interior_id + ,send_count + ,send_datetime + ,send_person_id + ,source_model_name + ,state + ,result_message + ,warning_interface_id + + + + + + + + + + + + + + + + + + + insert into sys_send_message_log( + + id , + sorts , + create_user_id , + create_time , + modify_user_id , + modify_time , + sts , + org_id , + company_id , + type , + recipients_person_id , + recipients_interior_id , + send_count , + send_datetime , + send_person_id , + source_model_name , + state , + result_message , + warning_interface_id , + sts, + + )values( + + #{id} , + #{sorts} , + #{create_user_id} , + #{create_time} , + #{modify_user_id} , + #{modify_time} , + #{sts} , + #{org_id} , + #{companyId} , + #{type} , + #{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, 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.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, 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.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), + create_time = values(create_time), + modify_user_id = values(modify_user_id), + modify_time = values(modify_time), + sts = values(sts), + org_id = values(org_id), + company_id = values(company_id), + bill_id = values(bill_id), + type = values(type), + 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), + source_model_name = values(source_model_name), + state = values(state), + result_message = values(result_message) + + +update sys_send_message_log set + + create_user_id = #{create_user_id}, + create_time = #{create_time}, + modify_user_id = #{modify_user_id}, + modify_time = #{modify_time}, + sts = #{sts}, + org_id = #{org_id}, + company_id = #{companyId}, + type = #{type}, + recipients_person_id = #{recipientsPersonId}, + recipients_interior_id = #{recipientsInteriorId}, + send_count = #{sendCount}, + send_datetime = #{sendDatetime}, + send_person_id = #{sendPersonId}, + source_model_name = #{sourceModelName}, + state = #{state}, + result_message = #{resultMessage}, + +where id = #{id} + + + +update sys_send_message_log set sts= 'N' ,modify_time = #{modify_time},modify_user_id = #{modify_user_id} +where id = #{id} + + + +update sys_send_message_log set sts= 'N' ,modify_time = #{modify_time},modify_user_id = #{modify_user_id} + + and id = #{id} + and sorts = #{sorts} + and sts = #{sts} + and company_id = #{companyId} + and type = #{type} + and recipients_person_id = #{recipientsPersonId} + and recipients_interior_id = #{recipientsInteriorId} + and send_count = #{sendCount} + and send_datetime = #{sendDatetime} + and send_person_id = #{sendPersonId} + and source_model_name = #{sourceModelName} + and state = #{state} + and result_message = #{resultMessage} + and sts='Y' + + + + + delete from sys_send_message_log where id = #{id} + + + + diff --git a/service/src/main/java/com/hzya/frame/sysnew/sendMessageLog/service/ISysSendMessageLogService.java b/service/src/main/java/com/hzya/frame/sysnew/sendMessageLog/service/ISysSendMessageLogService.java new file mode 100644 index 00000000..0472f9ac --- /dev/null +++ b/service/src/main/java/com/hzya/frame/sysnew/sendMessageLog/service/ISysSendMessageLogService.java @@ -0,0 +1,36 @@ +package com.hzya.frame.sysnew.sendMessageLog.service; + +import com.alibaba.fastjson.JSONObject; +import com.hzya.frame.sysnew.pushMessage.entity.SysPushMessageEntity; +import com.hzya.frame.sysnew.sendMessageLog.entity.SysSendMessageLogEntity; +import com.hzya.frame.basedao.service.IBaseService; +import com.hzya.frame.web.entity.JsonResultEntity; + +/** + * (SysSendMessageLog)表服务接口 + * + * @author makejava + * @since 2024-08-30 14:19:30 + */ +public interface ISysSendMessageLogService extends IBaseService{ + + + JsonResultEntity queryEntityPage(JSONObject jsonObject); + + JsonResultEntity queryEntity(JSONObject jsonObject); + + JsonResultEntity getEntity(JSONObject jsonObject); + + JsonResultEntity saveEntity(JSONObject jsonObject); + + JsonResultEntity markRead(JSONObject jsonObject); + + JsonResultEntity updateEntity(JSONObject jsonObject); + + JsonResultEntity deleteEntity(JSONObject jsonObject); + + boolean sendMessage(SysPushMessageEntity entity); + + + +} diff --git a/service/src/main/java/com/hzya/frame/sysnew/sendMessageLog/service/impl/SysSendMessageLogServiceImpl.java b/service/src/main/java/com/hzya/frame/sysnew/sendMessageLog/service/impl/SysSendMessageLogServiceImpl.java new file mode 100644 index 00000000..0b03ee45 --- /dev/null +++ b/service/src/main/java/com/hzya/frame/sysnew/sendMessageLog/service/impl/SysSendMessageLogServiceImpl.java @@ -0,0 +1,491 @@ +package com.hzya.frame.sysnew.sendMessageLog.service.impl; + +import cn.dev33.satoken.stp.StpUtil; +import cn.hutool.http.HttpRequest; +import cn.hutool.json.JSONUtil; +import com.alibaba.fastjson.JSONObject; +import com.github.pagehelper.PageHelper; +import com.github.pagehelper.PageInfo; +import com.hzya.frame.sysnew.application.api.dao.ISysApplicationApiDao; +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.dao.ISysApplicationDao; +import com.hzya.frame.sysnew.application.entity.SysApplicationEntity; +import com.hzya.frame.sysnew.application.service.impl.ApplicationCache; +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.pushMessage.entity.SysPushMessageEntity; +import com.hzya.frame.sysnew.sendMessageLog.entity.SysSendMessageLogEntity; +import com.hzya.frame.sysnew.sendMessageLog.dao.ISysSendMessageLogDao; +import com.hzya.frame.sysnew.sendMessageLog.service.ISysSendMessageLogService; +import com.hzya.frame.sysnew.user.dao.ISysUserDao; +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.sysnew.warningInterface.dao.ISysWarningInterfaceDao; +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; + +import com.hzya.frame.basedao.service.impl.BaseService; + +import java.util.ArrayList; +import java.util.Date; +import java.util.List; + +/** + * (SysSendMessageLog)表服务实现类 + * + * @author makejava + * @since 2024-08-30 14:19:30 + */ +@Service(value = "sysSendMessageLogService") +public class SysSendMessageLogServiceImpl extends BaseService implements ISysSendMessageLogService { + + @Resource + private ApplicationCache applicationCache; + @Resource + private ISysWarningInterfaceDao sysWarningInterfaceDao; + @Resource + private ISysWarningConfigDao sysWarningConfigDao; + @Resource + private ISysMessageTemplateDao sysMessageTemplateDao; + @Resource + private ISysUserDao sysUserDao; + @Resource + private ISysPersonDao sysPersonsDao; + + @Resource + private ISysApplicationApiDao sysApplicationApiDao; + @Resource + private ISysApplicationApiParaDao sysApplicationApiParaDao; + + @Value("${zt.url}") + private String url ; + + private ISysSendMessageLogDao sysSendMessageLogDao; + + @Autowired + public void setSysSendMessageLogDao(ISysSendMessageLogDao dao) { + this.sysSendMessageLogDao = dao; + this.dao = dao; + } + + @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 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 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 sendMsgContent = ""; + + //SysWarningInterfaceEntity interfaceEntityApi = new SysWarningInterfaceEntity(); + SysWarningInterfaceEntity interfaceEntity = new SysWarningInterfaceEntity(); + SysWarningConfigEntity configEntity = new SysWarningConfigEntity(); + SysMessageTemplateEntity templateEntity = new SysMessageTemplateEntity(); + SysApplicationApiParaEntity sysApplicationApiParaEntity = new SysApplicationApiParaEntity(); + + //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; + } + + 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(); + + 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.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"); + SysApplicationApiEntity warningApiEntity = getApiByAppIdApiCode(warningAppId, warningApiCode.toString()); + + //根据预警接口编码,以及返回数据,判断消息推送是否成功 + 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("日志状态为成功,不需要推送消息"); + 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; + } + + /** + * 根据appId和apiCode查询缓存中的api信息 + */ + private SysApplicationApiEntity getApiByAppIdApiCode(String appId, String apiCode) { + + 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.setState(0); + logEntity.setWarningInterfaceId(warningInterfaceId); + String[] recipientsInteriorIdList = warningAppReceiverIdList.split(","); + String[] recipientsPersonIdList = 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); + } + } + + /** + * 拼接调用钉钉接口的body参数 + */ + public JSONObject splicingDDBody(String sendMsgContent, String agentId, String userid_list) { + JSONObject bodyJson = new JSONObject(); + JSONObject msg = new JSONObject(); + JSONObject text = new JSONObject(); + + text.put("content", sendMsgContent); + msg.put("msgtype", "text"); + msg.put("text", text); + bodyJson.put("msg", msg); + bodyJson.put("to_all_user", "false"); + bodyJson.put("agent_id", agentId); + bodyJson.put("userid_list", userid_list); + + return bodyJson; + } + + /** + * 根据预警应用类型和预警人员id列表,获取预警应用人员id列表 + */ + public String getWarningAppReceiverIdList(String warningAppType, String personIdList) { + + 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/service/src/main/java/com/hzya/frame/sysnew/user/entity/SysUserEntity.java b/service/src/main/java/com/hzya/frame/sysnew/user/entity/SysUserEntity.java index c552e1d2..c1b298e4 100644 --- a/service/src/main/java/com/hzya/frame/sysnew/user/entity/SysUserEntity.java +++ b/service/src/main/java/com/hzya/frame/sysnew/user/entity/SysUserEntity.java @@ -82,6 +82,28 @@ public class SysUserEntity extends BaseEntity { */ private String mobilePhone; + private String ddUserId; + + private String wxUserId; + + //private String personName; + + public String getDdUserId() { + return ddUserId; + } + + public void setDdUserId(String ddUserId) { + this.ddUserId = ddUserId; + } + + public String getWxUserId() { + return wxUserId; + } + + public void setWxUserId(String wxUserId) { + this.wxUserId = wxUserId; + } + public String getPersonId() { return personId; } diff --git a/service/src/main/java/com/hzya/frame/sysnew/user/entity/SysUserEntity.xml b/service/src/main/java/com/hzya/frame/sysnew/user/entity/SysUserEntity.xml index 90a643c0..82c6d1ed 100644 --- a/service/src/main/java/com/hzya/frame/sysnew/user/entity/SysUserEntity.xml +++ b/service/src/main/java/com/hzya/frame/sysnew/user/entity/SysUserEntity.xml @@ -24,6 +24,8 @@ + + @@ -44,7 +46,9 @@ ,modify_time ,sts ,org_id - ,company_id + ,company_id + ,dd_user_id + ,wx_user_id + select + config.* + ,template.template_name + from sys_warning_config config + LEFT JOIN sys_message_template template ON template.id = config.message_template_id + where config.id = #{ id } AND config.sts='Y' AND template.sts='Y' + + + + + + + + + + + + + + + + insert into sys_warning_config( + + id , + sorts , + 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( + + #{id} , + #{sorts} , + #{create_user_id} , + #{create_time} , + #{modify_user_id} , + #{modify_time} , + #{sts} , + #{org_id} , + #{companyId} , + #{messageTemplateId} , + #{appIdList} , + #{warningAppId} , + #{acceptMessageApiCode} , + #{remark} , + #{status} , + #{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_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.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_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.appIdList},#{entity.warningAppId},#{entity.acceptMessageApiCode},#{entity.remark},#{entity.status},#{entity.recipientIdList}) + + on duplicate key update + create_user_id = values(create_user_id), + create_time = values(create_time), + modify_user_id = values(modify_user_id), + modify_time = values(modify_time), + sts = values(sts), + org_id = values(org_id), + company_id = values(company_id), + message_template_id = values(message_template_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_list = values(recipient_id_list) + + +update sys_warning_config set + + create_user_id = #{create_user_id}, + create_time = #{create_time}, + modify_user_id = #{modify_user_id}, + modify_time = #{modify_time}, + sts = #{sts}, + org_id = #{org_id}, + company_id = #{companyId}, + message_template_id = #{messageTemplateId}, + app_id_list = #{appIdList}, + warning_app_id = #{warningAppId}, + accept_message_api_code = #{acceptMessageApiCode}, + remark = #{remark}, + status = #{status}, + recipient_id_list = #{recipientIdList}, + +where id = #{id} + + + +update sys_warning_config set sts= 'N' ,modify_time = #{modify_time},modify_user_id = #{modify_user_id} +where id = #{id} + + + +update sys_warning_config set sts= 'N' ,modify_time = #{modify_time},modify_user_id = #{modify_user_id} + + and id = #{id} + and sorts = #{sorts} + and sts = #{sts} + and company_id = #{companyId} + and message_template_id = #{messageTemplateId} + 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_list = #{recipientIdList} + and sts='Y' + + + + + delete from sys_warning_config where id = #{id} + + + + diff --git a/service/src/main/java/com/hzya/frame/sysnew/warningConfig/service/ISysWarningConfigService.java b/service/src/main/java/com/hzya/frame/sysnew/warningConfig/service/ISysWarningConfigService.java new file mode 100644 index 00000000..618a0524 --- /dev/null +++ b/service/src/main/java/com/hzya/frame/sysnew/warningConfig/service/ISysWarningConfigService.java @@ -0,0 +1,29 @@ +package com.hzya.frame.sysnew.warningConfig.service; + +import com.alibaba.fastjson.JSONObject; +import com.hzya.frame.sysnew.warningConfig.entity.SysWarningConfigEntity; +import com.hzya.frame.basedao.service.IBaseService; +import com.hzya.frame.web.entity.JsonResultEntity; + +/** + * 预警配置表(SysWarningConfig)表服务接口 + * + * @author makejava + * @since 2024-09-03 09:28:23 + */ +public interface ISysWarningConfigService extends IBaseService{ + + JsonResultEntity queryEntityPage(JSONObject jsonObject); + + JsonResultEntity queryEntity(JSONObject jsonObject); + + JsonResultEntity saveEntity(JSONObject jsonObject); + + JsonResultEntity getEntity(JSONObject jsonObject); + + JsonResultEntity updateEntity(JSONObject jsonObject); + + JsonResultEntity deleteEntity(JSONObject jsonObject); + + JsonResultEntity enableDisableEntity(JSONObject jsonObject); +} diff --git a/service/src/main/java/com/hzya/frame/sysnew/warningConfig/service/impl/SysWarningConfigServiceImpl.java b/service/src/main/java/com/hzya/frame/sysnew/warningConfig/service/impl/SysWarningConfigServiceImpl.java new file mode 100644 index 00000000..32092216 --- /dev/null +++ b/service/src/main/java/com/hzya/frame/sysnew/warningConfig/service/impl/SysWarningConfigServiceImpl.java @@ -0,0 +1,407 @@ +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; +import org.springframework.beans.factory.annotation.Autowired; +import javax.annotation.Resource; +import com.hzya.frame.basedao.service.impl.BaseService; +import org.springframework.transaction.annotation.Transactional; + +import java.util.ArrayList; +import java.util.List; + +/** + * 预警配置表(SysWarningConfig)表服务实现类 + * + * @author makejava + * @since 2024-09-03 09:28:23 + */ +@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 + public void setSysWarningConfigDao(ISysWarningConfigDao dao) { + this.sysWarningConfigDao = dao; + this.dao = dao; + } + + @Override + public JsonResultEntity queryEntityPage(JSONObject jsonObject){ + SysWarningConfigEntity entity = getData("jsonStr", jsonObject, SysWarningConfigEntity.class); + if(entity == null || entity.getPageSize() == null || entity.getPageNum() == null){ + return BaseResult.getFailureMessageEntity("分页查询参数不存在"); + } + PageHelper.startPage(entity.getPageNum(), entity.getPageSize()); + List list = sysWarningConfigDao.queryByLike(entity); + //查询并记录应用名称、预警应用名称、接收者名称列表 + List resultList = queryNameList(list); + PageInfo pageInfo = new PageInfo(resultList); + return BaseResult.getSuccessMessageEntity("查询数据成功",pageInfo); + } + + @Override + public JsonResultEntity queryEntity(JSONObject jsonObject){ + SysWarningConfigEntity entity = getData("jsonStr", jsonObject, SysWarningConfigEntity.class); + if(entity == null){ + entity = new SysWarningConfigEntity(); + } + List list = sysWarningConfigDao.queryByLike(entity); + //查询并记录应用名称、预警应用名称、接收者名称列表 + List resultList = queryNameList(list); + return BaseResult.getSuccessMessageEntity("查询数据成功",resultList); + } + /**查询应用名称、预警应用名称、接收者名称列表*/ + + @Override + public JsonResultEntity getEntity(JSONObject jsonObject){ + SysWarningConfigEntity entity = getData("jsonStr", jsonObject, SysWarningConfigEntity.class); + if(entity == null){ + return BaseResult.getFailureMessageEntity("参数不允许为空"); + } + if(entity.getId() == null || "".equals(entity.getId())){ + return BaseResult.getFailureMessageEntity("系统错误"); + } + //查询主表信息 + entity = sysWarningConfigDao.get(entity.getId()); + if(entity == null){ + return BaseResult.getFailureMessageEntity("获取预警配置失败"); + } + List 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); + } + + @Transactional + @Override + public JsonResultEntity saveEntity(JSONObject jsonObject){ + 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); + } + + /** + * 删除主表时,同时删除子表数据*/ + @Transactional + @Override + public JsonResultEntity deleteEntity(JSONObject jsonObject) { + SysWarningConfigEntity entity = getData("jsonStr", jsonObject, SysWarningConfigEntity.class); + if (entity == null) { + return BaseResult.getFailureMessageEntity("参数不允许为空"); + } + if (entity.getId() == null || "".equals(entity.getId())) { + return BaseResult.getFailureMessageEntity("系统错误"); + } + //先删除子表中对应数据,在删除主表数据 + SysWarningInterfaceEntity interfaceEntity = new SysWarningInterfaceEntity(); + interfaceEntity.setWarningConfigId(entity.getId()); + sysWarningInterfaceDao.logicRemoveMultiCondition(interfaceEntity); + + entity.setUpdate(); + sysWarningConfigDao.logicRemove(entity); + + return BaseResult.getSuccessMessageEntity("删除预警配置成功"); + } + + @Override + public JsonResultEntity enableDisableEntity(JSONObject jsonObject){ + SysWarningConfigEntity entity = getData("jsonStr", jsonObject, SysWarningConfigEntity.class); + if (entity == null) { + return BaseResult.getFailureMessageEntity("参数不允许为空"); + } + if (entity.getId() == null || "".equals(entity.getId())) { + return BaseResult.getFailureMessageEntity("id不能为空"); + } + if (entity.getStatus() == null || "".equals(entity.getStatus())) { + return BaseResult.getFailureMessageEntity("状态不能为空"); + } + if(entity.getMessageTemplateId() == null || "".equals(entity.getMessageTemplateId())){ + return BaseResult.getFailureMessageEntity("消息模版id不允许为空"); + } + //0停用,1启用 + if("0".equals(entity.getStatus())){ + entity.setUpdate(); + sysWarningConfigDao.update(entity); + return BaseResult.getSuccessMessageEntity("停用模版成功"); + }else{ + //校验该预警设置的消息模版是否为启用状态 + SysMessageTemplateEntity templateEntity = sysMessageTemplateDao.get(entity.getMessageTemplateId()); + if(templateEntity == null){ + return BaseResult.getFailureMessageEntity("消息模版不存在"); + } + if(!"1".equals(templateEntity.getState())){ + return BaseResult.getFailureMessageEntity("该预警设置的消息模版未启用,请先启用"); + } + entity.setUpdate(); + sysWarningConfigDao.update(entity); + return BaseResult.getSuccessMessageEntity("启用模版成功"); + } + } + + public String checkRecipients(SysWarningConfigEntity entity){ + String recipientIds = entity.getRecipientIdList(); + String[] recipientIdList = recipientIds.split(","); + SysUserEntity userEntity = new SysUserEntity(); + + for(String recipientId : recipientIdList){ + String personName = sysPersonDao.get(recipientId).getPersonName(); + + userEntity.setPersonId(recipientId); + SysUserEntity usefulEntity = sysUserDao.queryOne(userEntity); + if(usefulEntity == null){ + return "接收人"+personName+"不存在账号"; + } + //预警应用只有一个的情况下 + switch (entity.getWarningAppId()){ + case "7ebc1702511f463d9cf50162973bf935": + String ddUserId = usefulEntity.getDdUserId(); + if(ddUserId == null || "".equals(ddUserId)){ + return "接收人"+personName+"未配置钉钉用户id"; + } + break; + default: + return "预警应用类型错误"; + } + } + return "success"; + } + + public List 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/service/src/main/java/com/hzya/frame/sysnew/warningInterface/dao/ISysWarningInterfaceDao.java b/service/src/main/java/com/hzya/frame/sysnew/warningInterface/dao/ISysWarningInterfaceDao.java new file mode 100644 index 00000000..61a64efa --- /dev/null +++ b/service/src/main/java/com/hzya/frame/sysnew/warningInterface/dao/ISysWarningInterfaceDao.java @@ -0,0 +1,18 @@ +package com.hzya.frame.sysnew.warningInterface.dao; + +import com.hzya.frame.sysnew.warningInterface.entity.SysWarningInterfaceEntity; +import com.hzya.frame.basedao.dao.IBaseDao; + +import java.util.List; + +/** + * 预警接口表(sys_warning_interface: table)表数据库访问层 + * + * @author makejava + * @since 2024-09-03 10:06:18 + */ +public interface ISysWarningInterfaceDao extends IBaseDao { + + List getWarningAppList(); +} + diff --git a/service/src/main/java/com/hzya/frame/sysnew/warningInterface/dao/impl/SysWarningInterfaceDaoImpl.java b/service/src/main/java/com/hzya/frame/sysnew/warningInterface/dao/impl/SysWarningInterfaceDaoImpl.java new file mode 100644 index 00000000..fdcbb1f2 --- /dev/null +++ b/service/src/main/java/com/hzya/frame/sysnew/warningInterface/dao/impl/SysWarningInterfaceDaoImpl.java @@ -0,0 +1,24 @@ +package com.hzya.frame.sysnew.warningInterface.dao.impl; + +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)表数据库访问层 + * + * @author makejava + * @since 2024-09-03 10:06:19 + */ +@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/service/src/main/java/com/hzya/frame/sysnew/warningInterface/entity/SysWarningInterfaceEntity.java b/service/src/main/java/com/hzya/frame/sysnew/warningInterface/entity/SysWarningInterfaceEntity.java new file mode 100644 index 00000000..c9abb5c7 --- /dev/null +++ b/service/src/main/java/com/hzya/frame/sysnew/warningInterface/entity/SysWarningInterfaceEntity.java @@ -0,0 +1,95 @@ +package com.hzya.frame.sysnew.warningInterface.entity; + +import java.util.Date; +import com.hzya.frame.web.entity.BaseEntity; +/** + * 预警接口表(SysWarningInterface)实体类 + * + * @author makejava + * @since 2024-09-03 10:06:19 + */ +public class SysWarningInterfaceEntity extends BaseEntity { + + /** 应用id */ + private String appId; + /** 应用名称 */ + private String appName; + /** 公司id */ + private String companyId; + /** api名称 */ + private String apiName; + /** api编码 */ + private Long apiCode; + /** 推送方式(1:推送一次、2:定时) */ + private String pushMethod; + /** 状态(0:停用、1:启用) */ + private String status; + /** 主表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; + } + + public void setCompanyId(String companyId) { + this.companyId = companyId; + } + + public String getApiName() { + return apiName; + } + + public void setApiName(String apiName) { + this.apiName = apiName; + } + + public Long getApiCode() { + return apiCode; + } + + public void setApiCode(Long apiCode) { + this.apiCode = apiCode; + } + + public String getPushMethod() { + return pushMethod; + } + + public void setPushMethod(String pushMethod) { + this.pushMethod = pushMethod; + } + + public String getStatus() { + return status; + } + + public void setStatus(String status) { + this.status = status; + } + + public String getWarningConfigId() { + return warningConfigId; + } + + public void setWarningConfigId(String warningConfigId) { + this.warningConfigId = warningConfigId; + } + +} + diff --git a/service/src/main/java/com/hzya/frame/sysnew/warningInterface/entity/SysWarningInterfaceEntity.xml b/service/src/main/java/com/hzya/frame/sysnew/warningInterface/entity/SysWarningInterfaceEntity.xml new file mode 100644 index 00000000..f43f9f82 --- /dev/null +++ b/service/src/main/java/com/hzya/frame/sysnew/warningInterface/entity/SysWarningInterfaceEntity.xml @@ -0,0 +1,281 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + id + ,sorts + ,create_user_id + ,create_time + ,modify_user_id + ,modify_time + ,sts + ,org_id + ,company_id + ,api_name + ,api_code + ,push_method + ,status + ,warning_config_id + ,app_id + + + + + + + + + + + + + + + + + + insert into sys_warning_interface( + + id , + sorts , + create_user_id , + create_time , + modify_user_id , + modify_time , + sts , + org_id , + company_id , + api_name , + api_code , + push_method , + status , + warning_config_id , + app_id , + sts, + + )values( + + #{id} , + #{sorts} , + #{create_user_id} , + #{create_time} , + #{modify_user_id} , + #{modify_time} , + #{sts} , + #{org_id} , + #{companyId} , + #{apiName} , + #{apiCode} , + #{pushMethod} , + #{status} , + #{warningConfigId} , + #{appId} , + 'Y', + + ) + + + + insert into sys_warning_interface(create_user_id, create_time, modify_user_id, modify_time, sts, org_id, company_id, api_name, api_code, push_method, status, warning_config_id, sts) + values + + (#{entity.create_user_id},#{entity.create_time},#{entity.modify_user_id},#{entity.modify_time},#{entity.sts},#{entity.org_id},#{entity.companyId},#{entity.apiName},#{entity.apiCode},#{entity.pushMethod},#{entity.status},#{entity.warningConfigId}, 'Y') + + + + + insert into sys_warning_interface(create_user_id, create_time, modify_user_id, modify_time, sts, org_id, company_id, api_name, api_code, push_method, status, warning_config_id) + values + + (#{entity.create_user_id},#{entity.create_time},#{entity.modify_user_id},#{entity.modify_time},#{entity.sts},#{entity.org_id},#{entity.companyId},#{entity.apiName},#{entity.apiCode},#{entity.pushMethod},#{entity.status},#{entity.warningConfigId}) + + on duplicate key update + create_user_id = values(create_user_id), + create_time = values(create_time), + modify_user_id = values(modify_user_id), + modify_time = values(modify_time), + sts = values(sts), + org_id = values(org_id), + company_id = values(company_id), + api_name = values(api_name), + api_code = values(api_code), + push_method = values(push_method), + status = values(status), + warning_config_id = values(warning_config_id) + + +update sys_warning_interface set + + create_user_id = #{create_user_id}, + create_time = #{create_time}, + modify_user_id = #{modify_user_id}, + modify_time = #{modify_time}, + sts = #{sts}, + org_id = #{org_id}, + company_id = #{companyId}, + api_name = #{apiName}, + api_code = #{apiCode}, + push_method = #{pushMethod}, + status = #{status}, + warning_config_id = #{warningConfigId}, + +where id = #{id} + + + +update sys_warning_interface set sts= 'N' ,modify_time = #{modify_time},modify_user_id = #{modify_user_id} +where id = #{id} + + + +update sys_warning_interface set sts= 'N' ,modify_time = #{modify_time},modify_user_id = #{modify_user_id} + + and id = #{id} + and sorts = #{sorts} + and sts = #{sts} + and company_id = #{companyId} + and api_name = #{apiName} + and api_code = #{apiCode} + and push_method = #{pushMethod} + and status = #{status} + and warning_config_id = #{warningConfigId} + and sts='Y' + + + + + delete from sys_warning_interface where id = #{id} + + + + diff --git a/service/src/main/java/com/hzya/frame/sysnew/warningInterface/service/ISysWarningInterfaceService.java b/service/src/main/java/com/hzya/frame/sysnew/warningInterface/service/ISysWarningInterfaceService.java new file mode 100644 index 00000000..b8514bc7 --- /dev/null +++ b/service/src/main/java/com/hzya/frame/sysnew/warningInterface/service/ISysWarningInterfaceService.java @@ -0,0 +1,31 @@ +package com.hzya.frame.sysnew.warningInterface.service; + +import com.alibaba.fastjson.JSONObject; +import com.hzya.frame.sysnew.warningInterface.entity.SysWarningInterfaceEntity; +import com.hzya.frame.basedao.service.IBaseService; +import com.hzya.frame.web.entity.JsonResultEntity; +import org.apache.ibatis.annotations.Select; + +/** + * 预警接口表(SysWarningInterface)表服务接口 + * + * @author makejava + * @since 2024-09-03 10:06:19 + */ +public interface ISysWarningInterfaceService extends IBaseService{ + JsonResultEntity queryEntityPage(JSONObject jsonObject); + + JsonResultEntity queryEntity(JSONObject jsonObject); + + JsonResultEntity queryWarningAppList(JSONObject jsonObject); + + JsonResultEntity saveEntity(JSONObject jsonObject); + + JsonResultEntity getEntity(JSONObject jsonObject); + + JsonResultEntity updateEntity(JSONObject jsonObject); + + JsonResultEntity deleteEntity(JSONObject jsonObject); + + JsonResultEntity enableDisableEntity(JSONObject jsonObject); +} diff --git a/service/src/main/java/com/hzya/frame/sysnew/warningInterface/service/impl/SysWarningInterfaceServiceImpl.java b/service/src/main/java/com/hzya/frame/sysnew/warningInterface/service/impl/SysWarningInterfaceServiceImpl.java new file mode 100644 index 00000000..60f37230 --- /dev/null +++ b/service/src/main/java/com/hzya/frame/sysnew/warningInterface/service/impl/SysWarningInterfaceServiceImpl.java @@ -0,0 +1,204 @@ +package com.hzya.frame.sysnew.warningInterface.service.impl; + +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.SysApplicationDto; +import com.hzya.frame.sysnew.application.entity.SysApplicationEntity; +import com.hzya.frame.sysnew.application.service.impl.ApplicationCache; +import com.hzya.frame.sysnew.sendMessageLog.dao.ISysSendMessageLogDao; +import com.hzya.frame.sysnew.sendMessageLog.entity.SysSendMessageLogEntity; +import com.hzya.frame.sysnew.warningConfig.entity.SysWarningConfigEntity; +import com.hzya.frame.sysnew.warningInterface.entity.SysWarningInterfaceEntity; +import com.hzya.frame.sysnew.warningInterface.dao.ISysWarningInterfaceDao; +import com.hzya.frame.sysnew.warningInterface.service.ISysWarningInterfaceService; +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.util.ArrayList; +import java.util.List; + +/** + * 预警接口表(SysWarningInterface)表服务实现类 + * + * @author makejava + * @since 2024-09-03 10:06:19 + */ +@Service(value = "sysWarningInterfaceService") +public class SysWarningInterfaceServiceImpl extends BaseService implements ISysWarningInterfaceService { + + private ISysWarningInterfaceDao sysWarningInterfaceDao; + + @Resource + private ISysApplicationDao sysApplicationDao; + + @Resource + private ISysSendMessageLogDao sysSendMessageLogDao; + + + @Autowired + public void setSysWarningInterfaceDao(ISysWarningInterfaceDao dao) { + this.sysWarningInterfaceDao = dao; + this.dao = dao; + } + + @Override + public JsonResultEntity queryEntityPage(JSONObject jsonObject){ + SysWarningInterfaceEntity entity = getData("jsonStr", jsonObject, SysWarningInterfaceEntity.class); + if(entity == null || entity.getPageNum() == null || entity.getPageSize() == null){ + return BaseResult.getFailureMessageEntity("分页查询参数不存在"); + } + PageHelper.startPage(entity.getPageNum(), entity.getPageSize()); + List list = sysWarningInterfaceDao.queryByLike(entity); + PageInfo pageInfo = new PageInfo<>(list); + return BaseResult.getSuccessMessageEntity("查询数据成功",pageInfo); + } + + @Override + public JsonResultEntity queryEntity(JSONObject jsonObject){ + SysWarningInterfaceEntity entity = getData("jsonStr", jsonObject, SysWarningInterfaceEntity.class); + if(entity == null){ + entity = new SysWarningInterfaceEntity(); + } + List list = sysWarningInterfaceDao.queryByLike(entity); + return BaseResult.getSuccessMessageEntity("查询数据成功",list); + } + + @Override + public JsonResultEntity getEntity(JSONObject jsonObject){ + SysWarningInterfaceEntity entity = getData("jsonStr", jsonObject, SysWarningInterfaceEntity.class); + if(entity == null){ + return BaseResult.getFailureMessageEntity("查询参数不存在"); + } + if(entity.getId() == null || "".equals(entity.getId())){ + return BaseResult.getFailureMessageEntity("系统错误"); + } + entity = sysWarningInterfaceDao.get(entity.getId()); + if(entity == null){ + return BaseResult.getFailureMessageEntity("获取预警接口失败"); + } + return BaseResult.getSuccessMessageEntity("获取预警接口成功",entity); + } + + @Override + public JsonResultEntity saveEntity(JSONObject jsonObject){ + SysWarningInterfaceEntity entity = getData("jsonStr", jsonObject, SysWarningInterfaceEntity.class); + if(entity == null){ + return BaseResult.getFailureMessageEntity("未传入保存参数"); + } + if(entity.getApiCode() == null || "".equals(entity.getApiCode())){ + return BaseResult.getFailureMessageEntity("接口编码不能为空"); + } + if(entity.getPushMethod() == null || "".equals(entity.getPushMethod())){ + return BaseResult.getFailureMessageEntity("推送方式不能为空"); + } + if(entity.getStatus() == null || "".equals(entity.getStatus())){ + return BaseResult.getFailureMessageEntity("状态不能为空"); + } + if(entity.getWarningConfigId() == null || "".equals(entity.getWarningConfigId())){ + return BaseResult.getFailureMessageEntity("预警配置id不能为空"); + } + entity.setCreate(); + sysWarningInterfaceDao.save(entity); + return BaseResult.getSuccessMessageEntity("保存预警接口成功",entity); + } + + @Override + public JsonResultEntity updateEntity(JSONObject jsonObject){ + SysWarningInterfaceEntity entity = getData("jsonStr", jsonObject, SysWarningInterfaceEntity.class); + if(entity == null){ + return BaseResult.getFailureMessageEntity("查询参数不存在"); + } + if(entity.getId() == null || "".equals(entity.getId())){ + return BaseResult.getFailureMessageEntity("系统错误"); + } + if(entity.getApiCode() == null || "".equals(entity.getApiCode())){ + return BaseResult.getFailureMessageEntity("接口编码不能为空"); + } + if(entity.getPushMethod() == null || "".equals(entity.getPushMethod())){ + return BaseResult.getFailureMessageEntity("推送方式不能为空"); + } + if(entity.getStatus() == null || "".equals(entity.getStatus())){ + return BaseResult.getFailureMessageEntity("状态不能为空"); + } + if(entity.getWarningConfigId() == null || "".equals(entity.getWarningConfigId())){ + return BaseResult.getFailureMessageEntity("预警配置id不能为空"); + } + entity.setUpdate(); + sysWarningInterfaceDao.update(entity); + return BaseResult.getSuccessMessageEntity("修改预警接口成功",entity); + } + + @Override + public JsonResultEntity deleteEntity(JSONObject jsonObject){ + SysWarningInterfaceEntity entity = getData("jsonStr", jsonObject, SysWarningInterfaceEntity.class); + if(entity == null){ + return BaseResult.getFailureMessageEntity("查询参数不存在"); + } + if(entity.getId() == null || "".equals(entity.getId())){ + return BaseResult.getFailureMessageEntity("系统错误"); + } + entity.setUpdate(); + sysWarningInterfaceDao.logicRemove(entity); + + return BaseResult.getSuccessMessageEntity("删除预警接口成功"); + } + + @Override + public JsonResultEntity enableDisableEntity(JSONObject jsonObject) { + SysWarningInterfaceEntity entity = getData("jsonStr", jsonObject, SysWarningInterfaceEntity.class); + if (entity == null) { + return BaseResult.getFailureMessageEntity("参数不允许为空"); + } + if (entity.getId() == null || "".equals(entity.getId())) { + return BaseResult.getFailureMessageEntity("系统错误"); + } + if (entity.getStatus() == null || "".equals(entity.getStatus())) { + return BaseResult.getFailureMessageEntity("系统错误"); + } + //0停用,1启用 + if("0".equals(entity.getStatus())){ + entity.setUpdate(); + sysWarningInterfaceDao.update(entity); + return BaseResult.getSuccessMessageEntity("停用预警接口成功"); + }else{ + //停用消息模版 + entity.setUpdate(); + sysWarningInterfaceDao.update(entity); + return BaseResult.getSuccessMessageEntity("启用预警接口成功"); + } + + } + + /**查询已经配置了预警的应用列表,并返回应用列表及其未读消息数*/ + @Override + public JsonResultEntity queryWarningAppList(JSONObject jsonObject){ + List appIdList = sysWarningInterfaceDao.getWarningAppList(); + List appList = new ArrayList<>(); + for (SysWarningInterfaceEntity entity : appIdList) { + if (entity == null) { + continue; + } + String appId = entity.getAppId(); + SysApplicationEntity app = sysApplicationDao.get(appId); + if (app == null) { + continue; + } + SysSendMessageLogEntity logEntity = new SysSendMessageLogEntity(); + logEntity.setAppId(appId); + logEntity.setState(0); + List list = sysSendMessageLogDao.queryByLike(logEntity); + app.setNewMessageCount(list.size()); + if (app != null) { + appList.add(app); + } + } + return BaseResult.getSuccessMessageEntity("查询预警应用列表成功",appList); + } + +} diff --git a/service/src/main/java/com/hzya/frame/u8c/Encapsulation/dao/IEncapsulationDao.java b/service/src/main/java/com/hzya/frame/u8c/Encapsulation/dao/IEncapsulationDao.java new file mode 100644 index 00000000..77f0a933 --- /dev/null +++ b/service/src/main/java/com/hzya/frame/u8c/Encapsulation/dao/IEncapsulationDao.java @@ -0,0 +1,19 @@ +package com.hzya.frame.u8c.Encapsulation.dao; + + +import com.hzya.frame.basedao.dao.IBaseDao; +import com.hzya.frame.u8c.Encapsulation.entity.EncapsulationEntity; + +import java.util.List; + +/** + * (bd_corp: table)表数据库访问层 + * + * @author makejava + * @since 2023-09-06 14:47:17 + */ +public interface IEncapsulationDao extends IBaseDao { + + List queryCgrkddh(EncapsulationEntity encapsulationEntity); +} + diff --git a/service/src/main/java/com/hzya/frame/u8c/Encapsulation/dao/impl/EncapsulationDaoImpl.java b/service/src/main/java/com/hzya/frame/u8c/Encapsulation/dao/impl/EncapsulationDaoImpl.java new file mode 100644 index 00000000..eff12797 --- /dev/null +++ b/service/src/main/java/com/hzya/frame/u8c/Encapsulation/dao/impl/EncapsulationDaoImpl.java @@ -0,0 +1,32 @@ +package com.hzya.frame.u8c.Encapsulation.dao.impl; + +import com.baomidou.dynamic.datasource.annotation.DS; +import com.hzya.frame.basedao.dao.MybatisGenericDao; +import com.hzya.frame.grpU8.dictAcctSubj.entity.DictAcctSubjEntity; +import com.hzya.frame.grpU8.dictAcctSubj.entity.DictAcctSubjEntityVo; +import com.hzya.frame.u8c.Encapsulation.dao.IEncapsulationDao; +import com.hzya.frame.u8c.Encapsulation.entity.EncapsulationEntity; +import org.springframework.stereotype.Repository; + +import java.util.List; + + +/** + * (BdCorp)表数据库访问层 + * + * @author makejava + * @since 2023-09-06 14:47:17 + */ +@Repository("encapsulationDaoImpl") +public class EncapsulationDaoImpl extends MybatisGenericDao implements IEncapsulationDao { + + @DS("#entity.dataSourceCode") + @Override + public List queryCgrkddh(EncapsulationEntity entity) { + List o = (List) super.selectList(getSqlIdPrifx() + "queryCgrkddh", entity); + return o; + } + + +} + diff --git a/service/src/main/java/com/hzya/frame/u8c/Encapsulation/entity/EncapsulationEntity.java b/service/src/main/java/com/hzya/frame/u8c/Encapsulation/entity/EncapsulationEntity.java new file mode 100644 index 00000000..8dfd22a0 --- /dev/null +++ b/service/src/main/java/com/hzya/frame/u8c/Encapsulation/entity/EncapsulationEntity.java @@ -0,0 +1,53 @@ +package com.hzya.frame.u8c.Encapsulation.entity; + +import com.hzya.frame.web.entity.BaseEntity; + +/** + * (BdCorp)实体类 + * + * @author makejava + * @since 2023-09-06 14:47:18 + */ +public class EncapsulationEntity extends BaseEntity { + //单据号 + private String code; + //来源单据类型 + private String type; + //公司 + private String unitcode; + //单据类型 + private String cbilltypecode; + + public String getCode() { + return code; + } + + public void setCode(String code) { + this.code = code; + } + + public String getType() { + return type; + } + + public void setType(String type) { + this.type = type; + } + + public String getCbilltypecode() { + return cbilltypecode; + } + + public void setCbilltypecode(String cbilltypecode) { + this.cbilltypecode = cbilltypecode; + } + + public String getUnitcode() { + return unitcode; + } + + public void setUnitcode(String unitcode) { + this.unitcode = unitcode; + } +} + diff --git a/service/src/main/java/com/hzya/frame/u8c/Encapsulation/entity/EncapsulationEntity.xml b/service/src/main/java/com/hzya/frame/u8c/Encapsulation/entity/EncapsulationEntity.xml new file mode 100644 index 00000000..1933d3d3 --- /dev/null +++ b/service/src/main/java/com/hzya/frame/u8c/Encapsulation/entity/EncapsulationEntity.xml @@ -0,0 +1,23 @@ + + + + + + + + + diff --git a/service/src/main/java/com/hzya/frame/u8c/Encapsulation/service/IEncapsulationService.java b/service/src/main/java/com/hzya/frame/u8c/Encapsulation/service/IEncapsulationService.java new file mode 100644 index 00000000..c6605b4a --- /dev/null +++ b/service/src/main/java/com/hzya/frame/u8c/Encapsulation/service/IEncapsulationService.java @@ -0,0 +1,104 @@ +package com.hzya.frame.u8c.Encapsulation.service; + +import com.alibaba.fastjson.JSONObject; +import com.hzya.frame.basedao.service.IBaseService; +import com.hzya.frame.sysnew.application.entity.SysExtensionApiEntity; +import com.hzya.frame.u8c.Encapsulation.entity.EncapsulationEntity; + +/** + * (BdCorp)表服务接口 + * + * @author makejava + * @since 2023-09-06 14:47:18 + */ +public interface IEncapsulationService extends IBaseService { + /** + * @Author lvleigang + * @Description 采购订单删除接口 + * 0、根据采购订单号查询入库单号,1、库存采购入库单取消签字,2、库存采购入库单删除,3、采购订单弃审,4、采购订单删除 + * @Date 9:44 上午 2024/9/4 + * @param jsonObject + * @return java.lang.Object + **/ + Object purchaseOrderDelete(JSONObject jsonObject); + SysExtensionApiEntity addPurchaseOrderDelete(SysExtensionApiEntity jsonObject); + + /** + * @Author lvleigang + * @Description 采购入库单删除接口 + * 1、库存采购入库单取消签字,2、库存采购入库单删除 + * @Date 9:44 上午 2024/9/4 + * @param jsonObject + * @return java.lang.Object + **/ + Object purchaseWarehousingDelete(JSONObject jsonObject); + SysExtensionApiEntity addPurchaseWarehousingDelete(SysExtensionApiEntity jsonObject); + + /** + * @Author lvleigang + * @Description 销售订单删除接口 + * 0、根据销售钉订单号查询出销售出库单号,1、库存销售出库单取消签字,2、库存销售出库单删除,3、销售订单取消审批,4、销售订单删除 + * @Date 9:44 上午 2024/9/4 + * @param jsonObject + * @return java.lang.Object + **/ + Object salesOrderDelete(JSONObject jsonObject); + SysExtensionApiEntity addSalesOrderDelete(SysExtensionApiEntity jsonObject); + + /** + * @Author lvleigang + * @Description 调拨订单删除接口 + * 0、根据调拨订单号查询调拨入库,调拨出库单据,1、库存调拨出库取消签字 2、库存调拨出库删除 3、调拨入库取消签字 4、调拨入库删除 5、调拨订单弃审 6、调拨订单删除 + * @Date 9:44 上午 2024/9/4 + * @param jsonObject + * @return java.lang.Object + **/ + Object transferOrderDelete(JSONObject jsonObject); + SysExtensionApiEntity addTransferOrderDelete(SysExtensionApiEntity jsonObject); + + /** + * @Author lvleigang + * @Description 产成品入库删除接口 + * 1、库存产成品入库单取消签字 2、库存产成品入库单删除 + * @Date 9:44 上午 2024/9/4 + * @param jsonObject + * @return java.lang.Object + **/ + Object finishedProductsAreStoredDelete(JSONObject jsonObject); + SysExtensionApiEntity addFinishedProductsAreStoredDelete(SysExtensionApiEntity jsonObject); + + /** + * @Author lvleigang + * @Description 材料出库删除接口 + * 1、库存材料出库取消签字 2、库存材料出库单删除 + * @Date 9:44 上午 2024/9/4 + * @param jsonObject + * @return java.lang.Object + **/ + Object materialDeliveryDelete(JSONObject jsonObject); + SysExtensionApiEntity addMaterialDeliveryDelete(SysExtensionApiEntity jsonObject); + + /** + * @Author lvleigang + * @Description 其他出库单删除接口 + * 1、库存其他出库取消签字 2、库存其他出库删除 + * @Date 9:44 上午 2024/9/4 + * @param jsonObject + * @return java.lang.Object + **/ + Object otherWarehouseOrdersDelete(JSONObject jsonObject); + SysExtensionApiEntity addOtherWarehouseOrdersDelete(SysExtensionApiEntity jsonObject); + + /** + * @Author lvleigang + * @Description 其他入库单删除接口 + * 1、库存其他入库单取消签字. 2、库存其他入库删除 + * @Date 9:44 上午 2024/9/4 + * @param jsonObject + * @return java.lang.Object + **/ + Object otherWarehouseReceiptDelete(JSONObject jsonObject); + SysExtensionApiEntity addOtherWarehouseReceiptDelete(SysExtensionApiEntity jsonObject); + + +} diff --git a/service/src/main/java/com/hzya/frame/u8c/Encapsulation/service/impl/EncapsulationImpl.java b/service/src/main/java/com/hzya/frame/u8c/Encapsulation/service/impl/EncapsulationImpl.java new file mode 100644 index 00000000..47f23d0b --- /dev/null +++ b/service/src/main/java/com/hzya/frame/u8c/Encapsulation/service/impl/EncapsulationImpl.java @@ -0,0 +1,1320 @@ +package com.hzya.frame.u8c.Encapsulation.service.impl; + +import cn.hutool.json.JSONUtil; +import com.alibaba.fastjson.JSONObject; +import com.hzya.frame.basedao.service.impl.BaseService; +import com.hzya.frame.sysnew.application.database.dao.ISysApplicationDatabaseDao; +import com.hzya.frame.sysnew.application.database.entity.SysApplicationDatabaseEntity; +import com.hzya.frame.sysnew.application.entity.SysApplicationEntity; +import com.hzya.frame.sysnew.application.entity.SysExtensionApiEntity; +import com.hzya.frame.u8c.Encapsulation.dao.IEncapsulationDao; +import com.hzya.frame.u8c.Encapsulation.entity.EncapsulationEntity; +import com.hzya.frame.u8c.Encapsulation.service.IEncapsulationService; +import org.apache.http.HttpEntity; +import org.apache.http.client.config.RequestConfig; +import org.apache.http.client.methods.CloseableHttpResponse; +import org.apache.http.client.methods.HttpPost; +import org.apache.http.entity.ByteArrayEntity; +import org.apache.http.impl.client.CloseableHttpClient; +import org.apache.http.impl.client.HttpClientBuilder; +import org.apache.http.util.EntityUtils; +import org.springframework.beans.factory.annotation.Value; +import org.springframework.stereotype.Service; +import org.springframework.beans.factory.annotation.Autowired; + +import javax.annotation.Resource; +import java.io.IOException; +import java.util.List; +import java.util.Map; + +/** + * (BdCorp)表服务实现类 + * + * @author makejava + * @since 2023-09-06 14:47:18 + */ +@Service("encapsulationImpl") +public class EncapsulationImpl extends BaseService implements IEncapsulationService { + + private IEncapsulationDao encapsulationDao; + + @Autowired + public void setEncapsulationDao(IEncapsulationDao dao) { + this.encapsulationDao = dao; + this.dao = dao; + } + @Resource + private ISysApplicationDatabaseDao sysApplicationDatabaseDao; + @Value("${zt.url}") + private String ztUrl; + private final Object lock = new Object(); + + /** + * @param object + * @return java.lang.Object + * @Author lvleigang + * @Description 采购订单删除接口 8000350080 + * 0、根据采购订单号查询入库单号,1、库存采购入库单取消签字 8000350061,2、库存采购入库单删除 8000350058,3、采购订单弃审 8000350059,4、采购订单删除 8000350056 + * + * @Date 9:44 上午 2024/9/4 + **/ + @Override + public Object purchaseOrderDelete(JSONObject object) { + JSONObject returnObject = new JSONObject(); + + JSONObject jsonObject = getData("jsonStr", object, JSONObject.class); + //判断是否存在参数 + if (!checkStr(jsonObject.getString("code"))) { + returnObject.put("status", "falied"); + returnObject.put("errormsg", "单据号为空"); + return returnObject; + } + if (!checkStr(jsonObject.getString("corp"))) { + returnObject.put("status", "falied"); + returnObject.put("errormsg", "公司为空"); + return returnObject; + } + if (!checkStr(jsonObject.getString("date_begin"))) { + returnObject.put("status", "falied"); + returnObject.put("errormsg", "单据开始日期为空"); + return returnObject; + } + if (!checkStr(jsonObject.getString("date_end"))) { + returnObject.put("status", "falied"); + returnObject.put("errormsg", "单据结束日期为空"); + return returnObject; + } + if (!checkStr(jsonObject.getString("coperator"))) { + returnObject.put("status", "falied"); + returnObject.put("errormsg", "操作员为空"); + return returnObject; + } + + if (!checkStr(jsonObject.getString("cgrkqxqz"))) { + returnObject.put("status", "falied"); + returnObject.put("errormsg", "库存采购入库单取消签字接口编号为空"); + return returnObject; + } + if (!checkStr(jsonObject.getString("cgrksc"))) { + returnObject.put("status", "falied"); + returnObject.put("errormsg", "库存采购入库单删除接口编号为空"); + return returnObject; + } + if (!checkStr(jsonObject.getString("cgddqs"))) { + returnObject.put("status", "falied"); + returnObject.put("errormsg", "采购订单弃审接口编号为空"); + return returnObject; + } + if (!checkStr(jsonObject.getString("cgddsc"))) { + returnObject.put("status", "falied"); + returnObject.put("errormsg", "采购订单删除接口编号为空"); + return returnObject; + } + + if (!checkStr(jsonObject.getString("dataSourceCode"))) { + returnObject.put("status", "falied"); + returnObject.put("errormsg", "数据源编码为空"); + return returnObject; + } + if (!checkStr(jsonObject.getString("publicKey"))) { + returnObject.put("status", "falied"); + returnObject.put("errormsg", "publicKey为空"); + return returnObject; + } + if (!checkStr(jsonObject.getString("secretKey"))) { + returnObject.put("status", "falied"); + returnObject.put("errormsg", "secretKey为空"); + return returnObject; + } + //根据采购订单号查询入库单号 + EncapsulationEntity encapsulationEntity = new EncapsulationEntity(); + encapsulationEntity.setCode(jsonObject.getString("code")); + encapsulationEntity.setDataSourceCode(jsonObject.getString("dataSourceCode")); + encapsulationEntity.setType("21"); + List encapsulationEntities = encapsulationDao.queryCgrkddh(encapsulationEntity); + if(encapsulationEntities == null || encapsulationEntities.size() != 1){ + returnObject.put("status", "falied"); + returnObject.put("errormsg", "查到多条采购入库单"); + return returnObject; + } + //执行库存采购入库单取消签字接口 + String cgrkdqxqz = getsendBody("1", jsonObject, encapsulationEntities.get(0).getCode(),encapsulationEntities.get(0).getUnitcode()); + boolean cgrkdqxqzflag = sendPost(jsonObject.getString("publicKey"), jsonObject.getString("secretKey"), jsonObject.getString("cgrkqxqz"), jsonObject.getString("cgrkqxqz").substring(0,6), cgrkdqxqz); + if (!cgrkdqxqzflag) { + returnObject.put("status", "falied"); + returnObject.put("errormsg", "采购入库单取消签字失败"); + return returnObject; + } + //执行库存采购入库单删除 + String cgrkdsc = getsendBody("2", jsonObject, encapsulationEntities.get(0).getCode(),encapsulationEntities.get(0).getUnitcode()); + boolean cgrkdscfiag = sendPost(jsonObject.getString("publicKey"), jsonObject.getString("secretKey"), jsonObject.getString("cgrksc"), jsonObject.getString("cgrksc").substring(0,6), cgrkdsc); + if (!cgrkdscfiag) { + returnObject.put("status", "falied"); + returnObject.put("errormsg", "采购入库单删除失败"); + return returnObject; + } + //执行采购订单弃审 + String cgddqs = getsendBody("3", jsonObject, jsonObject.getString("code"), jsonObject.getString("corp")); + boolean cgddqsflag = sendPost(jsonObject.getString("publicKey"), jsonObject.getString("secretKey"), jsonObject.getString("cgddqs"), jsonObject.getString("cgddqs").substring(0,6), cgddqs); + if (!cgddqsflag) { + returnObject.put("status", "falied"); + returnObject.put("errormsg", "采购订单弃审失败"); + return returnObject; + } + //执行采购订单删除 + String cgddsc = getsendBody("4", jsonObject, jsonObject.getString("code"), jsonObject.getString("corp")); + boolean cgddscflag = sendPost(jsonObject.getString("publicKey"), jsonObject.getString("secretKey"), jsonObject.getString("cgddsc"), jsonObject.getString("cgddsc").substring(0,6), cgddsc); + if (cgddscflag) { + returnObject.put("status", "success"); + returnObject.put("errormsg", "采购订单删除成功"); + return returnObject; + } else { + returnObject.put("status", "falied"); + returnObject.put("errormsg", "采购订单删除失败"); + return returnObject; + } + } + /** + * @param entity + * @return com.hzya.frame.web.entity.JsonResultEntity + * @Author lvleigang + * @Description 数据表 + * @Date 11:52 上午 2024/3/27 + **/ + @Override + public SysExtensionApiEntity addPurchaseOrderDelete(SysExtensionApiEntity entity) { + try { + Map headers = entity.getHeaders(); + SysApplicationEntity applicationEntity = entity.getReceiveApp(); + SysApplicationDatabaseEntity sysApplicationDatabaseEntity = new SysApplicationDatabaseEntity(); + sysApplicationDatabaseEntity.setSts("Y"); + sysApplicationDatabaseEntity.setDbStatus("1"); + sysApplicationDatabaseEntity.setAppId(applicationEntity.getId()); + sysApplicationDatabaseEntity.setDataSourceCode("master"); + List sysDataSourceEntities = sysApplicationDatabaseDao.queryDSBase(sysApplicationDatabaseEntity); + if(sysDataSourceEntities != null && sysDataSourceEntities.size() > 0){ + String parm = entity.getBodys(); + JSONObject jsonObject = JSONObject.parseObject(parm); + jsonObject.put("dataSourceCode",sysDataSourceEntities.get(0).getSourceCode()); + jsonObject.put("publicKey",entity.getSendApp().getPublicKey()); + jsonObject.put("secretKey",entity.getSendApp().getSecretKey()); + + jsonObject.put("cgrkqxqz",headers.get("cgrkqxqz")); + jsonObject.put("cgrksc",headers.get("cgrksc")); + jsonObject.put("cgddqs",headers.get("cgddqs")); + jsonObject.put("cgddsc",headers.get("cgddsc")); + entity.setBodys(jsonObject.toJSONString()); + } + } catch (Exception e) { + e.printStackTrace(); + } + return entity; + } + /** + * @param object + * @return java.lang.Object + * @Author lvleigang + * @Description 采购入库单删除接口 8000350081 + * 1、库存采购入库单取消签字 8000350061,2、库存采购入库单删除 8000350058 + * @Date 9:44 上午 2024/9/4 + **/ + @Override + public Object purchaseWarehousingDelete(JSONObject object) { + JSONObject returnObject = new JSONObject(); + + JSONObject jsonObject = getData("jsonStr", object, JSONObject.class); + //判断是否存在参数 + if (!checkStr(jsonObject.getString("code"))) { + returnObject.put("status", "falied"); + returnObject.put("errormsg", "单据号为空"); + return returnObject; + } + if (!checkStr(jsonObject.getString("corp"))) { + returnObject.put("status", "falied"); + returnObject.put("errormsg", "公司为空"); + return returnObject; + } + if (!checkStr(jsonObject.getString("date_begin"))) { + returnObject.put("status", "falied"); + returnObject.put("errormsg", "单据开始日期为空"); + return returnObject; + } + if (!checkStr(jsonObject.getString("date_end"))) { + returnObject.put("status", "falied"); + returnObject.put("errormsg", "单据结束日期为空"); + return returnObject; + } + if (!checkStr(jsonObject.getString("coperator"))) { + returnObject.put("status", "falied"); + returnObject.put("errormsg", "操作员为空"); + return returnObject; + } + if (!checkStr(jsonObject.getString("cgrkqxqz"))) { + returnObject.put("status", "falied"); + returnObject.put("errormsg", "库存采购入库单取消签字接口编号为空"); + return returnObject; + } + if (!checkStr(jsonObject.getString("cgrksc"))) { + returnObject.put("status", "falied"); + returnObject.put("errormsg", "库存采购入库单删除接口编号为空"); + return returnObject; + } + if (!checkStr(jsonObject.getString("dataSourceCode"))) { + returnObject.put("status", "falied"); + returnObject.put("errormsg", "数据源编码为空"); + return returnObject; + } + if (!checkStr(jsonObject.getString("publicKey"))) { + returnObject.put("status", "falied"); + returnObject.put("errormsg", "publicKey为空"); + return returnObject; + } + if (!checkStr(jsonObject.getString("secretKey"))) { + returnObject.put("status", "falied"); + returnObject.put("errormsg", "secretKey为空"); + return returnObject; + } + //执行库存采购入库单取消签字接口 + String cgrkdqxqz = getsendBody("1", jsonObject, jsonObject.getString("code"), jsonObject.getString("corp")); + boolean cgrkdqxqzflag = sendPost(jsonObject.getString("publicKey"), jsonObject.getString("secretKey"), jsonObject.getString("cgrkqxqz"), jsonObject.getString("cgrkqxqz").substring(0,6), cgrkdqxqz); + if (!cgrkdqxqzflag) { + returnObject.put("status", "falied"); + returnObject.put("errormsg", "采购入库单取消签字失败"); + return returnObject; + } + + //执行库存采购入库单删除接口 + String cgrkdsc = getsendBody("2", jsonObject, jsonObject.getString("code"), jsonObject.getString("corp")); + boolean cgrkdscfiag = sendPost(jsonObject.getString("publicKey"), jsonObject.getString("secretKey"), jsonObject.getString("cgrksc"), jsonObject.getString("cgrksc").substring(0,6), cgrkdsc); + if (cgrkdscfiag) { + returnObject.put("status", "success"); + returnObject.put("errormsg", "采购入库单删除成功"); + return returnObject; + } else { + returnObject.put("status", "falied"); + returnObject.put("errormsg", "采购入库单删除失败"); + return returnObject; + } + } + /** + * @param entity + * @return com.hzya.frame.web.entity.JsonResultEntity + * @Author lvleigang + * @Description 数据表 + * @Date 11:52 上午 2024/3/27 + **/ + @Override + public SysExtensionApiEntity addPurchaseWarehousingDelete(SysExtensionApiEntity entity) { + try { + Map headers = entity.getHeaders(); + SysApplicationEntity applicationEntity = entity.getReceiveApp(); + SysApplicationDatabaseEntity sysApplicationDatabaseEntity = new SysApplicationDatabaseEntity(); + sysApplicationDatabaseEntity.setSts("Y"); + sysApplicationDatabaseEntity.setDbStatus("1"); + sysApplicationDatabaseEntity.setAppId(applicationEntity.getId()); + sysApplicationDatabaseEntity.setDataSourceCode("master"); + List sysDataSourceEntities = sysApplicationDatabaseDao.queryDSBase(sysApplicationDatabaseEntity); + if(sysDataSourceEntities != null && sysDataSourceEntities.size() > 0){ + String parm = entity.getBodys(); + JSONObject jsonObject = JSONObject.parseObject(parm); + jsonObject.put("dataSourceCode",sysDataSourceEntities.get(0).getSourceCode()); + jsonObject.put("publicKey",entity.getSendApp().getPublicKey()); + jsonObject.put("secretKey",entity.getSendApp().getSecretKey()); + + jsonObject.put("cgrkqxqz",headers.get("cgrkqxqz")); + jsonObject.put("cgrksc",headers.get("cgrksc")); + entity.setBodys(jsonObject.toJSONString()); + } + } catch (Exception e) { + e.printStackTrace(); + } + return entity; + } + /** + * @param object + * @return java.lang.Object + * @Author lvleigang + * @Description 销售订单删除接口 8000350082 + * 0、根据销售钉订单号查询出销售出库单号,1、库存销售出库单取消签字 8000350062 ,2、库存销售出库单删除 8000350063 ,3、销售订单取消审批 8000350064 ,4、销售订单删除 8000350065 + * @Date 9:44 上午 2024/9/4 + **/ + @Override + public Object salesOrderDelete(JSONObject object) { + JSONObject returnObject = new JSONObject(); + + JSONObject jsonObject = getData("jsonStr", object, JSONObject.class); + //判断是否存在参数 + if (!checkStr(jsonObject.getString("code"))) { + returnObject.put("status", "falied"); + returnObject.put("errormsg", "单据号为空"); + return returnObject; + } + if (!checkStr(jsonObject.getString("corp"))) { + returnObject.put("status", "falied"); + returnObject.put("errormsg", "公司为空"); + return returnObject; + } + if (!checkStr(jsonObject.getString("date_begin"))) { + returnObject.put("status", "falied"); + returnObject.put("errormsg", "单据开始日期为空"); + return returnObject; + } + if (!checkStr(jsonObject.getString("date_end"))) { + returnObject.put("status", "falied"); + returnObject.put("errormsg", "单据结束日期为空"); + return returnObject; + } + if (!checkStr(jsonObject.getString("coperator"))) { + returnObject.put("status", "falied"); + returnObject.put("errormsg", "操作员为空"); + return returnObject; + } + + if (!checkStr(jsonObject.getString("kcxsckqxqz"))) { + returnObject.put("status", "falied"); + returnObject.put("errormsg", "库存销售出库单取消签字接口编号为空"); + return returnObject; + } + if (!checkStr(jsonObject.getString("kcxscksc"))) { + returnObject.put("status", "falied"); + returnObject.put("errormsg", "库存销售出库单删除接口编号为空"); + return returnObject; + } + if (!checkStr(jsonObject.getString("xsddqxsp"))) { + returnObject.put("status", "falied"); + returnObject.put("errormsg", "销售订单取消审批接口编号为空"); + return returnObject; + } + if (!checkStr(jsonObject.getString("xsddsc"))) { + returnObject.put("status", "falied"); + returnObject.put("errormsg", "销售订单删除接口编号为空"); + return returnObject; + } + + if (!checkStr(jsonObject.getString("dataSourceCode"))) { + returnObject.put("status", "falied"); + returnObject.put("errormsg", "数据源编码为空"); + return returnObject; + } + if (!checkStr(jsonObject.getString("publicKey"))) { + returnObject.put("status", "falied"); + returnObject.put("errormsg", "publicKey为空"); + return returnObject; + } + if (!checkStr(jsonObject.getString("secretKey"))) { + returnObject.put("status", "falied"); + returnObject.put("errormsg", "secretKey为空"); + return returnObject; + } + //根据销售钉订单号查询出销售出库单号 + EncapsulationEntity encapsulationEntity = new EncapsulationEntity(); + encapsulationEntity.setCode(jsonObject.getString("code")); + encapsulationEntity.setDataSourceCode(jsonObject.getString("dataSourceCode")); + encapsulationEntity.setType("30"); + List encapsulationEntities = encapsulationDao.queryCgrkddh(encapsulationEntity); + if(encapsulationEntities == null || encapsulationEntities.size() != 1){ + returnObject.put("status", "falied"); + returnObject.put("errormsg", "查到多条销售出库单"); + return returnObject; + } + //库存销售出库单取消签字, + String cgrkdqxqz = getsendBody("1", jsonObject, encapsulationEntities.get(0).getCode(), encapsulationEntities.get(0).getUnitcode()); + boolean cgrkdqxqzflag = sendPost(jsonObject.getString("publicKey"), jsonObject.getString("secretKey"), jsonObject.getString("kcxsckqxqz"), jsonObject.getString("kcxsckqxqz").substring(0,6), cgrkdqxqz); + if (!cgrkdqxqzflag) { + returnObject.put("status", "falied"); + returnObject.put("errormsg", "库存销售出库单取消签字失败"); + return returnObject; + } + //库存销售出库单删除 + String cgrkdsc = getsendBody("2", jsonObject, encapsulationEntities.get(0).getCode(), encapsulationEntities.get(0).getUnitcode()); + boolean cgrkdscfiag = sendPost(jsonObject.getString("publicKey"), jsonObject.getString("secretKey"), jsonObject.getString("kcxscksc"), jsonObject.getString("kcxscksc").substring(0,6), cgrkdsc); + if (!cgrkdscfiag) { + returnObject.put("status", "falied"); + returnObject.put("errormsg", "库存销售出库单删除失败"); + return returnObject; + } + //销售订单取消审批,, + String cgddqs = getsendBody("3", jsonObject, jsonObject.getString("code"), jsonObject.getString("corp")); + boolean cgddqsflag = sendPost(jsonObject.getString("publicKey"), jsonObject.getString("secretKey"), jsonObject.getString("xsddqxsp"), jsonObject.getString("xsddqxsp").substring(0,6), cgddqs); + if (!cgddqsflag) { + returnObject.put("status", "falied"); + returnObject.put("errormsg", "销售订单取消审批失败"); + return returnObject; + } + //销售订单删除 + String cgddsc = getsendBody("4", jsonObject, jsonObject.getString("code"), jsonObject.getString("corp")); + boolean cgddscflag = sendPost(jsonObject.getString("publicKey"), jsonObject.getString("secretKey"), jsonObject.getString("xsddsc"), jsonObject.getString("xsddsc").substring(0,6), cgddsc); + if (cgddscflag) { + returnObject.put("status", "success"); + returnObject.put("errormsg", "销售订单删除成功"); + return returnObject; + } else { + returnObject.put("status", "falied"); + returnObject.put("errormsg", "销售订单删除失败"); + return returnObject; + } + } + /** + * @param entity + * @return com.hzya.frame.web.entity.JsonResultEntity + * @Author lvleigang + * @Description 数据表 + * @Date 11:52 上午 2024/3/27 + **/ + @Override + public SysExtensionApiEntity addSalesOrderDelete(SysExtensionApiEntity entity) { + try { + Map headers = entity.getHeaders(); + SysApplicationEntity applicationEntity = entity.getReceiveApp(); + SysApplicationDatabaseEntity sysApplicationDatabaseEntity = new SysApplicationDatabaseEntity(); + sysApplicationDatabaseEntity.setSts("Y"); + sysApplicationDatabaseEntity.setDbStatus("1"); + sysApplicationDatabaseEntity.setAppId(applicationEntity.getId()); + sysApplicationDatabaseEntity.setDataSourceCode("master"); + List sysDataSourceEntities = sysApplicationDatabaseDao.queryDSBase(sysApplicationDatabaseEntity); + if(sysDataSourceEntities != null && sysDataSourceEntities.size() > 0){ + String parm = entity.getBodys(); + JSONObject jsonObject = JSONObject.parseObject(parm); + jsonObject.put("dataSourceCode",sysDataSourceEntities.get(0).getSourceCode()); + jsonObject.put("publicKey",entity.getSendApp().getPublicKey()); + jsonObject.put("secretKey",entity.getSendApp().getSecretKey()); + + jsonObject.put("kcxsckqxqz",headers.get("kcxsckqxqz")); + jsonObject.put("kcxscksc",headers.get("kcxscksc")); + jsonObject.put("xsddqxsp",headers.get("xsddqxsp")); + jsonObject.put("xsddsc",headers.get("xsddsc")); + entity.setBodys(jsonObject.toJSONString()); + } + } catch (Exception e) { + e.printStackTrace(); + } + return entity; + } + /** + * @param object + * @return java.lang.Object + * @Author lvleigang + * @Description 调拨订单删除接口 8000350083 + * + * 0、根据调拨订单号查询调拨入库,调拨出库单据,1、库存调拨出库取消签字 8000350066 2、库存调拨出库删除 8000350067 + * 3、调拨入库取消签字 8000350068 4、调拨入库删除 8000350069 5、调拨订单弃审 8000350070 6、调拨订单删除 8000350071 + * @Date 9:44 上午 2024/9/4 + **/ + @Override + public Object transferOrderDelete(JSONObject object) { + JSONObject returnObject = new JSONObject(); + JSONObject jsonObject = getData("jsonStr", object, JSONObject.class); + //判断是否存在参数 + if (!checkStr(jsonObject.getString("code"))) { + returnObject.put("status", "falied"); + returnObject.put("errormsg", "单据号为空"); + return returnObject; + } + if (!checkStr(jsonObject.getString("corp"))) { + returnObject.put("status", "falied"); + returnObject.put("errormsg", "公司为空"); + return returnObject; + } + if (!checkStr(jsonObject.getString("date_begin"))) { + returnObject.put("status", "falied"); + returnObject.put("errormsg", "单据开始日期为空"); + return returnObject; + } + if (!checkStr(jsonObject.getString("date_end"))) { + returnObject.put("status", "falied"); + returnObject.put("errormsg", "单据结束日期为空"); + return returnObject; + } + if (!checkStr(jsonObject.getString("coperator"))) { + returnObject.put("status", "falied"); + returnObject.put("errormsg", "操作员为空"); + return returnObject; + } + + if (!checkStr(jsonObject.getString("kcdbckqxqz"))) { + returnObject.put("status", "falied"); + returnObject.put("errormsg", "库存调拨出库取消签字接口编号为空"); + return returnObject; + } + if (!checkStr(jsonObject.getString("kcdbcksc"))) { + returnObject.put("status", "falied"); + returnObject.put("errormsg", "库存调拨出库删除删除接口编号为空"); + return returnObject; + } + + if (!checkStr(jsonObject.getString("dbrkqxqz"))) { + returnObject.put("status", "falied"); + returnObject.put("errormsg", "调拨入库取消签字接口编号为空"); + return returnObject; + } + if (!checkStr(jsonObject.getString("dbrksc"))) { + returnObject.put("status", "falied"); + returnObject.put("errormsg", "调拨入库删除接口编号为空"); + return returnObject; + } + + if (!checkStr(jsonObject.getString("dbddqs"))) { + returnObject.put("status", "falied"); + returnObject.put("errormsg", "调拨订单弃审接口编号为空"); + return returnObject; + } + if (!checkStr(jsonObject.getString("dbddsc"))) { + returnObject.put("status", "falied"); + returnObject.put("errormsg", "调拨订单删除接口编号为空"); + return returnObject; + } + + if (!checkStr(jsonObject.getString("dataSourceCode"))) { + returnObject.put("status", "falied"); + returnObject.put("errormsg", "数据源编码为空"); + return returnObject; + } + if (!checkStr(jsonObject.getString("publicKey"))) { + returnObject.put("status", "falied"); + returnObject.put("errormsg", "publicKey为空"); + return returnObject; + } + if (!checkStr(jsonObject.getString("secretKey"))) { + returnObject.put("status", "falied"); + returnObject.put("errormsg", "secretKey为空"); + return returnObject; + } + //根据调拨订单号查询调拨入库 + EncapsulationEntity rk = new EncapsulationEntity(); + rk.setCode(jsonObject.getString("code")); + rk.setDataSourceCode(jsonObject.getString("dataSourceCode")); + rk.setCbilltypecode("4E"); + List rklist = encapsulationDao.queryCgrkddh(rk); + if(rklist == null || rklist.size() != 1){ + returnObject.put("status", "falied"); + returnObject.put("errormsg", "查到多条调拨入库单"); + return returnObject; + } + //根据调拨订单号查询调拨出库 + EncapsulationEntity ck = new EncapsulationEntity(); + ck.setCode(jsonObject.getString("code")); + ck.setDataSourceCode(jsonObject.getString("dataSourceCode")); + ck.setCbilltypecode("4Y"); + List cklist = encapsulationDao.queryCgrkddh(ck); + if(cklist == null || cklist.size() != 1){ + returnObject.put("status", "falied"); + returnObject.put("errormsg", "查到多条调拨出库单"); + return returnObject; + } + //调拨入库取消签字 + String dbrk = getsendBody("1", jsonObject, rklist.get(0).getCode(),rklist.get(0).getUnitcode()); + boolean dbrkflag = sendPost(jsonObject.getString("publicKey"), jsonObject.getString("secretKey"), jsonObject.getString("dbrkqxqz"), jsonObject.getString("dbrkqxqz").substring(0,6), dbrk); + if (!dbrkflag) { + returnObject.put("status", "falied"); + returnObject.put("errormsg", "调拨入库取消签字失败"); + return returnObject; + } + //调拨入库删除 + String dbrksc = getsendBody("2", jsonObject, rklist.get(0).getCode(), rklist.get(0).getUnitcode()); + boolean dbrkscflag = sendPost(jsonObject.getString("publicKey"), jsonObject.getString("secretKey"), jsonObject.getString("dbrksc"), jsonObject.getString("dbrksc").substring(0,6), dbrksc); + if (!dbrkscflag) { + returnObject.put("status", "falied"); + returnObject.put("errormsg", "调拨入库删除失败"); + return returnObject; + } + //库存调拨出库取消签字 + String dbck = getsendBody("1", jsonObject, cklist.get(0).getCode(), cklist.get(0).getUnitcode()); + boolean dbckflag = sendPost(jsonObject.getString("publicKey"), jsonObject.getString("secretKey"), jsonObject.getString("kcdbckqxqz"), jsonObject.getString("kcdbckqxqz").substring(0,6), dbck); + if (!dbckflag) { + returnObject.put("status", "falied"); + returnObject.put("errormsg", "库存调拨出库取消签字失败"); + return returnObject; + } + //库存调拨出库删除 + String dbcksc = getsendBody("2", jsonObject, cklist.get(0).getCode(), cklist.get(0).getUnitcode()); + boolean dbckscflag = sendPost(jsonObject.getString("publicKey"), jsonObject.getString("secretKey"), jsonObject.getString("kcdbcksc"), jsonObject.getString("kcdbcksc").substring(0,6), dbcksc); + if (!dbckscflag) { + returnObject.put("status", "falied"); + returnObject.put("errormsg", "库存调拨出库删除失败"); + return returnObject; + } + //调拨订单弃审 + String dbdd = getsendBody("3", jsonObject, jsonObject.getString("code"), jsonObject.getString("corp")); + boolean dbddflag = sendPost(jsonObject.getString("publicKey"), jsonObject.getString("secretKey"), jsonObject.getString("dbddqs"), jsonObject.getString("dbddqs").substring(0,6), dbdd); + if (!dbddflag) { + returnObject.put("status", "falied"); + returnObject.put("errormsg", "调拨订单弃审失败"); + return returnObject; + } + //调拨订单删除 + String dbddsc = getsendBody("4", jsonObject, jsonObject.getString("code"), jsonObject.getString("corp")); + boolean dbddscflag = sendPost(jsonObject.getString("publicKey"), jsonObject.getString("secretKey"), jsonObject.getString("dbddsc"), jsonObject.getString("dbddsc").substring(0,6), dbddsc); + if (!dbddscflag) { + returnObject.put("status", "falied"); + returnObject.put("errormsg", "调拨订单删除失败"); + return returnObject; + } + + returnObject.put("status", "success"); + returnObject.put("errormsg", "调拨订单删除成功"); + return returnObject; + + + } + /** + * @param entity + * @return com.hzya.frame.web.entity.JsonResultEntity + * @Author lvleigang + * @Description 数据表 + * @Date 11:52 上午 2024/3/27 + **/ + @Override + public SysExtensionApiEntity addTransferOrderDelete(SysExtensionApiEntity entity) { + try { + Map headers = entity.getHeaders(); + SysApplicationEntity applicationEntity = entity.getReceiveApp(); + SysApplicationDatabaseEntity sysApplicationDatabaseEntity = new SysApplicationDatabaseEntity(); + sysApplicationDatabaseEntity.setSts("Y"); + sysApplicationDatabaseEntity.setDbStatus("1"); + sysApplicationDatabaseEntity.setAppId(applicationEntity.getId()); + sysApplicationDatabaseEntity.setDataSourceCode("master"); + List sysDataSourceEntities = sysApplicationDatabaseDao.queryDSBase(sysApplicationDatabaseEntity); + if(sysDataSourceEntities != null && sysDataSourceEntities.size() > 0){ + String parm = entity.getBodys(); + JSONObject jsonObject = JSONObject.parseObject(parm); + jsonObject.put("dataSourceCode",sysDataSourceEntities.get(0).getSourceCode()); + jsonObject.put("publicKey",entity.getSendApp().getPublicKey()); + jsonObject.put("secretKey",entity.getSendApp().getSecretKey()); + + jsonObject.put("kcdbckqxqz",headers.get("kcdbckqxqz")); + jsonObject.put("kcdbcksc",headers.get("kcdbcksc")); + jsonObject.put("dbrkqxqz",headers.get("dbrkqxqz")); + jsonObject.put("dbrksc",headers.get("dbrksc")); + jsonObject.put("dbddqs",headers.get("dbddqs")); + jsonObject.put("dbddsc",headers.get("dbddsc")); + entity.setBodys(jsonObject.toJSONString()); + } + } catch (Exception e) { + e.printStackTrace(); + } + return entity; + } + /** + * @param object + * @return java.lang.Object + * @Author lvleigang + * @Description 产成品入库删除接口 8000350084 + * 1、库存产成品入库单取消签字 8000350072 2、库存产成品入库单删除 8000350073 + * @Date 9:44 上午 2024/9/4 + **/ + @Override + public Object finishedProductsAreStoredDelete(JSONObject object) { + JSONObject returnObject = new JSONObject(); + JSONObject jsonObject = getData("jsonStr", object, JSONObject.class); + //判断是否存在参数 + if (!checkStr(jsonObject.getString("code"))) { + returnObject.put("status", "falied"); + returnObject.put("errormsg", "单据号为空"); + return returnObject; + } + if (!checkStr(jsonObject.getString("corp"))) { + returnObject.put("status", "falied"); + returnObject.put("errormsg", "公司为空"); + return returnObject; + } + if (!checkStr(jsonObject.getString("date_begin"))) { + returnObject.put("status", "falied"); + returnObject.put("errormsg", "单据开始日期为空"); + return returnObject; + } + if (!checkStr(jsonObject.getString("date_end"))) { + returnObject.put("status", "falied"); + returnObject.put("errormsg", "单据结束日期为空"); + return returnObject; + } + if (!checkStr(jsonObject.getString("coperator"))) { + returnObject.put("status", "falied"); + returnObject.put("errormsg", "操作员为空"); + return returnObject; + } + + if (!checkStr(jsonObject.getString("kcccprkqxqz"))) { + returnObject.put("status", "falied"); + returnObject.put("errormsg", "库存产成品入库单取消签字接口编号为空"); + return returnObject; + } + if (!checkStr(jsonObject.getString("kcccprksc"))) { + returnObject.put("status", "falied"); + returnObject.put("errormsg", "库存产成品入库单删除接口编号为空"); + return returnObject; + } + + if (!checkStr(jsonObject.getString("dataSourceCode"))) { + returnObject.put("status", "falied"); + returnObject.put("errormsg", "数据源编码为空"); + return returnObject; + } + if (!checkStr(jsonObject.getString("publicKey"))) { + returnObject.put("status", "falied"); + returnObject.put("errormsg", "publicKey为空"); + return returnObject; + } + if (!checkStr(jsonObject.getString("secretKey"))) { + returnObject.put("status", "falied"); + returnObject.put("errormsg", "secretKey为空"); + return returnObject; + } + + //库存产成品入库单取消签字 + String qxqz = getsendBody("1", jsonObject, jsonObject.getString("code"), jsonObject.getString("corp")); + boolean qxqzflag = sendPost(jsonObject.getString("publicKey"), jsonObject.getString("secretKey"), jsonObject.getString("kcccprkqxqz"), jsonObject.getString("kcccprkqxqz").substring(0,6), qxqz); + if (!qxqzflag) { + returnObject.put("status", "falied"); + returnObject.put("errormsg", "库存产成品入库单取消签字失败"); + return returnObject; + } + //库存产成品入库单删除 + String sc = getsendBody("2", jsonObject, jsonObject.getString("code"), jsonObject.getString("corp")); + boolean scflag = sendPost(jsonObject.getString("publicKey"), jsonObject.getString("secretKey"), jsonObject.getString("kcccprksc"), jsonObject.getString("kcccprksc").substring(0,6), sc); + if (!scflag) { + returnObject.put("status", "falied"); + returnObject.put("errormsg", "库存产成品入库单删除失败"); + return returnObject; + } + + returnObject.put("status", "success"); + returnObject.put("errormsg", "库存产成品入库删除成功"); + return returnObject; + + } + /** + * @param entity + * @return com.hzya.frame.web.entity.JsonResultEntity + * @Author lvleigang + * @Description 数据表 + * @Date 11:52 上午 2024/3/27 + **/ + @Override + public SysExtensionApiEntity addFinishedProductsAreStoredDelete(SysExtensionApiEntity entity) { + try { + Map headers = entity.getHeaders(); + SysApplicationEntity applicationEntity = entity.getReceiveApp(); + SysApplicationDatabaseEntity sysApplicationDatabaseEntity = new SysApplicationDatabaseEntity(); + sysApplicationDatabaseEntity.setSts("Y"); + sysApplicationDatabaseEntity.setDbStatus("1"); + sysApplicationDatabaseEntity.setAppId(applicationEntity.getId()); + sysApplicationDatabaseEntity.setDataSourceCode("master"); + List sysDataSourceEntities = sysApplicationDatabaseDao.queryDSBase(sysApplicationDatabaseEntity); + if(sysDataSourceEntities != null && sysDataSourceEntities.size() > 0){ + String parm = entity.getBodys(); + JSONObject jsonObject = JSONObject.parseObject(parm); + jsonObject.put("dataSourceCode",sysDataSourceEntities.get(0).getSourceCode()); + jsonObject.put("publicKey",entity.getSendApp().getPublicKey()); + jsonObject.put("secretKey",entity.getSendApp().getSecretKey()); + + jsonObject.put("kcccprkqxqz",headers.get("kcccprkqxqz")); + jsonObject.put("kcccprksc",headers.get("kcccprksc")); + entity.setBodys(jsonObject.toJSONString()); + } + } catch (Exception e) { + e.printStackTrace(); + } + return entity; + } + /** + * @param object + * @return java.lang.Object + * @Author lvleigang + * @Description 材料出库删除接口 8000350085 + * 1、库存材料出库取消签字 8000350074 2、库存材料出库单删除 8000350075 + * @Date 9:44 上午 2024/9/4 + **/ + @Override + public Object materialDeliveryDelete(JSONObject object) { + JSONObject returnObject = new JSONObject(); + JSONObject jsonObject = getData("jsonStr", object, JSONObject.class); + //判断是否存在参数 + if (!checkStr(jsonObject.getString("code"))) { + returnObject.put("status", "falied"); + returnObject.put("errormsg", "单据号为空"); + return returnObject; + } + if (!checkStr(jsonObject.getString("corp"))) { + returnObject.put("status", "falied"); + returnObject.put("errormsg", "公司为空"); + return returnObject; + } + if (!checkStr(jsonObject.getString("date_begin"))) { + returnObject.put("status", "falied"); + returnObject.put("errormsg", "单据开始日期为空"); + return returnObject; + } + if (!checkStr(jsonObject.getString("date_end"))) { + returnObject.put("status", "falied"); + returnObject.put("errormsg", "单据结束日期为空"); + return returnObject; + } + if (!checkStr(jsonObject.getString("coperator"))) { + returnObject.put("status", "falied"); + returnObject.put("errormsg", "操作员为空"); + return returnObject; + } + + if (!checkStr(jsonObject.getString("qxqzApi"))) { + returnObject.put("status", "falied"); + returnObject.put("errormsg", "库存材料出库取消签字接口编号为空"); + return returnObject; + } + if (!checkStr(jsonObject.getString("scApi"))) { + returnObject.put("status", "falied"); + returnObject.put("errormsg", "库存材料出库单删除接口编号为空"); + return returnObject; + } + + if (!checkStr(jsonObject.getString("dataSourceCode"))) { + returnObject.put("status", "falied"); + returnObject.put("errormsg", "数据源编码为空"); + return returnObject; + } + if (!checkStr(jsonObject.getString("publicKey"))) { + returnObject.put("status", "falied"); + returnObject.put("errormsg", "publicKey为空"); + return returnObject; + } + if (!checkStr(jsonObject.getString("secretKey"))) { + returnObject.put("status", "falied"); + returnObject.put("errormsg", "secretKey为空"); + return returnObject; + } + + //库存材料出库取消签字 + String qxqz = getsendBody("1", jsonObject, jsonObject.getString("code"), jsonObject.getString("corp")); + boolean qxqzflag = sendPost(jsonObject.getString("publicKey"), jsonObject.getString("secretKey"), jsonObject.getString("qxqzApi"), jsonObject.getString("qxqzApi").substring(0,6), qxqz); + if (!qxqzflag) { + returnObject.put("status", "falied"); + returnObject.put("errormsg", "库存材料出库取消签字失败"); + return returnObject; + } + //库存材料出库单删除 + String sc = getsendBody("2", jsonObject, jsonObject.getString("code"), jsonObject.getString("corp")); + boolean scflag = sendPost(jsonObject.getString("publicKey"), jsonObject.getString("secretKey"), jsonObject.getString("scApi"), jsonObject.getString("scApi").substring(0,6), sc); + if (!scflag) { + returnObject.put("status", "falied"); + returnObject.put("errormsg", "库存材料出库单删除失败"); + return returnObject; + } + + returnObject.put("status", "success"); + returnObject.put("errormsg", "库存材料出库删除成功"); + return returnObject; + + } + /** + * @param entity + * @return com.hzya.frame.web.entity.JsonResultEntity + * @Author lvleigang + * @Description 数据表 + * @Date 11:52 上午 2024/3/27 + **/ + @Override + public SysExtensionApiEntity addMaterialDeliveryDelete(SysExtensionApiEntity entity) { + try { + Map headers = entity.getHeaders(); + SysApplicationEntity applicationEntity = entity.getReceiveApp(); + SysApplicationDatabaseEntity sysApplicationDatabaseEntity = new SysApplicationDatabaseEntity(); + sysApplicationDatabaseEntity.setSts("Y"); + sysApplicationDatabaseEntity.setDbStatus("1"); + sysApplicationDatabaseEntity.setAppId(applicationEntity.getId()); + sysApplicationDatabaseEntity.setDataSourceCode("master"); + List sysDataSourceEntities = sysApplicationDatabaseDao.queryDSBase(sysApplicationDatabaseEntity); + if(sysDataSourceEntities != null && sysDataSourceEntities.size() > 0){ + String parm = entity.getBodys(); + JSONObject jsonObject = JSONObject.parseObject(parm); + jsonObject.put("dataSourceCode",sysDataSourceEntities.get(0).getSourceCode()); + jsonObject.put("publicKey",entity.getSendApp().getPublicKey()); + jsonObject.put("secretKey",entity.getSendApp().getSecretKey()); + + jsonObject.put("qxqzApi",headers.get("qxqzApi")); + jsonObject.put("scApi",headers.get("scApi")); + entity.setBodys(jsonObject.toJSONString()); + } + } catch (Exception e) { + e.printStackTrace(); + } + return entity; + } + /** + * @param object + * @return java.lang.Object + * @Author lvleigang + * @Description 其他出库单删除接口 8000350086 + * 1、库存其他出库取消签字 8000350076 2、库存其他出库删除 8000350077 + * @Date 9:44 上午 2024/9/4 + **/ + @Override + public Object otherWarehouseOrdersDelete(JSONObject object) { + JSONObject returnObject = new JSONObject(); + JSONObject jsonObject = getData("jsonStr", object, JSONObject.class); + //判断是否存在参数 + if (!checkStr(jsonObject.getString("code"))) { + returnObject.put("status", "falied"); + returnObject.put("errormsg", "单据号为空"); + return returnObject; + } + if (!checkStr(jsonObject.getString("corp"))) { + returnObject.put("status", "falied"); + returnObject.put("errormsg", "公司为空"); + return returnObject; + } + if (!checkStr(jsonObject.getString("date_begin"))) { + returnObject.put("status", "falied"); + returnObject.put("errormsg", "单据开始日期为空"); + return returnObject; + } + if (!checkStr(jsonObject.getString("date_end"))) { + returnObject.put("status", "falied"); + returnObject.put("errormsg", "单据结束日期为空"); + return returnObject; + } + if (!checkStr(jsonObject.getString("coperator"))) { + returnObject.put("status", "falied"); + returnObject.put("errormsg", "操作员为空"); + return returnObject; + } + if (!checkStr(jsonObject.getString("qxqzApi"))) { + returnObject.put("status", "falied"); + returnObject.put("errormsg", "库存其他出库取消签字接口编号为空"); + return returnObject; + } + if (!checkStr(jsonObject.getString("scApi"))) { + returnObject.put("status", "falied"); + returnObject.put("errormsg", "库存其他出库删除接口编号为空"); + return returnObject; + } + if (!checkStr(jsonObject.getString("dataSourceCode"))) { + returnObject.put("status", "falied"); + returnObject.put("errormsg", "数据源编码为空"); + return returnObject; + } + if (!checkStr(jsonObject.getString("publicKey"))) { + returnObject.put("status", "falied"); + returnObject.put("errormsg", "publicKey为空"); + return returnObject; + } + if (!checkStr(jsonObject.getString("secretKey"))) { + returnObject.put("status", "falied"); + returnObject.put("errormsg", "secretKey为空"); + return returnObject; + } + + //库存其他出库取消签字 + String qxqz = getsendBody("1", jsonObject, jsonObject.getString("code"), jsonObject.getString("corp")); + boolean qxqzflag = sendPost(jsonObject.getString("publicKey"), jsonObject.getString("secretKey"), jsonObject.getString("qxqzApi"), jsonObject.getString("qxqzApi").substring(0,6), qxqz); + if (!qxqzflag) { + returnObject.put("status", "falied"); + returnObject.put("errormsg", "库存其他出库取消签字失败"); + return returnObject; + } + //库存其他出库删除 + String sc = getsendBody("2", jsonObject, jsonObject.getString("code"), jsonObject.getString("corp")); + boolean scflag = sendPost(jsonObject.getString("publicKey"), jsonObject.getString("secretKey"), jsonObject.getString("scApi"), jsonObject.getString("scApi").substring(0,6), sc); + if (!scflag) { + returnObject.put("status", "falied"); + returnObject.put("errormsg", "库存其他出库删除失败"); + return returnObject; + } + + returnObject.put("status", "success"); + returnObject.put("errormsg", "库存其他出库删除成功"); + return returnObject; + + } + /** + * @param entity + * @return com.hzya.frame.web.entity.JsonResultEntity + * @Author lvleigang + * @Description 数据表 + * @Date 11:52 上午 2024/3/27 + **/ + @Override + public SysExtensionApiEntity addOtherWarehouseOrdersDelete(SysExtensionApiEntity entity) { + try { + Map headers = entity.getHeaders(); + SysApplicationEntity applicationEntity = entity.getReceiveApp(); + SysApplicationDatabaseEntity sysApplicationDatabaseEntity = new SysApplicationDatabaseEntity(); + sysApplicationDatabaseEntity.setSts("Y"); + sysApplicationDatabaseEntity.setDbStatus("1"); + sysApplicationDatabaseEntity.setAppId(applicationEntity.getId()); + sysApplicationDatabaseEntity.setDataSourceCode("master"); + List sysDataSourceEntities = sysApplicationDatabaseDao.queryDSBase(sysApplicationDatabaseEntity); + if(sysDataSourceEntities != null && sysDataSourceEntities.size() > 0){ + String parm = entity.getBodys(); + JSONObject jsonObject = JSONObject.parseObject(parm); + jsonObject.put("dataSourceCode",sysDataSourceEntities.get(0).getSourceCode()); + jsonObject.put("publicKey",entity.getSendApp().getPublicKey()); + jsonObject.put("secretKey",entity.getSendApp().getSecretKey()); + + jsonObject.put("qxqzApi",headers.get("qxqzApi")); + jsonObject.put("scApi",headers.get("scApi")); + entity.setBodys(jsonObject.toJSONString()); + } + } catch (Exception e) { + e.printStackTrace(); + } + return entity; + } + /** + * @param object + * @return java.lang.Object + * @Author lvleigang + * @Description 其他入库单删除接口 8000350087 + * 1、库存其他入库单取消签字.8000350078 2、库存其他入库删除 8000350079 + * @Date 9:44 上午 2024/9/4 + **/ + @Override + public Object otherWarehouseReceiptDelete(JSONObject object) { + JSONObject returnObject = new JSONObject(); + JSONObject jsonObject = getData("jsonStr", object, JSONObject.class); + //判断是否存在参数 + if (!checkStr(jsonObject.getString("code"))) { + returnObject.put("status", "falied"); + returnObject.put("errormsg", "单据号为空"); + return returnObject; + } + if (!checkStr(jsonObject.getString("corp"))) { + returnObject.put("status", "falied"); + returnObject.put("errormsg", "公司为空"); + return returnObject; + } + if (!checkStr(jsonObject.getString("date_begin"))) { + returnObject.put("status", "falied"); + returnObject.put("errormsg", "单据开始日期为空"); + return returnObject; + } + if (!checkStr(jsonObject.getString("date_end"))) { + returnObject.put("status", "falied"); + returnObject.put("errormsg", "单据结束日期为空"); + return returnObject; + } + if (!checkStr(jsonObject.getString("coperator"))) { + returnObject.put("status", "falied"); + returnObject.put("errormsg", "操作员为空"); + return returnObject; + } + if (!checkStr(jsonObject.getString("qxqzApi"))) { + returnObject.put("status", "falied"); + returnObject.put("errormsg", "库存其他入库单取消签字接口编号为空"); + return returnObject; + } + if (!checkStr(jsonObject.getString("scApi"))) { + returnObject.put("status", "falied"); + returnObject.put("errormsg", "库存其他入库删除接口编号为空"); + return returnObject; + } + if (!checkStr(jsonObject.getString("dataSourceCode"))) { + returnObject.put("status", "falied"); + returnObject.put("errormsg", "数据源编码为空"); + return returnObject; + } + if (!checkStr(jsonObject.getString("publicKey"))) { + returnObject.put("status", "falied"); + returnObject.put("errormsg", "publicKey为空"); + return returnObject; + } + if (!checkStr(jsonObject.getString("secretKey"))) { + returnObject.put("status", "falied"); + returnObject.put("errormsg", "secretKey为空"); + return returnObject; + } + + //库存其他入库单取消签字 + String qxqz = getsendBody("1", jsonObject, jsonObject.getString("code"), jsonObject.getString("corp")); + boolean qxqzflag = sendPost(jsonObject.getString("publicKey"), jsonObject.getString("secretKey"), jsonObject.getString("qxqzApi"), jsonObject.getString("qxqzApi").substring(0,6), qxqz); + if (!qxqzflag) { + returnObject.put("status", "falied"); + returnObject.put("errormsg", "库存其他入库单取消签字失败"); + return returnObject; + } + //库存其他入库删除 + String sc = getsendBody("2", jsonObject, jsonObject.getString("code"), jsonObject.getString("corp")); + boolean scflag = sendPost(jsonObject.getString("publicKey"), jsonObject.getString("secretKey"), jsonObject.getString("scApi"), jsonObject.getString("scApi").substring(0,6), sc); + if (!scflag) { + returnObject.put("status", "falied"); + returnObject.put("errormsg", "库存其他入库删除失败"); + return returnObject; + } + returnObject.put("status", "success"); + returnObject.put("errormsg", "库存其他入库删除成功"); + return returnObject; + } + /** + * @param entity + * @return com.hzya.frame.web.entity.JsonResultEntity + * @Author lvleigang + * @Description 数据表 + * @Date 11:52 上午 2024/3/27 + **/ + @Override + public SysExtensionApiEntity addOtherWarehouseReceiptDelete(SysExtensionApiEntity entity) { + try { + Map headers = entity.getHeaders(); + SysApplicationEntity applicationEntity = entity.getReceiveApp(); + SysApplicationDatabaseEntity sysApplicationDatabaseEntity = new SysApplicationDatabaseEntity(); + sysApplicationDatabaseEntity.setSts("Y"); + sysApplicationDatabaseEntity.setDbStatus("1"); + sysApplicationDatabaseEntity.setAppId(applicationEntity.getId()); + sysApplicationDatabaseEntity.setDataSourceCode("master"); + List sysDataSourceEntities = sysApplicationDatabaseDao.queryDSBase(sysApplicationDatabaseEntity); + if(sysDataSourceEntities != null && sysDataSourceEntities.size() > 0){ + String parm = entity.getBodys(); + JSONObject jsonObject = JSONObject.parseObject(parm); + jsonObject.put("dataSourceCode",sysDataSourceEntities.get(0).getSourceCode()); + jsonObject.put("publicKey",entity.getSendApp().getPublicKey()); + jsonObject.put("secretKey",entity.getSendApp().getSecretKey()); + + jsonObject.put("qxqzApi",headers.get("qxqzApi")); + jsonObject.put("scApi",headers.get("scApi")); + entity.setBodys(jsonObject.toJSONString()); + } + } catch (Exception e) { + e.printStackTrace(); + } + return entity; + } + + //拼装数据 + private String getsendBody(String type, JSONObject object, String code,String unitcode) { + JSONObject jsonObject1 = new JSONObject(); + + switch (type) { + case "1": //取消签字参数类型1、库存采购入库单取消签字 2\库存销售出库单取消签字 3\库存调拨出库取消签字4\调拨入库取消签字 5\库存产成品入库单取消签字 + //6\库存材料出库取消签字 7\库存其他出库取消签字 8\库存其他入库单取消签字 + JSONObject unsignInfo = new JSONObject(); + unsignInfo.put("coperator", object.getString("coperator")); + + JSONObject queryInfo = new JSONObject(); + queryInfo.put("date_end", object.getString("date_end")); + queryInfo.put("date_begin", object.getString("date_begin")); + queryInfo.put("corp", unitcode); + queryInfo.put("billcode", code); + + jsonObject1.put("unsignInfo", unsignInfo); + jsonObject1.put("queryInfo", queryInfo); + break; + case "2": //删除接口1、库存采购入库单删除 2\库存销售出库单删除 3\库存调拨出库删除 4\调拨入库删除 5\库存产成品入库单删除 + //6\库存材料出库单删除 7\库存其他出库删除 8\库存其他入库删除 + JSONObject unsignInfo2 = new JSONObject(); + unsignInfo2.put("coperator", object.getString("coperator")); + + JSONObject queryInfo2 = new JSONObject(); + queryInfo2.put("date_end", object.getString("date_end")); + queryInfo2.put("date_begin", object.getString("date_begin")); + queryInfo2.put("corp", unitcode); + queryInfo2.put("billcode", code); + + jsonObject1.put("deleteInfo", unsignInfo2); + jsonObject1.put("queryInfo", queryInfo2); + break; + case "3": //弃审 1、采购订单弃审 2\销售订单取消审批 3\调拨订单弃审 + JSONObject unsignInfo3 = new JSONObject(); + unsignInfo3.put("approvid", object.getString("coperator")); + + JSONObject queryInfo3 = new JSONObject(); + queryInfo3.put("date_end", object.getString("date_end")); + queryInfo3.put("date_begin", object.getString("date_begin")); + queryInfo3.put("corp", unitcode); + queryInfo3.put("code", code); + + jsonObject1.put("approveinfo", unsignInfo3); + jsonObject1.put("queryinfo", queryInfo3); + break; + case "4": //删除 1\采购订单删除 2\销售订单删除 3\调拨订单删除 + JSONObject unsignInfo4 = new JSONObject(); + unsignInfo4.put("coperator", object.getString("coperator")); + + JSONObject queryInfo4 = new JSONObject(); + queryInfo4.put("date_end", object.getString("date_end")); + queryInfo4.put("date_begin", object.getString("date_begin")); + queryInfo4.put("corp", unitcode); + queryInfo4.put("code", code); + + jsonObject1.put("deleteinfo", unsignInfo4); + jsonObject1.put("queryinfo", queryInfo4); + break; + default: + } + return jsonObject1.toJSONString(); + } + + /** + * @param publicKey + * @param secretKey + * @param apiCode + * @param appId + * @param bodys + * @return java.lang.String + * @Author lvleigang + * @Description 发送接口 + * @Date 3:05 下午 2024/9/4 + **/ + private boolean sendPost(String publicKey, String secretKey, String apiCode, String appId, String bodys) { + + StringBuilder returnBody = new StringBuilder(); + Integer outTime = 6000; + HttpClientBuilder httpClientBuilder = HttpClientBuilder.create(); + // HttpClient + CloseableHttpClient closeableHttpClient = httpClientBuilder.disableCookieManagement().build(); + HttpPost post = new HttpPost(ztUrl); + CloseableHttpResponse response = null; + RequestConfig requestConfig = RequestConfig.custom().setConnectTimeout(outTime).build(); + post.setConfig(requestConfig);//设置请求参数【超时时间】 + post.setHeader("publicKey", publicKey); + post.setHeader("secretKey", secretKey); + post.setHeader("apiCode", apiCode); + post.setHeader("appId", appId); + + try { + if (bodys != null && !"".equals(bodys)) { + ByteArrayEntity entity = new ByteArrayEntity(bodys.getBytes("UTF-8")); + entity.setContentType("application/json"); + post.setEntity(entity); + } + response = closeableHttpClient.execute(post); + + HttpEntity entity = response.getEntity(); + synchronized (lock) { + returnBody.append(EntityUtils.toString(entity, "UTF-8")); + } + logger.info("返回结果:" + returnBody); + } catch (Exception e) { + logger.error("请求错误:" + e.getMessage()); + returnBody.append(e.getMessage()); + } finally { + try { + // 关闭响应对象 + if (response != null) { + response.close(); + } + // 关闭响应对象 + if (closeableHttpClient != null) { + closeableHttpClient.close(); + } + } catch (IOException e) { + e.printStackTrace(); + } + + } + + if (returnBody != null && !"".equals(returnBody)) { + if (JSONUtil.isTypeJSON(returnBody.toString())) { + JSONObject jsonObject1 = JSONObject.parseObject(returnBody.toString()); + if (jsonObject1.getString("status") != null && "200".equals(jsonObject1.getString("status"))) { + return true; + } else { + return false; + } + } else { + return false; + } + } else { + return false; + } + } + + +} diff --git a/webapp/src/main/java/com/hzya/frame/webapp/entrance/service/impl/EntranceServiceImpl.java b/webapp/src/main/java/com/hzya/frame/webapp/entrance/service/impl/EntranceServiceImpl.java index 5bcbd56e..44441c7a 100644 --- a/webapp/src/main/java/com/hzya/frame/webapp/entrance/service/impl/EntranceServiceImpl.java +++ b/webapp/src/main/java/com/hzya/frame/webapp/entrance/service/impl/EntranceServiceImpl.java @@ -128,8 +128,8 @@ public class EntranceServiceImpl implements IEntranceService { //} // 接口权限验证 结束 } catch (NotLoginException e) { - logger.error("token无效"); - return BaseResult.getFailureMessageEntity("token无效"); + logger.error("zt-token无效"); + return BaseResult.getFailureMessageEntity("zt-token无效"); } } JSONObject jsonObject = new JSONObject(); @@ -183,10 +183,10 @@ public class EntranceServiceImpl implements IEntranceService { Method[] methods = object.getClass().getMethods(); logger.info("methodsLength:" + methods.length); if (methods == null || methods.length == 0) { - logger.info("当前methods:" + methods + "methodsLength = " + methods.length); + logger.error("当前methods:" + methods + "methodsLength = " + methods.length); throw new BaseSystemException(service + "未找到" + serviceMethod + "方法"); } else { - logger.info("当前methods222222:" + methods + "methodsLength = " + methods.length); + logger.info("当前methods:" + methods + "methodsLength = " + methods.length); } for (Method m : methods) { //logger.info("当前mnAME:" + m.getName() + " :serviceMethod = " + serviceMethod.trim()); @@ -271,10 +271,10 @@ public class EntranceServiceImpl implements IEntranceService { Method[] methods = object.getClass().getMethods(); logger.info("methodsLength:" + methods.length); if (methods == null || methods.length == 0) { - logger.info("当前methods:" + methods + "methodsLength = " + methods.length); + logger.error("当前methods:" + methods + "methodsLength = " + methods.length); return BaseResult.getFailureMessageEntity(service + "未找到" + serviceMethod + "方法"); } else { - logger.error("当前methods2:" + methods + "methodsLength = " + methods.length); + logger.info("当前methods:" + methods + "methodsLength = " + methods.length); } for (Method m : methods) { //logger.info("当前mnAME:" + m.getName() + " :serviceMethod = " + serviceMethod.trim()); diff --git a/webapp/src/main/java/com/hzya/frame/webapp/web/corsconfig/CorsConfig.java b/webapp/src/main/java/com/hzya/frame/webapp/web/corsconfig/CorsConfig.java new file mode 100644 index 00000000..324e0939 --- /dev/null +++ b/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(true); + } +} diff --git a/webapp/src/main/java/com/hzya/frame/webapp/web/exception/ExceptionController.java b/webapp/src/main/java/com/hzya/frame/webapp/web/exception/ExceptionController.java index 3e966cf1..6488d4fd 100644 --- a/webapp/src/main/java/com/hzya/frame/webapp/web/exception/ExceptionController.java +++ b/webapp/src/main/java/com/hzya/frame/webapp/web/exception/ExceptionController.java @@ -63,13 +63,13 @@ public class ExceptionController { if (notLoginException.getType().equals(NotLoginException.NOT_TOKEN)) { message = "未提供token"; } else if (notLoginException.getType().equals(NotLoginException.INVALID_TOKEN)) { - message = "token无效"; + message = "zt-token无效"; } else if (notLoginException.getType().equals(NotLoginException.TOKEN_TIMEOUT)) { - message = "token已过期"; + message = "zt-token已过期"; } else if (notLoginException.getType().equals(NotLoginException.BE_REPLACED)) { - message = "token已被顶下线"; + message = "zt-token已被顶下线"; } else if (notLoginException.getType().equals(NotLoginException.KICK_OUT)) { - message = "token已被踢下线"; + message = "zt-token已被踢下线"; } else { message = "当前会话未登录"; } diff --git a/webapp/src/main/java/com/hzya/frame/webapp/web/filter/SaTokenConfigure.java b/webapp/src/main/java/com/hzya/frame/webapp/web/filter/SaTokenConfigure.java index b325e29f..3411d439 100644 --- a/webapp/src/main/java/com/hzya/frame/webapp/web/filter/SaTokenConfigure.java +++ b/webapp/src/main/java/com/hzya/frame/webapp/web/filter/SaTokenConfigure.java @@ -18,7 +18,7 @@ public class SaTokenConfigure { @Primary public SaTokenConfig getSaTokenConfigPrimary() { SaTokenConfig config = new SaTokenConfig(); - config.setTokenName("token"); // token名称 (同时也是cookie名称) + config.setTokenName("zt-token"); // token名称 (同时也是cookie名称) config.setTimeout(30 * 24 * 60 * 60); // token有效期,单位s 默认30天 config.setActivityTimeout(-1); // token临时有效期 (指定时间内无操作就视为token过期) 单位: 秒 config.setIsConcurrent(true); // 是否允许同一账号并发登录 (为true时允许一起登录, 为false时新登录挤掉旧登录)