package com.thhy.staff.modules.biz.group.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.annotations.Excel;
|
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.group.entity.*;
|
import com.thhy.staff.modules.biz.platuser.entity.PlatUser;
|
import com.thhy.staff.modules.biz.platuser.service.PlatUserService;
|
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.group.service.GroupService;
|
|
import java.util.HashMap;
|
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:25:03
|
*/
|
@RestController
|
@RequestMapping("group")
|
public class GroupController {
|
|
|
@Autowired
|
private GroupService groupService;
|
|
@Autowired
|
private PlatUserService platUserService;
|
|
@Autowired
|
private RedissonClient redissonClient;
|
|
@Autowired
|
private GlobalConfig globalConfig;
|
|
@RequestMapping("findList")
|
public BasicResult findList(@RequestBody(required = false) Group group,HttpServletRequest req){
|
PagingUtils.setPageParam(req);
|
List<GroupListVo> groupList = groupService.findList(group);
|
PageInfo<GroupListVo> pageInfo = new PageInfo<>(groupList);
|
return BasicResult.success(pageInfo);
|
}
|
|
@RequestMapping("pulldown")
|
public BasicResult pulldown(){
|
List<HashMap<String,Object>> groupList = groupService.pulldown();
|
return BasicResult.success(groupList);
|
}
|
|
@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);
|
Group group = JSON.toJavaObject(jsonObject,Group.class);
|
List<GroupListVo> groupList = groupService.findList(group);
|
ExcelUtils.downExcel(groupList,GroupListVo.class,rsp,"班组列表");
|
}
|
|
@RequestMapping("addGroup")
|
public BasicResult addGroup(@RequestBody Group group){
|
groupService.addGroup(group);
|
return BasicResult.success();
|
}
|
|
/**
|
@RequestMapping("update")
|
public BasicResult update(@RequestBody Group group){
|
groupService.update(group);
|
return BasicResult.success();
|
}**/
|
|
@RequestMapping("delete")
|
public BasicResult delete(@RequestBody Group group){
|
groupService.delete(group.getGroupId());
|
return BasicResult.success();
|
}
|
|
@RequestMapping("groupUserList")
|
public BasicResult groupUserList(@RequestBody(required = false) GroupUserDto groupUserDto,HttpServletRequest req){
|
PagingUtils.setPageParam(req);
|
List<GroupPlatUserVo> groupList = groupService.groupUserList(groupUserDto);
|
PageInfo<GroupPlatUserVo> pageInfo = new PageInfo<>(groupList);
|
return BasicResult.success(pageInfo);
|
}
|
|
@RequestMapping("groupUserExport")
|
public void groupUserExport(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);
|
}
|
Group group = JSON.toJavaObject(JSON.parseObject(param),Group.class);
|
GroupListVo groupListVo = groupService.queryGroupInfo(new Group().setGroupId(group.getGroupId()));
|
List<GroupPlatUserVo> groupList = groupService.groupUserList(new GroupUserDto().setGroupId(group.getGroupId()));
|
String fileName = groupListVo.getGroupName()+"-成员"+groupListVo.getGroupUserCount()+"人列表";
|
ExcelUtils.downExcel(groupList,GroupPlatUserVo.class,rsp,fileName);
|
}
|
|
@RequestMapping("groupUserDelete")
|
public BasicResult groupUserDelete(@RequestBody(required = false) GroupUser groupUser, HttpServletRequest req){
|
groupService.groupUserDelete(groupUser);
|
return BasicResult.success();
|
}
|
|
@RequestMapping("groupUserAdd")
|
public BasicResult groupUserAdd(@RequestBody(required = false) GroupUserDto groupUserDto, HttpServletRequest req){
|
groupService.groupUserAdd(groupUserDto);
|
return BasicResult.success();
|
}
|
|
@RequestMapping("setGroupAdmin")
|
public BasicResult setGroupAdmin(@RequestBody(required = false) GroupUser groupUser, HttpServletRequest req){
|
groupService.setGroupAdmin(groupUser);
|
PlatUser platUser = platUserService.get(groupUser.getUserId());
|
return BasicResult.success(platUser.getRealName());
|
}
|
|
@RequestMapping("cancelGroupAdmin")
|
public BasicResult cancelGroupAdmin(@RequestBody(required = false) GroupUser groupUser, HttpServletRequest req){
|
groupService.cancelGroupAdmin(groupUser);
|
return BasicResult.success();
|
}
|
}
|