Commit da4759bb authored by xinglei's avatar xinglei

*)生成计划任务增加消息推送

parent 79a832a1
...@@ -6,6 +6,7 @@ import org.springframework.beans.factory.annotation.Value; ...@@ -6,6 +6,7 @@ import org.springframework.beans.factory.annotation.Value;
import org.springframework.web.context.request.RequestAttributes; import org.springframework.web.context.request.RequestAttributes;
import org.springframework.web.context.request.RequestContextHolder; import org.springframework.web.context.request.RequestContextHolder;
import org.springframework.web.context.request.ServletRequestAttributes; import org.springframework.web.context.request.ServletRequestAttributes;
import org.typroject.tyboot.core.foundation.context.RequestContext;
import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletRequest;
...@@ -20,6 +21,9 @@ public class FeignBasicAuthRequestInterceptor implements RequestInterceptor { ...@@ -20,6 +21,9 @@ public class FeignBasicAuthRequestInterceptor implements RequestInterceptor {
public void apply(RequestTemplate template) { public void apply(RequestTemplate template) {
RequestAttributes requestAttributes = RequestContextHolder.getRequestAttributes(); RequestAttributes requestAttributes = RequestContextHolder.getRequestAttributes();
if (requestAttributes == null) { if (requestAttributes == null) {
template.header("token", RequestContext.getToken());
template.header("product", RequestContext.getProduct());
template.header("appKey", RequestContext.getAppKey());
return; return;
} }
ServletRequestAttributes attributes = (ServletRequestAttributes) requestAttributes; ServletRequestAttributes attributes = (ServletRequestAttributes) requestAttributes;
......
...@@ -2,9 +2,7 @@ package com.yeejoin.amos.supervision.business.feign; ...@@ -2,9 +2,7 @@ package com.yeejoin.amos.supervision.business.feign;
import com.yeejoin.amos.component.feign.model.FeignClientResult; import com.yeejoin.amos.component.feign.model.FeignClientResult;
import org.springframework.cloud.openfeign.FeignClient; import org.springframework.cloud.openfeign.FeignClient;
import org.springframework.web.bind.annotation.GetMapping; import org.springframework.web.bind.annotation.*;
import org.springframework.web.bind.annotation.PathVariable;
import org.springframework.web.bind.annotation.RequestParam;
import java.util.List; import java.util.List;
...@@ -28,4 +26,13 @@ public interface JCSFeignClient { ...@@ -28,4 +26,13 @@ public interface JCSFeignClient {
*/ */
@GetMapping(value = "jcs/org-usr/unSync/orgCompany") @GetMapping(value = "jcs/org-usr/unSync/orgCompany")
FeignClientResult getUnSyncOrgCompanyList(@RequestParam List<Long> companyIdList); FeignClientResult getUnSyncOrgCompanyList(@RequestParam List<Long> companyIdList);
/**
* 根据机场人员id批量获取amos平台人员id
*
* @param orgUserIds 机场单位人员id
* @return
*/
@RequestMapping(value = "jcs/org-usr/amos/orgUserIds", method = RequestMethod.GET)
FeignClientResult getAmosIdListByUserIds(@RequestParam String orgUserIds);
} }
...@@ -34,6 +34,7 @@ import com.yeejoin.amos.supervision.business.vo.PlanTaskVo; ...@@ -34,6 +34,7 @@ import com.yeejoin.amos.supervision.business.vo.PlanTaskVo;
import com.yeejoin.amos.supervision.common.enums.PlanStatusEnum; import com.yeejoin.amos.supervision.common.enums.PlanStatusEnum;
import com.yeejoin.amos.supervision.common.enums.PlanTaskDetailIsFinishEnum; import com.yeejoin.amos.supervision.common.enums.PlanTaskDetailIsFinishEnum;
import com.yeejoin.amos.supervision.common.enums.PlanTaskFinishStatusEnum; import com.yeejoin.amos.supervision.common.enums.PlanTaskFinishStatusEnum;
import com.yeejoin.amos.supervision.core.async.AsyncTask;
import com.yeejoin.amos.supervision.core.common.request.CommonPageable; import com.yeejoin.amos.supervision.core.common.request.CommonPageable;
import com.yeejoin.amos.supervision.core.common.response.AppCheckInputRespone; import com.yeejoin.amos.supervision.core.common.response.AppCheckInputRespone;
import com.yeejoin.amos.supervision.core.common.response.AppPointCheckRespone; import com.yeejoin.amos.supervision.core.common.response.AppPointCheckRespone;
...@@ -55,6 +56,7 @@ import org.springframework.stereotype.Service; ...@@ -55,6 +56,7 @@ import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional; import org.springframework.transaction.annotation.Transactional;
import org.springframework.util.ObjectUtils; import org.springframework.util.ObjectUtils;
import org.springframework.util.StringUtils; import org.springframework.util.StringUtils;
import org.typroject.tyboot.core.foundation.context.RequestContext;
import org.typroject.tyboot.core.foundation.utils.ValidationUtil; import org.typroject.tyboot.core.foundation.utils.ValidationUtil;
import java.text.ParseException; import java.text.ParseException;
...@@ -103,6 +105,9 @@ public class PlanTaskServiceImpl implements IPlanTaskService { ...@@ -103,6 +105,9 @@ public class PlanTaskServiceImpl implements IPlanTaskService {
@Autowired @Autowired
private RoutePointItemMapper routePointItemMapper; private RoutePointItemMapper routePointItemMapper;
@Autowired
private AsyncTask asyncTask;
@Override @Override
public Page<HashMap<String, Object>> getPlanTaskInfo(PlanTaskPageParam params) { public Page<HashMap<String, Object>> getPlanTaskInfo(PlanTaskPageParam params) {
long total = planTaskMapper.countPlanTask(params); long total = planTaskMapper.countPlanTask(params);
...@@ -388,7 +393,6 @@ public class PlanTaskServiceImpl implements IPlanTaskService { ...@@ -388,7 +393,6 @@ public class PlanTaskServiceImpl implements IPlanTaskService {
//2.5.插入planTask及planTaskDetail //2.5.插入planTask及planTaskDetail
insertPlanTaskAndDet(list, plan, XJConstant.SCHED_FLAG, now); insertPlanTaskAndDet(list, plan, XJConstant.SCHED_FLAG, now);
} }
} }
...@@ -527,6 +531,8 @@ public class PlanTaskServiceImpl implements IPlanTaskService { ...@@ -527,6 +531,8 @@ public class PlanTaskServiceImpl implements IPlanTaskService {
// 2.保存执行数据明细表 // 2.保存执行数据明细表
planTaskDetail.saveAndFlush(planTaskDetailInstance); planTaskDetail.saveAndFlush(planTaskDetailInstance);
// 推送消息
asyncTask.sendPlanMsg(RequestContext.cloneRequestContext(), plan, planId);
} }
// 定时任务监控 // 定时任务监控
jobService.planTaskAddJob(planTask); jobService.planTaskAddJob(planTask);
......
...@@ -7,19 +7,21 @@ import com.google.common.collect.Lists; ...@@ -7,19 +7,21 @@ import com.google.common.collect.Lists;
import com.google.common.collect.Maps; import com.google.common.collect.Maps;
import com.google.common.collect.Sets; import com.google.common.collect.Sets;
import com.yeejoin.amos.feign.privilege.model.AgencyUserModel; import com.yeejoin.amos.feign.privilege.model.AgencyUserModel;
import com.yeejoin.amos.supervision.business.dao.repository.IMsgDao; import com.yeejoin.amos.feign.systemctl.model.MessageModel;
import com.yeejoin.amos.supervision.business.util.Toke;
import com.yeejoin.amos.supervision.email.IEmailService;
import com.yeejoin.amos.supervision.feign.RemoteSecurityService;
import com.yeejoin.amos.supervision.jpush.AppMessagePushService;
import com.yeejoin.amos.supervision.business.dao.mapper.MsgSubscribeMapper; import com.yeejoin.amos.supervision.business.dao.mapper.MsgSubscribeMapper;
import com.yeejoin.amos.supervision.business.dao.repository.IMsgDao;
import com.yeejoin.amos.supervision.business.entity.mybatis.MsgSubscribeBo; import com.yeejoin.amos.supervision.business.entity.mybatis.MsgSubscribeBo;
import com.yeejoin.amos.supervision.business.param.PushMsgParam; import com.yeejoin.amos.supervision.business.param.PushMsgParam;
import com.yeejoin.amos.supervision.business.service.intfc.IMessageService; import com.yeejoin.amos.supervision.business.service.intfc.IMessageService;
import com.yeejoin.amos.supervision.business.service.intfc.ISafety3DDataSendService; import com.yeejoin.amos.supervision.business.service.intfc.ISafety3DDataSendService;
import com.yeejoin.amos.supervision.business.util.Toke;
import com.yeejoin.amos.supervision.common.enums.JPushTypeEnum; import com.yeejoin.amos.supervision.common.enums.JPushTypeEnum;
import com.yeejoin.amos.supervision.common.enums.MsgSubscribeEnum; import com.yeejoin.amos.supervision.common.enums.MsgSubscribeEnum;
import com.yeejoin.amos.supervision.dao.entity.Msg; import com.yeejoin.amos.supervision.dao.entity.Msg;
import com.yeejoin.amos.supervision.dao.entity.Plan;
import com.yeejoin.amos.supervision.email.IEmailService;
import com.yeejoin.amos.supervision.feign.RemoteSecurityService;
import com.yeejoin.amos.supervision.jpush.AppMessagePushService;
import org.slf4j.Logger; import org.slf4j.Logger;
import org.slf4j.LoggerFactory; import org.slf4j.LoggerFactory;
import org.springframework.beans.factory.annotation.Autowired; import org.springframework.beans.factory.annotation.Autowired;
...@@ -28,6 +30,8 @@ import org.springframework.scheduling.annotation.AsyncResult; ...@@ -28,6 +30,8 @@ import org.springframework.scheduling.annotation.AsyncResult;
import org.springframework.stereotype.Component; import org.springframework.stereotype.Component;
import org.springframework.util.CollectionUtils; import org.springframework.util.CollectionUtils;
import org.springframework.util.StringUtils; import org.springframework.util.StringUtils;
import org.typroject.tyboot.core.foundation.context.RequestContextModel;
import org.typroject.tyboot.core.foundation.utils.ValidationUtil;
import java.util.*; import java.util.*;
import java.util.concurrent.Future; import java.util.concurrent.Future;
...@@ -299,6 +303,34 @@ public class AsyncTask { ...@@ -299,6 +303,34 @@ public class AsyncTask {
} }
} }
/**
* 计划任务消息
* @param plan
*/
@Async
public void sendPlanMsg(RequestContextModel requestContextModel, Plan plan, long planId){
MessageModel model = new MessageModel();
model.setTitle(plan.getName());
String body = String.format("任务批号:%s;类型:%s;执行人:%s",
planId, plan.getCheckTypeName(), plan.getMakerUserName());
model.setBody(body);
String leadPeopleIds = plan.getLeadPeopleIds();
if (!ValidationUtil.isEmpty(plan.getUserId()) && !leadPeopleIds.contains(plan.getUserId())){
leadPeopleIds += "," + plan.getUserId();
}
try {
List<String> recivers = remoteSecurityService.getAmosIdListByUserIds(requestContextModel, leadPeopleIds);
model.setIsSendApp(true);
model.setIsSendWeb(true);
model.setMsgType("supervision");
model.setRelationId(String.valueOf(plan.getId()));
model.setRecivers(recivers);
remoteSecurityService.addMessage(requestContextModel, model);
} catch (Exception e) {
e.printStackTrace();
}
}
private Set<String> userIdFilter(Set<String> sendUserIds, String msgType) { private Set<String> userIdFilter(Set<String> sendUserIds, String msgType) {
Set<String> afterFilterUserIds = Sets.newHashSet(); Set<String> afterFilterUserIds = Sets.newHashSet();
if (CollectionUtils.isEmpty(sendUserIds)) { if (CollectionUtils.isEmpty(sendUserIds)) {
......
...@@ -11,6 +11,8 @@ import java.util.Set; ...@@ -11,6 +11,8 @@ import java.util.Set;
import java.util.concurrent.TimeUnit; import java.util.concurrent.TimeUnit;
import java.util.stream.Collectors; import java.util.stream.Collectors;
import com.yeejoin.amos.feign.systemctl.model.MessageModel;
import com.yeejoin.amos.supervision.business.feign.JCSFeignClient;
import com.yeejoin.amos.supervision.common.remote.IAMOSSecurityServer; import com.yeejoin.amos.supervision.common.remote.IAMOSSecurityServer;
import org.slf4j.Logger; import org.slf4j.Logger;
import org.slf4j.LoggerFactory; import org.slf4j.LoggerFactory;
...@@ -42,6 +44,7 @@ import com.yeejoin.amos.feign.systemctl.Systemctl; ...@@ -42,6 +44,7 @@ import com.yeejoin.amos.feign.systemctl.Systemctl;
import com.yeejoin.amos.feign.systemctl.model.DictionarieValueModel; import com.yeejoin.amos.feign.systemctl.model.DictionarieValueModel;
import com.yeejoin.amos.supervision.business.util.CommonResponse; import com.yeejoin.amos.supervision.business.util.CommonResponse;
import com.yeejoin.amos.supervision.business.util.Toke; import com.yeejoin.amos.supervision.business.util.Toke;
import org.typroject.tyboot.core.foundation.context.RequestContextModel;
@Service("remoteSecurityService") @Service("remoteSecurityService")
public class RemoteSecurityService { public class RemoteSecurityService {
...@@ -64,6 +67,8 @@ public class RemoteSecurityService { ...@@ -64,6 +67,8 @@ public class RemoteSecurityService {
@Autowired @Autowired
private IAMOSSecurityServer iAmosSecurityServer; private IAMOSSecurityServer iAmosSecurityServer;
@Autowired
private JCSFeignClient jcsFeignClient;
//根据公司名称获取公司人 //根据公司名称获取公司人
public List<CompanyModel> listCompanyTree(String toke, String product, String appKey, String companyName) { public List<CompanyModel> listCompanyTree(String toke, String product, String appKey, String companyName) {
...@@ -747,6 +752,35 @@ public class RemoteSecurityService { ...@@ -747,6 +752,35 @@ public class RemoteSecurityService {
return handleArray(feignClientResult, DepartmentModel.class); return handleArray(feignClientResult, DepartmentModel.class);
} }
/**
* 平台消息-添加
*/
public void addMessage(RequestContextModel requestContextModel, MessageModel model){
RequestContext.setToken(requestContextModel.getToken());
RequestContext.setProduct(requestContextModel.getProduct());
RequestContext.setAppKey(requestContextModel.getAppKey());
try {
FeignClientResult<MessageModel> messageModelFeignClientResult = Systemctl.messageClient.create(model);
} catch (InnerInvokException e) {
e.printStackTrace();
}
}
/**
* 机场用户id批量获取平台用户id
*/
public List<String> getAmosIdListByUserIds(RequestContextModel requestContextModel, String orgUserIds){
RequestContext.setToken(requestContextModel.getToken());
RequestContext.setProduct(requestContextModel.getProduct());
RequestContext.setAppKey(requestContextModel.getAppKey());
List<String> userNames = new ArrayList<>();
try {
userNames = (List<String>)jcsFeignClient.getAmosIdListByUserIds(orgUserIds).getResult();
} catch (InnerInvokException e) {
e.printStackTrace();
}
return userNames;
}
private <T> List<T> handleArray(FeignClientResult feignClientResult, Class<T> t) { private <T> List<T> handleArray(FeignClientResult feignClientResult, Class<T> t) {
List<T> list = new ArrayList<>(); List<T> list = new ArrayList<>();
......
...@@ -40,7 +40,7 @@ ...@@ -40,7 +40,7 @@
<logger name="org.springframework" level="DEBUG"/> <logger name="org.springframework" level="DEBUG"/>
<!-- 日志输出级别 --> <!-- 日志输出级别 -->
<root level="DEBUG"> <root level="INFO">
<!-- --><appender-ref ref="FILE" /> <!-- --><appender-ref ref="FILE" />
<appender-ref ref="STDOUT" /> <appender-ref ref="STDOUT" />
</root> </root>
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment