ycl-server/src/main/java/com/ycl/platform/controller/YwPeopleController.java
@@ -5,6 +5,8 @@ import org.springframework.security.access.prepost.PreAuthorize; import org.springframework.validation.annotation.Validated; import lombok.RequiredArgsConstructor; import java.util.Arrays; import java.util.List; import jakarta.validation.constraints.NotEmpty; import io.swagger.annotations.Api; @@ -42,16 +44,10 @@ return ywPeopleService.update(form); } @DeleteMapping("/{id}") @ApiOperation(value = "ID删除", notes = "ID删除") public Result removeById(@PathVariable("id") String id) { return ywPeopleService.removeById(id); } @DeleteMapping("/batch") @DeleteMapping("/{ids}") @ApiOperation(value = "批量删除", notes = "批量删除") public Result remove(@RequestBody @NotEmpty(message = "请选择数据") List<String> ids) { return ywPeopleService.remove(ids); public Result remove(@PathVariable String ids) { return ywPeopleService.remove(Arrays.asList(ids.split(","))); } // @PreAuthorize("@ss.hasPermi('unit:people:page')") ycl-server/src/main/java/com/ycl/platform/controller/YwUnitController.java
@@ -14,6 +14,8 @@ import org.springframework.security.access.prepost.PreAuthorize; import org.springframework.validation.annotation.Validated; import lombok.RequiredArgsConstructor; import java.util.Arrays; import java.util.List; import jakarta.validation.constraints.NotEmpty; @@ -48,16 +50,10 @@ return ywUnitService.update(form); } @DeleteMapping("/{id}") @ApiOperation(value = "ID删除", notes = "ID删除") public Result removeById(@PathVariable("id") String id) { return ywUnitService.removeById(id); } @DeleteMapping("/batch") @DeleteMapping("/{ids}") @ApiOperation(value = "批量删除", notes = "批量删除") public Result remove(@RequestBody @NotEmpty(message = "请选择数据") List<String> ids) { return ywUnitService.remove(ids); public Result remove(@PathVariable String ids) { return ywUnitService.remove(Arrays.asList(ids.split(","))); } // @PreAuthorize("@ss.hasPermi('unit:list')") ycl-server/src/main/java/com/ycl/platform/service/impl/YwPeopleServiceImpl.java
@@ -10,12 +10,19 @@ import com.ycl.platform.domain.form.YwPeopleForm; import com.ycl.platform.domain.vo.YwPeopleVO; import com.ycl.platform.domain.query.YwPeopleQuery; import java.util.Collections; import java.util.List; import com.baomidou.mybatisplus.core.metadata.IPage; import com.ycl.system.domain.SysUserRole; import com.ycl.system.entity.SysRole; import com.ycl.system.entity.SysUser; import com.ycl.system.mapper.SysRoleMapper; import com.ycl.system.mapper.SysUserMapper; import com.ycl.system.mapper.SysUserRoleMapper; import com.ycl.system.page.PageUtil; import com.ycl.utils.SecurityUtils; import org.springframework.security.crypto.password.PasswordEncoder; import org.springframework.stereotype.Service; import org.springframework.beans.BeanUtils; @@ -41,8 +48,9 @@ private final YwPeopleMapper ywPeopleMapper; private final YwUnitMapper ywUnitMapper; private final PasswordEncoder passwordEncoder; private final SysUserMapper sysUserMapper; private final SysUserRoleMapper sysUserRoleMapper; private final SysRoleMapper sysRoleMapper; /** * 添加 @@ -56,6 +64,14 @@ SysUser sysUser = new SysUser(); fullUser(sysUser, form); sysUserMapper.insertUser(sysUser); // 获取运维人员角色 SysRole sysRole = sysRoleMapper.selectRoleByKey("yw_user"); if (Objects.isNull(sysRole)) { return Result.error("运维角色不存在"); } // 绑定账号角色关系 SysUserRole sysUserRole = new SysUserRole(); sysUserRole.setRoleId(sysRole.getRoleId()); sysUserRole.setUserId(sysUser.getUserId()); sysUserRoleMapper.batchUserRole(Collections.singletonList(sysUserRole)); YwPeople entity = YwPeopleForm.getEntityByForm(form, null); entity.setUserId(sysUser.getUserId()); @@ -73,7 +89,7 @@ */ public void fullUser(SysUser sysUser, YwPeopleForm form) { sysUser.setUserName(form.getYwPersonAccount()); sysUser.setPassword(passwordEncoder.encode("123456")); sysUser.setPassword(SecurityUtils.encryptPassword("123456")); sysUser.setStatus("0"); sysUser.setDelFlag("0"); sysUser.setFirstLogin((short) 0); @@ -119,7 +135,10 @@ .list(); List<Long> userIds = list.stream().map(YwPeople::getUserId).collect(Collectors.toList()); baseMapper.deleteBatchIds(ids); sysUserMapper.deleteUserByIds((Long[]) userIds.toArray()); if (!userIds.isEmpty()) { sysUserRoleMapper.deleteUserRoleByUserIds(userIds); sysUserMapper.deleteUserByIds(userIds.toArray(new Long[0])); } return Result.ok("删除成功"); } ycl-server/src/main/java/com/ycl/platform/service/impl/YwUnitServiceImpl.java
@@ -27,6 +27,7 @@ import com.ycl.utils.SecurityUtils; import org.springframework.stereotype.Service; import org.springframework.beans.BeanUtils; import org.springframework.transaction.annotation.Transactional; import org.springframework.util.Assert; import java.util.Objects; @@ -56,6 +57,7 @@ * @return */ @Override @Transactional(rollbackFor = Exception.class) public Result add(YwUnitForm form) { YwUnit entity = YwUnitForm.getEntityByForm(form, null); if(baseMapper.insert(entity) > 0) { @@ -86,6 +88,7 @@ * @return */ @Override @Transactional(rollbackFor = Exception.class) public Result update(YwUnitForm form) { YwUnit entity = baseMapper.selectById(form.getId()); @@ -111,15 +114,16 @@ * @return */ @Override @Transactional(rollbackFor = Exception.class) public Result remove(List<String> ids) { ids.forEach(id -> { // 删除运维人员账号 SysUser sysUser = sysUserMapper.selectUserByUserName(baseMapper.selectById(id).getUnitAdminAccount()); if (Objects.nonNull(sysUser)) { sysUserRoleMapper.deleteUserRoleByUserId(sysUser.getUserId()); sysUserMapper.deleteUserById(sysUser.getUserId()); } }); List<Long> userIds = sysUserMapper.selectUserIdByNames( baseMapper.selectList( new LambdaQueryWrapper<YwUnit>().in(YwUnit::getId, ids)) .stream().map(YwUnit::getUnitAdminAccount).toList()); if (!userIds.isEmpty()) { sysUserMapper.deleteUserByIds(userIds.toArray(new Long[0])); sysUserRoleMapper.deleteUserRoleByUserIds(userIds); } if(baseMapper.deleteBatchIds(ids) > 0) { return Result.ok("删除成功"); } ycl-server/src/main/java/com/ycl/system/mapper/SysUserMapper.java
@@ -127,4 +127,11 @@ * @return 结果 */ public SysUser checkEmailUnique(String email); /** * 根据用户名查询用户id * @param names 用户名 * @return 用户id */ List<Long> selectUserIdByNames(List<String> names); } ycl-server/src/main/java/com/ycl/system/mapper/SysUserRoleMapper.java
@@ -64,4 +64,11 @@ public int deleteUserRoleInfos(@Param("roleId") Long roleId, @Param("userIds") Long[] userIds); void exchange(@Param("roleId")Integer roleId,@Param("userId") Long userId); /** * 根据用户id批量删除 * @param userIds 用户编号 * @return 操作结果 */ int deleteUserRoleByUserIds(List<Long> userIds); } ycl-server/src/main/resources/mapper/system/SysUserMapper.xml
@@ -142,7 +142,14 @@ <select id="checkEmailUnique" parameterType="String" resultMap="SysUserResult"> select user_id, email from sys_user where email = #{email} and del_flag = '0' limit 1 </select> <select id="selectUserIdByNames" resultType="java.lang.Long"> select user_id from sys_user where user_name in <foreach item="item" index="index" collection="names" open="(" separator="," close=")"> #{item} </foreach> </select> <insert id="insertUser" parameterType="com.ycl.system.entity.SysUser" useGeneratedKeys="true" keyProperty="userId"> insert into sys_user( <if test="userId != null and userId != 0">user_id,</if> ycl-server/src/main/resources/mapper/system/SysUserRoleMapper.xml
@@ -41,4 +41,11 @@ #{userId} </foreach> </delete> <delete id="deleteUserRoleByUserIds"> delete from sys_user_role where user_id in <foreach collection="userIds" item="userId" open="(" separator="," close=")"> #{userId} </foreach> </delete> </mapper>