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-member/src/main/java/com/ruoyi/member/service/impl/member/MemberSuggestServiceImpl.java |  107 ++++++++++++++++++++++++++++++++++++++++++++++++++++-
 1 files changed, 105 insertions(+), 2 deletions(-)

diff --git a/ruoyi-modules/ruoyi-member/src/main/java/com/ruoyi/member/service/impl/member/MemberSuggestServiceImpl.java b/ruoyi-modules/ruoyi-member/src/main/java/com/ruoyi/member/service/impl/member/MemberSuggestServiceImpl.java
index f3beae9..cd9ec00 100644
--- a/ruoyi-modules/ruoyi-member/src/main/java/com/ruoyi/member/service/impl/member/MemberSuggestServiceImpl.java
+++ b/ruoyi-modules/ruoyi-member/src/main/java/com/ruoyi/member/service/impl/member/MemberSuggestServiceImpl.java
@@ -3,21 +3,30 @@
 
 import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
 import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
+import com.ruoyi.common.core.utils.DateUtils;
 import com.ruoyi.common.core.utils.StringUtils;
 import com.ruoyi.member.domain.dto.MgtMemberSuggestPageDto;
+import com.ruoyi.member.domain.dto.MgtReplayMemberSuggestDto;
+import com.ruoyi.member.domain.dto.MgtTagMemberSuggestDto;
 import com.ruoyi.member.domain.pojo.member.MemberSuggest;
 import com.ruoyi.member.domain.vo.AppSuggestPageVo;
 import com.ruoyi.member.domain.vo.MgtMemberSuggestPageVo;
+import com.ruoyi.member.domain.vo.MgtMemberSuggestTagVo;
 import com.ruoyi.member.mapper.member.MemberSuggestMapper;
 import com.ruoyi.member.service.member.MemberSuggestService;
 import com.ruoyi.system.api.domain.dto.AppSuggestPageDto;
 import com.ruoyi.system.api.domain.dto.AppUserSuggestDto;
 import com.ruoyi.system.api.domain.dto.MgtShopIdByCodeDto;
+import com.ruoyi.system.api.domain.poji.config.SysTag;
+import com.ruoyi.system.api.domain.poji.sys.SysUser;
 import com.ruoyi.system.api.domain.vo.MgtShopIdByCodeVo;
+import com.ruoyi.system.api.service.RemoteConfigService;
 import com.ruoyi.system.api.service.RemoteShopService;
+import com.ruoyi.system.api.service.RemoteUserService;
 import org.springframework.stereotype.Service;
 
 import javax.annotation.Resource;
+import java.util.ArrayList;
 import java.util.Date;
 import java.util.List;
 
@@ -39,7 +48,11 @@
     @Resource
     private RemoteShopService remoteShopService;
 
+    @Resource
+    private RemoteUserService remoteUserService;
 
+    @Resource
+    private RemoteConfigService remoteConfigService;
 
     /**
      *
@@ -53,7 +66,7 @@
     }
 
     /**
-     *
+     * 用户建议
      * @param appUserSuggestDto
      */
     @Override
@@ -64,6 +77,7 @@
         memberSuggest.setSuggestContent(appUserSuggestDto.getSuggestContent());
         memberSuggest.setCreateTime(new Date());
         memberSuggest.setSuggestType(appUserSuggestDto.getSuggestType());
+        memberSuggest.setReplayFlag(0);
         this.saveOrUpdate(memberSuggest);
     }
 
