package
cn.tedu.sp06.controller;
import
cn.tedu.sp01.pojo.Item;
import
cn.tedu.sp01.pojo.Order;
import
cn.tedu.sp01.pojo.User;
import
cn.tedu.web.util.JsonResult;
import
com.netflix.hystrix.contrib.javanica.annotation.HystrixCommand;
import
lombok.extern.slf4j.Slf4j;
import
org.springframework.beans.factory.annotation.Autowired;
import
org.springframework.web.bind.annotation.*;
import
org.springframework.web.client.RestTemplate;
import
java.util.List;
@RestController
@Slf4j
public
class
RibbonController {
@Autowired
private
RestTemplate rt;
@GetMapping
(
"/item-service/{orderId}"
)
@HystrixCommand
(fallbackMethod =
"getItemsFB"
)
public
JsonResult<list<item>> getItems(
@PathVariable
String orderId){
}
@PostMapping
(
"/item-service/decreaseNumber"
)
@HystrixCommand
(fallbackMethod =
"decreaseNumberFB"
)
public
JsonResult<&#
63
;> decreaseNumber(
@PathVariable
List<item> items){
}
@GetMapping
(
"/user-service/{userId}"
)
@HystrixCommand
(fallbackMethod =
"getUserFB"
)
public
JsonResult<user> getUser(
@PathVariable
Integer userId) {
}
@GetMapping
(
"/user-service/{userId}/score"
)
@HystrixCommand
(fallbackMethod =
"addScoreFB"
)
public
JsonResult addScore(
@PathVariable
Integer userId, Integer score) {
return
rt.getForObject(
"http://user-service/{1}/score&#63;score={2}"
, JsonResult.
class
, userId, score);
}
@GetMapping
(
"/order-service/{orderId}"
)
@HystrixCommand
(fallbackMethod =
"getOrderFB"
)
public
JsonResult<order> getOrder(
@PathVariable
String orderId) {
}
@GetMapping
(
"/order-service"
)
@HystrixCommand
(fallbackMethod =
"addOrderFB"
)
public
JsonResult addOrder() {
}
public
JsonResult<list<item>> getItemsFB(String orderId) {
return
JsonResult.err(
"获取订单商品列表失败"
);
}
public
JsonResult decreaseNumberFB(List<item> items) {
return
JsonResult.err(
"更新商品库存失败"
);
}
public
JsonResult<user> getUserFB(Integer userId) {
return
JsonResult.err(
"获取用户信息失败"
);
}
public
JsonResult addScoreFB(Integer userId, Integer score) {
return
JsonResult.err(
"增加用户积分失败"
);
}
public
JsonResult<order> getOrderFB(String orderId) {
return
JsonResult.err(
"获取订单失败"
);
}
public
JsonResult addOrderFB() {
return
JsonResult.err(
"添加订单失败"
);
}
}</order></user></item></list<item></order></user></item></list<item>