Commit c571829b authored by tangwei's avatar tangwei

平台升级调整

parent c06f6cad
...@@ -8,17 +8,17 @@ ...@@ -8,17 +8,17 @@
<parent> <parent>
<groupId>com.yeejoin.amos</groupId> <groupId>com.yeejoin.amos</groupId>
<artifactId>YeeSafety3DRoot</artifactId> <artifactId>YeeSafety3DRoot</artifactId>
<version>1.1.0</version> <version>3.0.0</version>
</parent> </parent>
<dependencies> <dependencies>
<!-- 基础jar --> <!-- 基础jar -->
<dependency> <!-- <dependency>
<groupId>com.yeejoin.amos</groupId> <groupId>com.yeejoin.amos</groupId>
<artifactId>AmosOPService</artifactId> <artifactId>AmosOPService</artifactId>
<version>${YeeOp.version}</version> <version>${YeeOp.version}</version>
</dependency> </dependency> -->
<!-- 安全模块jar --> <!--安全模块jar
<dependency> <dependency>
<groupId>com.yeejoin.amos</groupId> <groupId>com.yeejoin.amos</groupId>
<artifactId>amos-authtoken</artifactId> <artifactId>amos-authtoken</artifactId>
...@@ -33,7 +33,29 @@ ...@@ -33,7 +33,29 @@
<artifactId>spring-security-config</artifactId> <artifactId>spring-security-config</artifactId>
</exclusion> </exclusion>
</exclusions> </exclusions>
</dependency> </dependency> -->
<dependency>
<groupId>com.yeejoin</groupId>
<artifactId>amos-feign-privilege</artifactId>
<version>1.1.0-SNAPSHOT</version>
</dependency>
<dependency>
<groupId>com.yeejoin</groupId>
<artifactId>amos-feign-systemctl</artifactId>
<version>1.1.0-SNAPSHOT</version>
</dependency>
<dependency>
<groupId>org.codehaus.jackson</groupId>
<artifactId>jackson-mapper-asl</artifactId>
<version>1.9.13</version>
</dependency>
<dependency>
<groupId>com.yeejoin</groupId>
<artifactId>amos-component-feign</artifactId>
<version>1.1.0-SNAPSHOT</version>
</dependency>
</dependencies> </dependencies>
</project> </project>
\ No newline at end of file
...@@ -9,20 +9,18 @@ import org.springframework.web.bind.annotation.PostMapping; ...@@ -9,20 +9,18 @@ import org.springframework.web.bind.annotation.PostMapping;
import org.springframework.web.bind.annotation.RequestBody; import org.springframework.web.bind.annotation.RequestBody;
import org.springframework.web.bind.annotation.RequestMapping; import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController; import org.springframework.web.bind.annotation.RestController;
import com.yeejoin.amos.op.core.common.query.CommonPageable;
import com.yeejoin.amos.op.core.common.query.DaoCriteria;
import com.yeejoin.amos.op.core.common.query.QueryOperatorEnum;
import com.yeejoin.amos.op.core.common.request.CommonRequest;
import com.yeejoin.amos.op.core.common.response.CommonResponse;
import com.yeejoin.amos.op.core.util.CommonResponseUtil;
import com.yeejoin.amos.safety.business.service.INodeLogViewService; import com.yeejoin.amos.safety.business.service.INodeLogViewService;
import com.yeejoin.amos.safety.business.vo.CommonPageable;
import com.yeejoin.amos.safety.business.vo.CommonRequest;
import com.yeejoin.amos.safety.business.vo.CommonResponse;
import com.yeejoin.amos.safety.business.vo.CommonResponseUtil;
import com.yeejoin.amos.safety.business.vo.CompanyBo;
import com.yeejoin.amos.safety.business.vo.DaoCriteria;
import com.yeejoin.amos.safety.business.vo.DepartmentBo;
import com.yeejoin.amos.safety.business.vo.QueryOperatorEnum;
import com.yeejoin.amos.safety.business.vo.ReginParams;
import com.yeejoin.amos.safety.common.cache.CurUserCompanyCache; import com.yeejoin.amos.safety.common.cache.CurUserCompanyCache;
import com.yeejoin.amos.safety.common.entity.NodeToipLogView; import com.yeejoin.amos.safety.common.entity.NodeToipLogView;
import com.yeejoin.amos.security.entity.Company;
import com.yeejoin.amos.security.entity.Department;
import com.yeejoin.amos.security.entity.User;
import io.swagger.annotations.Api; import io.swagger.annotations.Api;
import io.swagger.annotations.ApiOperation; import io.swagger.annotations.ApiOperation;
import io.swagger.annotations.ApiParam; import io.swagger.annotations.ApiParam;
...@@ -50,32 +48,33 @@ public class NodeLogViewController extends BaseController ...@@ -50,32 +48,33 @@ public class NodeLogViewController extends BaseController
@ApiParam(value = "分页参数", required = true) CommonPageable commonPageable) @ApiParam(value = "分页参数", required = true) CommonPageable commonPageable)
{ {
List<DaoCriteria> daoCriterias = buildDaoCriterias(queryRequests); List<DaoCriteria> daoCriterias = buildDaoCriterias(queryRequests);
User currUser = getUserInfo(); daoCriterias = buildViewDaoCriteria(daoCriterias);
if (currUser != null) // User currUser = getUserInfo();
{ // if (currUser != null)
Department department = currUser.getDepartment(); // {
if (department != null)//部门用户 // Department department = currUser.getDepartment();
{ // if (department != null)//部门用户
//通过当前登录用户orgCode过滤 // {
daoCriterias = buildViewDaoCriteria(daoCriterias); // //通过当前登录用户orgCode过滤
}else // daoCriterias = buildViewDaoCriteria(daoCriterias);
{ // }else
String compCode = CurUserCompanyCache.getInstance().getCurCompany(getUserId(), getToken()); // {
if (compCode != null) // String compCode = CurUserCompanyCache.getInstance().getCurCompany(getUserId(), getToken());
{ // if (compCode != null)
//查询本单位及子单位下所有部门 // {
daoCriterias.add(new DaoCriteria("orgCode", QueryOperatorEnum.EQUAL.getName(), compCode)); // //查询本单位及子单位下所有部门
daoCriterias.add(new DaoCriteria("orgCode", QueryOperatorEnum.LIKE.getName(), compCode+"*%")); // daoCriterias.add(new DaoCriteria("orgCode", QueryOperatorEnum.EQUAL.getName(), compCode));
daoCriterias.add(new DaoCriteria("orgCode", QueryOperatorEnum.LIKE.getName(), "%,"+compCode+"*%")); // daoCriterias.add(new DaoCriteria("orgCode", QueryOperatorEnum.LIKE.getName(), compCode+"*%"));
daoCriterias.add(new DaoCriteria("orgCode", QueryOperatorEnum.LIKE.getName(), compCode+"-%")); // daoCriterias.add(new DaoCriteria("orgCode", QueryOperatorEnum.LIKE.getName(), "%,"+compCode+"*%"));
daoCriterias.add(new DaoCriteria("orgCode", QueryOperatorEnum.LIKE.getName(), "%,"+compCode+"-%")); // daoCriterias.add(new DaoCriteria("orgCode", QueryOperatorEnum.LIKE.getName(), compCode+"-%"));
}else // daoCriterias.add(new DaoCriteria("orgCode", QueryOperatorEnum.LIKE.getName(), "%,"+compCode+"-%"));
{ // }else
//无orgCode条件,通过当前登录用户orgCode过滤 // {
daoCriterias = buildViewDaoCriteria(daoCriterias); // //无orgCode条件,通过当前登录用户orgCode过滤
} // daoCriterias = buildViewDaoCriteria(daoCriterias);
} // }
} // }
// }
Sort sort = new Sort(Sort.Direction.DESC,"time"); Sort sort = new Sort(Sort.Direction.DESC,"time");
commonPageable.setSort(sort); commonPageable.setSort(sort);
Page<NodeToipLogView> toipLogs = nodeLogViewService.findAll(daoCriterias, commonPageable); Page<NodeToipLogView> toipLogs = nodeLogViewService.findAll(daoCriterias, commonPageable);
...@@ -91,12 +90,12 @@ public class NodeLogViewController extends BaseController ...@@ -91,12 +90,12 @@ public class NodeLogViewController extends BaseController
*/ */
private List<DaoCriteria> buildViewDaoCriteria(List<DaoCriteria> daoCriterias) private List<DaoCriteria> buildViewDaoCriteria(List<DaoCriteria> daoCriterias)
{ {
User currUser = getUserInfo(); ReginParams currUser = getSelectedOrgInfo();
if (currUser != null) if (currUser != null)
{ {
Company company = currUser.getCompany(); CompanyBo company = currUser.getCompany();
Department department = currUser.getDepartment(); DepartmentBo department = currUser.getDepartment();
String compCode = company.getCompCode(); Long compCode = company.getCompanyOrgCode();
if (department == null) if (department == null)
{ {
//单位用户,查询本单位及子单位下所有部门 //单位用户,查询本单位及子单位下所有部门
...@@ -108,7 +107,7 @@ public class NodeLogViewController extends BaseController ...@@ -108,7 +107,7 @@ public class NodeLogViewController extends BaseController
}else }else
{ {
//部门用户,查询当前部门 //部门用户,查询当前部门
String orgCode = company.getCompCode()+"-"+department.getDepmCode(); String orgCode = company.getCompanyOrgCode()+"-"+department.getDeptOrgCode();
daoCriterias.add(new DaoCriteria("orgCode", QueryOperatorEnum.EQUAL.getName(), orgCode)); daoCriterias.add(new DaoCriteria("orgCode", QueryOperatorEnum.EQUAL.getName(), orgCode));
daoCriterias.add(new DaoCriteria("orgCode", QueryOperatorEnum.LIKE.getName(), orgCode+",%")); daoCriterias.add(new DaoCriteria("orgCode", QueryOperatorEnum.LIKE.getName(), orgCode+",%"));
daoCriterias.add(new DaoCriteria("orgCode", QueryOperatorEnum.LIKE.getName(), "%,"+orgCode+",%")); daoCriterias.add(new DaoCriteria("orgCode", QueryOperatorEnum.LIKE.getName(), "%,"+orgCode+",%"));
......
package com.yeejoin.amos.safety.business.controller; package com.yeejoin.amos.safety.business.controller;
import java.util.List; import java.util.List;
import org.springframework.beans.factory.annotation.Autowired; import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.data.domain.Page; import org.springframework.data.domain.Page;
import org.springframework.data.domain.Sort; import org.springframework.data.domain.Sort;
...@@ -9,20 +8,18 @@ import org.springframework.web.bind.annotation.PostMapping; ...@@ -9,20 +8,18 @@ import org.springframework.web.bind.annotation.PostMapping;
import org.springframework.web.bind.annotation.RequestBody; import org.springframework.web.bind.annotation.RequestBody;
import org.springframework.web.bind.annotation.RequestMapping; import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController; import org.springframework.web.bind.annotation.RestController;
import com.yeejoin.amos.op.core.common.query.CommonPageable;
import com.yeejoin.amos.op.core.common.query.DaoCriteria;
import com.yeejoin.amos.op.core.common.query.QueryOperatorEnum;
import com.yeejoin.amos.op.core.common.request.CommonRequest;
import com.yeejoin.amos.op.core.common.response.CommonResponse;
import com.yeejoin.amos.op.core.util.CommonResponseUtil;
import com.yeejoin.amos.safety.business.service.INodeMsgViewService; import com.yeejoin.amos.safety.business.service.INodeMsgViewService;
import com.yeejoin.amos.safety.business.vo.CommonPageable;
import com.yeejoin.amos.safety.business.vo.CommonRequest;
import com.yeejoin.amos.safety.business.vo.CommonResponse;
import com.yeejoin.amos.safety.business.vo.CommonResponseUtil;
import com.yeejoin.amos.safety.business.vo.CompanyBo;
import com.yeejoin.amos.safety.business.vo.DaoCriteria;
import com.yeejoin.amos.safety.business.vo.DepartmentBo;
import com.yeejoin.amos.safety.business.vo.QueryOperatorEnum;
import com.yeejoin.amos.safety.business.vo.ReginParams;
import com.yeejoin.amos.safety.common.cache.CurUserCompanyCache; import com.yeejoin.amos.safety.common.cache.CurUserCompanyCache;
import com.yeejoin.amos.safety.common.entity.NodeMessageView; import com.yeejoin.amos.safety.common.entity.NodeMessageView;
import com.yeejoin.amos.security.entity.Company;
import com.yeejoin.amos.security.entity.Department;
import com.yeejoin.amos.security.entity.User;
import io.swagger.annotations.Api; import io.swagger.annotations.Api;
import io.swagger.annotations.ApiOperation; import io.swagger.annotations.ApiOperation;
import io.swagger.annotations.ApiParam; import io.swagger.annotations.ApiParam;
...@@ -51,32 +48,33 @@ public class NodeMsgViewController extends BaseController ...@@ -51,32 +48,33 @@ public class NodeMsgViewController extends BaseController
@ApiParam(value = "分页参数", required = true) CommonPageable commonPageable) @ApiParam(value = "分页参数", required = true) CommonPageable commonPageable)
{ {
List<DaoCriteria> daoCriterias = buildDaoCriterias(queryRequests); List<DaoCriteria> daoCriterias = buildDaoCriterias(queryRequests);
User currUser = getUserInfo(); daoCriterias = buildViewDaoCriteria(daoCriterias);
if (currUser != null) // User currUser = getUserInfo();
{ // if (currUser != null)
Department department = currUser.getDepartment(); // {
if (department != null)//部门用户 // Department department = currUser.getDepartment();
{ // if (department != null)//部门用户
//通过当前登录用户orgCode过滤 // {
daoCriterias = buildViewDaoCriteria(daoCriterias); // //通过当前登录用户orgCode过滤
}else // daoCriterias = buildViewDaoCriteria(daoCriterias);
{ // }else
String compCode = CurUserCompanyCache.getInstance().getCurCompany(getUserId(), getToken()); // {
if (compCode != null) // String compCode = CurUserCompanyCache.getInstance().getCurCompany(getUserId(), getToken());
{ // if (compCode != null)
//查询本单位及子单位下所有部门 // {
daoCriterias.add(new DaoCriteria("orgCode", QueryOperatorEnum.EQUAL.getName(), compCode)); // //查询本单位及子单位下所有部门
daoCriterias.add(new DaoCriteria("orgCode", QueryOperatorEnum.LIKE.getName(), compCode+"*%")); // daoCriterias.add(new DaoCriteria("orgCode", QueryOperatorEnum.EQUAL.getName(), compCode));
daoCriterias.add(new DaoCriteria("orgCode", QueryOperatorEnum.LIKE.getName(), "%,"+compCode+"*%")); // daoCriterias.add(new DaoCriteria("orgCode", QueryOperatorEnum.LIKE.getName(), compCode+"*%"));
daoCriterias.add(new DaoCriteria("orgCode", QueryOperatorEnum.LIKE.getName(), compCode+"-%")); // daoCriterias.add(new DaoCriteria("orgCode", QueryOperatorEnum.LIKE.getName(), "%,"+compCode+"*%"));
daoCriterias.add(new DaoCriteria("orgCode", QueryOperatorEnum.LIKE.getName(), "%,"+compCode+"-%")); // daoCriterias.add(new DaoCriteria("orgCode", QueryOperatorEnum.LIKE.getName(), compCode+"-%"));
}else // daoCriterias.add(new DaoCriteria("orgCode", QueryOperatorEnum.LIKE.getName(), "%,"+compCode+"-%"));
{ // }else
//无orgCode条件,通过当前登录用户orgCode过滤 // {
daoCriterias = buildViewDaoCriteria(daoCriterias); // //无orgCode条件,通过当前登录用户orgCode过滤
} // daoCriterias = buildViewDaoCriteria(daoCriterias);
} // }
} // }
// }
Sort sort = new Sort(Sort.Direction.DESC,"time"); Sort sort = new Sort(Sort.Direction.DESC,"time");
commonPageable.setSort(sort); commonPageable.setSort(sort);
Page<NodeMessageView> messages = nodeMsgViewService.findAll(daoCriterias, commonPageable); Page<NodeMessageView> messages = nodeMsgViewService.findAll(daoCriterias, commonPageable);
...@@ -93,12 +91,19 @@ public class NodeMsgViewController extends BaseController ...@@ -93,12 +91,19 @@ public class NodeMsgViewController extends BaseController
*/ */
private List<DaoCriteria> buildViewDaoCriteria(List<DaoCriteria> daoCriterias) private List<DaoCriteria> buildViewDaoCriteria(List<DaoCriteria> daoCriterias)
{ {
User currUser = getUserInfo(); // User currUser = getUserInfo();
// if (currUser != null)
// {
// Company company = currUser.getCompany();
// Department department = currUser.getDepartment();
// String compCode = company.getCompCode();
// if (department == null)
ReginParams currUser = getSelectedOrgInfo();
if (currUser != null) if (currUser != null)
{ {
Company company = currUser.getCompany(); CompanyBo company = currUser.getCompany();
Department department = currUser.getDepartment(); DepartmentBo department = currUser.getDepartment();
String compCode = company.getCompCode(); Long compCode = company.getCompanyOrgCode();
if (department == null) if (department == null)
{ {
//单位用户,查询本单位及子单位下所有部门 //单位用户,查询本单位及子单位下所有部门
...@@ -110,7 +115,7 @@ public class NodeMsgViewController extends BaseController ...@@ -110,7 +115,7 @@ public class NodeMsgViewController extends BaseController
}else }else
{ {
//部门用户,查询当前部门 //部门用户,查询当前部门
String orgCode = company.getCompCode()+"-"+department.getDepmCode(); String orgCode = company.getCompanyOrgCode()+"-"+department.getDeptOrgCode();
daoCriterias.add(new DaoCriteria("orgCode", QueryOperatorEnum.EQUAL.getName(), orgCode)); daoCriterias.add(new DaoCriteria("orgCode", QueryOperatorEnum.EQUAL.getName(), orgCode));
daoCriterias.add(new DaoCriteria("orgCode", QueryOperatorEnum.LIKE.getName(), orgCode+",%")); daoCriterias.add(new DaoCriteria("orgCode", QueryOperatorEnum.LIKE.getName(), orgCode+",%"));
daoCriterias.add(new DaoCriteria("orgCode", QueryOperatorEnum.LIKE.getName(), "%,"+orgCode+",%")); daoCriterias.add(new DaoCriteria("orgCode", QueryOperatorEnum.LIKE.getName(), "%,"+orgCode+",%"));
......
...@@ -11,10 +11,12 @@ import org.springframework.web.bind.annotation.RequestBody; ...@@ -11,10 +11,12 @@ import org.springframework.web.bind.annotation.RequestBody;
import org.springframework.web.bind.annotation.RequestMapping; import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController; import org.springframework.web.bind.annotation.RestController;
import com.yeejoin.amos.op.core.common.response.CommonResponse; import com.yeejoin.amos.feign.privilege.model.AgencyUserModel;
import com.yeejoin.amos.op.core.util.CommonResponseUtil;
import com.yeejoin.amos.op.core.util.JSONUtil;
import com.yeejoin.amos.safety.business.service.INode3DVoService; import com.yeejoin.amos.safety.business.service.INode3DVoService;
import com.yeejoin.amos.safety.business.vo.CommonResponse;
import com.yeejoin.amos.safety.business.vo.CommonResponseUtil;
import com.yeejoin.amos.safety.business.vo.JSONUtil;
import com.yeejoin.amos.safety.business.vo.ReginParams;
import com.yeejoin.amos.safety.business.websocket.View3DWebSocket; import com.yeejoin.amos.safety.business.websocket.View3DWebSocket;
import com.yeejoin.amos.safety.common.cache.CurUserCompanyCache; import com.yeejoin.amos.safety.common.cache.CurUserCompanyCache;
import com.yeejoin.amos.safety.common.entity.Node3DVo; import com.yeejoin.amos.safety.common.entity.Node3DVo;
...@@ -24,10 +26,7 @@ import com.yeejoin.amos.safety.common.entity.dto.PatrolTaskDTO; ...@@ -24,10 +26,7 @@ import com.yeejoin.amos.safety.common.entity.dto.PatrolTaskDTO;
import com.yeejoin.amos.safety.common.enums.CheckStateEnum; import com.yeejoin.amos.safety.common.enums.CheckStateEnum;
import com.yeejoin.amos.safety.common.enums.View3DNodeType; import com.yeejoin.amos.safety.common.enums.View3DNodeType;
import com.yeejoin.amos.safety.common.view.View3DHandler; import com.yeejoin.amos.safety.common.view.View3DHandler;
import com.yeejoin.amos.security.authorization.Authorization; import com.yeejoin.amos.safety.core.remote.service.RemoteSecurityService;
import com.yeejoin.amos.security.common.remote.RemoteSecurityServer;
import com.yeejoin.amos.security.entity.User;
import io.swagger.annotations.Api; import io.swagger.annotations.Api;
import io.swagger.annotations.ApiOperation; import io.swagger.annotations.ApiOperation;
import io.swagger.annotations.ApiParam; import io.swagger.annotations.ApiParam;
...@@ -51,7 +50,7 @@ public class PatrolController extends BaseController ...@@ -51,7 +50,7 @@ public class PatrolController extends BaseController
private INode3DVoService node3DVoService; private INode3DVoService node3DVoService;
@Autowired @Autowired
private RemoteSecurityServer remoteSecurityServer; private RemoteSecurityService remoteSecurityServer;
private static final Logger logger = Logger.getLogger(PatrolController.class); private static final Logger logger = Logger.getLogger(PatrolController.class);
/** /**
...@@ -65,7 +64,7 @@ public class PatrolController extends BaseController ...@@ -65,7 +64,7 @@ public class PatrolController extends BaseController
*/ */
@PostMapping(value = "/check",produces = "application/json;charset=UTF-8") @PostMapping(value = "/check",produces = "application/json;charset=UTF-8")
@ApiOperation(value = "新增巡检记录信息", notes = "新增巡检记录信息") @ApiOperation(value = "新增巡检记录信息", notes = "新增巡检记录信息")
@Authorization(ingore = true) //@Authorization(ingore = true)
public CommonResponse addXJCheck( public CommonResponse addXJCheck(
@ApiParam(value = "巡检记录信息", required = true) @RequestBody List<PatrolCheckDTO> patrolCheckDTOs) @ApiParam(value = "巡检记录信息", required = true) @RequestBody List<PatrolCheckDTO> patrolCheckDTOs)
{ {
...@@ -109,11 +108,11 @@ public class PatrolController extends BaseController ...@@ -109,11 +108,11 @@ public class PatrolController extends BaseController
if (perNode3dVos == null || perNode3dVos.size() == 0) if (perNode3dVos == null || perNode3dVos.size() == 0)
{ {
//用户无对应的3D节点,则进行新增 //用户无对应的3D节点,则进行新增
User user = remoteSecurityServer.getUserbyId(String.valueOf(riskPoint.getUserID())); AgencyUserModel user= remoteSecurityServer.getUserById( getToken(), getProduct(), getAppKey(),String.valueOf(riskPoint.getUserID()));
perNode3dVo = new Node3DVo(); perNode3dVo = new Node3DVo();
perNode3dVo.setDisplayName(user.getName()); perNode3dVo.setDisplayName(user.getUserName());
perNode3dVo.setType(View3DNodeType.PERSON.getName()); perNode3dVo.setType(View3DNodeType.PERSON.getName());
perNode3dVo.setOid(String.valueOf(user.getId())); perNode3dVo.setOid(String.valueOf(user.getUserId()));
}else{ }else{
perNode3dVo = perNode3dVos.get(0); perNode3dVo = perNode3dVos.get(0);
} }
...@@ -150,7 +149,7 @@ public class PatrolController extends BaseController ...@@ -150,7 +149,7 @@ public class PatrolController extends BaseController
*/ */
@PostMapping(value = "/task",produces = "application/json;charset=UTF-8") @PostMapping(value = "/task",produces = "application/json;charset=UTF-8")
@ApiOperation(value = "新增巡检任务信息", notes = "新增巡检任务信息") @ApiOperation(value = "新增巡检任务信息", notes = "新增巡检任务信息")
@Authorization(ingore = true) //@Authorization(ingore = true)
public CommonResponse addXJTask( public CommonResponse addXJTask(
@ApiParam(value = "巡检记录信息", required = true) @RequestBody List<PatrolTaskDTO> patrolTaskDTOs) @ApiParam(value = "巡检记录信息", required = true) @RequestBody List<PatrolTaskDTO> patrolTaskDTOs)
{ {
...@@ -192,10 +191,11 @@ public class PatrolController extends BaseController ...@@ -192,10 +191,11 @@ public class PatrolController extends BaseController
@PostMapping(value = "/save/curCompany/{orgCode}",produces = "application/json;charset=UTF-8") @PostMapping(value = "/save/curCompany/{orgCode}",produces = "application/json;charset=UTF-8")
@ApiOperation(value = "保存当前登陆用户选择单位", notes = "保存当前登陆用户选择单位") @ApiOperation(value = "保存当前登陆用户选择单位", notes = "保存当前登陆用户选择单位")
public CommonResponse saveCurrCompany( public CommonResponse saveCurrCompany(
@ApiParam(value = "当前登陆用户所选单位信息", required = true) @PathVariable String orgCode) @ApiParam(value = "当前登陆用户所选单位信息", required = true) @RequestBody ReginParams reginParams)
{ {
CurUserCompanyCache.getInstance().putCurCompanyMap(getUserId(), getToken(), orgCode); //CurUserCompanyCache.getInstance().putCurCompanyMap(getUserId(), getToken(), orgCode);
return CommonResponseUtil.success(); this.saveSelectedOrgInfo(reginParams);
return CommonResponseUtil.success();
} }
/** /**
* *
......
package com.yeejoin.amos.safety.business.controller; package com.yeejoin.amos.safety.business.controller;
import com.yeejoin.amos.op.core.common.query.CommonPageable;
import com.yeejoin.amos.op.core.common.query.DaoCriteria;
import com.yeejoin.amos.op.core.common.query.QueryOperatorEnum;
import com.yeejoin.amos.op.core.common.response.CommonResponse;
import com.yeejoin.amos.op.core.util.CommonResponseUtil;
import com.yeejoin.amos.safety.business.dao.mapper.View3DMapper; import com.yeejoin.amos.safety.business.dao.mapper.View3DMapper;
import com.yeejoin.amos.safety.business.vo.CommonPageable;
import com.yeejoin.amos.safety.business.vo.CommonResponse;
import com.yeejoin.amos.safety.business.vo.CommonResponseUtil;
import com.yeejoin.amos.safety.business.vo.ReginParams;
import com.yeejoin.amos.safety.common.cache.CurUserCompanyCache; import com.yeejoin.amos.safety.common.cache.CurUserCompanyCache;
import com.yeejoin.amos.safety.common.enums.CheckStateEnum; import com.yeejoin.amos.safety.common.enums.CheckStateEnum;
import com.yeejoin.amos.safety.common.enums.View3DNodeType; import com.yeejoin.amos.safety.common.enums.View3DNodeType;
import com.yeejoin.amos.security.authorization.Authorization;
import com.yeejoin.amos.security.entity.Company;
import com.yeejoin.amos.security.entity.Department;
import com.yeejoin.amos.security.entity.User;
import io.swagger.annotations.Api; import io.swagger.annotations.Api;
import io.swagger.annotations.ApiOperation; import io.swagger.annotations.ApiOperation;
import org.apache.commons.lang3.StringUtils; import org.apache.commons.lang3.StringUtils;
import org.apache.log4j.Logger; import org.apache.log4j.Logger;
import org.codehaus.jackson.map.ObjectMapper; import org.codehaus.jackson.map.ObjectMapper;
...@@ -64,7 +57,7 @@ public class View3DDataController extends BaseController ...@@ -64,7 +57,7 @@ public class View3DDataController extends BaseController
ObjectMapper objectMapper = new ObjectMapper(); ObjectMapper objectMapper = new ObjectMapper();
@Authorization(ingore = true) //@Authorization(ingore = true)
@GetMapping(value = "/3ddata/all",produces = "application/json;charset=UTF-8") @GetMapping(value = "/3ddata/all",produces = "application/json;charset=UTF-8")
@ApiOperation(value = "实景右侧边栏搜索", notes = "实景右侧边栏搜索") @ApiOperation(value = "实景右侧边栏搜索", notes = "实景右侧边栏搜索")
public CommonResponse saveCurrCompany( public CommonResponse saveCurrCompany(
...@@ -78,21 +71,21 @@ public class View3DDataController extends BaseController ...@@ -78,21 +71,21 @@ public class View3DDataController extends BaseController
@RequestParam(required = true) int pageSize) throws Exception @RequestParam(required = true) int pageSize) throws Exception
{ {
String orgCode = null; String orgCode = null;
User currUser = getUserInfo(); ReginParams currUser = getSelectedOrgInfo();
if (currUser != null) if (currUser != null)
{ {
//获取当前用户所选单位 //获取当前用户所选单位
String compCode = CurUserCompanyCache.getInstance().getCurCompany(getUserId(), getToken()); String compCode = currUser.getCompany().getOrgCode();
if (compCode != null) // if (compCode != null)
{ // {
//查询本单位及子单位下所有部门 // //查询本单位及子单位下所有部门
Company company = currUser.getCompany(); // Company company = currUser.getCompany();
orgCode = company.getCompCode(); // orgCode = company.getCompCode();
}else // }else
{ // {
//无orgCode条件,通过当前登录用户orgCode过滤 // //无orgCode条件,通过当前登录用户orgCode过滤
orgCode = currUser.getOrgCode(); // orgCode = currUser.getOrgCode();
} // }
} }
CommonPageable pageable = new CommonPageable( current, pageSize); CommonPageable pageable = new CommonPageable( current, pageSize);
......
...@@ -24,7 +24,7 @@ public interface View3DMapper extends BaseMapper { ...@@ -24,7 +24,7 @@ public interface View3DMapper extends BaseMapper {
@Param("dataLevel")String dataLevel, @Param("dataLevel")String dataLevel,
@Param("orgCode")String orgCode, @Param("orgCode")String orgCode,
@Param("nodeState")String nodeState, @Param("nodeState")String nodeState,
@Param("start")int start, @Param("start")long l,
@Param("length")int length @Param("length")int length
); );
......
...@@ -5,7 +5,7 @@ import java.util.List; ...@@ -5,7 +5,7 @@ import java.util.List;
import org.springframework.data.jpa.repository.Query; import org.springframework.data.jpa.repository.Query;
import org.springframework.stereotype.Repository; import org.springframework.stereotype.Repository;
import com.yeejoin.amos.op.core.jpa.IBaseRepository; import com.yeejoin.amos.safety.business.service.IBaseRepository;
import com.yeejoin.amos.safety.common.entity.Link3DVo; import com.yeejoin.amos.safety.common.entity.Link3DVo;
/** /**
......
...@@ -4,7 +4,7 @@ import java.util.List; ...@@ -4,7 +4,7 @@ import java.util.List;
import org.springframework.stereotype.Repository; import org.springframework.stereotype.Repository;
import com.yeejoin.amos.op.core.jpa.IBaseRepository; import com.yeejoin.amos.safety.business.service.IBaseRepository;
import com.yeejoin.amos.safety.common.entity.Node3DVo; import com.yeejoin.amos.safety.common.entity.Node3DVo;
......
...@@ -2,7 +2,7 @@ package com.yeejoin.amos.safety.business.dao.repository; ...@@ -2,7 +2,7 @@ package com.yeejoin.amos.safety.business.dao.repository;
import org.springframework.stereotype.Repository; import org.springframework.stereotype.Repository;
import com.yeejoin.amos.op.core.jpa.IBaseRepository; import com.yeejoin.amos.safety.business.service.IBaseRepository;
import com.yeejoin.amos.safety.common.entity.NodeToipLogView; import com.yeejoin.amos.safety.common.entity.NodeToipLogView;
/** /**
......
...@@ -2,7 +2,7 @@ package com.yeejoin.amos.safety.business.dao.repository; ...@@ -2,7 +2,7 @@ package com.yeejoin.amos.safety.business.dao.repository;
import org.springframework.stereotype.Repository; import org.springframework.stereotype.Repository;
import com.yeejoin.amos.op.core.jpa.IBaseRepository; import com.yeejoin.amos.safety.business.service.IBaseRepository;
import com.yeejoin.amos.safety.common.entity.NodeMessageView; import com.yeejoin.amos.safety.common.entity.NodeMessageView;
/** /**
......
package com.yeejoin.amos.safety.business.service;
import org.springframework.data.jpa.repository.JpaRepository;
import org.springframework.data.jpa.repository.JpaSpecificationExecutor;
import org.springframework.data.repository.CrudRepository;
import org.springframework.data.repository.NoRepositoryBean;
import org.springframework.data.repository.PagingAndSortingRepository;
import java.io.Serializable;
/**
* <pre>
* JPA基础接口
* </pre>
*
* @author mincx
* @version IBaseRepository.java v0.1
* @time 2017-9-19 15:43:32
*/
@NoRepositoryBean
public interface IBaseRepository<T, ID extends Serializable> extends JpaRepository<T, ID>,CrudRepository<T, ID>,PagingAndSortingRepository<T, ID>,JpaSpecificationExecutor<T>{
}
package com.yeejoin.amos.safety.business.service;
import java.io.Serializable;
import java.util.List;
import org.springframework.data.domain.Example;
import org.springframework.data.domain.Page;
import org.springframework.data.domain.Pageable;
import org.springframework.data.domain.Sort;
import org.springframework.data.jpa.domain.Specification;
import com.yeejoin.amos.safety.business.vo.DaoCriteria;
/**
* <pre>
* JPA基础接口
* </pre>
*
* @author mincx
* @version IGenericManager.java v0.1
* @time 2017-9-19 15:43:32
*/
public interface IGenericManager<T, ID extends Serializable> {
boolean exists(ID id);
T findOne(ID id);
T save(T object);
Iterable<T> save(Iterable<T> entities);
void delete(T object);
void delete(ID id);
List<T> findAll();
List<T> findAll(Sort sort);
List<T> findAll(Iterable<ID> ids);
List<T> findAll(Example<T> example);
List<T> findAll(Specification<T> spec);
List<T> findAll(Example<T> example, Sort sort);
List<T> findAll(Specification<T> spec, Sort sort);
Page<T> findAll(Pageable pageable);
Page<T> findAll(Example<T> example, Pageable pageable);
Page<T> findAll(Specification<T> spec, Pageable pageable);
/**
* <pre>
* 根据查询条件查询数据,条件之间用且连接
* </pre>
* @param daoCriteria
* @return List<Equipment>
*/
List<T> findAll(List<DaoCriteria> daoCriteria);
/**
* <pre>
* 根据查询条件查询数据,条件之间用连or接
* </pre>
* @param daoCriteria
* @return List<Equipment>
*/
List<T> findAllJoinOR(List<DaoCriteria> daoCriteria);
/**
* <pre>
* 根据查询条件和分页查询数据,条件之间用且连接
* </pre>
* @param daoCriteria
* @param pageable
* @return Page<Equipment>
*/
Page<T> findAll(List<DaoCriteria> daoCriteria,Pageable pageable);
/**
* <pre>
* 根据查询条件和分页查询数据,条件之间用连or接
* </pre>
* @param daoCriteria
* @param pageable
* @return Page<Equipment>
*/
Page<T> findAllJoinOR(List<DaoCriteria> daoCriteria,Pageable pageable);
}
...@@ -2,7 +2,6 @@ package com.yeejoin.amos.safety.business.service; ...@@ -2,7 +2,6 @@ package com.yeejoin.amos.safety.business.service;
import java.util.List; import java.util.List;
import com.yeejoin.amos.op.core.jpa.IGenericManager;
import com.yeejoin.amos.safety.common.entity.Link3DVo; import com.yeejoin.amos.safety.common.entity.Link3DVo;
/** /**
......
...@@ -2,7 +2,6 @@ package com.yeejoin.amos.safety.business.service; ...@@ -2,7 +2,6 @@ package com.yeejoin.amos.safety.business.service;
import java.util.List; import java.util.List;
import com.yeejoin.amos.op.core.jpa.IGenericManager;
import com.yeejoin.amos.safety.common.entity.Node3DVo; import com.yeejoin.amos.safety.common.entity.Node3DVo;
/** /**
......
package com.yeejoin.amos.safety.business.service; package com.yeejoin.amos.safety.business.service;
import com.yeejoin.amos.op.core.jpa.IGenericManager;
import com.yeejoin.amos.safety.common.entity.NodeToipLogView; import com.yeejoin.amos.safety.common.entity.NodeToipLogView;
/** /**
......
package com.yeejoin.amos.safety.business.service; package com.yeejoin.amos.safety.business.service;
import com.yeejoin.amos.op.core.jpa.IGenericManager;
import com.yeejoin.amos.safety.common.entity.NodeMessageView; import com.yeejoin.amos.safety.common.entity.NodeMessageView;
/** /**
......
package com.yeejoin.amos.safety.business.service;
/**
*
* <pre>
* 资源抽象类
* </pre>
*
* @author as-guowubin
* @version $Id: Resource.java, v 0.1 2018年5月18日 下午2:27:35 as-guowubin Exp $
*/
public abstract class Resource
{
}
package com.yeejoin.amos.safety.business.service.impl;
import com.yeejoin.amos.safety.business.service.Resource;
//import com.yeejoin.amos.op.core.entity.Resource;
/**
*
* <pre>
* service抽象接口
* </pre>
*
* @author as-guowubin
* @version $Id: AbstractSupportedModel.java, v 0.1 2018年5月25日 下午3:06:52 as-guowubin Exp $
*/
public abstract class AbstractSupportedModel
{
/**
*
* <pre>
* 删除资源
* </pre>
*
* @param model
*/
public void fireResourceReomoved(Resource resource)
{
}
}
package com.yeejoin.amos.safety.business.service.impl;
import java.math.BigDecimal;
import java.util.ArrayList;
import java.util.Date;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
import javax.persistence.criteria.CriteriaBuilder;
import javax.persistence.criteria.CriteriaQuery;
import javax.persistence.criteria.Order;
import javax.persistence.criteria.Predicate;
import javax.persistence.criteria.Root;
import org.hibernate.query.criteria.internal.CriteriaBuilderImpl;
import org.hibernate.query.criteria.internal.predicate.InPredicate;
import org.springframework.data.jpa.domain.Specification;
import com.yeejoin.amos.safety.business.vo.DaoCriteria;
import com.yeejoin.amos.safety.business.vo.QueryOperatorEnum;
/**
* 基础Specification
*
* @author as-youjun
*
* @param <T>
*/
public class BaseQuerySpecification<T> implements Specification<T> {
private List<DaoCriteria> daoCriterias;
private Map<String, List<DaoCriteria>> criterias;
private Map<String, List<String>> orderbys;
public BaseQuerySpecification(List<DaoCriteria> daoCriterias) {
this.daoCriterias = daoCriterias;
}
@Override
public Predicate toPredicate(Root<T> root, CriteriaQuery<?> query, CriteriaBuilder builder) {
if (daoCriterias == null) {
return builder.and(new Predicate[] {});
}
criterias = classify(daoCriterias);
List<Predicate> conditions = new ArrayList<Predicate>();
for (String key : criterias.keySet()) {
List<DaoCriteria> daoCriterias = criterias.get(key);
if (daoCriterias.size() > 1) {
List<Predicate> sameConditions = new ArrayList<Predicate>();
for (DaoCriteria daoCriteria : daoCriterias) {
Predicate predicate = createPredicate(root, query, builder, daoCriteria);
if (null == predicate) {
throw new IllegalArgumentException("查询条件生成错误!");
} else {
sameConditions.add(predicate);
}
}
Predicate[] predicates = new Predicate[sameConditions.size()];
conditions.add(builder.or(sameConditions.toArray(predicates)));
} else {
for (DaoCriteria daoCriteria : daoCriterias) {
Predicate predicate = createPredicate(root, query, builder, daoCriteria);
if (null != predicate) {
conditions.add(predicate);
}
}
}
}
Predicate[] predicates = new Predicate[conditions.size()];
query.where(builder.and(conditions.toArray(predicates)));
List<Order> orders = new ArrayList<>();
orderbys.keySet().forEach(key -> {
if (key.toLowerCase().equals("asc") && !orderbys.get(key).isEmpty()) {
orderbys.get(key).forEach(propertyName -> {
orders.add(builder.asc(root.get(propertyName)));
});
} else if (key.toLowerCase().equals("desc") && !orderbys.get(key).isEmpty()) {
orderbys.get(key).forEach(propertyName -> {
orders.add(builder.desc(root.get(propertyName)));
});
}
});
query.orderBy(orders);
return query.getRestriction();
}
/**
* 根据同类条件进行分组
*
* @param criteraList
* @return
*/
private Map<String, List<DaoCriteria>> classify(List<DaoCriteria> criteraList) {
Map<String, List<DaoCriteria>> criteraType = new HashMap<String, List<DaoCriteria>>();
orderbys = new HashMap<>();
orderbys.put("asc", new ArrayList<String>());
orderbys.put("desc", new ArrayList<String>());
if (criteraList != null && criteraList.size() > 0) {
for (DaoCriteria daoCriteria : criteraList) {
if (daoCriteria.getOperator().equals(QueryOperatorEnum.ORDER_BY.getName())) {
orderbys.get(daoCriteria.getValue().toString().toLowerCase()).add(daoCriteria.getPropertyName());
} else {
List<DaoCriteria> temp = criteraType.get(daoCriteria.getPropertyName());
if (temp == null) {
temp = new ArrayList<DaoCriteria>();
criteraType.put(daoCriteria.getPropertyName(), temp);
}
temp.add(daoCriteria);
}
}
}
return criteraType;
}
/**
* 根据条件类型,创建查询条件
*
* @param root
* @param query
* @param builder
* @param daoCriteria
* @return
*/
private Predicate createPredicate(Root<T> root, CriteriaQuery<?> query, CriteriaBuilder builder,
DaoCriteria daoCriteria) {
String name = daoCriteria.getPropertyName();
Object value = daoCriteria.getValue();
String operator = daoCriteria.getOperator();
if (operator.equals(QueryOperatorEnum.EQUAL.getName())) {
if (value instanceof Boolean) {
return builder.equal(root.get(name), value);
}
return builder.equal(root.get(name), value);
} else if (operator.equals(QueryOperatorEnum.LIKE.getName())) {
return builder.like(root.get(name).as(String.class), value.toString());
} else if (operator.equals(QueryOperatorEnum.NOT_IN.getName())) {
return builder.not(
new InPredicate<Object>((CriteriaBuilderImpl) builder, root.get(name).as(String.class), value));
} else if (operator.equals(QueryOperatorEnum.BIGGER.getName())) {
return builder.greaterThan(root.get(name).as(String.class), value.toString());
} else if (operator.equals(QueryOperatorEnum.BIGGER_EQUAL.getName())) {
return builder.greaterThanOrEqualTo(root.get(name).as(String.class), value.toString());
} else if (operator.equals(QueryOperatorEnum.LESS.getName())) {
return builder.lessThan(root.get(name).as(String.class), value.toString());
} else if (operator.equals(QueryOperatorEnum.LESS_EQUAL.getName())) {
return builder.lessThanOrEqualTo(root.get(name).as(String.class), value.toString());
} else if (operator.equals(QueryOperatorEnum.NOT_EQUAL.getName())) {
return builder.notEqual(root.get(name).as(String.class), value);
} else if (operator.equals(QueryOperatorEnum.IN.getName())) {
if (value instanceof ArrayList<?>) {
return builder.and(
new InPredicate<Object>((CriteriaBuilderImpl) builder, root.get(name), ((ArrayList) value).toArray()));
}
return builder.and(
new InPredicate<Object>((CriteriaBuilderImpl) builder, root.get(name), value));
} else {
return null;
}
}
@SuppressWarnings("all")
private Class clasz(Object o) {
if (o instanceof Date) {
return Date.class;
} else if (o instanceof Integer) {
return Integer.class;
} else if (o instanceof Long) {
return Long.class;
} else if (o instanceof Double) {
return Double.class;
} else if (o instanceof Float) {
return Float.class;
} else if (o instanceof Short) {
return Short.class;
} else if (o instanceof Character) {
return Character.class;
} else if (o instanceof BigDecimal) {
return Double.class;
} else if (o instanceof Byte) {
return Byte.class;
} else if (o instanceof Byte) {
return Byte.class;
} else {
return String.class;
}
}
}
package com.yeejoin.amos.safety.business.service.impl;
import java.util.ArrayList;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
import javax.persistence.criteria.CriteriaBuilder;
import javax.persistence.criteria.CriteriaQuery;
import javax.persistence.criteria.Order;
import javax.persistence.criteria.Predicate;
import javax.persistence.criteria.Root;
import org.hibernate.query.criteria.internal.CriteriaBuilderImpl;
import org.hibernate.query.criteria.internal.predicate.InPredicate;
import org.springframework.data.jpa.domain.Specification;
import com.yeejoin.amos.safety.business.vo.DaoCriteria;
import com.yeejoin.amos.safety.business.vo.QueryOperatorEnum;
/**
* <pre>
* 查询条件转Specification
* </pre>
*
* @author as-zhaoqi_1
* @version $Id: BaseQuerySpecification.java, v 0.1 2017年11月2日 上午9:33:57 as-zhaoqi_1 Exp $
*/
public class BaseQuerySpecificationJoinOR<T> implements Specification<T> {
private List<DaoCriteria> daoCriterias;
private Map<String, List<DaoCriteria>> criterias;
private Map<String, List<String>> orderbys;
public BaseQuerySpecificationJoinOR(List<DaoCriteria> daoCriterias) {
this.daoCriterias = daoCriterias;
}
@Override
public Predicate toPredicate(Root<T> root, CriteriaQuery<?> query, CriteriaBuilder builder) {
if(daoCriterias==null){
return builder.and(new Predicate[]{});
}
//将属性分为查询和排序
criterias = classify(daoCriterias);
List<Predicate> conditions = new ArrayList<Predicate>();
for(String key: criterias.keySet()) {
List<DaoCriteria> daoCriterias = criterias.get(key);
if (daoCriterias.size() > 1) {
List<Predicate> sameConditions = new ArrayList<Predicate>();
for(DaoCriteria daoCriteria: daoCriterias) {
Predicate predicate = createPredicate(root, query, builder, daoCriteria);
if (null == predicate) {
throw new IllegalArgumentException("查询条件生成错误!");
} else {
sameConditions.add(predicate);
}
}
Predicate[] predicates = new Predicate[sameConditions.size()];
conditions.add(builder.or(sameConditions.toArray(predicates)));
} else {
for(DaoCriteria daoCriteria: daoCriterias) {
Predicate predicate = createPredicate(root, query, builder, daoCriteria);
if (null != predicate) {
conditions.add(predicate);
}
}
}
}
Predicate[] predicates = new Predicate[conditions.size()];
query.where(builder.and(conditions.toArray(predicates)));
List<Order> orders = new ArrayList<>();
orderbys.keySet().forEach(key -> {
if (key.toLowerCase().equals("asc") && !orderbys.get(key).isEmpty()) {
orderbys.get(key).forEach(propertyName -> {
orders.add(builder.asc(root.get(propertyName)));
});
} else if (key.toLowerCase().equals("desc") && !orderbys.get(key).isEmpty()) {
orderbys.get(key).forEach(propertyName -> {
orders.add(builder.desc(root.get(propertyName)));
});
}
});
query.orderBy(orders);
return query.getRestriction();
}
/**
* 根据同类条件进行分组
*
* @param criteraList
* @return
*/
private Map<String, List<DaoCriteria>> classify(List<DaoCriteria> criteraList) {
Map<String, List<DaoCriteria>> criteraType = new HashMap<String, List<DaoCriteria>>();
orderbys = new HashMap<>();
orderbys.put("asc", new ArrayList<String>());
orderbys.put("desc", new ArrayList<String>());
if (criteraList != null && criteraList.size() > 0) {
for (DaoCriteria daoCriteria : criteraList) {
//排序属性
if (daoCriteria.getOperator().equals(QueryOperatorEnum.ORDER_BY.getName())) {
orderbys.get(daoCriteria.getValue().toString().toLowerCase()).add(daoCriteria.getPropertyName());
} else {//查询属性
List<DaoCriteria> temp = criteraType.get(daoCriteria.getPropertyName());
if (temp == null) {
temp = new ArrayList<DaoCriteria>();
criteraType.put(daoCriteria.getPropertyName(), temp);
}
temp.add(daoCriteria);
}
}
}
return criteraType;
}
/**
* 根据条件类型,创建查询条件
*
* @param root
* @param query
* @param builder
* @param daoCriteria
* @return
*/
private Predicate createPredicate(Root<T> root, CriteriaQuery<?> query, CriteriaBuilder builder, DaoCriteria daoCriteria) {
String name = daoCriteria.getPropertyName();
Object value = daoCriteria.getValue();
String operator = daoCriteria.getOperator();
if (operator.equals(QueryOperatorEnum.EQUAL.getName())) {
return builder.equal(root.get(name).as(String.class), value);
} else if (operator.equals(QueryOperatorEnum.LIKE.getName())) {
return builder.like(root.get(name).as(String.class), value.toString());
} else if (operator.equals(QueryOperatorEnum.NOT_IN.getName())) {
return builder.not(new InPredicate<Object>((CriteriaBuilderImpl) builder, root.get(name).as(String.class), value));
} else if (operator.equals(QueryOperatorEnum.BIGGER.getName())) {
return builder.greaterThan(root.get(name).as(String.class), value.toString());
} else if (operator.equals(QueryOperatorEnum.BIGGER_EQUAL.getName())) {
return builder.greaterThanOrEqualTo(root.get(name).as(String.class), value.toString());
} else if (operator.equals(QueryOperatorEnum.LESS.getName())) {
return builder.lessThan(root.get(name).as(String.class), value.toString());
} else if (operator.equals(QueryOperatorEnum.LESS_EQUAL.getName())) {
return builder.lessThanOrEqualTo(root.get(name).as(String.class), value.toString());
} else if (operator.equals(QueryOperatorEnum.NOT_EQUAL.getName())) {
return builder.notEqual(root.get(name).as(String.class), value);
} else if (operator.equals(QueryOperatorEnum.IN.getName())) {
return builder.and(new InPredicate<Object>((CriteriaBuilderImpl) builder, root.get(name).as(String.class), value));
} else {
return null;
}
}
}
package com.yeejoin.amos.safety.business.service.impl;
import java.io.Serializable;
import java.util.List;
import org.springframework.data.domain.Example;
import org.springframework.data.domain.Page;
import org.springframework.data.domain.Pageable;
import org.springframework.data.domain.Sort;
import org.springframework.data.jpa.domain.Specification;
import org.springframework.transaction.annotation.Transactional;
import com.yeejoin.amos.safety.business.service.IBaseRepository;
import com.yeejoin.amos.safety.business.service.IGenericManager;
import com.yeejoin.amos.safety.business.vo.DaoCriteria;
/**
* <pre>
* JPA基础封装类
* </pre>
*
* @author mincx
* @version IBaseRepository.java v0.1
* @time 2017-9-19 15:43:32
*/
public class GenericManagerImpl<T, ID extends Serializable> extends
AbstractSupportedModel implements IGenericManager<T, ID>
{
protected IBaseRepository<T, ID> repository;
public GenericManagerImpl(IBaseRepository<T, ID> repository) {
this.repository = repository;
}
@Override
@Transactional(readOnly = true)
public boolean exists(ID id) {
return repository.existsById(id);
}
@Override
@Transactional(readOnly = true)
public List<T> findAll() {
return repository.findAll();
}
@Override
@Transactional(readOnly = true)
public T findOne(ID id) {
return repository.findById(id).get();
}
@Override
public T save(T object) {
return repository.save(object);
}
@Override
public Iterable<T> save(Iterable<T> entities) {
return repository.saveAll(entities);
}
@Override
public void delete(T object) {
repository.delete(object);
}
@Override
public void delete(ID id) {
repository.deleteById(id);
}
@Override
@Transactional(readOnly = true)
public Page<T> findAll(Pageable pageable) {
return repository.findAll(pageable);
}
@Override
@Transactional(readOnly = true)
public Page<T> findAll(Example<T> example, Pageable pageable) {
return repository.findAll(example, pageable);
}
@Override
@Transactional(readOnly = true)
public List<T> findAll(Example<T> example) {
return repository.findAll(example);
}
@Override
@Transactional(readOnly = true)
public List<T> findAll(Example<T> example, Sort sort) {
return repository.findAll(example, sort);
}
@Override
@Transactional(readOnly = true)
public List<T> findAll(Sort sort) {
return repository.findAll(sort);
}
@Override
@Transactional(readOnly = true)
public List<T> findAll(Iterable<ID> ids) {
return repository.findAllById(ids);
}
@Override
@Transactional(readOnly = true)
public List<T> findAll(Specification<T> spec) {
return repository.findAll(spec);
}
@Override
@Transactional(readOnly = true)
public List<T> findAll(Specification<T> spec, Sort sort) {
return repository.findAll(spec,sort);
}
@Override
@Transactional(readOnly = true)
public Page<T> findAll(Specification<T> spec, Pageable pageable) {
return repository.findAll(spec,pageable);
}
@Override
public List<T> findAll(List<DaoCriteria> daoCriteria)
{
//将daoCriteria条件转换为jpa识别的Specification
BaseQuerySpecification<T> spec = new BaseQuerySpecification<T>(daoCriteria);
return findAll(spec);
}
@Override
public Page<T> findAll(List<DaoCriteria> daoCriteria, Pageable pageable)
{
//将daoCriteria条件转换为jpa识别的Specification
BaseQuerySpecification<T> spec = new BaseQuerySpecification<T>(daoCriteria);
return findAll(spec,pageable);
}
@Override
public List<T> findAllJoinOR(List<DaoCriteria> daoCriteria)
{
//将daoCriteria条件转换为jpa识别的Specification
BaseQuerySpecificationJoinOR<T> spec = new BaseQuerySpecificationJoinOR<T>(daoCriteria);
return findAll(spec);
}
@Override
public Page<T> findAllJoinOR(List<DaoCriteria> daoCriteria, Pageable pageable)
{
//将daoCriteria条件转换为jpa识别的Specification
BaseQuerySpecificationJoinOR<T> spec = new BaseQuerySpecificationJoinOR<T>(daoCriteria);
return findAll(spec,pageable);
}
}
...@@ -4,7 +4,6 @@ import java.util.List; ...@@ -4,7 +4,6 @@ import java.util.List;
import org.springframework.stereotype.Service; import org.springframework.stereotype.Service;
import com.yeejoin.amos.op.core.jpa.GenericManagerImpl;
import com.yeejoin.amos.safety.business.dao.repository.ILink3DVoRepository; import com.yeejoin.amos.safety.business.dao.repository.ILink3DVoRepository;
import com.yeejoin.amos.safety.business.service.ILink3DVoService; import com.yeejoin.amos.safety.business.service.ILink3DVoService;
import com.yeejoin.amos.safety.common.entity.Link3DVo; import com.yeejoin.amos.safety.common.entity.Link3DVo;
......
...@@ -3,8 +3,6 @@ package com.yeejoin.amos.safety.business.service.impl; ...@@ -3,8 +3,6 @@ package com.yeejoin.amos.safety.business.service.impl;
import java.util.List; import java.util.List;
import org.springframework.stereotype.Service; import org.springframework.stereotype.Service;
import com.yeejoin.amos.op.core.jpa.GenericManagerImpl;
import com.yeejoin.amos.safety.business.dao.repository.INode3DVoRepository; import com.yeejoin.amos.safety.business.dao.repository.INode3DVoRepository;
import com.yeejoin.amos.safety.business.service.INode3DVoService; import com.yeejoin.amos.safety.business.service.INode3DVoService;
import com.yeejoin.amos.safety.common.entity.Node3DVo; import com.yeejoin.amos.safety.common.entity.Node3DVo;
......
...@@ -2,7 +2,6 @@ package com.yeejoin.amos.safety.business.service.impl; ...@@ -2,7 +2,6 @@ package com.yeejoin.amos.safety.business.service.impl;
import org.springframework.stereotype.Service; import org.springframework.stereotype.Service;
import com.yeejoin.amos.op.core.jpa.GenericManagerImpl;
import com.yeejoin.amos.safety.business.dao.repository.INodeLogViewRepository; import com.yeejoin.amos.safety.business.dao.repository.INodeLogViewRepository;
import com.yeejoin.amos.safety.business.service.INodeLogViewService; import com.yeejoin.amos.safety.business.service.INodeLogViewService;
import com.yeejoin.amos.safety.common.entity.NodeToipLogView; import com.yeejoin.amos.safety.common.entity.NodeToipLogView;
......
...@@ -2,7 +2,6 @@ package com.yeejoin.amos.safety.business.service.impl; ...@@ -2,7 +2,6 @@ package com.yeejoin.amos.safety.business.service.impl;
import org.springframework.stereotype.Service; import org.springframework.stereotype.Service;
import com.yeejoin.amos.op.core.jpa.GenericManagerImpl;
import com.yeejoin.amos.safety.business.dao.repository.INodeMsgViewRepository; import com.yeejoin.amos.safety.business.dao.repository.INodeMsgViewRepository;
import com.yeejoin.amos.safety.business.service.INodeMsgViewService; import com.yeejoin.amos.safety.business.service.INodeMsgViewService;
import com.yeejoin.amos.safety.common.entity.NodeMessageView; import com.yeejoin.amos.safety.common.entity.NodeMessageView;
......
package com.yeejoin.amos.safety.business.vo;
import org.springframework.data.domain.Pageable;
import org.springframework.data.domain.Sort;
/**
*
* <pre>
* 分页实体
* </pre>
*
* @author as-chenjiajun
* @version $Id: CommonPageable.java, v 0.1 2016-12-14 上午10:42:44 as-chenjiajun
* Exp $
*/
public class CommonPageable implements Pageable {
/**
* 页号(大于等于0)
*/
protected int pageNumber = 0;
/**
* 每页大小(大于等于0)
*/
protected int pageSize = 10;
/**
* 起始索引
*/
protected int offset = 0;
/**
* 排序
*/
protected Sort sort = null;
public CommonPageable() {
this.pageNumber = 0;
this.pageSize = 10;
this.offset = pageSize * pageNumber;
}
public CommonPageable(int pageNumber, int pageSize) {
this.pageNumber = pageNumber;
this.pageSize = pageSize;
this.offset = pageSize * pageNumber;
}
public CommonPageable(int pageNumber, int pageSize, Sort sort) {
this.pageNumber = pageNumber;
this.pageSize = pageSize;
this.sort = sort;
this.offset = pageSize * pageNumber;
}
public int getPageNumber() {
return this.pageNumber;
}
public int getPageSize() {
return pageSize;
}
public long getOffset() {
offset = pageSize * pageNumber;
return offset;
}
public Sort getSort() {
return sort;
}
public Pageable next() {
return null;
}
public Pageable previousOrFirst() {
return null;
}
public Pageable first() {
return null;
}
public boolean hasPrevious() {
return false;
}
public void setPageNumber(int pageNumber) {
this.pageNumber = pageNumber;
}
public void setPageSize(int pageSize) {
this.pageSize = pageSize;
}
public void setSort(Sort sort) {
this.sort = sort;
}
public void setOffset(int offset) {
this.offset = offset;
}
}
package com.yeejoin.amos.safety.business.vo;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
/**
*
* <pre>
* 公共请求对象
* </pre>
*
* @author as-shibaobao
* @version $Id: CommonRequest.java, v 0.1 2018年1月26日 上午10:59:19 as-shibaobao Exp $
*/
@ApiModel
public class CommonRequest {
/**
* 字段名称
*/
@ApiModelProperty(value="字段名称",required=true)
private String name;
/**
* 字段值
*/
@ApiModelProperty(value="字段值",required=true)
private Object value;
/**
* 查询类型
*/
@ApiModelProperty(value="查询类型",notes="空值时,默认为等于;其它类型按QueryOperatorEnum",required=false)
private String type;
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public Object getValue() {
return value;
}
public void setValue(Object value) {
this.value = value;
}
public String getType() {
return type;
}
public void setType(String type) {
this.type = type;
}
}
package com.yeejoin.amos.safety.business.vo;
import java.io.Serializable;
import com.alibaba.fastjson.JSON;
import com.alibaba.fastjson.serializer.SerializerFeature;
import io.swagger.annotations.ApiModelProperty;
/**
* <pre>
* 返回封装对象
* </pre>
*
* @author mincx
* @version CommonReponse.java v0.1
* @time 2017-9-19 15:43:32
*/
public class CommonResponse implements Serializable {
private static final long serialVersionUID = -8737351878134480646L;
/**
* 操作状态
*/
@ApiModelProperty(required=true,value="操作状态")
private String result;
/**
* 数据
*/
@ApiModelProperty(required=false,value="数据")
private Object dataList;
/**
* 操作详细信息
*/
@ApiModelProperty(required=false,value="操作详细信息")
private String message;
public CommonResponse(){
}
public CommonResponse(String result) {
this.result = result;
}
public CommonResponse(Object dataList) {
this.dataList = dataList;
this.result = "";
}
public CommonResponse(String result, Object dataList) {
this.dataList = dataList;
this.result = result;
}
public CommonResponse(String result, String message) {
this.result = result;
this.message = message;
}
public CommonResponse(String result, Object dataList, String message) {
this.dataList = dataList;
this.result = result;
this.message = message;
}
public Boolean isSuccess(){
return "SUCCESS".equals(getResult());
}
public String getResult() {
return result;
}
public void setResult(String result) {
this.result = result;
}
public String getMessage() {
return message;
}
public void setMessage(String message) {
this.message = message;
}
public Object getDataList() {
return dataList;
}
public void setDataList(Object dataList) {
this.dataList = dataList;
}
public String toJsonStr() throws Exception {
return JSON.toJSONString(this,SerializerFeature.WriteMapNullValue,SerializerFeature.DisableCircularReferenceDetect,SerializerFeature.SkipTransientField);
}
}
package com.yeejoin.amos.safety.business.vo;
public class CommonResponseUtil
{
public static CommonResponse success()
{
CommonResponse response = new CommonResponse();
response.setResult(Constants.RESULT_SUCCESS);
return response;
}
public static CommonResponse success(Object obj)
{
CommonResponse response = new CommonResponse();
response.setResult(Constants.RESULT_SUCCESS);
response.setDataList(obj);
return response;
}
public static CommonResponse success(Object obj, String message)
{
CommonResponse response = new CommonResponse();
response.setResult(Constants.RESULT_SUCCESS);
response.setDataList(obj);
response.setMessage(message);
return response;
}
public static CommonResponse failure()
{
CommonResponse response = new CommonResponse();
response.setResult(Constants.RESULT_FAILURE);
return response;
}
public static CommonResponse failure(String message)
{
CommonResponse response = new CommonResponse();
response.setResult(Constants.RESULT_FAILURE);
response.setMessage(message);
return response;
}
public static CommonResponse failure(Object obj, String message)
{
CommonResponse response = new CommonResponse();
response.setResult(Constants.RESULT_FAILURE);
response.setDataList(obj);
response.setMessage(message);
return response;
}
}
package com.yeejoin.amos.safety.business.vo;
import java.util.List;
public class CompanyBo {
private String address;
private String companyName;
private Long companyOrgCode;
private String email;
private String landlinePhone;
private String latitude;
private String level;
private String longitude;
private String orgCode;
private String parentId;
private String sequenceNbr;
private List<CompanyBo> children;
public String getAddress() {
return address;
}
public void setAddress(String address) {
this.address = address;
}
public String getCompanyName() {
return companyName;
}
public void setCompanyName(String companyName) {
this.companyName = companyName;
}
public Long getCompanyOrgCode() {
return companyOrgCode;
}
public void setCompanyOrgCode(Long companyOrgCode) {
this.companyOrgCode = companyOrgCode;
}
public String getEmail() {
return email;
}
public void setEmail(String email) {
this.email = email;
}
public String getLandlinePhone() {
return landlinePhone;
}
public void setLandlinePhone(String landlinePhone) {
this.landlinePhone = landlinePhone;
}
public String getLatitude() {
return latitude;
}
public void setLatitude(String latitude) {
this.latitude = latitude;
}
public String getLevel() {
return level;
}
public void setLevel(String level) {
this.level = level;
}
public String getLongitude() {
return longitude;
}
public void setLongitude(String longitude) {
this.longitude = longitude;
}
public String getOrgCode() {
return orgCode;
}
public void setOrgCode(String orgCode) {
this.orgCode = orgCode;
}
public String getParentId() {
return parentId;
}
public void setParentId(String parentId) {
this.parentId = parentId;
}
public String getSequenceNbr() {
return sequenceNbr;
}
public void setSequenceNbr(String sequenceNbr) {
this.sequenceNbr = sequenceNbr;
}
public List<CompanyBo> getChildren() {
return children;
}
public void setChildren(List<CompanyBo> children) {
this.children = children;
}
}
package com.yeejoin.amos.safety.business.vo;
/**
* <pre>
* 系统常量
* </pre>
*
* @author mincx
* @version Constants.java v0.1
* @time 2017-9-19 15:43:32
*/
public class Constants {
public static final String ERROR_MESSAGE = "系统异常";
public static final String RESULT_SUCCESS = "SUCCESS";
public static final String RESULT_FAILURE = "FAILURE";
public static final String RULE_FACT_PREFIX = "rule_";
public static final String RULE_COMPILATION_ERROR = "规则编译异常";
public static final String NEW_LINE= "\r\n";
public static final String POSITION_LATITUDE = "latitude";
public static final String POSITION_LONGITUDE = "longitude";
public static final double PI = 3.1415;
public static final double EARTH_RADIUS = 6370.996;
public static final String RULE_CONDITION_AND = "&&";
public static final String RULE_CONDITION_OR = "||";
/**
* DES加密解密默认key
*/
public static final String XSS_KEY = "qaz";
/**
* 灾情状态
*/
public static final String FireHappenStateID = "90db70b7-49a4-4a72-b54b-0fabbed9bec7";//发生
public static final String FireDevelopStateID = "1f7fe7d7-b30c-4518-8c95-6e3bc506ca86";//猛烈
/**
* 车辆状态
*/
public static final String CarArrivedStateID = "ad55748a-1206-4507-8831-95b7f2ad804f";//到达
public static final String CarDispatchingStateID = "43a23576-3d0f-4c3d-a46b-555391a4d870";//待出动
public static final String CarOnDutyStateID = "21cc717f-60b4-46ae-942e-9efd63d13415";//执勤
public static final String CarOnSiteStateID = "d7eddc16-4c55-4de0-b726-3547c7b0b980";//在位
public static final String CarOnTheWayStateID = "5e1b6e98-d1dc-4c49-a7ad-b959d2278dba";//在途
public static final String CarRepairStateID = "e86d455b-e9fd-4938-9826-38ca46623287";//维修
/**
* 战斗力量编队状态
*/
public static final String RescuePowerArrivedStateID = "0951f770-7f75-43d8-bcec-47d7559be727";//到达
public static final String RescuePowerDispatchedStateID = "ec4afc56-6cec-41a3-95f5-20c735f052d4";//已调派
public static final String RescuePowerEnhanceStateID = "3d6cf113-b69d-47c3-a3a8-ded448cc4636";//增援
public static final String RescuePowerFightingStateID = "4bacd4b4-b07d-454e-b737-431e7c997cde";//战斗
public static final String RescuePowerStandByStateID = "4fc6e4d6-c6a8-453c-b554-ce7de0b828b2";//待命
/**
* sql注入关键字
*/
public static String badStr = "'|and|exec|execute|insert|select|delete|update|count|drop|%|chr|mid|master|truncate|" +
"char|declare|sitename|net user|xp_cmdshell|;|or|-|+|,|like'|and|exec|execute|insert|create|drop|" +
"table|from|grant|use|group_concat|column_name|" +
"information_schema.columns|table_schema|union|where|select|delete|update|order|by|count|" +
"chr|mid|master|truncate|char|declare|or|;|-|--|,|like|//|/|%|#";
}
package com.yeejoin.amos.safety.business.vo;
import java.io.Serializable;
import org.apache.commons.lang3.builder.ToStringBuilder;
/**
*
* <pre>
* 查询条件封装类
* </pre>
*
* @author as-hanshipeng
* @version $Id: DaoCriteria.java, v 0.1 2016-12-9 下午12:22:03 as-hanshipeng Exp $
*/
public class DaoCriteria implements Serializable
{
private static final long serialVersionUID = 812759366580443779L;
//属性名称
private String propertyName;
//操作符
private String operator;
//属性值
private Object value;
public String getOperator()
{
return operator;
}
public void setOperator(String operator)
{
this.operator = operator;
}
public String getPropertyName()
{
return propertyName;
}
public void setPropertyName(String propertyName)
{
this.propertyName = propertyName;
}
public Object getValue()
{
return value;
}
public void setValue(Object value)
{
this.value = value;
}
public DaoCriteria()
{
}
public DaoCriteria(String property, String operator, Object value)
{
propertyName = property;
this.operator = operator;
this.value = value;
}
public String toString()
{
return (new ToStringBuilder(this)).append("Property", propertyName).append(operator).append("Value", value).toString();
}
}
package com.yeejoin.amos.safety.business.vo;
import java.util.List;
public class DepartmentBo {
private String departmentName;
private String level;
private String deptOrgCode;
private String orgCode;
private String departmentDesc;
private String companySeq;
private String sequenceNbr;
private String parentId;
private List<DepartmentBo> children;
public String getDepartmentName() {
return departmentName;
}
public void setDepartmentName(String departmentName) {
this.departmentName = departmentName;
}
public String getDeptOrgCode() {
return deptOrgCode;
}
public void setDeptOrgCode(String deptOrgCode) {
this.deptOrgCode = deptOrgCode;
}
public String getOrgCode() {
return orgCode;
}
public void setOrgCode(String orgCode) {
this.orgCode = orgCode;
}
public String getDepartmentDesc() {
return departmentDesc;
}
public void setDepartmentDesc(String departmentDesc) {
this.departmentDesc = departmentDesc;
}
public String getCompanySeq() {
return companySeq;
}
public void setCompanySeq(String companySeq) {
this.companySeq = companySeq;
}
public String getSequenceNbr() {
return sequenceNbr;
}
public void setSequenceNbr(String sequenceNbr) {
this.sequenceNbr = sequenceNbr;
}
public String getParentId() {
return parentId;
}
public void setParentId(String parentId) {
this.parentId = parentId;
}
public List<DepartmentBo> getChildren() {
return children;
}
public void setChildren(List<DepartmentBo> children) {
this.children = children;
}
public String getLevel() {
return level;
}
public void setLevel(String level) {
this.level = level;
}
}
package com.yeejoin.amos.safety.business.vo;
import java.util.ArrayList;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
import com.google.gson.Gson;
import com.google.gson.JsonArray;
import com.google.gson.JsonElement;
import com.google.gson.JsonObject;
import com.google.gson.JsonParser;
import com.google.gson.reflect.TypeToken;
/**
*
* <pre>
* JSON宸ュ叿绫�
* </pre>
*
* @author dell
* @version $Id: JSONUtil.java, v 0.1 2017骞�3鏈�28鏃� 涓嬪崍9:04:47 dell Exp $
*/
public class JSONUtil
{
private static Gson gson = null;
static
{
gson = new Gson();
}
public static synchronized Gson newInstance()
{
if (gson == null)
{
gson = new Gson();
}
return gson;
}
public static String toJson(Object obj)
{
return gson.toJson(obj);
}
public static <T> T toBean(String json, Class<T> clz)
{
return gson.fromJson(json, clz);
}
public static <T> Map<String, T> toMap(String json, Class<T> clz)
{
Map<String, JsonObject> map = gson.fromJson(json,
new TypeToken<Map<String, JsonObject>>() {
}.getType());
Map<String, T> result = new HashMap<>();
for (String key : map.keySet())
{
result.put(key, gson.fromJson(map.get(key), clz));
}
return result;
}
public static Map<String, Object> toMap(String json)
{
Map<String, Object> map = gson.fromJson(json,
new TypeToken<Map<String, Object>>() {
}.getType());
return map;
}
public static <T> List<T> toList(String json, Class<T> clz)
{
JsonArray array = new JsonParser().parse(json).getAsJsonArray();
List<T> list = new ArrayList<>();
for (final JsonElement elem : array)
{
list.add(gson.fromJson(elem, clz));
}
return list;
}
}
package com.yeejoin.amos.safety.business.vo;
import java.util.Iterator;
import java.util.List;
import java.util.Map;
import org.apache.commons.lang.enums.ValuedEnum;
/**
* 操作枚举
*
* @author as-youjun
*
*/
@SuppressWarnings("all")
public final class QueryOperatorEnum extends ValuedEnum {
private static final long serialVersionUID = -375127751242109017L;
public static final int LESS_VALUE = 1; // 小于
public static final int BIGGER_VALUE = 2; // 大于
public static final int EQUAL_VALUE = 3; // 等于
public static final int LESS_EQUAL_VALUE = 4; // 小于等于
public static final int BIGGER_EQUAL_VALUE = 5; // 大于等于
public static final int NOT_EQUAL_VALUE = 6; // 不等于
public static final int IN_VALUE = 7; // 包含
public static final int LIKE_VALUE = 8; // like
public static final int OR_VALUE = 9; // 或者
public static final int ORDER_VALUE = 10; // 排序
public static final int NOT_IN_VALUE = 11; // 不包含
public static final int IS_VALUE= 12; //是
public static final QueryOperatorEnum LESS = new QueryOperatorEnum("LESS", 1, "<");
public static final QueryOperatorEnum BIGGER = new QueryOperatorEnum("BIGGER", 2, ">");
public static final QueryOperatorEnum EQUAL = new QueryOperatorEnum("EQUAL", 3, "=");
public static final QueryOperatorEnum LESS_EQUAL = new QueryOperatorEnum("LESS_EQUAL", 4, "<=");
public static final QueryOperatorEnum BIGGER_EQUAL = new QueryOperatorEnum("BIGGER_EQUAL", 5, ">=");
public static final QueryOperatorEnum NOT_EQUAL = new QueryOperatorEnum("NOT_EQUAL", 6, "<>");
public static final QueryOperatorEnum IN = new QueryOperatorEnum("IN", 7, "IN");
public static final QueryOperatorEnum LIKE = new QueryOperatorEnum("LIKE", 8, "LIKE");
public static final QueryOperatorEnum OR = new QueryOperatorEnum("OR", 9, "OR");
public static final QueryOperatorEnum ORDER_BY = new QueryOperatorEnum("ORDER BY", 10, "ORDER BY");
public static final QueryOperatorEnum NOT_IN = new QueryOperatorEnum("NOT IN", 11, "NOT IN");
public static final QueryOperatorEnum IS = new QueryOperatorEnum("IS", 12, "IS");
public String condition;
public String getCondition() {
return condition;
}
public void setCondition(String condition) {
this.condition = condition;
}
protected QueryOperatorEnum(String arg0, int arg1, String condition) {
super(arg0, arg1);
this.condition = condition;
}
public static QueryOperatorEnum getEnum(String name) {
try {
return ((QueryOperatorEnum) getEnum(QueryOperatorEnum.class, name));
} catch (Exception ex) {
return null;
}
}
public static QueryOperatorEnum getEnum(int name) {
try {
return ((QueryOperatorEnum) getEnum(QueryOperatorEnum.class, name));
} catch (Exception ex) {
return null;
}
}
public static Map getMap() {
try {
return getEnumMap(QueryOperatorEnum.class);
} catch (Exception ex) {
return null;
}
}
public static List getList() {
try {
return getEnumList(QueryOperatorEnum.class);
} catch (Exception ex) {
return null;
}
}
public static Iterator iterator() {
try {
return iterator(QueryOperatorEnum.class);
} catch (Exception ex) {
return null;
}
}
}
package com.yeejoin.amos.safety.business.vo;
import java.io.Serializable;
public class ReginParams implements Serializable {
private static final long serialVersionUID = 1L;
private CompanyBo company;
private RoleBo role;
private DepartmentBo department;
public CompanyBo getCompany() {
return company;
}
public void setCompany(CompanyBo company) {
this.company = company;
}
public RoleBo getRole() {
return role;
}
public void setRole(RoleBo role) {
this.role = role;
}
public DepartmentBo getDepartment() {
return department;
}
public void setDepartment(DepartmentBo department) {
this.department = department;
}
}
package com.yeejoin.amos.safety.business.vo;
public class RoleBo {
private String roleName;
private String roleType;
private String sequenceNbr;
public String getRoleName() {
return roleName;
}
public void setRoleName(String roleName) {
this.roleName = roleName;
}
public String getRoleType() {
return roleType;
}
public void setRoleType(String roleType) {
this.roleType = roleType;
}
public String getSequenceNbr() {
return sequenceNbr;
}
public void setSequenceNbr(String sequenceNbr) {
this.sequenceNbr = sequenceNbr;
}
}
package com.yeejoin.amos.safety.business.vo;
import java.math.BigDecimal;
import java.util.regex.Matcher;
import java.util.regex.Pattern;
import org.springframework.util.Assert;
/**
* 字符串工具类
*
* @author as-youjun
*
*/
public class StringUtil {
private static Pattern NOT_ZERO_AT_THE_END = Pattern.compile("[1-9](\\d*[1-9])?");
private static Pattern numericPattern = Pattern.compile("-?[0-9]+\\.?[0-9]*");
/**
* 判断对象是否为空
*
* @param str
* @return
*/
public static boolean isNotEmpty(Object str) {
boolean flag = true;
if (str != null && !str.equals("")) {
if (str.toString().length() > 0) {
flag = true;
}
} else {
flag = false;
}
return flag;
}
/***************************************************************************
* repeat - 通过源字符串重复生成N次组成新的字符串。
*
* @param src
* - 源字符串 例如: 空格(" "), 星号("*"), "浙江" 等等...
* @param num
* - 重复生成次数
* @return 返回已生成的重复字符串
* @version 1.0 (2006.10.10) Wilson Lin
**************************************************************************/
public static String repeat(String src, int num) {
StringBuffer s = new StringBuffer();
for (int i = 0; i < num; i++)
s.append(src);
return s.toString();
}
/**
* 判断是否数字表示
*
* @param src
* 源字符串
* @return 是否数字的标志
*/
public static boolean isNumeric(String str) {
// 该正则表达式可以匹配所有的数字 包括负数
String bigStr;
try {
bigStr = new BigDecimal(str).toString();
} catch (Exception e) {
return false;// 异常 说明包含非数字。
}
Matcher isNum = numericPattern.matcher(bigStr); // matcher是全匹配
if (!isNum.matches()) {
return false;
}
return true;
}
public static int toInt(String s) {
if (s != null && !"".equals(s.trim())) {
try {
return Integer.parseInt(s);
} catch (Exception e) {
return 0;
}
}
return 0;
}
/**
* 截取前后都不是0的数字字符串
*
* 12010102 => 12010102 12010100 => 120101 ab1201100b => 12011
*
* @param str
* @return
*/
public static String delEndZero(String str) {
Matcher mat = NOT_ZERO_AT_THE_END.matcher(str);
boolean rs = mat.find();
if (rs) {
return mat.group(0);
}
return null;
}
/**
*
* <pre>
* 移除字符串后面的0
* </pre>
*
* @param s
* @return
*/
public static String removeSufixZero(String s) {
if (s == null) {
return "";
}
while (s.endsWith("0")) {
if (s.equals("0")) {
s = "";
break;
}
s = s.substring(0, s.length() - 1);
}
return s;
}
public static String transforCode(String code) {
if (code.endsWith("0000000")) {
code = code.substring(0, 1);
} else if (code.endsWith("000000")) {
code = code.substring(0, 2);
} else if (code.endsWith("0000")) {
code = code.substring(0, 4);
} else if (code.endsWith("00")) {
code = code.substring(0, 6);
}
return code;
}
}
package com.yeejoin.amos.safety.business.vo;
/**
*
* <pre>
* 自定义异常
* </pre>
*
* @author as-youjun
* @version $Id: YeeException.java, v 0.1 2017年7月18日 上午9:34:21 as-youjun Exp $
*/
public class YeeException extends RuntimeException {
/**
* <pre>
*
* </pre>
*/
private static final long serialVersionUID = -1963401137898098411L;
private int errorCode = 0;
public YeeException(int errorCode) {
this.errorCode = errorCode;
}
public YeeException(String message, int errorCode) {
super(message);
this.errorCode = errorCode;
}
public YeeException(String message) {
super(message);
}
public YeeException(String message, Throwable cause, int errorCode) {
super(message, cause);
this.errorCode = errorCode;
}
public YeeException(Throwable cause, int errorCode) {
super(cause);
this.errorCode = errorCode;
}
public YeeException(String message, Throwable cause, boolean enableSuppression, boolean writableStackTrace,
int errorCode) {
super(message, cause, enableSuppression, writableStackTrace);
this.errorCode = errorCode;
}
/**
* Getter method for property <tt>errorCode</tt>.
*
* @return property value of errorCode
*/
public int getErrorCode() {
return errorCode;
}
/**
* Setter method for property <tt>errorCode</tt>.
*
* @param errorCode
* value to be assigned to property errorCode
*/
public void setErrorCode(int errorCode) {
this.errorCode = errorCode;
}
}
package com.yeejoin.amos.safety.common.entity;
import java.io.Serializable;
import java.util.Date;
import javax.persistence.Column;
import javax.persistence.EntityListeners;
import javax.persistence.MappedSuperclass;
import org.springframework.data.jpa.domain.support.AuditingEntityListener;
/**
*
* <pre>
* 涓氬姟瀹炰綋鎶借薄绫�
* </pre>
*
* @author as-guowubin
* @version $Id: BusinessEntity.java, v 0.1 2018骞�5鏈�18鏃� 涓嬪崍2:27:17 as-guowubin Exp $
*/
@MappedSuperclass
@EntityListeners(value=AuditingEntityListener.class)
public abstract class BusinessEntity implements Serializable
{
/**
* <pre>
*
* </pre>
*/
private static final long serialVersionUID = 1L;
/**
* 鍒涘缓鏃堕棿
*/
@Column(name = "create_date",updatable = false)
private Date createDate;
/**
* 鍒涘缓鐢ㄦ埛
*/
@Column(name = "create_user",updatable = false)
private String createUser;
/**
* 鏇存柊鏃堕棿
*/
@Column(name = "update_date")
private Date updateDate;
/**
* 鏇存柊鐢ㄦ埛
*/
@Column(name = "update_user")
private String updateUser;
/**
* 鏄惁鍒犻櫎
*/
@Column(name = "is_delete")
private Boolean isDelete = false;
public Date getCreateDate()
{
return createDate;
}
public void setCreateDate(Date createDate)
{
this.createDate = createDate;
}
public String getCreateUser()
{
return createUser;
}
public void setCreateUser(String createUser)
{
this.createUser = createUser;
}
public Date getUpdateDate()
{
return updateDate;
}
public void setUpdateDate(Date updateDate)
{
this.updateDate = updateDate;
}
public String getUpdateUser()
{
return updateUser;
}
public void setUpdateUser(String updateUser)
{
this.updateUser = updateUser;
}
public Boolean getIsDelete()
{
return isDelete;
}
public void setIsDelete(Boolean isDelete)
{
this.isDelete = isDelete;
}
}
...@@ -11,7 +11,6 @@ import org.hibernate.annotations.GenericGenerator; ...@@ -11,7 +11,6 @@ import org.hibernate.annotations.GenericGenerator;
import org.hibernate.annotations.Where; import org.hibernate.annotations.Where;
import com.alibaba.fastjson.JSON; import com.alibaba.fastjson.JSON;
import com.yeejoin.amos.op.core.entity.BusinessEntity;
import com.yeejoin.amos.safety.business.response.RouteResponse; import com.yeejoin.amos.safety.business.response.RouteResponse;
import com.yeejoin.amos.safety.common.entity.dto.LinkPathDTO; import com.yeejoin.amos.safety.common.entity.dto.LinkPathDTO;
......
...@@ -6,12 +6,9 @@ import javax.persistence.GeneratedValue; ...@@ -6,12 +6,9 @@ import javax.persistence.GeneratedValue;
import javax.persistence.Id; import javax.persistence.Id;
import javax.persistence.Table; import javax.persistence.Table;
import javax.persistence.Transient; import javax.persistence.Transient;
import org.hibernate.annotations.GenericGenerator; import org.hibernate.annotations.GenericGenerator;
import org.hibernate.annotations.Where; import org.hibernate.annotations.Where;
import com.alibaba.fastjson.JSON; import com.alibaba.fastjson.JSON;
import com.yeejoin.amos.op.core.entity.BusinessEntity;
import com.yeejoin.amos.safety.business.response.PointInfoResponse; import com.yeejoin.amos.safety.business.response.PointInfoResponse;
import com.yeejoin.amos.safety.common.entity.dto.CoordDTO; import com.yeejoin.amos.safety.common.entity.dto.CoordDTO;
import com.yeejoin.amos.safety.common.entity.dto.NodeConfigDTO; import com.yeejoin.amos.safety.common.entity.dto.NodeConfigDTO;
......
package com.yeejoin.amos.safety.common.entity; package com.yeejoin.amos.safety.common.entity;
import java.io.Serializable; import java.io.Serializable;
import java.util.Date; import java.util.Date;
import javax.persistence.Entity; import javax.persistence.Entity;
import javax.persistence.Id; import javax.persistence.Id;
import javax.persistence.Table; import javax.persistence.Table;
import javax.persistence.Transient; import javax.persistence.Transient;
import com.yeejoin.amos.op.core.util.DateUtil; import com.yeejoin.amos.safety.business.vo.DateUtil;
/** /**
* *
* <pre> * <pre>
......
...@@ -8,7 +8,8 @@ import javax.persistence.Id; ...@@ -8,7 +8,8 @@ import javax.persistence.Id;
import javax.persistence.Table; import javax.persistence.Table;
import javax.persistence.Transient; import javax.persistence.Transient;
import com.yeejoin.amos.op.core.util.DateUtil; import com.yeejoin.amos.safety.business.vo.DateUtil;
/** /**
* *
......
...@@ -3,8 +3,7 @@ package com.yeejoin.amos.safety.common.entity; ...@@ -3,8 +3,7 @@ package com.yeejoin.amos.safety.common.entity;
import java.util.Date; import java.util.Date;
import java.util.List; import java.util.List;
import com.yeejoin.amos.op.core.entity.Resource; import com.yeejoin.amos.safety.business.vo.DateUtil;
import com.yeejoin.amos.op.core.util.DateUtil;
import com.yeejoin.amos.safety.common.entity.dto.PatrolCheckInputDTO; import com.yeejoin.amos.safety.common.entity.dto.PatrolCheckInputDTO;
/** /**
* *
...@@ -15,7 +14,7 @@ import com.yeejoin.amos.safety.common.entity.dto.PatrolCheckInputDTO; ...@@ -15,7 +14,7 @@ import com.yeejoin.amos.safety.common.entity.dto.PatrolCheckInputDTO;
* @author amos * @author amos
* @version $Id: RiskPoint.java, v 0.1 2019年1月4日 上午9:27:20 amos Exp $ * @version $Id: RiskPoint.java, v 0.1 2019年1月4日 上午9:27:20 amos Exp $
*/ */
public class RiskPoint extends Resource public class RiskPoint
{ {
/** /**
......
...@@ -7,13 +7,12 @@ import java.util.LinkedList; ...@@ -7,13 +7,12 @@ import java.util.LinkedList;
import java.util.List; import java.util.List;
import java.util.Map; import java.util.Map;
import java.util.stream.Collectors; import java.util.stream.Collectors;
import com.yeejoin.amos.op.core.util.DateUtil;
import com.yeejoin.amos.op.core.util.JSONUtil;
import com.yeejoin.amos.op.core.util.StringUtil;
import com.yeejoin.amos.safety.business.response.PatrolUserRespone; import com.yeejoin.amos.safety.business.response.PatrolUserRespone;
import com.yeejoin.amos.safety.business.response.PointInfoResponse; import com.yeejoin.amos.safety.business.response.PointInfoResponse;
import com.yeejoin.amos.safety.business.response.RouteResponse; import com.yeejoin.amos.safety.business.response.RouteResponse;
import com.yeejoin.amos.safety.business.vo.DateUtil;
import com.yeejoin.amos.safety.business.vo.JSONUtil;
import com.yeejoin.amos.safety.business.vo.StringUtil;
import com.yeejoin.amos.safety.common.cache.UserPostionCache; import com.yeejoin.amos.safety.common.cache.UserPostionCache;
import com.yeejoin.amos.safety.common.entity.Link3DVo; import com.yeejoin.amos.safety.common.entity.Link3DVo;
import com.yeejoin.amos.safety.common.entity.Node3DVo; import com.yeejoin.amos.safety.common.entity.Node3DVo;
......
package com.yeejoin.amos.safety.core.remote.service;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RequestMethod;
import org.springframework.web.bind.annotation.RequestParam;
import com.yeejoin.amos.safety.business.vo.CommonResponse;
import org.springframework.web.bind.annotation.PathVariable;
import org.springframework.web.bind.annotation.PutMapping;
import org.springframework.web.bind.annotation.RequestBody;
import java.util.Map;
import org.springframework.cloud.openfeign.FeignClient;
import org.springframework.util.MultiValueMap;
//巡检
@FeignClient(name = "${elecfire_converter_statton_patrol}",configuration=FeignConfiguration.class)
public interface AmosBankPatrol {
@RequestMapping(value = "/api/check/viewModule/initData", method = RequestMethod.GET)
CommonResponse initViewNode();
@RequestMapping(value = "/api/spc/check-detail", method = RequestMethod.POST)
CommonResponse getPatrolInfo( @RequestBody Map permissionType);
@RequestMapping(value = "/api/route/points", method = RequestMethod.POST )
CommonResponse getPointsByRouteId(@RequestBody Map permissionType);
}
package com.yeejoin.amos.safety.core.remote.service;
import javax.servlet.http.HttpServletRequest;
import org.springframework.web.context.request.RequestContextHolder;
import org.springframework.web.context.request.ServletRequestAttributes;
import feign.RequestInterceptor;
import feign.RequestTemplate;
public class FeignBasicAuthRequestInterceptor implements RequestInterceptor{
public FeignBasicAuthRequestInterceptor() {
}
@Override
public void apply(RequestTemplate template) {
ServletRequestAttributes attributes = (ServletRequestAttributes)RequestContextHolder.getRequestAttributes();
HttpServletRequest request = attributes.getRequest();
String authToken = request.getHeader("X-Access-Token");
String appKey = request.getHeader("appKey");
String product = request.getHeader("product");
if (authToken == null)
{
authToken = request.getParameter("token");
}
template.header("toke", authToken);
template.header("X-Access-Token", authToken);
template.header("product", product);
template.header("appKey", appKey);
}
}
package com.yeejoin.amos.safety.core.remote.service;
import org.springframework.beans.factory.ObjectFactory;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.boot.autoconfigure.http.HttpMessageConverters;
import org.springframework.cloud.openfeign.support.SpringEncoder;
import org.springframework.context.annotation.Bean;
import feign.codec.Encoder;
import feign.form.spring.SpringFormEncoder;
public class FeignConfiguration {
@Autowired
private ObjectFactory<HttpMessageConverters> messageConverters;
@Bean
public Encoder feignFormEncoder() {
return new SpringFormEncoder(new SpringEncoder(messageConverters));
}
@Bean
public FeignBasicAuthRequestInterceptor basicAuthRequestInterceptor() {
return new FeignBasicAuthRequestInterceptor();
}
}
package com.yeejoin.amos.safety.core.remote.service; //package com.yeejoin.amos.safety.core.remote.service;
import java.util.HashMap; //import java.util.HashMap;
import java.util.List; //import java.util.List;
import java.util.Map; //import java.util.Map;
//
import org.springframework.beans.factory.annotation.Autowired; //import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.http.HttpEntity; //import org.springframework.http.HttpEntity;
import org.springframework.http.HttpHeaders; //import org.springframework.http.HttpHeaders;
import org.springframework.http.HttpMethod; //import org.springframework.http.HttpMethod;
import org.springframework.http.MediaType; //import org.springframework.http.MediaType;
import org.springframework.stereotype.Service; //import org.springframework.stereotype.Service;
import org.springframework.web.client.RestTemplate; //import org.springframework.web.client.RestTemplate;
//
import com.yeejoin.amos.op.core.common.response.CommonResponse; //import com.yeejoin.amos.op.core.common.response.CommonResponse;
import com.yeejoin.amos.op.core.util.ApplicationConfig; //import com.yeejoin.amos.op.core.util.ApplicationConfig;
import com.yeejoin.amos.op.core.util.Constants; //import com.yeejoin.amos.op.core.util.Constants;
/** ///**
* // *
* <pre> // * <pre>
* 巡检系统远程调用 // * 巡检系统远程调用
* </pre> // * </pre>
* // *
* @author amos // * @author amos
* @version $Id: RemotePatrolServer.java, v 0.1 2018年12月5日 下午4:38:27 amos Exp $ // * @version $Id: RemotePatrolServer.java, v 0.1 2018年12月5日 下午4:38:27 amos Exp $
*/ // */
@Service("remotePatrolServer") //@Service("remotePatrolServer")
public class RemotePatrolServer //public class RemotePatrolServer
{ //{
@Autowired // @Autowired
private ApplicationConfig applicationConfig; // private ApplicationConfig applicationConfig;
private final RestTemplate restTemplate; // private final RestTemplate restTemplate;
//
public RemotePatrolServer() // public RemotePatrolServer()
{ // {
this.restTemplate = new RestTemplate(); // this.restTemplate = new RestTemplate();
} // }
//
/** // /**
* // *
* <pre> // * <pre>
* 初始化巡检系统巡检点状态、巡检人员数据 // * 初始化巡检系统巡检点状态、巡检人员数据
* </pre> // * </pre>
* // *
* @return // * @return
*/ // */
public Object initViewNode() // public Object initViewNode()
{ // {
String url = applicationConfig.getParamValueStr("params.remotePatrolUrl"); // String url = applicationConfig.getParamValueStr("params.remotePatrolUrl");
HttpHeaders headers = new HttpHeaders(); // HttpHeaders headers = new HttpHeaders();
MediaType type = MediaType // MediaType type = MediaType
.parseMediaType("application/json; charset=UTF-8"); // .parseMediaType("application/json; charset=UTF-8");
headers.setContentType(type); // headers.setContentType(type);
headers.add("Accept", MediaType.APPLICATION_JSON.toString()); // headers.add("Accept", MediaType.APPLICATION_JSON.toString());
headers.add("X-From-Service", "true"); // headers.add("X-From-Service", "true");
HttpEntity<String> formEntity = new HttpEntity<String>(headers); // HttpEntity<String> formEntity = new HttpEntity<String>(headers);
CommonResponse commonResponse = (CommonResponse)restTemplate.exchange(url + "api/check/viewModule/initData", // CommonResponse commonResponse = (CommonResponse)restTemplate.exchange(url + "api/check/viewModule/initData",
HttpMethod.GET, formEntity, CommonResponse.class).getBody(); // HttpMethod.GET, formEntity, CommonResponse.class).getBody();
if (commonResponse != null && commonResponse.getResult().equals(Constants.RESULT_SUCCESS) ) // if (commonResponse != null && commonResponse.getResult().equals(Constants.RESULT_SUCCESS) )
{ // {
return commonResponse.getDataList(); // return commonResponse.getDataList();
} // }
return null; // return null;
} // }
/** // /**
* // *
* <pre> // * <pre>
* 初始化巡检系统巡检点状态、巡检人员数据 // * 初始化巡检系统巡检点状态、巡检人员数据
* </pre> // * </pre>
* // *
* @return // * @return
*/ // */
public Object getPatrolInfo(String patrolId, String token) // public Object getPatrolInfo(String patrolId, String token)
{ // {
Map<String, Integer> map = new HashMap<String, Integer>(); // Map<String, Integer> map = new HashMap<String, Integer>();
map.put("pointID", Integer.valueOf(patrolId)); // map.put("pointID", Integer.valueOf(patrolId));
String url = applicationConfig.getParamValueStr("params.remotePatrolUrl"); // String url = applicationConfig.getParamValueStr("params.remotePatrolUrl");
HttpHeaders headers = new HttpHeaders(); // HttpHeaders headers = new HttpHeaders();
MediaType type = MediaType // MediaType type = MediaType
.parseMediaType("application/json; charset=UTF-8"); // .parseMediaType("application/json; charset=UTF-8");
headers.setContentType(type); // headers.setContentType(type);
headers.add("Accept", MediaType.APPLICATION_JSON.toString()); // headers.add("Accept", MediaType.APPLICATION_JSON.toString());
headers.add("X-Access-Token", token); // headers.add("X-Access-Token", token);
headers.add("X-From-Service", "true"); // headers.add("X-From-Service", "true");
HttpEntity<Map<String, Integer>> formEntity = new HttpEntity<Map<String, Integer>>(map, headers); // HttpEntity<Map<String, Integer>> formEntity = new HttpEntity<Map<String, Integer>>(map, headers);
CommonResponse commonResponse = (CommonResponse)restTemplate.exchange(url + "api/spc/check-detail", // CommonResponse commonResponse = (CommonResponse)restTemplate.exchange(url + "api/spc/check-detail",
HttpMethod.POST, formEntity, CommonResponse.class).getBody(); // HttpMethod.POST, formEntity, CommonResponse.class).getBody();
if (commonResponse != null && commonResponse.getResult().equals(Constants.RESULT_SUCCESS) ) // if (commonResponse != null && commonResponse.getResult().equals(Constants.RESULT_SUCCESS) )
{ // {
return commonResponse.getDataList(); // return commonResponse.getDataList();
} // }
return null; // return null;
} // }
/** // /**
* // *
* <pre> // * <pre>
* 根据线路Id查询巡检点信息 // * 根据线路Id查询巡检点信息
* </pre> // * </pre>
* // *
* @param routeId // * @param routeId
* @return // * @return
*/ // */
public Object getPointsByRouteId(List<String> routeIds, String token) // public Object getPointsByRouteId(List<String> routeIds, String token)
{ // {
Map<String, List<String>> map = new HashMap<String, List<String>>(); // Map<String, List<String>> map = new HashMap<String, List<String>>();
map.put("routeIDs", routeIds); // map.put("routeIDs", routeIds);
String url = applicationConfig.getParamValueStr("params.remotePatrolUrl"); // String url = applicationConfig.getParamValueStr("params.remotePatrolUrl");
HttpHeaders headers = new HttpHeaders(); // HttpHeaders headers = new HttpHeaders();
MediaType type = MediaType // MediaType type = MediaType
.parseMediaType("application/json; charset=UTF-8"); // .parseMediaType("application/json; charset=UTF-8");
headers.setContentType(type); // headers.setContentType(type);
headers.add("Accept", MediaType.APPLICATION_JSON.toString()); // headers.add("Accept", MediaType.APPLICATION_JSON.toString());
headers.add("X-Access-Token", token); // headers.add("X-Access-Token", token);
headers.add("X-From-Service", "true"); // headers.add("X-From-Service", "true");
HttpEntity<Map<String, List<String>>> formEntity = new HttpEntity<Map<String, List<String>>>(map, headers); // HttpEntity<Map<String, List<String>>> formEntity = new HttpEntity<Map<String, List<String>>>(map, headers);
CommonResponse commonResponse = (CommonResponse)restTemplate.exchange(url + "api/route/points", // CommonResponse commonResponse = (CommonResponse)restTemplate.exchange(url + "api/route/points",
HttpMethod.POST, formEntity, CommonResponse.class).getBody(); // HttpMethod.POST, formEntity, CommonResponse.class).getBody();
if (commonResponse != null && commonResponse.getResult().equals(Constants.RESULT_SUCCESS) ) // if (commonResponse != null && commonResponse.getResult().equals(Constants.RESULT_SUCCESS) )
{ // {
return commonResponse.getDataList(); // return commonResponse.getDataList();
} // }
return null; // return null;
} // }
} //}
\ No newline at end of file \ No newline at end of file
package com.yeejoin.amos.safety.core.remote.service;
import org.typroject.tyboot.core.foundation.context.RequestContext;
import com.yeejoin.amos.component.feign.config.InnerInvokException;
import com.yeejoin.amos.component.feign.model.FeignClientResult;
import com.yeejoin.amos.feign.privilege.Privilege;
import com.yeejoin.amos.feign.privilege.model.AgencyUserModel;
import org.springframework.stereotype.Service;
@Service("remoteSecurityService")
public class RemoteSecurityService {
//用户id获取用户信息
public AgencyUserModel getUserById(String toke,String product,String appKey,String userId) {
if (userId == null || userId.equals("")) {
return null;
}
RequestContext.setToken(toke);
RequestContext.setProduct(product);
RequestContext.setAppKey(appKey);
AgencyUserModel agencyUserModel=null;
FeignClientResult feignClientResult;
try {
feignClientResult = Privilege.agencyUserClient.queryByUserId(userId);
agencyUserModel = (AgencyUserModel)feignClientResult.getResult();
} catch (InnerInvokException e) {
e.printStackTrace();
}
return agencyUserModel;
}
}
...@@ -8,7 +8,7 @@ ...@@ -8,7 +8,7 @@
<parent> <parent>
<groupId>com.yeejoin.amos</groupId> <groupId>com.yeejoin.amos</groupId>
<artifactId>YeeSafety3DRoot</artifactId> <artifactId>YeeSafety3DRoot</artifactId>
<version>1.1.0</version> <version>3.0.0</version>
</parent> </parent>
<dependencies> <dependencies>
...@@ -16,7 +16,7 @@ ...@@ -16,7 +16,7 @@
<dependency> <dependency>
<groupId>com.yeejoin.amos</groupId> <groupId>com.yeejoin.amos</groupId>
<artifactId>YeeSafety3DServer</artifactId> <artifactId>YeeSafety3DServer</artifactId>
<version>1.1.0</version> <version>3.0.0</version>
</dependency> </dependency>
</dependencies> </dependencies>
......
...@@ -10,9 +10,14 @@ import org.springframework.boot.autoconfigure.SpringBootApplication; ...@@ -10,9 +10,14 @@ import org.springframework.boot.autoconfigure.SpringBootApplication;
import org.springframework.boot.context.properties.EnableConfigurationProperties; import org.springframework.boot.context.properties.EnableConfigurationProperties;
import org.springframework.boot.web.servlet.ServletComponentScan; import org.springframework.boot.web.servlet.ServletComponentScan;
import org.springframework.cloud.client.discovery.EnableDiscoveryClient; import org.springframework.cloud.client.discovery.EnableDiscoveryClient;
import org.springframework.cloud.netflix.feign.EnableFeignClients; import org.springframework.cloud.netflix.eureka.EnableEurekaClient;
import org.springframework.cloud.netflix.hystrix.EnableHystrix; import org.springframework.cloud.netflix.hystrix.EnableHystrix;
import org.springframework.cloud.openfeign.EnableFeignClients;
import org.springframework.context.annotation.ComponentScan;
import org.springframework.core.env.Environment; import org.springframework.core.env.Environment;
import org.springframework.data.jpa.repository.config.EnableJpaAuditing;
import org.springframework.scheduling.annotation.EnableAsync;
import org.springframework.scheduling.annotation.EnableScheduling;
import org.springframework.transaction.annotation.EnableTransactionManagement; import org.springframework.transaction.annotation.EnableTransactionManagement;
import springfox.documentation.swagger2.annotations.EnableSwagger2; import springfox.documentation.swagger2.annotations.EnableSwagger2;
...@@ -26,16 +31,19 @@ import springfox.documentation.swagger2.annotations.EnableSwagger2; ...@@ -26,16 +31,19 @@ import springfox.documentation.swagger2.annotations.EnableSwagger2;
* @author amos * @author amos
* @version $Id: AmosSafetyStart.java, v 0.1 2018年11月26日 下午4:56:29 amos Exp $ * @version $Id: AmosSafetyStart.java, v 0.1 2018年11月26日 下午4:56:29 amos Exp $
*/ */
@EnableHystrix
@EnableScheduling
@SpringBootApplication @SpringBootApplication
@EnableTransactionManagement @EnableTransactionManagement
@EnableConfigurationProperties @EnableConfigurationProperties
@EnableSwagger2 @EnableSwagger2
@ServletComponentScan @ServletComponentScan
@EnableJpaAuditing
@EnableDiscoveryClient @EnableDiscoveryClient
@EnableFeignClients @EnableFeignClients
@EnableHystrix @EnableAsync
// @Configuration @EnableEurekaClient
// @EnableApolloConfig @ComponentScan({"org.typroject","com.yeejoin.amos"})
@MapperScan(basePackages = { "com.yeejoin.amos.safety.business.dao.mapper" }) @MapperScan(basePackages = { "com.yeejoin.amos.safety.business.dao.mapper" })
public class AmosSafetyStart public class AmosSafetyStart
{ {
......
spring.application.name = AmosSafety3D spring.application.name = AmosSafety3D
eureka.client.serviceUrl.defaultZone = http://172.16.3.3:10500/eureka/ eureka.client.serviceUrl.defaultZone = http://172.16.10.72:10001/eureka/
eureka.client.register-with-eureka = true eureka.client.register-with-eureka = true
eureka.client.fetch-registry = true eureka.client.fetch-registry = true
eureka.client.healthcheck.enabled = true eureka.client.healthcheck.enabled = true
eureka.instance.hostname = ${spring.cloud.client.ipAddress} #eureka.instance.hostname = ${spring.cloud.client.ipAddress}
eureka.instance.statusPageUrlPath = ${management.context-path}/info #eureka.instance.statusPageUrlPath = ${management.context-path}/info
eureka.instance.healthCheckUrlPath = ${management.context-path}/health #eureka.instance.healthCheckUrlPath = ${management.context-path}/health
eureka.instance.preferIpAddress = true #eureka.instance.preferIpAddress = true
eureka.instance.instance-id = ${spring.cloud.client.ipAddress}:${server.port} #eureka.instance.instance-id = ${spring.cloud.client.ipAddress}:${server.port}
eureka.instance.lease-expiration-duration-in-seconds = 10 #eureka.instance.lease-expiration-duration-in-seconds = 10
eureka.instance.lease-renewal-interval-in-seconds = 5 #eureka.instance.lease-renewal-interval-in-seconds = 5
server.port = 9000 server.port = 9000
#redis
spring.redis.database=5
spring.redis.host=127.0.0.1
spring.redis.port=6379
spring.redis.password=
spring.redis.jedis.pool.max-active=200
spring.redis.jedis.pool.max-wait=-1
spring.redis.jedis.pool.max-idle=10
spring.redis.jedis.pool.min-idle=0
spring.redis.timeout=1000
elecfire_converter_statton_patrol=YEEAMOSPATROL-MY99
spring.jackson.date-format=yyyy-MM-dd HH:mm:ss
#DB properties: #DB properties:
spring.datasource.url = jdbc:mysql://172.16.11.33:3306/fire_auto_system?useSSL=false&&allowMultiQueries=true spring.datasource.url = jdbc:mysql://172.16.11.33:3306/fire_auto_system?useSSL=false&&allowMultiQueries=true
spring.datasource.username = root spring.datasource.username = root
...@@ -48,7 +64,7 @@ mybatis.mapper-locations = classpath:db/mapper/*.xml ...@@ -48,7 +64,7 @@ mybatis.mapper-locations = classpath:db/mapper/*.xml
mybatis.type-aliases-package = com.yeejoin.amos.op.business.entity.mybatis mybatis.type-aliases-package = com.yeejoin.amos.op.business.entity.mybatis
#liquibase #liquibase
liquibase.change-log = classpath:/db/changelog/changelog-master.xml spring.liquibase.change-log = classpath:/db/changelog/changelog-master.xml
params.remoteurl=http://127.0.0.1:8800/ params.remoteurl=http://127.0.0.1:8800/
params.time = 5 params.time = 5
params.period = 1800 params.period = 1800
......
...@@ -4,14 +4,14 @@ ...@@ -4,14 +4,14 @@
<modelVersion>4.0.0</modelVersion> <modelVersion>4.0.0</modelVersion>
<groupId>com.yeejoin.amos</groupId> <groupId>com.yeejoin.amos</groupId>
<artifactId>YeeSafety3DRoot</artifactId> <artifactId>YeeSafety3DRoot</artifactId>
<version>1.1.0</version> <version>3.0.0</version>
<packaging>pom</packaging> <packaging>pom</packaging>
<name>YeeSafety3DRoot</name> <name>YeeSafety3DRoot</name>
<parent> <parent>
<groupId>org.springframework.boot</groupId> <groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-parent</artifactId> <artifactId>spring-boot-starter-parent</artifactId>
<version>1.4.2.RELEASE</version> <version>2.1.6.RELEASE</version>
</parent> </parent>
<modules> <modules>
...@@ -19,21 +19,22 @@ ...@@ -19,21 +19,22 @@
<module>YeeSafety3DServer</module> <module>YeeSafety3DServer</module>
</modules> </modules>
<properties> <properties>
<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding> <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
<project.reporting.outputEncoding>UTF-8</project.reporting.outputEncoding> <project.reporting.outputEncoding>UTF-8</project.reporting.outputEncoding>
<java.version>1.8</java.version> <java.version>1.8</java.version>
<liquibase.version>3.5.3</liquibase.version> <liquibase.version>3.6.3</liquibase.version>
<swagger.version>2.7.0</swagger.version> <swagger.version>2.7.0</swagger.version>
<spring-cloud.version>Dalston.SR5</spring-cloud.version> <spring-cloud.version>Greenwich.SR1</spring-cloud.version>
<YeeSecurity.version>2.0.3</YeeSecurity.version> <YeeSecurity.version>2.1.0</YeeSecurity.version>
<YeeOp.version>2.0.2</YeeOp.version> <YeeOp.version>2.0.1</YeeOp.version>
<maven-jar-plugin.version>3.0.0</maven-jar-plugin.version>
</properties> </properties>
<dependencies> <dependencies>
<dependency> <dependency>
<groupId>org.springframework.cloud</groupId> <groupId>org.springframework.cloud</groupId>
<artifactId>spring-cloud-starter-eureka</artifactId> <artifactId>spring-cloud-starter-netflix-eureka-client</artifactId>
</dependency> </dependency>
<dependency> <dependency>
<groupId>org.springframework.boot</groupId> <groupId>org.springframework.boot</groupId>
...@@ -41,12 +42,13 @@ ...@@ -41,12 +42,13 @@
</dependency> </dependency>
<dependency> <dependency>
<groupId>org.springframework.cloud</groupId> <groupId>org.springframework.cloud</groupId>
<artifactId>spring-cloud-starter-feign</artifactId> <artifactId>spring-cloud-starter-openfeign</artifactId>
</dependency> </dependency>
<dependency> <dependency>
<groupId>org.springframework.cloud</groupId> <groupId>org.springframework.cloud</groupId>
<artifactId>spring-cloud-starter-hystrix</artifactId> <artifactId>spring-cloud-starter-netflix-hystrix</artifactId>
</dependency> </dependency>
<!-- Swagger2模块 --> <!-- Swagger2模块 -->
<dependency> <dependency>
<groupId>io.springfox</groupId> <groupId>io.springfox</groupId>
......
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