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 departList = departService.findList(depart); PageInfo pageInfo = new PageInfo<>(departList); return BasicResult.success(pageInfo); } @RequestMapping("export") public void export(String authcode, HttpServletResponse rsp){ RBucket 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 departList = departService.findListForExport(depart,jsonObject.getString("token")); ExcelUtils.downExcel(departList,DepartListVo.class,rsp,"部门列表"); } @RequestMapping("pulldownList") public BasicResult pulldownList(){ List 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 platUserList = departService.departUserList(departUserDto); PageInfo pageInfo = new PageInfo<>(platUserList); return BasicResult.success(pageInfo); } }