提交 2f2eb432 作者: obcy

modify

上级 a25d5ae9
package com.zzsn.knowbase.config.interceptor; package com.zzsn.knowbase.config.interceptor;
import cn.hutool.core.date.DateUtil; import cn.hutool.core.date.DateUtil;
import cn.hutool.json.JSONUtil;
import com.alibaba.fastjson.JSON; import com.alibaba.fastjson.JSON;
import com.zzsn.knowbase.constant.Constants;
import com.zzsn.knowbase.service.KbAuthorizedUserService; import com.zzsn.knowbase.service.KbAuthorizedUserService;
import com.zzsn.knowbase.util.SpringContextUtils; import com.zzsn.knowbase.util.SpringContextUtils;
import com.zzsn.knowbase.vo.Result; import com.zzsn.knowbase.vo.Result;
...@@ -26,18 +28,19 @@ import java.util.Map; ...@@ -26,18 +28,19 @@ import java.util.Map;
public class KnowInterceptor implements HandlerInterceptor { public class KnowInterceptor implements HandlerInterceptor {
@Override @Override
public boolean preHandle(HttpServletRequest request, HttpServletResponse response, Object handler) throws Exception { public boolean preHandle(HttpServletRequest request, HttpServletResponse response, Object handler) throws Exception {
// // 在请求处理之前进行调用(Controller方法调用之前) // 在请求处理之前进行调用(Controller方法调用之前)
// // 返回true才会继续执行后续的Interceptor和Controller // 返回true才会继续执行后续的Interceptor和Controller
// // 返回false则取消当前请求 // 返回false则取消当前请求
// String token = request.getHeader("X-Access-Token"); String token = request.getHeader("X-Access-Token");
//
// KbAuthorizedUserService userService = SpringContextUtils.getBean(KbAuthorizedUserService.class); KbAuthorizedUserService userService = SpringContextUtils.getBean(KbAuthorizedUserService.class);
// Result<?> result = userService.doCheck(token); Result<?> result = userService.doCheckAndGetUser(token);
// /**第三方用户验证未通过,直接拦截请求并返回提示*/ /**第三方用户验证未通过,直接拦截请求并返回提示*/
// if (!result.isSuccess()){ if (!result.isSuccess()){
// doRes(request,response); doRes(request,response);
// return false; return false;
// } }
request.setAttribute(Constants.USER_INFO, JSONUtil.toJsonStr(result.getResult()));
return true; return true;
} }
......
...@@ -168,6 +168,7 @@ public class Constants { ...@@ -168,6 +168,7 @@ public class Constants {
* 政策法规信息同步最大id * 政策法规信息同步最大id
*/ */
public final static String POLICY_INFO_SYN = "POLICY_INFO_MAX_ID"; public final static String POLICY_INFO_SYN = "POLICY_INFO_MAX_ID";
public final static String USER_INFO = "userInfo";
/* /*
......
...@@ -8,6 +8,7 @@ import org.springframework.beans.factory.annotation.Autowired; ...@@ -8,6 +8,7 @@ import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.*; import org.springframework.web.bind.annotation.*;
import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletRequest;
import java.util.List;
/** /**
* <p> * <p>
...@@ -31,10 +32,16 @@ public class KbAuthorizedUserController { ...@@ -31,10 +32,16 @@ public class KbAuthorizedUserController {
return Result.OK(authorizedUserService.getById(id)); return Result.OK(authorizedUserService.getById(id));
} }
@PostMapping("/addOne")
public Result<?> addOne(@RequestBody KbAuthorizedUser authorizedUser){
return authorizedUserService.addOne(authorizedUser);
}
@PostMapping("/add") @PostMapping("/add")
public Result<?> add(@RequestBody KbAuthorizedUser authorizedUser){ public Result<?> add(@RequestBody List<KbAuthorizedUser> authorizedUser){
return authorizedUserService.add(authorizedUser); return authorizedUserService.add(authorizedUser);
} }
/** /**
* 编辑授权用户 * 编辑授权用户
* */ * */
...@@ -74,9 +81,13 @@ public class KbAuthorizedUserController { ...@@ -74,9 +81,13 @@ public class KbAuthorizedUserController {
} }
/**校验用户是否可用,并查询用户信息*/ /**校验用户是否可用,并查询用户信息*/
@GetMapping("/thirdpartyUsers") @GetMapping("/thirdpartyUsers")
public Result<?> thirdpartyUsers(HttpServletRequest httpServletRequest){ public Result<?> thirdpartyUsers(HttpServletRequest httpServletRequest,
@RequestParam(name="name",required = false) String name,
@RequestParam(name="username",required = false) String username,
@RequestParam(name="pageNum",defaultValue = "1") Integer pageNum,
@RequestParam(name="PageSize",defaultValue = "10") Integer PageSize){
String token = httpServletRequest.getHeader("X-Access-Token"); String token = httpServletRequest.getHeader("X-Access-Token");
return authorizedUserService.thirdpartyUsers(token); return authorizedUserService.thirdpartyUsers(token,name,username,pageNum,PageSize);
} }
......
...@@ -9,6 +9,8 @@ import org.apache.commons.lang3.StringUtils; ...@@ -9,6 +9,8 @@ import org.apache.commons.lang3.StringUtils;
import org.springframework.beans.factory.annotation.Autowired; import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.*; import org.springframework.web.bind.annotation.*;
import javax.servlet.http.HttpServletRequest;
/** /**
* <p> * <p>
* 前端控制器 * 前端控制器
...@@ -55,14 +57,15 @@ public class KbKnowledgeProjectController { ...@@ -55,14 +57,15 @@ public class KbKnowledgeProjectController {
public Result<?> list( public Result<?> list(
@RequestParam(name="sign",defaultValue = "1") String sign, @RequestParam(name="sign",defaultValue = "1") String sign,
@RequestParam(name="category",required = false) String category, @RequestParam(name="category",required = false) String category,
@RequestParam(name="projectId",required = false) String projectId @RequestParam(name="projectId",required = false) String projectId,
HttpServletRequest httpServletRequest
){ ){
if (!"1".equals(sign)){ if (!"1".equals(sign)){
if (StringUtils.isBlank(projectId)){ if (StringUtils.isBlank(projectId)){
return Result.error("查询非顶级节点列表时需要projectId参数"); return Result.error("查询非顶级节点列表时需要projectId参数");
} }
} }
return knowledgeProjectService.lists(sign,projectId,category); return knowledgeProjectService.lists(sign,projectId,category,httpServletRequest);
} }
......
...@@ -26,7 +26,7 @@ public class KbAuthorizedUser extends Model<KbAuthorizedUser> { ...@@ -26,7 +26,7 @@ public class KbAuthorizedUser extends Model<KbAuthorizedUser> {
private static final long serialVersionUID = 1L; private static final long serialVersionUID = 1L;
@TableId(value = "id", type = IdType.ASSIGN_ID) @TableId(value = "id", type = IdType.ASSIGN_ID)
private Long id; private String id;
/** /**
* 用户名 * 用户名
......
...@@ -26,7 +26,7 @@ public class KbKnowledgeProject extends Model<KbKnowledgeProject> { ...@@ -26,7 +26,7 @@ public class KbKnowledgeProject extends Model<KbKnowledgeProject> {
private static final long serialVersionUID = 1L; private static final long serialVersionUID = 1L;
@TableId(value = "id", type = IdType.ASSIGN_ID) @TableId(value = "id", type = IdType.ASSIGN_ID)
private Long id; private String id;
/** /**
* 知识库分类名称 * 知识库分类名称
...@@ -50,7 +50,7 @@ public class KbKnowledgeProject extends Model<KbKnowledgeProject> { ...@@ -50,7 +50,7 @@ public class KbKnowledgeProject extends Model<KbKnowledgeProject> {
* 分类 * 分类
*/ */
@TableField("category") @TableField("category")
private Integer category; private String category;
/** /**
* 状态0启用,1禁用 * 状态0启用,1禁用
......
...@@ -24,7 +24,7 @@ public class KbKnowledgeProjectType extends Model<KbKnowledgeProjectType> { ...@@ -24,7 +24,7 @@ public class KbKnowledgeProjectType extends Model<KbKnowledgeProjectType> {
private static final long serialVersionUID = 1L; private static final long serialVersionUID = 1L;
@TableId(value = "id", type = IdType.ASSIGN_ID) @TableId(value = "id", type = IdType.ASSIGN_ID)
private Long id; private String id;
/** /**
* 知识库分类名称 * 知识库分类名称
......
...@@ -24,7 +24,7 @@ public class KbKnowledges extends Model<KbKnowledges> { ...@@ -24,7 +24,7 @@ public class KbKnowledges extends Model<KbKnowledges> {
private static final long serialVersionUID = 1L; private static final long serialVersionUID = 1L;
@TableId(value = "id", type = IdType.ASSIGN_ID) @TableId(value = "id", type = IdType.ASSIGN_ID)
private Long id; private String id;
/** /**
* 知识库分类名称 * 知识库分类名称
......
package com.zzsn.knowbase.entity; package com.zzsn.knowbase.entity;
import com.baomidou.mybatisplus.annotation.TableName;
import com.baomidou.mybatisplus.annotation.IdType; import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.extension.activerecord.Model;
import java.util.Date;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableField; import com.baomidou.mybatisplus.annotation.TableField;
import java.io.Serializable; import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import com.baomidou.mybatisplus.extension.activerecord.Model;
import lombok.Data; import lombok.Data;
import lombok.EqualsAndHashCode; import lombok.EqualsAndHashCode;
import java.util.Date;
/** /**
* <p> * <p>
* *
...@@ -26,7 +26,7 @@ public class KbPermissions extends Model<KbPermissions> { ...@@ -26,7 +26,7 @@ public class KbPermissions extends Model<KbPermissions> {
private static final long serialVersionUID = 1L; private static final long serialVersionUID = 1L;
@TableId(value = "id", type = IdType.ASSIGN_ID) @TableId(value = "id", type = IdType.ASSIGN_ID)
private Long id; private String id;
/** /**
* 权限名称 * 权限名称
......
...@@ -26,7 +26,7 @@ public class KbRole extends Model<KbRole> { ...@@ -26,7 +26,7 @@ public class KbRole extends Model<KbRole> {
private static final long serialVersionUID = 1L; private static final long serialVersionUID = 1L;
@TableId(value = "id", type = IdType.ASSIGN_ID) @TableId(value = "id", type = IdType.ASSIGN_ID)
private Long id; private String id;
/** /**
* 角色名称 * 角色名称
......
...@@ -3,6 +3,9 @@ package com.zzsn.knowbase.mapper; ...@@ -3,6 +3,9 @@ package com.zzsn.knowbase.mapper;
import com.baomidou.mybatisplus.core.mapper.BaseMapper; import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.zzsn.knowbase.entity.KbKnowledgeProject; import com.zzsn.knowbase.entity.KbKnowledgeProject;
import org.apache.ibatis.annotations.Mapper; import org.apache.ibatis.annotations.Mapper;
import org.apache.ibatis.annotations.Select;
import java.util.List;
/** /**
* <p> * <p>
...@@ -15,4 +18,6 @@ import org.apache.ibatis.annotations.Mapper; ...@@ -15,4 +18,6 @@ import org.apache.ibatis.annotations.Mapper;
@Mapper @Mapper
public interface KbKnowledgeProjectMapper extends BaseMapper<KbKnowledgeProject> { public interface KbKnowledgeProjectMapper extends BaseMapper<KbKnowledgeProject> {
@Select("")
List<KbKnowledgeProject> getListByUser();
} }
...@@ -4,6 +4,8 @@ import com.baomidou.mybatisplus.extension.service.IService; ...@@ -4,6 +4,8 @@ import com.baomidou.mybatisplus.extension.service.IService;
import com.zzsn.knowbase.entity.KbAuthorizedUser; import com.zzsn.knowbase.entity.KbAuthorizedUser;
import com.zzsn.knowbase.vo.Result; import com.zzsn.knowbase.vo.Result;
import java.util.List;
/** /**
* <p> * <p>
* 服务类 * 服务类
...@@ -14,7 +16,7 @@ import com.zzsn.knowbase.vo.Result; ...@@ -14,7 +16,7 @@ import com.zzsn.knowbase.vo.Result;
*/ */
public interface KbAuthorizedUserService extends IService<KbAuthorizedUser> { public interface KbAuthorizedUserService extends IService<KbAuthorizedUser> {
Result<?> add(KbAuthorizedUser authorizedUser); Result<?> addOne(KbAuthorizedUser authorizedUser);
Result<?> edit(KbAuthorizedUser authorizedUser); Result<?> edit(KbAuthorizedUser authorizedUser);
...@@ -22,7 +24,10 @@ public interface KbAuthorizedUserService extends IService<KbAuthorizedUser> { ...@@ -22,7 +24,10 @@ public interface KbAuthorizedUserService extends IService<KbAuthorizedUser> {
Result<?> userPermission(String token); Result<?> userPermission(String token);
Result<?> thirdpartyUsers(String token); Result<?> thirdpartyUsers(String token, String name, String username, Integer pageNum, Integer pageSize);
Result<?> doCheck(String token); Result<?> doCheck(String token);
Result<?> doCheckAndGetUser(String token);
Result<?> add(List<KbAuthorizedUser> authorizedUser);
} }
...@@ -4,6 +4,8 @@ import com.baomidou.mybatisplus.extension.service.IService; ...@@ -4,6 +4,8 @@ import com.baomidou.mybatisplus.extension.service.IService;
import com.zzsn.knowbase.entity.KbKnowledgeProject; import com.zzsn.knowbase.entity.KbKnowledgeProject;
import com.zzsn.knowbase.vo.Result; import com.zzsn.knowbase.vo.Result;
import javax.servlet.http.HttpServletRequest;
/** /**
* <p> * <p>
* 服务类 * 服务类
...@@ -27,5 +29,5 @@ public interface KbKnowledgeProjectService extends IService<KbKnowledgeProject> ...@@ -27,5 +29,5 @@ public interface KbKnowledgeProjectService extends IService<KbKnowledgeProject>
Result<?> del(String id); Result<?> del(String id);
Result<?> lists(String sign, String projectId, String category); Result<?> lists(String sign, String projectId, String category, HttpServletRequest httpServletRequest);
} }
...@@ -47,6 +47,8 @@ public class KbAuthorizedUserServiceImpl extends ServiceImpl<KbAuthorizedUserMap ...@@ -47,6 +47,8 @@ public class KbAuthorizedUserServiceImpl extends ServiceImpl<KbAuthorizedUserMap
KbPermissionsService permissionsService; KbPermissionsService permissionsService;
@Autowired @Autowired
KbRolePermissionMapService rolePermissionMapService; KbRolePermissionMapService rolePermissionMapService;
@Autowired
KbAuthuserKnowledgeprojectMapService authuserKnowledgeprojectMapService;
/** /**
* 校验第三方用户接口地址 * 校验第三方用户接口地址
...@@ -62,7 +64,7 @@ public class KbAuthorizedUserServiceImpl extends ServiceImpl<KbAuthorizedUserMap ...@@ -62,7 +64,7 @@ public class KbAuthorizedUserServiceImpl extends ServiceImpl<KbAuthorizedUserMap
@Override @Override
@Transactional @Transactional
public Result<?> add(KbAuthorizedUser authorizedUser) { public Result<?> addOne(KbAuthorizedUser authorizedUser) {
/**保存授权用户*/ /**保存授权用户*/
authorizedUser.setStatus("0"); authorizedUser.setStatus("0");
authorizedUser.setCreateTime(new Date()); authorizedUser.setCreateTime(new Date());
...@@ -75,16 +77,71 @@ public class KbAuthorizedUserServiceImpl extends ServiceImpl<KbAuthorizedUserMap ...@@ -75,16 +77,71 @@ public class KbAuthorizedUserServiceImpl extends ServiceImpl<KbAuthorizedUserMap
List<KbUserRoleMap> maps = new ArrayList<>(); List<KbUserRoleMap> maps = new ArrayList<>();
list.forEach(e->{ list.forEach(e->{
KbUserRoleMap kbUserRoleMap = new KbUserRoleMap(); KbUserRoleMap kbUserRoleMap = new KbUserRoleMap();
kbUserRoleMap.setUserId(authorizedUser.getId()); kbUserRoleMap.setUserId(Long.parseLong(authorizedUser.getId()));
kbUserRoleMap.setRoleId(Long.parseLong(e)); kbUserRoleMap.setRoleId(Long.parseLong(e));
maps.add(kbUserRoleMap); maps.add(kbUserRoleMap);
}); });
kbUserRoleMapService.saveBatch(maps); kbUserRoleMapService.saveBatch(maps);
} }
/**插入用户知识库权限关系表*/
if (StringUtils.isNotBlank(authorizedUser.getKnowledgeProjectId())){
KbAuthuserKnowledgeprojectMap kbAuthuserKnowledgeprojectMap = new KbAuthuserKnowledgeprojectMap();
kbAuthuserKnowledgeprojectMap.setAuthUserId(Long.parseLong(authorizedUser.getId()));
kbAuthuserKnowledgeprojectMap.setKnowledgeProjectId(Long.parseLong(authorizedUser.getKnowledgeProjectId()));
authuserKnowledgeprojectMapService.save(kbAuthuserKnowledgeprojectMap);
}
return Result.OK(); return Result.OK();
} }
@Override @Override
public Result<?> add(List<KbAuthorizedUser> authorizedUsers) {
if (CollectionUtil.isEmpty(authorizedUsers)){
return Result.error("请选择要授权的用户");
}
authorizedUsers.forEach(e-> {
/**保存授权用户*/
e.setStatus("0");
e.setCreateTime(new Date());
});
super.saveBatch(authorizedUsers);
List<KbUserRoleMap> maps = new ArrayList<>();
List<KbAuthuserKnowledgeprojectMap> userknows = new ArrayList<>();
authorizedUsers.forEach(authorizedUser->{
/**插入用户角色关系表*/
if (StringUtils.isNotBlank(authorizedUser.getRoleId())){
String roleId = authorizedUser.getRoleId();
List<String> list = Arrays.asList(roleId.split(","));
list.forEach(e->{
KbUserRoleMap kbUserRoleMap = new KbUserRoleMap();
kbUserRoleMap.setUserId(Long.parseLong(authorizedUser.getId()));
kbUserRoleMap.setRoleId(Long.parseLong(e));
maps.add(kbUserRoleMap);
});
}
/**插入用户知识库权限关系表*/
if (StringUtils.isNotBlank(authorizedUser.getKnowledgeProjectId())){
KbAuthuserKnowledgeprojectMap kbAuthuserKnowledgeprojectMap = new KbAuthuserKnowledgeprojectMap();
kbAuthuserKnowledgeprojectMap.setAuthUserId(Long.parseLong(authorizedUser.getId()));
kbAuthuserKnowledgeprojectMap.setKnowledgeProjectId(Long.parseLong(authorizedUser.getKnowledgeProjectId()));
userknows.add(kbAuthuserKnowledgeprojectMap);
}
});
kbUserRoleMapService.saveBatch(maps);
authuserKnowledgeprojectMapService.saveBatch(userknows);
return Result.OK();
}
@Override
@Transactional @Transactional
public Result<?> edit(KbAuthorizedUser authorizedUser) { public Result<?> edit(KbAuthorizedUser authorizedUser) {
String newRole = authorizedUser.getRoleId(); String newRole = authorizedUser.getRoleId();
...@@ -99,7 +156,7 @@ public class KbAuthorizedUserServiceImpl extends ServiceImpl<KbAuthorizedUserMap ...@@ -99,7 +156,7 @@ public class KbAuthorizedUserServiceImpl extends ServiceImpl<KbAuthorizedUserMap
List<KbUserRoleMap> maps = new ArrayList<>(); List<KbUserRoleMap> maps = new ArrayList<>();
list.forEach(e->{ list.forEach(e->{
KbUserRoleMap kbUserRoleMap = new KbUserRoleMap(); KbUserRoleMap kbUserRoleMap = new KbUserRoleMap();
kbUserRoleMap.setUserId(authorizedUser.getId()); kbUserRoleMap.setUserId(Long.parseLong(authorizedUser.getId()));
kbUserRoleMap.setRoleId(Long.parseLong(e)); kbUserRoleMap.setRoleId(Long.parseLong(e));
maps.add(kbUserRoleMap); maps.add(kbUserRoleMap);
}); });
...@@ -161,8 +218,6 @@ public class KbAuthorizedUserServiceImpl extends ServiceImpl<KbAuthorizedUserMap ...@@ -161,8 +218,6 @@ public class KbAuthorizedUserServiceImpl extends ServiceImpl<KbAuthorizedUserMap
} }
userInfoVo.setRoles(kbRoles); userInfoVo.setRoles(kbRoles);
userInfoVo.setAuthorizedUser(one); userInfoVo.setAuthorizedUser(one);
return Result.OK(userInfoVo); return Result.OK(userInfoVo);
}else { }else {
return Result.error("第三方系统未通过用户校验"); return Result.error("第三方系统未通过用户校验");
...@@ -170,11 +225,24 @@ public class KbAuthorizedUserServiceImpl extends ServiceImpl<KbAuthorizedUserMap ...@@ -170,11 +225,24 @@ public class KbAuthorizedUserServiceImpl extends ServiceImpl<KbAuthorizedUserMap
} }
@Override @Override
public Result<?> thirdpartyUsers(String token) { public Result<?> thirdpartyUsers(String token, String name, String username, Integer pageNum, Integer pageSize) {
String body = HttpRequest.get(getusersurl).header("X-Access-Token", token).execute().body(); String body = HttpRequest.get(getusersurl).header("X-Access-Token", token)
.form("pageNum",pageNum)
.form("pageSize",pageSize)
.form("name",name)
.form("username",username)
.execute().body();
Result bean = JSONUtil.toBean(body, Result.class); Result bean = JSONUtil.toBean(body, Result.class);
List<KbAuthorizedUser> list = JSONUtil.toList(JSONUtil.parseArray(JSONUtil.toJsonStr(bean.getResult())), KbAuthorizedUser.class);
return Result.OK(list); Page page = JSONUtil.toBean(JSONUtil.toJsonStr(bean.getResult()), Page.class);
List<KbAuthorizedUser> list = JSONUtil.toList(JSONUtil.parseArray(JSONUtil.toJsonStr(page.getRecords())), KbAuthorizedUser.class);
Page<KbAuthorizedUser> result = new Page<>();
result.setTotal(page.getTotal());
result.setCurrent(page.getCurrent());
result.setSize(page.getSize());
result.setRecords(list);
return Result.OK(result);
} }
...@@ -184,4 +252,28 @@ public class KbAuthorizedUserServiceImpl extends ServiceImpl<KbAuthorizedUserMap ...@@ -184,4 +252,28 @@ public class KbAuthorizedUserServiceImpl extends ServiceImpl<KbAuthorizedUserMap
Result bean = JSONUtil.toBean(body, Result.class); Result bean = JSONUtil.toBean(body, Result.class);
return bean; return bean;
} }
@Override
public Result<?> doCheckAndGetUser(String token) {
/**调用第三方系统校验接口*/
Result res = doCheck(token);
boolean success = res.isSuccess();
if(200 == res.getCode() && success) {
/**校验成功,获取到第三方用户信息*/
KbAuthorizedUser bean = JSONUtil.toBean(JSONUtil.toJsonStr(res.getResult()), KbAuthorizedUser.class);
/**校验第三方用户是否进行了授权*/
List<KbAuthorizedUser> list = super.list(Wrappers.<KbAuthorizedUser>lambdaQuery().eq(KbAuthorizedUser::getUserId, bean.getUserId()));
if (CollectionUtil.isEmpty(list)) {
return Result.error("该用户还未进行授权访问,请联系管理员进行授权");
}
/**查询授权用户*/
QueryWrapper<KbAuthorizedUser> query = new QueryWrapper<>();
query.eq("a.user_id",bean.getUserId());
KbAuthorizedUser one = authorizedUserMapper.getOne(query);
return Result.OK(one);
}else {
return Result.error("第三方系统未通过用户校验");
}
}
} }
...@@ -3,17 +3,24 @@ package com.zzsn.knowbase.service.impl; ...@@ -3,17 +3,24 @@ package com.zzsn.knowbase.service.impl;
import cn.hutool.core.collection.CollectionUtil; import cn.hutool.core.collection.CollectionUtil;
import cn.hutool.core.util.StrUtil; import cn.hutool.core.util.StrUtil;
import cn.hutool.json.JSONUtil;
import com.alibaba.fastjson.JSON;
import com.baomidou.mybatisplus.core.toolkit.Wrappers; import com.baomidou.mybatisplus.core.toolkit.Wrappers;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import com.zzsn.knowbase.entity.KbKnowledgeProject; import com.zzsn.knowbase.entity.KbKnowledgeProject;
import com.zzsn.knowbase.mapper.KbKnowledgeProjectMapper; import com.zzsn.knowbase.mapper.KbKnowledgeProjectMapper;
import com.zzsn.knowbase.service.KbAuthorizedUserService;
import com.zzsn.knowbase.service.KbAuthuserKnowledgeprojectMapService;
import com.zzsn.knowbase.service.KbKnowledgeProjectService; import com.zzsn.knowbase.service.KbKnowledgeProjectService;
import com.zzsn.knowbase.vo.Result; import com.zzsn.knowbase.vo.Result;
import com.zzsn.knowbase.vo.UserInfoVo;
import org.apache.commons.lang3.ObjectUtils; import org.apache.commons.lang3.ObjectUtils;
import org.apache.commons.lang3.StringUtils; import org.apache.commons.lang3.StringUtils;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service; import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional; import org.springframework.transaction.annotation.Transactional;
import javax.servlet.http.HttpServletRequest;
import java.util.Date; import java.util.Date;
import java.util.List; import java.util.List;
...@@ -28,6 +35,12 @@ import java.util.List; ...@@ -28,6 +35,12 @@ import java.util.List;
@Service @Service
public class KbKnowledgeProjectServiceImpl extends ServiceImpl<KbKnowledgeProjectMapper, KbKnowledgeProject> implements KbKnowledgeProjectService { public class KbKnowledgeProjectServiceImpl extends ServiceImpl<KbKnowledgeProjectMapper, KbKnowledgeProject> implements KbKnowledgeProjectService {
@Autowired
KbAuthorizedUserService kbAuthorizedUserService;
@Autowired
KbKnowledgeProjectMapper kbKnowledgeProjectMapper;
@Autowired
KbAuthuserKnowledgeprojectMapService authuserKnowledgeprojectMapService;
@Override @Override
@Transactional @Transactional
public Result<?> add(KbKnowledgeProject knowledgeProject) { public Result<?> add(KbKnowledgeProject knowledgeProject) {
...@@ -106,6 +119,7 @@ public class KbKnowledgeProjectServiceImpl extends ServiceImpl<KbKnowledgeProjec ...@@ -106,6 +119,7 @@ public class KbKnowledgeProjectServiceImpl extends ServiceImpl<KbKnowledgeProjec
} }
super.updateBatchById(list); super.updateBatchById(list);
} }
super.updateById(knowledgeProject);
return Result.OK(); return Result.OK();
} }
...@@ -121,7 +135,18 @@ public class KbKnowledgeProjectServiceImpl extends ServiceImpl<KbKnowledgeProjec ...@@ -121,7 +135,18 @@ public class KbKnowledgeProjectServiceImpl extends ServiceImpl<KbKnowledgeProjec
} }
@Override @Override
public Result<?> lists(String sign, String projectId, String category) { public Result<?> lists(String sign, String projectId, String category, HttpServletRequest request) {
String token = request.getHeader("X-Access-Token");
Result<?> result = kbAuthorizedUserService.userPermission(token);
UserInfoVo bean = JSONUtil.toBean(JSON.toJSONString(result.getResult()), UserInfoVo.class);
//这个用户所拥有的所有的分类的权限
// List<KbAuthuserKnowledgeprojectMap> list = authuserKnowledgeprojectMapService.list(Wrappers.<KbAuthuserKnowledgeprojectMap>lambdaQuery().eq(KbAuthuserKnowledgeprojectMap::getAuthUserId, one.getId()));
List<KbKnowledgeProject> kbKnowledgeProjects ; List<KbKnowledgeProject> kbKnowledgeProjects ;
if ("1".equals(sign)&&StringUtils.isBlank(projectId)){ if ("1".equals(sign)&&StringUtils.isBlank(projectId)){
kbKnowledgeProjects = super.list(Wrappers.<KbKnowledgeProject>lambdaQuery() kbKnowledgeProjects = super.list(Wrappers.<KbKnowledgeProject>lambdaQuery()
...@@ -132,6 +157,7 @@ public class KbKnowledgeProjectServiceImpl extends ServiceImpl<KbKnowledgeProjec ...@@ -132,6 +157,7 @@ public class KbKnowledgeProjectServiceImpl extends ServiceImpl<KbKnowledgeProjec
.eq(KbKnowledgeProject::getPid,projectId) .eq(KbKnowledgeProject::getPid,projectId)
.eq(StrUtil.isNotBlank(category),KbKnowledgeProject::getCategory,category)); .eq(StrUtil.isNotBlank(category),KbKnowledgeProject::getCategory,category));
} }
return Result.OK(kbKnowledgeProjects); return Result.OK(kbKnowledgeProjects);
} }
......
package com.zzsn.knowbase.util; package com.zzsn.knowbase.util;
import cn.hutool.core.util.ObjectUtil; import cn.hutool.core.util.ObjectUtil;
import cn.hutool.json.JSONUtil;
import com.zzsn.knowbase.constant.Constants;
import com.zzsn.knowbase.entity.KbAuthorizedUser;
import lombok.extern.slf4j.Slf4j; import lombok.extern.slf4j.Slf4j;
import org.springframework.beans.BeansException; import org.springframework.beans.BeansException;
import org.springframework.beans.factory.support.BeanDefinitionBuilder; import org.springframework.beans.factory.support.BeanDefinitionBuilder;
...@@ -10,6 +13,11 @@ import org.springframework.context.ApplicationContext; ...@@ -10,6 +13,11 @@ import org.springframework.context.ApplicationContext;
import org.springframework.context.ApplicationContextAware; import org.springframework.context.ApplicationContextAware;
import org.springframework.context.ConfigurableApplicationContext; import org.springframework.context.ConfigurableApplicationContext;
import org.springframework.stereotype.Component; import org.springframework.stereotype.Component;
import org.springframework.web.context.request.RequestContextHolder;
import org.springframework.web.context.request.ServletRequestAttributes;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
/** /**
* @Description: spring容器取bean的工具类; * @Description: spring容器取bean的工具类;
...@@ -119,4 +127,21 @@ public class SpringContextUtils implements ApplicationContextAware { ...@@ -119,4 +127,21 @@ public class SpringContextUtils implements ApplicationContextAware {
log.error("删除beanName:{}失败!",beanName); log.error("删除beanName:{}失败!",beanName);
} }
} }
public static HttpServletRequest getHttpServletRequest (){
return ((ServletRequestAttributes) RequestContextHolder.getRequestAttributes()).getRequest();
}
public static HttpServletResponse getHttpServletResponse (){
return ((ServletRequestAttributes) RequestContextHolder.getRequestAttributes()).getResponse();
}
public static KbAuthorizedUser getUserInfo(){
HttpServletRequest request = ((ServletRequestAttributes) RequestContextHolder.getRequestAttributes()).getRequest();
if (ObjectUtil.isEmpty(request)){
return null;
}
return JSONUtil.toBean(request.getAttribute(Constants.USER_INFO).toString(), KbAuthorizedUser.class);
}
} }
Markdown 格式
0%
您添加了 0 到此讨论。请谨慎行事。
请先完成此评论的编辑!
注册 或者 后发表评论