合并代码

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); SysLogTaskTime logTaskTime = JsonUtilTool.decode(data, SysLogTaskTime.class);
LOGGER.info("【MQ-QUEUE_IMPP_SCHEDULE】数据接收成功{}", logTaskTime); LOGGER.info("【MQ-QUEUE_IMPP_SCHEDULE】数据接收成功{}", logTaskTime);
// 跟新最后执行时间 及 任务状态 // 跟新最后执行时间 及 任务状态
SysTaskPlan taskPlan = sysTaskPlanService.getSysTaskPlanByNameAndGroup(logTaskTime.getName(), logTaskTime.getGroupName()); if(logTaskTime != null){
if (taskPlan != null) { SysTaskPlan taskPlan = sysTaskPlanService.getSysTaskPlanByNameAndGroup(logTaskTime.getName(), logTaskTime.getGroupName());
taskPlan.setLastRunDateTime(logTaskTime.getCreateDatetime()); if (taskPlan != null) {
taskPlan.setTaskPlanExecNum(taskPlan.getTaskPlanExecNumValue() + 1); taskPlan.setLastRunDateTime(logTaskTime.getCreateDatetime());
taskPlan.setTaskPlanStatus(logTaskTime.getTaskStatus()); taskPlan.setTaskPlanExecNum(taskPlan.getTaskPlanExecNumValue() + 1);
// 更新任务状态以及最后执行时间 taskPlan.setTaskPlanStatus(logTaskTime.getTaskStatus());
sysTaskPlanService.updateSysTaskPlan(taskPlan); // 更新任务状态以及最后执行时间
sysTaskPlanService.updateSysTaskPlan(taskPlan);
// 添加定时任务日志 // 添加定时任务日志
logTaskTime.setTaskPlanId(taskPlan.getId()); logTaskTime.setTaskPlanId(taskPlan.getId());
logTaskTime.setTaskSoftTypeRdd(taskPlan.getTaskSoftTypeRdd()); logTaskTime.setTaskSoftTypeRdd(taskPlan.getTaskSoftTypeRdd());
logTaskTime.setTaskCycleNameRdd(taskPlan.getTaskCycleNameRdd()); logTaskTime.setTaskCycleNameRdd(taskPlan.getTaskCycleNameRdd());
logTaskTime.setTaskCycleExpsRdd(taskPlan.getTaskCycleExpsRdd()); logTaskTime.setTaskCycleExpsRdd(taskPlan.getTaskCycleExpsRdd());
ConvertBean.serviceModelInitialize(logTaskTime, "system"); ConvertBean.serviceModelInitialize(logTaskTime, "system");
sysTaskPlanService.logInsertSysLogTaskTime(logTaskTime); sysTaskPlanService.logInsertSysLogTaskTime(logTaskTime);
// 定时任务失败通知 // 定时任务失败通知
if (CommonEnumUtil.TRUE_OR_FALSE.FALSE.getValue() == logTaskTime.getTaskStatus() if (CommonEnumUtil.TRUE_OR_FALSE.FALSE.getValue() == logTaskTime.getTaskStatus()
&& CommonEnumUtil.TRUE_OR_FALSE.TRUE.getValue() == taskPlan.getIsNotice()) { && CommonEnumUtil.TRUE_OR_FALSE.TRUE.getValue() == taskPlan.getIsNotice()) {
// 设置通知邮件内容 // 设置通知邮件内容
SysMessage sysMessage = new SysMessage(); SysMessage sysMessage = new SysMessage();
sysMessage.setMessageSoftType(logTaskTime.getTaskSoftTypeRdd()); sysMessage.setMessageSoftType(logTaskTime.getTaskSoftTypeRdd());
sysMessage.setMessageType(taskPlan.getNoticeMethod()); sysMessage.setMessageType(taskPlan.getNoticeMethod());
sysMessage.setMessageSenderNameRdd("系统管理员"); sysMessage.setMessageSenderNameRdd("系统管理员");
sysMessage.setMessageTitle("任务计划失败通知"); sysMessage.setMessageTitle("任务计划失败通知");
sysMessage.setMessageContent( sysMessage.setMessageContent(
String.format("<p>管理员 您好:</p><div style=\"text-align:center\">任务计划(Name: %s,GroupName: %s执行失败,详细信息请查看定时任务日志(ID: %s).</div>", String.format("<p>管理员 您好:</p><div style=\"text-align:center\">任务计划(Name: %s,GroupName: %s执行失败,详细信息请查看定时任务日志(ID: %s).</div>",
taskPlan.getName(), taskPlan.getGroupName(), logTaskTime.getId()) taskPlan.getName(), taskPlan.getGroupName(), logTaskTime.getId())
); );
sysMessage.setMessageContentType(ImppEnumUtil.MESSAGE_TYPE_CONTENT.HTML.getValue()); sysMessage.setMessageContentType(ImppEnumUtil.MESSAGE_TYPE_CONTENT.HTML.getValue());
sysMessage.setMessageSendTime(TimeTool.getNowTime(true)); sysMessage.setMessageSendTime(TimeTool.getNowTime(true));
sysMessage.setIsSystem(CommonEnumUtil.TRUE_OR_FALSE.TRUE.getValue()); sysMessage.setIsSystem(CommonEnumUtil.TRUE_OR_FALSE.TRUE.getValue());
// 初始数据 // 初始数据
ConvertBean.serviceModelInitialize(sysMessage, "system"); ConvertBean.serviceModelInitialize(sysMessage, "system");
// 是否内部成员 // 是否内部成员
if (CommonEnumUtil.TRUE_OR_FALSE.FALSE.getValue() == taskPlan.getIsInternalUser()) { if (CommonEnumUtil.TRUE_OR_FALSE.FALSE.getValue() == taskPlan.getIsInternalUser()) {
sysMessage.setMessageReceiverType(ImppEnumUtil.MESSAGE_RECEIVER_TYPE.EXTERNAL.getValue()); sysMessage.setMessageReceiverType(ImppEnumUtil.MESSAGE_RECEIVER_TYPE.EXTERNAL.getValue());
sysMessage.setMessageReceiversNameRdd(taskPlan.getNoticeChannel()); sysMessage.setMessageReceiversNameRdd(taskPlan.getNoticeChannel());
} else { } else {
sysMessage.setMessageReceiverType(ImppEnumUtil.MESSAGE_RECEIVER_TYPE.INTERNAL.getValue()); sysMessage.setMessageReceiverType(ImppEnumUtil.MESSAGE_RECEIVER_TYPE.INTERNAL.getValue());
// 设置收件人名称 // 设置收件人名称
String[] messageReceiver = taskPlan.getNoticeChannel().split(","); String[] messageReceiver = taskPlan.getNoticeChannel().split(",");
String receiversName = sysUserService.findSysUserByIds(StringTool.getArrayLong(messageReceiver)) String receiversName = sysUserService.findSysUserByIds(StringTool.getArrayLong(messageReceiver))
.stream().map(e -> e.getUserName()).collect(Collectors.joining(",")); .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()) { if (taskPlan.getNoticeMethod() != null && ImppEnumUtil.MESSAGE_TYPE.MAIL.getValue() == taskPlan.getNoticeMethod().intValue()) {
rabbitTemplate.convertAndSend(PlatformConstWords.QUEUE_IMPP_MESSAGE_MAIL, JSON.toJSONString(sysMessage)); rabbitTemplate.convertAndSend(PlatformConstWords.QUEUE_IMPP_MESSAGE_MAIL, JSON.toJSONString(sysMessage));
} else { } else {
rabbitTemplate.convertAndSend(PlatformConstWords.QUEUE_IMPP_MESSAGE_LETTER, JSON.toJSONString(sysMessage)); 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) { } catch (IOException e) {
LOGGER.error("【MQ-QUEUE_IMPP_MESSAGE_MAIL】处理出错{}", e.getMessage(), 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.IPersonnelService;
import cn.estsh.i3plus.core.api.iservice.busi.ISysRoleService; import cn.estsh.i3plus.core.api.iservice.busi.ISysRoleService;
import cn.estsh.i3plus.core.apiservice.dao.IUserPermissionDao; 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.DdlPackBean;
import cn.estsh.i3plus.pojo.base.bean.ListPager; import cn.estsh.i3plus.pojo.base.bean.ListPager;
import cn.estsh.i3plus.pojo.base.common.Pager; 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.SysRefUserRoleRepository;
import cn.estsh.i3plus.pojo.platform.repository.SysRoleRepository; import cn.estsh.i3plus.pojo.platform.repository.SysRoleRepository;
import cn.estsh.i3plus.pojo.platform.sqlpack.CoreHqlPack; 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.ImppExceptionBuilder;
import cn.estsh.impp.framework.boot.exception.ImppExceptionEnum; import cn.estsh.impp.framework.boot.exception.ImppExceptionEnum;
import cn.estsh.impp.framework.boot.util.ValidatorBean;
import io.swagger.annotations.ApiOperation; import io.swagger.annotations.ApiOperation;
import org.apache.commons.lang3.StringUtils; import org.apache.commons.lang3.StringUtils;
import org.slf4j.Logger; import org.slf4j.Logger;
@ -24,6 +27,7 @@ import org.slf4j.LoggerFactory;
import org.springframework.beans.factory.annotation.Autowired; import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service; import org.springframework.stereotype.Service;
import java.util.ArrayList; import java.util.ArrayList;
import java.util.Arrays;
import java.util.List; import java.util.List;
/** /**
@ -137,19 +141,11 @@ public class SysRoleService implements ISysRoleService {
List<String> featuresListRdd = new ArrayList<>(); // 冗余 List<String> featuresListRdd = new ArrayList<>(); // 冗余
List<SysRefRoleMenu> refs = 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); refRoleMenuRDao.deleteByPropertyIn("roleId",roleIds);
List<SysRefRoleMenu> refRoleMenuList = refRoleMenuRDao.findByHqlWhere(deleteWhere);
refRoleMenuRDao.deleteAll(refRoleMenuList);
if(ids != null && ids.length > 0){ if(ids != null && ids.length > 0){
String menuWhere = CoreHqlPack.packHqlIds("id", ids); List<SysMenu> list = sysMenuRDao.findAllById(Arrays.asList(ids));
List<SysMenu> list = sysMenuRDao.findByHqlWhere(menuWhere);
SysRefRoleMenu ref = null; SysRefRoleMenu ref = null;
// 插入角色权限关系 // 插入角色权限关系
@ -161,11 +157,10 @@ public class SysRoleService implements ISysRoleService {
ref.setRoleNameRdd(role.getName()); ref.setRoleNameRdd(role.getName());
ref.setMenuNameRdd(menu.getName()); ref.setMenuNameRdd(menu.getName());
ref.setMenuId(menu.getId()); ref.setMenuId(menu.getId());
ref.setIsValid(CommonEnumUtil.IS_VAILD.VAILD.getValue());
ref.setIsDeleted(CommonEnumUtil.IS_DEAL.NO.getValue());
ref.setMenuTypeRdd(menu.getMenuType()); 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()); role.setMenuNumber(featuresListRdd.size());
} }
refRoleMenuRDao.saveAll(refs);
roleRDao.saveAll(roleList); roleRDao.saveAll(roleList);
}else { }else {
throw ImppExceptionBuilder.newInstance() throw ImppExceptionBuilder.newInstance()

Loading…
Cancel
Save