|
@@ -0,0 +1,140 @@
|
|
|
+package cn.iocoder.yudao.module.system.controller.admin.userAchievement;
|
|
|
+
|
|
|
+import cn.iocoder.yudao.framework.security.core.util.SecurityFrameworkUtils;
|
|
|
+import cn.iocoder.yudao.module.system.service.dept.DeptService;
|
|
|
+import cn.iocoder.yudao.module.system.service.user.AdminUserService;
|
|
|
+import cn.iocoder.yudao.module.system.service.user.AdminUserServiceImpl;
|
|
|
+import org.springframework.web.bind.annotation.*;
|
|
|
+import javax.annotation.Resource;
|
|
|
+import org.springframework.validation.annotation.Validated;
|
|
|
+import org.springframework.security.access.prepost.PreAuthorize;
|
|
|
+import io.swagger.v3.oas.annotations.tags.Tag;
|
|
|
+import io.swagger.v3.oas.annotations.Parameter;
|
|
|
+import io.swagger.v3.oas.annotations.Operation;
|
|
|
+
|
|
|
+import javax.validation.constraints.*;
|
|
|
+import javax.validation.*;
|
|
|
+import javax.servlet.http.*;
|
|
|
+import java.util.*;
|
|
|
+import java.io.IOException;
|
|
|
+
|
|
|
+import cn.iocoder.yudao.framework.common.pojo.PageParam;
|
|
|
+import cn.iocoder.yudao.framework.common.pojo.PageResult;
|
|
|
+import cn.iocoder.yudao.framework.common.pojo.CommonResult;
|
|
|
+import cn.iocoder.yudao.framework.common.util.object.BeanUtils;
|
|
|
+import static cn.iocoder.yudao.framework.common.pojo.CommonResult.success;
|
|
|
+
|
|
|
+import cn.iocoder.yudao.framework.excel.core.util.ExcelUtils;
|
|
|
+
|
|
|
+import cn.iocoder.yudao.framework.apilog.core.annotation.ApiAccessLog;
|
|
|
+import static cn.iocoder.yudao.framework.apilog.core.enums.OperateTypeEnum.*;
|
|
|
+
|
|
|
+import cn.iocoder.yudao.module.system.controller.admin.userAchievement.vo.*;
|
|
|
+import cn.iocoder.yudao.module.system.dal.dataobject.userAchievement.UserAchievementDO;
|
|
|
+import cn.iocoder.yudao.module.system.service.userAchievement.UserAchievementService;
|
|
|
+
|
|
|
+@Tag(name = "管理后台 - 成果")
|
|
|
+@RestController
|
|
|
+@RequestMapping("/system/user-achievement")
|
|
|
+@Validated
|
|
|
+public class UserAchievementController {
|
|
|
+
|
|
|
+ @Resource
|
|
|
+ private UserAchievementService userAchievementService;
|
|
|
+
|
|
|
+
|
|
|
+ @Resource
|
|
|
+ private DeptService deptService;
|
|
|
+
|
|
|
+ @PostMapping("/create")
|
|
|
+ @Operation(summary = "创建成果")
|
|
|
+ @PreAuthorize("@ss.hasPermission('system:user-achievement:create')")
|
|
|
+ public CommonResult<Integer> createUserAchievement(@Valid @RequestBody UserAchievementSaveReqVO createReqVO) {
|
|
|
+ Long deptId = SecurityFrameworkUtils.getLoginUserDeptId(); //获取当前登录人的id
|
|
|
+ createReqVO.setDept_id(deptId);
|
|
|
+ return success(userAchievementService.createUserAchievement(createReqVO));
|
|
|
+ }
|
|
|
+
|
|
|
+ @PostMapping("/selfCreate")
|
|
|
+ @Operation(summary = "创建自己的成果")
|
|
|
+ @PreAuthorize("@ss.hasPermission('system:user-achievement:selfCreate')")
|
|
|
+ public CommonResult<Integer> createSelfAchievement(@Valid @RequestBody SelfAchievementSaveReqVO createReqVO) {
|
|
|
+ Long deptId = SecurityFrameworkUtils.getLoginUserDeptId(); //获取当前登录人的部门id
|
|
|
+ Long userId = SecurityFrameworkUtils.getLoginUserId();
|
|
|
+ String username = SecurityFrameworkUtils.getLoginUserNickname();
|
|
|
+
|
|
|
+ createReqVO.setUserId(userId);
|
|
|
+ createReqVO.setDept_id(deptId);
|
|
|
+ createReqVO.setUserName(username);
|
|
|
+
|
|
|
+ return success(userAchievementService.createSelfAchievement(createReqVO));
|
|
|
+ }
|
|
|
+
|
|
|
+ @PutMapping("/update")
|
|
|
+ @Operation(summary = "更新成果")
|
|
|
+ @PreAuthorize("@ss.hasPermission('system:user-achievement:update')")
|
|
|
+ public CommonResult<Boolean> updateUserAchievement(@Valid @RequestBody UserAchievementSaveReqVO updateReqVO) {
|
|
|
+ userAchievementService.updateUserAchievement(updateReqVO);
|
|
|
+ return success(true);
|
|
|
+ }
|
|
|
+
|
|
|
+ @PutMapping("/selfUpdate")
|
|
|
+ @Operation(summary = "更新自己的成果")
|
|
|
+ @PreAuthorize("@ss.hasPermission('system:user-achievement:selfUpdate')")
|
|
|
+ public CommonResult<Boolean> updateUserAchievement(@Valid @RequestBody SelfAchievementSaveReqVO updateReqVO) {
|
|
|
+ userAchievementService.updateSelfAchievement(updateReqVO);
|
|
|
+ return success(true);
|
|
|
+ }
|
|
|
+
|
|
|
+ @DeleteMapping("/delete")
|
|
|
+ @Operation(summary = "删除成果")
|
|
|
+ @Parameter(name = "id", description = "编号", required = true)
|
|
|
+ @PreAuthorize("@ss.hasPermission('system:user-achievement:delete')")
|
|
|
+ public CommonResult<Boolean> deleteUserAchievement(@RequestParam("id") Integer id) {
|
|
|
+ userAchievementService.deleteUserAchievement(id);
|
|
|
+ return success(true);
|
|
|
+ }
|
|
|
+
|
|
|
+ @GetMapping("/get")
|
|
|
+ @Operation(summary = "获得成果")
|
|
|
+ @Parameter(name = "id", description = "编号", required = true, example = "1024")
|
|
|
+ @PreAuthorize("@ss.hasPermission('system:user-achievement:detail')")
|
|
|
+ public CommonResult<UserAchievementRespVO> getUserAchievement(@RequestParam("id") Integer id) {
|
|
|
+ UserAchievementDO userAchievement = userAchievementService.getUserAchievement(id);
|
|
|
+ return success(BeanUtils.toBean(userAchievement, UserAchievementRespVO.class));
|
|
|
+ }
|
|
|
+
|
|
|
+ @GetMapping("/page")
|
|
|
+ @Operation(summary = "获得工作间下成员成果分页")
|
|
|
+ @PreAuthorize("@ss.hasPermission('system:user-achievement:query')")
|
|
|
+ public CommonResult<PageResult<UserAchievementRespVO>> getUserAchievementPage(@Valid UserAchievementPageReqVO pageReqVO) {
|
|
|
+ PageResult<UserAchievementDO>pageResult = userAchievementService.getUserAchievementPage(pageReqVO);
|
|
|
+
|
|
|
+ System.out.println(pageResult);
|
|
|
+ return success(BeanUtils.toBean(pageResult, UserAchievementRespVO.class));
|
|
|
+ }
|
|
|
+
|
|
|
+ @GetMapping("/export-excel")
|
|
|
+ @Operation(summary = "导出成果 Excel")
|
|
|
+ @PreAuthorize("@ss.hasPermission('system:user-achievement:export')")
|
|
|
+ @ApiAccessLog(operateType = EXPORT)
|
|
|
+ public void exportUserAchievementExcel(@Valid UserAchievementPageReqVO pageReqVO,
|
|
|
+ HttpServletResponse response) throws IOException {
|
|
|
+ pageReqVO.setPageSize(PageParam.PAGE_SIZE_NONE);
|
|
|
+ List<UserAchievementDO> list = userAchievementService.getUserAchievementPage(pageReqVO).getList();
|
|
|
+ // 导出 Excel
|
|
|
+ ExcelUtils.write(response, "成果.xls", "数据", UserAchievementRespVO.class,
|
|
|
+ BeanUtils.toBean(list, UserAchievementRespVO.class));
|
|
|
+ }
|
|
|
+
|
|
|
+ @GetMapping("/selfPage")
|
|
|
+ @Operation(summary = "获得自己的成果分页")
|
|
|
+ @PreAuthorize("@ss.hasPermission('system:user-achievement:selfQuery')")
|
|
|
+ public CommonResult<PageResult<UserAchievementRespVO>> getSelfAchievementPage(@Valid UserAchievementPageReqVO pageReqVO) {
|
|
|
+ PageResult<UserAchievementDO>pageResult = userAchievementService.getSelfAchievementPage(pageReqVO);
|
|
|
+
|
|
|
+ System.out.println(pageResult);
|
|
|
+ return success(BeanUtils.toBean(pageResult, UserAchievementRespVO.class));
|
|
|
+ }
|
|
|
+
|
|
|
+}
|