|
|
@@ -0,0 +1,128 @@
|
|
|
+package shop.alien.store.controller;
|
|
|
+
|
|
|
+import com.baomidou.mybatisplus.core.metadata.IPage;
|
|
|
+import io.swagger.annotations.*;
|
|
|
+import lombok.RequiredArgsConstructor;
|
|
|
+import lombok.extern.slf4j.Slf4j;
|
|
|
+import org.springframework.web.bind.annotation.*;
|
|
|
+import shop.alien.entity.result.R;
|
|
|
+import shop.alien.entity.store.StoreProductItem;
|
|
|
+import shop.alien.store.service.StoreProductItemService;
|
|
|
+import shop.alien.util.myBaticsPlus.QueryBuilder;
|
|
|
+
|
|
|
+import java.util.List;
|
|
|
+
|
|
|
+/**
|
|
|
+ * 商品表 前端控制器
|
|
|
+ *
|
|
|
+ * @author system
|
|
|
+ * @since 2025-01-XX
|
|
|
+ */
|
|
|
+@Slf4j
|
|
|
+@Api(tags = {"商品管理"})
|
|
|
+@CrossOrigin
|
|
|
+@RestController
|
|
|
+@RequestMapping("/storeProductItem")
|
|
|
+@RequiredArgsConstructor
|
|
|
+public class StoreProductItemController {
|
|
|
+
|
|
|
+ private final StoreProductItemService storeProductItemService;
|
|
|
+
|
|
|
+ @ApiOperation("新增商品")
|
|
|
+ @ApiOperationSupport(order = 1)
|
|
|
+ @PostMapping("/add")
|
|
|
+ public R<StoreProductItem> addStoreProductItem(@RequestBody StoreProductItem storeProductItem) {
|
|
|
+ log.info("StoreProductItemController.addStoreProductItem?storeProductItem={}", storeProductItem);
|
|
|
+ return storeProductItemService.addStoreProductItem(storeProductItem);
|
|
|
+ }
|
|
|
+
|
|
|
+ @ApiOperation("编辑商品")
|
|
|
+ @ApiOperationSupport(order = 2)
|
|
|
+ @PostMapping("/edit")
|
|
|
+ public R<StoreProductItem> editStoreProductItem(@RequestBody StoreProductItem storeProductItem) {
|
|
|
+ log.info("StoreProductItemController.editStoreProductItem?storeProductItem={}", storeProductItem);
|
|
|
+ return storeProductItemService.editStoreProductItem(storeProductItem);
|
|
|
+ }
|
|
|
+
|
|
|
+ @ApiOperation("删除商品")
|
|
|
+ @ApiOperationSupport(order = 3)
|
|
|
+ @DeleteMapping("/delete")
|
|
|
+ public R<Boolean> deleteStoreProductItem(@RequestParam(value = "id") Long id) {
|
|
|
+ log.info("StoreProductItemController.deleteStoreProductItem?id={}", id);
|
|
|
+ return storeProductItemService.deleteStoreProductItem(id);
|
|
|
+ }
|
|
|
+
|
|
|
+ @ApiOperation("根据ID查询商品")
|
|
|
+ @ApiOperationSupport(order = 4)
|
|
|
+ @GetMapping("/getById")
|
|
|
+ public R<StoreProductItem> getStoreProductItemById(@RequestParam(value = "id") Long id) {
|
|
|
+ log.info("StoreProductItemController.getStoreProductItemById?id={}", id);
|
|
|
+ return storeProductItemService.getStoreProductItemById(id);
|
|
|
+ }
|
|
|
+
|
|
|
+ @ApiOperation("保存或更新商品")
|
|
|
+ @ApiOperationSupport(order = 5)
|
|
|
+ @PostMapping("/saveOrUpdate")
|
|
|
+ public R<StoreProductItem> saveOrUpdate(@RequestBody StoreProductItem storeProductItem) {
|
|
|
+ log.info("StoreProductItemController.saveOrUpdate?storeProductItem={}", storeProductItem);
|
|
|
+ boolean result = storeProductItemService.saveOrUpdate(storeProductItem);
|
|
|
+ if (result) {
|
|
|
+ return R.data(storeProductItem);
|
|
|
+ }
|
|
|
+ return R.fail("操作失败");
|
|
|
+ }
|
|
|
+
|
|
|
+ @ApiOperation("通用列表查询")
|
|
|
+ @ApiOperationSupport(order = 6)
|
|
|
+ @ApiImplicitParams({
|
|
|
+ @ApiImplicitParam(name = "id", value = "主键", dataType = "Long", paramType = "query"),
|
|
|
+ @ApiImplicitParam(name = "pid", value = "父id", dataType = "Long", paramType = "query"),
|
|
|
+ @ApiImplicitParam(name = "storeId", value = "门店id", dataType = "Integer", paramType = "query"),
|
|
|
+ @ApiImplicitParam(name = "prodName", value = "商品名称", dataType = "String", paramType = "query"),
|
|
|
+ @ApiImplicitParam(name = "prodType", value = "商品类型(1酒吧-酒水 2酒吧-餐食 3美食-餐食 4运动健身-单次 5运动健身-多次)", dataType = "Integer", paramType = "query"),
|
|
|
+ @ApiImplicitParam(name = "needReserve", value = "是否需要预约(0=否,1=是)", dataType = "Integer", paramType = "query"),
|
|
|
+ @ApiImplicitParam(name = "status", value = "状态(0-待审核 1-审核通过 2-审核拒绝)", dataType = "Integer", paramType = "query"),
|
|
|
+ @ApiImplicitParam(name = "rejectionReason", value = "拒绝原因", dataType = "String", paramType = "query"),
|
|
|
+ @ApiImplicitParam(name = "createdTime_Start", value = "创建时间开始(范围查询)", dataType = "String", paramType = "query"),
|
|
|
+ @ApiImplicitParam(name = "createdTime_End", value = "创建时间结束(范围查询)", dataType = "String", paramType = "query")
|
|
|
+ })
|
|
|
+ @GetMapping("/getList")
|
|
|
+ public R<List<StoreProductItem>> getList(@ModelAttribute StoreProductItem storeProductItem) {
|
|
|
+ log.info("StoreProductItemController.getList?storeProductItem={}", storeProductItem);
|
|
|
+ List<StoreProductItem> list = QueryBuilder.of(storeProductItem)
|
|
|
+ .build()
|
|
|
+ .list(storeProductItemService);
|
|
|
+ return R.data(list);
|
|
|
+ }
|
|
|
+
|
|
|
+ @ApiOperation("通用分页查询")
|
|
|
+ @ApiOperationSupport(order = 7)
|
|
|
+ @ApiImplicitParams({
|
|
|
+ @ApiImplicitParam(name = "page", value = "页数(默认1)", dataType = "int", paramType = "query"),
|
|
|
+ @ApiImplicitParam(name = "size", value = "页容(默认10)", dataType = "int", paramType = "query"),
|
|
|
+ @ApiImplicitParam(name = "id", value = "主键", dataType = "Long", paramType = "query"),
|
|
|
+ @ApiImplicitParam(name = "pid", value = "父id", dataType = "Long", paramType = "query"),
|
|
|
+ @ApiImplicitParam(name = "storeId", value = "门店id", dataType = "Integer", paramType = "query"),
|
|
|
+ @ApiImplicitParam(name = "prodName", value = "商品名称", dataType = "String", paramType = "query"),
|
|
|
+ @ApiImplicitParam(name = "prodType", value = "商品类型(1酒吧-酒水 2酒吧-餐食 3美食-餐食 4运动健身-单次 5运动健身-多次)", dataType = "Integer", paramType = "query"),
|
|
|
+ @ApiImplicitParam(name = "needReserve", value = "是否需要预约(0=否,1=是)", dataType = "Integer", paramType = "query"),
|
|
|
+ @ApiImplicitParam(name = "status", value = "状态(0-待审核 1-审核通过 2-审核拒绝)", dataType = "Integer", paramType = "query"),
|
|
|
+ @ApiImplicitParam(name = "rejectionReason", value = "拒绝原因", dataType = "String", paramType = "query"),
|
|
|
+ @ApiImplicitParam(name = "createdTime_Start", value = "创建时间开始(范围查询)", dataType = "String", paramType = "query"),
|
|
|
+ @ApiImplicitParam(name = "createdTime_End", value = "创建时间结束(范围查询)", dataType = "String", paramType = "query")
|
|
|
+ })
|
|
|
+ @GetMapping("/getPage")
|
|
|
+ public R<IPage<StoreProductItem>> getPage(@ModelAttribute StoreProductItem storeProductItem,
|
|
|
+ @RequestParam(defaultValue = "1") int page,
|
|
|
+ @RequestParam(defaultValue = "10") int size) {
|
|
|
+ log.info("StoreProductItemController.getPage?storeProductItem={},page={},size={}", storeProductItem, page, size);
|
|
|
+ int pageNum = page > 0 ? page : 1;
|
|
|
+ int pageSize = size > 0 ? size : 10;
|
|
|
+ IPage<StoreProductItem> pageResult = QueryBuilder.of(storeProductItem)
|
|
|
+ .page(pageNum, pageSize)
|
|
|
+ .build()
|
|
|
+ .page(storeProductItemService);
|
|
|
+ return R.data(pageResult);
|
|
|
+ }
|
|
|
+}
|
|
|
+
|