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 getCoffeeListByOrderId(@RequestBody GetCoffeeListByOrderIdRequest request){ List coffeeList = service.getCoffeeListWithOrderId(request.getOrderId()); List coffeeDTOList = new ArrayList<>(); for (CoffeeDO coffeeDo :coffeeList) { CoffeeDTO dto = new CoffeeDTO(coffeeDo); coffeeDTOList.add(dto); } return coffeeDTOList; } }