package com.wtkj.controller; import com.baomidou.mybatisplus.core.metadata.IPage; import com.github.xiaoymin.knife4j.annotations.ApiOperationSupport; import com.wtkj.entity.DeptToDept; import com.wtkj.service.IContactsService; import com.wtkj.service.IDeptToDeptService; import com.wtkj.vo.AuthUserInfo; import com.wtkj.wrapper.UserListWrapper; import io.swagger.annotations.Api; import io.swagger.annotations.ApiOperation; import lombok.AllArgsConstructor; import org.springblade.core.mp.support.Query; import org.springblade.core.tool.api.R; import org.springblade.system.entity.Dept; import org.springblade.system.feign.ISysClient; import org.springblade.system.user.entity.User; import org.springblade.system.user.feign.IUserClient; import org.springblade.system.vo.DeptVO; import org.springframework.web.bind.annotation.*; import javax.validation.Valid; import java.util.ArrayList; import java.util.List; /** * @author Blizzard * @create at 2023-09-14 11:13 * @describe */ @RestController @AllArgsConstructor @RequestMapping("/common") @Api(value = "公共模块", tags = "公共模块") public class CommonController { private final IDeptToDeptService deptToDeptService; private final ISysClient sysClient; private final IUserClient userClient; private final IContactsService contactsService; /** * 当前登录用户信息 */ @GetMapping("/user-info") @ApiOperation(value = "当前登录用户信息", notes = "") @ApiOperationSupport(order = 1) public R userInfo() { return R.data(deptToDeptService.userInfo()); } /** * 新建机构 */ @PostMapping("/sava-dept") @ApiOperation(value = "新建政府机构", notes = "传入DeptToDept") @ApiOperationSupport(order = 2) public R createDept(@RequestBody @Valid DeptToDept dept) { return R.status(deptToDeptService.saveOrUpdate(dept)); } /** * 机构搜索 */ @GetMapping("/get-dept") @ApiOperation(value = "搜索机构", notes = "") @ApiOperationSupport(order = 3) public R> list(Long topDept, String areaCode, String name, Integer category) { return R.data(deptToDeptService.getDept(topDept, areaCode, name, category)); } /** * 本机构下的机构 */ @GetMapping("/dept-by-parentId") @ApiOperation(value = "内部通讯录or懒加载树形结构", notes = "传入上级机构id") @ApiOperationSupport(order = 4) public R> deptList(@RequestParam Long parentId) { List res = new ArrayList<>(); R> rpc = sysClient.getDeptLazyList(parentId); if (rpc.isSuccess()) { res = rpc.getData(); } return R.data(res); } /** * 外部联系人 */ @GetMapping("/outer-dept") @ApiOperation(value = "外部联系人", notes = "传入登录用户的topDept,分页参数") @ApiOperationSupport(order = 5) public R address(@RequestParam Long topDept, Query query) { IPage page = contactsService.deptPage(topDept, query); return R.data(page); } /** * 搜索用户 */ @GetMapping("/get-user-list") @ApiOperationSupport(order = 6) @ApiOperation(value = "搜索用户", notes = "") public R getUserList(@RequestParam Long deptId, @RequestParam String name) { List list = new ArrayList<>(); R> rpc = userClient.getDeptUserList(deptId, name); if (rpc.isSuccess()) { list = rpc.getData(); } return R.data(UserListWrapper.build().listVO(list)); } }