PartnerUserController.java 7.4 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269
  1. package com.jzg.controller;
  2. import cn.hutool.extra.spring.SpringUtil;
  3. import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
  4. import com.jzg.commons.core.base.BaseController;
  5. import com.jzg.commons.core.page.HttpResult;
  6. import com.jzg.commons.entity.po.SysUserJzgInfo;
  7. import com.jzg.commons.entity.vo.SysUserVo;
  8. import com.jzg.entity.PartnerUser;
  9. import com.jzg.entity.param.QueryVo;
  10. import com.jzg.entity.param.UserGradeParam;
  11. import com.jzg.service.PartnerUserService;
  12. import com.jzg.utils.ContactQrCodeUtils;
  13. import com.jzg.utils.TimedTaskUtils;
  14. import com.jzg.utils.UpdateRatioUtils;
  15. import lombok.RequiredArgsConstructor;
  16. import org.springframework.beans.factory.annotation.Autowired;
  17. import org.springframework.web.bind.annotation.*;
  18. import java.util.List;
  19. import java.util.Map;
  20. /**
  21. * 合伙人
  22. */
  23. @RestController
  24. @RequestMapping("/partner")
  25. @RequiredArgsConstructor
  26. public class PartnerUserController extends BaseController {
  27. @Autowired
  28. private PartnerUserService partnerUserService;
  29. @PostMapping("commissionInitialization")
  30. public void commissionInitialization(@RequestBody List<String> infoId){
  31. partnerUserService.commissionInitialization(infoId);
  32. }
  33. @PostMapping("teamInvitation")
  34. public boolean teamInvitation(@RequestBody SysUserJzgInfo info) {
  35. return partnerUserService.teamInvitation(info);
  36. }
  37. @GetMapping("isTherePartner")
  38. public HttpResult isTherePartner(@RequestParam String userId, @RequestParam String systemCode) {
  39. return partnerUserService.isTherePartner(userId, systemCode);
  40. }
  41. @PostMapping("addPartnerRule")
  42. public HttpResult addPartnerRule(@RequestBody SysUserVo sysUserVo) {
  43. return partnerUserService.addPartnerRule(sysUserVo, sysUserVo.getGradeList(), getToken());
  44. }
  45. @GetMapping("partnerDetails")
  46. public HttpResult partnerDetails(@RequestParam String userId) {
  47. return partnerUserService.partnerDetails(userId);
  48. }
  49. @GetMapping("searchUserStudios")
  50. public PartnerUser searchUserStudios(@RequestParam String userId) {
  51. return partnerUserService.searchUserStudios(userId);
  52. }
  53. @GetMapping("enableDisable")
  54. public HttpResult enableDisable(@RequestParam("userId") String userId, @RequestParam("status") boolean status) {
  55. return partnerUserService.enableDisable(userId, status, getToken());
  56. }
  57. @PostMapping("/save")
  58. public HttpResult<String> add(@RequestBody PartnerUser partnerUser) {
  59. boolean exists = partnerUserService.exists(new LambdaQueryWrapper<>(PartnerUser.class).eq(PartnerUser::getUserId, partnerUser.getUserId())
  60. .eq(PartnerUser::getGrade, partnerUser.getGrade()));
  61. if (exists) {
  62. return HttpResult.error("已存在业务员身份");
  63. }
  64. return HttpResult.ok(partnerUserService.save(partnerUser) ? "添加成功" : "添加失败");
  65. }
  66. @PostMapping("/update")
  67. public HttpResult update(@RequestBody PartnerUser partnerUser) {
  68. return HttpResult.ok(partnerUserService.updateById(partnerUser) ? "修改成功" : "修改失败");
  69. }
  70. @PostMapping("/queryPage")
  71. public HttpResult queryPage(@RequestBody QueryVo queryVo) {
  72. return HttpResult.ok(partnerUserService.queryPage(queryVo));
  73. }
  74. /**
  75. * 用户关系查询
  76. *
  77. * @param id
  78. * @returns
  79. */
  80. @GetMapping("relationalQuery")
  81. public HttpResult relationalQuery(@RequestParam("id") String id) {
  82. return HttpResult.ok(partnerUserService.relationalQuery(id));
  83. }
  84. /**
  85. * 选择上级推荐人
  86. *
  87. * @param level
  88. * @return
  89. */
  90. @GetMapping("selectRecommender")
  91. public HttpResult selectRecommender(@RequestParam(value = "level", required = false) String level) {
  92. return HttpResult.ok(partnerUserService.selectRecommender(level));
  93. }
  94. /**
  95. * 验证是否满足升级条件
  96. *
  97. * @param userGradeParam
  98. * @return
  99. */
  100. @PostMapping("/verifyUpgradeConditions")
  101. public HttpResult verifyUpgradeConditions(@RequestBody UserGradeParam userGradeParam) {
  102. userGradeParam.setId(getUserId());
  103. return partnerUserService.verifyUpgradeConditions(userGradeParam);
  104. }
  105. /**
  106. * 提交合伙人变更申请
  107. *
  108. * @param userGradeParam
  109. * @return
  110. */
  111. @PostMapping("submitLiftingRecord")
  112. public HttpResult submitLiftingRecord(@RequestBody UserGradeParam userGradeParam) {
  113. userGradeParam.setId(getUserId());
  114. return partnerUserService.submitLiftingRecord(userGradeParam);
  115. }
  116. /**
  117. * 合伙人头像修改
  118. *
  119. * @param partnerUser
  120. * @return
  121. */
  122. @PostMapping("avatarUpdate")
  123. public HttpResult avatarUpdate(@RequestBody PartnerUser partnerUser) {
  124. partnerUser.setUserId(getUserId());
  125. return partnerUserService.avatarUpdate(partnerUser);
  126. }
  127. /**
  128. * 我的佣金比例
  129. *
  130. * @return
  131. */
  132. @GetMapping("commissionRate")
  133. public HttpResult commissionRate(@RequestParam("grade") String grade) {
  134. return partnerUserService.commissionRate(getUserId(), grade, getToken());
  135. }
  136. /**
  137. * 我的佣金比例
  138. *
  139. * @return
  140. */
  141. @GetMapping("myCommissionRate")
  142. public HttpResult myCommissionRate() {
  143. return partnerUserService.myCommissionRate(getUserId());
  144. }
  145. /**
  146. * 查询当前用户的身份
  147. *
  148. * @param userId
  149. * @return
  150. */
  151. @GetMapping("getUserGradeList")
  152. public HttpResult getUserGradeList(@RequestParam(value = "userId", required = false) String userId) {
  153. return HttpResult.ok(partnerUserService.getUserGradeList(userId, getToken()));
  154. }
  155. /**
  156. * 查询当前用户的身份
  157. *
  158. * @param userId
  159. * @return
  160. */
  161. @GetMapping("getUserGradeListMap")
  162. public HttpResult getUserGradeListMap() {
  163. return HttpResult.ok(partnerUserService.getUserGradeListMap(getUserId()));
  164. }
  165. /**
  166. * 新增用户身份, 为合伙人添加新的等级
  167. *
  168. * @author lipf
  169. * @date 2026/4/15 10:49
  170. */
  171. @PostMapping("addUserIdentity")
  172. public HttpResult<String> addUserIdentity(@RequestBody Map<String, Object> map) {
  173. return partnerUserService.addUserIdentity(map, getToken());
  174. }
  175. /**
  176. * 未降级完成任务
  177. *
  178. * @param grade
  179. * @return
  180. */
  181. @GetMapping("queryDowngradeTask")
  182. public HttpResult queryDowngradeTask(@RequestParam(value = "grade") String grade) {
  183. return partnerUserService.queryDowngradeTaskVo(grade, getUserId());
  184. }
  185. /**
  186. * 已降级完成任务
  187. *
  188. * @param grade
  189. * @return
  190. */
  191. @GetMapping("degradedTask")
  192. public HttpResult degradedTask(@RequestParam(value = "grade") String grade) {
  193. return partnerUserService.degradedTask(grade, getUserId());
  194. }
  195. /**
  196. * 已降级完成任务
  197. *
  198. * @return
  199. */
  200. @GetMapping("checkCommissionExpireTime")
  201. public void checkCommissionExpireTime() {
  202. SpringUtil.getBean(TimedTaskUtils.class).checkCommissionExpireTime();
  203. }
  204. /**
  205. * 联系客服
  206. *
  207. * @return
  208. */
  209. @GetMapping("contactCustomerService")
  210. public HttpResult contactCustomerService() {
  211. return HttpResult.ok(ContactQrCodeUtils.getContactQrCode());
  212. }
  213. /**
  214. * 联系客服
  215. * @return
  216. */
  217. @GetMapping("aaaaa")
  218. public void aaaaa() {
  219. SpringUtil.getBean(UpdateRatioUtils.class).before("2034905418911121408",5);
  220. }
  221. }