mitao
2025-01-17 afa0dbb4f54e7244835dd67ec33c3e545f122f71
ruoyi-modules/ruoyi-system/src/main/java/com/ruoyi/system/controller/management/MgtConfigController.java
@@ -2,21 +2,30 @@
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.ruoyi.common.core.domain.R;
import com.ruoyi.common.core.utils.poi.ExcelUtil;
import com.ruoyi.common.core.web.domain.AjaxResult;
import com.ruoyi.common.log.annotation.Log;
import com.ruoyi.common.log.enums.BusinessType;
import com.ruoyi.common.security.utils.SecurityUtils;
import com.ruoyi.system.api.domain.dto.MgtBaseGetDto;
import com.ruoyi.system.api.domain.dto.MgtClassNumDto;
import com.ruoyi.system.api.domain.dto.MgtPageDto;
import com.ruoyi.system.api.domain.vo.MgtBulletinBoardVo;
import com.ruoyi.system.domain.dto.*;
import com.ruoyi.system.domain.vo.*;
import com.ruoyi.system.service.config.*;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiOperation;
import org.springframework.web.bind.annotation.RequestBody;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RequestMethod;
import org.springframework.web.bind.annotation.RestController;
import org.springframework.validation.annotation.Validated;
import org.springframework.web.bind.annotation.*;
import org.springframework.web.multipart.MultipartFile;
import javax.annotation.Resource;
import javax.servlet.http.HttpServletResponse;
import java.io.IOException;
import java.util.List;
import static com.ruoyi.common.core.web.domain.AjaxResult.success;
/**
 * @ClassName MgtConfigController
@@ -25,7 +34,7 @@
 * @Date 2023/6/6 9:14
 * @Version 1.0
 */
