敏捷工具
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 
 
 

65 lines
2.1 KiB

package com.whn.hellospring.controller;
import com.whn.hellospring.model.CoffeeDO;
import com.whn.hellospring.model.CoffeeDTO;
import com.whn.hellospring.request.DeleteCoffeeRequest;
import com.whn.hellospring.request.GetCoffeeListByOrderIdRequest;
import com.whn.hellospring.service.CoffeeService;
import com.whn.hellospring.utils.DO2DTOUtil;
import org.joda.money.CurrencyUnit;
import org.joda.money.Money;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.PostMapping;
import org.springframework.web.bind.annotation.RequestBody;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;
import javax.validation.Valid;
import java.util.ArrayList;
import java.util.List;
@RestController
@RequestMapping(value = "/coffee")
public class CoffeeController {
@Autowired
CoffeeService service;
/**
* 创建编辑咖啡
*/
@PostMapping(value = "/update")
public String createCoffee(@Valid @RequestBody CoffeeDTO coffeeDTO){
CoffeeDO coffeeDO = (CoffeeDO) DO2DTOUtil.getInstance().dtoToDo(coffeeDTO, CoffeeDO.class);
coffeeDO.setPrice(Money.of(CurrencyUnit.of("CNY"),coffeeDTO.getPrice()));
service.updateCoffee(coffeeDO);
return "success";
}
/**
* 删除咖啡
*/
@PostMapping(value = "/delete")
public String deleteCoffeeById(@RequestBody DeleteCoffeeRequest request){
service.deleteCoffee(request.getId());
return "success";
}
/**
* 获取一个订单下的咖啡列表
* @return
*/
@PostMapping(value = "/coffeeListByOrderId")
public List<CoffeeDTO> getCoffeeListByOrderId(@RequestBody GetCoffeeListByOrderIdRequest request){
List<CoffeeDO> coffeeList = service.getCoffeeListWithOrderId(request.getOrderId());
List<CoffeeDTO> coffeeDTOList = new ArrayList<>();
for (CoffeeDO coffeeDo :coffeeList) {
CoffeeDTO dto = new CoffeeDTO(coffeeDo);
coffeeDTOList.add(dto);
}
return coffeeDTOList;
}
}