Commit 1f33c716 authored by suhuiguang's avatar suhuiguang

1.修改bug

parent 8c648795
package com.yeejoin.amos.fas.business.feign;
import com.yeejoin.amos.fas.core.util.CommonResponse;
public class EquipManageFeignFallback implements IEquipManageFeign{
// @Override
// public CommonResponse saveWarehouse(String appKey, String product, String token, String param) {
// return null;
// }
//
// @Override
// public CommonResponse delWarehouse(String appKey, String product, String token, String param) {
// return null;
// }
}
...@@ -8,6 +8,9 @@ import org.springframework.web.context.request.ServletRequestAttributes; ...@@ -8,6 +8,9 @@ import org.springframework.web.context.request.ServletRequestAttributes;
import feign.RequestInterceptor; import feign.RequestInterceptor;
import feign.RequestTemplate; import feign.RequestTemplate;
/**
* @author DELL
*/
public class FeignBasicAuthRequestInterceptor implements RequestInterceptor{ public class FeignBasicAuthRequestInterceptor implements RequestInterceptor{
public FeignBasicAuthRequestInterceptor() { public FeignBasicAuthRequestInterceptor() {
...@@ -18,7 +21,6 @@ public class FeignBasicAuthRequestInterceptor implements RequestInterceptor{ ...@@ -18,7 +21,6 @@ public class FeignBasicAuthRequestInterceptor implements RequestInterceptor{
ServletRequestAttributes attributes = (ServletRequestAttributes)RequestContextHolder.getRequestAttributes(); ServletRequestAttributes attributes = (ServletRequestAttributes)RequestContextHolder.getRequestAttributes();
if(attributes != null) { if(attributes != null) {
HttpServletRequest request = attributes.getRequest(); HttpServletRequest request = attributes.getRequest();
/* Get token from header */ /* Get token from header */
String authToken = request.getHeader("X-Access-Token"); String authToken = request.getHeader("X-Access-Token");
/* If token not found get it from request parameter */ /* If token not found get it from request parameter */
...@@ -28,6 +30,8 @@ public class FeignBasicAuthRequestInterceptor implements RequestInterceptor{ ...@@ -28,6 +30,8 @@ public class FeignBasicAuthRequestInterceptor implements RequestInterceptor{
} }
template.header("X-Access-Token", authToken); template.header("X-Access-Token", authToken);
template.header("token", authToken); template.header("token", authToken);
template.header("appKey", request.getHeader("appKey"));
template.header("product", request.getHeader("product"));
} }
} }
} }
package com.yeejoin.amos.fas.business.feign; package com.yeejoin.amos.fas.business.feign;
import org.springframework.cloud.openfeign.FeignClient; import org.springframework.cloud.openfeign.FeignClient;
import org.springframework.web.bind.annotation.RequestBody; import org.springframework.web.bind.annotation.PutMapping;
import org.springframework.web.bind.annotation.RequestHeader; import org.springframework.web.bind.annotation.RequestParam;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RequestMethod;
import com.yeejoin.amos.fas.core.util.CommonResponse;
/**
* @author DELL
*/
@FeignClient(name="${equipManage.fegin.name}", fallback=MassVisualFallback.class, configuration=FeignConfiguration.class) @FeignClient(name="${equipManage.fegin.name}", fallback=MassVisualFallback.class, configuration=FeignConfiguration.class)
public interface IEquipManageFeign { public interface IEquipManageFeign {
/** /**
* * 解除区域与建筑绑定
* 远程保存仓库,如果id存在就更新,不存在就新增。 * @param instanceId 建筑id
*
* @param appKey
* @param product
* @param token
* @param param
* @return CommonResponse
* @throws <br>
* @author 张展弋
* @date 2020-9-8 15:15:18
*/
// @RequestMapping(value = "/equip/warehouse/saveAutoSysSyn", method = RequestMethod.POST,consumes = "application/json")
// public CommonResponse saveWarehouse(
// @RequestHeader(name="appKey",required = true) String appKey,
// @RequestHeader(name="product",required = true) String product,
// @RequestHeader(name="token",required = true) String token,
// @RequestBody String param);
/**
*
* 远程删除仓库
*
* @param appKey
* @param product
* @param token
* @param riskSourceId 网络传输不支持long这边传string那边long接
* @return CommonResponse
* @throws <br>
* @author 张展弋
* @date 2020-9-8 17:43:11
*/ */
// @RequestMapping(value = "/equip/warehouse/deleteAutoSysSyn", method = RequestMethod.POST,consumes = "application/json") @PutMapping(value = "/equip-1225/building/unbind/region")
// public CommonResponse delWarehouse( void unbindRelation(@RequestParam Long instanceId);
// @RequestHeader(name="appKey",required = true) String appKey,
// @RequestHeader(name="product",required = true) String product,
// @RequestHeader(name="token",required = true) String token,
// @RequestBody String riskSourceId);
} }
...@@ -25,7 +25,9 @@ import com.yeejoin.amos.fas.business.param.CommonPageInfoParam; ...@@ -25,7 +25,9 @@ import com.yeejoin.amos.fas.business.param.CommonPageInfoParam;
import com.yeejoin.amos.fas.business.param.FmeaBindParam; import com.yeejoin.amos.fas.business.param.FmeaBindParam;
import com.yeejoin.amos.fas.business.service.intfc.*; import com.yeejoin.amos.fas.business.service.intfc.*;
import com.yeejoin.amos.fas.business.service.model.ContingencyDeviceStatus; import com.yeejoin.amos.fas.business.service.model.ContingencyDeviceStatus;
import com.yeejoin.amos.fas.business.util.*; import com.yeejoin.amos.fas.business.util.DateUtils;
import com.yeejoin.amos.fas.business.util.JexlUtil;
import com.yeejoin.amos.fas.business.util.RpnUtils;
import com.yeejoin.amos.fas.business.vo.EquipCommunicationData; import com.yeejoin.amos.fas.business.vo.EquipCommunicationData;
import com.yeejoin.amos.fas.business.vo.EquipmentSpecificIndexVo; import com.yeejoin.amos.fas.business.vo.EquipmentSpecificIndexVo;
import com.yeejoin.amos.fas.business.vo.Toke; import com.yeejoin.amos.fas.business.vo.Toke;
...@@ -180,6 +182,8 @@ public class RiskSourceServiceImpl implements IRiskSourceService { ...@@ -180,6 +182,8 @@ public class RiskSourceServiceImpl implements IRiskSourceService {
@Value("${station.name}") @Value("${station.name}")
private String stationName; private String stationName;
@Autowired
IEquipManageFeign iEquipManageFeign;
public static String cacheKeyForCanBeRunning() { public static String cacheKeyForCanBeRunning() {
...@@ -217,77 +221,12 @@ public class RiskSourceServiceImpl implements IRiskSourceService { ...@@ -217,77 +221,12 @@ public class RiskSourceServiceImpl implements IRiskSourceService {
iRiskSourceDao.saveAndFlush(riskSource); iRiskSourceDao.saveAndFlush(riskSource);
return riskSource; return riskSource;
} }
//
// @Value("${equipManage.fegin.isSyn:false}")
// private boolean isSyn;
// @Override
// public boolean isSynEquipManage() {
// return isSyn;
// }
// @Override
// public String synToEquipManage(String appKey, String product, String token, String success, List<RiskSourceTreeResponse> riskSourcesTree) {
// // 必须使用树形结构,一条一条的树杈到叶子遍历同步,否则底层节点会因为找不到父节点而同步失败
// return doSynToEquipManage(appKey, product, token, success, riskSourcesTree);
// }
//
// private String doSynToEquipManage(String appKey, String product, String token, String success, List<RiskSourceTreeResponse> riskSourcesTree) {
// if(riskSourcesTree == null) {
// return null;
// }
// String res = null;
// for(RiskSourceTreeResponse rst : riskSourcesTree) {
// res = saveToEquipManage(appKey, product, token, success, rst.getId(), rst.getCode(), rst.getName(), rst.getParentId());
// if(res != null) {
// return res;
// }
// res = doSynToEquipManage(appKey, product, token, success, rst.getChildren());
// if(res != null) {
// return res;
// }
// }
// return null;
// }
/**
* 风险模型新增及维护时远程同步
*
* @return CommonResponse
* @throws <br>
* @author 张展弋
* @date 2020-9-8 15:39:20
*/
// public String saveToEquipManage(String appKey,String product,String token,String success,long id, String code, String name, Long parentId) {
// if(!isSynEquipManage()) {
// return null;
// }
// JSONObject js = new JSONObject();
// js.put("sourceId", id);
// js.put("name", name);
// js.put("sourceCode", code);
// // 这里的parentId和那边系统的不是一回事,这里只是借用传输
// js.put("id", parentId);
// CommonResponse cr = null;
// try {
// // 父节点id为0表示根节点,对应那边的仓库
// cr = equipManageFeign.saveWarehouse(appKey, product, token, js.toString());
// } catch (Exception e) {
// e.printStackTrace();
// }
// if (cr == null) {
// return "远程调用同步失败,请检查远程系统后重试!";
// }
// if (!success.equals(cr.getResult())) {
// return "远程同步失败,请检查远程系统后重试!附加消息:" + cr.getMessage();
// }
// return null;
// }
@Override @Override
public void deleteRiskSource(String appKey, String product, String token, String success, Long[] riskSourceId) throws Exception { public void deleteRiskSource(String appKey, String product, String token, String success, Long[] riskSourceId) throws Exception {
Set<Long> parentIds = new LinkedHashSet<>(); Set<Long> parentIds = new LinkedHashSet<>();
String synMsg = null;
for (Long rId : riskSourceId) { for (Long rId : riskSourceId) {
//0.校验
int count = iRiskSourceDao.countByParentId(rId); int count = iRiskSourceDao.countByParentId(rId);
Optional<RiskSource> rs = iRiskSourceDao.findById(rId); Optional<RiskSource> rs = iRiskSourceDao.findById(rId);
rs.ifPresent(riskSource -> parentIds.add(riskSource.getParentId())); rs.ifPresent(riskSource -> parentIds.add(riskSource.getParentId()));
...@@ -297,13 +236,21 @@ public class RiskSourceServiceImpl implements IRiskSourceService { ...@@ -297,13 +236,21 @@ public class RiskSourceServiceImpl implements IRiskSourceService {
if (count > 0) { if (count > 0) {
throw new YeeException("该数据有关联子项,请先删除子项数据"); throw new YeeException("该数据有关联子项,请先删除子项数据");
} }
// synMsg = deleteToEquipManage(appKey, product, token, success, rId); //1、删除风险点
// if(synMsg !=null) {
// throw new YeeException("远程删除失败,附加消息:" + synMsg);
// }
iRiskSourceDao.deleteById(rId); iRiskSourceDao.deleteById(rId);
//2.删除关联建筑关系,防止对站服务有问题,捕获异常,不影响业务正常秩序
try {
rs.ifPresent(r->{
if(r.getSourceId() != null){
iEquipManageFeign.unbindRelation(r.getSourceId());
}
});
} catch (Exception e) {
log.error(e.getMessage(),e);
}
} }
//1.重新计算rpn //3.重新计算rpn
List<Long> existIds = parentIds.stream().filter(e -> List<Long> existIds = parentIds.stream().filter(e ->
iRiskSourceDao.findById(e).isPresent() iRiskSourceDao.findById(e).isPresent()
).collect(Collectors.toList()); ).collect(Collectors.toList());
......
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