package com.hmdp.controller; import cn.hutool.core.util.StrUtil; import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.hmdp.dto.Result; import com.hmdp.entity.Shop; import com.hmdp.service.IShopService; import com.hmdp.utils.SystemConstants; import org.springframework.web.bind.annotation.*; import javax.annotation.Resource; /** *

* 前端控制器 *

* * @author 虎哥 * @since 2021-12-22 */ @RestController @RequestMapping("/shop") public class ShopController { @Resource public IShopService shopService; /** * 根据id查询商铺信息 * @param id 商铺id * @return 商铺详情数据 */ @GetMapping("/{id}") public Result queryShopById(@PathVariable("id") Long id) { return Result.ok(shopService.getById(id)); } /** * 新增商铺信息 * @param shop 商铺数据 * @return 商铺id */ @PostMapping public Result saveShop(@RequestBody Shop shop) { // 写入数据库 shopService.save(shop); // 返回店铺id return Result.ok(shop.getId()); } /** * 更新商铺信息 * @param shop 商铺数据 * @return 无 */ @PutMapping public Result updateShop(@RequestBody Shop shop) { // 写入数据库 shopService.updateById(shop); return Result.ok(); } /** * 根据商铺类型分页查询商铺信息 * @param typeId 商铺类型 * @param current 页码 * @return 商铺列表 */ @GetMapping("/of/type") public Result queryShopByType( @RequestParam("typeId") Integer typeId, @RequestParam(value = "current", defaultValue = "1") Integer current ) { // 根据类型分页查询 Page page = shopService.query() .eq("type_id", typeId) .page(new Page<>(current, SystemConstants.DEFAULT_PAGE_SIZE)); // 返回数据 return Result.ok(page.getRecords()); } /** * 根据商铺名称关键字分页查询商铺信息 * @param name 商铺名称关键字 * @param current 页码 * @return 商铺列表 */ @GetMapping("/of/name") public Result queryShopByName( @RequestParam(value = "name", required = false) String name, @RequestParam(value = "current", defaultValue = "1") Integer current ) { // 根据类型分页查询 Page page = shopService.query() .like(StrUtil.isNotBlank(name), "name", name) .page(new Page<>(current, SystemConstants.MAX_PAGE_SIZE)); // 返回数据 return Result.ok(page.getRecords()); } }