Conflicts:
	service/src/main/java/com/hzya/frame/u8c/ax/service/impl/AxServiceImpl.java
This commit is contained in:
lvleigang 2024-04-25 17:21:00 +08:00
commit 7cc29e995d
5 changed files with 121 additions and 6 deletions

View File

@ -13,7 +13,7 @@ public interface IAxService extends IBaseService<ArchivesEntity, String>{
* @param object * @param object
* @return com.hzya.frame.web.entity.JsonResultEntity * @return com.hzya.frame.web.entity.JsonResultEntity
**/ **/
JsonResultEntity thirdInterfaceVoucherInsert(JSONObject object); Object thirdInterfaceVoucherInsert(JSONObject object);
/** /**
* @Author lvleigang * @Author lvleigang
* @Description 档案新增 * @Description 档案新增

View File

@ -99,7 +99,7 @@ public class AxServiceImpl extends BaseService<ArchivesEntity, String> implement
* @return com.hzya.frame.web.entity.JsonResultEntity * @return com.hzya.frame.web.entity.JsonResultEntity
**/ **/
@Override @Override
public JsonResultEntity thirdInterfaceVoucherInsert(JSONObject object) { public Object thirdInterfaceVoucherInsert(JSONObject object) {
JSONObject jsonObject = object.getJSONObject("jsonStr"); JSONObject jsonObject = object.getJSONObject("jsonStr");
if(jsonObject == null ){ if(jsonObject == null ){
return BaseResult.getFailureMessageEntity("数据为空,请先传递数据"); return BaseResult.getFailureMessageEntity("数据为空,请先传递数据");
@ -181,7 +181,8 @@ public class AxServiceImpl extends BaseService<ArchivesEntity, String> implement
} }
logger.info("返回结果:" + body); logger.info("返回结果:" + body);
JsonResultEntity resultEntity = JSON.parseObject(body.toString(),JsonResultEntity.class); JsonResultEntity resultEntity = JSON.parseObject(body.toString(),JsonResultEntity.class);
return resultEntity; return resultEntity.getAttribute();
} catch (Exception e) { } catch (Exception e) {
logger.error("请求错误:" + e.getMessage()); logger.error("请求错误:" + e.getMessage());
body.append(e.getMessage()); body.append(e.getMessage());

View File

@ -56,6 +56,13 @@ public class EntranceController {
public JsonResultEntity option(ServletRequest servletRequest, ServletResponse servletResponse) throws Exception { public JsonResultEntity option(ServletRequest servletRequest, ServletResponse servletResponse) throws Exception {
return entranceService.doBusiness(servletRequest, servletResponse); return entranceService.doBusiness(servletRequest, servletResponse);
} }
//平台接口
@RequestMapping(value = "/platformInterface")
@ResponseBody
public Object centerInterFace(ServletRequest servletRequest, ServletResponse servletResponse) throws Exception {
return entranceService.platformInterface(servletRequest, servletResponse);
}
/*** /***
* 文件上传接口 /entranceController/fileUpload * 文件上传接口 /entranceController/fileUpload
* @param * @param

View File

@ -8,6 +8,7 @@ import org.springframework.web.multipart.MultipartFile;
import javax.servlet.ServletRequest; import javax.servlet.ServletRequest;
import javax.servlet.ServletResponse; import javax.servlet.ServletResponse;
import java.lang.reflect.InvocationTargetException;
/** /**
* @Content * @Content
@ -40,5 +41,6 @@ public interface IEntranceService {
* @return com.hzya.frame.web.entity.JsonResultEntity * @return com.hzya.frame.web.entity.JsonResultEntity
**/ **/
JsonResultEntity fileUpload(MultipartFile file, FileResultEntity entity, ServletRequest servletRequest, ServletResponse servletResponse) throws Exception; JsonResultEntity fileUpload(MultipartFile file, FileResultEntity entity, ServletRequest servletRequest, ServletResponse servletResponse) throws Exception;
//平台接口
Object platformInterface(ServletRequest servletRequest, ServletResponse servletResponse) throws InvocationTargetException, IllegalAccessException;
} }

View File

@ -237,8 +237,113 @@ public class EntranceServiceImpl implements IEntranceService {
return BaseResult.getSuccessMessageEntity("附件上传成功",entity); return BaseResult.getSuccessMessageEntity("附件上传成功",entity);
} }
@Override
public Object platformInterface(ServletRequest servletRequest, ServletResponse servletResponse) throws InvocationTargetException, IllegalAccessException {
HttpServletRequest request = (HttpServletRequest) servletRequest;
//tailuo 要访问的Bean名称
String service = request.getHeader("tl");
//bean方法
String serviceMethod = request.getHeader("dj");
String body = ServletUtil.getBody(servletRequest);
//获取类
Object object = null;
if(service == null || "".equals(service) || serviceMethod == null || "".equals(serviceMethod)){
return BaseResult.getFailureMessageEntity("非法请求,请检查");
}
try {
object = ApplicationContextUtil.getBeanByName(service);
} catch (SecurityException e) {
return BaseResult.getFailureMessageEntity(service + "未找到");
}
//获取类下面的方法
Method[] methods = object.getClass().getMethods();
logger.info("methodsLength:" + methods.length);
if (methods == null || methods.length == 0) {
logger.info("当前methods:" + methods + "methodsLength = " + methods.length);
return BaseResult.getFailureMessageEntity(service + "未找到" + serviceMethod + "方法");
} else {
logger.error("当前methods:" + methods + "methodsLength = " + methods.length);
}
for (Method m : methods) {
logger.info("当前mnAME:" + m.getName() + " :serviceMethod = " + serviceMethod.trim());
if (null != m) {
if (m.getName().equals(serviceMethod.trim())) {
if (m.getName().startsWith("thirdInterface")) {//TODO 后续可能要加强校验规则
logger.info("第三方接口,不校验是否登陆");
}else if (!"doLogin".equals(m.getName())) {
try {
StpUtil.checkLogin();
//校验当前登陆人是否有权限
boolean flag = false;
String userId = StpUtil.getLoginIdAsString();
//获取接口
SysInterfaceEntity sysInterfaceEntity = (SysInterfaceEntity) interfaceCache.get("6","beanName"+service+"interfacName"+serviceMethod);
if(sysInterfaceEntity == null || sysInterfaceEntity.getId() == null){
//todo 接口权限验证
return BaseResult.getFailureMessageEntity("用户无访问权限,请联系管理员");
}
//查询用户权限
if(!flag){
SysPopedomInterfaceEntity userPopedomInterfaceEntity = (SysPopedomInterfaceEntity) interfaceCache.get("4","userId"+userId+"interfaceId"+sysInterfaceEntity.getId());
if(userPopedomInterfaceEntity != null && userPopedomInterfaceEntity.getId() != null ){
flag = true;
}
}
//查询用户角色的权限
if(!flag){
List<SysUserRolesEntity> userRoleMap = (List<SysUserRolesEntity>) interfaceCache.get("3",null);
if(userRoleMap != null && userRoleMap.size() > 0){
for (SysUserRolesEntity sysUserRolesEntity : userRoleMap) {
if(sysUserRolesEntity.getUserId().equals(userId)){
SysPopedomInterfaceEntity sysPopedomInterfaceEntity = (SysPopedomInterfaceEntity) interfaceCache.get("5","roleId"+sysUserRolesEntity.getRoleId()+"interfaceId"+sysInterfaceEntity.getId());
if(sysPopedomInterfaceEntity != null && sysPopedomInterfaceEntity.getId() != null ){
flag = true;
break;
}
}
}
}
}
if(!flag){
//todo 接口权限验证
return BaseResult.getFailureMessageEntity("用户无访问权限,请联系管理员");
}
} catch (NotLoginException e) {
logger.error("token无效");
return BaseResult.getFailureMessageEntity("token无效");
}
}
logger.info("m.getNameEquals成功");
JSONObject jsonObject = new JSONObject();
if (!ObjectUtils.isEmpty(body)) {
jsonObject.put("jsonStr", body);
}
JsonResultEntity jsonResultEntity;
try {
logger.info("invoke开始>>>>>>>>>>>>>>>>>>>>>>>>>>>>");
logger.info("请求的参数jsonObject" + jsonObject.toJSONString());
Object result = m.invoke(object, jsonObject);
logger.info("invoke结束>>>>>>>>>>>>>>>>>>>>>>>>>>>>");
return result;
} catch (Exception e) {
logger.error("METHOD doBusiness invokeException{}", e.getMessage());
if (e instanceof InvocationTargetException) {
Throwable targetException = ((InvocationTargetException) e).getTargetException();
if (targetException instanceof BaseSystemException) {
throw new BaseSystemException(targetException.getMessage());
} else {
logger.info("METHOD doBusiness :{}", e.getMessage());
throw e;
}
} else {
throw e;
}
}
}
}
}
throw new BaseSystemException( service + "未找到" + serviceMethod + "方法") ;
}
@Override @Override