diff --git a/jsowell-pile/src/main/java/com/jsowell/pile/service/impl/PileMerchantInfoServiceImpl.java b/jsowell-pile/src/main/java/com/jsowell/pile/service/impl/PileMerchantInfoServiceImpl.java index 169d98c53..c371bbf0b 100644 --- a/jsowell-pile/src/main/java/com/jsowell/pile/service/impl/PileMerchantInfoServiceImpl.java +++ b/jsowell-pile/src/main/java/com/jsowell/pile/service/impl/PileMerchantInfoServiceImpl.java @@ -6,7 +6,10 @@ import com.jsowell.common.core.domain.entity.SysDept; import com.jsowell.common.core.domain.entity.SysUser; import com.jsowell.common.core.domain.vo.AuthorizedDeptVO; import com.jsowell.common.exception.BusinessException; -import com.jsowell.common.util.*; +import com.jsowell.common.util.DateUtils; +import com.jsowell.common.util.DictUtils; +import com.jsowell.common.util.SecurityUtils; +import com.jsowell.common.util.StringUtils; import com.jsowell.pile.domain.PileMerchantInfo; import com.jsowell.pile.dto.CreateMerchantDTO; import com.jsowell.pile.mapper.PileMerchantInfoMapper; @@ -192,7 +195,9 @@ public class PileMerchantInfoServiceImpl implements IPileMerchantInfoService { */ @Override public int deletePileMerchantInfoByIds(Long[] ids) { - return pileMerchantInfoMapper.deletePileMerchantInfoByIds(ids); + int i = pileMerchantInfoMapper.deletePileMerchantInfoByIds(ids); + deleteMerchantDept(Lists.newArrayList(ids)); + return i; } /** @@ -203,7 +208,38 @@ public class PileMerchantInfoServiceImpl implements IPileMerchantInfoService { */ @Override public int deletePileMerchantInfoById(Long id) { - return pileMerchantInfoMapper.deletePileMerchantInfoById(id); + int i = pileMerchantInfoMapper.deletePileMerchantInfoById(id); + // 删除对应部门 + deleteMerchantDept(Lists.newArrayList(id)); + return i; + } + + private void deleteMerchantDept(List merchantIds) { + if (CollectionUtils.isEmpty(merchantIds)) { + return; + } + for (Long merchantId : merchantIds) { + // 查询出来运营商信息 + PileMerchantInfo pileMerchantInfo = selectPileMerchantInfoById(merchantId); + if (pileMerchantInfo == null) { + continue; + } + // 部门id + String deptId = pileMerchantInfo.getDeptId(); + + // 逻辑删除部门的用户 + SysUser user = new SysUser(); + user.setDeptId(Long.parseLong(deptId)); + List userList = userService.selectUserList(user); + if (CollectionUtils.isNotEmpty(userList)) { + Long[] array = userList.stream().map(SysUser::getUserId).toArray(Long[]::new); + userService.deleteUserByIds(array); + } + + // 逻辑删除部门 + sysDeptService.deleteDeptById(Long.parseLong(deptId)); + } + } @Override