package com.thhy.staff.modules.biz.depart.controller;
|
|
import com.alibaba.fastjson.JSON;
|
import com.alibaba.fastjson.JSONObject;
|
import com.alibaba.nacos.api.utils.StringUtils;
|
import com.github.pagehelper.PageInfo;
|
import com.thhy.general.common.BasicResult;
|
import com.thhy.general.common.BasicStatus;
|
import com.thhy.general.config.GlobalConfig;
|
import com.thhy.general.exception.BasicException;
|
import com.thhy.general.utils.ExcelUtils;
|
import com.thhy.general.utils.PagingUtils;
|
import com.thhy.staff.modules.biz.depart.entity.DepartGroupPullVo;
|
import com.thhy.staff.modules.biz.depart.entity.DepartListVo;
|
import com.thhy.staff.modules.biz.depart.entity.DepartUserDto;
|
import com.thhy.staff.modules.biz.platuser.entity.PlatUser;
|
import org.redisson.api.RBucket;
|
import org.redisson.api.RedissonClient;
|
import org.springframework.beans.factory.annotation.Autowired;
|
import org.springframework.web.bind.annotation.RequestBody;
|
import org.springframework.web.bind.annotation.RequestMapping;
|
import com.thhy.staff.modules.biz.depart.entity.Depart;
|
import com.thhy.staff.modules.biz.depart.service.DepartService;
|
import java.util.List;
|
import javax.servlet.http.HttpServletRequest;
|
import javax.servlet.http.HttpServletResponse;
|
|
import org.springframework.web.bind.annotation.RestController;
|
|
/**
|
* @author zhang_xiao_bo
|
* @since 2023-03-31 13:07:46
|
*/
|
@RestController
|
@RequestMapping("depart")
|
public class DepartController {
|
|
|
@Autowired
|
private DepartService departService;
|
|
@Autowired
|
private RedissonClient redissonClient;
|
|
@Autowired
|
private GlobalConfig globalConfig;
|
|
@RequestMapping("findList")
|
public BasicResult findList(@RequestBody(required = false) Depart depart,HttpServletRequest req){
|
PagingUtils.setPageParam(req);
|
List<DepartListVo> departList = departService.findList(depart);
|
PageInfo<DepartListVo> pageInfo = new PageInfo<>(departList);
|
return BasicResult.success(pageInfo);
|
}
|
|
@RequestMapping("export")
|
public void export(String authcode, HttpServletResponse rsp){
|
RBucket<String> rBucket = redissonClient.getBucket(globalConfig.getFilePreKey()+":authcode:"+authcode);
|
String param = rBucket.getAndDelete();
|
if(StringUtils.isEmpty(param)){
|
throw new BasicException(BasicStatus.TOKEN_IS_NULL);
|
}
|
JSONObject jsonObject = JSON.parseObject(param);
|
Depart depart = JSON.toJavaObject(jsonObject,Depart.class);
|
List<DepartListVo> departList = departService.findListForExport(depart,jsonObject.getString("token"));
|
ExcelUtils.downExcel(departList,DepartListVo.class,rsp,"部门列表");
|
}
|
|
@RequestMapping("pulldownList")
|
public BasicResult pulldownList(){
|
List<DepartGroupPullVo> departGroupPullVos = departService.pulldownList();
|
return BasicResult.success(departGroupPullVos);
|
}
|
|
@RequestMapping("addDepart")
|
public BasicResult addDepart(@RequestBody Depart depart){
|
departService.addDepart(depart);
|
return BasicResult.success();
|
}
|
|
/**
|
@RequestMapping("update")
|
public BasicResult update(@RequestBody Depart depart){
|
departService.update(depart);
|
return BasicResult.success();
|
}**/
|
|
@RequestMapping("delete")
|
public BasicResult delete(@RequestBody Depart depart){
|
departService.delete(depart.getDepartId());
|
return BasicResult.success();
|
}
|
|
@RequestMapping("departUserList")
|
public BasicResult departUserList(@RequestBody(required = false) DepartUserDto departUserDto, HttpServletRequest req){
|
PagingUtils.setPageParam(req);
|
List<PlatUser> platUserList = departService.departUserList(departUserDto);
|
PageInfo<PlatUser> pageInfo = new PageInfo<>(platUserList);
|
return BasicResult.success(pageInfo);
|
}
|
}
|