WxAuthApi.java 5.6 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110
  1. package com.caimei.controller.wechat;
  2. import com.caimei.model.ResponseJson;
  3. import com.caimei.model.vo.*;
  4. import com.caimei.module.base.entity.vo.AuthProductVo;
  5. import com.caimei.service.auth.AuthClubService;
  6. import com.caimei.service.auth.AuthProductService;
  7. import com.caimei.service.auth.DoctorService;
  8. import com.github.pagehelper.PageInfo;
  9. import io.swagger.annotations.Api;
  10. import io.swagger.annotations.ApiImplicitParam;
  11. import io.swagger.annotations.ApiImplicitParams;
  12. import io.swagger.annotations.ApiOperation;
  13. import lombok.RequiredArgsConstructor;
  14. import lombok.extern.slf4j.Slf4j;
  15. import org.springframework.web.bind.annotation.GetMapping;
  16. import org.springframework.web.bind.annotation.RequestMapping;
  17. import org.springframework.web.bind.annotation.RequestParam;
  18. import org.springframework.web.bind.annotation.RestController;
  19. /**
  20. * @author Aslee
  21. */
  22. @Api(tags = "微信品牌认证API")
  23. @Slf4j
  24. @RestController
  25. @RequiredArgsConstructor
  26. @RequestMapping("/wx/auth")
  27. public class WxAuthApi {
  28. private final AuthClubService authClubService;
  29. private final AuthProductService authProductService;
  30. private final DoctorService doctorService;
  31. @ApiOperation("供应商信息")
  32. @ApiImplicitParam(name = "appId", required = true, value = "供应商公众号appId")
  33. @GetMapping("/shop/info")
  34. public ResponseJson<WxShopVo> getWxShopInfo(String appId) {
  35. return authClubService.getWxShopInfo(appId);
  36. }
  37. @ApiOperation("已认证机构列表")
  38. @ApiImplicitParams({
  39. @ApiImplicitParam(name = "appId", required = true, value = "供应商公众号appId"),
  40. @ApiImplicitParam(name = "lngAndLat", required = false, value = "用户当前经纬度"),
  41. @ApiImplicitParam(name = "clubName", required = false, value = "机构名称"),
  42. @ApiImplicitParam(name = "provinceId", required = false, value = "省id"),
  43. @ApiImplicitParam(name = "cityId", required = false, value = "市id"),
  44. @ApiImplicitParam(name = "townId", required = false, value = "区id"),
  45. @ApiImplicitParam(name = "pageNum", required = false, value = "第几页"),
  46. @ApiImplicitParam(name = "pageSize", required = false, value = "一页多少条")
  47. })
  48. @GetMapping("/club/list")
  49. public ResponseJson<PageInfo<WxClubListVo>> getWxClubList(String appId, String lngAndLat, String clubName, Integer provinceId,
  50. Integer cityId, Integer townId,
  51. @RequestParam(value = "pageNum", defaultValue = "1") Integer pageNum,
  52. @RequestParam(value = "pageSize", defaultValue = "10") Integer pageSize) {
  53. return authClubService.getWxClubList(appId, lngAndLat, clubName, provinceId, cityId, townId, pageNum, pageSize);
  54. }
  55. @ApiOperation("已认证机构详情")
  56. @ApiImplicitParam(required = false, name = "authId", value = "正品联盟机构Id")
  57. @GetMapping("/club/details")
  58. public ResponseJson<WxClubDetailsVo> getWxClubDetails(Integer authId) {
  59. return authClubService.getWxClubDetails(authId);
  60. }
  61. @ApiOperation("已认证商品列表")
  62. @ApiImplicitParams({
  63. @ApiImplicitParam(name = "appId", required = true, value = "供应商公众号appId"),
  64. @ApiImplicitParam(name = "productName", required = false, value = "商品名称"),
  65. @ApiImplicitParam(name = "pageNum", required = false, value = "第几页"),
  66. @ApiImplicitParam(name = "pageSize", required = false, value = "一页多少条")
  67. })
  68. @GetMapping("/product/list")
  69. public ResponseJson<PageInfo<WxProductListVo>> getWxProductList(String appId, String productName,
  70. @RequestParam(value = "pageNum", defaultValue = "1") Integer pageNum,
  71. @RequestParam(value = "pageSize", defaultValue = "10") Integer pageSize) {
  72. return authProductService.getWxProductList(appId, productName, pageNum, pageSize);
  73. }
  74. @ApiOperation("已认证商品详情")
  75. @ApiImplicitParam(required = false, name = "productId", value = "正品联盟商品Id")
  76. @GetMapping("/product/details")
  77. public ResponseJson<AuthProductVo> getAuthProductDetails(Integer productId) {
  78. return authProductService.getAuthProductDetails(productId);
  79. }
  80. @ApiOperation("已认证医师列表")
  81. @ApiImplicitParams({
  82. @ApiImplicitParam(name = "appId", required = true, value = "供应商公众号appId"),
  83. @ApiImplicitParam(name = "doctorName", required = false, value = "医师名称"),
  84. @ApiImplicitParam(name = "pageNum", required = false, value = "第几页"),
  85. @ApiImplicitParam(name = "pageSize", required = false, value = "一页多少条")
  86. })
  87. @GetMapping("/doctor/list")
  88. public ResponseJson<PageInfo<WxDoctorListVo>> getWxDoctorList(String appId, String doctorName,
  89. @RequestParam(value = "pageNum", defaultValue = "1") Integer pageNum,
  90. @RequestParam(value = "pageSize", defaultValue = "10") Integer pageSize) {
  91. return doctorService.getWxDoctorList(appId, doctorName, pageNum, pageSize);
  92. }
  93. @ApiOperation("已认证医师详情")
  94. @ApiImplicitParam(required = false, name = "doctorId", value = "正品联盟医师Id")
  95. @GetMapping("/doctor/details")
  96. public ResponseJson<DoctorFormVo> getAuthDoctorDetails(Integer doctorId) {
  97. return doctorService.getAuthDoctorDetails(doctorId);
  98. }
  99. }