From 664184af3e070dee665ee736caffa0297804975f Mon Sep 17 00:00:00 2001
From: KKSU <15274802129@163.com>
Date: Tue, 18 Mar 2025 11:46:02 +0800
Subject: [PATCH] perf(mall): 移除会员利润计算中的异步执行

---
 src/main/java/cc/mrbird/febs/mall/controller/AdminMallMemberController.java |  419 +++++++++++++++++++++++++++++++++++++++++++++++++++++------
 1 files changed, 372 insertions(+), 47 deletions(-)

diff --git a/src/main/java/cc/mrbird/febs/mall/controller/AdminMallMemberController.java b/src/main/java/cc/mrbird/febs/mall/controller/AdminMallMemberController.java
index e154175..30d49af 100644
--- a/src/main/java/cc/mrbird/febs/mall/controller/AdminMallMemberController.java
+++ b/src/main/java/cc/mrbird/febs/mall/controller/AdminMallMemberController.java
@@ -5,11 +5,16 @@
 import cc.mrbird.febs.common.entity.FebsResponse;
 import cc.mrbird.febs.common.entity.QueryRequest;
 import cc.mrbird.febs.mall.dto.*;
-import cc.mrbird.febs.mall.entity.AppVersion;
-import cc.mrbird.febs.mall.entity.MallMember;
-import cc.mrbird.febs.mall.entity.MallNewsInfo;
+import cc.mrbird.febs.mall.entity.*;
 import cc.mrbird.febs.mall.service.IAdminMallMemberService;
-import cc.mrbird.febs.mall.vo.AdminAgentLevelOptionTreeVo;
+import cc.mrbird.febs.mall.service.IApiMallMemberService;
+import cc.mrbird.febs.mall.vo.*;
+import cc.mrbird.febs.vip.entity.MallVipBenefitsRecord;
+import cc.mrbird.febs.vip.mapper.MallVipBenefitsRecordMapper;
+import cc.mrbird.febs.vip.service.IMallVipBenefitsService;
+import cn.hutool.core.date.DateTime;
+import cn.hutool.core.date.DateUtil;
+import cn.hutool.core.util.StrUtil;
 import lombok.RequiredArgsConstructor;
 import lombok.extern.slf4j.Slf4j;
 import org.springframework.validation.annotation.Validated;
@@ -17,6 +22,7 @@
 
 import javax.validation.Valid;
 import javax.validation.constraints.NotNull;
+import java.util.Date;
 import java.util.List;
 import java.util.Map;
 
@@ -28,9 +34,26 @@
 public class AdminMallMemberController extends BaseController {
 
     private final IAdminMallMemberService mallMemberService;
+    private final IApiMallMemberService apiMallMemberService;
+    private final IMallVipBenefitsService mallVipBenefitsService;
+    private final MallVipBenefitsRecordMapper mallVipBenefitsRecordMapper;
+
+    /**
+     * 平台账单
+     *
+     * @param mallMember
+     * @param request
+     * @return
+     */
+    @GetMapping("getMallDataList")
+    public FebsResponse getMallDataList(MallMember mallMember, QueryRequest request) {
+        Map<String, Object> data = getDataTable(mallMemberService.getMallDataList(mallMember, request));
+        return new FebsResponse().success().data(data);
+    }
 
     /**
      * 会员列表
+     *
      * @param mallMember
      * @param request
      * @return
@@ -43,6 +66,7 @@
 
     /**
      * 会员列表---禁止
+     *
      * @param id
      * @return
      */
@@ -53,7 +77,20 @@
     }
 
     /**
+     * 会员列表---注销
+     *
+     * @param id
+     * @return
+     */
+    @GetMapping("memberOut/{id}")
+    @ControllerEndpoint(operation = "会员列表---注销", exceptionMessage = "操作失败")
+    public FebsResponse memberOut(@NotNull(message = "{required}") @PathVariable Long id) {
+        return mallMemberService.memberOut(id);
+    }
+
+    /**
      * 会员列表---开启
+     *
      * @param id
      * @return
      */
