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.common.log.annotation.AdminOperationLog;
|
import com.xiaopeng.common.log.enums.AdminBusinessType;
|
import com.xiaopeng.common.log.enums.AdminOperationType;
|
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;
|
|
/**
|
* <p>
|
* 意见反馈类型表 前端控制器
|
* </p>
|
*
|
* @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<List<XpFeedbackType>> getList() {
|
List<XpFeedbackType> list = xpFeedbackTypeService.list();
|
return R.ok(list);
|
}
|
@ApiOperation(value = "新增意见反馈类型")
|
@PostMapping(value = "/saveFeedbackType")
|
@AdminOperationLog(
|
businessType = AdminBusinessType.FEEDBACK_TYPE_MANAGEMENT,
|
operationType = AdminOperationType.ADD,
|
content = "新增意见反馈类型",
|
appendRequestData = true
|
)
|
public R<Boolean> add(@RequestBody XpFeedbackType xpFeedbackType) {
|
return R.ok(xpFeedbackTypeService.save(xpFeedbackType));
|
}
|
@ApiOperation(value = "编辑意见反馈类型")
|
@PostMapping(value = "/updateFeedbackType")
|
@AdminOperationLog(
|
businessType = AdminBusinessType.FEEDBACK_TYPE_MANAGEMENT,
|
operationType = AdminOperationType.EDIT,
|
content = "编辑意见反馈类型",
|
appendRequestData = true
|
)
|
public R<Boolean> updateFeedbackType(@RequestBody XpFeedbackType xpFeedbackType) {
|
return R.ok(xpFeedbackTypeService.updateById(xpFeedbackType));
|
}
|
@ApiOperation(value = "删除意见反馈类型")
|
@DeleteMapping(value = "/deleteFeedbackType")
|
@AdminOperationLog(
|
businessType = AdminBusinessType.FEEDBACK_TYPE_MANAGEMENT,
|
operationType = AdminOperationType.DELETE,
|
contentExpression = "'删除意见反馈类型,id=' + #p0",
|
appendRequestData = false
|
)
|
public R<Boolean> deleteFeedbackType(Long id) {
|
// 判断工单是否包含这个类型
|
R<Boolean> include = xpWorkOrderClient.include(id);
|
if(include==null || include.getData()){
|
throw new ServiceException("该类型被工单引用,无法删除",I18nKeyConstant.INCLUDE);
|
}
|
return R.ok(xpFeedbackTypeService.removeById(id));
|
}
|
}
|