| | |
| | | |
| | | import cc.mrbird.febs.ai.entity.AiProductCategory; |
| | | import cc.mrbird.febs.ai.mapper.AiProductCategoryMapper; |
| | | import cc.mrbird.febs.ai.req.productCategory.ApiProductCategoryPageDto; |
| | | import cc.mrbird.febs.ai.res.productCategory.ApiProductCategoryVo; |
| | | import cc.mrbird.febs.ai.service.AiProductCategoryService; |
| | | import cc.mrbird.febs.common.entity.FebsResponse; |
| | | import cc.mrbird.febs.mall.vo.ApiActivityInfoVo; |
| | | import cn.hutool.core.collection.CollUtil; |
| | | import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; |
| | | import com.baomidou.mybatisplus.core.toolkit.Wrappers; |
| | | 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 org.springframework.transaction.annotation.Transactional; |
| | | |
| | | import java.util.ArrayList; |
| | | import java.util.List; |
| | | |
| | | /** |
| | |
| | | private final AiProductCategoryMapper aiProductCategoryMapper; |
| | | |
| | | |
| | | @Override |
| | | public List<AiProductCategory> getListByQuery(LambdaQueryWrapper<AiProductCategory> query) { |
| | | return aiProductCategoryMapper.selectList(query); |
| | | } |
| | | |
| | | @Override |
| | | public Page<ApiProductCategoryVo> getPageListByQuery(Page<ApiProductCategoryVo> page , ApiProductCategoryPageDto dto) { |
| | | return aiProductCategoryMapper.selectPageListByQuery(page,dto); |
| | | } |
| | | |
| | | @Override |
| | | public FebsResponse hot() { |
| | | |
| | | List<ApiProductCategoryVo> list = new ArrayList<>(); |
| | | |
| | | LambdaQueryWrapper<AiProductCategory> query = Wrappers.lambdaQuery(AiProductCategory.class); |
| | | query.eq(AiProductCategory::getState, 1); |
| | | query.eq(AiProductCategory::getHotState, 1); |
| | | query.orderByAsc(AiProductCategory::getSort); |
| | | List<AiProductCategory> listByQuery = this.getListByQuery(query); |
| | | if (CollUtil.isNotEmpty(listByQuery)){ |
| | | for (AiProductCategory aiProductCategory : listByQuery){ |
| | | ApiProductCategoryVo apiProductCategoryVo = new ApiProductCategoryVo(); |
| | | apiProductCategoryVo.setId(aiProductCategory.getId()); |
| | | apiProductCategoryVo.setName(aiProductCategory.getName()); |
| | | apiProductCategoryVo.setBackImg(aiProductCategory.getBackImg()); |
| | | apiProductCategoryVo.setIconImg(aiProductCategory.getIconImg()); |
| | | list.add(apiProductCategoryVo); |
| | | } |
| | | } |
| | | return new FebsResponse().success().data(list); |
| | | } |
| | | |
| | | @Override |
| | | public FebsResponse categoryList(ApiProductCategoryPageDto dto) { |
| | | // 创建分页对象,传入当前页和每页大小 |
| | | Page<ApiProductCategoryVo> page = new Page<>(dto.getPageNow(), dto.getPageSize()); |
| | | Page<ApiProductCategoryVo> pageListByQuery = this.getPageListByQuery(page, dto); |
| | | return new FebsResponse().success().data(pageListByQuery); |
| | | } |
| | | |
| | | @Override |
| | | public String getDefaultProductCategoryId() { |
| | | LambdaQueryWrapper<AiProductCategory> query = Wrappers.lambdaQuery(AiProductCategory.class); |
| | | query.eq(AiProductCategory::getState, 1); |
| | | query.eq(AiProductCategory::getHotState, 1); |
| | | query.orderByAsc(AiProductCategory::getSort); |
| | | query.last("limit 1"); |
| | | List<AiProductCategory> listByQuery = this.getListByQuery(query); |
| | | if (CollUtil.isNotEmpty(listByQuery)){ |
| | | return listByQuery.get(0).getId(); |
| | | } |
| | | return null; |
| | | } |
| | | } |