java-bookstore/admin-ui/front/src/main/java/io/controller/OrderController.java
2025-02-24 15:40:03 +08:00

106 lines
3.5 KiB
Java
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

package io.controller;
import io.annotation.Login;
import io.common.constant.Constant;
import io.common.page.PageData;
import io.common.utils.Result;
import io.common.validator.AssertUtils;
import io.common.validator.ValidatorUtils;
import io.common.validator.group.AddGroup;
import io.common.validator.group.DefaultGroup;
import io.common.validator.group.UpdateGroup;
import io.modules.item.dto.ItemDTO;
import io.modules.item.dto.OrderDTO;
import io.modules.item.service.ItemService;
import io.modules.item.service.OrderService;
import io.swagger.v3.oas.annotations.Operation;
import io.swagger.v3.oas.annotations.enums.ParameterIn;
import io.swagger.v3.oas.annotations.tags.Tag;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.beans.factory.annotation.Value;
import org.springframework.web.bind.annotation.*;
import io.swagger.v3.oas.annotations.Parameter;
import io.swagger.v3.oas.annotations.Parameters;
import java.util.List;
import java.util.Map;
import java.util.stream.Collectors;
/**
* 订单表
*/
@RestController
@RequestMapping("/api/order")
@Tag(name="订单表")
@CrossOrigin
public class OrderController {
@Autowired
private OrderService orderService;
@Autowired
private ItemService itemService;
@Value("${upload.url}")
private String uploadUrl;
@GetMapping("page")
@Operation(summary = "分页")
@Parameters({
@Parameter(name = Constant.PAGE, description = "当前页码从1开始", in = ParameterIn.QUERY, required = true, ref="int") ,
@Parameter(name = Constant.LIMIT, description = "每页显示记录数", in = ParameterIn.QUERY,required = true, ref="int") ,
@Parameter(name = Constant.ORDER_FIELD, description = "排序字段", in = ParameterIn.QUERY, ref="String") ,
@Parameter(name = Constant.ORDER, description = "排序方式,可选值(asc、desc)", in = ParameterIn.QUERY, ref="String")
})
@Login
public Result<PageData<OrderDTO>> page(@Parameter(hidden = true) @RequestParam Map<String, Object> params,@Parameter(hidden = true) @RequestAttribute("userId") Long userId){
params.put("userId",userId.toString());
PageData<OrderDTO> page = orderService.page(params);
List<OrderDTO> collect = page.getList().stream().map(e -> {
ItemDTO item = itemService.get(e.getItemId());
if(item != null){
item.setImage(uploadUrl + item.getImage());
}
e.setItem(item);
return e;
}).collect(Collectors.toList());
page.setList(collect);
return new Result<PageData<OrderDTO>>().ok(page);
}
@GetMapping("{id}")
@Operation(summary = "信息")
public Result<OrderDTO> get(@PathVariable("id") Long id){
OrderDTO data = orderService.get(id);
return new Result<OrderDTO>().ok(data);
}
@PostMapping
@Operation(summary = "保存")
@Login
public Result save(@RequestBody OrderDTO dto,@Parameter(hidden = true) @RequestAttribute("userId") Long userId){
dto.setUserId(userId);
orderService.save(dto);
return new Result();
}
@PutMapping
@Operation(summary = "修改")
public Result update(@RequestBody OrderDTO dto){
orderService.update(dto);
return new Result();
}
@DeleteMapping("{id}")
@Operation(summary = "删除")
public Result delete(@PathVariable Long id) {
Long[] ids = new Long[]{id};
//效验数据
AssertUtils.isArrayEmpty(ids, "id");
orderService.delete(ids);
return new Result();
}
}