Commit 35c0c347 authored by tianyiming's avatar tianyiming

1、获取token等修改

2、更新索引--涉及任务下发、定时器修改、任务执行
parent 889c002c
......@@ -6,6 +6,7 @@ public class AppCheckInputRespone{
private String inputName;
private String pointId;
private String pointInputItemId;
private String inputValue;
......@@ -26,6 +27,9 @@ public class AppCheckInputRespone{
public String getDefaultValue() {
return defaultValue;
}
public String getPointInputItemId() {
return pointInputItemId;
}
public String getPointId() {
return pointId;
}
......
......@@ -240,7 +240,7 @@ public class CheckController extends AbstractBaseController {
return ResponseHelper.buildResponse("任务已完成!");
}
Date checkTime = requestParam.getIsOffline()?DateUtil.getLongDate(requestParam.getCheckTime()):new Date();
Date checkTime = new Date();
Date beginTime = DateUtil.getLongDate(planTask.getBeginTime());
Date endTime = DateUtil.getLongDate(planTask.getEndTime());
int beginCompareTo = checkTime.compareTo(beginTime);
......
......@@ -322,7 +322,9 @@ public interface PlanTaskMapper extends BaseMapper {
List<ESTaskDetailDto> selectTaskInfoList(@Param(value = "id") long id);
List<AppCheckInputRespone> selectPointInputs();
List<AppCheckInputRespone> selectPointInputs(@Param(value = "routeId") Long routeId);
List<String> getPlanTaskIds(@Param(value = "id") long id);
List<Map<String, String>> selectExcludeItemsByRoutId(long routeId);
}
......@@ -12,6 +12,7 @@ import com.yeejoin.amos.boot.biz.common.utils.DateUtils;
import com.yeejoin.amos.boot.biz.common.utils.RedisUtils;
import com.yeejoin.amos.boot.module.common.api.feign.EquipFeignClient;
import com.yeejoin.amos.component.feign.model.FeignClientResult;
import com.yeejoin.amos.component.robot.AmosRequestContext;
import com.yeejoin.amos.component.rule.RuleTrigger;
import com.yeejoin.amos.feign.privilege.model.AgencyUserModel;
import com.yeejoin.amos.feign.privilege.model.DepartmentModel;
......@@ -201,6 +202,9 @@ public class PlanTaskServiceImpl implements IPlanTaskService {
@Autowired
RestHighLevelClient restHighLevelClient;
@Autowired
AmosRequestContext amosRequestContext;
private String DB = "amos_tzs_biz.";
private String P_STATIC_DAY = "p_static_day";
......@@ -1045,12 +1049,24 @@ public class PlanTaskServiceImpl implements IPlanTaskService {
stopWatch1.stop();
log.info("获取点详情其他数据,耗时:{} 秒",stopWatch1.getTotalTimeSeconds());
List<AppCheckInputRespone> pointInputs = planTaskMapper.selectPointInputs();
List<AppCheckInputRespone> pointInputs = planTaskMapper.selectPointInputs(plan.getRouteId());
List<Map<String, String>> excludeItems = planTaskMapper.selectExcludeItemsByRoutId(plan.getRouteId());
StopWatch stopWatch2 = new StopWatch();
stopWatch2.start();
Map<String, List<ESTaskDetailDto>> collect1 = esTaskInfo.stream().collect(Collectors.groupingBy(ESTaskDetailDto::getPlanTaskId));
Map<String, List<AppCheckInputRespone>> collect2 = pointInputs.stream().collect(Collectors.groupingBy(AppCheckInputRespone::getPointId));
for (Map<String, String> excludeItem : excludeItems) {
String[] exclude_items = excludeItem.get("exclude_items").split(",");
List<AppCheckInputRespone> appCheckInputRespones = collect2.get(String.valueOf(excludeItem.get("point_id")));
List<AppCheckInputRespone> appCheckInputRespones1 = new ArrayList<>();
for (String exclude_item : exclude_items) {
appCheckInputRespones1.add(appCheckInputRespones.stream().filter(x -> x.getPointInputItemId().equals(exclude_item)).collect(Collectors.toList()).get(0));
}
appCheckInputRespones.removeAll(appCheckInputRespones1);
collect2.put(String.valueOf(excludeItem.get("point_id")), appCheckInputRespones);
}
for (ESTaskDetailDto esTaskDetailDto : esTaskDetailDtos) {
esTaskDetailDto.setPlanName(plan.getName());
esTaskDetailDto.setBeginTime(collect1.get(esTaskDetailDto.getPlanTaskId()).get(0).getBeginTime());
......@@ -1227,7 +1243,6 @@ public class PlanTaskServiceImpl implements IPlanTaskService {
paramMap.put("next_gen_date", DateUtil.formatDatrToStr(now, "yyyy-MM-dd"));
planMapper.updPlanStatusOrGenDate(paramMap);// 更新下次任务生成日期
}
Toke toke = remoteSecurityService.getServerToken();
Map<String, String> deptMap = new HashMap<>();
Map<String, Object> nameMap = new HashMap<>();
try {
......@@ -1236,7 +1251,7 @@ public class PlanTaskServiceImpl implements IPlanTaskService {
int pointNum = iRoutePointDao.countRoutePoint(plan.getRouteId());
long batchNo = now.getTime();
List<AgencyUserModel> agencyUserModels = remoteSecurityService.listUserByUserIds(toke.getToke(), toke.getProduct(), toke.getAppKey(), plan.getUserId());
List<AgencyUserModel> agencyUserModels = remoteSecurityService.listUserByUserIds(amosRequestContext.getToken(), amosRequestContext.getProduct(), amosRequestContext.getAppKey(), plan.getUserId());
for (int i = 0; i < agencyUserModels.size(); i++) {
//遍历获取orgcode
nameMap.put(agencyUserModels.get(i).getUserId(), agencyUserModels.get(i).getRealName());
......@@ -1259,7 +1274,7 @@ public class PlanTaskServiceImpl implements IPlanTaskService {
Map<String, String> orgCodeMap = new HashMap<>();
if (departmentIds.size() > 0) {
List<DepartmentModel> departmentModels = remoteSecurityService.getlistDepartmentByDeptIds(toke.getToke(), toke.getProduct(), toke.getAppKey(), departmentIdBuffer.toString().substring(0, departmentIdBuffer.toString().length() - 1));
List<DepartmentModel> departmentModels = remoteSecurityService.getlistDepartmentByDeptIds(amosRequestContext.getToken(), amosRequestContext.getProduct(), amosRequestContext.getAppKey(), departmentIdBuffer.toString().substring(0, departmentIdBuffer.toString().length() - 1));
for (String key : deptMap.keySet()) {
String entryValue = deptMap.get(key);
if ("-1".equals(entryValue)) {
......@@ -1436,10 +1451,9 @@ public class PlanTaskServiceImpl implements IPlanTaskService {
public void sendMessage(Plan plan, PlanTask planTask) throws Exception {
Toke toke= remoteSecurityService.getServerToken();
RequestContext.setToken(toke.getToke());
RequestContext.setProduct(toke.getProduct());
RequestContext.setAppKey(toke.getAppKey());
RequestContext.setToken(amosRequestContext.getToken());
RequestContext.setProduct(amosRequestContext.getProduct());
RequestContext.setAppKey(amosRequestContext.getAppKey());
MsgRo msgRo = new MsgRo();
// 标题
......@@ -2074,8 +2088,7 @@ public class PlanTaskServiceImpl implements IPlanTaskService {
userIds.add(id);
}
});
Toke toke = remoteSecurityService.getServerToken();
List<AgencyUserModel> userModelList = remoteSecurityService.listUserByUserIds(toke.getToke(), toke.getProduct(), toke.getAppKey(), Joiner.on(",").join(userIds));
List<AgencyUserModel> userModelList = remoteSecurityService.listUserByUserIds(amosRequestContext.getToken(), amosRequestContext.getProduct(), amosRequestContext.getAppKey(), Joiner.on(",").join(userIds));
Map<String, String> userModelMap = userModelList.stream().collect(Collectors.toMap(AgencyUserModel::getUserId, AgencyUserModel::getRealName, (k1, k2) -> k2));
content.forEach(e -> {
......@@ -2124,8 +2137,7 @@ public class PlanTaskServiceImpl implements IPlanTaskService {
userIds.add(id);
}
});
Toke toke = remoteSecurityService.getServerToken();
List<AgencyUserModel> userModelList = remoteSecurityService.listUserByUserIds(toke.getToke(), toke.getProduct(), toke.getAppKey(), Joiner.on(",").join(userIds));
List<AgencyUserModel> userModelList = remoteSecurityService.listUserByUserIds(amosRequestContext.getToken(), amosRequestContext.getProduct(), amosRequestContext.getAppKey(), Joiner.on(",").join(userIds));
Map<String, String> userModelMap = userModelList.stream().collect(Collectors.toMap(AgencyUserModel::getUserId, AgencyUserModel::getRealName, (k1, k2) -> k2));
content.forEach(e -> {
......
......@@ -6,6 +6,7 @@ import com.google.common.base.Joiner;
import com.google.common.collect.Lists;
import com.google.common.collect.Maps;
import com.google.common.collect.Sets;
import com.yeejoin.amos.component.robot.AmosRequestContext;
import com.yeejoin.amos.feign.privilege.model.AgencyUserModel;
import com.yeejoin.amos.patrol.business.dao.mapper.MsgSubscribeMapper;
import com.yeejoin.amos.patrol.business.dao.repository.IMsgDao;
......@@ -59,11 +60,15 @@ public class AsyncTask {
@Autowired
private IEmailService iEmailService;
@Autowired
AmosRequestContext amosRequestContext;
private static final String TOKE = "TOKE";
private static final String TAB = "\r\n";
/**
* 检查消息推送
* @param checkId
......@@ -109,8 +114,7 @@ public class AsyncTask {
@Async("asyncTaskExecutor")
public Future<Boolean> pushCheckMessage(Long checkId) throws InterruptedException {
Toke toke= remoteSecurityService.getServerToken();
messageService.pushCheckMessage(toke.getToke(),toke.getProduct(),toke.getAppKey(),checkId);
messageService.pushCheckMessage(amosRequestContext.getToken(),amosRequestContext.getProduct(),amosRequestContext.getAppKey(),checkId);
return new AsyncResult<Boolean>(true);
}
......@@ -223,8 +227,7 @@ public class AsyncTask {
pushMsgParam.setType(JPushTypeEnum.ALIAS.getCode());
pushMsgParam.setExtras(extras);
iMsgDao.saveAll(msgs);
Toke toke= remoteSecurityService.getServerToken();
messageService.pushMsg(toke.getToke(),toke.getProduct(),toke.getAppKey(),pushMsgParam);
messageService.pushMsg(amosRequestContext.getToken(), amosRequestContext.getProduct(), amosRequestContext.getAppKey(), pushMsgParam);
}
}
......
......@@ -90,42 +90,42 @@ public class RemoteSecurityService {
return null;
}
public Toke getServerToken() {
IdPasswordAuthModel dPasswordAuthModel = new IdPasswordAuthModel();
dPasswordAuthModel.setLoginId(loginId);
dPasswordAuthModel.setPassword(DesUtil.encode(password, "qaz"));
Toke toke = null;
try {
toke = JSON.parseObject(redisTemplate.opsForValue().get(buildKey(loginId)), Toke.class);
if (ObjectUtils.isEmpty(toke)) {
toke = getLogin(dPasswordAuthModel);
} else {
RequestContext.setProduct(productWeb);
if (!TokenOperation.refresh(toke.getToke())) {
toke = getLogin(dPasswordAuthModel);
}
}
RequestContext.setAppKey(toke.getAppKey());
RequestContext.setToken(toke.getToke());
} catch (InnerInvokException e) {
e.printStackTrace();
}
return toke;
}
private Toke getLogin(IdPasswordAuthModel dPasswordAuthModel) {
Toke toke = new Toke();
RequestContext.setProduct(productWeb);
FeignClientResult feignClientResult = Privilege.authClient.idpassword(dPasswordAuthModel);
Map map = (Map) feignClientResult.getResult();
if (map != null) {
toke.setToke(map.get("token").toString());
toke.setProduct(productWeb);
toke.setAppKey(appKey);
redisTemplate.opsForValue().set(buildKey(dPasswordAuthModel.getLoginId()), JSONObject.toJSONString(toke), 28, TimeUnit.DAYS);
}
return toke;
}
// public Toke getServerToken() {
// IdPasswordAuthModel dPasswordAuthModel = new IdPasswordAuthModel();
// dPasswordAuthModel.setLoginId(loginId);
// dPasswordAuthModel.setPassword(DesUtil.encode(password, "qaz"));
// Toke toke = null;
// try {
// toke = JSON.parseObject(redisTemplate.opsForValue().get(buildKey(loginId)), Toke.class);
// if (ObjectUtils.isEmpty(toke)) {
// toke = getLogin(dPasswordAuthModel);
// } else {
// RequestContext.setProduct(productWeb);
// if (!TokenOperation.refresh(toke.getToke())) {
// toke = getLogin(dPasswordAuthModel);
// }
// }
// RequestContext.setAppKey(toke.getAppKey());
// RequestContext.setToken(toke.getToke());
// } catch (InnerInvokException e) {
// e.printStackTrace();
// }
// return toke;
// }
// private Toke getLogin(IdPasswordAuthModel dPasswordAuthModel) {
// Toke toke = new Toke();
// RequestContext.setProduct(productWeb);
// FeignClientResult feignClientResult = Privilege.authClient.idpassword(dPasswordAuthModel);
// Map map = (Map) feignClientResult.getResult();
// if (map != null) {
// toke.setToke(map.get("token").toString());
// toke.setProduct(productWeb);
// toke.setAppKey(appKey);
// redisTemplate.opsForValue().set(buildKey(dPasswordAuthModel.getLoginId()), JSONObject.toJSONString(toke), 28, TimeUnit.DAYS);
// }
// return toke;
// }
//redi缓存系统用户token信息
......
......@@ -7,6 +7,7 @@ import com.alibaba.fastjson.serializer.SerializerFeature;
import com.yeejoin.amos.boot.biz.common.utils.DateUtils;
import com.yeejoin.amos.component.feign.config.InnerInvokException;
import com.yeejoin.amos.component.feign.model.FeignClientResult;
import com.yeejoin.amos.component.robot.AmosRequestContext;
import com.yeejoin.amos.feign.privilege.Privilege;
import com.yeejoin.amos.feign.privilege.model.AgencyUserModel;
import com.yeejoin.amos.feign.systemctl.Systemctl;
......@@ -129,6 +130,8 @@ public class JobService implements IJobService {
@Autowired
IRoutePointDao iRoutePointDao;
@Autowired
AmosRequestContext amosRequestContext;
@Autowired
JcsFeignClient jcsFeignClient;
......@@ -381,10 +384,9 @@ public class JobService implements IJobService {
}
private void updateTaskStatus(Plan plan) {
Toke toke = remoteSecurityService.getServerToken();
RequestContext.setToken(toke.getToke());
RequestContext.setProduct(toke.getProduct());
RequestContext.setAppKey(toke.getAppKey());
RequestContext.setToken(amosRequestContext.getToken());
RequestContext.setProduct(amosRequestContext.getProduct());
RequestContext.setAppKey(amosRequestContext.getAppKey());
MessageModel model = new MessageModel();
model.setRelationId(String.valueOf(plan.getId()));
model.setMsgType("patrolSystem");
......@@ -723,7 +725,6 @@ public class JobService implements IJobService {
if (iTaskDao.existsById(taskId)) {
Task task = iTaskDao.findById(taskId).get();
Toke toke = remoteSecurityService.getServerToken();
if (XJConstant.STATUS_MONITOR_END.equals(jobType)) {
if (TaskStatusEnum.UNDERWAY.getValue() == task.getStatus()) {
task.setStatus(TaskStatusEnum.OVERTIME.getValue());
......@@ -739,7 +740,7 @@ public class JobService implements IJobService {
taskFeedback.setMessageType(TaskStatusEnum.OVERTIME.getName());
taskFeedback = taskFeedbackDao.save(taskFeedback);
try {
asyncTask.pushTaskDetailInfoTo3D(toke.getToke(), toke.getProduct(), toke.getAppKey(), taskId); // 超时任务向3D推送
asyncTask.pushTaskDetailInfoTo3D(amosRequestContext.getToken(), amosRequestContext.getProduct(), amosRequestContext.getAppKey(), taskId); // 超时任务向3D推送
} catch (InterruptedException e) {
// TODO Auto-generated catch block
log.error(e.getMessage(), e);
......@@ -747,7 +748,7 @@ public class JobService implements IJobService {
}
}
} else {
messageService.pushTaskMessage(toke.getToke(), toke.getProduct(), toke.getAppKey(), task);
messageService.pushTaskMessage(amosRequestContext.getToken(), amosRequestContext.getProduct(), amosRequestContext.getAppKey(), task);
}
}
removeJob(jobName);
......@@ -867,8 +868,7 @@ public class JobService implements IJobService {
public void msgJobPerform(long msgId, String jobType, String jobName) {
if (iMsgDao.existsById(msgId)) {
Msg msg = iMsgDao.findById(msgId).get();
Toke toke = remoteSecurityService.getServerToken();
messageService.pushMsgAndSave(toke.getToke(), toke.getProduct(), toke.getAppKey(), msg);
messageService.pushMsgAndSave(amosRequestContext.getToken(), amosRequestContext.getProduct(), amosRequestContext.getAppKey(), msg);
}
removeJob(jobName);
}
......
......@@ -1850,12 +1850,12 @@
<select id="selectPointInputs" resultType="com.yeejoin.amos.patrol.core.common.response.AppCheckInputRespone">
SELECT
ppi.point_id,
prp.point_id,
null inputValue,
null pointInputImgUrls,
pii.default_value,
pii.ID inputItemId,
pii.NAME inputName,
ppi.ID pointInputItemId,
pii.ID checkInputId,
pii.item_type itemType,
pii.risk_desc riskDesc,
......@@ -1866,11 +1866,20 @@
pii.is_multiline isMultiline,
pii.order_no orderNo
FROM
p_point_inputitem ppi
LEFT JOIN p_input_item pii ON ppi.input_item_id = pii."id"
"p_route_point" prp
LEFT JOIN p_route_point_item pi ON prp.ID = pi.route_point_id
LEFT JOIN p_point_inputitem ppi ON pi.point_input_item_id = ppi.id
LEFT JOIN p_input_item pii ON ppi.input_item_id = pii.id
WHERE
pii."id" IS NOT NULL
AND route_id = #{routeId}
</select>
<select id="getPlanTaskIds" resultType="java.lang.String">
SELECT ID FROM p_plan_task WHERE plan_id = #{id}
</select>
<select id="selectExcludeItemsByRoutId" resultType="java.util.Map">
select point_id,exclude_items from p_route_point where route_id = #{routeId}
</select>
</mapper>
\ No newline at end of file
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