package com.java1234.controller;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.java1234.entity.Product;
import com.java1234.entity.ProductSwiperImage;
import com.java1234.entity.R;
import com.java1234.service.IProductService;
import com.java1234.service.IProductSwiperImageService;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
/**
* 商品Controller
*/
@RestController
@RequestMapping("/product")
public class ProductController {
@Autowired
private IProductService productService;
@Autowired
private IProductSwiperImageService productSwiperImageService;
/**
* 查询轮播商品
* @return
*/
@GetMapping("/findSwiper")
public R findSwiper(){
List<Product> swiperProductList = productService.list(new QueryWrapper<Product>().eq("isSwiper", true).orderByAsc("swiperSort"));
Map<String,Object> map = new HashMap<>();
map.put("message",swiperProductList);
return R.ok(map);
}
/**
* 查询热门推荐商品8个
* @return
*/
@GetMapping("/findHot")
public R findHot(){
Page<Product> page = new Page<Product>(0,8);
Page<Product> pageProduct = productService.page(page, new QueryWrapper<Product>().eq("isHot", true).orderByAsc("hotDateTime"));
List<Product> hotProductList = pageProduct.getRecords();
Map<String,Object> map=new HashMap<>();
map.put("message",hotProductList);
return R.ok(map);
}
/**
* 根据id查询商品信息
* @param id
* @return
*/
@GetMapping("/detail")
public R detail(Integer id){
Product product = productService.getById(id);
List<ProductSwiperImage> productSwiperImageList = productSwiperImageService.list(new QueryWrapper<ProductSwiperImage>().eq("productId", product.getId()).orderByAsc("sort"));
product.setProductSwiperImageList(productSwiperImageList);
Map<String,Object> map=new HashMap<>();
map.put("message",product);
return R.ok(map);
}
}
package com.java1234.entity;
import com.baomidou.mybatisplus.annotation.TableName;
import lombok.Data;
/**
* 产品轮播图片
* @author java1234_小锋
* @site www.java1234.com
* @company 南通小锋网络科技有限公司
* @create 2021-12-14 12:54
*/
@TableName("t_product_swiper_image")
@Data
public class ProductSwiperImage {
private Integer id; // 编号
private String image; // 图片名称
private Integer sort; // 排列序号 从小到大排序
private Integer productId; // 所属产品
}
package com.java1234.mapper;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.java1234.entity.ProductSwiperImage;
/**
* 产品轮播图片Mapper接口
*/
public interface ProductSwiperImageMapper extends BaseMapper<ProductSwiperImage> {
}
package com.java1234.service;
import com.baomidou.mybatisplus.extension.service.IService;
import com.java1234.entity.ProductSwiperImage;
/**
* 产品轮播图片Service接口
*/
public interface IProductSwiperImageService extends IService<ProductSwiperImage> {
}
package com.java1234.service.impl;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import com.java1234.entity.ProductSwiperImage;
import com.java1234.mapper.ProductSwiperImageMapper;
import com.java1234.service.IProductSwiperImageService;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
/**
* 产品轮播图片Service实现类
*/
@Service("productSwiperImageService")
public class IProductSwiperImageServiceImpl extends ServiceImpl<ProductSwiperImageMapper,ProductSwiperImage> implements IProductSwiperImageService {
@Autowired
private ProductSwiperImageMapper productSwiperImageMapper;
}