UserInfoController.java 3.7 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586878889909192939495969798
  1. package com.zsElectric.boot.business.controller;
  2. import com.zsElectric.boot.business.service.UserInfoService;
  3. import com.zsElectric.boot.business.service.WFTOrderService;
  4. import com.zsElectric.boot.common.annotation.Log;
  5. import com.zsElectric.boot.common.enums.LogModuleEnum;
  6. import com.zsElectric.boot.security.util.SecurityUtils;
  7. import lombok.RequiredArgsConstructor;
  8. import org.springframework.web.bind.annotation.RequestMapping;
  9. import org.springframework.web.bind.annotation.RestController;
  10. import com.zsElectric.boot.business.model.form.UserInfoForm;
  11. import com.zsElectric.boot.business.model.query.UserInfoQuery;
  12. import com.zsElectric.boot.business.model.vo.UserInfoVO;
  13. import com.baomidou.mybatisplus.core.metadata.IPage;
  14. import com.zsElectric.boot.core.web.PageResult;
  15. import com.zsElectric.boot.core.web.Result;
  16. import io.swagger.v3.oas.annotations.Parameter;
  17. import io.swagger.v3.oas.annotations.tags.Tag;
  18. import io.swagger.v3.oas.annotations.Operation;
  19. import org.springframework.security.access.prepost.PreAuthorize;
  20. import org.springframework.validation.annotation.Validated;
  21. import org.springframework.web.bind.annotation.*;
  22. import jakarta.validation.Valid;
  23. /**
  24. * 个人用户信息前端控制层
  25. *
  26. * @author zsElectric
  27. * @since 2025-12-12 10:27
  28. */
  29. @Tag(name = "个人用户信息接口")
  30. @RestController
  31. @RequestMapping("/api/v1/user-info")
  32. @RequiredArgsConstructor
  33. public class UserInfoController {
  34. private final UserInfoService userInfoService;
  35. private final WFTOrderService wftOrderService;
  36. @Operation(summary = "个人用户信息分页列表")
  37. @GetMapping("/page")
  38. @PreAuthorize("@ss.hasPerm('business:user-info:query')")
  39. public PageResult<UserInfoVO> getUserInfoPage(UserInfoQuery queryParams ) {
  40. IPage<UserInfoVO> result = userInfoService.getUserInfoPage(queryParams);
  41. return PageResult.success(result);
  42. }
  43. /**
  44. * 账户退款
  45. * @return
  46. */
  47. @Operation(summary = "账户退款")
  48. @PutMapping("/refundOrder")
  49. @Log(value = "账户退款", module = LogModuleEnum.APP_ORDER)
  50. public Result<String> refundOrder(Long userId) throws Exception {
  51. return Result.success(wftOrderService.refundOrder(userId));
  52. }
  53. @Operation(summary = "新增个人用户信息")
  54. @PostMapping
  55. @PreAuthorize("@ss.hasPerm('business:user-info:add')")
  56. public Result<Void> saveUserInfo(@RequestBody @Valid UserInfoForm formData ) {
  57. boolean result = userInfoService.saveUserInfo(formData);
  58. return Result.judge(result);
  59. }
  60. @Operation(summary = "获取个人用户信息表单数据")
  61. @GetMapping("/{id}/form")
  62. @PreAuthorize("@ss.hasPerm('business:user-info:edit')")
  63. public Result<UserInfoForm> getUserInfoForm(
  64. @Parameter(description = "个人用户信息ID") @PathVariable Long id
  65. ) {
  66. UserInfoForm formData = userInfoService.getUserInfoFormData(id);
  67. return Result.success(formData);
  68. }
  69. @Operation(summary = "修改个人用户信息")
  70. @PutMapping(value = "/{id}")
  71. @PreAuthorize("@ss.hasPerm('business:user-info:edit')")
  72. public Result<Void> updateUserInfo(
  73. @Parameter(description = "个人用户信息ID") @PathVariable Long id,
  74. @RequestBody @Validated UserInfoForm formData
  75. ) {
  76. boolean result = userInfoService.updateUserInfo(id, formData);
  77. return Result.judge(result);
  78. }
  79. @Operation(summary = "删除个人用户信息")
  80. @DeleteMapping("/{ids}")
  81. @PreAuthorize("@ss.hasPerm('business:user-info:delete')")
  82. public Result<Void> deleteUserInfos(
  83. @Parameter(description = "个人用户信息ID,多个以英文逗号(,)分割") @PathVariable String ids
  84. ) {
  85. boolean result = userInfoService.deleteUserInfos(ids);
  86. return Result.judge(result);
  87. }
  88. }