diff --git a/buildpackage/src/main/java/com/hzya/frame/plugin/cbs8/service/impl/CbsPluginServiceImpl.java b/buildpackage/src/main/java/com/hzya/frame/plugin/cbs8/service/impl/CbsPluginServiceImpl.java index f560a661..854a9191 100644 --- a/buildpackage/src/main/java/com/hzya/frame/plugin/cbs8/service/impl/CbsPluginServiceImpl.java +++ b/buildpackage/src/main/java/com/hzya/frame/plugin/cbs8/service/impl/CbsPluginServiceImpl.java @@ -66,9 +66,9 @@ public class CbsPluginServiceImpl implements ICbsPluginService { @Autowired private RestUtil restUtil; - @Value("${cbs8.elec_path}") + @Value("${cbs8.elec_path:}") private String elec_path; - @Value("${OA.data_source_code}") + @Value("${OA.data_source_code:}") private String oa_data_source_code; /** * 支付申请 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..3e0a996f --- /dev/null +++ b/buildpackage/src/main/java/com/hzya/frame/plugin/pushMessage/plugin/PushMessagePluginInitializer.java @@ -0,0 +1,77 @@ +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 04576afa..5953ca0d 100644 --- a/buildpackage/src/main/resources/application-llg.yml +++ b/buildpackage/src/main/resources/application-llg.yml @@ -23,24 +23,27 @@ spring: dynamic: druid: filters: stat,log4j2 - validationQuery: SELECT 1 # 验证数据库服务可用性的sql.用来检测连接是否有效的sql 因数据库方言而差, 例如 oracle 应该写成 SELECT 1 FROM DUAL datasource: master: - -# url: jdbc:mysql://ufidahz.com.cn:9014/businesscenter?serverTimezone=UTC&useUnicode=true&characterEncoding=UTF8&serverTimezone=GMT%2B8&zeroDateTimeBehavior=convertToNull&useSSL=false&allowLoadLocalInfile=false&autoReconnect=true&failOverReadOnly=false&connectTimeout=30000&socketTimeout=30000&autoReconnectForPools=true -# username: root +# url: jdbc:dm://hzya.ufyct.com:9040?schema=businesscenter&zeroDateTimeBehavior=convertToNull&useUnicode=true&characterEncoding=utf-8&compatibleMode=oracle +# username: hzyazt # password: 62e4295b615a30dbf3b8ee96f41c820b -# driver-class-name: com.mysql.jdbc.Driver # 3.2.0开始支持SPI可省略此配置 - - url: jdbc:sqlserver://192.168.2.247:9433;DatabaseName=businesscenter;encrypt=false;trustServerCertificate=true - username: sa +# driver-class-name: dm.jdbc.driver.DmDriver +# type: com.alibaba.druid.pool.DruidDataSource + url: jdbc:mysql://ufidahz.com.cn:9014/businesscenter?serverTimezone=UTC&useUnicode=true&characterEncoding=UTF8&serverTimezone=GMT%2B8&zeroDateTimeBehavior=convertToNull&useSSL=false&allowLoadLocalInfile=false&autoReconnect=true&failOverReadOnly=false&connectTimeout=30000&socketTimeout=30000&autoReconnectForPools=true + username: root password: 62e4295b615a30dbf3b8ee96f41c820b - driver-class-name: com.microsoft.sqlserver.jdbc.SQLServerDriver + driver-class-name: com.mysql.jdbc.Driver # 3.2.0开始支持SPI可省略此配置 +# url: jdbc:dm://hzya.ufyct.com:9040/businesscenter?zeroDateTimeBehavior=convertToNull&useUnicode=true&characterEncoding=utf-8 +# url: jdbc:dm://hzya.ufyct.com:9040?schema=businesscenter&zeroDateTimeBehavior=convertToNull&useUnicode=true&characterEncoding=utf-8&compatibleMode=oracle +# username: hzyazt +# password: 62e4295b615a30dbf3b8ee96f41c820b +# driver-class-name: dm.jdbc.driver.DmDriver savefile: # 文件保存路径 path: /Users/apple/Desktop/log/local - pluginpath: - tomcatpath: + tomcatpath: /Users/apple/Desktop/log/local + pluginpath: /Users/apple/Desktop/log/local zt: url: http://127.0.0.1:9999/kangarooDataCenterV3/entranceController/externalCallInterface cbs8: diff --git a/buildpackage/src/main/resources/application-xel.yml b/buildpackage/src/main/resources/application-xel.yml index 4802ae21..e53ca4c4 100644 --- a/buildpackage/src/main/resources/application-xel.yml +++ b/buildpackage/src/main/resources/application-xel.yml @@ -6,7 +6,7 @@ logging: encodings: UTF-8 file: # 日志保存路径 - path: /Users/xiangerlin/work/app/logs/ydc + path: /Users/xiangerlin/work/app/logs/dev spring: datasource: dynamic: @@ -18,7 +18,7 @@ spring: driver-class-name: com.mysql.jdbc.Driver # 3.2.0开始支持SPI可省略此配置 savefile: # 文件保存路径 - path: /Users/xiangerlin/work/app/logs/ydc + path: /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..ffff00a3 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: # 日志保存路径 diff --git a/buildpackage/src/test/java/com/hzya/frame/temButtom.java b/buildpackage/src/test/java/com/hzya/frame/temButtom.java index 0285be5d..a711e11c 100644 --- a/buildpackage/src/test/java/com/hzya/frame/temButtom.java +++ b/buildpackage/src/test/java/com/hzya/frame/temButtom.java @@ -66,6 +66,8 @@ public class temButtom { @Autowired private PayResultPluginInitializer payResultPluginInitializer; + + @Test public void cbs8PluginTest(){ try { diff --git a/pom.xml b/pom.xml index 73a24eaf..d7c2e49a 100644 --- a/pom.xml +++ b/pom.xml @@ -62,7 +62,8 @@ 8.0.3 42.2.6 1.7.4 - + 1.3.7 + 2.1.46 @@ -383,6 +384,21 @@ org.springframework.boot spring-boot-starter-data-mongodb + + com.dingtalk.open + app-stream-client + ${dingtalk-stream-sdk.version} + + + com.aliyun + dingtalk + ${dingtalk-sdk.version} + + + com.aliyun + alibaba-dingtalk-service-sdk + 2.0.0 + diff --git a/service/src/main/java/com/hzya/frame/cbs8/util/CBSUtil.java b/service/src/main/java/com/hzya/frame/cbs8/util/CBSUtil.java index 417f41a4..602a9124 100644 --- a/service/src/main/java/com/hzya/frame/cbs8/util/CBSUtil.java +++ b/service/src/main/java/com/hzya/frame/cbs8/util/CBSUtil.java @@ -87,21 +87,21 @@ public class CBSUtil { /** * 财资管理云公钥(平台公钥) */ - @Value("${cbs8.cbs_public_key}") + @Value("${cbs8.cbs_public_key:}") public void setBodyEncryptionKey(String bodyEncryptionKey) { CBSUtil.bodyEncryptionKey = bodyEncryptionKey; } /** * 企业私钥(解密) */ - @Value("${cbs8.ya_private_key}") + @Value("${cbs8.ya_private_key:}") public void setSignEncryptionPrivateKey(String signEncryptionPrivateKey) { CBSUtil.signEncryptionPrivateKey = signEncryptionPrivateKey; } /** * 企业私钥(解密) */ - @Value("${cbs8.ya_private_key}") + @Value("${cbs8.ya_private_key:}") public void setBodyDecryptionKey(String bodyDecryptionKey) { CBSUtil.bodyDecryptionKey = bodyDecryptionKey; } diff --git a/service/src/main/java/com/hzya/frame/cbs8/util/CbsAccessToken.java b/service/src/main/java/com/hzya/frame/cbs8/util/CbsAccessToken.java index 080e58fc..341af450 100644 --- a/service/src/main/java/com/hzya/frame/cbs8/util/CbsAccessToken.java +++ b/service/src/main/java/com/hzya/frame/cbs8/util/CbsAccessToken.java @@ -24,11 +24,11 @@ import java.util.Map; public class CbsAccessToken { private static final Logger logger = LoggerFactory.getLogger(CbsAccessToken.class); - @Value("${cbs8.appId}") + @Value("${cbs8.appId:}") private String app_id; - @Value("${cbs8.appSecret}") + @Value("${cbs8.appSecret:}") private String app_secret; - @Value("${cbs8.url}") + @Value("${cbs8.url:}") private String app_url; private static String appId; diff --git a/service/src/main/java/com/hzya/frame/dingtalk/enums/OrgEventEnum.java b/service/src/main/java/com/hzya/frame/dingtalk/enums/OrgEventEnum.java new file mode 100644 index 00000000..f01431f0 --- /dev/null +++ b/service/src/main/java/com/hzya/frame/dingtalk/enums/OrgEventEnum.java @@ -0,0 +1,48 @@ +package com.hzya.frame.dingtalk.enums; + +/** + * @Description 通讯录事件类型 + * @Author xiangerlin + * @Date 2024/8/27 15:58 + **/ +public enum OrgEventEnum { + USER_ADD_ORG("user_add_org","通讯录用户新增"), + USER_MODIFY_ORG("user_modify_org","通讯录用户更改"), + USER_LEAVE_ORG("user_leave_org","通讯录用户离职"), + USER_ACTIVE_ORG("user_active_org","加入企业后用户激活"), + ORG_DEPT_CREATE("org_dept_create","通讯录企业部门创建"), + ORG_DEPT_MODIFY("org_dept_modify","通讯录企业部门更改"), + ORG_DEPT_REMOVE("org_dept_remove","通讯录企业部门删除"), + ; + + + private String code; + private String explain; + + OrgEventEnum(String code, String explain) { + this.code = code; + this.explain = explain; + } + + public String getCode() { + return code; + } + + public String getExplain() { + return explain; + } + + /** + * 根据code获取事件类型 + * @param code + * @return + */ + public static OrgEventEnum getByCode(String code){ + for (OrgEventEnum org : OrgEventEnum.values()) { + if (org.getCode().equals(code)){ + return org; + } + } + return null; + } +} diff --git a/service/src/main/java/com/hzya/frame/dingtalk/service/IDingTalkExtService.java b/service/src/main/java/com/hzya/frame/dingtalk/service/IDingTalkExtService.java new file mode 100644 index 00000000..ffbba432 --- /dev/null +++ b/service/src/main/java/com/hzya/frame/dingtalk/service/IDingTalkExtService.java @@ -0,0 +1,32 @@ +package com.hzya.frame.dingtalk.service; + +import com.alibaba.fastjson.JSONObject; +import com.hzya.frame.sysnew.application.entity.SysApplicationEntity; +import com.hzya.frame.sysnew.application.entity.SysExtensionApiEntity; + +/** + * @Description 钉钉集成扩展类 + * @Author xiangerlin + * @Date 2024/8/28 14:25 + **/ +public interface IDingTalkExtService { + + /** + * 调用这个方法初始化钉钉参数 + * @param entity + * @return + */ + SysExtensionApiEntity init(SysExtensionApiEntity entity); + + /** + * 查询配置在应用上的钉钉参数 + * @param sysApplication + * @return + */ + JSONObject getDingTalkConfig(SysApplicationEntity sysApplication); + + /** + * 清空配置缓存 + */ + void clearDingTalkConfigCatch(); +} diff --git a/service/src/main/java/com/hzya/frame/dingtalk/service/IDingTalkService.java b/service/src/main/java/com/hzya/frame/dingtalk/service/IDingTalkService.java new file mode 100644 index 00000000..8429bc1c --- /dev/null +++ b/service/src/main/java/com/hzya/frame/dingtalk/service/IDingTalkService.java @@ -0,0 +1,66 @@ +package com.hzya.frame.dingtalk.service; + +import com.dingtalk.api.request.OapiV2UserListRequest; +import com.dingtalk.api.response.OapiV2DepartmentGetResponse; +import com.dingtalk.api.response.OapiV2DepartmentListsubResponse; +import com.dingtalk.api.response.OapiV2UserGetResponse; +import com.dingtalk.api.response.OapiV2UserListResponse; + +import java.util.List; + +/** + * @Description 钉钉service + * @Author xiangerlin + * @Date 2024/8/27 16:17 + **/ +public interface IDingTalkService { + + /** + * 根据userid获取用户详情 + * @param userId 钉钉userid + * @param appKey + * @param appSecret + * @return + */ + OapiV2UserGetResponse.UserGetResponse getUserById(String userId,String appKey,String appSecret); + + /** + * 根据userid获取用户详情 + * @param userId + * @return + */ + OapiV2UserGetResponse.UserGetResponse getUserById(String userId); + + /** + * 获取部门用户列表 + * @param req 请求参数 + * @param appKey + * @param appSecret + * @return + */ + OapiV2UserListResponse.PageResult getUserListByDeptId(OapiV2UserListRequest req, String appKey, String appSecret); + /** + * 根据部门id获取部门详情 + * @param deptId 钉钉部门id + * @param appKey + * @param appSecret + * @return + */ + OapiV2DepartmentGetResponse.DeptGetResponse getDeptById(Long deptId,String appKey,String appSecret); + + /** + * 根据部门id获取部门详情 + * @param deptId + * @return + */ + OapiV2DepartmentGetResponse.DeptGetResponse getDeptById(Long deptId); + + /** + * 获取部门列表,此接口只会返回下一级部门信息 + * @param deptId 部门id,如果不传则查询一级部门 + * @param appKey + * @param appSecret + * @return + */ + List getDeptList(Long deptId,String appKey,String appSecret); +} diff --git a/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 new file mode 100644 index 00000000..dd0267f8 --- /dev/null +++ b/service/src/main/java/com/hzya/frame/dingtalk/service/impl/DingTalkExtServiceImpl.java @@ -0,0 +1,100 @@ +package com.hzya.frame.dingtalk.service.impl; + +import cn.hutool.core.util.StrUtil; +import com.alibaba.fastjson.JSONArray; +import com.alibaba.fastjson.JSONObject; +import com.hzya.frame.dingtalk.service.IDingTalkExtService; +import com.hzya.frame.dingtalk.util.DingTalkAccessToken; +import com.hzya.frame.sysnew.application.api.entity.SysApplicationApiEntity; +import com.hzya.frame.sysnew.application.apiPara.dao.ISysApplicationApiParaDao; +import com.hzya.frame.sysnew.application.apiPara.entity.SysApplicationApiParaEntity; +import com.hzya.frame.sysnew.application.apiPara.service.ISysApplicationApiParaService; +import com.hzya.frame.sysnew.application.entity.SysApplicationEntity; +import com.hzya.frame.sysnew.application.entity.SysExtensionApiEntity; +import org.apache.commons.collections.CollectionUtils; +import org.springframework.beans.factory.annotation.Value; +import org.springframework.stereotype.Service; + +import javax.annotation.Resource; +import java.util.HashMap; +import java.util.List; +import java.util.Map; +import java.util.concurrent.ConcurrentHashMap; +import java.util.stream.Collectors; +import java.util.stream.Stream; + +/** + * @Description 钉钉集成扩展类 + * @Author xiangerlin + * @Date 2024/8/28 14:25 + **/ +@Service(value = "dingTalkExtService") +public class DingTalkExtServiceImpl implements IDingTalkExtService { + + + @Resource + private ISysApplicationApiParaDao sysApplicationApiParaDao; + private final ConcurrentHashMap dingTalkMap = new ConcurrentHashMap<>(); + /** + * 调用这个方法初始化钉钉参数 + * + * @param entity + * @return + */ + @Override + public SysExtensionApiEntity init(SysExtensionApiEntity entity) { + Map headers = entity.getHeaders(); + if (null == headers){ + headers = new HashMap<>(); + } + SysApplicationEntity receiveApp = entity.getReceiveApp(); + //查询应用上配置的参数 + JSONObject dingTalkConfig = getDingTalkConfig(receiveApp); + //给token赋值 + entity.setQuerys("access_token="+DingTalkAccessToken.getAccessToken(dingTalkConfig.getString("appKey"),dingTalkConfig.getString("appSecret"))); + return entity; + } + + /** + * 查询配置在应用上的钉钉参数 + * + * @param sysApplication + * @return + */ + @Override + public JSONObject getDingTalkConfig(SysApplicationEntity sysApplication) { + if (null != sysApplication && StrUtil.isNotEmpty(sysApplication.getId()) && null != sysApplication.getAppId()){ + JSONObject jsonObject = new JSONObject(); + String key = sysApplication.getAppId()+"dingTalk"; + if (null != dingTalkMap.get(key)){ + return dingTalkMap.get(key); + }else { + //查询应用上配置的参数 + SysApplicationApiParaEntity paraEntity = new SysApplicationApiParaEntity(); + paraEntity.setAppId(sysApplication.getId()); + List paraList = sysApplicationApiParaDao.query(paraEntity); + if (CollectionUtils.isNotEmpty(paraList)) { + List appKeyList = paraList.stream().filter(p -> p.getInterfaceKey().equals("appKey")).collect(Collectors.toList()); + if (CollectionUtils.isNotEmpty(appKeyList)) { + jsonObject.put("appKey", appKeyList.get(0).getInterfaceValue()); + } + List appSecretList = paraList.stream().filter(p -> p.getInterfaceKey().equals("appSecret")).collect(Collectors.toList()); + if (CollectionUtils.isNotEmpty(appSecretList)) { + jsonObject.put("appSecret", appSecretList.get(0).getInterfaceValue()); + } + dingTalkMap.put(key,jsonObject); + return dingTalkMap.get(key); + } + } + } + return null; + } + + /** + * 清空配置缓存 + */ + @Override + public void clearDingTalkConfigCatch() { + dingTalkMap.clear(); + } +} diff --git a/service/src/main/java/com/hzya/frame/dingtalk/service/impl/DingTalkServiceImpl.java b/service/src/main/java/com/hzya/frame/dingtalk/service/impl/DingTalkServiceImpl.java new file mode 100644 index 00000000..89b4bd3e --- /dev/null +++ b/service/src/main/java/com/hzya/frame/dingtalk/service/impl/DingTalkServiceImpl.java @@ -0,0 +1,164 @@ +package com.hzya.frame.dingtalk.service.impl; + +import com.alibaba.fastjson.JSONObject; +import com.dingtalk.api.DefaultDingTalkClient; +import com.dingtalk.api.DingTalkClient; +import com.dingtalk.api.request.OapiV2DepartmentGetRequest; +import com.dingtalk.api.request.OapiV2DepartmentListsubRequest; +import com.dingtalk.api.request.OapiV2UserGetRequest; +import com.dingtalk.api.request.OapiV2UserListRequest; +import com.dingtalk.api.response.OapiV2DepartmentGetResponse; +import com.dingtalk.api.response.OapiV2DepartmentListsubResponse; +import com.dingtalk.api.response.OapiV2UserGetResponse; +import com.dingtalk.api.response.OapiV2UserListResponse; +import com.hzya.frame.dingtalk.service.IDingTalkService; +import com.hzya.frame.dingtalk.util.DingTalkAccessToken; +import org.slf4j.Logger; +import org.slf4j.LoggerFactory; +import org.springframework.beans.factory.annotation.Value; +import org.springframework.stereotype.Service; + +import java.util.List; + +/** + * @Description 钉钉service + * @Author xiangerlin + * @Date 2024/8/27 16:17 + **/ +@Service +public class DingTalkServiceImpl implements IDingTalkService { + Logger logger = LoggerFactory.getLogger(getClass()); + @Value("${dingtalk.appKey:}") + private String dAppKey; + @Value("${dingtalk.appSecret:}") + private String dAppSecret; + + + /** + * 根据userid获取用户详情 + * + * @param userId 钉钉userid + * @param appKey + * @param appSecret + * @return + */ + @Override + public OapiV2UserGetResponse.UserGetResponse getUserById(String userId, String appKey, String appSecret) { + DingTalkClient client = new DefaultDingTalkClient("https://oapi.dingtalk.com/topapi/v2/user/get"); + OapiV2UserGetRequest req = new OapiV2UserGetRequest(); + req.setUserid(userId); + req.setLanguage("zh_CN"); + try { + OapiV2UserGetResponse rsp = client.execute(req, DingTalkAccessToken.getAccessToken(appKey,appSecret)); + if (rsp.isSuccess()){ + OapiV2UserGetResponse.UserGetResponse result = rsp.getResult(); + String s = JSONObject.toJSONString(result); + logger.info("人员详情信息:{}",s); + return result; + } + }catch (Exception e){ + logger.error("根据部门id获取钉钉用户详情出错:{}",e); + } + return null; + } + + /** + * 根据userid获取用户详情 + * + * @param userId + * @return + */ + @Override + public OapiV2UserGetResponse.UserGetResponse getUserById(String userId) { + return getUserById(userId,dAppKey,dAppSecret); + } + + /** + * 获取部门用户列表 + * + * @param req 请求参数 + * @param appKey + * @param appSecret + * @return + */ + @Override + public OapiV2UserListResponse.PageResult getUserListByDeptId(OapiV2UserListRequest req, String appKey, String appSecret) { + try { + DingTalkClient client = new DefaultDingTalkClient("https://oapi.dingtalk.com/topapi/v2/user/list"); + req.setSize(100L);//每页最大只能查100条 + req.setOrderField("modify_desc"); + req.setContainAccessLimit(false); + req.setLanguage("zh_CN"); + OapiV2UserListResponse rsp = client.execute(req, DingTalkAccessToken.getAccessToken(appKey,appSecret)); + OapiV2UserListResponse.PageResult result = rsp.getResult(); + return result; + }catch (Exception e){ + e.printStackTrace(); + } + return null; + } + + /** + * 根据部门id获取部门详情 + * + * @param deptId 钉钉部门id + * @param appKey + * @param appSecret + * @return + */ + @Override + public OapiV2DepartmentGetResponse.DeptGetResponse getDeptById(Long deptId, String appKey, String appSecret) { + DingTalkClient client = new DefaultDingTalkClient("https://oapi.dingtalk.com/topapi/v2/department/get"); + OapiV2DepartmentGetRequest req = new OapiV2DepartmentGetRequest(); + req.setDeptId(deptId); + req.setLanguage("zh_CN"); + try { + OapiV2DepartmentGetResponse rsp = client.execute(req, DingTalkAccessToken.getAccessToken(appKey,appSecret)); + if (rsp.isSuccess()){ + OapiV2DepartmentGetResponse.DeptGetResponse result = rsp.getResult(); + String s = JSONObject.toJSONString(result); + logger.info("部门详情信息:{}",s); + return result; + } + }catch(Exception e){ + logger.error("根据部门id获取钉钉部门出错:{}",e); + } + return null; + } + + /** + * 根据部门id获取部门详情 + * + * @param deptId + * @return + */ + @Override + public OapiV2DepartmentGetResponse.DeptGetResponse getDeptById(Long deptId) { + return getDeptById(deptId,dAppKey,dAppSecret); + } + + /** + * 获取部门列表,此接口只会返回下一级部门信息 + * @param deptId 部门id,如果不传则查询一级部门 + * @param appKey + * @param appSecret + * @return + */ + @Override + public List getDeptList(Long deptId,String appKey,String appSecret) { + try { + DingTalkClient client = new DefaultDingTalkClient("https://oapi.dingtalk.com/topapi/v2/department/listsub"); + OapiV2DepartmentListsubRequest req = new OapiV2DepartmentListsubRequest(); + req.setDeptId(deptId); + req.setLanguage("zh_CN"); + OapiV2DepartmentListsubResponse rsp = client.execute(req, DingTalkAccessToken.getAccessToken(appKey,appSecret)); + if (rsp.isSuccess()){ + List result = rsp.getResult(); + return result; + } + }catch (Exception e){ + logger.error("获取部门列表接口出错:{}",e); + } + return null; + } +} diff --git a/service/src/main/java/com/hzya/frame/dingtalk/util/DingTalkAccessToken.java b/service/src/main/java/com/hzya/frame/dingtalk/util/DingTalkAccessToken.java new file mode 100644 index 00000000..eb951180 --- /dev/null +++ b/service/src/main/java/com/hzya/frame/dingtalk/util/DingTalkAccessToken.java @@ -0,0 +1,103 @@ +package com.hzya.frame.dingtalk.util; + +import cn.hutool.core.util.StrUtil; +import com.aliyun.dingtalkoauth2_1_0.models.GetAccessTokenResponse; +import com.aliyun.tea.TeaException; +import org.slf4j.Logger; +import org.slf4j.LoggerFactory; +import org.springframework.beans.factory.annotation.Value; + +import java.time.Instant; + +/** + * @Description 钉钉获取accessToken + * @Author xiangerlin + * @Date 2024/8/27 14:05 + **/ +public class DingTalkAccessToken { + static Logger logger = LoggerFactory.getLogger(DingTalkAccessToken.class); + //token + private static String accessToken; + //过期时间 + private static Instant expireTime; + private static final Long CACHE_EXPIRY_TIME = 7000L; // 缓存有效时间(秒) + //应用key + private static String appKey; + //应用密钥 + private static String appSecret; + @Value("${dingtalk.appKey:}") + public static void setAppKey(String appKey) { + DingTalkAccessToken.appKey = appKey; + } + @Value("${dingtalk.appSecret:}") + public static void setAppSecret(String appSecret) { + DingTalkAccessToken.appSecret = appSecret; + } + + /** + * 获取token + * @return + */ + public static String getAccessToken(){ + return getAccessToken(appKey,appSecret); + } + /** + * 获取accessToken + * + * @param appKey + * @param appSecret + * @return + */ + public static String getAccessToken(String appKey,String appSecret) { + //判断是否过期 如果没过期直接返回 + if (null != accessToken && expireTime != null && Instant.now().isBefore(expireTime)) { + return accessToken; + } + //获取新的accessToken + accessToken = fetchNewAccessToken(appKey,appSecret); + //过期时间设置成当前事件+7000s,预留200s的时间 + expireTime = Instant.now().plusSeconds(CACHE_EXPIRY_TIME); + return accessToken; + } + + /** + * 获取新的accessToken + * + * @return + */ + private static String fetchNewAccessToken(String appKey,String appSecret) { + try { + //查询应用上配置的钉钉信息 + if (StrUtil.isNotEmpty(appKey) && StrUtil.isNotEmpty(appSecret)) { + //查询应用上的信息 + com.aliyun.dingtalkoauth2_1_0.Client client = DingTalkAccessToken.createClient(); + com.aliyun.dingtalkoauth2_1_0.models.GetAccessTokenRequest getAccessTokenRequest = new com.aliyun.dingtalkoauth2_1_0.models.GetAccessTokenRequest() + .setAppKey(appKey) + .setAppSecret(appSecret); + GetAccessTokenResponse accessToken = client.getAccessToken(getAccessTokenRequest); + String accessToken1 = accessToken.getBody().getAccessToken(); + return accessToken1; + } + } catch (Exception _err) { + TeaException err = new TeaException(_err.getMessage(), _err); + if (!com.aliyun.teautil.Common.empty(err.code) && !com.aliyun.teautil.Common.empty(err.message)) { + // err 中含有 code 和 message 属性,可帮助开发定位问题 + } + logger.error("获取钉钉token出错:{}", _err); + } + return null; + } + + /** + * 使用 Token 初始化账号Client + * + * @return Client + * @throws Exception + */ + private static com.aliyun.dingtalkoauth2_1_0.Client createClient() throws Exception { + com.aliyun.teaopenapi.models.Config config = new com.aliyun.teaopenapi.models.Config(); + config.protocol = "https"; + config.regionId = "central"; + return new com.aliyun.dingtalkoauth2_1_0.Client(config); + } +} diff --git a/service/src/main/java/com/hzya/frame/grpU8/nxproof/oerdjml/service/impl/OerDjmlExtServiceImpl.java b/service/src/main/java/com/hzya/frame/grpU8/nxproof/oerdjml/service/impl/OerDjmlExtServiceImpl.java index d8d4b2c7..78d409be 100644 --- a/service/src/main/java/com/hzya/frame/grpU8/nxproof/oerdjml/service/impl/OerDjmlExtServiceImpl.java +++ b/service/src/main/java/com/hzya/frame/grpU8/nxproof/oerdjml/service/impl/OerDjmlExtServiceImpl.java @@ -49,7 +49,7 @@ public class OerDjmlExtServiceImpl implements IOerDjmlExtService { Logger logger = LoggerFactory.getLogger(getClass()); @Autowired private RestUtil restUtil; - @Value("${savefile.path}") + @Value("${savefile.path:}") public String DSK; @Autowired private ISysApplicationDatabaseService sysApplicationDatabaseService; 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 4c3d4b73..d9571819 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 @@ -346,6 +346,7 @@ where id = #{id} `org_id` varchar(50) DEFAULT NULL COMMENT '组织机构ID', `company_id` varchar(50) DEFAULT NULL COMMENT '公司id', `data_id` varchar(100) DEFAULT NULL COMMENT 'data_id', + `mdm_up_id` varchar(100) DEFAULT NULL COMMENT 'mdm_up_id', `id` varchar(50) NOT NULL COMMENT '唯一标识码', @@ -378,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 '唯一标识码', @@ -396,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', @@ -961,19 +962,25 @@ 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} + 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/cbs8/service/impl/CbsLogServiceImpl.java b/service/src/main/java/com/hzya/frame/seeyon/cbs8/service/impl/CbsLogServiceImpl.java index bb2df76f..a99744cf 100644 --- a/service/src/main/java/com/hzya/frame/seeyon/cbs8/service/impl/CbsLogServiceImpl.java +++ b/service/src/main/java/com/hzya/frame/seeyon/cbs8/service/impl/CbsLogServiceImpl.java @@ -39,7 +39,7 @@ public class CbsLogServiceImpl extends BaseService implemen Logger log = LoggerFactory.getLogger(getClass()); private ICbsLogDao cbsLogDao; - @Value("${OA.data_source_code}") + @Value("${OA.data_source_code:}") private String oa_data_source_code; @Autowired public void setCbsLogDao(ICbsLogDao cbsLogDao) { 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/service/impl/SysApplicationServiceImpl.java b/service/src/main/java/com/hzya/frame/sysnew/application/service/impl/SysApplicationServiceImpl.java index 77a1dd3f..b6ad01cd 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 fields; private List returnField; + /** 显示类型 1、树2、列表*/ + private String viewName; + //下级结构树 + private List comparisonEntities; + + public List getComparisonEntities() { + return comparisonEntities; + } + + public void setComparisonEntities(List comparisonEntities) { + this.comparisonEntities = comparisonEntities; + } + + public String getViewName() { + return viewName; + } + + public void setViewName(String viewName) { + this.viewName = viewName; + } + public List getReturnField() { return returnField; } 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/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..5cda5ede --- /dev/null +++ b/service/src/main/java/com/hzya/frame/sysnew/messageTemplate/entity/SysMessageTemplateEntity.java @@ -0,0 +1,136 @@ +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 billKindId; + /** 模版类型 */ + private String templateType; + /** 模版名称 */ + private String templateName; + /** 消息标题 */ + private String messageTitle; + /** 消息内容 */ + private String messageContents; + /** 消息操作区域 */ + private String btns; + /** 数据源 */ + private String dataSource; + /** 创建时间 */ + private Date createDate; + /** 创建人 */ + private String createPersonId; + /** 状态 */ + private String state; + /** 删除标志 */ + private Integer isdelete; + + + public String getCompanyId() { + return companyId; + } + + public void setCompanyId(String companyId) { + this.companyId = companyId; + } + + public String getBillKindId() { + return billKindId; + } + + public void setBillKindId(String billKindId) { + this.billKindId = billKindId; + } + + 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 Date getCreateDate() { + return createDate; + } + + public void setCreateDate(Date createDate) { + this.createDate = createDate; + } + + public String getCreatePersonId() { + return createPersonId; + } + + public void setCreatePersonId(String createPersonId) { + this.createPersonId = createPersonId; + } + + public String getState() { + return state; + } + + public void setState(String state) { + this.state = state; + } + + public Integer getIsdelete() { + return isdelete; + } + + public void setIsdelete(Integer isdelete) { + this.isdelete = isdelete; + } + +} + 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..80002b16 --- /dev/null +++ b/service/src/main/java/com/hzya/frame/sysnew/messageTemplate/entity/SysMessageTemplateEntity.xml @@ -0,0 +1,328 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + id + ,sorts + ,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 + + + + + + + + + + + + + + + + + + + + insert into sys_message_template( + + id , + sorts , + 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( + + #{id} , + #{sorts} , + #{create_user_id} , + #{create_time} , + #{modify_user_id} , + #{modify_time} , + #{sts} , + #{org_id} , + #{companyId} , + #{billKindId} , + #{templateType} , + #{templateName} , + #{messageTitle} , + #{messageContents} , + #{btns} , + #{dataSource} , + #{createDate} , + #{createPersonId} , + #{state} , + #{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, 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}, + bill_kind_id = #{billKindId}, + template_type = #{templateType}, + template_name = #{templateName}, + message_title = #{messageTitle}, + message_contents = #{messageContents}, + btns = #{btns}, + data_source = #{dataSource}, + create_date = #{createDate}, + create_person_id = #{createPersonId}, + state = #{state}, + isdelete = #{isdelete}, + +where id = #{id} + + + +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..7f4db12a --- /dev/null +++ b/service/src/main/java/com/hzya/frame/sysnew/messageTemplate/service/impl/SysMessageTemplateServiceImpl.java @@ -0,0 +1,205 @@ +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.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 + 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.getBillKindId() == null || "".equals(entity.getBillKindId())){ + return BaseResult.getFailureMessageEntity("调用单据类型不允许为空"); + } + if(entity.getTemplateType() == null || "".equals(entity.getTemplateType())){ + return BaseResult.getFailureMessageEntity("模版类型不允许为空"); + } + if(entity.getTemplateName() == null || "".equals(entity.getTemplateName())){ + return BaseResult.getFailureMessageEntity("模版名称不允许为空"); + } + if(entity.getMessageContents() == null || "".equals(entity.getMessageContents())){ + return BaseResult.getFailureMessageEntity("消息内容不允许为空"); + } + if(entity.getDataSource() == null || "".equals(entity.getDataSource())){ + return BaseResult.getFailureMessageEntity("数据源不允许为空"); + } + if(entity.getCreateDate() == null){ + return BaseResult.getFailureMessageEntity("创建时间不允许为空"); + } + if(entity.getCreatePersonId() == null || "".equals(entity.getCreatePersonId())){ + return BaseResult.getFailureMessageEntity("创建人不允许为空"); + } + entity.setCreate(); + sysMessageTemplateDao.save(entity); + return BaseResult.getSuccessMessageEntity("保存消息模版成功",entity); + } + + @Override + public JsonResultEntity updateEntity(JSONObject jsonObject){ + SysMessageTemplateEntity entity = getData("jsonStr", jsonObject, SysMessageTemplateEntity.class); + if(entity == null){ + return BaseResult.getFailureMessageEntity("参数不允许为空"); + } + if (entity.getId() == null || "".equals(entity.getId())) { + return BaseResult.getFailureMessageEntity("系统错误"); + } + if(entity.getBillKindId() == null || "".equals(entity.getBillKindId())){ + return BaseResult.getFailureMessageEntity("调用单据类型不允许为空"); + } + if(entity.getTemplateType() == null || "".equals(entity.getTemplateType())){ + return BaseResult.getFailureMessageEntity("模版类型不允许为空"); + } + if(entity.getTemplateName() == null || "".equals(entity.getTemplateName())){ + return BaseResult.getFailureMessageEntity("模版名称不允许为空"); + } + if(entity.getMessageContents() == null || "".equals(entity.getMessageContents())){ + return BaseResult.getFailureMessageEntity("消息内容不允许为空"); + } + if(entity.getDataSource() == null || "".equals(entity.getDataSource())){ + return BaseResult.getFailureMessageEntity("数据源不允许为空"); + } + if(entity.getCreateDate() == null){ + return BaseResult.getFailureMessageEntity("创建时间不允许为空"); + } + if(entity.getCreatePersonId() == null || "".equals(entity.getCreatePersonId())){ + return BaseResult.getFailureMessageEntity("创建人不允许为空"); + } + entity.setUpdate(); + sysMessageTemplateDao.update(entity); + return BaseResult.getSuccessMessageEntity("修改消息模版成功",entity); + } + + @Override + public JsonResultEntity deleteEntity(JSONObject jsonObject){ + SysMessageTemplateEntity entity = getData("jsonStr", jsonObject, SysMessageTemplateEntity.class); + if(entity == null){ + return BaseResult.getFailureMessageEntity("参数不允许为空"); + } + if (entity.getId() == null || "".equals(entity.getId())) { + return BaseResult.getFailureMessageEntity("系统错误"); + } + entity.setUpdate(); + //1、判断这个模版有没有被使用过,使用过就不能删除(待完成) + //将模版id去,预警配置表里查一下,如果有匹配的数据,代表有人正在使用,不能删除 + sysMessageTemplateDao.logicRemove(entity); + return BaseResult.getSuccessMessageEntity("删除消息模版成功"); + } + + @Override + public JsonResultEntity enableDisableEntity(JSONObject jsonObject){ + SysMessageTemplateEntity entity = getData("jsonStr", jsonObject, SysMessageTemplateEntity.class); + if(entity == null){ + return BaseResult.getFailureMessageEntity("参数不允许为空"); + } + if (entity.getId() == null || "".equals(entity.getId())) { + return BaseResult.getFailureMessageEntity("系统错误"); + } + if (entity.getState() == null || "".equals(entity.getState())) { + return BaseResult.getFailureMessageEntity("系统错误"); + } + //0启用,1禁用 + if("0".equals(entity.getState())){ + entity.setUpdate(); + sysMessageTemplateDao.update(entity); + return BaseResult.getSuccessMessageEntity("启用模版成功"); + }else{ + //停用消息模版 + entity.setUpdate(); + sysMessageTemplateDao.update(entity); + return BaseResult.getSuccessMessageEntity("停用模版成功"); + } + } + + @Override + public JsonResultEntity 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/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..94eeb61f --- /dev/null +++ b/service/src/main/java/com/hzya/frame/sysnew/pushMessage/entity/SysPushMessageEntity.java @@ -0,0 +1,117 @@ +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; + /** 接收者ID列表*/ + private String recipientIdList; + /** 预警应用类型 */ + 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 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 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..0916a33a --- /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..28a7028d --- /dev/null +++ b/service/src/main/java/com/hzya/frame/sysnew/pushMessage/service/impl/SysPushMessageServiceImpl.java @@ -0,0 +1,33 @@ +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..6e88baf2 --- /dev/null +++ b/service/src/main/java/com/hzya/frame/sysnew/sendMessageLog/entity/SysSendMessageLogEntity.java @@ -0,0 +1,126 @@ +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 { + + /** 公司id */ + private String companyId; + /** 来源业务单据 */ + private String billId; + /** 消息类型(1、系统消息、2、单据消息、3、钉钉、4微信、5短信、6、邮件) */ + private String type; + /** 发送给谁(三方系统userID 钉钉微信、邮箱、手机号) */ + private String sendToUserId; + /** 发送给系统内部人员ID */ + private String sendToPersonId; + /** 消息内容 */ + private String sendCount; + /** 发送时间 */ + private Date sendDatetime; + /** 发送人Id */ + private String sendPersonId; + /** 消息发送来源模块 */ + private String sourceModelName; + /** 消息状态(0未读1已读) */ + private Integer state; + /** 三方系统消息结果 */ + private String resultMessage; + + + public String getCompanyId() { + return companyId; + } + + public void setCompanyId(String companyId) { + this.companyId = companyId; + } + + public String getBillId() { + return billId; + } + + public void setBillId(String billId) { + this.billId = billId; + } + + public String getType() { + return type; + } + + public void setType(String type) { + this.type = type; + } + + public String getSendToUserId() { + return sendToUserId; + } + + public void setSendToUserId(String sendToUserId) { + this.sendToUserId = sendToUserId; + } + + public String getSendToPersonId() { + return sendToPersonId; + } + + public void setSendToPersonId(String sendToPersonId) { + this.sendToPersonId = sendToPersonId; + } + + 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..144a67e7 --- /dev/null +++ b/service/src/main/java/com/hzya/frame/sysnew/sendMessageLog/entity/SysSendMessageLogEntity.xml @@ -0,0 +1,353 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + id + ,sorts + ,create_user_id + ,create_time + ,modify_user_id + ,modify_time + ,sts + ,org_id + ,company_id + ,bill_id + ,type + ,send_to_user_id + ,send_to_person_id + ,send_count + ,send_datetime + ,send_person_id + ,source_model_name + ,state + ,result_message + + + + + + + + + + + + + + + + + + + insert into sys_send_message_log( + + id , + sorts , + create_user_id , + create_time , + modify_user_id , + modify_time , + sts , + org_id , + company_id , + bill_id , + type , + send_to_user_id , + send_to_person_id , + send_count , + send_datetime , + send_person_id , + source_model_name , + state , + result_message , + sts, + + )values( + + #{id} , + #{sorts} , + #{create_user_id} , + #{create_time} , + #{modify_user_id} , + #{modify_time} , + #{sts} , + #{org_id} , + #{companyId} , + #{billId} , + #{type} , + #{sendToUserId} , + #{sendToPersonId} , + #{sendCount} , + #{sendDatetime} , + #{sendPersonId} , + #{sourceModelName} , + #{state} , + #{resultMessage} , + 'Y', + + ) + + + + insert into sys_send_message_log(create_user_id, create_time, modify_user_id, modify_time, sts, org_id, company_id, bill_id, type, send_to_user_id, send_to_person_id, send_count, send_datetime, send_person_id, source_model_name, state, result_message, sts) + values + + (#{entity.create_user_id},#{entity.create_time},#{entity.modify_user_id},#{entity.modify_time},#{entity.sts},#{entity.org_id},#{entity.companyId},#{entity.billId},#{entity.type},#{entity.sendToUserId},#{entity.sendToPersonId},#{entity.sendCount},#{entity.sendDatetime},#{entity.sendPersonId},#{entity.sourceModelName},#{entity.state},#{entity.resultMessage}, 'Y') + + + + + insert into sys_send_message_log(create_user_id, create_time, modify_user_id, modify_time, sts, org_id, company_id, bill_id, type, send_to_user_id, send_to_person_id, send_count, send_datetime, send_person_id, source_model_name, state, result_message) + values + + (#{entity.create_user_id},#{entity.create_time},#{entity.modify_user_id},#{entity.modify_time},#{entity.sts},#{entity.org_id},#{entity.companyId},#{entity.billId},#{entity.type},#{entity.sendToUserId},#{entity.sendToPersonId},#{entity.sendCount},#{entity.sendDatetime},#{entity.sendPersonId},#{entity.sourceModelName},#{entity.state},#{entity.resultMessage}) + + 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), + send_to_user_id = values(send_to_user_id), + send_to_person_id = values(send_to_person_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}, + bill_id = #{billId}, + type = #{type}, + send_to_user_id = #{sendToUserId}, + send_to_person_id = #{sendToPersonId}, + 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 bill_id = #{billId} + and type = #{type} + and send_to_user_id = #{sendToUserId} + and send_to_person_id = #{sendToPersonId} + 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..929a22b3 --- /dev/null +++ b/service/src/main/java/com/hzya/frame/sysnew/sendMessageLog/service/ISysSendMessageLogService.java @@ -0,0 +1,34 @@ +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 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..2ff4f682 --- /dev/null +++ b/service/src/main/java/com/hzya/frame/sysnew/sendMessageLog/service/impl/SysSendMessageLogServiceImpl.java @@ -0,0 +1,410 @@ +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.messageTemplate.dao.ISysMessageTemplateDao; +import com.hzya.frame.sysnew.messageTemplate.entity.SysMessageTemplateEntity; +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.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 ISysWarningInterfaceDao sysWarningInterfaceDao; + @Resource + private ISysWarningConfigDao sysWarningConfigDao; + @Resource + private ISysMessageTemplateDao sysMessageTemplateDao; + @Resource + private ISysUserDao sysUserDao; + @Resource + private ISysApplicationApiDao sysApplicationApiDao; + @Resource + private ISysApplicationApiParaDao sysApplicationApiParaDao; + + 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 saveEntity(JSONObject jsonObject) { + SysSendMessageLogEntity entity = getData("jsonStr", jsonObject, SysSendMessageLogEntity.class); + if (entity == null) { + return BaseResult.getFailureMessageEntity("参数不能为空"); + } + if (entity.getBillId() == null || "".equals(entity.getBillId())) { + return BaseResult.getFailureMessageEntity("来源业务单据不能为空"); + } + entity.setCreate(); + sysSendMessageLogDao.save(entity); + return BaseResult.getSuccessMessageEntity("保存发送消息日志成功", entity); + } + + @Override + public JsonResultEntity updateEntity(JSONObject jsonObject){ + SysSendMessageLogEntity entity = getData("jsonStr", jsonObject, SysSendMessageLogEntity.class); + if (entity == null) { + return BaseResult.getFailureMessageEntity("参数不能为空"); + } + if (entity.getId() == null || "".equals(entity.getId())) { + return BaseResult.getFailureMessageEntity("系统错误"); + } + if (entity.getBillId() == null || "".equals(entity.getBillId())) { + return BaseResult.getFailureMessageEntity("来源业务单据不能为空"); + } + entity.setUpdate(); + sysSendMessageLogDao.update(entity); + return BaseResult.getSuccessMessageEntity("修改发送消息日志成功", entity); + } + + @Override + public JsonResultEntity deleteEntity(JSONObject jsonObject){ + SysSendMessageLogEntity entity = getData("jsonStr", jsonObject, SysSendMessageLogEntity.class); + if(entity == null){ + return BaseResult.getFailureMessageEntity("参数不能为空"); + } + if (entity.getId() == null || "".equals(entity.getId())) { + return BaseResult.getFailureMessageEntity("系统错误"); + } + entity.setUpdate();; + sysSendMessageLogDao.logicRemove(entity); + return BaseResult.getSuccessMessageEntity("删除发送消息日志成功", entity); + } + + + /** + * sendMessage方法:根据请求错误消息,组装成消息模版,推送到三方业务系统 + * 1、先获取接口调用的日志数据 + * 2、如果日志状态为失败,且该接口预警状态为启用,则进行消息推送 + * 3、根据预警配置,找到消息模版,并生成消息内容 + * 4、根据预警配置,找到预警应用,并推送消息 + * 5、保存消息推送日志 + * */ + @Override + public boolean sendMessage(SysPushMessageEntity entity){ + String status = entity.getStatus(); + Long receiveApiCode = entity.getReceiveApiCode(); + String sendAppName = entity.getSendAppName(); + String receiveApiName = entity.getReceiveApiName(); + String recieveAppName = entity.getReceiveAppName(); + String returnData = entity.getReturnData(); + String warningAppType = entity.getWarningAppType(); + Long warningAppCode = entity.getWarningAppCode(); + Long warningApiCode = entity.getWarningApiCode(); + String sendMsgContent = ""; + + SysWarningInterfaceEntity interfaceEntity = new SysWarningInterfaceEntity(); + SysWarningConfigEntity configEntity = new SysWarningConfigEntity(); + SysMessageTemplateEntity templateEntity = new SysMessageTemplateEntity(); + SysApplicationApiParaEntity sysApplicationApiParaEntity = new SysApplicationApiParaEntity(); + + interfaceEntity.setApiCode(receiveApiCode); + + if(status == null){ + logger.error("日志状态为空"); + return false; + } + //只有发送失败的日志才会推送消息,成功的日志不推送消息 + if ("4".equals(status)) { + interfaceEntity = sysWarningInterfaceDao.queryOne(interfaceEntity); + if(interfaceEntity == null){ + logger.error("未找到API接口预警信息"); + return false; + } + //只有预警接口状态为启用,才会进行消息推送 + if(interfaceEntity.getStatus() == null || interfaceEntity.getStatus().equals("1") == false){ + logger.error("API接口未启用推送"); + return false; + } + //根据主表id,找到主表记录中的消息模版id + String warningConfigId = interfaceEntity.getWarningConfigId(); + if(warningConfigId == null || "".equals(warningConfigId)){ + logger.error("未找到该接口预警配置信息的主表id"); + return false; + } + configEntity = sysWarningConfigDao.get(warningConfigId); + if(configEntity == null){ + logger.error("未找到该接口预警配置信息"); + return false; + } + String messageTemplateId = configEntity.getMessageTemplateId(); + if(messageTemplateId == null || "".equals(messageTemplateId)){ + logger.error("未找到该接口预警配置信息的消息模版id"); + return false; + } + templateEntity = sysMessageTemplateDao.get(messageTemplateId); + if(templateEntity == null){ + logger.error("未找到该接口预警配置信息的消息模版信息"); + return false; + } + + String messageContent = templateEntity.getMessageContents(); + if(messageContent == null || "".equals(messageContent)){ + logger.error("未找到该接口预警配置信息的消息模版内容"); + return false; + } + //推送消息内容拼接 + sendMsgContent = messageContent.replace("${reciecveAppName}",recieveAppName); + sendMsgContent = sendMsgContent.replace("${sendAppName}",sendAppName); + sendMsgContent = sendMsgContent.replace("${receiveApiName}",receiveApiName); + sendMsgContent = sendMsgContent.replace("${returnData}",returnData); + //消息模版名称 + String templateName = templateEntity.getTemplateName(); + String type = ""; + String bodyParams = ""; + String warningAppId = configEntity.getWarningAppId(); + + //查询预警人员id列表 + String recipientIdList = configEntity.getRecipientId(); + //根据预警人员id列表,获取预警应用人员id列表 + String warningAppReceiverIdList = getWarningAppReceiverIdList(warningAppType,recipientIdList); + + switch (warningAppType){ + case "6WX": + //调用微信推送消息 + break; + case "5DD": + //消息类型:3表示钉钉 + type = "3"; + //获取钉钉发送消息时使用的微应用的AgentID + sysApplicationApiParaEntity.setAppId(warningAppId); + sysApplicationApiParaEntity.setInterfaceKey("agentId"); + String agentId = sysApplicationApiParaDao.queryOne(sysApplicationApiParaEntity).getInterfaceValue(); + //拼接调用钉钉接口的body参数 + bodyParams = splicingDDBody(sendMsgContent,agentId,warningAppReceiverIdList).toString(); + break; + default: + logger.error("未找到该应用类型"); + break; + } + String result = HttpRequest.post("http://127.0.0.1:9999/kangarooDataCenterV3/entranceController/externalCallInterface"). + header("appId",warningAppCode.toString()). + header("apiCode",warningApiCode.toString()). + header("publicKey","ZJYA7v6DubGMm8EdBPGo+Jj9wCpUeCGJEpfBRLiInq4dvDlCe7eDIk+3zDUT+v578prj"). + header("secretKey","bsAMm6tvJs/BV1SO/9ZzjlW+OQaK0mwyv6rLvktyNy/OdltLuG2zze9bT7ttfAA9j3JzOP8MtA1LSGvL+2BWG8c/o7DKi92S4mr3zcGearA="). + body(bodyParams). + execute(). + body(); + JSONObject resultJson = JSONObject.parseObject(result); + String body = resultJson.getString("attribute"); + + SysApplicationApiEntity sysApplicationApiEntity = new SysApplicationApiEntity(); + sysApplicationApiEntity.setApiCode(warningApiCode); + SysApplicationApiEntity warningApiEntity = sysApplicationApiDao.queryOne(sysApplicationApiEntity); + + //根据预警接口编码,以及返回数据,判断消息推送是否成功 + if(warningApiEntity.getReturnSuccessField() != null && !"".equals(warningApiEntity.getReturnSuccessField()) + && warningApiEntity.getReturnSuccessValue() != null && !"".equals(warningApiEntity.getReturnSuccessValue())){ + //先判断返回值是否为JSON格式 + if (JSONUtil.isTypeJSON(body)){ + JSONObject cheackdatas = JSONObject.parseObject(body); + JSONObject datas = JSONObject.parseObject(body); + String checkdata = cheackdatas.getString(warningApiEntity.getReturnSuccessField()); + //判断返回值是否为预警接口预期的返回值(1、返回值匹配2、返回值配置的就是not null3、返回值带.) + if (checkdata != null && warningApiEntity.getReturnSuccessValue().equals(checkdata)) { + logger.info("推送消息成功,开始保存日志"); + }else if(warningApiEntity.getReturnSuccessValue().equals("not null") && checkdata != null){ + logger.info("推送消息成功,开始保存日志"); + }else { + String fieldname = warningApiEntity.getReturnSuccessField(); + if(fieldname.contains(".")){ + String[] fileds = fieldname.split("\\."); + boolean flags = false; + for (int i = 0; i < fileds.length; i++) { + if (JSONUtil.isTypeJSON(datas.getString(fileds[i]))) { + datas = datas.getJSONObject(fileds[i]); + if(fileds.length-2 == i ){ + String a = datas.getString(fileds[i+1]); + if (a != null && warningApiEntity.getReturnSuccessValue().equals(a)) { + flags = true; + break; + }else if(warningApiEntity.getReturnSuccessValue().equals("not null") && a != null){ + flags = true; + break; + }else { + break; + } + } + } + } + if(flags){ + logger.info("推送消息成功,开始保存日志"); + }else { + logger.error("推送消息失败,返回值错误"); + } + + }else { + logger.error("推送消息失败,返回值错误"); + } + } + }else{ + logger.error("接口调用失败,返回格式错误,不是JSON"); + } + }else{ + logger.error("api返回信息字段未配置,开始保存日志"); + } + saveLog(sendMsgContent,type,resultJson.toString(),templateName,recipientIdList,warningAppReceiverIdList); + logger.info("保存日志成功"); + }else{ + logger.error("日志状态为成功,不需要推送消息"); + return false; + } + return true; + } + + + /**保存推送消息日志时,需要循环预警应用人员id列表*/ + public void saveLog(String sendMsgContent,String type,String resultMessage,String templateName,String recipientIdList,String warningAppReceiverIdList){ + SysSendMessageLogEntity logEntity = new SysSendMessageLogEntity(); + logEntity.setSendCount(sendMsgContent); + logEntity.setType(type); + logEntity.setBillId("test1411"); + logEntity.setSendDatetime(new Date()); + + 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); + + String[] personIdList = warningAppReceiverIdList.split(","); + String[] userIdList = recipientIdList.split(","); + + for(int i=0;i sysUserList = new ArrayList<>(); + for(String userId : userIdArray){ + sysUserList.add(sysUserDao.get(userId)); + } + switch (warningAppType){ + case "6WX": + //获取微信预警人员id列表 + break; + case "5DD": + //获取钉钉预警人员id列表 + for(SysUserEntity sysUser : sysUserList){ + if(sysUser.getDdUserId()!= null && !"".equals(sysUser.getDdUserId())){ + if(!warningAppReceiverIdList.isEmpty()){ + warningAppReceiverIdList += ","; + } + warningAppReceiverIdList += sysUser.getDdUserId(); + } + } + break; + default: + logger.error("未找到该应用类型"); + break; + } + 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..8358eb94 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,26 @@ public class SysUserEntity extends BaseEntity { */ private String mobilePhone; + private String ddUserId; + + private String wxUserId; + + 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 + + from sys_warning_config where id = #{ id } and 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 , + warning_app_id , + accept_message_api_code , + remark , + status , + recipient_id , + sts, + + )values( + + #{id} , + #{sorts} , + #{create_user_id} , + #{create_time} , + #{modify_user_id} , + #{modify_time} , + #{sts} , + #{org_id} , + #{companyId} , + #{messageTemplateId} , + #{appId} , + #{warningAppId} , + #{acceptMessageApiCode} , + #{remark} , + #{status} , + #{recipientId} , + 'Y', + + ) + + + + insert into sys_warning_config(create_user_id, create_time, modify_user_id, modify_time, sts, org_id, company_id, message_template_id, app_id, warning_app_id, accept_message_api_code, remark, status, recipient_id, sts) + values + + (#{entity.create_user_id},#{entity.create_time},#{entity.modify_user_id},#{entity.modify_time},#{entity.sts},#{entity.org_id},#{entity.companyId},#{entity.messageTemplateId},#{entity.appId},#{entity.warningAppId},#{entity.acceptMessageApiCode},#{entity.remark},#{entity.status},#{entity.recipientId}, 'Y') + + + + + insert into sys_warning_config(create_user_id, create_time, modify_user_id, modify_time, sts, org_id, company_id, message_template_id, app_id, warning_app_id, accept_message_api_code, remark, status, recipient_id) + values + + (#{entity.create_user_id},#{entity.create_time},#{entity.modify_user_id},#{entity.modify_time},#{entity.sts},#{entity.org_id},#{entity.companyId},#{entity.messageTemplateId},#{entity.appId},#{entity.warningAppId},#{entity.acceptMessageApiCode},#{entity.remark},#{entity.status},#{entity.recipientId}) + + 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 = values(app_id), + warning_app_id = values(warning_app_id), + accept_message_api_code = values(accept_message_api_code), + remark = values(remark), + status = values(status), + recipient_id = values(recipient_id) + + +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 = #{appId}, + warning_app_id = #{warningAppId}, + accept_message_api_code = #{acceptMessageApiCode}, + remark = #{remark}, + status = #{status}, + recipient_id = #{recipientId}, + +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 = #{appId} + and warning_app_id = #{warningAppId} + and accept_message_api_code = #{acceptMessageApiCode} + and remark = #{remark} + and status = #{status} + and recipient_id = #{recipientId} + 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..7634e93f --- /dev/null +++ b/service/src/main/java/com/hzya/frame/sysnew/warningConfig/service/impl/SysWarningConfigServiceImpl.java @@ -0,0 +1,167 @@ +package com.hzya.frame.sysnew.warningConfig.service.impl; + +import com.alibaba.fastjson.JSONObject; +import com.github.pagehelper.PageHelper; +import com.github.pagehelper.PageInfo; +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.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; + +/** + * 预警配置表(SysWarningConfig)表服务实现类 + * + * @author makejava + * @since 2024-09-03 09:28:23 + */ +@Service(value = "sysWarningConfigService") +public class SysWarningConfigServiceImpl extends BaseService implements ISysWarningConfigService { + + 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); + PageInfo pageInfo = new PageInfo(list); + 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); + return BaseResult.getSuccessMessageEntity("查询数据成功",list); + } + + @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("获取预警配置失败"); + } + return BaseResult.getSuccessMessageEntity("获取预警配置成功",entity); + } + + @Override + public JsonResultEntity saveEntity(JSONObject jsonObject){ + SysWarningConfigEntity entity = getData("jsonStr", jsonObject, SysWarningConfigEntity.class); + if(entity == null){ + return BaseResult.getFailureMessageEntity("参数不允许为空"); + } + if(entity.getMessageTemplateId() == null || "".equals(entity.getMessageTemplateId())){ + return BaseResult.getFailureMessageEntity("消息模版不允许为空"); + } + if(entity.getAppId() == null || "".equals(entity.getAppId())){ + return BaseResult.getFailureMessageEntity("应用ID不允许为空"); + } + if(entity.getWarningAppId() == null || "".equals(entity.getWarningAppId())){ + return BaseResult.getFailureMessageEntity("预警应用类型不允许为空"); + } + if(entity.getStatus() == null || "".equals(entity.getStatus())){ + return BaseResult.getFailureMessageEntity("状态不允许为空"); + } + if(entity.getRecipientId() == null || "".equals(entity.getRecipientId())){ + return BaseResult.getFailureMessageEntity("接收者ID不允许为空"); + } + entity.setCreate(); + sysWarningConfigDao.save(entity); + return BaseResult.getSuccessMessageEntity("保存预警配置成功",entity); + } + + @Override + public JsonResultEntity updateEntity(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("系统错误"); + } + if(entity.getMessageTemplateId() == null || "".equals(entity.getMessageTemplateId())){ + return BaseResult.getFailureMessageEntity("消息模版不允许为空"); + } + if(entity.getAppId() == null || "".equals(entity.getAppId())){ + return BaseResult.getFailureMessageEntity("应用ID不允许为空"); + } + if(entity.getWarningAppId() == null || "".equals(entity.getWarningAppId())){ + return BaseResult.getFailureMessageEntity("预警应用类型不允许为空"); + } + if(entity.getStatus() == null || "".equals(entity.getStatus())){ + return BaseResult.getFailureMessageEntity("状态不允许为空"); + } + if(entity.getRecipientId() == null || "".equals(entity.getRecipientId())){ + return BaseResult.getFailureMessageEntity("接收者ID不允许为空"); + } + entity.setUpdate(); + sysWarningConfigDao.update(entity); + return BaseResult.getSuccessMessageEntity("修改预警配置成功",entity); + } + + @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("系统错误"); + } + 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("系统错误"); + } + if (entity.getStatus() == null || "".equals(entity.getStatus())) { + return BaseResult.getFailureMessageEntity("系统错误"); + } + //0启用,1禁用 + if("0".equals(entity.getStatus())){ + entity.setUpdate(); + sysWarningConfigDao.update(entity); + return BaseResult.getSuccessMessageEntity("启用模版成功"); + }else{ + //停用消息模版 + entity.setUpdate(); + sysWarningConfigDao.update(entity); + return BaseResult.getSuccessMessageEntity("停用模版成功"); + } + } + +} 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..544241f6 --- /dev/null +++ b/service/src/main/java/com/hzya/frame/sysnew/warningInterface/dao/ISysWarningInterfaceDao.java @@ -0,0 +1,15 @@ +package com.hzya.frame.sysnew.warningInterface.dao; + +import com.hzya.frame.sysnew.warningInterface.entity.SysWarningInterfaceEntity; +import com.hzya.frame.basedao.dao.IBaseDao; + +/** + * 预警接口表(sys_warning_interface: table)表数据库访问层 + * + * @author makejava + * @since 2024-09-03 10:06:18 + */ +public interface ISysWarningInterfaceDao extends IBaseDao { + +} + 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..655eb183 --- /dev/null +++ b/service/src/main/java/com/hzya/frame/sysnew/warningInterface/dao/impl/SysWarningInterfaceDaoImpl.java @@ -0,0 +1,17 @@ +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; +/** + * 预警接口表(SysWarningInterface)表数据库访问层 + * + * @author makejava + * @since 2024-09-03 10:06:19 + */ +@Repository(value = "SysWarningInterfaceDaoImpl") +public class SysWarningInterfaceDaoImpl extends MybatisGenericDao implements ISysWarningInterfaceDao{ + +} + 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..fa2181c9 --- /dev/null +++ b/service/src/main/java/com/hzya/frame/sysnew/warningInterface/entity/SysWarningInterfaceEntity.java @@ -0,0 +1,76 @@ +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 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 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..663e7cd1 --- /dev/null +++ b/service/src/main/java/com/hzya/frame/sysnew/warningInterface/entity/SysWarningInterfaceEntity.xml @@ -0,0 +1,254 @@ + + + + + + + + + + + + + + + + + + + + + + + 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 + + + + + + + + + + + + + + + + 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 , + sts, + + )values( + + #{id} , + #{sorts} , + #{create_user_id} , + #{create_time} , + #{modify_user_id} , + #{modify_time} , + #{sts} , + #{org_id} , + #{companyId} , + #{apiName} , + #{apiCode} , + #{pushMethod} , + #{status} , + #{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, 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..09f2ff30 --- /dev/null +++ b/service/src/main/java/com/hzya/frame/sysnew/warningInterface/service/ISysWarningInterfaceService.java @@ -0,0 +1,29 @@ +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 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..70c2e1eb --- /dev/null +++ b/service/src/main/java/com/hzya/frame/sysnew/warningInterface/service/impl/SysWarningInterfaceServiceImpl.java @@ -0,0 +1,167 @@ +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.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.List; + +/** + * 预警接口表(SysWarningInterface)表服务实现类 + * + * @author makejava + * @since 2024-09-03 10:06:19 + */ +@Service(value = "sysWarningInterfaceService") +public class SysWarningInterfaceServiceImpl extends BaseService implements ISysWarningInterfaceService { + + private ISysWarningInterfaceDao sysWarningInterfaceDao; + + @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.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.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("停用模版成功"); + } + + } + +} 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 46af2a3c..e99454da 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 @@ -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());