合并代码

yun-zuoyi
wei.peng 6 years ago
parent 4461f9298e
commit 6f31a8849a

@ -61,66 +61,68 @@ public class ScheduleQueueReceiver {
SysLogTaskTime logTaskTime = JsonUtilTool.decode(data, SysLogTaskTime.class);
LOGGER.info("【MQ-QUEUE_IMPP_SCHEDULE】数据接收成功{}", logTaskTime);
// 跟新最后执行时间 及 任务状态
SysTaskPlan taskPlan = sysTaskPlanService.getSysTaskPlanByNameAndGroup(logTaskTime.getName(), logTaskTime.getGroupName());
if (taskPlan != null) {
taskPlan.setLastRunDateTime(logTaskTime.getCreateDatetime());
taskPlan.setTaskPlanExecNum(taskPlan.getTaskPlanExecNumValue() + 1);
taskPlan.setTaskPlanStatus(logTaskTime.getTaskStatus());
// 更新任务状态以及最后执行时间
sysTaskPlanService.updateSysTaskPlan(taskPlan);
if(logTaskTime != null){
SysTaskPlan taskPlan = sysTaskPlanService.getSysTaskPlanByNameAndGroup(logTaskTime.getName(), logTaskTime.getGroupName());
if (taskPlan != null) {
taskPlan.setLastRunDateTime(logTaskTime.getCreateDatetime());
taskPlan.setTaskPlanExecNum(taskPlan.getTaskPlanExecNumValue() + 1);
taskPlan.setTaskPlanStatus(logTaskTime.getTaskStatus());
// 更新任务状态以及最后执行时间
sysTaskPlanService.updateSysTaskPlan(taskPlan);
// 添加定时任务日志
logTaskTime.setTaskPlanId(taskPlan.getId());
logTaskTime.setTaskSoftTypeRdd(taskPlan.getTaskSoftTypeRdd());
logTaskTime.setTaskCycleNameRdd(taskPlan.getTaskCycleNameRdd());
logTaskTime.setTaskCycleExpsRdd(taskPlan.getTaskCycleExpsRdd());
ConvertBean.serviceModelInitialize(logTaskTime, "system");
sysTaskPlanService.logInsertSysLogTaskTime(logTaskTime);
// 添加定时任务日志
logTaskTime.setTaskPlanId(taskPlan.getId());
logTaskTime.setTaskSoftTypeRdd(taskPlan.getTaskSoftTypeRdd());
logTaskTime.setTaskCycleNameRdd(taskPlan.getTaskCycleNameRdd());
logTaskTime.setTaskCycleExpsRdd(taskPlan.getTaskCycleExpsRdd());
ConvertBean.serviceModelInitialize(logTaskTime, "system");
sysTaskPlanService.logInsertSysLogTaskTime(logTaskTime);
// 定时任务失败通知
if (CommonEnumUtil.TRUE_OR_FALSE.FALSE.getValue() == logTaskTime.getTaskStatus()
&& CommonEnumUtil.TRUE_OR_FALSE.TRUE.getValue() == taskPlan.getIsNotice()) {
// 设置通知邮件内容
SysMessage sysMessage = new SysMessage();
sysMessage.setMessageSoftType(logTaskTime.getTaskSoftTypeRdd());
sysMessage.setMessageType(taskPlan.getNoticeMethod());
sysMessage.setMessageSenderNameRdd("系统管理员");
sysMessage.setMessageTitle("任务计划失败通知");
sysMessage.setMessageContent(
String.format("<p>管理员 您好:</p><div style=\"text-align:center\">任务计划(Name: %s,GroupName: %s执行失败,详细信息请查看定时任务日志(ID: %s).</div>",
taskPlan.getName(), taskPlan.getGroupName(), logTaskTime.getId())
);
sysMessage.setMessageContentType(ImppEnumUtil.MESSAGE_TYPE_CONTENT.HTML.getValue());
sysMessage.setMessageSendTime(TimeTool.getNowTime(true));
sysMessage.setIsSystem(CommonEnumUtil.TRUE_OR_FALSE.TRUE.getValue());
// 初始数据
ConvertBean.serviceModelInitialize(sysMessage, "system");
// 定时任务失败通知
if (CommonEnumUtil.TRUE_OR_FALSE.FALSE.getValue() == logTaskTime.getTaskStatus()
&& CommonEnumUtil.TRUE_OR_FALSE.TRUE.getValue() == taskPlan.getIsNotice()) {
// 设置通知邮件内容
SysMessage sysMessage = new SysMessage();
sysMessage.setMessageSoftType(logTaskTime.getTaskSoftTypeRdd());
sysMessage.setMessageType(taskPlan.getNoticeMethod());
sysMessage.setMessageSenderNameRdd("系统管理员");
sysMessage.setMessageTitle("任务计划失败通知");
sysMessage.setMessageContent(
String.format("<p>管理员 您好:</p><div style=\"text-align:center\">任务计划(Name: %s,GroupName: %s执行失败,详细信息请查看定时任务日志(ID: %s).</div>",
taskPlan.getName(), taskPlan.getGroupName(), logTaskTime.getId())
);
sysMessage.setMessageContentType(ImppEnumUtil.MESSAGE_TYPE_CONTENT.HTML.getValue());
sysMessage.setMessageSendTime(TimeTool.getNowTime(true));
sysMessage.setIsSystem(CommonEnumUtil.TRUE_OR_FALSE.TRUE.getValue());
// 初始数据
ConvertBean.serviceModelInitialize(sysMessage, "system");
// 是否内部成员
if (CommonEnumUtil.TRUE_OR_FALSE.FALSE.getValue() == taskPlan.getIsInternalUser()) {
sysMessage.setMessageReceiverType(ImppEnumUtil.MESSAGE_RECEIVER_TYPE.EXTERNAL.getValue());
sysMessage.setMessageReceiversNameRdd(taskPlan.getNoticeChannel());
} else {
sysMessage.setMessageReceiverType(ImppEnumUtil.MESSAGE_RECEIVER_TYPE.INTERNAL.getValue());
// 设置收件人名称
String[] messageReceiver = taskPlan.getNoticeChannel().split(",");
String receiversName = sysUserService.findSysUserByIds(StringTool.getArrayLong(messageReceiver))
.stream().map(e -> e.getUserName()).collect(Collectors.joining(","));
// 是否内部成员
if (CommonEnumUtil.TRUE_OR_FALSE.FALSE.getValue() == taskPlan.getIsInternalUser()) {
sysMessage.setMessageReceiverType(ImppEnumUtil.MESSAGE_RECEIVER_TYPE.EXTERNAL.getValue());
sysMessage.setMessageReceiversNameRdd(taskPlan.getNoticeChannel());
} else {
sysMessage.setMessageReceiverType(ImppEnumUtil.MESSAGE_RECEIVER_TYPE.INTERNAL.getValue());
// 设置收件人名称
String[] messageReceiver = taskPlan.getNoticeChannel().split(",");
String receiversName = sysUserService.findSysUserByIds(StringTool.getArrayLong(messageReceiver))
.stream().map(e -> e.getUserName()).collect(Collectors.joining(","));
sysMessage.setMessageReceiversNameRdd(receiversName);
}
sysMessage.setMessageReceiversNameRdd(receiversName);
}
// 发送到对应处理队列
if (taskPlan.getNoticeMethod() != null && ImppEnumUtil.MESSAGE_TYPE.MAIL.getValue() == taskPlan.getNoticeMethod().intValue()) {
rabbitTemplate.convertAndSend(PlatformConstWords.QUEUE_IMPP_MESSAGE_MAIL, JSON.toJSONString(sysMessage));
} else {
rabbitTemplate.convertAndSend(PlatformConstWords.QUEUE_IMPP_MESSAGE_LETTER, JSON.toJSONString(sysMessage));
// 发送到对应处理队列
if (taskPlan.getNoticeMethod() != null && ImppEnumUtil.MESSAGE_TYPE.MAIL.getValue() == taskPlan.getNoticeMethod().intValue()) {
rabbitTemplate.convertAndSend(PlatformConstWords.QUEUE_IMPP_MESSAGE_MAIL, JSON.toJSONString(sysMessage));
} else {
rabbitTemplate.convertAndSend(PlatformConstWords.QUEUE_IMPP_MESSAGE_LETTER, JSON.toJSONString(sysMessage));
}
}
}
}
//信息已处理
channel.basicAck(message.getMessageProperties().getDeliveryTag(), false);
//信息已处理
channel.basicAck(message.getMessageProperties().getDeliveryTag(), false);
}
} catch (IOException e) {
LOGGER.error("【MQ-QUEUE_IMPP_MESSAGE_MAIL】处理出错{}", e.getMessage(), e);
//丢弃这条消息

@ -3,6 +3,7 @@ package cn.estsh.i3plus.core.apiservice.serviceimpl.busi;
import cn.estsh.i3plus.core.api.iservice.busi.IPersonnelService;
import cn.estsh.i3plus.core.api.iservice.busi.ISysRoleService;
import cn.estsh.i3plus.core.apiservice.dao.IUserPermissionDao;
import cn.estsh.i3plus.platform.common.convert.ConvertBean;
import cn.estsh.i3plus.pojo.base.bean.DdlPackBean;
import cn.estsh.i3plus.pojo.base.bean.ListPager;
import cn.estsh.i3plus.pojo.base.common.Pager;
@ -15,8 +16,10 @@ import cn.estsh.i3plus.pojo.platform.repository.SysRefRoleMenuRepository;
import cn.estsh.i3plus.pojo.platform.repository.SysRefUserRoleRepository;
import cn.estsh.i3plus.pojo.platform.repository.SysRoleRepository;
import cn.estsh.i3plus.pojo.platform.sqlpack.CoreHqlPack;
import cn.estsh.impp.framework.boot.auth.AuthUtil;
import cn.estsh.impp.framework.boot.exception.ImppExceptionBuilder;
import cn.estsh.impp.framework.boot.exception.ImppExceptionEnum;
import cn.estsh.impp.framework.boot.util.ValidatorBean;
import io.swagger.annotations.ApiOperation;
import org.apache.commons.lang3.StringUtils;
import org.slf4j.Logger;
@ -24,6 +27,7 @@ import org.slf4j.LoggerFactory;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import java.util.ArrayList;
import java.util.Arrays;
import java.util.List;
/**
@ -137,19 +141,11 @@ public class SysRoleService implements ISysRoleService {
List<String> featuresListRdd = new ArrayList<>(); // 冗余
List<SysRefRoleMenu> refs = new ArrayList<>(); // 角色权限关系
// 封装需要删除的IDS
Long[] rids = new Long[roleList.size()];
for (int i = 0; i < roleList.size(); i++) {
rids[i] = roleList.get(i).getId();
}
// 删除角色权限关系
String deleteWhere = CoreHqlPack.packHqlIds("roleId", roleIds);
List<SysRefRoleMenu> refRoleMenuList = refRoleMenuRDao.findByHqlWhere(deleteWhere);
refRoleMenuRDao.deleteAll(refRoleMenuList);
refRoleMenuRDao.deleteByPropertyIn("roleId",roleIds);
if(ids != null && ids.length > 0){
String menuWhere = CoreHqlPack.packHqlIds("id", ids);
List<SysMenu> list = sysMenuRDao.findByHqlWhere(menuWhere);
List<SysMenu> list = sysMenuRDao.findAllById(Arrays.asList(ids));
SysRefRoleMenu ref = null;
// 插入角色权限关系
@ -161,11 +157,10 @@ public class SysRoleService implements ISysRoleService {
ref.setRoleNameRdd(role.getName());
ref.setMenuNameRdd(menu.getName());
ref.setMenuId(menu.getId());
ref.setIsValid(CommonEnumUtil.IS_VAILD.VAILD.getValue());
ref.setIsDeleted(CommonEnumUtil.IS_DEAL.NO.getValue());
ref.setMenuTypeRdd(menu.getMenuType());
ConvertBean.serviceModelInitialize(ref, AuthUtil.getSessionUser());
refs.add(ref);
refRoleMenuRDao.insert(ref);
}
// 冗余信息封装
@ -185,7 +180,6 @@ public class SysRoleService implements ISysRoleService {
role.setMenuNumber(featuresListRdd.size());
}
refRoleMenuRDao.saveAll(refs);
roleRDao.saveAll(roleList);
}else {
throw ImppExceptionBuilder.newInstance()

Loading…
Cancel
Save