From 1f5438499149dd10ea2a2b9a53c54d8229443474 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E9=BB=84=E6=B5=B7?= <10402852@qq.com> Date: Fri, 13 Sep 2024 15:21:23 +0800 Subject: [PATCH] 'commit' --- .../Controller/DataAuthorityController.java | 80 ++++++++++++++++++- .../Model/DataAuthorityModel.java | 68 ++++++++++++++++ 2 files changed, 146 insertions(+), 2 deletions(-) diff --git a/ds-base/src/main/java/com/dsideal/base/DataAuthority/Controller/DataAuthorityController.java b/ds-base/src/main/java/com/dsideal/base/DataAuthority/Controller/DataAuthorityController.java index 3c787a1a..4ca620d8 100644 --- a/ds-base/src/main/java/com/dsideal/base/DataAuthority/Controller/DataAuthorityController.java +++ b/ds-base/src/main/java/com/dsideal/base/DataAuthority/Controller/DataAuthorityController.java @@ -1,11 +1,18 @@ package com.dsideal.base.DataAuthority.Controller; import com.dsideal.base.DataAuthority.Model.DataAuthorityModel; -import com.dsideal.base.Interceptor.IsSysAdminInterface; +import com.dsideal.base.Interceptor.EmptyInterface; +import com.dsideal.base.Interceptor.IsLoginInterface; +import com.dsideal.base.Interceptor.IsNumericInterface; +import com.dsideal.base.Util.CommonUtil; import com.jfinal.aop.Before; import com.jfinal.core.Controller; +import com.jfinal.ext.interceptor.GET; import com.jfinal.ext.interceptor.POST; import com.jfinal.kit.Kv; +import com.jfinal.plugin.activerecord.Record; + +import java.util.List; @SuppressWarnings("unchecked") public class DataAuthorityController extends Controller { @@ -15,11 +22,80 @@ public class DataAuthorityController extends Controller { * 功能:同步数据权限的资源数据 */ @Before({POST.class}) - @IsSysAdminInterface({"1"})//只有超级管理员才能调用此接口 + @IsLoginInterface({}) public void syncResource() { Kv kv = dm.syncResource(); kv.set("success", true); kv.set("message", "共同步了" + kv.getInt("count") + "条数据,共" + kv.getInt("total") + "条数据"); renderJson(kv); } + + /** + * 功能:指定角色下有哪些人员 + * + * @param duties_id + * @return + */ + @Before({GET.class}) + @IsLoginInterface({}) + @IsNumericInterface({"duties_id"}) + public void getPersonListByRoleId(int duties_id) { + List list = dm.getPersonListByRoleId(duties_id); + renderJson(CommonUtil.renderJsonForLayUI(list)); + } + + /** + * 功能: 获取所有的资源类型 + */ + @Before({GET.class}) + @IsLoginInterface({}) + public void getResouceTypeList() { + List list = dm.getResouceTypeList(); + renderJson(CommonUtil.renderJsonForLayUI(list)); + } + + /** + * 功能:获取指定数据权限类型的数据权限 + * + * @param resource_type_code 资源类型编码 + */ + @Before({GET.class}) + @EmptyInterface({"resource_type_code"}) + public void getResourceListByTypeCode(String resource_type_code) { + List list = dm.getResourceListByTypeCode(resource_type_code); + renderJson(CommonUtil.renderJsonForLayUI(list)); + } + + /** + * 功能:保存人员+角色+数据权限 + * + * @param person_id 人员 + * @param duties_id 角色ID + * @param resource_type_code 资源类型编码 + * @param resource_ids 数据权限,以逗号分隔 + * @param resource_names 数据权限名称,以逗号分隔 + */ + @IsLoginInterface({}) + @EmptyInterface({"person_id", "resource_type_code", "duties_id", "resource_ids", "resource_names"}) + public void savePersonDutyResources(String person_id, String resource_type_code, int duties_id, String resource_ids, String resource_names) { + dm.savePersonDutyResources(person_id, resource_type_code, duties_id, resource_ids, resource_names); + Kv kv = Kv.by("success", true); + kv.set("message", "保存成功!"); + renderJson(kv); + } + + /** + * 功能:获取人员角色数据权限 + * + * @param person_id 人员 + * @param resource_type_code 资源类型编码 + * @param duties_id 角色ID + */ + @Before({GET.class}) + @EmptyInterface({"person_id", "duties_id"}) + @IsNumericInterface({"duties_id"}) + public void getPersonDutyResources(String person_id, String resource_type_code, int duties_id) { + List list = dm.getPersonDutyResources(person_id, resource_type_code, duties_id); + renderJson(CommonUtil.renderJsonForLayUI(list)); + } } \ No newline at end of file diff --git a/ds-base/src/main/java/com/dsideal/base/DataAuthority/Model/DataAuthorityModel.java b/ds-base/src/main/java/com/dsideal/base/DataAuthority/Model/DataAuthorityModel.java index 59b03ed3..03899a80 100644 --- a/ds-base/src/main/java/com/dsideal/base/DataAuthority/Model/DataAuthorityModel.java +++ b/ds-base/src/main/java/com/dsideal/base/DataAuthority/Model/DataAuthorityModel.java @@ -1,6 +1,7 @@ package com.dsideal.base.DataAuthority.Model; import com.jfinal.kit.Kv; +import com.jfinal.kit.StrKit; import com.jfinal.plugin.activerecord.Db; import com.jfinal.plugin.activerecord.Record; @@ -45,4 +46,71 @@ public class DataAuthorityModel { return Kv.by("total", total).set("count", count); } + /** + * 功能:指定角色下有哪些人员 + * + * @param duties_id + * @return + */ + public List getPersonListByRoleId(int duties_id) { + String sql = "select t2.person_id,t2.person_name from t_person_duty_charge as t1 inner join t_sys_loginperson as t2 on t1.person_id=t2.person_id where t1.duties_id=? and t1.b_use=1"; + return Db.find(sql, duties_id); + } + + /** + * 功能: 获取所有的数据权限类型 + */ + public List getResouceTypeList() { + return Db.findAll("t_sys_resource_type"); + } + + /** + * 功能:获取指定数据权限类型的数据权限 + * + * @param resource_type_code + */ + public List getResourceListByTypeCode(String resource_type_code) { + String sql = "select * from t_sys_resource where resource_type_code=?"; + return Db.find(sql, resource_type_code); + } + + /** + * 功能:保存人员+角色+数据权限 + * + * @param person_id 人员 + * @param duties_id 角色 + * @param resource_type_code 资源类型编码 + * @param resource_ids 数据权限,以逗号分隔 + * @param resource_names 数据权限名称,以逗号分隔 + */ + public void savePersonDutyResources(String person_id, String resource_type_code, int duties_id, String resource_ids, String resource_names) { + String[] idArray = resource_ids.split(","); + String[] nameArray = resource_names.split(","); + + String sql = "delete from t_person_duty_charge_resource where person_id=? and duties_id=?"; + Db.update(sql, person_id, duties_id); + + sql = "insert into t_person_duty_charge_resource(duties_id,resource_type_code,resource_id,resource_name,person_id) values(?,?,?,?,?)"; + for (int i = 0; i < idArray.length; i++) { + String resource_id = idArray[i]; + String resource_name = nameArray[i]; + Db.update(sql, duties_id, resource_type_code, resource_id, resource_name, person_id); + } + } + + /** + * 功能:获取人员角色数据权限 + * + * @param person_id 人员 + * @param resource_type_code 资源类型编码 + * @param duties_id 角色ID + */ + public List getPersonDutyResources(String person_id, String resource_type_code, int duties_id) { + String sql = "select * from t_person_duty_charge_resource where person_id=? and duties_id=?"; + if (!StrKit.isBlank(resource_type_code)) { + sql += " and resource_type_code=?"; + return Db.find(sql, person_id, duties_id, resource_type_code); + } + return Db.find(sql, person_id, duties_id); + } }