package com.xiaopeng.operation.controller;
import com.xiaopeng.api.model.operation.XpFeedbackType;
import com.xiaopeng.common.core.domain.R;
import com.xiaopeng.common.core.web.page.BasePage;
import com.xiaopeng.common.core.web.page.PageInfo;
import com.xiaopeng.operation.service.IXpFeedbackTypeService;
import com.xiaopeng.unifiedverification.interceptor.XpClientCheck;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiOperation;
import io.swagger.v3.oas.annotations.Operation;
import lombok.extern.slf4j.Slf4j;
import org.springframework.web.bind.annotation.*;
import org.springframework.stereotype.Controller;
import javax.validation.Valid;
import java.util.List;
/**
*
* 意见反馈类型表 前端控制器
*
*
* @author mitao
* @since 2026-02-03
*/
@Slf4j
@RestController
public class XpFeedbackTypeController {
private final IXpFeedbackTypeService xpFeedbackTypeService;
public XpFeedbackTypeController(IXpFeedbackTypeService xpFeedbackTypeService) {
this.xpFeedbackTypeService = xpFeedbackTypeService;
}
/**
* 获取反馈类型
*
* @return
*/
@GetMapping("/base/v1/getFeedbackTypeById/{id}")
public R getFeedbackTypeById(@PathVariable("id") Long id) {
return R.ok(xpFeedbackTypeService.getById(id));
}
@GetMapping("/base/v1/mini-program/feedback-type/getList")
@ApiOperation(value = "获取意见反馈类型列表", tags = {"意见反馈类型列表"}, response = XpFeedbackType.class)
@XpClientCheck(checkToken = false, checkOtpToken = true)
public R> getList() {
List list = xpFeedbackTypeService.list();
return R.ok(list);
}
@ApiOperation(value = "获取意见反馈类型分页列表", tags = {"管理后台-服务中心"}, response = XpFeedbackType.class)
@PostMapping("/api/v1/feedbackType/pageList")
public R> getPageList(@RequestBody BasePage basePage) {
return R.ok(xpFeedbackTypeService.getPageList(basePage));
}
@ApiOperation(value = "新增、编辑意见反馈类型", tags = {"管理后台-服务中心"})
@PostMapping("/api/v1/feedbackType/saveOrUpdate")
public R> saveOrUpdate(@RequestBody @Valid XpFeedbackType xpFeedbackType) {
xpFeedbackTypeService.saveOrUpdate(xpFeedbackType);
return R.ok();
}
@ApiOperation(value = "删除意见反馈类型", tags = {"管理后台-服务中心"})
@DeleteMapping("/api/v1/feedbackType/delete/{id}")
public R> delete(@PathVariable Long id) {
xpFeedbackTypeService.removeById(id);
return R.ok();
}
}