建表
CREATE TABLE `custom` (
`id` int(11) NOT NULL AUTO_INCREMENT COMMENT '主键',
`name` varchar(50) COLLATE utf8mb4_unicode_ci NOT NULL COMMENT '客户姓名',
`phone` varchar(11) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NOT NULL COMMENT '电话号码',
`source` varchar(100) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '客户来源 电话 上门等',
`type` varchar(10) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '意向级别,A B C D',
`user_id` int(20) NOT NULL COMMENT '所属用户id',
`create_time` datetime DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间',
PRIMARY KEY (`id`)
) ENGINE=InnoDB AUTO_INCREMENT=5 DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci COMMENT='客户信息表';
增删改查
Custom.vue
customApi.js
增删改查接口
查询添加分角色过滤数据,管理员查看所有数据,领导查看自己和下属员工的数据,员工查看自己的数据
//查询
LambdaQueryWrapper<Custom> queryWrapper = new LambdaQueryWrapper<>();
//根据登录用户的角色不同看到的数据权限不同
User loginUser = SecurityUtils.getUserInfo();
QueryWrapper<RoleUser> qw = new QueryWrapper<>();
qw.lambda().eq(RoleUser::getUserId,loginUser.getId());
List<RoleUser> roleUserList = roleUserMapper.selectList(qw);
if(roleUserList != null && roleUserList.size()>0){
//角色id 集合
Set<Integer> ids = roleUserList.stream().map(RoleUser::getRoleId).collect(Collectors.toSet());
//#role 角色信息
// select * from role where id in (1);
QueryWrapper<Role> wrapper = new QueryWrapper<>();
wrapper.lambda().in(Role::getId,ids);
Set<Role> roleSet = new HashSet<>(roleMapper.selectList(wrapper));
//登录用户的全部角色信息
if(roleSet.size()>0) {
//领导角色
long countLead = roleSet.stream().filter(i->i.getRoleCode().equals("ROLE_LEADER")).count();
//员工角色
long countUser = roleSet.stream().filter(i->i.getRoleCode().equals("ROLE_USER")).count();
if(countLead > 0){
QueryWrapper<User> userQueryWrapper = new QueryWrapper<>();
userQueryWrapper.lambda().eq(User::getLeaderId,loginUser.getId());
List<User> Staffs = userMapper.selectList(userQueryWrapper);
//下属员工ids
Set<Integer> staffIds = Staffs.stream().map(User::getId).collect(Collectors.toSet());
//领导id
staffIds.add(loginUser.getId());
//添加查询条件
queryWrapper.in(Custom::getUserId,staffIds);
}else if(countUser > 0){
//添加查询条件
queryWrapper.eq(Custom::getUserId,loginUser.getId());
}else{
//管理员查看所有数据
}
}
}
新增 所属用户和添加时间
//所属用户
custom.setUserId(SecurityUtils.getUserInfo().getId());
//注册时间
custom.setCreateTime(LocalDateTime.now());