From 8d9eca3f5e9f884a14f41d04d1898e2ee7bf9078 Mon Sep 17 00:00:00 2001
From: mitao <2763622819@qq.com>
Date: 星期二, 11 六月 2024 16:08:08 +0800
Subject: [PATCH] 1.提交【管理后台】-营销管理-积分管理相关接口 2.修改websocket代码,增加用户端、拍卖师端类型区分

---
 ruoyi-modules/ruoyi-member/src/main/java/com/ruoyi/member/service/impl/MemberLevelServiceImpl.java |   58 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++--
 1 files changed, 56 insertions(+), 2 deletions(-)

diff --git a/ruoyi-modules/ruoyi-member/src/main/java/com/ruoyi/member/service/impl/MemberLevelServiceImpl.java b/ruoyi-modules/ruoyi-member/src/main/java/com/ruoyi/member/service/impl/MemberLevelServiceImpl.java
index aad50ea..df56a7f 100644
--- a/ruoyi-modules/ruoyi-member/src/main/java/com/ruoyi/member/service/impl/MemberLevelServiceImpl.java
+++ b/ruoyi-modules/ruoyi-member/src/main/java/com/ruoyi/member/service/impl/MemberLevelServiceImpl.java
@@ -1,10 +1,22 @@
 package com.ruoyi.member.service.impl;
 
-import com.ruoyi.member.domain.pojo.MemberLevel;
+import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
+import com.ruoyi.common.core.utils.StringUtils;
+import com.ruoyi.common.core.utils.page.BeanUtils;
+import com.ruoyi.member.controller.management.dto.MgtMemberLevelDTO;
+import com.ruoyi.member.controller.management.vo.MgtMemberLevelVO;
+import com.ruoyi.member.domain.MemberLevel;
 import com.ruoyi.member.mapper.MemberLevelMapper;
 import com.ruoyi.member.service.IMemberLevelService;
-import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
+import com.ruoyi.member.service.IMemberService;
+import com.ruoyi.member.service.async.AsyncMethodService;
+import com.ruoyi.system.api.domain.Member;
+import java.util.List;
+import lombok.RequiredArgsConstructor;
+import lombok.extern.slf4j.Slf4j;
 import org.springframework.stereotype.Service;
+import org.springframework.transaction.annotation.Propagation;
+import org.springframework.transaction.annotation.Transactional;
 
 /**
  * <p>
@@ -14,7 +26,49 @@
  * @author mitao
  * @since 2024-05-16
  */
+@Slf4j
 @Service
+@RequiredArgsConstructor
 public class MemberLevelServiceImpl extends ServiceImpl<MemberLevelMapper, MemberLevel> implements IMemberLevelService {
 
+    private final IMemberService memberService;
+    private final AsyncMethodService asyncMethodService;
+    /**
+     * 获取会员等级管理列表
+     *
+     * @return List<MgtMemberLevelVO>
+     */
+    @Override
+    public List<MgtMemberLevelVO> getMemberLevelList() {
+        List<MemberLevel> list = this.lambdaQuery().orderByAsc(MemberLevel::getLevel).list();
+        List<MgtMemberLevelVO> mgtMemberLevelVOS = BeanUtils.copyList(list, MgtMemberLevelVO.class);
+        List<Member> memberList = memberService.list();
+        Integer level = 0;
+
+        if (StringUtils.isNotEmpty(mgtMemberLevelVOS)) {
+
+            for (MgtMemberLevelVO vo : mgtMemberLevelVOS) {
+
+                vo.setCurrentNumber(getMemberCountByLevel(memberList, vo.getLevel()));
+            }
+        }
+        return mgtMemberLevelVOS;
+    }
+
+    private static int getMemberCountByLevel(List<Member> memberList, Integer level) {
+        return (int) memberList.stream().filter(member -> member.getLevel().equals(level)).count();
+    }
+
+    /**
+     * 保存会员等级配置
+     *
+     * @param memberLevelDTOList 会员等级配置列表
+     */
+    @Override
+    @Transactional(propagation = Propagation.REQUIRES_NEW)
+    public void saveOrUpdateMemberLevel(List<MgtMemberLevelDTO> memberLevelDTOList) {
+        List<MemberLevel> memberLevels = BeanUtils.copyList(memberLevelDTOList, MemberLevel.class);
+        this.saveOrUpdateBatch(memberLevels);
+        asyncMethodService.handleMemberLevel(memberLevels);
+    }
 }

--
Gitblit v1.7.1