From 267c06a5864bb617b1ff0ea82210346bf5573f5f Mon Sep 17 00:00:00 2001
From: Administrator <15274802129@163.com>
Date: Wed, 30 Apr 2025 18:06:45 +0800
Subject: [PATCH] refactor(mall): 优化投票活动接口参数设计

---
 src/main/java/cc/mrbird/febs/mall/service/impl/ApiHappySocialCircleServiceImpl.java |  104 ++++++++++++++++++++++++++++++++++++++++++++++++++++
 1 files changed, 104 insertions(+), 0 deletions(-)

diff --git a/src/main/java/cc/mrbird/febs/mall/service/impl/ApiHappySocialCircleServiceImpl.java b/src/main/java/cc/mrbird/febs/mall/service/impl/ApiHappySocialCircleServiceImpl.java
new file mode 100644
index 0000000..02a33f8
--- /dev/null
+++ b/src/main/java/cc/mrbird/febs/mall/service/impl/ApiHappySocialCircleServiceImpl.java
@@ -0,0 +1,104 @@
+package cc.mrbird.febs.mall.service.impl;
+
+import cc.mrbird.febs.common.entity.FebsResponse;
+import cc.mrbird.febs.common.enumerates.StateUpDownEnum;
+import cc.mrbird.febs.mall.dto.activity.ApiScInfoDto;
+import cc.mrbird.febs.mall.entity.HappySocialCircle;
+import cc.mrbird.febs.mall.entity.HappySocialCircleCategory;
+import cc.mrbird.febs.mall.entity.MallMember;
+import cc.mrbird.febs.mall.mapper.HappySocialCircleCategoryMapper;
+import cc.mrbird.febs.mall.mapper.HappySocialCircleMapper;
+import cc.mrbird.febs.mall.mapper.MallMemberMapper;
+import cc.mrbird.febs.mall.service.ApiHappySocialCircleService;
+import cc.mrbird.febs.mall.vo.ApiActivityInfoVo;
+import cc.mrbird.febs.mall.vo.activity.ApiScCategoryInfoVo;
+import cc.mrbird.febs.mall.vo.activity.ApiScInfoVo;
+import cn.hutool.core.collection.CollUtil;
+import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
+import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
+import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
+import lombok.RequiredArgsConstructor;
+import lombok.extern.slf4j.Slf4j;
+import org.springframework.stereotype.Service;
+
+import java.util.ArrayList;
+import java.util.List;
+
+@Slf4j
+@Service
+@RequiredArgsConstructor
+public class ApiHappySocialCircleServiceImpl extends ServiceImpl<HappySocialCircleMapper, HappySocialCircle> implements ApiHappySocialCircleService {
+
+    private final HappySocialCircleCategoryMapper happySocialCircleCategoryMapper;
+    private final MallMemberMapper  mallMemberMapper;
+    @Override
+    public FebsResponse allCategory() {
+        ArrayList<ApiScCategoryInfoVo> objects = new ArrayList<>();
+        List<HappySocialCircleCategory> happySocialCircleCategories = happySocialCircleCategoryMapper.selectList(
+                new LambdaQueryWrapper<HappySocialCircleCategory>()
+                        .select(HappySocialCircleCategory::getId, HappySocialCircleCategory::getName)
+                        .eq(HappySocialCircleCategory::getState, StateUpDownEnum.UP.getCode())
+                        .eq(HappySocialCircleCategory::getDeleteFlag, StateUpDownEnum.DOWN.getCode())
+                        .orderByAsc(HappySocialCircleCategory::getOrderCnt)
+        );
+        if(CollUtil.isNotEmpty(happySocialCircleCategories)){
+            for (HappySocialCircleCategory happySocialCircleCategory : happySocialCircleCategories) {
+                ApiScCategoryInfoVo apiScCategoryInfoVo = new ApiScCategoryInfoVo();
+                apiScCategoryInfoVo.setId(happySocialCircleCategory.getId());
+                apiScCategoryInfoVo.setName(happySocialCircleCategory.getName());
+                objects.add(apiScCategoryInfoVo);
+            }
+        }
+        return new FebsResponse().success().data(objects);
+    }
+
+    @Override
+    public FebsResponse indexCategory() {
+        ArrayList<ApiScCategoryInfoVo> objects = new ArrayList<>();
+        List<HappySocialCircleCategory> happySocialCircleCategories = happySocialCircleCategoryMapper.selectList(
+                new LambdaQueryWrapper<HappySocialCircleCategory>()
+                        .select(HappySocialCircleCategory::getId, HappySocialCircleCategory::getName)
+                        .eq(HappySocialCircleCategory::getState, StateUpDownEnum.UP.getCode())
+                        .eq(HappySocialCircleCategory::getHotState, StateUpDownEnum.UP.getCode())
+                        .eq(HappySocialCircleCategory::getDeleteFlag, StateUpDownEnum.DOWN.getCode())
+                        .orderByAsc(HappySocialCircleCategory::getOrderCnt)
+        );
+        if(CollUtil.isNotEmpty(happySocialCircleCategories)){
+            for (HappySocialCircleCategory happySocialCircleCategory : happySocialCircleCategories) {
+                ApiScCategoryInfoVo apiScCategoryInfoVo = new ApiScCategoryInfoVo();
+                apiScCategoryInfoVo.setId(happySocialCircleCategory.getId());
+                apiScCategoryInfoVo.setName(happySocialCircleCategory.getName());
+                objects.add(apiScCategoryInfoVo);
+            }
+        }
+        return new FebsResponse().success().data(objects);
+    }
+
+    @Override
+    public FebsResponse scList(ApiScInfoDto dto) {
+        // 创建分页对象,传入当前页和每页大小
+        Page<ApiScInfoVo> page = new Page<>(dto.getPageNow(), dto.getPageSize());
+        // 调用Mapper方法获取活动分页数据
+        Page<ApiScInfoVo> happyActivityPage = this.baseMapper.selectListInPage(page, dto);
+        return new FebsResponse().success().data(happyActivityPage);
+    }
+
+    @Override
+    public FebsResponse scInfo(Long id) {
+        ApiScInfoVo apiScInfoVo = new ApiScInfoVo();
+        HappySocialCircle happySocialCircle = this.baseMapper.selectById(id);
+        if(happySocialCircle!=null){
+
+            MallMember mallMember = mallMemberMapper.selectById(happySocialCircle.getMemberId());
+
+            apiScInfoVo.setId(happySocialCircle.getId());
+            apiScInfoVo.setAvatar(mallMember.getAvatar());
+            apiScInfoVo.setMemberName(mallMember.getName());
+            apiScInfoVo.setName(happySocialCircle.getName());
+            apiScInfoVo.setIndexFile(happySocialCircle.getIndexFile());
+            apiScInfoVo.setContent(happySocialCircle.getContent());
+            apiScInfoVo.setCreatedTime(happySocialCircle.getCreatedTime());
+        }
+        return new FebsResponse().success().data(apiScInfoVo);
+    }
+}

--
Gitblit v1.9.1