From 962e7325d72222a4ffd4d74a1fc5612f95326e98 Mon Sep 17 00:00:00 2001
From: jiangqs <343695869@qq.com>
Date: 星期日, 11 六月 2023 18:49:39 +0800
Subject: [PATCH] 建议管理

---
 ruoyi-modules/ruoyi-system/src/main/java/com/ruoyi/system/service/impl/config/StaffSuggestServiceImpl.java |  124 +++++++++++++++++++++++++++++++++++++++++
 1 files changed, 124 insertions(+), 0 deletions(-)

diff --git a/ruoyi-modules/ruoyi-system/src/main/java/com/ruoyi/system/service/impl/config/StaffSuggestServiceImpl.java b/ruoyi-modules/ruoyi-system/src/main/java/com/ruoyi/system/service/impl/config/StaffSuggestServiceImpl.java
index 10f42ff..3f52807 100644
--- a/ruoyi-modules/ruoyi-system/src/main/java/com/ruoyi/system/service/impl/config/StaffSuggestServiceImpl.java
+++ b/ruoyi-modules/ruoyi-system/src/main/java/com/ruoyi/system/service/impl/config/StaffSuggestServiceImpl.java
@@ -1,12 +1,27 @@
 package com.ruoyi.system.service.impl.config;
 
+import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
+import com.ruoyi.common.core.utils.DateUtils;
+import com.ruoyi.common.core.utils.StringUtils;
+import com.ruoyi.system.api.domain.poji.config.SysTag;
+import com.ruoyi.system.api.domain.poji.sys.SysUser;
+import com.ruoyi.system.domain.dto.MgtReplayStaffSuggestDto;
+import com.ruoyi.system.domain.dto.MgtStaffSuggestPageDto;
+import com.ruoyi.system.domain.dto.MgtTagStaffSuggestDto;
 import com.ruoyi.system.domain.pojo.config.StaffSuggest;
+import com.ruoyi.system.domain.vo.MgtStaffSuggestPageVo;
+import com.ruoyi.system.domain.vo.MgtStaffSuggestTagVo;
 import com.ruoyi.system.mapper.config.StaffSuggestMapper;
 import com.ruoyi.system.service.config.StaffSuggestService;
 import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
+import com.ruoyi.system.service.config.SysTagService;
+import com.ruoyi.system.service.sys.ISysUserService;
 import org.springframework.stereotype.Service;
 
 import javax.annotation.Resource;
+import java.util.ArrayList;
+import java.util.Date;
+import java.util.List;
 
 /**
  * <p>
@@ -22,6 +37,12 @@
     @Resource
     private StaffSuggestMapper staffSuggestMapper;
 
+    @Resource
+    private ISysUserService sysUserService;
+
+    @Resource
+    private SysTagService sysTagService;
+
     /**
      * @description  删除员工建议标签
      * @author  jqs
@@ -31,6 +52,109 @@
      */
     @Override
     public void deleteStaffSuggestTag(String suggestTag){
+        staffSuggestMapper.deleteStaffSuggestTag(suggestTag);
+    }
 
