From f0a9a41697a8568e8b3bd3436c450e68b3298916 Mon Sep 17 00:00:00 2001 From: Pu Zhibing <393733352@qq.com> Date: 星期四, 27 二月 2025 11:39:18 +0800 Subject: [PATCH] 修改日志 --- springcloud_k8s_panzhihuazhihuishequ/service_sangeshenbian/src/main/java/com/panzhihua/sangeshenbian/controller/ComplaintController.java | 141 +++++++++++++++++++++++++++++++++++++++++------ 1 files changed, 123 insertions(+), 18 deletions(-) diff --git a/springcloud_k8s_panzhihuazhihuishequ/service_sangeshenbian/src/main/java/com/panzhihua/sangeshenbian/controller/ComplaintController.java b/springcloud_k8s_panzhihuazhihuishequ/service_sangeshenbian/src/main/java/com/panzhihua/sangeshenbian/controller/ComplaintController.java index 17e4575..ef7e064 100644 --- a/springcloud_k8s_panzhihuazhihuishequ/service_sangeshenbian/src/main/java/com/panzhihua/sangeshenbian/controller/ComplaintController.java +++ b/springcloud_k8s_panzhihuazhihuishequ/service_sangeshenbian/src/main/java/com/panzhihua/sangeshenbian/controller/ComplaintController.java @@ -1,27 +1,38 @@ package com.panzhihua.sangeshenbian.controller; -import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.panzhihua.common.controller.BaseController; -import com.panzhihua.common.utlis.DateUtils; +import com.panzhihua.common.model.vos.LoginUserInfoVO; +import com.panzhihua.common.model.vos.R; import com.panzhihua.sangeshenbian.annotation.DistributedLock; -import com.panzhihua.sangeshenbian.dto.ComplaintReport; -import com.panzhihua.sangeshenbian.entity.Complaint; -import com.panzhihua.sangeshenbian.enums.ProcessStatusEnum; +import com.panzhihua.sangeshenbian.model.dto.*; +import com.panzhihua.sangeshenbian.model.entity.Complaint; +import com.panzhihua.sangeshenbian.model.entity.ComplaintAuditRecord; +import com.panzhihua.sangeshenbian.model.entity.ComplaintProgress; +import com.panzhihua.sangeshenbian.model.entity.ProblemType; +import com.panzhihua.sangeshenbian.model.query.ComplaintQuery; +import com.panzhihua.sangeshenbian.model.vo.ComplaintVO; +import com.panzhihua.sangeshenbian.model.vo.DispatchVO; import com.panzhihua.sangeshenbian.service.IComplaintService; +import com.panzhihua.sangeshenbian.service.IProblemTypeService; import io.swagger.annotations.Api; import io.swagger.annotations.ApiOperation; +import io.swagger.annotations.ApiParam; +import io.swagger.annotations.ApiParam; import lombok.RequiredArgsConstructor; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.context.annotation.Lazy; +import org.springframework.validation.annotation.Validated; +import org.springframework.web.bind.annotation.GetMapping; import org.springframework.web.bind.annotation.PostMapping; import org.springframework.web.bind.annotation.RequestBody; import org.springframework.web.bind.annotation.RequestMapping; - import org.springframework.web.bind.annotation.RestController; +import org.springframework.web.bind.annotation.*; -import java.text.SimpleDateFormat; -import java.util.Date; - -import static cn.hutool.core.util.ObjectUtil.isNull; +import javax.validation.Valid; +import java.util.List; /** * <p> @@ -31,23 +42,67 @@ * @author * @since 2025-02-22 */ +@Validated @RestController -@RequestMapping("/complaint") -@RequiredArgsConstructor +@RequestMapping("/applet/complaint") +@RequiredArgsConstructor(onConstructor_ = {@Lazy}) @Api(tags = "诉求管理") public class ComplaintController extends BaseController { private final IComplaintService complaintService; - - + private final IProblemTypeService problemTypeService; + @GetMapping("/problem-type/list") + @ApiOperation("获取诉求问题类型列表") + public R<List<ProblemType>> problemTypeList() { + return R.ok(problemTypeService.list()); + } /** * 录入诉求 */ @PostMapping("/save") @ApiOperation(value = "录入诉求") @DistributedLock(lockName = "complaint_serial_number_lock") - public void save(Complaint complaint) { - complaintService.saveComplaint(complaint,getUserId()); + public R<?> save(@RequestBody Complaint complaint) { + complaintService.saveComplaint(complaint, getUserId()); + return R.ok(); + } + + @PostMapping("/list") + @ApiOperation("工单列表") + public R<Page<ComplaintVO>> complaintList(@RequestBody ComplaintQuery query) { + return R.ok(complaintService.complaintList(query,getLoginUserInfo())); + } + + @GetMapping("/detail") + @ApiOperation("工单详情") + public R<ComplaintVO> detail(@ApiParam(name = "id", value = "工单id", required = true) Long id) { + return R.ok(complaintService.detail(id)); + } + + @GetMapping("/progress/{complaintId}") + @ApiOperation("办理进度") + public R<List<ComplaintProgress>> progress(@ApiParam(name = "complaintId", value = "诉求id", required = true) @PathVariable("complaintId") Long complaintId) { + return R.ok(complaintService.progress(complaintId)); + } + + @PostMapping("/save-process") + @ApiOperation("办理进度录入") + public R<?> saveProcess(@Valid @RequestBody ComplaintProcessDTO dto){ + complaintService.saveProcess(dto,getLoginUserInfo()); + return R.ok(); + } + + @PostMapping("/save-result") + @ApiOperation("办理结果录入") + public R<?> saveResult(@RequestBody ComplaintCompletionDTO dto){ + complaintService.saveResult(dto,getLoginUserInfo()); + return R.ok(); + } + + @GetMapping("/delay-detail/{complaintId}") + @ApiOperation("延期情况说明") + public R<ComplaintAuditRecord> delayDetail(@ApiParam(name = "complaintId", value = "诉求id", required = true) @PathVariable("complaintId") Long complaintId) { + return R.ok(complaintService.delayDetail(complaintId)); } /** @@ -55,8 +110,58 @@ */ @PostMapping("/report") @ApiOperation(value = "问题上报") - public void report(@RequestBody ComplaintReport complaintReport) { - // TODO + public R<?> report(@RequestBody ComplaintReportDTO complaintReportDTO) { + complaintService.saveReport(complaintReportDTO, getLoginUserInfo()); + return R.ok(); + } + + /** + * 诉求下派 + */ + @PostMapping("/saveDispatch") + @ApiOperation("诉求下派") + public R<?> saveDispatch(@RequestBody ComplaintDispatch dto){ + complaintService.saveDispatch(dto, getLoginUserInfo()); + return R.ok(); + } + + /** + * 延期申请 + */ + @PostMapping("/saveDelay") + @ApiOperation(value = "延期申请") + public R<?> saveDelay(@RequestBody ComplaintDelayDTO dto){ + complaintService.saveDelay(dto, getLoginUserInfo()); + return R.ok(); + } + + /** + * 延期审核 + */ + @PostMapping("/delayAudit") + @ApiOperation(value = "延期审核") + public R<?> delayAudit(@RequestBody ComplaintDelayAuditDTO dto) { + complaintService.delayAudit(dto, getLoginUserInfo()); + return R.ok(); + } + + /** + * 上报审核 + */ + @PostMapping("/reportAudit") + @ApiOperation(value = "问题上报审核") + public R<?> reportAudit(@RequestBody ComplaintReporAuditDTO dto) { + complaintService.reportAudit(dto, getLoginUserInfo()); + return R.ok(); + } + + /** + * 获取下派单位列表 + */ + @GetMapping("/getDispatchList") + @ApiOperation(value = "获取下派单位列表") + public R<List<DispatchVO>> getDispatchList() { + return R.ok(complaintService.getDispatchList(getLoginUserInfo())); } -- Gitblit v1.7.1