package com.project.admin.controller.enforce; import com.project.common.annotation.Log; import com.project.common.annotation.RepeatSubmit; import com.project.common.core.controller.BaseController; import com.project.common.core.domain.AjaxResult; import com.project.common.core.page.TableDataInfo; import com.project.common.enums.BusinessType; import com.project.common.utils.poi.ExcelUtil; import com.project.enforce.domain.bo.editBo.ComplaintResultBo; import com.project.enforce.domain.bo.editBo.EnforceComplaintLogBo; import com.project.enforce.domain.bo.queryBo.EnforceComplaintLogQueryBo; import com.project.enforce.domain.vo.EnforceComplaintLogVo; import com.project.enforce.domain.vo.OrderNodeVo; import com.project.enforce.service.IEnforceComplaintLogService; import io.swagger.annotations.Api; import io.swagger.annotations.ApiOperation; import lombok.RequiredArgsConstructor; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.web.bind.annotation.*; import java.util.Arrays; import java.util.List; /** * 投诉记录Controller * * @author manton */ @Api(value = "投诉记录控制器", tags = {"投诉记录管理"}) @RequiredArgsConstructor(onConstructor_ = @Autowired) @RestController @RequestMapping("/enforce/complaint/log") public class EnforceComplaintLogController extends BaseController { private final IEnforceComplaintLogService iEnforceComplaintLogService; @ApiOperation("——记录列表") @GetMapping("/list") public TableDataInfo list(EnforceComplaintLogQueryBo bo) { startPage(); List list = iEnforceComplaintLogService.queryList(bo); return getDataTable(list); } @ApiOperation("我的投诉——记录列表") @GetMapping("/complaintList") public TableDataInfo complaintList(EnforceComplaintLogQueryBo bo) { startPage(); List list = iEnforceComplaintLogService.complaintList(bo); return getDataTable(list); } @ApiOperation("诉求建议——记录列表") @GetMapping("/pleaseList") public TableDataInfo pleaseList(EnforceComplaintLogQueryBo bo) { startPage(); List list = iEnforceComplaintLogService.queryPleaseList(bo); return getDataTable(list); } @ApiOperation("导出投诉记录列表") //@PreAuthorize("@ss.hasPermi('enforce:log:export')") @Log(title = "投诉记录", businessType = BusinessType.EXPORT) @GetMapping("/export") @RepeatSubmit public AjaxResult export(EnforceComplaintLogQueryBo bo) { List list = iEnforceComplaintLogService.queryList(bo); ExcelUtil util = new ExcelUtil(EnforceComplaintLogVo.class); return util.exportExcel(list, "投诉记录"); } @ApiOperation("获取投诉记录详细信息") @GetMapping("/{id}") public AjaxResult getInfo(@PathVariable("id" ) Long id) { return AjaxResult.success(iEnforceComplaintLogService.queryById(id)); } @ApiOperation("发起投诉") //@PreAuthorize("@ss.hasPermi('enforce:log:add')") @Log(title = "投诉记录", businessType = BusinessType.INSERT) @PostMapping("/add") @RepeatSubmit public AjaxResult add(@RequestBody EnforceComplaintLogBo bo) { return toAjax(iEnforceComplaintLogService.insertByBo(bo) ? 1 : 0); } @ApiOperation("修改投诉记录") //@PreAuthorize("@ss.hasPermi('enforce:log:edit')") @Log(title = "投诉记录", businessType = BusinessType.UPDATE) @PostMapping("/upd") @RepeatSubmit public AjaxResult upd(@RequestBody EnforceComplaintLogBo bo) { return toAjax(iEnforceComplaintLogService.updateByBo(bo) ? 1 : 0); } @ApiOperation("删除投诉记录") //@PreAuthorize("@ss.hasPermi('enforce:log:remove')") @Log(title = "投诉记录" , businessType = BusinessType.DELETE) @DeleteMapping("/{ids}") @RepeatSubmit public AjaxResult remove(@PathVariable Long[] ids) { return toAjax(iEnforceComplaintLogService.deleteByIds(Arrays.asList(ids)) ? 1 : 0); } @ApiOperation("响应投诉") //@PreAuthorize("@ss.hasPermi('enforce:log:edit')") @Log(title = "响应投诉", businessType = BusinessType.UPDATE) @PostMapping("/inComplaint") @RepeatSubmit public AjaxResult inComplaint(@RequestBody ComplaintResultBo bo) { return toAjax(iEnforceComplaintLogService.inComplaint(bo) ? 1 : 0); } @ApiOperation("处理结果") //@PreAuthorize("@ss.hasPermi('enforce:log:edit')") @Log(title = "处理结果", businessType = BusinessType.UPDATE) @PostMapping("/doComplaint") @RepeatSubmit public AjaxResult doComplaint(@RequestBody ComplaintResultBo bo) { return toAjax(iEnforceComplaintLogService.doComplaint(bo) ? 1 : 0); } @ApiOperation("投诉单节点") @GetMapping("/orderNodeList") public AjaxResult orderNodeList(@RequestParam("id") Long id) { List list = iEnforceComplaintLogService.orderNodeList(id); return AjaxResult.success(list); } }