package com.xiaopeng.operation.controller; import com.xiaopeng.api.feignClient.maintenance.XpWorkOrderClient; import com.xiaopeng.api.model.operation.XpFeedbackType; import com.xiaopeng.common.core.domain.R; import com.xiaopeng.common.core.exception.ServiceException; import com.xiaopeng.operation.constant.I18nKeyConstant; import com.xiaopeng.operation.service.IXpFeedbackTypeService; import io.swagger.annotations.Api; import io.swagger.annotations.ApiOperation; import lombok.extern.slf4j.Slf4j; import org.springframework.web.bind.annotation.*; import java.util.List; /** *

* 意见反馈类型表 前端控制器 *

* * @author mitao * @since 2026-02-03 */ @Slf4j @RestController @RequestMapping("/api/v1/feedbackType") @Api(tags = "管理后台-意见反馈类型") public class XpFeedbackTypeManagementController { private final IXpFeedbackTypeService xpFeedbackTypeService; private final XpWorkOrderClient xpWorkOrderClient; public XpFeedbackTypeManagementController(IXpFeedbackTypeService xpFeedbackTypeService, XpWorkOrderClient xpWorkOrderClient) { this.xpFeedbackTypeService = xpFeedbackTypeService; this.xpWorkOrderClient = xpWorkOrderClient; } @GetMapping("/getList") @ApiOperation(value = "获取意见反馈类型列表") public R> getList() { List list = xpFeedbackTypeService.list(); return R.ok(list); } @ApiOperation(value = "新增意见反馈类型") @PostMapping(value = "/saveFeedbackType") public R add(@RequestBody XpFeedbackType xpFeedbackType) { return R.ok(xpFeedbackTypeService.save(xpFeedbackType)); } @ApiOperation(value = "编辑意见反馈类型") @PostMapping(value = "/updateFeedbackType") public R updateFeedbackType(@RequestBody XpFeedbackType xpFeedbackType) { return R.ok(xpFeedbackTypeService.updateById(xpFeedbackType)); } @ApiOperation(value = "删除意见反馈类型") @DeleteMapping(value = "/deleteFeedbackType") public R deleteFeedbackType(Long id) { // 判断工单是否包含这个类型 R include = xpWorkOrderClient.include(id); if(include==null || include.getData()){ throw new ServiceException("该类型被工单引用,无法删除",I18nKeyConstant.INCLUDE); } return R.ok(xpFeedbackTypeService.removeById(id)); } }