@@ -63,13 +100,25 @@
         return mallMemberService.openAccount(id);
     }
 
+    @GetMapping("changeIdentityYes/{type}/{id}")
+    public FebsResponse changeIdentityYes(@PathVariable("type") Integer type, @PathVariable("id") Long id) {
+        mallMemberService.changeIdentity(type, id, 1);
+        return new FebsResponse().success();
+    }
+
+    @GetMapping("changeIdentityNo/{type}/{id}")
+    public FebsResponse changeIdentityNo(@PathVariable("type") Integer type, @PathVariable("id") Long id) {
+        mallMemberService.changeIdentity(type, id, 0);
+        return new FebsResponse().success();
+    }
+
     /**
      * 会员列表-资金流水
      */
     @GetMapping("/moneyFlow")
     public FebsResponse moneyFlow(QueryRequest request, MallMember mallMember, Integer parentId) {
-        if(parentId==null){
-            ViewMallMemberController.idFromMoneyFlow=0;
+        if (parentId == null) {
+            ViewMallMemberController.idFromMoneyFlow = 0;
         }
         mallMember.setId(ViewMallMemberController.idFromMoneyFlow);
         Map<String, Object> dataTable = getDataTable(mallMemberService.moneyFlow(request, mallMember));
@@ -86,19 +135,40 @@
     }
 
     /**
+     * 会员列表-详情更新
+     */
+    @PostMapping("updateMemberInfo")
+    @ControllerEndpoint(operation = "会员列表-详情更新", exceptionMessage = "操作失败")
+    public FebsResponse updateMemberInfo(@Valid MallUpdateMemberInfoDto mallUpdateMemberInfoDto) {
+        return mallMemberService.updateMemberInfo(mallUpdateMemberInfoDto);
+    }
+
+    /**
      * 资金流水-列表
+     *
      * @param moneyFlowListDto
      * @param request
      * @return
      */
     @GetMapping("getMoneyFlowList")
     public FebsResponse getMoneyFlowList(MoneyFlowListDto moneyFlowListDto, QueryRequest request) {
+        String startTime = moneyFlowListDto.getStartTime();
+        String endTime = moneyFlowListDto.getEndTime();
+        if(StrUtil.isNotBlank(startTime) && StrUtil.isNotBlank(endTime)){
+            DateTime dateStartTime= DateUtil.parseDate(startTime);
+            DateTime dateEndTime = DateUtil.parseDate(endTime);
+            int compare = DateUtil.compare(dateStartTime, dateEndTime);
+            if(compare >= 0){
+                return new FebsResponse().fail().message("请输入正确的开始时间和结束时间");
+            }
+        }
         Map<String, Object> data = getDataTable(mallMemberService.getMoneyFlowListInPage(moneyFlowListDto, request));
         return new FebsResponse().success().data(data);
     }
 
     /**
      * 会员提现-列表
+     *
      * @param moneyChargeListDto
      * @param request
      * @return
@@ -111,6 +181,7 @@
 
     /**
      * 会员提现-同意
+     *
      * @param id
      * @return
      */
@@ -122,6 +193,7 @@
 
     /**
      * 会员提现-拒绝
+     *
      * @param id
      * @return
      */
@@ -133,6 +205,7 @@
 
     /**
      * 代理列表
+     *
      * @param agentDto
      * @param request
      * @return
@@ -145,6 +218,7 @@
 
     /**
      * 代理级别-列表
+     *
      * @param agentLevelDto
      * @param request
      * @return
@@ -169,8 +243,18 @@
      */
     @GetMapping("getAgentLevelOption/tree")
     @ControllerEndpoint(exceptionMessage = "获取等级失败")
-    public List<AdminAgentLevelOptionTreeVo> getAgentLevelOption(){
+    public List<AdminAgentLevelOptionTreeVo> getAgentLevelOption() {
         return mallMemberService.getAgentLevelOption();
+    }
+
+    /**
+     * 代理-等级选择Option
+     */
+    @GetMapping("agentLevelOption/tree")
+    @ControllerEndpoint(exceptionMessage = "获取等级失败")
+    public List<AdminAgentLevelOptionTreeVo> agentLevelOption() {
+//        return mallMemberService.getAgentLevelOption();
+        return mallMemberService.agentLevelOption();
     }
 
 
@@ -179,8 +263,8 @@
      */
     @GetMapping("/agentChild")
     public FebsResponse agentChild(QueryRequest request, MallMember mallMember, Integer parentId) {
-        if(parentId==null){
-            ViewMallMemberController.idFromAgentAllMember=0;
+        if (parentId == null) {
+            ViewMallMemberController.idFromAgentAllMember = 0;
         }
         mallMember.setId(ViewMallMemberController.idFromAgentAllMember);
         Map<String, Object> dataTable = getDataTable(mallMemberService.agentChild(request, mallMember));
@@ -189,6 +273,7 @@
 
     /**
      * 代理列表---激活
+     *
      * @param id
      * @return
      */
@@ -209,6 +294,7 @@
 
     /**
      * 奖励设置-列表
+     *
      * @param rankAwardDto
      * @param request
      * @return
@@ -230,6 +316,7 @@
 
     /**
      * App版本-列表
+     *
      * @param appVersion
      * @param request
      * @return
@@ -267,44 +354,6 @@
         return mallMemberService.updateAppVersion(appVersion);
     }
 
-    /**
-     * 新闻中心-列表
-     * @param mallNewsInfo
-     * @param request
-     * @return
-     */
-    @GetMapping("getNewInfoList")
-    public FebsResponse getNewInfoList(MallNewsInfo mallNewsInfo, QueryRequest request) {
-        Map<String, Object> data = getDataTable(mallMemberService.getNewInfoList(mallNewsInfo, request));
-        return new FebsResponse().success().data(data);
-    }
-
-    /**
-     * 新闻中心-新增
-     */
-    @PostMapping("addNewsInfo")
-    @ControllerEndpoint(operation = " 新闻中心-新增", exceptionMessage = "操作失败")
-    public FebsResponse addNewsInfo(@Valid MallNewsInfoDto mallNewsInfoDto) {
-        return mallMemberService.addNewsInfo(mallNewsInfoDto);
-    }
-
-    /**
-     * 新闻中心-删除
-     */
-    @GetMapping("delNewsInfo/{id}")
-    @ControllerEndpoint(operation = " 新闻中心-删除", exceptionMessage = "操作失败")
-    public FebsResponse delNewsInfo(@NotNull(message = "{required}") @PathVariable Long id) {
-        return mallMemberService.delNewsInfo(id);
-    }
-
-    /**
-     * 新闻中心-更新
-     */
-    @PostMapping("updateNewsInfo")
-    @ControllerEndpoint(operation = "新闻中心-更新", exceptionMessage = "操作失败")
-    public FebsResponse updateNewsInfo(@Valid MallNewsInfoDto mallNewsInfoDto) {
-        return mallMemberService.updateNewsInfo(mallNewsInfoDto);
-    }
 
     @PostMapping("resetPwd/{id}")
     @ControllerEndpoint(operation = "会员列表---重置密码", exceptionMessage = "重置密码失败")
@@ -312,6 +361,282 @@
         return mallMemberService.resetPwd(id);
     }
 
+    @PostMapping(value = "resetPwdNew/{type}/{ids}")
+    @ControllerEndpoint(operation = "重置密码", exceptionMessage = "重置密码失败")
+    public FebsResponse resetPwd(@PathVariable("ids") String ids, @PathVariable("type") Integer type) {
+        mallMemberService.resetPwd(ids, type);
+        return new FebsResponse().success().message("重置成功");
+    }
 
+    @GetMapping("shopApplyList")
+    @ControllerEndpoint(operation = "申请通道列表", exceptionMessage = "获取失败")
+    public FebsResponse shopApplyList(MallShopApply mallShopApply, QueryRequest request) {
+        return new FebsResponse().success().data(getDataTable(mallMemberService.findShopApplyListInPage(mallShopApply, request)));
+    }
 
+    @PostMapping("applyCheckAgree/{id}")
+    public FebsResponse applyCheckAgree(@PathVariable Long id) {
+        mallMemberService.applyCheckAgree(id);
+        return new FebsResponse().success().message("操作成功");
+    }
+
+    @PostMapping(value = "applyCheckDisAgree/{id}")
+    public FebsResponse applyCheckDisAgree(@PathVariable Long id) {
+        mallMemberService.applyCheckDisAgree(id);
+        return new FebsResponse().success().message("操作成功");
+    }
+
+    @PostMapping("/refererIdUpdate")
+    @ControllerEndpoint(operation = "修改推荐人", exceptionMessage = "修改失败")
+    public FebsResponse refererIdUpdate(MallMember member) {
+        mallMemberService.modifyReferer(member);
+        return new FebsResponse().success();
+    }
+
+    @PostMapping("/memberAdd")
+    public FebsResponse memberAdd(MallMember member) {
+        RegisterDto registerDto = new RegisterDto();
+        registerDto.setAccount(member.getAccount());
+        registerDto.setRegistType("admin");
+        registerDto.setPassword("a123456");
+        registerDto.setPasswordAgain("a123456");
+        registerDto.setInviteId(member.getInviteId());
+        apiMallMemberService.register(registerDto);
+        return new FebsResponse().success();
+    }
+
+    /**
+     * 代理申请列表
+     */
+    @GetMapping("getAgentApplyList")
+    public FebsResponse getAgentApplyList(MallAgentRecord mallAgentRecord, QueryRequest request) {
+        Map<String, Object> data = getDataTable(mallMemberService.getAgentApplyList(mallAgentRecord, request));
+        return new FebsResponse().success().data(data);
+    }
+
+    /**
+     * 代理申请列表
+     *      同意
+     */
+    @GetMapping("agreeAgentApply/{id}")
+    @ControllerEndpoint(operation = "审核代理申请", exceptionMessage = "操作失败")
+    public FebsResponse agreeAgentApply(@NotNull(message = "{required}") @PathVariable Long id) {
+        return mallMemberService.agreeAgentApply(id);
+    }
+
+    /**
+     * 代理申请列表
+     *      拒绝
+     */
+    @GetMapping("disagreeAgentApply/{id}")
+    @ControllerEndpoint(operation = "审核代理申请", exceptionMessage = "操作失败")
+    public FebsResponse disagreeAgentApply(@NotNull(message = "{required}") @PathVariable Long id) {
+        return mallMemberService.disagreeAgentApply(id);
+    }
+
+    /**
+     * 推销员列表
+     */
+    @GetMapping("salesmanList")
+    public FebsResponse salesmanList(MallSalesman mallSalesman, QueryRequest request) {
+        Map<String, Object> data = getDataTable(mallMemberService.getMallSalesmanListInPage(mallSalesman, request));
+        return new FebsResponse().success().data(data);
+    }
+
+    /**
+     * 推销员列表-新增
+     */
+    @PostMapping("addSalesman")
+    @ControllerEndpoint(operation = " 推销员列表-新增", exceptionMessage = "操作失败")
+    public FebsResponse addSalesman(@Valid MallSalesman mallSalesman) {
+        return mallMemberService.addSalesman(mallSalesman);
+    }
+
+    /**
+     * 推销员列表-禁用
+     */
+    @GetMapping("salesmanDel/{id}")
+    @ControllerEndpoint(operation = "推销员列表-禁用", exceptionMessage = "操作失败")
+    public FebsResponse salesmanDel(@NotNull(message = "{required}") @PathVariable Long id) {
+        return mallMemberService.salesmanDel(id);
+    }
+
+    /**
+     * 推销员列表-启用
+     */
+    @GetMapping("salesmanUse/{id}")
+    @ControllerEndpoint(operation = "推销员列表-启用", exceptionMessage = "操作失败")
+    public FebsResponse salesmanUse(@NotNull(message = "{required}") @PathVariable Long id) {
+        return mallMemberService.salesmanUse(id);
+    }
+
+    /**
+     * 推销员列表-更新
+     */
+    @PostMapping("salesmanUpdate")
+    @ControllerEndpoint(operation = "推销员列表-更新", exceptionMessage = "操作失败")
+    public FebsResponse salesmanUpdate(@Valid MallSalesman mallSalesman) {
+        return mallMemberService.salesmanUpdate(mallSalesman);
+    }
+
+    /**
+     * 推销员列表-选择
+     */
+    @GetMapping("salesmans/tree")
+    @ControllerEndpoint(exceptionMessage = "推销员列表失败")
+    public List<AdminMallSalesmansTreeVo> getSalesmansTree(){
+        return mallMemberService.getSalesmansTree();
+    }
+
+    /**
+     * 会员列表-推销员列表-更新
+     */
+    @PostMapping("memberUpdateSalesman")
+    @ControllerEndpoint(operation = "会员列表-推销员列表-更新", exceptionMessage = "操作失败")
+    public FebsResponse memberUpdateSalesman(@Valid MallMember mallmember) {
+        return mallMemberService.memberUpdateSalesman(mallmember);
+    }
+
+    /**
+     * 地址金额统计列表
+     */
+    @GetMapping("addressAmountList")
+    public FebsResponse addressAmountList(MallAddressInfo mallAddressInfo, QueryRequest request) {
+        Map<String, Object> data = getDataTable(mallMemberService.getAddressAmountList(mallAddressInfo, request));
+        return new FebsResponse().success().data(data);
+    }
+
+    /**
+     * 地址金额统计列表-省
+     */
+    @GetMapping("address/tree")
+    @ControllerEndpoint(exceptionMessage = "地址金额统计列表")
+    public List<AdminMallAddressInfoVo> getAddressTree(){
+        return mallMemberService.getAddressTree();
+    }
+
+    /**
+     * 销售员业绩列表
+     */
+    @GetMapping("salesmanAchieveList")
+    public FebsResponse salesmanAchieveList(MallSalesman mallSalesman, QueryRequest request) {
+        Map<String, Object> data = getDataTable(mallMemberService.getSalesmanAchieveList(mallSalesman, request));
+        return new FebsResponse().success().data(data);
+    }
+
+    /**
+     * 销售员业绩列表-省
+     */
+    @GetMapping("salesmanAchieve/tree")
+    @ControllerEndpoint(exceptionMessage = "销售员业绩列表")
+    public List<AdminSalesmanAchieveVo> getSalesmanAchieveTree(){
+        return mallMemberService.getSalesmanAchieveTree();
+    }
+
+    /**
+     * 合伙人业绩
+     */
+    @GetMapping("agentAchieveList")
+    public FebsResponse agentAchieveList(MallAgentRecord mallAgentRecord, QueryRequest request) {
+        String startTime = mallAgentRecord.getStartTime();
+        String endTime = mallAgentRecord.getEndTime();
+        if(StrUtil.isNotBlank(startTime) && StrUtil.isNotBlank(endTime)){
+            DateTime dateStartTime= DateUtil.parseDate(startTime);
+            DateTime dateEndTime = DateUtil.parseDate(endTime);
+            int compare = DateUtil.compare(dateStartTime, dateEndTime);
+            if(compare >= 0){
+                return new FebsResponse().fail().message("请输入正确的开始时间和结束时间");
+            }
+        }
+        Map<String, Object> data = getDataTable(mallMemberService.getAgentAchieveList(mallAgentRecord, request));
+        return new FebsResponse().success().data(data);
+    }
+
+    /**
+     * 合伙人业绩-省
+     */
+    @GetMapping("agentAddress/tree")
+    @ControllerEndpoint(exceptionMessage = "合伙人业绩-省")
+    public List<AdminMallAgentRecordVo> agentAddress(){
+        return mallMemberService.agentAddress();
+    }
+
+    /**
+     * 合伙人申请列表-更新
+     */
+    @PostMapping("agentVerifyUpdate")
+    @ControllerEndpoint(operation = "合伙人申请列表-更新", exceptionMessage = "操作失败")
+    public FebsResponse agentVerifyUpdate(@Valid AdminAgentVerifyVo adminAgentVerifyVo) {
+        return mallMemberService.agentVerifyUpdate(adminAgentVerifyVo);
+    }
+
+    /**
+     * 会员列表-推销员设置
+     */
+    @GetMapping("upSale/{id}")
+    @ControllerEndpoint(operation = " 会员列表-推销员设置", exceptionMessage = "操作失败")
+    public FebsResponse upSale(@NotNull(message = "{required}") @PathVariable Long id) {
+        return mallMemberService.upCoupon(id);
+    }
+
+    /**
+     * 会员列表-推销员设置
+     */
+    @GetMapping("downSale/{id}")
+    @ControllerEndpoint(operation = " 会员列表-推销员设置", exceptionMessage = "操作失败")
+    public FebsResponse downSale(@NotNull(message = "{required}") @PathVariable Long id) {
+        return mallMemberService.downCoupon(id);
+    }
+
+    /**
+     * 推销员列表
+     *
+     * @param mallMember
+     * @param request
+     * @return
+     */
+    @GetMapping("getsalemanRuleList")
+    public FebsResponse getsalemanRuleList(MallMember mallMember, QueryRequest request) {
+        mallMember.setIsSale(1);
+        Map<String, Object> data = getDataTable(mallMemberService.getsalemanRuleList(mallMember, request));
+        return new FebsResponse().success().data(data);
+    }
+
+    /**
+     * 推销员列表-优惠卷绑定
+     */
+    @PostMapping("salemanCoupon")
+    @ControllerEndpoint(operation = "推销员列表-优惠卷绑定", exceptionMessage = "操作失败")
+    public FebsResponse salemanCoupon(@Valid MallMember mallmember) {
+        return mallMemberService.salemanCoupon(mallmember);
+    }
+
+    @PostMapping("vipLevelSetUpdate")
+    public FebsResponse vipLevelSetUpdate(MallMember member) {
+        member.setVipLevelTime(new Date());
+        mallMemberService.updateById(member);
+        return new FebsResponse().success().message("操作成功");
+    }
+
+    @PostMapping("addMemberCoupon")
+    @ControllerEndpoint(operation = "会员添加优惠券呢", exceptionMessage = "操作失败")
+    public FebsResponse addMemberCoupon(@Valid MallMember mallmember) {
+        return mallMemberService.addMemberCoupon(mallmember);
+    }
+
+    @GetMapping(value = "/findMemberBenefitsInPage")
+    public FebsResponse findMemberBenefitsInPage(MallVipBenefitsRecord record, QueryRequest request) {
+        Map<String, Object> data = getDataTable(mallVipBenefitsService.findVipBenefitsInPage(record, request));
+        return new FebsResponse().success().data(data);
+    }
+
+    @PostMapping(value = "/sendGift/{id}")
+    public FebsResponse sendGift(@PathVariable("id") Long id) {
+        MallVipBenefitsRecord record = new MallVipBenefitsRecord();
+        record.setId(id);
+        record.setStatus(1);
+        mallVipBenefitsRecordMapper.updateById(record);
+
+        return new FebsResponse().success();
+    }
 }

--
Gitblit v1.9.1