项目可见性问题

master
xxssyyyyssxx 2021-11-18 17:39:31 +08:00
parent 6cf064982b
commit 72f3bd5157
3 changed files with 43 additions and 1 deletions

View File

@ -0,0 +1,29 @@
package cn.palmte.work.model;
import lombok.Data;
import javax.persistence.*;
/**
*
*/
@Data
@Entity
@Table(name = "project_visiable")
public class ProjectVisiable {
@Id
@GeneratedValue(strategy = GenerationType.IDENTITY)
private int id;
@Column(name = "project_id")
private int projectId;
/**
* 12
*/
private String type;
private int tid;
}

View File

@ -0,0 +1,7 @@
package cn.palmte.work.model;
import org.springframework.data.jpa.repository.JpaRepository;
public interface ProjectVisiableRepository extends JpaRepository<ProjectVisiable, Integer> {
}

View File

@ -2,6 +2,7 @@ package cn.palmte.work.service;
import cn.palmte.work.bean.*;
import cn.palmte.work.model.*;
import cn.palmte.work.utils.InterfaceUtil;
import com.alibaba.fastjson.JSON;
import com.alibaba.fastjson.JSONObject;
import org.springframework.beans.factory.annotation.Autowired;
@ -91,13 +92,18 @@ public class ProjectService {
queryHelper.addCondition("p.last_update_time<=?", time);
}
//项目可见性根据角色和人员id
Admin admin = InterfaceUtil.getAdmin();
int roleId = admin.getRoleId();
Integer adminId = admin.getId();
queryHelper.addCondition("p.id in (SELECT pv.project_id FROM project_visiable pv WHERE pv.type=1 AND pv.tid=? UNION SELECT pv.project_id FROM project_visiable pv WHERE pv.type=2 AND pv.tid=?)", roleId, adminId);
return queryHelper;
}
public Page<Project> list(Map<String, String> searchInfo, int pageNumber, int pageSize){
QueryHelper queryHelper = getQueryHelper(searchInfo);
//TODO 增加权限过滤
return pagination.paginate(queryHelper.getSql(), Project.class,pageNumber,pageSize);
}