| | |
| | | package com.ruoyi.system.service.impl.config; |
| | | |
| | | import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; |
| | | 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.dto.StaffPageDto; |
| | | 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.dto.StaffUseSuggestDto; |
| | | 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.domain.vo.StaffSuggestPageVo; |
| | | 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> |
| | |
| | | @Service |
| | | public class StaffSuggestServiceImpl extends ServiceImpl<StaffSuggestMapper, StaffSuggest> implements StaffSuggestService { |
| | | |
| | | @Resource |
| | | private StaffSuggestMapper staffSuggestMapper; |
| | | |
| | | @Resource |
| | | private ISysUserService sysUserService; |
| | | |
| | | @Resource |
| | | private SysTagService sysTagService; |
| | | |
| | | /** |
| | | * @description 删除员工建议标签 |
| | | * @author jqs |
| | | * @date 2023/6/9 10:24 |
| | | * @param suggestTag |
| | | * @return void |
| | | */ |
| | | @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.selectUserById(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); |
| | | long responseTimestamp = DateUtils.diffTime(staffSuggest.getCreateTime(), staffSuggest.getReplayTime()); |
| | | staffSuggest.setResponseTimestamp(responseTimestamp); |
| | | 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); |
| | | } |
| | | |
| | | /** |
| | | * @description 获取会员未回复建议数量 |
| | | * @author jqs |
| | | * @date 2023/7/5 12:46 |
| | | * @param |
| | | * @return Integer |
| | | */ |
| | | @Override |
| | | public Integer getUnReplaySuggestVo(){ |
| | | LambdaQueryWrapper<StaffSuggest> queryWrapper = new LambdaQueryWrapper<>(); |
| | | queryWrapper.eq(StaffSuggest::getDelFlag,0); |
| | | queryWrapper.eq(StaffSuggest::getReplayFlag,0); |
| | | return this.count(queryWrapper); |
| | | } |
| | | |
| | | /** |
| | | * @description 员工发起建议 |
| | | * @param staffUseSuggestDto |
| | | * @return void |
| | | * @author jqs34 |
| | | * @date 2023/7/16 12:18 |
| | | */ |
| | | @Override |
| | | public void staffSuggest(StaffUseSuggestDto staffUseSuggestDto){ |
| | | StaffSuggest staffSuggest = new StaffSuggest(); |
| | | staffSuggest.setDelFlag(0); |
| | | staffSuggest.setSuggestContent(staffUseSuggestDto.getSuggestContent()); |
| | | staffSuggest.setCreateTime(new Date()); |
| | | staffSuggest.setCreateUserId(staffUseSuggestDto.getUserId()); |
| | | this.saveOrUpdate(staffSuggest); |
| | | } |
| | | |
| | | /** |
| | | * @description 分页获取员工建议 |
| | | * @param page |
| | | * @return List<StaffSuggestPageVo> |
| | | * @author jqs34 |
| | | * @date 2023/7/16 12:26 |
| | | */ |
| | | @Override |
| | | public List<StaffSuggestPageVo> pageStaffShopSuggest(Page page, StaffPageDto staffPageDto){ |
| | | return staffSuggestMapper.pageStaffShopSuggest(page, staffPageDto); |
| | | } |
| | | } |