消息模版被引用过,就无法删除

停用消息模版时,同步停用对应预警设置
推送消息时,校验预警设置中消息模版启用状态
预警设置启用时,校验该配置中对应消息模版是否启用
This commit is contained in:
username 2024-09-18 14:15:19 +08:00
parent b038b7e0c2
commit 8ed7373134
3 changed files with 186 additions and 144 deletions

View File

@ -9,11 +9,15 @@ import com.hzya.frame.sysnew.messageTemplate.dao.ISysMessageTemplateDao;
import com.hzya.frame.sysnew.messageTemplate.service.ISysMessageTemplateService;
import com.hzya.frame.sysnew.person.dao.ISysPersonDao;
import com.hzya.frame.sysnew.user.entity.SysUserEntity;
import com.hzya.frame.sysnew.warningConfig.dao.ISysWarningConfigDao;
import com.hzya.frame.sysnew.warningConfig.entity.SysWarningConfigEntity;
import com.hzya.frame.web.entity.BaseResult;
import com.hzya.frame.web.entity.JsonResultEntity;
import org.springframework.stereotype.Service;
import org.springframework.beans.factory.annotation.Autowired;
import javax.annotation.Resource;
import com.hzya.frame.basedao.service.impl.BaseService;
import java.sql.*;
@ -28,160 +32,178 @@ import java.util.List;
*/
@Service(value = "sysMessageTemplateService")
public class SysMessageTemplateServiceImpl extends BaseService<SysMessageTemplateEntity, String> implements ISysMessageTemplateService {
private ISysMessageTemplateDao sysMessageTemplateDao;
@Resource
public IExecSqlService execSqlService;
@Resource
private ISysWarningConfigDao sysWarningConfigDao;
@Resource
public IExecSqlService execSqlService;
@Autowired
public void setSysMessageTemplateDao(ISysMessageTemplateDao dao) {
this.sysMessageTemplateDao = dao;
this.dao = dao;
}
public void setSysMessageTemplateDao(ISysMessageTemplateDao dao) {
this.sysMessageTemplateDao = dao;
this.dao = dao;
}
@Override
public JsonResultEntity queryEntityPage(JSONObject jsonObject) {
SysMessageTemplateEntity entity = getData("jsonStr", jsonObject, SysMessageTemplateEntity.class);
//判断分页
if (entity == null || entity.getPageNum() == null || entity.getPageSize() == null) {
return BaseResult.getFailureMessageEntity("分页查询参数不存在");
}
PageHelper.startPage(entity.getPageNum(), entity.getPageSize());
List<SysMessageTemplateEntity> list = sysMessageTemplateDao.queryByLike(entity);
PageInfo<SysMessageTemplateEntity> pageInfo = new PageInfo(list);
return BaseResult.getSuccessMessageEntity("查询数据成功", pageInfo);
}
@Override
public JsonResultEntity queryEntityPage(JSONObject jsonObject) {
SysMessageTemplateEntity entity = getData("jsonStr", jsonObject, SysMessageTemplateEntity.class);
//判断分页
if (entity == null || entity.getPageNum() == null || entity.getPageSize() == null) {
return BaseResult.getFailureMessageEntity("分页查询参数不存在");
}
PageHelper.startPage(entity.getPageNum(), entity.getPageSize());
List<SysMessageTemplateEntity> list = sysMessageTemplateDao.queryByLike(entity);
PageInfo<SysMessageTemplateEntity> 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<SysMessageTemplateEntity> list = sysMessageTemplateDao.queryByLike(entity);
return BaseResult.getSuccessMessageEntity("查询数据成功", list);
}
@Override
public JsonResultEntity queryEntity(JSONObject jsonObject) {
SysMessageTemplateEntity entity = getData("jsonStr", jsonObject, SysMessageTemplateEntity.class);
if (entity == null) {
entity = new SysMessageTemplateEntity();
}
List<SysMessageTemplateEntity> list = sysMessageTemplateDao.queryByLike(entity);
return BaseResult.getSuccessMessageEntity("查询数据成功", list);
}
@Override
public JsonResultEntity getEntity(JSONObject jsonObject){
SysMessageTemplateEntity entity = getData("jsonStr", jsonObject, SysMessageTemplateEntity.class);
if(entity == null){
return BaseResult.getFailureMessageEntity("参数不允许为空");
}
if(entity.getId() == null || "".equals(entity.getId())){
return BaseResult.getFailureMessageEntity("系统错误");
}
entity = sysMessageTemplateDao.get(entity.getId());
if(entity == null){
return BaseResult.getFailureMessageEntity("获取消息模版失败");
}
return BaseResult.getSuccessMessageEntity("获取消息模版成功", entity);
}
@Override
public JsonResultEntity getEntity(JSONObject jsonObject) {
SysMessageTemplateEntity entity = getData("jsonStr", jsonObject, SysMessageTemplateEntity.class);
if (entity == null) {
return BaseResult.getFailureMessageEntity("参数不允许为空");
}
if (entity.getId() == null || "".equals(entity.getId())) {
return BaseResult.getFailureMessageEntity("系统错误");
}
entity = sysMessageTemplateDao.get(entity.getId());
if (entity == null) {
return BaseResult.getFailureMessageEntity("获取消息模版失败");
}
return BaseResult.getSuccessMessageEntity("获取消息模版成功", entity);
}
@Override
public JsonResultEntity saveEntity(JSONObject jsonObject){
SysMessageTemplateEntity entity = getData("jsonStr", jsonObject, SysMessageTemplateEntity.class);
if (entity == null) {
return BaseResult.getFailureMessageEntity("参数不允许为空");
}
if(entity.getTemplateType() == null || "".equals(entity.getTemplateType())){
return BaseResult.getFailureMessageEntity("模版类型不允许为空");
}
if(entity.getTemplateName() == null || "".equals(entity.getTemplateName())){
return BaseResult.getFailureMessageEntity("模版名称不允许为空");
}
if(entity.getMessageContents() == null || "".equals(entity.getMessageContents())){
return BaseResult.getFailureMessageEntity("消息内容不允许为空");
}
if(entity.getDataSource() == null || "".equals(entity.getDataSource())){
return BaseResult.getFailureMessageEntity("数据源不允许为空");
}
entity.setCreate();
sysMessageTemplateDao.save(entity);
return BaseResult.getSuccessMessageEntity("保存消息模版成功",entity);
}
@Override
public JsonResultEntity saveEntity(JSONObject jsonObject) {
SysMessageTemplateEntity entity = getData("jsonStr", jsonObject, SysMessageTemplateEntity.class);
if (entity == null) {
return BaseResult.getFailureMessageEntity("参数不允许为空");
}
if (entity.getTemplateType() == null || "".equals(entity.getTemplateType())) {
return BaseResult.getFailureMessageEntity("模版类型不允许为空");
}
if (entity.getTemplateName() == null || "".equals(entity.getTemplateName())) {
return BaseResult.getFailureMessageEntity("模版名称不允许为空");
}
if (entity.getMessageContents() == null || "".equals(entity.getMessageContents())) {
return BaseResult.getFailureMessageEntity("消息内容不允许为空");
}
if (entity.getDataSource() == null || "".equals(entity.getDataSource())) {
return BaseResult.getFailureMessageEntity("数据源不允许为空");
}
entity.setCreate();
sysMessageTemplateDao.save(entity);
return BaseResult.getSuccessMessageEntity("保存消息模版成功", entity);
}
@Override
public JsonResultEntity updateEntity(JSONObject jsonObject){
SysMessageTemplateEntity entity = getData("jsonStr", jsonObject, SysMessageTemplateEntity.class);
if(entity == null){
return BaseResult.getFailureMessageEntity("参数不允许为空");
}
if (entity.getId() == null || "".equals(entity.getId())) {
return BaseResult.getFailureMessageEntity("系统错误");
}
if(entity.getTemplateType() == null || "".equals(entity.getTemplateType())){
return BaseResult.getFailureMessageEntity("模版类型不允许为空");
}
if(entity.getTemplateName() == null || "".equals(entity.getTemplateName())){
return BaseResult.getFailureMessageEntity("模版名称不允许为空");
}
if(entity.getMessageContents() == null || "".equals(entity.getMessageContents())){
return BaseResult.getFailureMessageEntity("消息内容不允许为空");
}
if(entity.getDataSource() == null || "".equals(entity.getDataSource())){
return BaseResult.getFailureMessageEntity("数据源不允许为空");
}
entity.setUpdate();
sysMessageTemplateDao.update(entity);
return BaseResult.getSuccessMessageEntity("修改消息模版成功",entity);
}
@Override
public JsonResultEntity updateEntity(JSONObject jsonObject) {
SysMessageTemplateEntity entity = getData("jsonStr", jsonObject, SysMessageTemplateEntity.class);
if (entity == null) {
return BaseResult.getFailureMessageEntity("参数不允许为空");
}
if (entity.getId() == null || "".equals(entity.getId())) {
return BaseResult.getFailureMessageEntity("系统错误");
}
if (entity.getTemplateType() == null || "".equals(entity.getTemplateType())) {
return BaseResult.getFailureMessageEntity("模版类型不允许为空");
}
if (entity.getTemplateName() == null || "".equals(entity.getTemplateName())) {
return BaseResult.getFailureMessageEntity("模版名称不允许为空");
}
if (entity.getMessageContents() == null || "".equals(entity.getMessageContents())) {
return BaseResult.getFailureMessageEntity("消息内容不允许为空");
}
if (entity.getDataSource() == null || "".equals(entity.getDataSource())) {
return BaseResult.getFailureMessageEntity("数据源不允许为空");
}
entity.setUpdate();
sysMessageTemplateDao.update(entity);
return BaseResult.getSuccessMessageEntity("修改消息模版成功", entity);
}
@Override
public JsonResultEntity deleteEntity(JSONObject jsonObject){
SysMessageTemplateEntity entity = getData("jsonStr", jsonObject, SysMessageTemplateEntity.class);
if(entity == null){
return BaseResult.getFailureMessageEntity("参数不允许为空");
}
if (entity.getId() == null || "".equals(entity.getId())) {
return BaseResult.getFailureMessageEntity("系统错误");
}
entity.setUpdate();
//1判断这个模版有没有被使用过使用过就不能删除待完成
//将模版id去预警配置表里查一下如果有匹配的数据代表有人正在使用不能删除
sysMessageTemplateDao.logicRemove(entity);
return BaseResult.getSuccessMessageEntity("删除消息模版成功");
}
@Override
public JsonResultEntity deleteEntity(JSONObject jsonObject) {
SysMessageTemplateEntity entity = getData("jsonStr", jsonObject, SysMessageTemplateEntity.class);
if (entity == null) {
return BaseResult.getFailureMessageEntity("参数不允许为空");
}
if (entity.getId() == null || "".equals(entity.getId())) {
return BaseResult.getFailureMessageEntity("系统错误");
}
//判断这个模版有没有被使用过使用过就不能删除
//将模版id去预警配置表里查一下如果有匹配的数据代表有人正在使用不能删除
SysWarningConfigEntity warningConfigEntity = new SysWarningConfigEntity();
warningConfigEntity.setMessageTemplateId(entity.getId());
int count = sysWarningConfigDao.getCount(warningConfigEntity);
if (count > 0) {
return BaseResult.getFailureMessageEntity("该模版已被使用,不能删除");
}
entity.setUpdate();
sysMessageTemplateDao.logicRemove(entity);
return BaseResult.getSuccessMessageEntity("删除消息模版成功");
}
@Override
public JsonResultEntity enableDisableEntity(JSONObject jsonObject){
SysMessageTemplateEntity entity = getData("jsonStr", jsonObject, SysMessageTemplateEntity.class);
if(entity == null){
return BaseResult.getFailureMessageEntity("参数不允许为空");
}
if (entity.getId() == null || "".equals(entity.getId())) {
return BaseResult.getFailureMessageEntity("系统错误");
}
if (entity.getState() == null || "".equals(entity.getState())) {
return BaseResult.getFailureMessageEntity("系统错误");
}
//0停用1启用
if("0".equals(entity.getState())){
entity.setUpdate();
sysMessageTemplateDao.update(entity);
return BaseResult.getSuccessMessageEntity("停用模版成功");
}else{
//停用消息模版
entity.setUpdate();
sysMessageTemplateDao.update(entity);
return BaseResult.getSuccessMessageEntity("启用模版成功");
}
}
@Override
public JsonResultEntity enableDisableEntity(JSONObject jsonObject) {
SysMessageTemplateEntity entity = getData("jsonStr", jsonObject, SysMessageTemplateEntity.class);
if (entity == null) {
return BaseResult.getFailureMessageEntity("参数不允许为空");
}
if (entity.getId() == null || "".equals(entity.getId())) {
return BaseResult.getFailureMessageEntity("系统错误");
}
if (entity.getState() == null || "".equals(entity.getState())) {
return BaseResult.getFailureMessageEntity("系统错误");
}
//0停用1启用
if ("0".equals(entity.getState())) {
entity.setUpdate();
sysMessageTemplateDao.update(entity);
//同步停用到预警配置表
SysWarningConfigEntity warningConfigEntity = new SysWarningConfigEntity();
warningConfigEntity.setMessageTemplateId(entity.getId());
warningConfigEntity.setStatus("1");
List<SysWarningConfigEntity> warningConfigList = sysWarningConfigDao.queryByLike(warningConfigEntity);
for (SysWarningConfigEntity warningConfig : warningConfigList) {
warningConfig.setStatus("0");
warningConfig.setUpdate();
sysWarningConfigDao.update(warningConfig);
}
return BaseResult.getSuccessMessageEntity("停用模版成功");
} else {
entity.setUpdate();
sysMessageTemplateDao.update(entity);
return BaseResult.getSuccessMessageEntity("启用模版成功");
}
}
@Override
public JsonResultEntity checkSql(JSONObject jsonObject) throws Exception {
try {
String sql = JSONObject.parseObject(jsonObject.getString("jsonStr")).getString("sql");
List<HashMap<String, Object>> result = execSqlService.execSelectSql(sql, "master");
return BaseResult.getSuccessMessageEntity("SQL检查成功", result);
} catch (Exception e) {
return BaseResult.getFailureMessageEntity("SQL检查失败原因" + e.getMessage());
}
}
@Override
public JsonResultEntity checkSql(JSONObject jsonObject) throws Exception {
try {
String sql = JSONObject.parseObject(jsonObject.getString("jsonStr")).getString("sql");
List<HashMap<String, Object>> result = execSqlService.execSelectSql(sql, "master");
return BaseResult.getSuccessMessageEntity("SQL检查成功", result);
} catch (Exception e) {
return BaseResult.getFailureMessageEntity("SQL检查失败原因" + e.getMessage());
}
}
@Override
public JsonResultEntity spliceMessage(JSONObject jsonObject){
return BaseResult.getSuccessMessageEntity("消息拼接成功");
}
@Override
public JsonResultEntity spliceMessage(JSONObject jsonObject) {
return BaseResult.getSuccessMessageEntity("消息拼接成功");
}
}

