package com.ydtech.modules.partner.controller; import cn.hutool.extra.spring.SpringUtil; import com.ydtech.core.page.HttpResult; import com.ydtech.modules.base.controller.BaseController; import com.ydtech.modules.partner.model.PartnerUser; import com.ydtech.modules.partner.model.param.QueryVo; import com.ydtech.modules.partner.model.param.UserGradeParam; import com.ydtech.modules.partner.service.PartnerUserService; import com.ydtech.modules.partner.utils.ContactQrCodeUtils; import com.ydtech.modules.partner.utils.TimedTaskUtils; import io.swagger.annotations.Api; import lombok.RequiredArgsConstructor; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.web.bind.annotation.*; import java.util.Date; import java.util.Map; @Api(tags = "合伙人") @RestController @RequestMapping("/partner") @RequiredArgsConstructor public class PartnerUserController extends BaseController { @Autowired private PartnerUserService partnerUserService; @PostMapping("/save") public HttpResult add(@RequestBody PartnerUser partnerUser) { partnerUser.setCreateTime(new Date()); return HttpResult.ok(partnerUserService.save(partnerUser) ? "添加成功" : "添加失败"); } @PostMapping("/update") public HttpResult update(@RequestBody PartnerUser partnerUser) { return HttpResult.ok(partnerUserService.updateById(partnerUser) ? "修改成功" : "修改失败"); } @PostMapping("/queryPage") public HttpResult queryPage(@RequestBody QueryVo queryVo) { queryVo.setPage(buildPageRequest(queryVo.getPageDto())); return HttpResult.ok(partnerUserService.queryPage(queryVo)); } /** * 用户关系查询 * @param id * @return */ @GetMapping("relationalQuery") public HttpResult relationalQuery(@RequestParam("id") String id) { return HttpResult.ok(partnerUserService.relationalQuery(id)); } /** * 选择上级推荐人 * @param level * @return */ @GetMapping("selectRecommender") public HttpResult selectRecommender(@RequestParam(value = "level",required = false) String level) { return HttpResult.ok(partnerUserService.selectRecommender(level)); } /** * 验证是否满足升级条件 * @param userGradeParam * @return */ @PostMapping("/verifyUpgradeConditions") public HttpResult verifyUpgradeConditions(@RequestBody UserGradeParam userGradeParam) { userGradeParam.setId(getUserId()); return partnerUserService.verifyUpgradeConditions(userGradeParam); } /** * 提交合伙人变更申请 * @param userGradeParam * @return */ @PostMapping("submitLiftingRecord") public HttpResult submitLiftingRecord(@RequestBody UserGradeParam userGradeParam) { userGradeParam.setId(getUserId()); return partnerUserService.submitLiftingRecord(userGradeParam); } /** * 合伙人头像修改 * @param partnerUser * @return */ @PostMapping("avatarUpdate") public HttpResult avatarUpdate(@RequestBody PartnerUser partnerUser) { partnerUser.setUserId(getUserId()); return partnerUserService.avatarUpdate(partnerUser); } /** * 我的佣金比例 * @return */ @GetMapping("commissionRate") public HttpResult commissionRate(@RequestParam("grade") String grade) { return partnerUserService.commissionRate(getUserId(),grade); } /** * 我的佣金比例 * @return */ @GetMapping("myCommissionRate") public HttpResult myCommissionRate() { return partnerUserService.myCommissionRate(getUserId()); } /** * 查询当前用户的身份 * @param userId * @return */ @GetMapping("getUserGradeList") public HttpResult getUserGradeList(@RequestParam(value = "userId",required = false) String userId) { return HttpResult.ok(partnerUserService.getUserGradeList(userId)); } /** * 查询当前用户的身份 * @param userId * @return */ @GetMapping("getUserGradeListMap") public HttpResult getUserGradeListMap() { return HttpResult.ok(partnerUserService.getUserGradeListMap(getUserId())); } /** * 新增用户身份 * @param > map * @return */ @PostMapping("addUserIdentity") public HttpResult addUserIdentity(@RequestBody Map map) { return partnerUserService.addUserIdentity(map); } /** * 未降级完成任务 * @param grade * @return */ @GetMapping("queryDowngradeTask") public HttpResult queryDowngradeTask(@RequestParam(value = "grade") String grade) { return partnerUserService.queryDowngradeTask(grade,getUserId()); } /** * 已降级完成任务 * @param grade * @return */ @GetMapping("degradedTask") public HttpResult degradedTask(@RequestParam(value = "grade") String grade) { return partnerUserService.degradedTask(grade,getUserId()); } /** * 已降级完成任务 * @return */ @GetMapping("checkCommissionExpireTime") public void checkCommissionExpireTime() { SpringUtil.getBean(TimedTaskUtils.class).checkCommissionExpireTime(); } /** * 联系客服 * @return */ @GetMapping("contactCustomerService") public HttpResult contactCustomerService() { return HttpResult.ok(ContactQrCodeUtils.getContactQrCode()); } }