|
@@ -0,0 +1,115 @@
|
|
|
|
|
+package com.ctsi.SysUserRole.service.impl;
|
|
|
|
|
+
|
|
|
|
|
+import cn.hutool.core.util.StrUtil;
|
|
|
|
|
+import com.ctsi.SysUserRole.entity.SysUserRoleAddVO;
|
|
|
|
|
+import org.springframework.beans.factory.annotation.Autowired;
|
|
|
|
|
+import org.springframework.stereotype.Service;
|
|
|
|
|
+import com.baomidou.mybatisplus.core.metadata.IPage;
|
|
|
|
|
+import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
|
|
|
|
|
+import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
|
|
|
|
|
+import com.baomidou.mybatisplus.extension.conditions.update.LambdaUpdateChainWrapper;
|
|
|
|
|
+import com.ctsi.SysUserRole.entity.SysUserRole;
|
|
|
|
|
+import com.ctsi.SysUserRole.mapper.SysUserRoleMapper;
|
|
|
|
|
+import com.ctsi.SysUserRole.service.SysUserRoleService;
|
|
|
|
|
+ /**
|
|
|
|
|
+ * 用户角色表;(sys_user_role)表服务实现类
|
|
|
|
|
+ * @author : machaoyi
|
|
|
|
|
+ * @date : 2024-1-11
|
|
|
|
|
+ */
|
|
|
|
|
+@Service
|
|
|
|
|
+public class SysUserRoleServiceImpl implements SysUserRoleService{
|
|
|
|
|
+ @Autowired
|
|
|
|
|
+ private SysUserRoleMapper sysUserRoleMapper;
|
|
|
|
|
+
|
|
|
|
|
+ /**
|
|
|
|
|
+ * 通过ID查询单条数据
|
|
|
|
|
+ *
|
|
|
|
|
+ * @param id 主键
|
|
|
|
|
+ * @return 实例对象
|
|
|
|
|
+ */
|
|
|
|
|
+ public SysUserRole queryById(Long id){
|
|
|
|
|
+ return sysUserRoleMapper.selectById(id);
|
|
|
|
|
+ }
|
|
|
|
|
+
|
|
|
|
|
+ /**
|
|
|
|
|
+ * 分页查询
|
|
|
|
|
+ *
|
|
|
|
|
+ * @param sysUserRole 筛选条件
|
|
|
|
|
+ * @param current 当前页码
|
|
|
|
|
+ * @param size 每页大小
|
|
|
|
|
+ * @return
|
|
|
|
|
+ */
|
|
|
|
|
+ public Page<SysUserRole> paginQuery(SysUserRole sysUserRole, long current, long size){
|
|
|
|
|
+ //1. 构建动态查询条件
|
|
|
|
|
+ LambdaQueryWrapper<SysUserRole> queryWrapper = new LambdaQueryWrapper<>();
|
|
|
|
|
+ //2. 执行分页查询
|
|
|
|
|
+ Page<SysUserRole> pagin = new Page<>(current , size , true);
|
|
|
|
|
+ IPage<SysUserRole> selectResult = sysUserRoleMapper.selectPage(pagin , queryWrapper);
|
|
|
|
|
+ pagin.setPages(selectResult.getPages());
|
|
|
|
|
+ pagin.setTotal(selectResult.getTotal());
|
|
|
|
|
+ pagin.setRecords(selectResult.getRecords());
|
|
|
|
|
+ //3. 返回结果
|
|
|
|
|
+ return pagin;
|
|
|
|
|
+ }
|
|
|
|
|
+
|
|
|
|
|
+ /**
|
|
|
|
|
+ * 新增数据
|
|
|
|
|
+ *
|
|
|
|
|
+ * @param sysUserRole 实例对象
|
|
|
|
|
+ * @return 实例对象
|
|
|
|
|
+ */
|
|
|
|
|
+ public SysUserRole insert(SysUserRole sysUserRole){
|
|
|
|
|
+ sysUserRoleMapper.insert(sysUserRole);
|
|
|
|
|
+ return sysUserRole;
|
|
|
|
|
+ }
|
|
|
|
|
+
|
|
|
|
|
+ /**
|
|
|
|
|
+ * 更新数据
|
|
|
|
|
+ *
|
|
|
|
|
+ * @param sysUserRole 实例对象
|
|
|
|
|
+ * @return 实例对象
|
|
|
|
|
+ */
|
|
|
|
|
+ public SysUserRole update(SysUserRole sysUserRole){
|
|
|
|
|
+ //1. 根据条件动态更新
|
|
|
|
|
+ LambdaUpdateChainWrapper<SysUserRole> chainWrapper = new LambdaUpdateChainWrapper<SysUserRole>(sysUserRoleMapper);
|
|
|
|
|
+ //2. 设置主键,并更新
|
|
|
|
|
+ chainWrapper.eq(SysUserRole::getId, sysUserRole.getId());
|
|
|
|
|
+ boolean ret = chainWrapper.update();
|
|
|
|
|
+ //3. 更新成功了,查询最最对象返回
|
|
|
|
|
+ if(ret){
|
|
|
|
|
+ return queryById(sysUserRole.getId());
|
|
|
|
|
+ }else{
|
|
|
|
|
+ return sysUserRole;
|
|
|
|
|
+ }
|
|
|
|
|
+ }
|
|
|
|
|
+
|
|
|
|
|
+ /**
|
|
|
|
|
+ * 通过主键删除数据
|
|
|
|
|
+ *
|
|
|
|
|
+ * @param id 主键
|
|
|
|
|
+ * @return 是否成功
|
|
|
|
|
+ */
|
|
|
|
|
+ public boolean deleteById(Long id){
|
|
|
|
|
+ int total = sysUserRoleMapper.deleteById(id);
|
|
|
|
|
+ return total > 0;
|
|
|
|
|
+ }
|
|
|
|
|
+
|
|
|
|
|
+ /**
|
|
|
|
|
+ * 保存用户角色
|
|
|
|
|
+ *
|
|
|
|
|
+ * @param sysUserRoleAddVO 实例对象
|
|
|
|
|
+ * @return 实例对象
|
|
|
|
|
+ */
|
|
|
|
|
+ public SysUserRoleAddVO save(SysUserRoleAddVO sysUserRoleAddVO){
|
|
|
|
|
+ LambdaQueryWrapper<SysUserRole> queryWrapper = new LambdaQueryWrapper<>();
|
|
|
|
|
+ queryWrapper.eq(SysUserRole::getUserId,sysUserRoleAddVO.getUserId());
|
|
|
|
|
+ sysUserRoleMapper.delete(queryWrapper);
|
|
|
|
|
+ for (Long roleId : sysUserRoleAddVO.getRoleId()) {
|
|
|
|
|
+ SysUserRole sysUserRole = new SysUserRole();
|
|
|
|
|
+ sysUserRole.setUserId(sysUserRoleAddVO.getUserId());
|
|
|
|
|
+ sysUserRole.setRoleId(roleId);
|
|
|
|
|
+ sysUserRoleMapper.insert(sysUserRole);
|
|
|
|
|
+ }
|
|
|
|
|
+ return sysUserRoleAddVO;
|
|
|
|
|
+ }
|
|
|
|
|
+}
|