APPPartnerController.java 9.4 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304
  1. package com.ydtech.modules.admin.controller;
  2. import com.alipay.api.AlipayApiException;
  3. import com.ydtech.core.page.HttpResult;
  4. import com.ydtech.exception.SystemException;
  5. import com.ydtech.modules.admin.model.SysPartnerAccount;
  6. import com.ydtech.modules.admin.model.SysPremiumDetails;
  7. import com.ydtech.modules.admin.model.dto.*;
  8. import com.ydtech.modules.admin.model.vo.*;
  9. import com.ydtech.modules.admin.service.SysPartnerService;
  10. import com.ydtech.modules.base.controller.BaseController;
  11. import com.ydtech.modules.order.entity.BasePageResult;
  12. import com.ydtech.modules.protocol.utils.AssertionUtils;
  13. import io.swagger.annotations.Api;
  14. import io.swagger.annotations.ApiOperation;
  15. import io.swagger.annotations.ApiParam;
  16. import lombok.extern.slf4j.Slf4j;
  17. import me.chanjar.weixin.common.error.WxErrorException;
  18. import org.springframework.web.bind.annotation.*;
  19. import javax.annotation.Resource;
  20. import java.util.List;
  21. @Api(tags = "合伙人app")
  22. @Slf4j
  23. @RestController
  24. @RequestMapping("/APPPartner")
  25. public class APPPartnerController extends BaseController {
  26. @Resource
  27. private SysPartnerService sysPartnerService;
  28. /**
  29. * 首页信息
  30. */
  31. @GetMapping("/getHomePage")
  32. @ApiOperation(value = "APP首页信息")
  33. public HttpResult<AppPartnerNumVo> getHomePage(@RequestParam("type") Integer type) {
  34. return HttpResult.ok("success", this.sysPartnerService.getHomePage(type));
  35. }
  36. /**
  37. * 个人信息
  38. *
  39. * @return
  40. */
  41. @GetMapping("/getUserInfo")
  42. @ApiOperation(value = "APP个人信息")
  43. public HttpResult<AppUserInfoVo> getUserInfo(@RequestParam("type") Integer type) {
  44. return HttpResult.ok("success",this.sysPartnerService.getUserInfo(type));
  45. }
  46. /**
  47. * APP账户金额
  48. *
  49. * @return
  50. */
  51. @GetMapping("/getFee")
  52. @ApiOperation(value = "APP账户金额")
  53. public HttpResult<SysPartnerAccount> getFee() {
  54. return HttpResult.ok("success",this.sysPartnerService.getFee());
  55. }
  56. /**
  57. * 登陆人下的每个等级合伙人统计信息
  58. */
  59. @PostMapping("/info")
  60. @ApiOperation(value = "APP登陆人下的每个等级合伙人统计信息")
  61. public HttpResult<List<AppSysPartnerVo>> partnerInfo(@RequestBody PartnerInfoDto partnerInfoDto) {
  62. return HttpResult.ok("success",this.sysPartnerService.partnerInfo(partnerInfoDto));
  63. }
  64. /**
  65. * 合伙人工作室详情 统计总费用
  66. */
  67. @PostMapping("/partnerLeaderInfo")
  68. @ApiOperation(value = "合伙人工作室详情")
  69. public HttpResult<PartnerLeaderInfoVo> partnerLeaderInfo(@RequestBody PartnerGradeInfo partnerGradeInfo) {
  70. return HttpResult.ok("success",this.sysPartnerService.partnerLeaderInfo(partnerGradeInfo));
  71. }
  72. /**
  73. * 筛选合伙人详情(未用)
  74. * @return
  75. */
  76. @PostMapping("/queryFilterPartnerInfo")
  77. @ApiOperation(value = "筛选合伙人详情")
  78. public HttpResult<FilterPartnerInfoVo> queryFilterPartnerInfo(@RequestBody FilterPartnerInfoDto filterPartnerInfoDto) {
  79. return HttpResult.ok("success",this.sysPartnerService.queryFilterPartnerInfo(filterPartnerInfoDto));
  80. }
  81. /**
  82. * 等级合伙人详情
  83. * @param partnerGradeInfo
  84. * @return
  85. */
  86. @PostMapping("/queryPartnerInfo")
  87. @ApiOperation(value = "等级合伙人详情")
  88. public HttpResult<PartnerInfoFreeVo> queryPartnerInfo(@RequestBody PartnerGradeInfo partnerGradeInfo) {
  89. return HttpResult.ok("success",this.sysPartnerService.queryPartnerInfo(partnerGradeInfo));
  90. }
  91. /**
  92. * 查看团队
  93. */
  94. @PostMapping("/getTeamInfo")
  95. @ApiOperation(value = "查看机构下团队信息")
  96. public HttpResult<APPPartnerInfoFreeVo> getTeamInfo(@RequestBody PartnerGradeInfo partnerGradeInfo) {
  97. return HttpResult.ok("success",this.sysPartnerService.getTeamInfo(partnerGradeInfo));
  98. }
  99. @PostMapping("/getTeamUserInfo")
  100. @ApiOperation(value = "查看团队下人员信息")
  101. public HttpResult<TeamUserInfosFreeVo> getTeamUserInfo(@RequestBody TeamUserInfosDto teamUserInfosDto) {
  102. return HttpResult.ok("success",this.sysPartnerService.getTeamUserInfo(teamUserInfosDto));
  103. }
  104. /**
  105. * 总佣金组成明细
  106. */
  107. @PostMapping("/getCommissionInfo")
  108. @ApiOperation(value = "总佣金组成明细")
  109. public HttpResult<BasePageResult<SysPremiumDetails>> getCommissionInfo(@RequestBody CommissionInfoDto commissionInfoDto) {
  110. if (commissionInfoDto.getPageNum() == 0) {
  111. commissionInfoDto.setPageNum(1);
  112. }
  113. if (commissionInfoDto.getPageSize() == 0) {
  114. commissionInfoDto.setPageSize(10);
  115. }
  116. return HttpResult.ok("success",this.sysPartnerService.getCommissionInfo(commissionInfoDto));
  117. }
  118. /**
  119. * 改版后的总佣金组成明细
  120. *
  121. * @return
  122. */
  123. @PostMapping("/getCommissionInfos")
  124. @ApiOperation(value = "改版后的总佣金组成明细")
  125. public HttpResult<List<SysPremiumDetailsVo>> getCommissionInfos(@RequestBody CommissionInfoDto commissionInfoDto) {
  126. return HttpResult.ok("success",this.sysPartnerService.getCommissionInfos(commissionInfoDto));
  127. }
  128. /**
  129. * app工作室新增人员统计
  130. */
  131. @PostMapping("/getCountUser")
  132. @ApiOperation(value = "app工作室新增人员统计")
  133. public HttpResult<CountUserVo> getCountUser(@RequestBody CountUserDto countUserDto) {
  134. return HttpResult.ok("success",this.sysPartnerService.getCountUser(countUserDto));
  135. }
  136. /**
  137. * app合伙人新增人员统计
  138. */
  139. @PostMapping("/getPartnerCount")
  140. @ApiOperation(value = "app合伙人新增人员统计")
  141. public HttpResult<PartnerCountVo> getPartnerCount(@RequestBody PartnerCountDto partnerCountDto) {
  142. return HttpResult.ok("success",this.sysPartnerService.getPartnerCount(partnerCountDto));
  143. }
  144. /**
  145. * 新增人员占比分析
  146. */
  147. @PostMapping("/getPartnerProportion")
  148. @ApiOperation(value = "新增人员占比分析")
  149. public HttpResult<PartnerProportionVo> getPartnerProportion(@RequestBody PartnerCountDto partnerCountDto) {
  150. return HttpResult.ok("success",this.sysPartnerService.getPartnerProportion(partnerCountDto));
  151. }
  152. /**
  153. * 排行榜
  154. */
  155. @GetMapping("/getLevelPartner")
  156. @ApiOperation(value = "排行榜")
  157. public HttpResult<List<LevelPartnerVo>> getLevelPartner(@RequestParam("type") @ApiParam("等级:1、2、3、4、5") Integer type) {
  158. return HttpResult.ok("success",this.sysPartnerService.getLevelPartner(type));
  159. }
  160. /**
  161. * 支付宝登录
  162. * @param alipayBindVo
  163. * @return
  164. */
  165. @PostMapping("/loginAlipay")
  166. @ApiOperation(value = "支付宝登录")
  167. public HttpResult<AAPLoginVo> loginAlipay(@RequestBody AlipayBindVo alipayBindVo) {
  168. log.info("支付宝登录入参:{}",alipayBindVo);
  169. try {
  170. return sysPartnerService.loginAlipay(alipayBindVo);
  171. } catch (AlipayApiException e) {
  172. log.info(e.getMessage());
  173. throw new SystemException("支付宝授权失败");
  174. }
  175. }
  176. /**
  177. * 工号绑定支付宝
  178. * @param alipayBindVo
  179. * @return
  180. * @throws AlipayApiException
  181. */
  182. @PostMapping("/bindAlipay")
  183. @ApiOperation(value = "工号绑定支付宝")
  184. HttpResult<Object> bindAlipay(@RequestBody AlipayBindVo alipayBindVo){
  185. log.info("支付宝绑定入参:{}",alipayBindVo);
  186. try {
  187. String userId = getUserId();
  188. return sysPartnerService.bindAlipay(alipayBindVo, userId);
  189. } catch (AlipayApiException e) {
  190. throw new SystemException("支付宝授权失败");
  191. }
  192. }
  193. /**
  194. * 是否绑定支付宝
  195. * @return
  196. */
  197. @ApiOperation(value = "是否绑定支付宝")
  198. @GetMapping(value = "/checkBindAlipay")
  199. public HttpResult checkBindAlipay() {
  200. String alipayId = sysPartnerService.checkBindAlipay();
  201. AssertionUtils.isStringEmpty(alipayId, "未绑定支付宝");
  202. return HttpResult.ok();
  203. }
  204. /**
  205. * 微信登录
  206. * @param wechatLoginVo
  207. * @return
  208. */
  209. @PostMapping("/loginWechat")
  210. @ApiOperation(value = "微信登录")
  211. public HttpResult<AAPLoginVo> loginWechat(@RequestBody WechatLoginVo wechatLoginVo) {
  212. log.info("微信登录入参:{}",wechatLoginVo);
  213. try {
  214. return sysPartnerService.loginWechat(wechatLoginVo);
  215. } catch (WxErrorException e) {
  216. log.info(e.getMessage());
  217. throw new SystemException("微信授权失败");
  218. }
  219. }
  220. /**
  221. * 工号绑定微信
  222. * @param wechatBindVo
  223. * @return
  224. * @throws WxErrorException
  225. */
  226. @PostMapping("/bindWechat")
  227. @ApiOperation(value = "工号绑定微信")
  228. HttpResult<Object> bindWechat(@RequestBody WechatBindVo wechatBindVo){
  229. log.info("微信绑定入参:{}",wechatBindVo);
  230. try {
  231. String userId = getUserId();
  232. return sysPartnerService.bindWechat(wechatBindVo, userId);
  233. } catch (WxErrorException e) {
  234. log.info(e.getMessage());
  235. throw new SystemException("微信授权失败");
  236. }
  237. }
  238. /**
  239. * 是否绑定微信
  240. */
  241. @ApiOperation(value = "是否绑定微信")
  242. @GetMapping(value = "/checkBindWechat")
  243. public HttpResult checkBindWechat() {
  244. String openId = sysPartnerService.checkBindWechat();
  245. AssertionUtils.isStringEmpty(openId, "未绑定微信");
  246. return HttpResult.ok();
  247. }
  248. }