package com.ruoyi.shop.service.impl.shop;
|
|
|
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;
|
|
/**
|
* <p>
|
* 服务实现类
|
* </p>
|
*
|
* @author jqs
|
* @since 2023-05-09
|
*/
|
@Service
|
public class ShopSuggestServiceImpl extends ServiceImpl<ShopSuggestMapper, ShopSuggest> implements ShopSuggestService {
|
|
@Resource
|
private ShopSuggestMapper shopSuggestMapper;
|
|
@Resource
|
private RemoteUserService remoteUserService;
|
|
@Resource
|
private RemoteConfigService remoteConfigService;
|
|
|
/**
|
*
|
* @param page
|
* @param merPageDto
|
* @return
|
*/
|
@Override
|
public List<MerShopSuggestVo> pageMerShopSuggest(Page page, MerPageDto merPageDto){
|
return shopSuggestMapper.pageMerShopSuggest(page, merPageDto);
|
}
|
|
/**
|
* 建议
|
* @param merShopSuggestDto
|
*/
|
@Override
|
public void suggest(MerShopSuggestDto merShopSuggestDto){
|
ShopSuggest shopSuggest = new ShopSuggest();
|
shopSuggest.setDelFlag(0);
|
shopSuggest.setCreateUserId(merShopSuggestDto.getUserId());
|
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);
|
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);
|
}
|
}
|