修改sysuserInfocontroller batch-delete 为软删除

yun-zuoyi
nies 4 years ago
parent bb9f3a487e
commit 90bd2efec1

@ -29,16 +29,14 @@ import org.apache.commons.io.FileUtils;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.util.ObjectUtils;
import org.springframework.web.bind.annotation.*;
import javax.annotation.Resource;
import javax.persistence.EntityManager;
import javax.servlet.http.HttpServletResponse;
import java.io.*;
import java.util.ArrayList;
import java.util.LinkedHashMap;
import java.util.List;
import java.util.Map;
import java.util.*;
import java.util.function.Function;
import java.util.stream.Collectors;
@ -52,7 +50,7 @@ import java.util.stream.Collectors;
@RestController
@Api(tags = "系统用户服务")
@RequestMapping(PlatformConstWords.BASE_URL + "/sys-user-info")
public class SysUserInfoController extends CoreBaseController{
public class SysUserInfoController extends CoreBaseController {
public static final Logger LOGGER = LoggerFactory.getLogger(SysUserInfoController.class);
@ -80,16 +78,18 @@ public class SysUserInfoController extends CoreBaseController{
@Autowired
private ISysUserService sysUserService;
@Resource(name= CommonConstWords.IMPP_REDIS_RES)
@Resource(name = CommonConstWords.IMPP_REDIS_RES)
private ImppRedis redisRes;
/**
*
*
* @param userInfo
* @return
*/
@PostMapping(value="/insert")
@ApiOperation(value="添加用户信息",notes="返回内容添加用户信息")
public ResultBean insertSysUserInfo(SysUserInfo userInfo){
@PostMapping(value = "/insert")
@ApiOperation(value = "添加用户信息", notes = "返回内容添加用户信息")
public ResultBean insertSysUserInfo(SysUserInfo userInfo) {
try {
startMultiService();
licenseClickService.checkLicenseNumberUser();
@ -97,15 +97,15 @@ public class SysUserInfoController extends CoreBaseController{
//登陆用户
SessionUser user = AuthUtil.getSessionUser();
checkSysUserInfo(userInfo,false);
checkSysUserInfo(userInfo, false);
ConvertBean.modelInitialize(userInfo,user);
ConvertBean.modelInitialize(userInfo, user);
userInfo.setUserInfoStatus(CommonEnumUtil.USER_STATUS.ENABLE.getValue());
userInfo.setUserLoginNum(0);
sysUserInfoService.checkSysUserInfoOnly(userInfo);
SysUserInfo info = sysUserInfoService.insertSysUserInfo(userInfo);
sysUserInfoService.refreshRefUserOrganize(info.getId(), userInfo.getDepartment().getOrganizeId(),user.getUserName());
sysUserInfoService.refreshRefUserOrganize(info.getId(), userInfo.getDepartment().getOrganizeId(), user.getUserName());
return ResultBean.success("操作成功").setCode(ResourceEnumUtil.MESSAGE.SUCCESS.getCode()).setResultObject(info);
} catch (ImppBusiException busExcep) {
return ResultBean.fail(busExcep);
@ -116,27 +116,28 @@ public class SysUserInfoController extends CoreBaseController{
/**
* id
*
* @param userInfo
* @return
*/
@PutMapping(value="/update")
@ApiOperation(value="修改用户信息",notes="根据用户信息id修改信息")
public ResultBean updateSysUserInfoById(SysUserInfo userInfo){
@PutMapping(value = "/update")
@ApiOperation(value = "修改用户信息", notes = "根据用户信息id修改信息")
public ResultBean updateSysUserInfoById(SysUserInfo userInfo) {
try {
startMultiService();
//登陆用户
SessionUser user = AuthUtil.getSessionUser();
checkSysUserInfo(userInfo,true);
checkSysUserInfo(userInfo, true);
//修改初始化
ConvertBean.modelUpdate(userInfo,user);
ConvertBean.modelUpdate(userInfo, user);
sysUserInfoService.checkSysUserInfoOnly(userInfo);
sysUserInfoService.updateSysUserInfo(userInfo);
sysUserInfoService.refreshRefUserOrganize(userInfo.getId(), userInfo.getDepartment().getOrganizeId(),user.getUserName());
sysUserInfoService.refreshRefUserOrganize(userInfo.getId(), userInfo.getDepartment().getOrganizeId(), user.getUserName());
return ResultBean.success("操作成功").setCode(ResourceEnumUtil.MESSAGE.SUCCESS.getCode());
} catch (ImppBusiException busExcep) {
@ -148,15 +149,16 @@ public class SysUserInfoController extends CoreBaseController{
/**
*
*
* @param id id
* @return
*/
@DeleteMapping(value="/delete/{id}")
@ApiOperation(value="删除用户信息",notes="根据用户信息id删除信息")
public ResultBean deleteSysUserInfo(@PathVariable("id") String id){
@DeleteMapping(value = "/delete/{id}")
@ApiOperation(value = "删除用户信息", notes = "根据用户信息id删除信息")
public ResultBean deleteSysUserInfo(@PathVariable("id") String id) {
try {
//条件验证
ValidatorBean.checkNotNull(id,"id为空");
ValidatorBean.checkNotNull(id, "id为空");
sysUserInfoService.deleteSysUserInfoById(Long.parseLong(id));
return ResultBean.success("操作成功").setCode(ResourceEnumUtil.MESSAGE.SUCCESS.getCode());
@ -169,92 +171,108 @@ public class SysUserInfoController extends CoreBaseController{
/**
*
*
* @return
*/
@GetMapping(value="/list")
@ApiOperation(value="查询所有用户信息",notes="查询所有用户信息")
public ResultBean findSysUserInfoAll(){
try{
@GetMapping(value = "/list")
@ApiOperation(value = "查询所有用户信息", notes = "查询所有用户信息")
public ResultBean findSysUserInfoAll() {
try {
List<SysUserInfo> SysUserInfoList = sysUserInfoService.listSysUserInfo();
return ResultBean.success("操作成功").setResultList(SysUserInfoList)
.setCode(ResourceEnumUtil.MESSAGE.SUCCESS.getCode());
}catch(ImppBusiException busExcep){
} catch (ImppBusiException busExcep) {
return ResultBean.fail(busExcep);
}catch(Exception e){
} catch (Exception e) {
return ImppExceptionBuilder.newInstance().buildExceptionResult(e);
}
}
/**
*
*
* @param userInfo
* @param pager
* @param pager
* @return
*/
@GetMapping(value="/query")
@ApiOperation(value="查询用户信息",notes="复杂查询用户信息带分页")
public ResultBean querySysUserInfo(SysUserInfo userInfo, Pager pager){
try{
@GetMapping(value = "/query")
@ApiOperation(value = "查询用户信息", notes = "复杂查询用户信息带分页")
public ResultBean querySysUserInfo(SysUserInfo userInfo, Pager pager) {
try {
ListPager<SysUserInfo> result = sysUserInfoService.querySysUserInfo(userInfo, packUserInfo(userInfo), pager);
return ResultBean.success("操作成功").setListPager(result).setCode(ResourceEnumUtil.MESSAGE.SUCCESS.getCode());
}catch(ImppBusiException busExcep){
} catch (ImppBusiException busExcep) {
return ResultBean.fail(busExcep);
}catch(Exception e){
} catch (Exception e) {
return ImppExceptionBuilder.newInstance().buildExceptionResult(e);
}
}
/**
* id
*
* @param id id
* @return
*/
@GetMapping(value="/get/{id}")
@ApiOperation(value="根据id查询用户信息",notes="根据id用户信息")
public ResultBean getSysUserInfoById(@PathVariable("id") String id){
try{
@GetMapping(value = "/get/{id}")
@ApiOperation(value = "根据id查询用户信息", notes = "根据id用户信息")
public ResultBean getSysUserInfoById(@PathVariable("id") String id) {
try {
ValidatorBean.checkIsNumber(id, "id 不能为空");
SysUserInfo userInfo = sysUserInfoService.getSysUserInfoById(Long.parseLong(id));
ValidatorBean.beginValid(userInfo).notNull("id",userInfo.getId());
ValidatorBean.beginValid(userInfo).notNull("id", userInfo.getId());
return ResultBean.success("操作成功").setResultObject(userInfo).setCode(ResourceEnumUtil.MESSAGE.SUCCESS.getCode());
}catch(ImppBusiException busExcep){
} catch (ImppBusiException busExcep) {
return ResultBean.fail(busExcep);
}catch(Exception e){
} catch (Exception e) {
return ImppExceptionBuilder.newInstance().buildExceptionResult(e);
}
}
/**
* id
*
* @param ids id
* @return
*/
@DeleteMapping(value = "/batch-delete")
@ApiOperation(value = "根据id批量删除", notes = "根据id批量删除")
public ResultBean deleteSysUserInfoByIds(String[] ids){
try{
ids = ConvertBean.modelSafeArrayNumber(ids,true);
if(ids.length == 0){
public ResultBean deleteSysUserInfoByIds(String[] ids) {
try {
ids = ConvertBean.modelSafeArrayNumber(ids, true);
if (ids.length == 0) {
throw ImppExceptionBuilder.newInstance()
.setSystemID(CommonEnumUtil.SOFT_TYPE.CORE.getCode())
.setErrorCode(ImppExceptionEnum.VARIFY_EXCEPTION.getCode())
.setErrorDetail("请选择需要删除的用户信息。")
.build();
}
sysUserInfoService.deleteSysUserInfoByIds(StringTool.getArrayLong(ids));
List<SysUserInfo> userInfoList = personnelService.findSysUserInfoByIds(StringTool.getArrayLong(ids));
if (ObjectUtils.isEmpty(userInfoList)) {
return ResultBean.fail("数据不存在").setCode(ResourceEnumUtil.MESSAGE.EMPTY.getCode());
}
Long[] userinfoIds = new Long[userInfoList.size()],
userIds = new Long[userInfoList.size()];
for (int i = 0; i < userInfoList.size(); i++) {
userinfoIds[i] = userInfoList.get(i).getId();
userIds[i] = userInfoList.get(i).getUserId();
}
personnelService.deleteSysUserInfo(userinfoIds, getSessionUser().getUserName());
personnelService.deleteSysUser(userIds, getSessionUser().getUserName());
return ResultBean.success("操作成功")
.setCode(ResourceEnumUtil.MESSAGE.SUCCESS.getCode());
}catch(ImppBusiException busExcep){
} catch (ImppBusiException busExcep) {
return ResultBean.fail(busExcep);
}catch(Exception e){
} catch (Exception e) {
return ImppExceptionBuilder.newInstance().buildExceptionResult(e);
}
}
/**
*
*
* @param userId id
* @return
*/
@ -276,6 +294,7 @@ public class SysUserInfoController extends CoreBaseController{
/**
*
*
* @param model
* @return
*/
@ -286,7 +305,7 @@ public class SysUserInfoController extends CoreBaseController{
List<Long> idList = new ArrayList<>();
List<SysRefUserDepartment> refs = sysUserInfoService.querySysRefUserDepartment(model);
if(refs != null && refs.size() > 0){
if (refs != null && refs.size() > 0) {
for (SysRefUserDepartment ref : refs) {
idList.add(ref.getUserId());
}
@ -304,6 +323,7 @@ public class SysUserInfoController extends CoreBaseController{
/**
*
*
* @param userId id
* @return
*/
@ -325,26 +345,27 @@ public class SysUserInfoController extends CoreBaseController{
/**
*
*
* @param userInfo
* @param isId ID
* @param isId ID
*/
private void checkSysUserInfo(SysUserInfo userInfo,boolean isId){
private void checkSysUserInfo(SysUserInfo userInfo, boolean isId) {
try{
try {
//条件验证
ValidatorBean.beginValid(userInfo)
.notNull("name",userInfo.getName())
.notNull("userEmpNo",userInfo.getUserEmpNo())
.checkNotZero("departmentId",userInfo.getDepartmentId())
.notNull("name", userInfo.getName())
.notNull("userEmpNo", userInfo.getUserEmpNo())
.checkNotZero("departmentId", userInfo.getDepartmentId())
// .checkNotZero("departmentIdList",userInfo.getDepartmentIdList())
.checkNotZero("positionId",userInfo.getPositionId());
if(isId){
.checkNotZero("positionId", userInfo.getPositionId());
if (isId) {
ValidatorBean.beginValid(userInfo)
.notNull("id",userInfo.getId());
.notNull("id", userInfo.getId());
}
SysDepartment department = departmentService.get(userInfo.getDepartmentId());
if(department == null){
if (department == null) {
throw ImppExceptionBuilder.newInstance()
.setSystemID(CommonEnumUtil.SOFT_TYPE.CORE.getCode())
.setErrorCode(ImppExceptionEnum.VARIFY_EXCEPTION.getCode())
@ -353,7 +374,7 @@ public class SysUserInfoController extends CoreBaseController{
}
SysPosition position = positionService.get(userInfo.getPositionId());
if(position == null){
if (position == null) {
throw ImppExceptionBuilder.newInstance()
.setSystemID(CommonEnumUtil.SOFT_TYPE.CORE.getCode())
.setErrorCode(ImppExceptionEnum.VARIFY_EXCEPTION.getCode())
@ -367,18 +388,21 @@ public class SysUserInfoController extends CoreBaseController{
userInfo.setPositionNameRdd(position.getName());
userInfo.setDepartment(department);
userInfo.setPosition(position);
}catch(ImppBusiException busExcep){
LOGGER.error(busExcep.getErrorMsg() + "{}",busExcep.getErrorDetail(),busExcep);
}catch(Exception e){
} catch (ImppBusiException busExcep) {
LOGGER.error(busExcep.getErrorMsg() + "{}", busExcep.getErrorDetail(), busExcep);
} catch (Exception e) {
LOGGER.error(LocaleUtils.getEnumLocaleResDesc(ImppExceptionEnum.SYSTEM_EXCEPTION,
ImppExceptionEnum.SYSTEM_EXCEPTION.getDescription()) + "{}", e.getMessage(), e);
}
}
@GetMapping("/export")
@ApiOperation(value = "导出用户信息",notes = "导出用户信息")
@ApiOperation(value = "导出用户信息", notes = "导出用户信息")
public void exportSysUserInfo(SysUserInfo userInfo, HttpServletResponse response) throws Exception {
File file = null;
if(userInfo ==null ){
userInfo = new SysUserInfo();
}
try {
List<SysUserInfo> list = sysUserInfoService.querySysUserInfoList(userInfo, packUserInfo(userInfo));
Map<Long, SysUser> sysUserMap = sysUserService.list().stream()
@ -416,7 +440,7 @@ public class SysUserInfoController extends CoreBaseController{
response.setContentType("application/force-download"); // 设置强制下载不打开
response.addHeader("Content-Disposition", "attachment;fileName=" + fileName); // 设置文件名
response.addHeader("Content-type", FileContentTypeTool.getContentType(StringTool.getStringFileSuffix(fileName,true)));
response.addHeader("Content-type", FileContentTypeTool.getContentType(StringTool.getStringFileSuffix(fileName, true)));
// 设置文件名
try (BufferedInputStream bis = new BufferedInputStream(new DataInputStream(new FileInputStream(excle)))) {
@ -435,7 +459,7 @@ public class SysUserInfoController extends CoreBaseController{
}
}
private ArrayList<Long> packUserInfo(SysUserInfo userInfo){
private ArrayList<Long> packUserInfo(SysUserInfo userInfo) {
ArrayList<Long> idList = new ArrayList<>();
if (userInfo.getOrganizeId() == null || userInfo.getOrganizeId() <= 0) {
if (AuthUtil.getUserType().equals(CommonEnumUtil.USER_TYPE.ADMIN)) {

Loading…
Cancel
Save