作者 朱兆平

update: 增加数据权限管理接口

# 变更日志
## 5.0 版本为SM3加密方式的用户登录认证
### date: 2024-04-20
- 基于HQPT_USER分支扩展到HQPT_USER_DataPermission
- 增加了用户数据权限配置管理功能,给予其他应用以数据鉴权的条件
- 更改密码加密认证方式为SM3
- 增加了用户在线心跳功能,及用户在线监测
- 生产与开发环境的配置文件分离
- 增加了用户锁定与禁用状态管理
- 增加了登录图形验证码验证方式
- 增加了强制用户掉线接口
... ...
package com.tianbo.warehouse.controller;
import com.github.pagehelper.PageInfo;
import com.tianbo.warehouse.controller.response.ResultJson;
import com.tianbo.warehouse.model.DataPermission;
import com.tianbo.warehouse.service.DataPermissionService;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.*;
@RestController
@RequestMapping("/dataPermission")
public class DataPermissionController {
@Autowired
private DataPermissionService dataPermissionService;
@GetMapping("/{data_perm_id}")
public ResultJson<DataPermission> getDataPermission(@PathVariable("data_perm_id") Integer dataPermId) {
DataPermission dataPermission = dataPermissionService.selectByPrimaryKey(dataPermId);
return new ResultJson("200","查询数据权限成功",dataPermission);
}
@PostMapping("/create")
public ResultJson<Integer> createDataPermission(@RequestBody DataPermission dataPermission) {
int i= dataPermissionService.insertSelective(dataPermission);
return i==1 ? new ResultJson("200","新增数据权限成功") :new ResultJson("500","新增数据权限失败");
}
@PostMapping("/update")
public ResultJson<Integer> updateDataPermission(@RequestBody DataPermission dataPermission) {
int i = dataPermissionService.updateByPrimaryKeySelective(dataPermission);
return i==1 ? new ResultJson("200","更新数据权限成功") :new ResultJson("500","更新数据权限失败");
}
@PostMapping("/del/{data_perm_id}")
public ResultJson<Integer> deleteDataPermission(@PathVariable("data_perm_id") Integer dataPermId) {
int i = dataPermissionService.deleteByPrimaryKey(dataPermId);
return i==1 ? new ResultJson("200","删除数据权限成功") :new ResultJson("500","删除数据权限失败");
}
@GetMapping("/list")
public ResultJson<PageInfo> getAllDataPermissions(@RequestParam(defaultValue = "1") int pageNum,
@RequestParam(defaultValue = "10") int pageSize) {
PageInfo<DataPermission> dataPermissionPageInfo = dataPermissionService.selectAll(pageNum, pageSize);
return new ResultJson<PageInfo>("200","获取数据权限成功",dataPermissionPageInfo);
}
}
... ...
... ... @@ -2,6 +2,8 @@ package com.tianbo.warehouse.dao;
import com.tianbo.warehouse.model.DataPermission;
import java.util.List;
public interface DataPermissionDao {
int deleteByPrimaryKey(Integer data_perm_id);
... ... @@ -11,7 +13,9 @@ public interface DataPermissionDao {
DataPermission selectByPrimaryKey(Integer data_perm_id);
List<DataPermission> selectAll();
int updateByPrimaryKeySelective(DataPermission record);
int updateByPrimaryKey(DataPermission record);
}
\ No newline at end of file
}
... ...
package com.tianbo.warehouse.service;
import com.github.pagehelper.PageInfo;
import com.tianbo.warehouse.model.DataPermission;
public interface DataPermissionService {
Boolean getPermission(String token,String url,String name);
int deleteByPrimaryKey(Integer data_perm_id);
int insert(DataPermission record);
int insertSelective(DataPermission record);
DataPermission selectByPrimaryKey(Integer data_perm_id);
PageInfo<DataPermission> selectAll(int pageNum,int pageSize);
int updateByPrimaryKeySelective(DataPermission record);
int updateByPrimaryKey(DataPermission record);
}
... ...
package com.tianbo.warehouse.service.imp;
import com.github.pagehelper.Page;
import com.github.pagehelper.PageHelper;
import com.github.pagehelper.PageInfo;
import com.tianbo.warehouse.dao.DataPermissionDao;
import com.tianbo.warehouse.model.DataPermission;
import com.tianbo.warehouse.model.ROLE;
import com.tianbo.warehouse.model.USERS;
import com.tianbo.warehouse.service.DataPermissionService;
import org.springframework.stereotype.Service;
import javax.annotation.Resource;
import java.util.List;
@Service
public class DataPermissionServiceImpl implements DataPermissionService {
@Resource
DataPermissionDao dataPermissionDao;
@Override
public int deleteByPrimaryKey(Integer data_perm_id) {
return dataPermissionDao.deleteByPrimaryKey(data_perm_id);
}
@Override
public int insert(DataPermission record) {
return dataPermissionDao.insert(record);
}
@Override
public int insertSelective(DataPermission record) {
return dataPermissionDao.insertSelective(record);
}
@Override
public DataPermission selectByPrimaryKey(Integer data_perm_id) {
return dataPermissionDao.selectByPrimaryKey(data_perm_id);
}
@Override
public PageInfo<DataPermission> selectAll(int pageNum,int pageSize) {
Page<DataPermission> page = PageHelper.startPage(pageNum,pageSize);
List<DataPermission> list = dataPermissionDao.selectAll();
PageInfo<DataPermission> result = new PageInfo<DataPermission>(list);
return result;
}
@Override
public int updateByPrimaryKeySelective(DataPermission record) {
return dataPermissionDao.updateByPrimaryKeySelective(record);
}
@Override
public int updateByPrimaryKey(DataPermission record) {
return 0;
}
}
... ...
... ... @@ -22,32 +22,37 @@
<result column="perm_type" jdbcType="VARCHAR" property="perm_type" />
</resultMap>
<sql id="Base_Column_List">
data_perm_id, perm_name, perm_des, perm_sort, perm_status, create_time, update_time,
create_user, row_condition, row_condition_property, cols_list, permission_id, `path`,
data_perm_id, perm_name, perm_des, perm_sort, perm_status, create_time, update_time,
create_user, row_condition, row_condition_property, cols_list, permission_id, `path`,
interface_name, service_name, service_name_des, perm_keyword, perm_type
</sql>
<select id="selectByPrimaryKey" parameterType="java.lang.Integer" resultMap="BaseResultMap">
select
select
<include refid="Base_Column_List" />
from data_permission
where data_perm_id = #{data_perm_id,jdbcType=INTEGER}
</select>
<select id="selectAll" parameterType="java.lang.Integer" resultMap="BaseResultMap">
select
<include refid="Base_Column_List" />
from data_permission
</select>
<delete id="deleteByPrimaryKey" parameterType="java.lang.Integer">
delete from data_permission
where data_perm_id = #{data_perm_id,jdbcType=INTEGER}
</delete>
<insert id="insert" keyColumn="data_perm_id" keyProperty="data_perm_id" parameterType="com.tianbo.warehouse.model.DataPermission" useGeneratedKeys="true">
insert into data_permission (perm_name, perm_des, perm_sort,
perm_status, create_time, update_time,
create_user, row_condition, row_condition_property,
cols_list, permission_id, `path`,
interface_name, service_name, service_name_des,
insert into data_permission (perm_name, perm_des, perm_sort,
perm_status, create_time, update_time,
create_user, row_condition, row_condition_property,
cols_list, permission_id, `path`,
interface_name, service_name, service_name_des,
perm_keyword, perm_type)
values (#{perm_name,jdbcType=VARCHAR}, #{perm_des,jdbcType=VARCHAR}, #{perm_sort,jdbcType=TINYINT},
#{perm_status,jdbcType=BOOLEAN}, #{create_time,jdbcType=TIMESTAMP}, #{update_time,jdbcType=TIMESTAMP},
#{create_user,jdbcType=VARCHAR}, #{row_condition,jdbcType=VARCHAR}, #{row_condition_property,jdbcType=VARCHAR},
#{cols_list,jdbcType=VARCHAR}, #{permission_id,jdbcType=INTEGER}, #{path,jdbcType=VARCHAR},
#{interface_name,jdbcType=VARCHAR}, #{service_name,jdbcType=VARCHAR}, #{service_name_des,jdbcType=VARCHAR},
values (#{perm_name,jdbcType=VARCHAR}, #{perm_des,jdbcType=VARCHAR}, #{perm_sort,jdbcType=TINYINT},
#{perm_status,jdbcType=BOOLEAN}, #{create_time,jdbcType=TIMESTAMP}, #{update_time,jdbcType=TIMESTAMP},
#{create_user,jdbcType=VARCHAR}, #{row_condition,jdbcType=VARCHAR}, #{row_condition_property,jdbcType=VARCHAR},
#{cols_list,jdbcType=VARCHAR}, #{permission_id,jdbcType=INTEGER}, #{path,jdbcType=VARCHAR},
#{interface_name,jdbcType=VARCHAR}, #{service_name,jdbcType=VARCHAR}, #{service_name_des,jdbcType=VARCHAR},
#{perm_keyword,jdbcType=VARCHAR}, #{perm_type,jdbcType=VARCHAR})
</insert>
<insert id="insertSelective" keyColumn="data_perm_id" keyProperty="data_perm_id" parameterType="com.tianbo.warehouse.model.DataPermission" useGeneratedKeys="true">
... ... @@ -237,4 +242,4 @@
perm_type = #{perm_type,jdbcType=VARCHAR}
where data_perm_id = #{data_perm_id,jdbcType=INTEGER}
</update>
</mapper>
\ No newline at end of file
</mapper>
... ...