Commit 14a1df8a authored by tangwei's avatar tangwei

接口修改,

parent 70a8b503
......@@ -2,6 +2,8 @@ package com.yeejoin.amos.boot.biz.common.bo;
import java.io.Serializable;
import com.yeejoin.amos.feign.privilege.model.AgencyUserModel;
/***
*
* 用户选择保存实体类
......@@ -15,7 +17,9 @@ public class ReginParams implements Serializable {
private CompanyBo company;
private RoleBo role;
private DepartmentBo department;
//用户基本信息
private AgencyUserModel userModel;
public CompanyBo getCompany() {
return company;
}
......@@ -40,5 +44,13 @@ public class ReginParams implements Serializable {
this.department = department;
}
public AgencyUserModel getUserModel() {
return userModel;
}
public void setUserModel(AgencyUserModel userModel) {
this.userModel = userModel;
}
}
//package com.yeejoin.amos.boot.biz.config;
//
//import org.apache.commons.lang3.StringUtils;
//import org.apache.ibatis.reflection.MetaObject;
//import org.springframework.beans.factory.annotation.Autowired;
//import org.springframework.stereotype.Component;
//import org.springframework.util.ObjectUtils;
//import java.util.Date;
//import java.util.Map;
//import javax.servlet.http.HttpServletRequest;
//import com.alibaba.fastjson.JSONObject;
//import com.baomidou.mybatisplus.core.handlers.MetaObjectHandler;
//import com.yeejoin.amos.boot.biz.common.bo.ReginParams;
//import com.yeejoin.amos.boot.biz.common.utils.RedisUtils;
//import com.yeejoin.amos.feign.privilege.model.AgencyUserModel;
//
//
//@Component
//public class MetaHandler implements MetaObjectHandler {
//
// @Autowired
// protected HttpServletRequest request;
// @Autowired
// private RedisUtils redisUtils;
//
// protected String getToken() {
// String authToken = request.getHeader("token");
// if (authToken == null) {
// authToken = request.getHeader("X-Access-Token");
// }
// return authToken;
// }
// protected String buildKey(String token) {
// //由于用户id 不是接口携带参数,为了避免,公共字段填充时频繁访问平台,缓存用户信息时,
// return "region_" + token;
//
// }
// /**
// * 新增数据拦截
// *
// * @param metaObject
// */
// @Override
// public void insertFill(MetaObject metaObject) {
// autoFillUser(metaObject);
// }
//
// private void autoFillUser(MetaObject metaObject) {
// //获取用户信息 以及当前用户登录公司部门,角色
// ReginParams reginParams=JSONObject.parseObject(redisUtils.get(buildKey( getToken())).toString(), ReginParams.class);
// AgencyUserModel agencyUserModel=JSONObject.parseObject(redisUtils.get( getToken()).toString(), AgencyUserModel.class);
//
// if(ObjectUtils.isEmpty(reginParams)||ObjectUtils.isEmpty(agencyUserModel)){
// return;
// }
// Object entity = metaObject.getOriginalObject();
// if (isExistField("recUserId", entity)) {
// this.setFieldValByName("recUserId", Long.valueOf(agencyUserModel.getUserId()), metaObject);
// }
//
// if (isExistField("recUserName", entity)) {
// this.setFieldValByName("recUserName", agencyUserModel.getUserName(), metaObject);
// }
// if (isExistField("recDate", entity)) {
// Date currentDate = new Date();
// this.setFieldValByName("recDate", currentDate, metaObject);
package com.yeejoin.amos.boot.biz.config;
import org.apache.commons.lang3.StringUtils;
import org.apache.ibatis.reflection.MetaObject;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Component;
import org.springframework.util.ObjectUtils;
import java.util.Date;
import java.util.Map;
import javax.servlet.http.HttpServletRequest;
import com.alibaba.fastjson.JSONObject;
import com.baomidou.mybatisplus.core.handlers.MetaObjectHandler;
import com.yeejoin.amos.boot.biz.common.bo.ReginParams;
import com.yeejoin.amos.boot.biz.common.utils.RedisUtils;
import com.yeejoin.amos.feign.privilege.model.AgencyUserModel;
@Component
public class MetaHandler implements MetaObjectHandler {
@Autowired
protected HttpServletRequest request;
@Autowired
private RedisUtils redisUtils;
protected String getToken() {
String authToken = request.getHeader("token");
if (authToken == null) {
authToken = request.getHeader("X-Access-Token");
}
return authToken;
}
protected String buildKey(String token) {
//由于用户id 不是接口携带参数,为了避免,公共字段填充时频繁访问平台,缓存用户信息时,
return "region_" + token;
}
/**
* 新增数据拦截
*
* @param metaObject
*/
@Override
public void insertFill(MetaObject metaObject) {
autoFillUser(metaObject);
}
private void autoFillUser(MetaObject metaObject) {
//获取用户信息 以及当前用户登录公司部门,角色
ReginParams reginParams=JSONObject.parseObject(redisUtils.get(buildKey( getToken())).toString(), ReginParams.class);
AgencyUserModel agencyUserModel=reginParams.getUserModel();
if(ObjectUtils.isEmpty(reginParams)||ObjectUtils.isEmpty(agencyUserModel)){
return;
}
Object entity = metaObject.getOriginalObject();
if (isExistField("recUserId", entity)) {
this.setFieldValByName("recUserId", Long.valueOf(agencyUserModel.getUserId()), metaObject);
}
if (isExistField("recUserName", entity)) {
this.setFieldValByName("recUserName", agencyUserModel.getUserName(), metaObject);
}
if (isExistField("recDate", entity)) {
Date currentDate = new Date();
this.setFieldValByName("recDate", currentDate, metaObject);
}
// if (isExistField("companyCode", entity)) {
// this.setFieldValByName("companyCode", reginParams.getDepartment().getOrgCode(), metaObject);
// }
//// if (isExistField("companyCode", entity)) {
//// this.setFieldValByName("companyCode", reginParams.getDepartment().getOrgCode(), metaObject);
//// }
//// if (isExistField("companyName", entity)) {
//// this.setFieldValByName("companyName", reginParams.getDepartment().getDepartmentName(), metaObject);
//// }
//
//
// }
//
// private Boolean isExistField(String field, Object obj) {
// if (obj == null || StringUtils.isEmpty(field)) {
// return null;
// }
// Object o = JSONObject.toJSON(obj);
// JSONObject jsonObj = new JSONObject();
// if (o instanceof JSONObject) {
// jsonObj = (JSONObject) o;
// if (isExistField("companyName", entity)) {
// this.setFieldValByName("companyName", reginParams.getDepartment().getDepartmentName(), metaObject);
// }
// return jsonObj.containsKey(field);
// }
//
// /**
// * 更新拦截
// *
// * @param metaObject
// */
// @Override
// public void updateFill(MetaObject metaObject) {
// Date currentDate = new Date();
// this.setFieldValByName("updateTime", currentDate, metaObject);
// }
//}
\ No newline at end of file
}
private Boolean isExistField(String field, Object obj) {
if (obj == null || StringUtils.isEmpty(field)) {
return null;
}
Object o = JSONObject.toJSON(obj);
JSONObject jsonObj = new JSONObject();
if (o instanceof JSONObject) {
jsonObj = (JSONObject) o;
}
return jsonObj.containsKey(field);
}
/**
* 更新拦截
*
* @param metaObject
*/
@Override
public void updateFill(MetaObject metaObject) {
Date currentDate = new Date();
this.setFieldValByName("updateTime", currentDate, metaObject);
}
}
\ No newline at end of file
//package com.yeejoin.amos.boot.biz.config;
//
//import org.springframework.context.annotation.Bean;
//import org.springframework.context.annotation.Configuration;
//import com.baomidou.mybatisplus.autoconfigure.ConfigurationCustomizer;
//import com.baomidou.mybatisplus.core.MybatisConfiguration;
//import com.baomidou.mybatisplus.core.config.GlobalConfig;
//import com.baomidou.mybatisplus.extension.plugins.PaginationInterceptor;
///**
// *
// *
// **/
//@Configuration
//public class MyBatisPlusConfig {
// /**
// * 自动填充功能
// * @return
// */
// @Bean
// public GlobalConfig globalConfig() {
// GlobalConfig globalConfig = new GlobalConfig();
// globalConfig.setMetaObjectHandler(new MetaHandler());
// return globalConfig;
// }
//}
package com.yeejoin.amos.boot.biz.config;
import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration;
import com.baomidou.mybatisplus.core.config.GlobalConfig;
/**
*
*
**/
@Configuration
public class MyBatisPlusConfig {
/**
* 自动填充功能
* @return
*/
@Bean
public GlobalConfig globalConfig() {
GlobalConfig globalConfig = new GlobalConfig();
globalConfig.setMetaObjectHandler(new MetaHandler());
return globalConfig;
}
}
......@@ -8,6 +8,7 @@ import com.fasterxml.jackson.databind.SerializationFeature;
import com.fasterxml.jackson.datatype.jsr310.JavaTimeModule;
import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration;
import org.springframework.data.redis.connection.RedisConnectionFactory;
import org.springframework.data.redis.connection.lettuce.LettuceConnectionFactory;
import org.springframework.data.redis.core.RedisTemplate;
import org.springframework.data.redis.serializer.Jackson2JsonRedisSerializer;
......@@ -20,7 +21,7 @@ import org.springframework.data.redis.serializer.StringRedisSerializer;
@Configuration
public class RedisConfig {
@Bean
public RedisTemplate<String, Object> redisTemplate(LettuceConnectionFactory factory) {
public RedisTemplate<String, Object> redisTemplate(RedisConnectionFactory factory) {
RedisTemplate<String, Object> template = new RedisTemplate<>();
template.setConnectionFactory(factory);
Jackson2JsonRedisSerializer<Object> j2jrs = new Jackson2JsonRedisSerializer<>(Object.class);
......@@ -40,7 +41,7 @@ public class RedisConfig {
template.setHashKeySerializer(srs);
template.afterPropertiesSet();
// 序列化 value 时
template.setValueSerializer(srs);
// template.setValueSerializer(srs);
return template;
}
......
......@@ -8,6 +8,7 @@ import com.yeejoin.amos.boot.biz.common.bo.ReginParams;
import com.yeejoin.amos.boot.biz.common.bo.RoleBo;
import com.yeejoin.amos.boot.biz.common.utils.GlobalCache;
import com.yeejoin.amos.boot.biz.common.utils.RedisUtils;
import com.yeejoin.amos.boot.module.jcs.biz.service.impl.RemoteSecurityService;
import com.yeejoin.amos.component.feign.model.FeignClientResult;
import com.yeejoin.amos.feign.privilege.Privilege;
import com.yeejoin.amos.feign.privilege.model.AgencyUserModel;
......@@ -33,14 +34,6 @@ import java.util.HashMap;
import java.util.List;
import java.util.Map;
//import com.yeejoin.equipmanage.common.config.GlobalCache;
//import com.yeejoin.equipmanage.common.utils.RedisUtils;
//import com.yeejoin.equipmanage.remote.CompanyBo;
//import com.yeejoin.equipmanage.remote.DepartmentBo;
//import com.yeejoin.equipmanage.remote.ReginParams;
//import com.yeejoin.equipmanage.remote.RoleBo;
/**
* controller层切面 用于用户数据缓存 供 sql自动填充使用
*
......@@ -54,7 +47,9 @@ public class ControllerAop {
*/
@Value("${redis_region_time_second}")
private Long redisRegionTimeSecond;
@Autowired
private RemoteSecurityService remoteSecurityService;
@Autowired
private RedisUtils redisUtils;
......@@ -69,37 +64,30 @@ public class ControllerAop {
HttpServletRequest request = attributes.getRequest();
String token = request.getHeader("token");
if (token != null) {
String product = request.getHeader("product");
String appKey = request.getHeader("appKey");
RequestContext.setToken(token);
RequestContext.setProduct(product);
RequestContext.setAppKey(appKey);
FeignClientResult<AgencyUserModel> feignClientResult = Privilege.agencyUserClient.getme();
AgencyUserModel userModel = feignClientResult.getResult();
if (userModel == null) {
throw new Exception("无法获取用户信息");
}
RequestContext.setExeUserId(userModel.getUserId());
String key = "region_" + userModel.getUserId() + "_" + token;
Map<String, Object> map = new HashMap<>();
map.put("user", JSON.toJSONString(userModel));
// 不需要添加请求头的接口
//验证token有效性,防止token失效
AgencyUserModel userModel =new AgencyUserModel();
try {
userModel = remoteSecurityService.getAgencyUser();
if (userModel == null) {
throw new Exception("无法获取用户信息");
}
} catch (Exception e) {
//删除失效token缓存
redisUtils.del(buildKey(token));
throw new RuntimeException(e.getMessage());
}
// 不需要添加请求头的接口
String[] url = new String[]{"/api/user/selectInfo", "/api/user/save/curCompany"};
System.out.println((Arrays.asList(url).toString()));
System.out.println(request.getRequestURI());
// 获取请求路径
if (Arrays.asList(url).contains(request.getRequestURI())) {
// 暂无需要
} else {
if (redisUtils.hasKey(key)) {
map.put("org", redisUtils.get(key).toString());
GlobalCache.paramMap.put(token, JSON.toJSONString(map));
} else {
saveUserRedis(userModel, token);
}
}
if (!redisUtils.hasKey(buildKey(token))) {
saveUserRedis(userModel, token);
}
}
}
System.out.println(redisUtils.get(buildKey(token)));
}
public void saveUserRedis(AgencyUserModel user, String token) {
......@@ -129,21 +117,23 @@ public class ControllerAop {
reginParams.setCompany(company);
reginParams.setRole(role);
reginParams.setDepartment(department);
redisUtils.set(buildKey(user.getUserId(), token), JSONObject.toJSONString(reginParams), redisRegionTimeSecond);
reginParams.setUserModel(user);
redisUtils.set(buildKey(token), JSONObject.toJSONString(reginParams), redisRegionTimeSecond);
}
public String buildKey(String userId, String token) {
return "region_" + userId + "_" + token;
public String buildKey(String token) {
//由于用户id 不是接口携带参数,为了避免,公共字段填充时频繁访问平台,缓存用户信息时,
//return "region_" + userId + "_" + token;
return "region_"+ token;
}
@AfterReturning(returning = "ret", pointcut = "userCache()")
public void doAfterReturning(Object ret) throws Throwable {
ServletRequestAttributes attributes = (ServletRequestAttributes) RequestContextHolder.getRequestAttributes();
HttpServletRequest request = attributes.getRequest();
String token = request.getHeader("token");
if (token != null) {
GlobalCache.paramMap.remove(token);
}
//统一redis管理
// ServletRequestAttributes attributes = (ServletRequestAttributes) RequestContextHolder.getRequestAttributes();
// HttpServletRequest request = attributes.getRequest();
// String token = request.getHeader("token");
// if (token != null) {
// GlobalCache.paramMap.remove(token);
// }
}
}
......@@ -9,11 +9,14 @@ import com.yeejoin.amos.boot.biz.common.controller.BaseController;
import com.yeejoin.amos.boot.module.jcs.api.service.IFirefightersContractService;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.baomidou.mybatisplus.core.conditions.update.UpdateWrapper;
import org.springframework.beans.factory.annotation.Autowired;
import javax.servlet.http.HttpServletRequest;
import com.baomidou.mybatisplus.core.metadata.IPage;
import org.springframework.web.bind.annotation.*;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.yeejoin.amos.boot.module.jcs.api.entity.FirefightersContacts;
import com.yeejoin.amos.boot.module.jcs.api.entity.FirefightersContract;
import com.yeejoin.amos.boot.module.jcs.api.entity.FirefightersThought;
import com.yeejoin.amos.boot.biz.common.utils.CommonResponseUtil;
......@@ -63,7 +66,8 @@ public class FirefightersContractController extends BaseController {
@RequestMapping(value = "/{id}", method = RequestMethod.DELETE)
@ApiOperation(httpMethod = "DELETE", value = "根据id删除", notes = "根据id删除")
public ResponseModel deleteById(HttpServletRequest request, @PathVariable Long id){
boolean flag= iFirefightersContractService.removeById(id);
iFirefightersContractService.update(new UpdateWrapper<FirefightersContract>().eq("sequence_nbr", id).set("is_delete", 1));
return CommonResponseUtil.success();
}
......
......@@ -12,6 +12,8 @@ import com.yeejoin.amos.boot.module.jcs.api.service.IFirefightersWorkexperienceS
import com.yeejoin.amos.boot.module.jcs.api.vo.FirefightersData;
import com.baomidou.mybatisplus.core.conditions.Wrapper;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.baomidou.mybatisplus.core.conditions.update.UpdateWrapper;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.transaction.annotation.Transactional;
......@@ -20,8 +22,12 @@ import com.baomidou.mybatisplus.core.metadata.IPage;
import org.springframework.web.bind.annotation.*;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.yeejoin.amos.boot.module.jcs.api.entity.FirefightersContacts;
import com.yeejoin.amos.boot.module.jcs.api.entity.FirefightersContract;
import com.yeejoin.amos.boot.module.jcs.api.entity.FirefightersEducation;
import com.yeejoin.amos.boot.module.jcs.api.entity.FirefightersJacket;
import com.yeejoin.amos.boot.module.jcs.api.entity.FirefightersPost;
import com.yeejoin.amos.boot.module.jcs.api.entity.FirefightersThought;
import com.yeejoin.amos.boot.module.jcs.api.entity.FirefightersWorkexperience;
import com.yeejoin.amos.boot.biz.common.utils.CommonResponseUtil;
import com.yeejoin.amos.boot.biz.common.utils.NameUtils;
import org.typroject.tyboot.core.restful.doc.TycloudOperation;
......@@ -72,9 +78,12 @@ public class FirefightersPostController extends BaseController {
*/
@TycloudOperation(needAuth = true, ApiLevel = UserType.AGENCY)
@RequestMapping(value = "/{id}", method = RequestMethod.DELETE)
@ApiOperation(httpMethod = "DELETE", value = "根据id删除", notes = "根据 id删除")
public boolean deleteById(HttpServletRequest request, @PathVariable Long id){
return iFirefightersPostService.removeById(id);
@ApiOperation(httpMethod = "DELETE", value = "根据消防人员id删除岗位和学历信息", notes = "根据 id删除")
public ResponseModel deleteById(HttpServletRequest request, @PathVariable Long id){
iFirefightersPostService.update(new UpdateWrapper<FirefightersPost>().eq("firefighters_id", id).set("is_delete", 1));
ifirefightersWorkexperienceService.update(new UpdateWrapper<FirefightersWorkexperience>().eq("firefighters_id", id).set("is_delete", 1));
ifirefightersEducationService.update(new UpdateWrapper<FirefightersEducation>().eq("firefighters_id", id).set("is_delete", 1));
return CommonResponseUtil.success();
}
......
......@@ -9,11 +9,14 @@ import com.yeejoin.amos.boot.biz.common.controller.BaseController;
import com.yeejoin.amos.boot.module.jcs.api.service.IFirefightersThoughtService;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.baomidou.mybatisplus.core.conditions.update.UpdateWrapper;
import org.springframework.beans.factory.annotation.Autowired;
import javax.servlet.http.HttpServletRequest;
import com.baomidou.mybatisplus.core.metadata.IPage;
import org.springframework.web.bind.annotation.*;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.yeejoin.amos.boot.module.jcs.api.entity.FirefightersContract;
import com.yeejoin.amos.boot.module.jcs.api.entity.FirefightersThought;
import com.yeejoin.amos.boot.biz.common.utils.CommonResponseUtil;
import com.yeejoin.amos.boot.biz.common.utils.NameUtils;
......@@ -59,8 +62,8 @@ public class FirefightersThoughtController extends BaseController {
@RequestMapping(value = "/{id}", method = RequestMethod.DELETE)
@ApiOperation(httpMethod = "DELETE", value = "根据id删除", notes = "根据id删除")
public ResponseModel deleteById(HttpServletRequest request, @PathVariable Long id){
boolean flag= iFirefightersThoughtService.removeById(id);
return CommonResponseUtil.success();
iFirefightersThoughtService.update(new UpdateWrapper<FirefightersThought>().eq("sequence_nbr", id).set("is_delete", 1));
return CommonResponseUtil.success();
}
......
......@@ -303,7 +303,7 @@ public class RemoteSecurityService {
agencyUser = agencyUserClient.getme();
userModel = agencyUser.getResult();
} catch (InnerInvokException e) {
e.printStackTrace();
throw new RuntimeException(e.getMessage());
}
return userModel;
}
......
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