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 implements ApiHappySocialCircleService { private final HappySocialCircleCategoryMapper happySocialCircleCategoryMapper; private final MallMemberMapper mallMemberMapper; @Override public FebsResponse allCategory() { ArrayList objects = new ArrayList<>(); List happySocialCircleCategories = happySocialCircleCategoryMapper.selectList( new LambdaQueryWrapper() .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 objects = new ArrayList<>(); List happySocialCircleCategories = happySocialCircleCategoryMapper.selectList( new LambdaQueryWrapper() .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 page = new Page<>(dto.getPageNow(), dto.getPageSize()); // 调用Mapper方法获取活动分页数据 Page 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); } }