package cc.mrbird.febs.dapp.service.impl; import cc.mrbird.febs.common.entity.FebsResponse; import cc.mrbird.febs.dapp.dto.NewsListDto; import cc.mrbird.febs.dapp.entity.DataDictionaryCustom; import cc.mrbird.febs.dapp.entity.MallNewsCategory; import cc.mrbird.febs.dapp.entity.MallNewsInfo; import cc.mrbird.febs.dapp.entity.PlatformBanner; import cc.mrbird.febs.dapp.enumerate.DataDictionaryEnum; import cc.mrbird.febs.dapp.mapper.DataDictionaryCustomMapper; import cc.mrbird.febs.dapp.mapper.MallNewsCategoryMapper; import cc.mrbird.febs.dapp.mapper.MallNewsInfoMapper; import cc.mrbird.febs.dapp.mapper.PlatformBannerMapper; import cc.mrbird.febs.dapp.service.IApiMallNewsService; import cc.mrbird.febs.dapp.vo.NewsListVo; import cc.mrbird.febs.dapp.vo.OnHookPlanVo; import cn.hutool.core.util.ObjectUtil; import cn.hutool.json.JSONObject; import cn.hutool.json.JSONUtil; import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; import com.baomidou.mybatisplus.core.metadata.IPage; 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 ApiMallNewsServiceImpl extends ServiceImpl implements IApiMallNewsService { private final MallNewsCategoryMapper mallNewsCategoryMapper; private final PlatformBannerMapper platformBannerMapper; private final DataDictionaryCustomMapper dictionaryCustomMapper; @Override public List findNewsCategoryList() { return mallNewsCategoryMapper.selectList(null); } @Override public IPage findNewsInPage(NewsListDto newsListDto) { Page page = new Page<>(newsListDto.getPageNum(), newsListDto.getPageSize()); MallNewsInfo mallNewsInfo = new MallNewsInfo(); mallNewsInfo.setCategoryId(newsListDto.getCategoryId()); return this.baseMapper.selectNewsVoInPage(page, mallNewsInfo); } @Override public List findTopNews() { Page page = new Page<>(1, 999); MallNewsInfo mallNewsInfo = new MallNewsInfo(); mallNewsInfo.setIsTop(1); IPage pageList = this.baseMapper.selectNewsVoInPage(page, mallNewsInfo); return pageList.getRecords(); } @Override public FebsResponse findAllBanner() { QueryWrapper queryWrapper = new QueryWrapper<>(); queryWrapper.orderByAsc("is_top"); List paymentMethodList = platformBannerMapper.selectList(queryWrapper); return new FebsResponse().success().data(paymentMethodList); } @Override public FebsResponse findOnHookPlanList() { List onHookPlanVoList = new ArrayList<>(); List dataDictionaryCustoms = dictionaryCustomMapper.selectDicByType(DataDictionaryEnum.PLAN_A.getType()); if(ObjectUtil.isNotEmpty(dataDictionaryCustoms)){ for(DataDictionaryCustom dataDictionaryCustom : dataDictionaryCustoms){ String dataDictionaryCustomValue = dataDictionaryCustom.getValue(); JSONObject jsonObject = JSONUtil.parseObj(dataDictionaryCustomValue); String state = jsonObject.get("state").toString(); if("1".equals(state)){ OnHookPlanVo onHookPlanVo = new OnHookPlanVo(); onHookPlanVo.setDescription(dataDictionaryCustom.getDescription()); onHookPlanVo.setAmount(jsonObject.get("amount").toString()); onHookPlanVo.setMultipleTimes(jsonObject.get("multipleTimes").toString()); onHookPlanVoList.add(onHookPlanVo); } } } return new FebsResponse().success().data(onHookPlanVoList); } }