From 2bc35df79fca920ad584a82b5ea7b35b6ca7b8a0 Mon Sep 17 00:00:00 2001 From: luodangjia <luodangjia> Date: 星期三, 15 一月 2025 10:12:57 +0800 Subject: [PATCH] 12.18 --- ruoyi-service/ruoyi-account/src/main/java/com/ruoyi/account/controller/AgentApplicationController.java | 107 +++++++++++++++++++++++++++++++++++++++++++++++++++-- 1 files changed, 103 insertions(+), 4 deletions(-) diff --git a/ruoyi-service/ruoyi-account/src/main/java/com/ruoyi/account/controller/AgentApplicationController.java b/ruoyi-service/ruoyi-account/src/main/java/com/ruoyi/account/controller/AgentApplicationController.java index cb7d138..553522d 100644 --- a/ruoyi-service/ruoyi-account/src/main/java/com/ruoyi/account/controller/AgentApplicationController.java +++ b/ruoyi-service/ruoyi-account/src/main/java/com/ruoyi/account/controller/AgentApplicationController.java @@ -1,16 +1,26 @@ package com.ruoyi.account.controller; +import java.time.LocalDateTime; +import com.baomidou.mybatisplus.core.metadata.IPage; import com.ruoyi.account.api.model.AgentApplication; +import com.ruoyi.account.api.model.AppUser; +import com.ruoyi.account.api.model.UserChangeLog; +import com.ruoyi.account.dto.AgentQuery; +import com.ruoyi.account.api.model.VipSettingDto; import com.ruoyi.account.service.AgentApplicationService; +import com.ruoyi.account.service.AppUserService; +import com.ruoyi.account.service.UserChangeLogService; import com.ruoyi.common.core.domain.R; +import com.ruoyi.common.core.utils.bean.BeanUtils; import com.ruoyi.common.core.web.controller.BaseController; +import com.ruoyi.other.api.domain.BaseSetting; import com.ruoyi.other.api.domain.VipSetting; +import com.ruoyi.other.api.feignClient.BaseSettingClient; +import com.ruoyi.other.api.feignClient.VipSettingClient; import io.swagger.annotations.ApiOperation; -import org.springframework.web.bind.annotation.PostMapping; -import org.springframework.web.bind.annotation.RequestBody; -import org.springframework.web.bind.annotation.RequestMapping; -import org.springframework.web.bind.annotation.RestController; +import io.swagger.annotations.ApiParam; +import org.springframework.web.bind.annotation.*; import javax.annotation.Resource; @@ -27,6 +37,10 @@ public class AgentApplicationController extends BaseController { @Resource private AgentApplicationService agentApplicationService; + @Resource + private AppUserService appUserService; + @Resource + private BaseSettingClient baseSettingClient; @PostMapping("/apply") @ApiOperation(value = "会员申请", tags = {"会员中心-小程序"}) @@ -35,5 +49,90 @@ return R.ok(); } + @PostMapping("/page") + @ApiOperation(value = "会员申请列表", tags = {"后台"}) + public R<IPage<AgentApplication>> page(@RequestBody AgentQuery agentQuery) { + IPage<AgentApplication> agentApplicationIPage = agentApplicationService.pageList(agentQuery); + for (AgentApplication record : agentApplicationIPage.getRecords()) { + AppUser byId = appUserService.getById(record.getAppUserId()); + if (byId!=null){ + record.setVipId(byId.getVipId()); + } + } + return R.ok(agentApplicationIPage); + } + @Resource + private VipSettingClient vipSettingClient; + @GetMapping("/detail") + @ApiOperation(value = "会员申请详情", tags = {"会员中心-小程序"}) + public R<AgentApplication> detail(@RequestParam Long id) { + AgentApplication agentApplication = agentApplicationService.getById(id); + R<VipSetting> vipSetting = vipSettingClient.getVipSetting(agentApplication.getApplicationVipId()); + VipSettingDto vipSettingDto = new VipSettingDto(); + BeanUtils.copyProperties(vipSetting.getData(),vipSettingDto); + agentApplication.setVipSettingDto(vipSettingDto); + return R.ok(agentApplication); + } + @Resource + private UserChangeLogService userChangeLogService; + + @GetMapping("/auth") + @ApiOperation(value = "会员申请审核", tags = {"会员中心-小程序"}) + public R<AgentApplication> auth(@RequestParam Long id, @ApiParam("2'已处理-同意',3'已处理-拒绝")Integer status,@ApiParam("处理意见") String remark) { + AgentApplication byId = agentApplicationService.getById(id); + byId.setStatus(status); + byId.setRemark(remark); + agentApplicationService.updateById(byId); + AppUser byId1 = appUserService.getById(byId.getAppUserId()); + //插入等级变化数据 + UserChangeLog userChangeLog = new UserChangeLog(); + userChangeLog.setCreateTime(LocalDateTime.now()); + userChangeLog.setAppUserId(byId.getAppUserId()); + userChangeLog.setBeforeVipId(byId1.getVipId()); + userChangeLog.setAfterVipId(byId.getApplicationVipId()); + if (userChangeLog.getBeforeVipId()>userChangeLog.getAfterVipId()) { + userChangeLog.setChangeType(0); + }else { + userChangeLog.setChangeType(1); + } + userChangeLogService.save(userChangeLog); + //变更会员等级 + byId1.setVipId(byId.getApplicationVipId()); + appUserService.updateById(byId1); + + // 当用户为合伙人时,计算合伙人积分和培育积分 + Integer vipId = byId1.getVipId(); + if (vipId == 7){ + // 当前用户计算合伙人积分 + R<VipSetting> vipSetting = vipSettingClient.getVipSetting(vipId); + setPoint(vipSetting, byId1, byId1.getShopPoint(), byId1.getSharePoint()); + // 上级计算培育积分 + Long inviteUserId = byId1.getInviteUserId(); + AppUser byId2 = appUserService.getById(inviteUserId); + if (byId2 != null){ + setPoint(vipSetting, byId2, byId1.getShopPoint(), byId1.getSharePoint()); + } + } + return R.ok(byId); + } + + private void setPoint(R<VipSetting> vipSetting, AppUser appUser, Integer shopPoint, Integer sharePoint) { + VipSetting vipSettingData = vipSetting.getData(); + Integer vipLevelUpShopRole = vipSettingData.getVipLevelUpShopRole(); + if (vipLevelUpShopRole == 1){ + Integer vipLevelUpShop = vipSettingData.getVipLevelUpShop(); + Integer vipLevelUpShare = vipSettingData.getVipLevelUpShare(); + if (shopPoint >=vipLevelUpShop && sharePoint >= vipLevelUpShare) { + R<BaseSetting> baseSetting = baseSettingClient.getBaseSetting(1); + BaseSetting data = baseSetting.getData(); + if (data != null){ + appUser.setPartPoint(Integer.parseInt(data.getContent())); + appUserService.updateById(appUser); + } + } + } + } + + } -- Gitblit v1.7.1