@@ -89,8 +103,9 @@
     @Override
     public List<MgtMemberSuggestPageVo> pageMgtMemberSuggest(Page page,MgtMemberSuggestPageDto memberSuggestPageDto){
         //如果区域代码不为null获取对应的商户id
-        if(StringUtils.isNotBlank(memberSuggestPageDto.getShopProvinceCode())||StringUtils.isNotBlank(memberSuggestPageDto.getShopCityCode())||StringUtils.isNotBlank(memberSuggestPageDto.getShopAreaCode())){
+        if(StringUtils.isNotBlank(memberSuggestPageDto.getKeyword())||StringUtils.isNotBlank(memberSuggestPageDto.getShopProvinceCode())||StringUtils.isNotBlank(memberSuggestPageDto.getShopCityCode())||StringUtils.isNotBlank(memberSuggestPageDto.getShopAreaCode())){
             MgtShopIdByCodeDto mgtShopIdByCodeDto = new MgtShopIdByCodeDto();
+            mgtShopIdByCodeDto.setShopName(memberSuggestPageDto.getKeyword());
             mgtShopIdByCodeDto.setShopProvinceCode(memberSuggestPageDto.getShopProvinceCode());
             mgtShopIdByCodeDto.setShopCityCode(memberSuggestPageDto.getShopCityCode());
             mgtShopIdByCodeDto.setShopAreaCode(memberSuggestPageDto.getShopAreaCode());
@@ -99,7 +114,95 @@
                 memberSuggestPageDto.setShopIds(mgtShopIdByCodeVo.getShopIds());
             }
         }
+        //处理标签为正则方便sql判断
+        if(StringUtils.isNotBlank(memberSuggestPageDto.getTags())){
+            memberSuggestPageDto.setTags(memberSuggestPageDto.getTags().replace(",","|"));
+        }
+        if(memberSuggestPageDto.getSuggestStatus()!=null&&memberSuggestPageDto.getSuggestStatus()!=1){
+            memberSuggestPageDto.setSuggestStatus(0);
+        }
+        //获取返回结果
         List<MgtMemberSuggestPageVo> mgtMemberSuggestPageVoList = memberSuggestMapper.pageMgtMemberSuggest(page, memberSuggestPageDto);
         return mgtMemberSuggestPageVoList;
     }
+
+    /**
+     * @description 平台回复会员建议
+     * @param mgtReplayMemberSuggestDto
+     * @return void
+     * @author jqs34
+     * @date 2023/6/11 16:03
+     */
+    @Override
+    public void mgtReplayMemberSuggest(MgtReplayMemberSuggestDto mgtReplayMemberSuggestDto){
+        Long userId = mgtReplayMemberSuggestDto.getUserId();
+        SysUser sysUser = remoteUserService.getSysUser(userId).getData();
+        MemberSuggest memberSuggest = this.getById(mgtReplayMemberSuggestDto.getSuggestId());
+        memberSuggest.setReplayContent(mgtReplayMemberSuggestDto.getReplayContent());
+        memberSuggest.setReplayTime(new Date());
+        memberSuggest.setReplayUserId(userId);
+        memberSuggest.setReplayUserName(sysUser.getNickName());
+        memberSuggest.setReplayFlag(1);
+        String responseTime = DateUtils.formatDuration(memberSuggest.getCreateTime(), memberSuggest.getReplayTime());
+        memberSuggest.setResponseTime(responseTime);
+        this.saveOrUpdate(memberSuggest);
+    }
+
+    /**
+     * @description 获取建议标签列表
+     * @param suggestId
+     * @return List<MgtMemberSuggestTagVo>
+     * @author jqs34
+     * @date 2023/6/11 16:12
+     */
+    @Override
+    public List<MgtMemberSuggestTagVo> listMgtMemberSuggestTag(Long suggestId){
+        MemberSuggest memberSuggest = this.getById(suggestId);
+        String suggestTags = memberSuggest.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 = remoteConfigService.listSysTag(4).getData();
+        //生成返回结果
+        List<MgtMemberSuggestTagVo> mgtMemberSuggestTagVoList = new ArrayList<>();
+        for(SysTag sysTag : sysTagsList){
+            MgtMemberSuggestTagVo mgtMemberSuggestTagVo = new MgtMemberSuggestTagVo();
+            mgtMemberSuggestTagVo.setTagId(sysTag.getTagId());
+            mgtMemberSuggestTagVo.setTagName(sysTag.getTagName());
+            //判断是否选择
+            if(tagIdLongArr!=null && tagIdLongArr.length>0){
+                for(Long tagId : tagIdLongArr){
+                    if(tagId!=null && tagId.equals(sysTag.getTagId())){
+                        mgtMemberSuggestTagVo.setSelectFlag(1);
+                        break;
+                    }
+                }
+            }
+            mgtMemberSuggestTagVoList.add(mgtMemberSuggestTagVo);
+        }
+        return mgtMemberSuggestTagVoList;
+    }
+
+    /**
+     * @description 平台编辑会员建议标签
+     * @param mgtTagMemberSuggestDto
+     * @return void
+     * @author jqs34
+     * @date 2023/6/11 16:28
+     */
+    @Override
+    public void mgtEditMemberSuggestTag(MgtTagMemberSuggestDto mgtTagMemberSuggestDto){
+        MemberSuggest memberSuggest = this.getById(mgtTagMemberSuggestDto.getSuggestId());
+        memberSuggest.setSuggestTags(mgtTagMemberSuggestDto.getSuggestTags());
+        this.saveOrUpdate(memberSuggest);
+    }
 }

--
Gitblit v1.7.1