From ccba16ed9eb3e77d1c90271e33302cc7686d5d98 Mon Sep 17 00:00:00 2001
From: Pu Zhibing <393733352@qq.com>
Date: 星期四, 16 一月 2025 18:21:03 +0800
Subject: [PATCH] Merge branch 'master' of http://120.76.84.145:10101/gitblit/r/java/qijisheng
---
ruoyi-service/ruoyi-account/src/main/java/com/ruoyi/account/controller/AgentApplicationController.java | 150 ++++++++++++++++++++++++++++++++++++++++++++++++-
1 files changed, 146 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..f50b3e3 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,32 @@
package com.ruoyi.account.controller;
+import java.time.LocalDateTime;
+import java.util.ArrayList;
+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.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 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.util.CollectionUtils;
+import org.springframework.web.bind.annotation.*;
import javax.annotation.Resource;
@@ -27,6 +43,12 @@
public class AgentApplicationController extends BaseController {
@Resource
private AgentApplicationService agentApplicationService;
+ @Resource
+ private AppUserService appUserService;
+ @Resource
+ private BaseSettingClient baseSettingClient;
+ @Resource
+ private VipCenterService vipCenterService;
@PostMapping("/apply")
@ApiOperation(value = "会员申请", tags = {"会员中心-小程序"})
@@ -35,5 +57,125 @@
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);
+ AppUser appUser = appUserService.getById(agentApplication.getAppUserId());
+ agentApplication.setShopPoint(appUser.getShopPoint());
+ agentApplication.setSharePoint(appUser.getSharePoint());
+ R<VipSetting> vipSetting = vipSettingClient.getVipSetting(agentApplication.getApplicationVipId());
+ VipSettingDto vipSettingDto = new VipSettingDto();
+ BeanUtils.copyProperties(vipSetting.getData(),vipSettingDto);
+ agentApplication.setVipSettingDto(vipSettingDto);
+// List<AppUser> appUserList = appUserService.list(new LambdaQueryWrapper<AppUser>()
+// .ne(AppUser::getStatus, 3)
+// .eq(AppUser::getDelFlag, 0));
+// ArrayList<Long> userIds = new ArrayList<>();
+// userIds.add(appUser.getId());
+// getUserAncestorList(appUser,userIds,new ArrayList<>(),appUserList);
+ agentApplication.setVipId(agentApplication.getApplicationVipId());
+ return R.ok(agentApplication);
+ }
+ public void getUserAncestorList(AppUser user,List<Long> userIds, List<AppUser> children,List<AppUser> list) {
+ children = list.stream().filter(u -> userIds.contains(u.getInviteUserId()) || userIds.contains(u.getTopInviteId())).collect(Collectors.toList());
+ if(!CollectionUtils.isEmpty(children)){
+ user.setCount1((user.getCount1() == null ? 0L : user.getCount1()) + children.stream().filter(e->e.getVipId() == 1).count());
+ user.setCount2((user.getCount2() == null ? 0L : user.getCount2()) + children.stream().filter(e->e.getVipId() == 2).count());
+ user.setCount3((user.getCount3() == null ? 0L : user.getCount3()) + children.stream().filter(e->e.getVipId() == 3).count());
+ user.setCount4((user.getCount4() == null ? 0L : user.getCount4()) + children.stream().filter(e->e.getVipId() == 4).count());
+ user.setCount5((user.getCount5() == null ? 0L : user.getCount5()) + children.stream().filter(e->e.getVipId() == 5).count());
+ user.setCount6((user.getCount6() == null ? 0L : user.getCount6()) + children.stream().filter(e->e.getVipId() == 6).count());
+ user.setCount7((user.getCount7() == null ? 0L : user.getCount7()) + children.stream().filter(e->e.getVipId() == 7).count());
+ List<Long> userIdList = children.stream().map(AppUser::getId).collect(Collectors.toList());
+ getUserAncestorList(user,userIdList, children,list);
+ }
+ }
+ @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());
+
+ // 当用户为合伙人时,计算合伙人积分和培育积分
+ 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