UserController.java 3.5 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485868788899091929394959697
  1. package com.zhongzheng.controller.user;
  2. import com.zhongzheng.common.annotation.Log;
  3. import com.zhongzheng.common.core.controller.BaseController;
  4. import com.zhongzheng.common.core.domain.AjaxResult;
  5. import com.zhongzheng.common.core.page.TableDataInfo;
  6. import com.zhongzheng.common.enums.BusinessType;
  7. import com.zhongzheng.common.utils.ServletUtils;
  8. import com.zhongzheng.common.utils.poi.ExcelUtil;
  9. import com.zhongzheng.framework.web.service.WxTokenService;
  10. import com.zhongzheng.modules.course.vo.CourseVo;
  11. import com.zhongzheng.modules.user.bo.RanKingUserQuery;
  12. import com.zhongzheng.modules.user.bo.UserAddBo;
  13. import com.zhongzheng.modules.user.bo.UserEditBo;
  14. import com.zhongzheng.modules.user.bo.UserQueryBo;
  15. import com.zhongzheng.modules.user.entity.ClientLoginUser;
  16. import com.zhongzheng.modules.user.service.IUserService;
  17. import com.zhongzheng.modules.user.vo.RanKingUser;
  18. import com.zhongzheng.modules.user.vo.UserBankRecordVo;
  19. import com.zhongzheng.modules.user.vo.UserStudyRecordVo;
  20. import com.zhongzheng.modules.user.vo.UserVo;
  21. import io.swagger.annotations.Api;
  22. import io.swagger.annotations.ApiOperation;
  23. import lombok.RequiredArgsConstructor;
  24. import org.springframework.beans.factory.annotation.Autowired;
  25. import org.springframework.security.access.prepost.PreAuthorize;
  26. import org.springframework.web.bind.annotation.*;
  27. import java.math.BigDecimal;
  28. import java.util.Arrays;
  29. import java.util.HashMap;
  30. import java.util.List;
  31. import java.util.Map;
  32. /**
  33. * 客户端用户Controller
  34. *
  35. * @author hjl
  36. * @date 2021-06-08
  37. */
  38. @Api(value = "用户控制器", tags = {"客户端用户管理"})
  39. @RequiredArgsConstructor(onConstructor_ = @Autowired)
  40. @RestController
  41. @RequestMapping("/app/user")
  42. public class UserController extends BaseController {
  43. private final IUserService iUserService;
  44. private final WxTokenService wxTokenService;
  45. /**
  46. * 修改客户端用户
  47. */
  48. @ApiOperation("修改客户端用户")
  49. @Log(title = "客户端用户", businessType = BusinessType.UPDATE)
  50. @PostMapping("/edit")
  51. public AjaxResult<Void> edit(@RequestBody UserEditBo bo) throws IllegalAccessException {
  52. ClientLoginUser loginUser = wxTokenService.getLoginUser(ServletUtils.getRequest());
  53. bo.setUserId(loginUser.getUser().getUserId());
  54. bo.setNull();
  55. return toAjax(iUserService.updateByEditBo(bo) ? 1 : 0);
  56. }
  57. /**
  58. * 收藏数等数据
  59. */
  60. @ApiOperation("收藏数等数据")
  61. @GetMapping("/infoAttached")
  62. public AjaxResult infoAttached() {
  63. ClientLoginUser loginUser = wxTokenService.getLoginUser(ServletUtils.getRequest());
  64. int collectTotal = iUserService.getCollectTotal(loginUser.getUser().getUserId());
  65. Integer rank = iUserService.getRank(loginUser.getUser().getUserId());
  66. Integer issue = iUserService.getIssue(loginUser.getUser().getUserId());
  67. Integer lookNum = iUserService.getLookNum(loginUser.getUser().getUserId());
  68. Map<String,Object> map = new HashMap<>();
  69. map.put("collectTotal",collectTotal);
  70. map.put("rank",rank);
  71. map.put("issue",issue);
  72. map.put("lookNum",lookNum);
  73. return AjaxResult.success(map);
  74. }
  75. /**
  76. * 排行榜
  77. */
  78. @ApiOperation("排行榜")
  79. @GetMapping("/rankingList")
  80. public AjaxResult<RanKingUser> rankingList(RanKingUserQuery bo) {
  81. ClientLoginUser loginUser = wxTokenService.getLoginUser(ServletUtils.getRequest());
  82. bo.setUserId(loginUser.getUser().getUserId());
  83. RanKingUser list = iUserService.rankingList(bo);
  84. return AjaxResult.success(list);
  85. }
  86. }