+
+    /**
+     * @description 平台获取员工建议列表
+     * @param page
+     * @param mgtStaffSuggestPageDto
+     * @return List<MgtStaffSuggestPageVo>
+     * @author jqs34
+     * @date 2023/6/11 18:26
+     */
+    @Override
+    public List<MgtStaffSuggestPageVo> pageMgtStaffSuggest(Page page, MgtStaffSuggestPageDto mgtStaffSuggestPageDto){
+        //处理标签为正则方便sql判断
+        if(StringUtils.isNotBlank(mgtStaffSuggestPageDto.getTags())){
+            mgtStaffSuggestPageDto.setTags(mgtStaffSuggestPageDto.getTags().replace(",","|"));
+        }
+        if(mgtStaffSuggestPageDto.getSuggestStatus()!=null&&mgtStaffSuggestPageDto.getSuggestStatus()!=1){
+            mgtStaffSuggestPageDto.setSuggestStatus(0);
+        }
+        //获取返回结果
+        List<MgtStaffSuggestPageVo> mgtStaffSuggestPageVoList = staffSuggestMapper.pageMgtStaffSuggest(page, mgtStaffSuggestPageDto);
+        return mgtStaffSuggestPageVoList;
+    }
+
+    /**
+     * @description 平台回复会员建议
+     * @param mgtReplayStaffSuggestDto
+     * @return void
+     * @author jqs34
+     * @date 2023/6/11 18:39
+     */
+    @Override
+    public void mgtReplayStaffSuggest(MgtReplayStaffSuggestDto mgtReplayStaffSuggestDto){
+        Long userId = mgtReplayStaffSuggestDto.getUserId();
+        SysUser sysUser = sysUserService.getById(userId);
+        StaffSuggest staffSuggest = this.getById(mgtReplayStaffSuggestDto.getSuggestId());
+        staffSuggest.setReplayContent(mgtReplayStaffSuggestDto.getReplayContent());
+        staffSuggest.setReplayTime(new Date());
+        staffSuggest.setReplayUserId(userId);
+        staffSuggest.setReplayUserName(sysUser.getNickName());
+        staffSuggest.setReplayFlag(1);
+        String responseTime = DateUtils.formatDuration(staffSuggest.getCreateTime(), staffSuggest.getReplayTime());
+        staffSuggest.setResponseTime(responseTime);
+        this.saveOrUpdate(staffSuggest);
+    }
+
+    /**
+     * @description 获取员工建议标签
+     * @param suggestId
+     * @return List<MgtStaffSuggestTagVo>
+     * @author jqs34
+     * @date 2023/6/11 18:44
+     */
+    @Override
+    public List<MgtStaffSuggestTagVo> listMgtStaffSuggestTag(Long suggestId){
+        StaffSuggest staffSuggest = this.getById(suggestId);
+        String suggestTags = staffSuggest.getSuggestTags();
+        Long[] tagIdLongArr = null;
+        if(StringUtils.isNotBlank(suggestTags)){
+            String[] tagIdArr = suggestTags.split(",");
+            tagIdLongArr = new Long[tagIdArr.length];
+            for (int i = 0; i < tagIdArr.length; i++) {
+                try {
+                    tagIdLongArr[i] = Long.parseLong(tagIdArr[i]);
+                } catch (NumberFormatException e) {
+                    tagIdLongArr[i] = null;
+                }
+            }
+        }
+        List<SysTag> sysTagsList = sysTagService.listByType(4);
+        //生成返回结果
+        List<MgtStaffSuggestTagVo> mgtStaffSuggestTagVoList = new ArrayList<>();
+        for(SysTag sysTag : sysTagsList){
+            MgtStaffSuggestTagVo mgtStaffSuggestTagVo = new MgtStaffSuggestTagVo();
+            mgtStaffSuggestTagVo.setTagId(sysTag.getTagId());
+            mgtStaffSuggestTagVo.setTagName(sysTag.getTagName());
+            //判断是否选择
+            if(tagIdLongArr!=null && tagIdLongArr.length>0){
+                for(Long tagId : tagIdLongArr){
+                    if(tagId!=null && tagId.equals(sysTag.getTagId())){
+                        mgtStaffSuggestTagVo.setSelectFlag(1);
+                        break;
+                    }
+                }
+            }
+            mgtStaffSuggestTagVoList.add(mgtStaffSuggestTagVo);
+        }
+        return mgtStaffSuggestTagVoList;
+    }
+
+    /**
+     * @description 平台编辑会员建议标签
+     * @param mgtTagStaffSuggestDto
+     * @return void
+     * @author jqs34
+     * @date 2023/6/11 18:47
+     */
+    @Override
+    public void mgtEditStaffSuggestTag(MgtTagStaffSuggestDto mgtTagStaffSuggestDto){
+        StaffSuggest staffSuggest = this.getById(mgtTagStaffSuggestDto.getSuggestId());
+        staffSuggest.setSuggestTags(mgtTagStaffSuggestDto.getSuggestTags());
+        this.saveOrUpdate(staffSuggest);
     }
 }

--
Gitblit v1.7.1