From 937349dac7b7702ff36fd77fc1c84a190bfe323d Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E6=88=88=E7=BB=8F=E8=8E=B9?= Date: Tue, 28 Jul 2026 10:56:35 +0800 Subject: [PATCH] =?UTF-8?q?pc=E7=AB=AF=E5=92=8C=E5=B0=8F=E7=A8=8B=E5=BA=8F?= =?UTF-8?q?=E7=AB=AF=E7=94=A8=E6=88=B7id=E5=A4=84=E7=90=86?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../app/AppPolicyConsultRecordController.java | 17 ++++- .../cms/CmsPolicyConsultRecordController.java | 66 +++++++++++++++++-- .../policy/PolicyConsultSatisfactionDTO.java | 3 + .../domain/policy/PolicyConsultSubmitDTO.java | 3 + .../policy/IPolicyConsultRecordService.java | 2 +- .../impl/PolicyConsultRecordServiceImpl.java | 8 +-- 6 files changed, 88 insertions(+), 11 deletions(-) diff --git a/ruoyi-bussiness/src/main/java/com/ruoyi/cms/controller/app/AppPolicyConsultRecordController.java b/ruoyi-bussiness/src/main/java/com/ruoyi/cms/controller/app/AppPolicyConsultRecordController.java index 5777f6c..c08a33a 100644 --- a/ruoyi-bussiness/src/main/java/com/ruoyi/cms/controller/app/AppPolicyConsultRecordController.java +++ b/ruoyi-bussiness/src/main/java/com/ruoyi/cms/controller/app/AppPolicyConsultRecordController.java @@ -34,10 +34,14 @@ public class AppPolicyConsultRecordController extends BaseController { @ApiOperation("用户提交留言咨询") @PostMapping("/submit") public AjaxResult save(@RequestBody PolicyConsultSubmitDTO policyConsultSubmitDTO){ - log.info("用户提交留言咨询..."); + log.info("用户提交留言咨询...小程序端"); if(!SiteSecurityUtils.isLogin()){ return AjaxResult.error("用户未登录!"); } + if(SiteSecurityUtils.getUserId() == null){ + return AjaxResult.error("获取用户ID失败!"); + } + policyConsultSubmitDTO.setUserId(SiteSecurityUtils.getUserId()); return toAjax(policyConsultRecordService.insert(policyConsultSubmitDTO)); } @@ -48,7 +52,11 @@ public class AppPolicyConsultRecordController extends BaseController { @GetMapping("/my/list/{policyId}") public TableDataInfo getMyConsult(@ApiParam("政策ID") @PathVariable Long policyId){ startPage(); - List list = policyConsultRecordService.getUserOwnConsultList(policyId); + if(SiteSecurityUtils.getUserId() == null){ + throw new RuntimeException("用户ID不能为空"); + } + Long userId = SiteSecurityUtils.getUserId(); + List list = policyConsultRecordService.getUserOwnConsultList(policyId,userId); return getDataTable(list); } @@ -61,6 +69,11 @@ public class AppPolicyConsultRecordController extends BaseController { if(!SiteSecurityUtils.isLogin()){ return AjaxResult.error("用户未登录!"); } + + if(SiteSecurityUtils.getUserId() == null){ + return AjaxResult.error("获取用户ID失败!"); + } + dto.setUserId(SiteSecurityUtils.getUserId()); return toAjax(policyConsultRecordService.submitSatisfaction(dto)); } diff --git a/ruoyi-bussiness/src/main/java/com/ruoyi/cms/controller/cms/CmsPolicyConsultRecordController.java b/ruoyi-bussiness/src/main/java/com/ruoyi/cms/controller/cms/CmsPolicyConsultRecordController.java index febb7a0..ca94065 100644 --- a/ruoyi-bussiness/src/main/java/com/ruoyi/cms/controller/cms/CmsPolicyConsultRecordController.java +++ b/ruoyi-bussiness/src/main/java/com/ruoyi/cms/controller/cms/CmsPolicyConsultRecordController.java @@ -1,20 +1,25 @@ package com.ruoyi.cms.controller.cms; -import com.ruoyi.cms.domain.policy.PolicyConsultQueryDTO; -import com.ruoyi.cms.domain.policy.PolicyConsultRecord; -import com.ruoyi.cms.domain.policy.PolicyConsultReplyDTO; -import com.ruoyi.cms.domain.policy.PolicyInfoQuery; +import com.ruoyi.cms.domain.policy.*; import com.ruoyi.cms.service.policy.IPolicyConsultRecordService; +import com.ruoyi.cms.service.policy.impl.PolicyConsultRecordServiceImpl; import com.ruoyi.common.core.controller.BaseController; import com.ruoyi.common.core.domain.AjaxResult; import com.ruoyi.common.core.page.TableDataInfo; +import com.ruoyi.common.utils.SecurityUtils; +import com.ruoyi.common.utils.SiteSecurityUtils; import io.swagger.annotations.Api; import io.swagger.annotations.ApiOperation; +import io.swagger.annotations.ApiParam; +import org.slf4j.Logger; +import org.slf4j.LoggerFactory; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.web.bind.annotation.*; import java.util.List; +import static jdk.nashorn.internal.runtime.regexp.joni.Config.log; + @RestController @RequestMapping("/cms/policyConsultRecord") @Api(tags = "CMS:政策咨询记录管理") @@ -23,6 +28,59 @@ public class CmsPolicyConsultRecordController extends BaseController { @Autowired private IPolicyConsultRecordService policyConsultRecordService; + private static final Logger log = LoggerFactory.getLogger(CmsPolicyConsultRecordController.class); + + + /** + * 保存用户提交留言咨询 + */ + @ApiOperation("用户提交留言咨询") + @PostMapping("/submit") + public AjaxResult save(@RequestBody PolicyConsultSubmitDTO policyConsultSubmitDTO){ + log.info("用户提交留言咨询...pc端"); + if(!SecurityUtils.isLogin()){ + return AjaxResult.error("用户未登录!"); + } + if(SecurityUtils.getUserId() == null){ + return AjaxResult.error("获取用户ID失败!"); + } + policyConsultSubmitDTO.setUserId(SecurityUtils.getUserId()); + return toAjax(policyConsultRecordService.insert(policyConsultSubmitDTO)); + } + + /** + * 用户查看【自己】的留言咨询记录(留言板只能看自己) + */ + @ApiOperation("用户查看【自己】的留言咨询记录(留言板只能看自己)") + @GetMapping("/my/list/{policyId}") + public TableDataInfo getMyConsult(@ApiParam("政策ID") @PathVariable Long policyId){ + startPage(); + if(SecurityUtils.getUserId() == null){ + throw new RuntimeException("用户ID不能为空"); + } + Long userId = SecurityUtils.getUserId(); + List list = policyConsultRecordService.getUserOwnConsultList(policyId,userId); + return getDataTable(list); + } + + /** + * 用户对咨询进行满意度评价 + */ + @ApiOperation("用户对咨询进行满意度评价") + @PostMapping("/satisfaction") + public AjaxResult satisfaction(@RequestBody PolicyConsultSatisfactionDTO dto){ + if(!SecurityUtils.isLogin()){ + return AjaxResult.error("用户未登录!"); + } + + if(SecurityUtils.getUserId() == null){ + return AjaxResult.error("获取用户ID失败!"); + } + dto.setUserId(SecurityUtils.getUserId()); + return toAjax(policyConsultRecordService.submitSatisfaction(dto)); + } + + // ========== 管理员接口 ========== /** diff --git a/ruoyi-bussiness/src/main/java/com/ruoyi/cms/domain/policy/PolicyConsultSatisfactionDTO.java b/ruoyi-bussiness/src/main/java/com/ruoyi/cms/domain/policy/PolicyConsultSatisfactionDTO.java index 97bb7aa..49dd81c 100644 --- a/ruoyi-bussiness/src/main/java/com/ruoyi/cms/domain/policy/PolicyConsultSatisfactionDTO.java +++ b/ruoyi-bussiness/src/main/java/com/ruoyi/cms/domain/policy/PolicyConsultSatisfactionDTO.java @@ -17,4 +17,7 @@ public class PolicyConsultSatisfactionDTO { @ApiModelProperty(value = "满意度", required = true, example = "1") @NotNull(message = "满意度不能为空") private Integer satisfaction; + + @ApiModelProperty(value = "用户ID") + private Long userId; } diff --git a/ruoyi-bussiness/src/main/java/com/ruoyi/cms/domain/policy/PolicyConsultSubmitDTO.java b/ruoyi-bussiness/src/main/java/com/ruoyi/cms/domain/policy/PolicyConsultSubmitDTO.java index 8228ff4..1474628 100644 --- a/ruoyi-bussiness/src/main/java/com/ruoyi/cms/domain/policy/PolicyConsultSubmitDTO.java +++ b/ruoyi-bussiness/src/main/java/com/ruoyi/cms/domain/policy/PolicyConsultSubmitDTO.java @@ -20,4 +20,7 @@ public class PolicyConsultSubmitDTO { @NotNull(message = "咨询渠道不能为空( 渠道固定传 MESSAGE_BOARD(留言板渠道))") @ApiModelProperty(value = "咨询渠道", required = true, example = "MESSAGE_BOARD") private String consultChannel; + + @ApiModelProperty(value = "咨询用户ID") + private Long userId; } diff --git a/ruoyi-bussiness/src/main/java/com/ruoyi/cms/service/policy/IPolicyConsultRecordService.java b/ruoyi-bussiness/src/main/java/com/ruoyi/cms/service/policy/IPolicyConsultRecordService.java index 8c049a6..cb3cc65 100644 --- a/ruoyi-bussiness/src/main/java/com/ruoyi/cms/service/policy/IPolicyConsultRecordService.java +++ b/ruoyi-bussiness/src/main/java/com/ruoyi/cms/service/policy/IPolicyConsultRecordService.java @@ -12,7 +12,7 @@ public interface IPolicyConsultRecordService { int submitSatisfaction(PolicyConsultSatisfactionDTO dto); - List getUserOwnConsultList(Long policyId); + List getUserOwnConsultList(Long policyId, Long userId); List getAllConsultRecord(PolicyConsultQueryDTO queryDTO); } diff --git a/ruoyi-bussiness/src/main/java/com/ruoyi/cms/service/policy/impl/PolicyConsultRecordServiceImpl.java b/ruoyi-bussiness/src/main/java/com/ruoyi/cms/service/policy/impl/PolicyConsultRecordServiceImpl.java index 0ae46c2..d51ee9c 100644 --- a/ruoyi-bussiness/src/main/java/com/ruoyi/cms/service/policy/impl/PolicyConsultRecordServiceImpl.java +++ b/ruoyi-bussiness/src/main/java/com/ruoyi/cms/service/policy/impl/PolicyConsultRecordServiceImpl.java @@ -41,7 +41,7 @@ public class PolicyConsultRecordServiceImpl extends ServiceImpl getUserOwnConsultList(Long policyId) { + public List getUserOwnConsultList(Long policyId, Long userId) { LambdaQueryWrapper wrapper = new LambdaQueryWrapper<>(); - wrapper.eq(PolicyConsultRecord::getUserId, SiteSecurityUtils.getUserId()); + wrapper.eq(PolicyConsultRecord::getUserId, userId); // 可选:按政策筛选 if(policyId != null){ wrapper.eq(PolicyConsultRecord::getPolicyId, policyId);