jiangqs
2023-06-11 962e7325d72222a4ffd4d74a1fc5612f95326e98
ruoyi-modules/ruoyi-shop/src/main/java/com/ruoyi/shop/service/impl/shop/ShopSuggestServiceImpl.java
@@ -3,15 +3,27 @@
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;
@@ -28,6 +40,13 @@
    @Resource
    private ShopSuggestMapper shopSuggestMapper;
    @Resource
    private RemoteUserService remoteUserService;
    @Resource
    private RemoteConfigService remoteConfigService;
    /**
     *
@@ -52,6 +71,7 @@
        shopSuggest.setShopId(merShopSuggestDto.getShopId());
        shopSuggest.setSuggestContent(merShopSuggestDto.getSuggestContent());
        shopSuggest.setCreateTime(new Date());
        shopSuggest.setReplayFlag(0);
        this.save(shopSuggest);
    }
@@ -64,6 +84,108 @@
     */
    @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);
    }
}