AppletUserController.java 4.4 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899
  1. package com.zsElectric.boot.business.controller.applet;
  2. import com.baomidou.mybatisplus.core.metadata.IPage;
  3. import com.baomidou.mybatisplus.core.toolkit.Wrappers;
  4. import com.zsElectric.boot.business.model.entity.UserFeedback;
  5. import com.zsElectric.boot.business.model.form.UserFeedbackForm;
  6. import com.zsElectric.boot.business.model.form.applet.AppFeedbackForm;
  7. import com.zsElectric.boot.business.model.query.CouponTemplateQuery;
  8. import com.zsElectric.boot.business.model.query.applet.AppCouponQuery;
  9. import com.zsElectric.boot.business.model.vo.CouponTemplateVO;
  10. import com.zsElectric.boot.business.model.vo.CouponVO;
  11. import com.zsElectric.boot.business.model.vo.applet.AppCouponStatusNumVO;
  12. import com.zsElectric.boot.business.model.vo.applet.AppletUserInfoVO;
  13. import com.zsElectric.boot.business.service.CouponService;
  14. import com.zsElectric.boot.business.service.CouponTemplateService;
  15. import com.zsElectric.boot.business.service.UserFeedbackService;
  16. import com.zsElectric.boot.business.service.UserInfoService;
  17. import com.zsElectric.boot.common.constant.SystemConstants;
  18. import com.zsElectric.boot.core.web.Result;
  19. import com.zsElectric.boot.security.util.SecurityUtils;
  20. import io.swagger.v3.oas.annotations.Operation;
  21. import io.swagger.v3.oas.annotations.tags.Tag;
  22. import jakarta.validation.Valid;
  23. import lombok.RequiredArgsConstructor;
  24. import org.springframework.web.bind.annotation.*;
  25. import java.util.List;
  26. @Tag(name = "用户相关接口")
  27. @RestController
  28. @RequestMapping("/applet/v1/user")
  29. @RequiredArgsConstructor
  30. public class AppletUserController {
  31. private final UserInfoService userInfoService;
  32. private final UserFeedbackService userFeedbackService;
  33. private final CouponService couponService;
  34. private final CouponTemplateService couponTemplateService;
  35. @Operation(summary = "微信小程序获取当前登录信息")
  36. @GetMapping("/getUserInfo")
  37. public Result<AppletUserInfoVO> getUserInfo() {
  38. AppletUserInfoVO userInfoVO = userInfoService.getAppletUserInfo();
  39. return Result.success(userInfoVO);
  40. }
  41. @Operation(summary = "用户绑定企业")
  42. @PostMapping("/userBinding/{userId}/{firmId}")
  43. public Result<Boolean> userBinding(@PathVariable("userId") Long userId, @PathVariable("firmId") Long firmId) {
  44. Boolean result = userInfoService.userBinding(userId, firmId);
  45. return Result.judge(result);
  46. }
  47. @Operation(summary = "小程序用户反馈")
  48. @PostMapping("/addUserFeedback")
  49. public Result<Void> addUserFeedback(@RequestBody @Valid AppFeedbackForm formData ) {
  50. UserFeedbackForm userFeedbackForm = new UserFeedbackForm();
  51. userFeedbackForm.setType(formData.getType());
  52. userFeedbackForm.setUserId(SecurityUtils.getUserId());
  53. userFeedbackForm.setDescription(formData.getDescription());
  54. userFeedbackForm.setImages(formData.getImages());
  55. userFeedbackForm.setContactWay(formData.getContactWay());
  56. boolean result = userFeedbackService.saveUserFeedback(userFeedbackForm);
  57. return Result.judge(result);
  58. }
  59. @Operation(summary = "用户反馈答复")
  60. @GetMapping("/myFeedback")
  61. public Result<List<UserFeedback>> addUserFeedback() {
  62. List<UserFeedback> list = userFeedbackService.list(Wrappers.<UserFeedback>lambdaQuery().eq(UserFeedback::getUserId, SecurityUtils.getUserId()));
  63. return Result.success(list);
  64. }
  65. @Operation(summary = "个人优惠券列表")
  66. @PostMapping("/getCouponPage")
  67. public Result<IPage<CouponVO>> getCouponPage(@RequestBody AppCouponQuery queryParams) {
  68. IPage<CouponVO> result = couponService.getUserCouponPage(queryParams);
  69. return Result.success(result);
  70. }
  71. @Operation(summary = "获取个人优惠券数量")
  72. @GetMapping("/getCouponStatusNum")
  73. public Result<AppCouponStatusNumVO> getCouponStatusNum() {
  74. AppCouponStatusNumVO result = couponService.getCouponStatusNum(SecurityUtils.getUserId());
  75. return Result.success(result);
  76. }
  77. @Operation(summary = "待领取优惠券列表")
  78. @GetMapping("/getCouponTemplatePage")
  79. public Result<IPage<CouponTemplateVO>> getAppCouponTemplatePage() {
  80. CouponTemplateQuery CouponTemplateQuery = new CouponTemplateQuery();
  81. CouponTemplateQuery.setStatus(SystemConstants.STATUS_ONE);
  82. IPage<CouponTemplateVO> result = couponTemplateService.getCouponTemplatePage(CouponTemplateQuery);
  83. return Result.success(result);
  84. }
  85. }