View File

@ -249,6 +249,10 @@ public class SysSendMessageLogServiceImpl extends BaseService<SysSendMessageLogE
logger.error("未找到该接口预警配置信息的消息模版信息");
return false;
}
if(templateEntity.getState() == null || !"1".equals(templateEntity.getState())){
logger.error("当前预警配置中消息模版状态为禁用");
return false;
}
String messageContent = templateEntity.getMessageContents();
if (messageContent == null || "".equals(messageContent)) {

View File

@ -6,6 +6,8 @@ import com.github.pagehelper.PageHelper;
import com.github.pagehelper.PageInfo;
import com.hzya.frame.sysnew.application.dao.ISysApplicationDao;
import com.hzya.frame.sysnew.application.entity.SysApplicationEntity;
import com.hzya.frame.sysnew.messageTemplate.dao.ISysMessageTemplateDao;
import com.hzya.frame.sysnew.messageTemplate.entity.SysMessageTemplateEntity;
import com.hzya.frame.sysnew.person.dao.ISysPersonDao;
import com.hzya.frame.sysnew.person.entity.SysPersonEntity;
import com.hzya.frame.sysnew.user.dao.ISysUserDao;
@ -44,6 +46,9 @@ public class SysWarningConfigServiceImpl extends BaseService<SysWarningConfigEnt
@Resource
private ISysApplicationDao sysApplicationDao;
@Resource
private ISysMessageTemplateDao sysMessageTemplateDao;
private ISysWarningConfigDao sysWarningConfigDao;
@Autowired
@ -296,12 +301,23 @@ public class SysWarningConfigServiceImpl extends BaseService<SysWarningConfigEnt
if (entity.getStatus() == null || "".equals(entity.getStatus())) {
return BaseResult.getFailureMessageEntity("状态不能为空");
}
if(entity.getMessageTemplateId() == null || "".equals(entity.getMessageTemplateId())){
return BaseResult.getFailureMessageEntity("消息模版id不允许为空");
}
//0停用1启用
if("0".equals(entity.getStatus())){
entity.setUpdate();
sysWarningConfigDao.update(entity);
return BaseResult.getSuccessMessageEntity("停用模版成功");
}else{
//校验该预警设置的消息模版是否为启用状态
SysMessageTemplateEntity templateEntity = sysMessageTemplateDao.get(entity.getMessageTemplateId());
if(templateEntity == null){
return BaseResult.getFailureMessageEntity("消息模版不存在");
}
if(!"1".equals(templateEntity.getState())){
return BaseResult.getFailureMessageEntity("该预警设置的消息模版未启用,请先启用");
}
entity.setUpdate();
sysWarningConfigDao.update(entity);
return BaseResult.getSuccessMessageEntity("启用模版成功");