From 48c56a8b6be6183d220f46d417fdeb98521f0c20 Mon Sep 17 00:00:00 2001
From: xuhy <3313886187@qq.com>
Date: 星期三, 15 一月 2025 20:51:59 +0800
Subject: [PATCH] 修改

---
 ruoyi-service/ruoyi-account/src/main/java/com/ruoyi/account/controller/AgentApplicationController.java |   77 ++++++++++++++++++++++++++++++++++++--
 1 files changed, 72 insertions(+), 5 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 dac6a7d..8483e72 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,19 +1,27 @@
 package com.ruoyi.account.controller;
 import java.time.LocalDateTime;
+import java.util.List;
+import java.util.stream.Collectors;
 
 
+import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
 import com.baomidou.mybatisplus.core.metadata.IPage;
-import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
 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.account.service.VipCenterService;
 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 io.swagger.annotations.ApiParam;
 import org.springframework.web.bind.annotation.*;
@@ -35,6 +43,10 @@
     private AgentApplicationService agentApplicationService;
     @Resource
     private AppUserService appUserService;
+    @Resource
+    private BaseSettingClient baseSettingClient;
+    @Resource
+    private VipCenterService vipCenterService;
 
     @PostMapping("/apply")
     @ApiOperation(value = "会员申请", tags = {"会员中心-小程序"})
@@ -46,14 +58,26 @@
     @PostMapping("/page")
     @ApiOperation(value = "会员申请列表", tags = {"后台"})
     public R<IPage<AgentApplication>> page(@RequestBody AgentQuery agentQuery) {
-
-        return R.ok(agentApplicationService.pageList(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) {
-
-        return R.ok(agentApplicationService.getById(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;
@@ -80,9 +104,52 @@
         userChangeLogService.save(userChangeLog);
         //变更会员等级
         byId1.setVipId(byId.getApplicationVipId());
+
+        // 当用户为合伙人时,计算合伙人积分和培育积分
+        Integer vipId = byId1.getVipId();
+        if (vipId == 7){
+            R<BaseSetting> baseSetting = baseSettingClient.getBaseSetting(1);
+            BaseSetting data = baseSetting.getData();
+            int basePoint = Integer.parseInt(data.getContent());
+            // 当前用户计算合伙人积分
+            R<VipSetting> vipSetting = vipSettingClient.getVipSetting(vipId);
+            Integer point = getPoint(vipSetting, byId1, basePoint);
+            byId1.setPartPoint(point);
+            // 上级计算培育积分
+            R<BaseSetting> baseSetting2 = baseSettingClient.getBaseSetting(1);
+            BaseSetting data2 = baseSetting2.getData();
+            int basePoint2 = Integer.parseInt(data2.getContent());
+            Long inviteUserId = byId1.getInviteUserId();
+            AppUser byId2 = appUserService.getById(inviteUserId);
+            if (byId2 != null){
+                Integer point1 = getPoint(vipSetting, byId2, basePoint2);
+                byId2.setPartGrowPoint(point1);
+            }
+        }
+
+        appUserService.updateById(byId1);
         return R.ok(byId);
     }
 
+    private Integer getPoint(R<VipSetting> vipSetting, AppUser appUser, Integer basePoint) {
+        VipSetting vipSettingData = vipSetting.getData();
+        Integer vipLevelUpShopRole = vipSettingData.getVipLevelUpShopRole();
+        int i = 1;
+        if (vipLevelUpShopRole == 1){
+            i += 1;
+        }
+        Integer vipLevelUpNumRole = vipSettingData.getVipLevelUpNumRole();
+        if (vipLevelUpNumRole == 1){
+            i += 1;
+        }
+
+
+        if (vipCenterService.checkReadyToBePartner(appUser.getId())){
+            return basePoint * i;
+        }
+        return 0;
+    }
+
 
 }
 

--
Gitblit v1.7.1