@Api(value = "平台端配置相关接口", tags = "平台端配置相关接口", description = "平台端配置相关接口")
@Api(value = "管理后台配置相关接口", tags = "管理后台配置相关接口", description = "管理后台配置相关接口")
@RestController
@RequestMapping("/mgt/config")
public class MgtConfigController {
@@ -66,17 +75,36 @@
    @Resource
    private RegionService regionService;
    @Resource
    private RecommendCooperationService recommendCooperationService;
    @RequestMapping(value = "/getCustomConfig", method = RequestMethod.POST)
    @ApiOperation(value = "获取单个配置")
    public R<MgtCustomConfigVo> getCustomConfig(@RequestBody MgtCustomConfigDto mgtCustomConfigDto) {
    public R<List<String>> getCustomConfig(@RequestBody MgtCustomConfigDto mgtCustomConfigDto) {
        Long userId = SecurityUtils.getUserId();
        mgtCustomConfigDto.setUserId(userId);
        MgtCustomConfigVo mgtCustomConfigVo = customConfigService.getCustomConfig(mgtCustomConfigDto);
        List<String> mgtCustomConfigVo = customConfigService.getCustomConfig(mgtCustomConfigDto);
        return R.ok(mgtCustomConfigVo);
    }
    @RequestMapping(value = "/getActivenessList", method = RequestMethod.POST)
    @ApiOperation(value = "获取活跃度")
    public R<List<MgtActivenessListVo>> getActivenessList() {
        List<MgtActivenessListVo> activenessList = activenessService.getActivenessList();
        return R.ok(activenessList);
    }
    @RequestMapping(value = "/getCooperation", method = RequestMethod.POST)
    @ApiOperation(value = "获取申请合作")
    public R<MgtCooperationGetVo> getCooperation() {
        Long userId = SecurityUtils.getUserId();
        MgtCooperationGetVo cooperationGetVo = cooperationService.getCooperation();
        return R.ok(cooperationGetVo);
    }
    @RequestMapping(value = "/editCooperation", method = RequestMethod.POST)
    @Log(title = "申请合作管理", businessType = BusinessType.UPDATE,operContent = "修改申请合作")
    @ApiOperation(value = "修改申请合作")
    public R editCooperation(@RequestBody MgtCooperationEditDto mgtCooperationEditDto) {
        Long userId = SecurityUtils.getUserId();
@@ -86,6 +114,7 @@
    }
    @RequestMapping(value = "/editServiceMobile", method = RequestMethod.POST)
    @Log(title = "客服电话管理", businessType = BusinessType.UPDATE,operContent = "修改客服电话")
    @ApiOperation(value = "修改客服电话")
    public R editServiceMobile(@RequestBody MgtServiceMobileEditDto mgtServiceMobileEditDto) {
        Long userId = SecurityUtils.getUserId();
@@ -94,7 +123,28 @@
        return R.ok();
    }
    @RequestMapping(value = "/editServiceCode", method = RequestMethod.POST)
    @Log(title = "客服二维码管理", businessType = BusinessType.UPDATE,operContent = "修改客服二维码")
    @ApiOperation(value = "修改客服二维码")
    public R editServiceCode(@RequestBody MgtServiceCodeEditDto mgtServiceCodeEditDto) {
        Long userId = SecurityUtils.getUserId();
        mgtServiceCodeEditDto.setUserId(userId);
        customConfigService.editServiceCode(mgtServiceCodeEditDto);
        return R.ok();
    }
    @RequestMapping(value = "/editShopProportion", method = RequestMethod.POST)
    @Log(title = "商户分成管理", businessType = BusinessType.UPDATE,operContent = "修改商户分成")
    @ApiOperation(value = "修改商户分成")
    public R editShopProportion(@RequestBody MgtShopCommonProportionEditDto mgtShopCommonProportionEditDto) {
        Long userId = SecurityUtils.getUserId();
        mgtShopCommonProportionEditDto.setUserId(userId);
        customConfigService.editShopProportion(mgtShopCommonProportionEditDto);
        return R.ok();
    }
    @RequestMapping(value = "/editAgreement", method = RequestMethod.POST)
    @Log(title = "协议管理", businessType = BusinessType.UPDATE,operContent = "修改协议")
    @ApiOperation(value = "修改协议")
    public R editAgreement(@RequestBody MgtAgreementEditDto mgtAgreementEditDto) {
        Long userId = SecurityUtils.getUserId();
@@ -104,6 +154,7 @@
    }
    @RequestMapping(value = "/editBanner", method = RequestMethod.POST)
    @Log(title = "banner管理", businessType = BusinessType.UPDATE,operContent = "修改banner")
    @ApiOperation(value = "修改banner")
    public R editBanner(@RequestBody MgtBannerEditDto mgtBannerEditDto) {
        Long userId = SecurityUtils.getUserId();
@@ -134,6 +185,7 @@
    }
    @RequestMapping(value = "/deleteBanner", method = RequestMethod.POST)
    @Log(title = "banner管理", businessType = BusinessType.DELETE,operContent = "删除banner")
    @ApiOperation(value = "删除banner")
    public R deleteBanner(@RequestBody MgtBaseGetDto mgtBaseGetDto) {
        Long userId = SecurityUtils.getUserId();
@@ -155,6 +207,7 @@
    }
    @RequestMapping(value = "/editPop", method = RequestMethod.POST)
    @Log(title = "弹窗管理", businessType = BusinessType.UPDATE,operContent = "修改弹窗广告")
    @ApiOperation(value = "修改弹窗广告")
    public R editPop(@RequestBody MgtPopEditDto mgtPopEditDto) {
        Long userId = SecurityUtils.getUserId();
@@ -173,6 +226,7 @@
    }
    @RequestMapping(value = "/deletePop", method = RequestMethod.POST)
    @Log(title = "弹窗管理", businessType = BusinessType.DELETE,operContent = "删除弹窗广告")
    @ApiOperation(value = "删除弹窗广告")
    public R deletePop(@RequestBody MgtBaseGetDto mgtBaseGetDto) {
        Long userId = SecurityUtils.getUserId();
@@ -194,6 +248,7 @@
    }
    @RequestMapping(value = "/editQuickEntry", method = RequestMethod.POST)
    @Log(title = "快速入口管理", businessType = BusinessType.UPDATE,operContent = "修改快速入口")
    @ApiOperation(value = "修改快速入口")
    public R editQuickEntry(@RequestBody MgtQuickEntryEditDto mgtQuickEntryEditDto) {
        Long userId = SecurityUtils.getUserId();
@@ -212,6 +267,7 @@
    }
    @RequestMapping(value = "/deleteQuickEntry", method = RequestMethod.POST)
    @Log(title = "快速入口管理", businessType = BusinessType.DELETE,operContent = "删除快速入口")
    @ApiOperation(value = "删除快速入口")
    public R deleteQuickEntry(@RequestBody MgtBaseGetDto mgtBaseGetDto) {
        Long userId = SecurityUtils.getUserId();
@@ -228,35 +284,40 @@
    }
    @RequestMapping(value = "/editOtherConfig", method = RequestMethod.POST)
    @Log(title = "其它设置管理", businessType = BusinessType.UPDATE,operContent = "修改其它设置")
    @ApiOperation(value = "修改其它设置")
    public R editOtherConfig(@RequestBody MgtOtherConfigEditDto mgtOtherConfigEditDto) {
    public R editOtherConfig(@Validated @RequestBody MgtOtherConfigEditDto mgtOtherConfigEditDto) {
        customConfigService.editOtherConfig(mgtOtherConfigEditDto);
        return R.ok();
    }
    @RequestMapping(value = "/editShopConfig", method = RequestMethod.POST)
    @Log(title = "其它设置管理", businessType = BusinessType.UPDATE,operContent = "修改合作商配置")
    @ApiOperation(value = "修改合作商配置")
    public R editShopConfig(@RequestBody MgtShopConfigEditDto mgtShopConfigEditDto) {
    public R editShopConfig(@Validated @RequestBody MgtShopConfigEditDto mgtShopConfigEditDto) {
        customConfigService.editShopConfig(mgtShopConfigEditDto);
        return R.ok();
    }
    @RequestMapping(value = "/editMemberConfig", method = RequestMethod.POST)
    @ApiOperation(value = "修改合作商配置")
    public R editMemberConfig(@RequestBody MgtMemberConfigEditDto mgtMemberConfigEditDto) {
    @Log(title = "其它设置管理", businessType = BusinessType.UPDATE,operContent = "修改会员配置")
    @ApiOperation(value = "修改会员配置")
    public R editMemberConfig(@Validated @RequestBody MgtMemberConfigEditDto mgtMemberConfigEditDto) {
        customConfigService.editMemberConfig(mgtMemberConfigEditDto);
        return R.ok();
    }
    @RequestMapping(value = "/editAdvert", method = RequestMethod.POST)
    @Log(title = "其它设置管理", businessType = BusinessType.UPDATE,operContent = "修改广告配置")
    @ApiOperation(value = "修改广告配置")
    public R editAdvert(@RequestBody MgtAdvertEditDto mgtAdvertEditDto) {
    public R editAdvert(@Validated @RequestBody MgtAdvertEditDto mgtAdvertEditDto) {
        mgtAdvertEditDto.setUserId(SecurityUtils.getUserId());
        advertService.editMgtAdvert(mgtAdvertEditDto);
        return R.ok();
    }
    @RequestMapping(value = "/editActiveness", method = RequestMethod.POST)
    @Log(title = "其它设置管理", businessType = BusinessType.UPDATE,operContent = "修改活跃度")
    @ApiOperation(value = "修改活跃度")
    public R editActiveness(@RequestBody MgtActivenessEditDto mgtActivenessEditDto) {
        mgtActivenessEditDto.setUserId(SecurityUtils.getUserId());
@@ -265,6 +326,7 @@
    }
    @RequestMapping(value = "/deleteActiveness", method = RequestMethod.POST)
    @Log(title = "其它设置管理", businessType = BusinessType.DELETE,operContent = "删除活跃度")
    @ApiOperation(value = "删除活跃度")
    public R deleteMgtActiveness(@RequestBody MgtBaseGetDto mgtBaseGetDto) {
        mgtBaseGetDto.setUserId(SecurityUtils.getUserId());
@@ -285,6 +347,7 @@
    }
    @RequestMapping(value = "/editClassification", method = RequestMethod.POST)
    @Log(title = "分类管理", businessType = BusinessType.UPDATE,operContent = "修改分类")
    @ApiOperation(value = "修改分类")
    public R editClassification(@RequestBody MgtClassificationEditDto mgtClassificationEditDto) {
        mgtClassificationEditDto.setUserId(SecurityUtils.getUserId());
@@ -293,11 +356,19 @@
    }
    @RequestMapping(value = "/deleteClassification", method = RequestMethod.POST)
    @Log(title = "分类管理", businessType = BusinessType.DELETE,operContent = "删除分类")
    @ApiOperation(value = "删除分类")
    public R deleteClassification(@RequestBody MgtBaseGetDto mgtBaseGetDto) {
        mgtBaseGetDto.setUserId(SecurityUtils.getUserId());
        sysClassificationService.deleteClassification(Long.valueOf(mgtBaseGetDto.getId()));
        return R.ok();
    }
    @RequestMapping(value = "/listOperTitle", method = RequestMethod.POST)
    @ApiOperation(value = "获取操作类型列表")
    public R<List<String>> pageOperLog() {
        List<String> operTitleList = customConfigService.listOperTitle();
        return R.ok(operTitleList);
    }
    @RequestMapping(value = "/pageOperLog", method = RequestMethod.POST)
@@ -312,6 +383,32 @@
        return R.ok(page.setRecords(mgtOperLogPageVoList));
    }
    @RequestMapping(value = "/deleteOperlog", method = RequestMethod.POST)
    @Log(title = "日志管理", businessType = BusinessType.DELETE,operContent = "清空日志")
    @ApiOperation(value = "清空日志")
    public R deleteOperlog() {
        customConfigService.deleteOperlog();
        return R.ok();
    }
    @RequestMapping(value = "/exportPageOperLog", method = RequestMethod.POST)
    @ApiOperation(value = "导出操作日志")
    public void exportPageOperLog(MgtOperLogPageDto mgtOperLogPageDto, HttpServletResponse response) {
        Long userId = SecurityUtils.getUserId();
        mgtOperLogPageDto.setUserId(userId);
        Page<MgtOperLogPageVo> page = new Page<>();
        if(mgtOperLogPageDto.getPageSize() > 5000){
            page.setSize(5000);
            page.setCurrent(1);
        }else{
            page.setSize(mgtOperLogPageDto.getPageSize());
            page.setCurrent(mgtOperLogPageDto.getPageNum());
        }
        List<MgtOperLogPageVo> mgtOperLogPageVoList = customConfigService.pageOperLog(page, mgtOperLogPageDto);
        ExcelUtil<MgtOperLogPageVo> util = new ExcelUtil<MgtOperLogPageVo>(MgtOperLogPageVo.class);
        util.exportExcel(response, mgtOperLogPageVoList, "操作日志");
    }
    @RequestMapping(value = "/pageTag", method = RequestMethod.POST)
    @ApiOperation(value = "分页获取标签列表")
    public R<Page<MgtTagPageVo>> pageTag(@RequestBody MgtTagPageDto mgtTagPageDto) {
@@ -324,7 +421,60 @@
        return R.ok(page.setRecords(mgtTagPageVoList));
    }
    @ApiOperation(value = "导入商品标签")
    @PostMapping("/importGoodsTagData")
    public AjaxResult importGoodsTagData(@RequestPart("file")MultipartFile file) throws Exception
    {
        ExcelUtil<MgtTagImportDto> util = new ExcelUtil<MgtTagImportDto>(MgtTagImportDto.class);
        List<MgtTagImportDto> tagList = util.importExcel(file.getInputStream());
        String operName = SecurityUtils.getUsername();
        String message = sysTagService.importTag(tagList, 1, operName);
        return success(message);
    }
    @ApiOperation(value = "导入用户标签")
    @PostMapping("/importUserTagData")
    public AjaxResult importUserTagData(@RequestPart("file")MultipartFile file) throws Exception
    {
        ExcelUtil<MgtTagImportDto> util = new ExcelUtil<MgtTagImportDto>(MgtTagImportDto.class);
        List<MgtTagImportDto> tagList = util.importExcel(file.getInputStream());
        String operName = SecurityUtils.getUsername();
        String message = sysTagService.importTag(tagList, 2, operName);
        return success(message);
    }
    @ApiOperation(value = "导入商户标签")
    @PostMapping("/importShopTagData")
    public AjaxResult importShopTagData(@RequestPart("file")MultipartFile file) throws Exception
    {
        ExcelUtil<MgtTagImportDto> util = new ExcelUtil<MgtTagImportDto>(MgtTagImportDto.class);
        List<MgtTagImportDto> tagList = util.importExcel(file.getInputStream());
        String operName = SecurityUtils.getUsername();
        String message = sysTagService.importTag(tagList, 3, operName);
        return success(message);
    }
    @ApiOperation(value = "导入建议标签")
    @PostMapping("/importSuggestTagData")
    public AjaxResult importSuggestTagData(@RequestPart("file")MultipartFile file) throws Exception
    {
        ExcelUtil<MgtTagImportDto> util = new ExcelUtil<MgtTagImportDto>(MgtTagImportDto.class);
        List<MgtTagImportDto> tagList = util.importExcel(file.getInputStream());
        String operName = SecurityUtils.getUsername();
        String message = sysTagService.importTag(tagList, 4, operName);
        return success(message);
    }
    @ApiOperation(value = "下载标签模板")
    @PostMapping("/importTemplate")
    public void importTemplate(HttpServletResponse response) throws IOException
    {
        ExcelUtil<MgtTagImportDto> util = new ExcelUtil<MgtTagImportDto>(MgtTagImportDto.class);
        util.importTemplateExcel(response, "标签导入模板");
    }
    @RequestMapping(value = "/editTag", method = RequestMethod.POST)
    @Log(title = "标签管理", businessType = BusinessType.UPDATE,operContent = "修改标签")
    @ApiOperation(value = "修改标签")
    public R editTag(@RequestBody MgtTagEditDto mgtTagEditDto) {
        mgtTagEditDto.setUserId(SecurityUtils.getUserId());
@@ -333,6 +483,7 @@
    }
    @RequestMapping(value = "/deleteTag", method = RequestMethod.POST)
    @Log(title = "标签管理", businessType = BusinessType.DELETE,operContent = "删除标签")
    @ApiOperation(value = "删除标签")
    public R deleteTag(@RequestBody MgtBaseGetDto mgtBaseGetDto) {
        mgtBaseGetDto.setUserId(SecurityUtils.getUserId());
@@ -352,19 +503,52 @@
        return R.ok(page.setRecords(mgtArticlePageVoList));
    }
    @RequestMapping(value = "/getArticle", method = RequestMethod.POST)
    @ApiOperation(value = "获取文章")
    public R<MgtArticleGetVo> getArticle(@RequestBody MgtBaseGetDto mgtBaseGetDto) {
        mgtBaseGetDto.setUserId(SecurityUtils.getUserId());
        MgtArticleGetVo mgtArticleGetVo = articleService.getArticle(Long.valueOf(mgtBaseGetDto.getId()));
        return R.ok(mgtArticleGetVo);
    }
    @RequestMapping(value = "/editArticle", method = RequestMethod.POST)
    @Log(title = "文章管理", businessType = BusinessType.UPDATE,operContent = "修改文章")
    @ApiOperation(value = "修改文章")
    public R editArticle(@RequestBody MgtArticleEditDto mgtArticleEditDto) {
        mgtArticleEditDto.setUserId(SecurityUtils.getUserId());
        articleService.editMgtArticle(mgtArticleEditDto);
        Long oldClassId = articleService.editMgtArticle(mgtArticleEditDto);
        // 创建MgtClassNumDto对象
        MgtClassNumDto mgtClassNumDto = new MgtClassNumDto();
        if(mgtArticleEditDto.getArticleId()!=null){
            // 如果类别ID不为空并且文章的类别ID不为空并且类别ID不同,则设置子类别ID和新增类别ID
            if (mgtArticleEditDto.getClassId() != null && oldClassId != null
                    && !mgtArticleEditDto.getClassId().equals(oldClassId)) {
                mgtClassNumDto.setSubClassId(oldClassId);
                mgtClassNumDto.setAddClassId(mgtArticleEditDto.getClassId());
            }
            // 如果类别ID不为空并且文章的类别ID为空,则设置新增类别ID
            else if (mgtArticleEditDto.getClassId() != null && oldClassId == null) {
                mgtClassNumDto.setAddClassId(mgtArticleEditDto.getClassId());
            }
        }else{
            mgtClassNumDto.setAddClassId(mgtArticleEditDto.getClassId());
        }
        // 更新类别数量
        sysClassificationService.changeClassNum(mgtClassNumDto);
        return R.ok();
    }
    @RequestMapping(value = "/deleteArticle", method = RequestMethod.POST)
    @Log(title = "文章管理", businessType = BusinessType.DELETE,operContent = "删除文章")
    @ApiOperation(value = "删除文章")
    public R deleteArticle(@RequestBody MgtBaseGetDto mgtBaseGetDto) {
        mgtBaseGetDto.setUserId(SecurityUtils.getUserId());
        articleService.deleteArticle(mgtBaseGetDto);
        Long oldClassId = articleService.deleteArticle(mgtBaseGetDto);
        if(oldClassId!=null){
            MgtClassNumDto mgtClassNumDto = new MgtClassNumDto();
            mgtClassNumDto.setSubClassId(oldClassId);
            sysClassificationService.changeClassNum(mgtClassNumDto);
        }
        return R.ok();
    }
@@ -379,7 +563,46 @@
    @RequestMapping(value = "/listCity", method = RequestMethod.POST)
    @ApiOperation(value = "获取省市列表")
    public R<List<RegionVo>> listCity(){
        List<RegionVo> regionVoList = regionService.listRegionVo();
        List<RegionVo> regionVoList = regionService.listCityVo();
        return R.ok(regionVoList);
    }
    @RequestMapping(value = "/listRegions", method = RequestMethod.GET)
    @ApiOperation(value = "获取省市区列表")
    public R<List<RegionVo>> listRegions(Long pid){
        List<RegionVo> regionVoList = regionService.listRegions(pid);
        return R.ok(regionVoList);
    }
    @RequestMapping(value = "/pageAllotRecommend", method = RequestMethod.POST)
    @ApiOperation(value = "分页获取推荐分配列表")
    public R<Page<MgtAllotRecommendPageVo>> pageAllotRecommend(@RequestBody MgtAllotRecommendPageDto mgtAllotRecommendPageDto) {
        Long userId = SecurityUtils.getUserId();
        mgtAllotRecommendPageDto.setUserId(userId);
        Page<MgtAllotRecommendPageVo> page = new Page<>();
        page.setSize(mgtAllotRecommendPageDto.getPageSize());
        page.setCurrent(mgtAllotRecommendPageDto.getPageNum());
        List<MgtAllotRecommendPageVo> allotRecommendPageVoList = recommendCooperationService.pageAllotRecommend(page, mgtAllotRecommendPageDto);
        return R.ok(page.setRecords(allotRecommendPageVoList));
    }
    @RequestMapping(value = "/allotRecommend", method = RequestMethod.POST)
    @Log(title = "分配管理", businessType = BusinessType.UPDATE,operContent = "分配推荐")
    @ApiOperation(value = "分配推荐")
    public R allotRecommend(@RequestBody MgtAllotRecommendDto mgtAllotRecommendDto) {
        mgtAllotRecommendDto.setUserId(SecurityUtils.getUserId());
        recommendCooperationService.allotRecommend(mgtAllotRecommendDto);
        return R.ok();
    }
    @RequestMapping(value = "/getBulletinBoard", method = RequestMethod.POST)
    @ApiOperation(value = "获取看板统计")
    public R<MgtBulletinBoardVo> getBulletinBoard() {
        MgtBulletinBoardVo bulletinBoard = customConfigService.getBulletinBoard();
        return R.ok(bulletinBoard);
    }
}