From 0774ea976b6aa86a8a7de334fa24fbd7524295d5 Mon Sep 17 00:00:00 2001 From: 44323 <443237572@qq.com> Date: 星期五, 26 一月 2024 11:57:11 +0800 Subject: [PATCH] 看板统计 --- ruoyi-modules/ruoyi-shop/src/main/java/com/ruoyi/shop/service/impl/shop/ShopSuggestServiceImpl.java | 154 +++++++++++++++++++++++++++++++++++++++++++++++++++ 1 files changed, 153 insertions(+), 1 deletions(-) diff --git a/ruoyi-modules/ruoyi-shop/src/main/java/com/ruoyi/shop/service/impl/shop/ShopSuggestServiceImpl.java b/ruoyi-modules/ruoyi-shop/src/main/java/com/ruoyi/shop/service/impl/shop/ShopSuggestServiceImpl.java index 024979d..c9df5b0 100644 --- a/ruoyi-modules/ruoyi-shop/src/main/java/com/ruoyi/shop/service/impl/shop/ShopSuggestServiceImpl.java +++ b/ruoyi-modules/ruoyi-shop/src/main/java/com/ruoyi/shop/service/impl/shop/ShopSuggestServiceImpl.java @@ -1,17 +1,30 @@ package com.ruoyi.shop.service.impl.shop; +import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; 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.shop.domain.dto.MerShopSuggestDto; +import com.ruoyi.shop.domain.dto.MgtReplayShopSuggestDto; +import com.ruoyi.shop.domain.dto.MgtShopSuggestPageDto; +import com.ruoyi.shop.domain.dto.MgtTagShopSuggestDto; import com.ruoyi.shop.domain.pojo.shop.ShopSuggest; import com.ruoyi.shop.domain.vo.MerShopSuggestVo; +import com.ruoyi.shop.domain.vo.MgtShopSuggestPageVo; +import com.ruoyi.shop.domain.vo.MgtShopSuggestTagVo; import com.ruoyi.shop.mapper.shop.ShopSuggestMapper; import com.ruoyi.shop.service.shop.ShopSuggestService; import com.ruoyi.system.api.domain.dto.MerPageDto; +import com.ruoyi.system.api.domain.poji.config.SysTag; +import com.ruoyi.system.api.domain.poji.sys.SysUser; +import com.ruoyi.system.api.service.RemoteConfigService; +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; @@ -29,6 +42,13 @@ @Resource private ShopSuggestMapper shopSuggestMapper; + @Resource + private RemoteUserService remoteUserService; + + @Resource + private RemoteConfigService remoteConfigService; + + /** * * @param page @@ -41,7 +61,7 @@ } /** - * + * 建议 * @param merShopSuggestDto */ @Override @@ -52,6 +72,138 @@ shopSuggest.setShopId(merShopSuggestDto.getShopId()); shopSuggest.setSuggestContent(merShopSuggestDto.getSuggestContent()); shopSuggest.setCreateTime(new Date()); + shopSuggest.setReplayFlag(0); this.save(shopSuggest); } + + /** + * @description 删除商户建议标签 + * @author jqs + * @date 2023/6/9 10:18 + * @param suggestTag + * @return void + */ + @Override + public void deleteShopSuggestTag(String suggestTag){ + shopSuggestMapper.deleteShopSuggestTag(suggestTag); + } + + /** + * @description 平台获取商户建议列表 + * @param page + * @param mgtShopSuggestPageDto + * @return List<MgtShopSuggestPageVo> + * @author jqs34 + * @date 2023/6/11 16:56 + */ + @Override + public List<MgtShopSuggestPageVo> pageMgtShopSuggest(Page page, MgtShopSuggestPageDto mgtShopSuggestPageDto){ + //处理标签为正则方便sql判断 + if(StringUtils.isNotBlank(mgtShopSuggestPageDto.getTags())){ + mgtShopSuggestPageDto.setTags(mgtShopSuggestPageDto.getTags().replace(",","|")); + } + if(mgtShopSuggestPageDto.getSuggestStatus()!=null&&mgtShopSuggestPageDto.getSuggestStatus()!=1){ + mgtShopSuggestPageDto.setSuggestStatus(0); + } + //获取返回结果 + List<MgtShopSuggestPageVo> mgtShopSuggestPageVoList = shopSuggestMapper.pageMgtShopSuggest(page, mgtShopSuggestPageDto); + return mgtShopSuggestPageVoList; + } + + /** + * @description 平台回复会员建议 + * @param mgtReplayShopSuggestDto + * @return void + * @author jqs34 + * @date 2023/6/11 17:09 + */ + @Override + public void mgtReplayShopSuggest(MgtReplayShopSuggestDto mgtReplayShopSuggestDto){ + Long userId = mgtReplayShopSuggestDto.getUserId(); + SysUser sysUser = remoteUserService.getSysUser(userId).getData(); + ShopSuggest shopSuggest = this.getById(mgtReplayShopSuggestDto.getSuggestId()); + shopSuggest.setReplayContent(mgtReplayShopSuggestDto.getReplayContent()); + shopSuggest.setReplayTime(new Date()); + shopSuggest.setReplayUserId(userId); + shopSuggest.setReplayUserName(sysUser.getNickName()); + shopSuggest.setReplayFlag(1); + String responseTime = DateUtils.formatDuration(shopSuggest.getCreateTime(), shopSuggest.getReplayTime()); + shopSuggest.setResponseTime(responseTime); + long responseTimestamp = DateUtils.diffTime(shopSuggest.getCreateTime(), shopSuggest.getReplayTime()); + shopSuggest.setResponseTimestamp(responseTimestamp); + this.saveOrUpdate(shopSuggest); + } + + /** + * @description listMgtShopSuggestTag + * @param suggestId + * @return List<MgtShopSuggestTagVo> + * @author jqs34 + * @date 2023/6/11 17:29 + */ + @Override + public List<MgtShopSuggestTagVo> listMgtShopSuggestTag(Long suggestId){ + ShopSuggest shopSuggest = this.getById(suggestId); + String suggestTags = shopSuggest.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<MgtShopSuggestTagVo> mgtShopSuggestTagVoList = new ArrayList<>(); + for(SysTag sysTag : sysTagsList){ + MgtShopSuggestTagVo mgtShopSuggestTagVo = new MgtShopSuggestTagVo(); + mgtShopSuggestTagVo.setTagId(sysTag.getTagId()); + mgtShopSuggestTagVo.setTagName(sysTag.getTagName()); + //判断是否选择 + if(tagIdLongArr!=null && tagIdLongArr.length>0){ + for(Long tagId : tagIdLongArr){ + if(tagId!=null && tagId.equals(sysTag.getTagId())){ + mgtShopSuggestTagVo.setSelectFlag(1); + break; + } + } + } + mgtShopSuggestTagVoList.add(mgtShopSuggestTagVo); + } + return mgtShopSuggestTagVoList; + } + + /** + * @description 平台编辑会员建议标签 + * @param mgtTagShopSuggestDto + * @return void + * @author jqs34 + * @date 2023/6/11 17:34 + */ + @Override + public void mgtEditShopSuggestTag(MgtTagShopSuggestDto mgtTagShopSuggestDto){ + ShopSuggest shopSuggest = this.getById(mgtTagShopSuggestDto.getSuggestId()); + shopSuggest.setSuggestTags(mgtTagShopSuggestDto.getSuggestTags()); + this.saveOrUpdate(shopSuggest); + } + + /** + * @description 获取会员未回复建议数量 + * @author jqs + * @date 2023/7/5 12:46 + * @param + * @return Integer + */ + @Override + public Integer getUnReplaySuggestVo(){ + LambdaQueryWrapper<ShopSuggest> queryWrapper = new LambdaQueryWrapper<>(); + queryWrapper.eq(ShopSuggest::getDelFlag,0); + queryWrapper.eq(ShopSuggest::getReplayFlag,0); + return this.count(queryWrapper); + } } -- Gitblit v1.7.1