package com.oying.modules.pc.store.rest;
|
|
import cn.hutool.core.collection.ListUtil;
|
import cn.hutool.core.util.ObjectUtil;
|
import com.oying.modules.pc.store.domain.Store;
|
import com.oying.modules.pc.store.domain.dto.StoreCreateRequest;
|
import com.oying.modules.pc.store.domain.dto.StoreQueryCriteria;
|
import com.oying.modules.pc.store.domain.dto.StoreUpdateRequest;
|
import com.oying.modules.pc.store.service.StoreService;
|
import com.oying.utils.R;
|
import io.swagger.annotations.ApiOperation;
|
import lombok.RequiredArgsConstructor;
|
import org.springframework.http.HttpStatus;
|
import org.springframework.http.ResponseEntity;
|
import org.springframework.web.bind.annotation.*;
|
|
import java.util.List;
|
import java.util.Optional;
|
|
/**
|
* 店铺
|
*
|
* @author lzp
|
* @date 2025-04-22
|
*/
|
@RestController
|
@RequestMapping("/api/pc/store")
|
@RequiredArgsConstructor
|
public class StoreController {
|
|
private final StoreService storeService;
|
|
@GetMapping(value = "/list")
|
@ApiOperation("查询所有店铺")
|
public ResponseEntity<?> getStores(StoreQueryCriteria criteria) {
|
List<Store> storeList = Optional.ofNullable(storeService.queryAll(criteria)).orElse(ListUtil.empty());
|
return ResponseEntity.ok(R.success(storeList));
|
}
|
|
@GetMapping(value = "/page")
|
@ApiOperation("查询所有店铺")
|
public ResponseEntity<?> getStoresByPage(StoreQueryCriteria criteria) {
|
return ResponseEntity.ok(R.success(storeService.queryByPage(criteria)));
|
}
|
|
@GetMapping(value = "/{storeId}")
|
@ApiOperation("查询店铺")
|
public ResponseEntity<?> getStoreById(@PathVariable Long storeId) {
|
return ResponseEntity.ok(R.success(storeService.getById(storeId)));
|
}
|
|
@GetMapping(value = "/{storeId}/details")
|
public ResponseEntity<?> getStoreDetailsById(@PathVariable("storeId") Long storeId) {
|
return ResponseEntity.ok(R.success(storeService.getById(storeId)));
|
}
|
|
@GetMapping(value = "/{storeId}/name-check")
|
public ResponseEntity<?> checkStoreName(@RequestParam String storeName) {
|
return ResponseEntity.ok(R.success(storeService.existsStoreName(storeName)));
|
}
|
|
@PostMapping
|
@ApiOperation("创建店铺")
|
public ResponseEntity<?> create(@RequestBody StoreCreateRequest request) {
|
return ResponseEntity.status(HttpStatus.CREATED).body(R.success(storeService.create(request)));
|
}
|
|
@PostMapping(value = "/{storeId}")
|
@ApiOperation("修改店铺")
|
public ResponseEntity<?> update(@PathVariable("storeId") Long storeId, @RequestBody StoreUpdateRequest request) {
|
request.setStoreId(ObjectUtil.defaultIfNull(request.getStoreId(), storeId));
|
storeService.update(request);
|
return ResponseEntity.noContent().build();
|
}
|
|
}
|