jiangqs
2023-06-09 579e969465105fcc007969c7e9b8c74f1b6434b2
基础配置
44个文件已修改
10个文件已添加
1350 ■■■■ 已修改文件
ruoyi-api/ruoyi-api-system/src/main/java/com/ruoyi/system/api/constant/AppErrorConstant.java 2 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-api/ruoyi-api-system/src/main/java/com/ruoyi/system/api/domain/dto/MgtShopIdByCodeDto.java 25 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-api/ruoyi-api-system/src/main/java/com/ruoyi/system/api/domain/vo/MgtShopIdByCodeVo.java 20 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-api/ruoyi-api-system/src/main/java/com/ruoyi/system/api/factory/RemoteMemberFallbackFactory.java 5 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-api/ruoyi-api-system/src/main/java/com/ruoyi/system/api/factory/RemoteShopFallbackFactory.java 17 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-api/ruoyi-api-system/src/main/java/com/ruoyi/system/api/service/RemoteMemberService.java 9 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-api/ruoyi-api-system/src/main/java/com/ruoyi/system/api/service/RemoteShopService.java 23 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-modules/ruoyi-goods/src/main/resources/mapper/goods/GoodsMapper.xml 1 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-modules/ruoyi-member/src/main/java/com/ruoyi/member/controller/console/MemberController.java 19 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-modules/ruoyi-member/src/main/java/com/ruoyi/member/controller/management/MgtMemberController.java 24 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-modules/ruoyi-member/src/main/java/com/ruoyi/member/domain/dto/MgtMemberSuggestPageDto.java 63 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-modules/ruoyi-member/src/main/java/com/ruoyi/member/domain/pojo/member/MemberSuggest.java 29 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-modules/ruoyi-member/src/main/java/com/ruoyi/member/domain/vo/AppSuggestPageVo.java 5 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-modules/ruoyi-member/src/main/java/com/ruoyi/member/domain/vo/MgtMemberSuggestPageVo.java 84 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-modules/ruoyi-member/src/main/java/com/ruoyi/member/mapper/member/MemberSuggestMapper.java 21 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-modules/ruoyi-member/src/main/java/com/ruoyi/member/service/impl/member/MemberServiceImpl.java 2 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-modules/ruoyi-member/src/main/java/com/ruoyi/member/service/impl/member/MemberSuggestServiceImpl.java 49 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-modules/ruoyi-member/src/main/java/com/ruoyi/member/service/member/MemberService.java 2 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-modules/ruoyi-member/src/main/java/com/ruoyi/member/service/member/MemberSuggestService.java 21 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-modules/ruoyi-member/src/main/resources/mapper/member/BrowseRecordMapper.xml 1 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-modules/ruoyi-member/src/main/resources/mapper/member/MemberSuggestMapper.xml 33 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-modules/ruoyi-order/src/main/java/com/ruoyi/order/controller/management/MgtOrderController.java 1 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-modules/ruoyi-shop/src/main/java/com/ruoyi/shop/controller/console/ShopController.java 20 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-modules/ruoyi-shop/src/main/java/com/ruoyi/shop/mapper/shop/ShopMapper.java 18 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-modules/ruoyi-shop/src/main/java/com/ruoyi/shop/mapper/shop/ShopSuggestMapper.java 11 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-modules/ruoyi-shop/src/main/java/com/ruoyi/shop/service/impl/shop/ShopServiceImpl.java 24 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-modules/ruoyi-shop/src/main/java/com/ruoyi/shop/service/impl/shop/ShopSuggestServiceImpl.java 15 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-modules/ruoyi-shop/src/main/java/com/ruoyi/shop/service/shop/ShopService.java 11 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-modules/ruoyi-shop/src/main/java/com/ruoyi/shop/service/shop/ShopSuggestService.java 10 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-modules/ruoyi-shop/src/main/resources/mapper/shop/ShopMapper.xml 18 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-modules/ruoyi-shop/src/main/resources/mapper/shop/ShopSuggestMapper.xml 5 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-modules/ruoyi-system/pom.xml 5 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-modules/ruoyi-system/src/main/java/com/ruoyi/system/controller/GeneratorMybatisPlus.java 87 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-modules/ruoyi-system/src/main/java/com/ruoyi/system/controller/management/MgtConfigController.java 63 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-modules/ruoyi-system/src/main/java/com/ruoyi/system/domain/dto/MgtArticleEditDto.java 43 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-modules/ruoyi-system/src/main/java/com/ruoyi/system/domain/dto/MgtArticlePageDto.java 27 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-modules/ruoyi-system/src/main/java/com/ruoyi/system/domain/dto/MgtCustomConfigDto.java 27 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-modules/ruoyi-system/src/main/java/com/ruoyi/system/domain/pojo/config/Article.java 20 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-modules/ruoyi-system/src/main/java/com/ruoyi/system/domain/vo/MgtAllCustomConfigVo.java 89 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-modules/ruoyi-system/src/main/java/com/ruoyi/system/domain/vo/MgtArticlePageVo.java 35 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-modules/ruoyi-system/src/main/java/com/ruoyi/system/domain/vo/MgtCustomConfigVo.java 84 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-modules/ruoyi-system/src/main/java/com/ruoyi/system/mapper/config/ArticleMapper.java 15 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-modules/ruoyi-system/src/main/java/com/ruoyi/system/mapper/config/StaffSuggestMapper.java 8 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-modules/ruoyi-system/src/main/java/com/ruoyi/system/service/config/ArticleService.java 36 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-modules/ruoyi-system/src/main/java/com/ruoyi/system/service/config/CustomConfigService.java 11 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-modules/ruoyi-system/src/main/java/com/ruoyi/system/service/config/StaffSuggestService.java 8 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-modules/ruoyi-system/src/main/java/com/ruoyi/system/service/impl/config/ArticleServiceImpl.java 78 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-modules/ruoyi-system/src/main/java/com/ruoyi/system/service/impl/config/CustomConfigServiceImpl.java 71 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-modules/ruoyi-system/src/main/java/com/ruoyi/system/service/impl/config/StaffSuggestServiceImpl.java 16 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-modules/ruoyi-system/src/main/java/com/ruoyi/system/service/impl/config/SysTagServiceImpl.java 9 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-modules/ruoyi-system/src/main/resources/mapper/config/ArticleMapper.xml 23 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-modules/ruoyi-system/src/main/resources/mapper/config/RecommendCooperationMapper.xml 1 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-modules/ruoyi-system/src/main/resources/mapper/config/StaffSuggestMapper.xml 5 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-modules/ruoyi-system/src/main/resources/mapper/config/SysTagMapper.xml 1 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-api/ruoyi-api-system/src/main/java/com/ruoyi/system/api/constant/AppErrorConstant.java
@@ -137,4 +137,6 @@
    String SHOP_DOUBLE = "商户名不能重复";
    String TAG_DOUBLE = "标签名不能重复";
    String ARTICLE_DOUBLE = "文章标题不能重复";
}
ruoyi-api/ruoyi-api-system/src/main/java/com/ruoyi/system/api/domain/dto/MgtShopIdByCodeDto.java
New file
@@ -0,0 +1,25 @@
package com.ruoyi.system.api.domain.dto;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
/**
 * @ClassName MgtShopIdByCodeDto
 * @Description TODO
 * @Author jqs
 * @Date 2023/6/9 16:35
 * @Version 1.0
 */
@Data
public class MgtShopIdByCodeDto {
    @ApiModelProperty(value = "店铺地址省code")
    private String shopProvinceCode;
    @ApiModelProperty(value = "店铺地址市code")
    private String shopCityCode;
    @ApiModelProperty(value = "店铺地址区code")
    private String shopAreaCode;
}
ruoyi-api/ruoyi-api-system/src/main/java/com/ruoyi/system/api/domain/vo/MgtShopIdByCodeVo.java
New file
@@ -0,0 +1,20 @@
package com.ruoyi.system.api.domain.vo;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
/**
 * @ClassName MgtShopIdByCodeVo
 * @Description TODO
 * @Author jqs
 * @Date 2023/6/9 16:35
 * @Version 1.0
 */
@Data
public class MgtShopIdByCodeVo {
    @ApiModelProperty(value = "shopIds")
    private String shopIds;
}
ruoyi-api/ruoyi-api-system/src/main/java/com/ruoyi/system/api/factory/RemoteMemberFallbackFactory.java
@@ -79,6 +79,11 @@
            public R deleteMemberTag(String tag) {
                return R.fail("删除用户标签失败:" + throwable.getMessage());
            }
            @Override
            public R deleteMemberSuggestTag(String suggestTag) {
                return R.fail("删除用户建议标签失败:" + throwable.getMessage());
            }
        };
    }
}
ruoyi-api/ruoyi-api-system/src/main/java/com/ruoyi/system/api/factory/RemoteShopFallbackFactory.java
@@ -1,6 +1,8 @@
package com.ruoyi.system.api.factory;
import com.ruoyi.common.core.domain.R;
import com.ruoyi.system.api.domain.dto.MgtShopIdByCodeDto;
import com.ruoyi.system.api.domain.vo.MgtShopIdByCodeVo;
import com.ruoyi.system.api.model.QwH5LoginVo;
import com.ruoyi.system.api.model.QwUserDetailDto;
import com.ruoyi.system.api.service.RemoteShopService;
@@ -43,9 +45,20 @@
            }
            @Override
            public R deleteMemberTag(String tag) {
                return R.fail("删除商户标签失败:" + throwable.getMessage());
            public R deleteShopTag(String tag) {
                return null;
            }
            @Override
            public R deleteShopSuggestTag(String suggestTag) {
                return R.fail("删除商户建议标签失败:" + throwable.getMessage());
            }
            @Override
            public R<MgtShopIdByCodeVo> getShopIdByCode(MgtShopIdByCodeDto mgtShopIdByCodeDto) {
                return R.fail("获取商户失败:" + throwable.getMessage());
            }
        };
    }
}
ruoyi-api/ruoyi-api-system/src/main/java/com/ruoyi/system/api/service/RemoteMemberService.java
@@ -89,4 +89,13 @@
    @PostMapping("/member/deleteMemberTag")
    public R deleteMemberTag(@RequestBody String tag);
    /**
     * @description  删除用户建议标签
     * @author  jqs
     * @date    2023/6/9 10:17
     * @param suggestTag
     * @return  R
     */
    @PostMapping("/member/deleteMemberSuggestTag")
    public R deleteMemberSuggestTag(@RequestBody String suggestTag);
}
ruoyi-api/ruoyi-api-system/src/main/java/com/ruoyi/system/api/service/RemoteShopService.java
@@ -2,7 +2,9 @@
import com.ruoyi.common.core.constant.ServiceNameConstants;
import com.ruoyi.common.core.domain.R;
import com.ruoyi.system.api.domain.dto.MgtShopIdByCodeDto;
import com.ruoyi.system.api.domain.poji.shop.Shop;
import com.ruoyi.system.api.domain.vo.MgtShopIdByCodeVo;
import com.ruoyi.system.api.domain.vo.ShopRelUserVo;
import com.ruoyi.system.api.factory.RemoteShopFallbackFactory;
import com.ruoyi.system.api.model.QwH5LoginVo;
@@ -37,4 +39,25 @@
     */
    @PostMapping("/shop/deleteShopTag")
    public R deleteShopTag(@RequestBody String tag);
    /**
     * @description 删除商户标签
     * @author  jqs
     * @date    2023/6/9 10:18
     * @param suggestTag
     * @return  R
     */
    @PostMapping("/deleteShopSuggestTag")
    public R deleteShopSuggestTag(@RequestBody String suggestTag);
    /**
     * @description  通过code获取shopId
     * @author  jqs
     * @date    2023/6/9 17:00
     * @param mgtShopIdByCodeDto
     * @return  R<MgtShopIdByCodeVo>
     */
    @PostMapping("/getShopIdByCode")
    public R<MgtShopIdByCodeVo> getShopIdByCode(@RequestBody MgtShopIdByCodeDto mgtShopIdByCodeDto);
}
ruoyi-modules/ruoyi-goods/src/main/resources/mapper/goods/GoodsMapper.xml
@@ -356,6 +356,7 @@
        <if test="param.goodsName != null and param.goodsName != ''">
            AND tg.goods_name LIKE CONCAT('%',#{param.goodsName},'%')
        </if>
        ORDER BY tg.create_time DESC
    </select>
    <select id="getMgtGoodsTotal" resultType="com.ruoyi.goods.domain.vo.MgtGoodsTotalVo">
ruoyi-modules/ruoyi-member/src/main/java/com/ruoyi/member/controller/console/MemberController.java
@@ -4,6 +4,7 @@
import com.ruoyi.common.core.web.controller.BaseController;
import com.ruoyi.member.service.member.MemberCouponService;
import com.ruoyi.member.service.member.MemberService;
import com.ruoyi.member.service.member.MemberSuggestService;
import com.ruoyi.system.api.domain.dto.AppMemberBindingDto;
import com.ruoyi.system.api.domain.dto.AppMemberGoodsTypeDto;
import com.ruoyi.system.api.domain.dto.AppMiniRegisterDto;
@@ -30,6 +31,10 @@
    @Resource
    private MemberCouponService memberCouponService;
    @Resource
    private MemberSuggestService memberSuggestService;
    /**
    * @description: getMember
@@ -146,4 +151,18 @@
        memberService.deleteMemberTag(tag);
        return R.ok();
    }
    /**
     * @description  删除会员建议标签
     * @author  jqs
     * @date    2023/6/9 9:43
     * @param suggestTag
     * @return  R
     */
    @PostMapping("/deleteMemberSuggestTag")
    public R deleteMemberSuggestTag(@RequestBody String suggestTag)
    {
        memberSuggestService.deleteMemberSuggestTag(suggestTag);
        return R.ok();
    }
}
ruoyi-modules/ruoyi-member/src/main/java/com/ruoyi/member/controller/management/MgtMemberController.java
@@ -5,10 +5,7 @@
import com.ruoyi.common.security.utils.SecurityUtils;
import com.ruoyi.member.domain.dto.*;
import com.ruoyi.member.domain.vo.*;
import com.ruoyi.member.service.member.BrowseRecordService;
import com.ruoyi.member.service.member.IntegralRecordService;
import com.ruoyi.member.service.member.MemberArchiveFieldsService;
import com.ruoyi.member.service.member.MemberService;
import com.ruoyi.member.service.member.*;
import com.ruoyi.system.api.domain.dto.MgtBaseGetDto;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiOperation;
@@ -44,6 +41,10 @@
    @Resource
    private MemberArchiveFieldsService memberArchiveFieldsService;
    @Resource
    private MemberSuggestService memberSuggestService;
    @RequestMapping(value = "/pageMgtMember", method = RequestMethod.POST)
    @ApiOperation(value = "分页获取会员列表")
@@ -125,4 +126,19 @@
        memberArchiveFieldsService.editMemberArchiveFields(mgtArchiveFieldsEditDto);
        return R.ok();
    }
    @RequestMapping(value = "/pageMgtMemberSuggest", method = RequestMethod.POST)
    @ApiOperation(value = "平台获取用户建议")
    public R<Page<MgtMemberSuggestPageVo>> pageMgtMemberSuggest(@RequestBody MgtMemberSuggestPageDto memberSuggestPageDto) {
        Long userId = SecurityUtils.getUserId();
        memberSuggestPageDto.setUserId(userId);
        Page<MgtMemberSuggestPageVo> page = new Page<>();
        page.setSize(memberSuggestPageDto.getPageSize());
        page.setCurrent(memberSuggestPageDto.getPageNum());
        List<MgtMemberSuggestPageVo> mgtMemberSuggestPageVoList = memberSuggestService.pageMgtMemberSuggest(page,memberSuggestPageDto);
        return R.ok(page.setRecords(mgtMemberSuggestPageVoList));
    }
}
ruoyi-modules/ruoyi-member/src/main/java/com/ruoyi/member/domain/dto/MgtMemberSuggestPageDto.java
New file
@@ -0,0 +1,63 @@
package com.ruoyi.member.domain.dto;
import com.ruoyi.system.api.domain.dto.MgtPageDto;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import java.util.Date;
/**
 * @ClassName MgtMemberSuggestPageDto
 * @Description TODO
 * @Author jqs
 * @Date 2023/6/9 15:52
 * @Version 1.0
 */
@Data
public class MgtMemberSuggestPageDto extends MgtPageDto {
    @ApiModelProperty(value = "搜索关键词")
    private String keyword;
    @ApiModelProperty(value = "提交开始时间")
    private Date createStartTime;
    @ApiModelProperty(value = "提交结束时间")
    private Date createEndTime;
    @ApiModelProperty(value = "建议状态1未回复2已回复")
    private Integer suggestStatus;
    @ApiModelProperty(value = "性别0男1女")
    private Integer gender;
    @ApiModelProperty(value = "标签 多个,隔开")
    private String tags;
    @ApiModelProperty(value = "商户回复开始时间")
    private Date shopReplayStartTime;
    @ApiModelProperty(value = "商户回复结束时间")
    private Date shopReplayEndTime;
    @ApiModelProperty(value = "平台回复开始时间")
    private Date replayStartTime;
    @ApiModelProperty(value = "平台回复结束时间")
    private Date replayEndTime;
    @ApiModelProperty(value = "建议类型1平台2商户")
    private Integer suggestType;
    @ApiModelProperty(value = "店铺地址省code")
    private String shopProvinceCode;
    @ApiModelProperty(value = "店铺地址市code")
    private String shopCityCode;
    @ApiModelProperty(value = "店铺地址区code")
    private String shopAreaCode;
    @ApiModelProperty(value = "商户id集合",hidden = true)
    private String shopIds;
}
ruoyi-modules/ruoyi-member/src/main/java/com/ruoyi/member/domain/pojo/member/MemberSuggest.java
@@ -64,6 +64,11 @@
    @TableField("replay_user_id")
    private Long replayUserId;
    /**
     * 回复人姓名
     */
    @TableField("replay_user_name")
    private String replayUserName;
    /**
     * 回复时间
     */
    @TableField("replay_time")
@@ -78,12 +83,32 @@
     */
    @TableField("suggest_type")
    private Integer suggestType;
    /**
     * 商品标签
     * 建议标签
     */
    @TableField("suggest_tags")
    private String suggestTags;
    /**
     * 商户回复内容
     */
    @TableField("shop_replay_content")
    private String shopReplayContent;
    /**
     * 商户回复用户id
     */
    @TableField("shop_replay_user_id")
    private Long shopReplayUserId;
    /**
     * 商户回复人姓名
     */
    @TableField("shop_replay_user_name")
    private String shopReplayUserName;
    /**
     * 商户回复时间
     */
    @TableField("shop_replay_time")
    private Date shopReplayTime;
    @Override
    protected Serializable pkVal() {
ruoyi-modules/ruoyi-member/src/main/java/com/ruoyi/member/domain/vo/AppSuggestPageVo.java
@@ -1,6 +1,5 @@
package com.ruoyi.member.domain.vo;
import com.baomidou.mybatisplus.annotation.TableField;
import com.fasterxml.jackson.annotation.JsonFormat;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
@@ -28,7 +27,9 @@
    /**
     * 回复内容
     */
    @ApiModelProperty(value = "回复内容")
    @ApiModelProperty(value = "平台回复内容")
    private String replayContent;
    @ApiModelProperty(value = "商户回复内容")
    private String shopReplayContent;
}
ruoyi-modules/ruoyi-member/src/main/java/com/ruoyi/member/domain/vo/MgtMemberSuggestPageVo.java
New file
@@ -0,0 +1,84 @@
package com.ruoyi.member.domain.vo;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import java.util.Date;
/**
 * @ClassName MgtMemberSuggestPageVo
 * @Description TODO
 * @Author jqs
 * @Date 2023/6/9 17:02
 * @Version 1.0
 */
@Data
public class MgtMemberSuggestPageVo {
    @ApiModelProperty(value = "建议id")
    private Long suggestId;
    @ApiModelProperty(value = "用户姓名")
    private String userRealName;
    @ApiModelProperty(value = "用户昵称")
    private String userNickName;
    @ApiModelProperty(value = "用户性别")
    private String gender;
    @ApiModelProperty(value = "用户手机")
    private String userMobile;
    @ApiModelProperty(value = "建议类型1.平台2.门店")
    private Integer suggestType;
    @ApiModelProperty(value = "建议内容")
    private String suggestContent;
    @ApiModelProperty(value = "平台回复内容")
    private String replayContent;
    @ApiModelProperty(value = "商户回复内容")
    private String shopReplayContent;
    @ApiModelProperty(value = "建议状态")
    private String suggestStatus;
    @ApiModelProperty(value = "创建时间")
    private Date createTime;
    @ApiModelProperty(value = "回复人姓名")
    private String replayUserName;
    @ApiModelProperty(value = "回复时间")
    private Date replayTime;
    @ApiModelProperty(value = "平台响应时间")
    private String responseTime;
    @ApiModelProperty(value = "商户回复人姓名")
    private String shopReplayUserName;
    @ApiModelProperty(value = "商户回复时间")
    private Date shopReplayTime;
    @ApiModelProperty(value = "商户响应时间")
    private String shopResponseTime;
    @ApiModelProperty(value = "建议标签")
    private String suggestTags;
}
ruoyi-modules/ruoyi-member/src/main/java/com/ruoyi/member/mapper/member/MemberSuggestMapper.java
@@ -2,8 +2,10 @@
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.ruoyi.member.domain.dto.MgtMemberSuggestPageDto;
import com.ruoyi.member.domain.pojo.member.MemberSuggest;
import com.ruoyi.member.domain.vo.AppSuggestPageVo;
import com.ruoyi.member.domain.vo.MgtMemberSuggestPageVo;
import com.ruoyi.system.api.domain.dto.AppSuggestPageDto;
import org.apache.ibatis.annotations.Param;
@@ -27,4 +29,23 @@
     * @return
     */
    List<AppSuggestPageVo> pageAppUserSuggest(Page page, @Param("param") AppSuggestPageDto appSuggestPageDto);
    /**
     * @description
     * @author  jqs
     * @date    2023/6/9 10:02
     * @param suggestTag
     * @return  void
     */
    void deleteMemberSuggestTag(@Param("suggestTag")String suggestTag);
    /**
     * @description  分页获取用户建议
     * @author  jqs
     * @date    2023/6/9 17:26
     * @param memberSuggestPageDto
     * @return  List<MgtMemberSuggestPageVo>
     */
    List<MgtMemberSuggestPageVo> pageMgtMemberSuggest(Page page, @Param("param") MgtMemberSuggestPageDto memberSuggestPageDto);
}
ruoyi-modules/ruoyi-member/src/main/java/com/ruoyi/member/service/impl/member/MemberServiceImpl.java
@@ -863,4 +863,6 @@
    public void deleteMemberTag(String memberTag){
        memberMapper.deleteMemberTag(memberTag);
    }
}
ruoyi-modules/ruoyi-member/src/main/java/com/ruoyi/member/service/impl/member/MemberSuggestServiceImpl.java
@@ -3,13 +3,18 @@
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.member.domain.dto.MgtMemberSuggestPageDto;
import com.ruoyi.member.domain.pojo.member.MemberSuggest;
import com.ruoyi.member.domain.vo.AppSuggestPageVo;
import com.ruoyi.member.domain.vo.MgtMemberSuggestPageVo;
import com.ruoyi.member.mapper.member.MemberSuggestMapper;
import com.ruoyi.member.service.member.MemberSuggestService;
import com.ruoyi.system.api.domain.dto.AppSuggestPageDto;
import com.ruoyi.system.api.domain.dto.AppUserSuggestDto;
import com.ruoyi.system.api.domain.dto.MgtShopIdByCodeDto;
import com.ruoyi.system.api.domain.vo.MgtShopIdByCodeVo;
import com.ruoyi.system.api.service.RemoteShopService;
import org.springframework.stereotype.Service;
import javax.annotation.Resource;
@@ -30,6 +35,12 @@
    @Resource
    private MemberSuggestMapper memberSuggestMapper;
    @Resource
    private RemoteShopService remoteShopService;
    /**
     *
     * @param page
@@ -55,4 +66,40 @@
        memberSuggest.setSuggestType(appUserSuggestDto.getSuggestType());
        this.saveOrUpdate(memberSuggest);
    }
    /**
     * @description
     * @author  jqs
     * @date    2023/6/9 10:02
     * @param suggestTag
     * @return  void
     */
    @Override
    public void deleteMemberSuggestTag(String suggestTag){
        memberSuggestMapper.deleteMemberSuggestTag(suggestTag);
    }
    /**
     * @description  分页获取用户建议
     * @author  jqs
     * @date    2023/6/9 17:26
     * @param memberSuggestPageDto
     * @return  List<MgtMemberSuggestPageVo>
     */
    @Override
    public List<MgtMemberSuggestPageVo> pageMgtMemberSuggest(Page page,MgtMemberSuggestPageDto memberSuggestPageDto){
        //如果区域代码不为null获取对应的商户id
        if(StringUtils.isNotBlank(memberSuggestPageDto.getShopProvinceCode())||StringUtils.isNotBlank(memberSuggestPageDto.getShopCityCode())||StringUtils.isNotBlank(memberSuggestPageDto.getShopAreaCode())){
            MgtShopIdByCodeDto mgtShopIdByCodeDto = new MgtShopIdByCodeDto();
            mgtShopIdByCodeDto.setShopProvinceCode(memberSuggestPageDto.getShopProvinceCode());
            mgtShopIdByCodeDto.setShopCityCode(memberSuggestPageDto.getShopCityCode());
            mgtShopIdByCodeDto.setShopAreaCode(memberSuggestPageDto.getShopAreaCode());
            MgtShopIdByCodeVo mgtShopIdByCodeVo = remoteShopService.getShopIdByCode(mgtShopIdByCodeDto).getData();
            if(StringUtils.isNotBlank(mgtShopIdByCodeVo.getShopIds())){
                memberSuggestPageDto.setShopIds(mgtShopIdByCodeVo.getShopIds());
            }
        }
        List<MgtMemberSuggestPageVo> mgtMemberSuggestPageVoList = memberSuggestMapper.pageMgtMemberSuggest(page, memberSuggestPageDto);
        return mgtMemberSuggestPageVoList;
    }
}
ruoyi-modules/ruoyi-member/src/main/java/com/ruoyi/member/service/member/MemberService.java
@@ -188,4 +188,6 @@
     * @return  void
     */
    void deleteMemberTag(String memberTag);
}
ruoyi-modules/ruoyi-member/src/main/java/com/ruoyi/member/service/member/MemberSuggestService.java
@@ -2,8 +2,10 @@
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.baomidou.mybatisplus.extension.service.IService;
import com.ruoyi.member.domain.dto.MgtMemberSuggestPageDto;
import com.ruoyi.member.domain.pojo.member.MemberSuggest;
import com.ruoyi.member.domain.vo.AppSuggestPageVo;
import com.ruoyi.member.domain.vo.MgtMemberSuggestPageVo;
import com.ruoyi.system.api.domain.dto.AppSuggestPageDto;
import com.ruoyi.system.api.domain.dto.AppUserSuggestDto;
@@ -33,4 +35,23 @@
     * @param appUserSuggestDto
     */
    void userSuggest(AppUserSuggestDto appUserSuggestDto);
    /**
     * @description
     * @author  jqs
     * @date    2023/6/9 10:02
     * @param suggestTag
     * @return  void
     */
    void deleteMemberSuggestTag(String suggestTag);
    /**
     * @description  分页获取用户建议
     * @author  jqs
     * @date    2023/6/9 17:26
     * @param memberSuggestPageDto
     * @return  List<MgtMemberSuggestPageVo>
     */
    List<MgtMemberSuggestPageVo> pageMgtMemberSuggest(Page page, MgtMemberSuggestPageDto memberSuggestPageDto);
}
ruoyi-modules/ruoyi-member/src/main/resources/mapper/member/BrowseRecordMapper.xml
@@ -19,6 +19,7 @@
        <if test="param.browseType !=null and param.browseType != ''">
            tbr.browse_type = #{param.browseType}
        </if>
        ORDER BY tbr.create_time DESC
    </select>
ruoyi-modules/ruoyi-member/src/main/resources/mapper/member/MemberSuggestMapper.xml
@@ -6,10 +6,43 @@
        SELECT
        suggest_content suggestContent,
        replay_content replayContent,
        shop_replay_content shopReplayContent,
        create_time createTime
        FROM t_member_suggest
        WHERE del_flag = 0 AND create_user_id = #{param.userId}
        AND suggest_type = #{param.suggestType}
    </select>
    <update id="deleteMemberSuggestTag">
        UPDATE t_member_suggest SET suggest_tags = TRIM(BOTH ',' FROM REPLACE(CONCAT(',', suggest_tags, ','), CONCAT(',',#{suggestTag},','), ','))
        WHERE FIND_IN_SET(#{suggestTag}, suggest_tags) &gt; 0
    </update>
    <select id="pageMgtMemberSuggest" resultType="com.ruoyi.member.domain.vo.MgtMemberSuggestPageVo">
        SELECT
            tms.suggest_id suggestId,
            tm.real_name userRealName,
            tm.nick_name userNickName,
            CASE tm.gender WHEN 0 THEN "男" WHEN 1 THEN "女" ELSE "未知" END gender,
            tm.mobile userMobile,
            CASE tms.suggest_type WHEN 1 THEN "平台" WHEN 1 THEN "门店" ELSE "未知" END suggestType,
            tms.suggest_content suggestContent,
            tms.replay_content replayContent,
            tms.shop_replay_content shopReplayContent,
            CASE WHEN replay_content IS NOT NULL THEN "已回复" WHEN shop_replay_content IS NOT NULL THEN "已回复" ELSE "未回复" END suggestStatus,
            tms.create_time createTime,
            tms.replay_user_name replayUserName,
            tms.replay_time replayTime,
            tms.shop_replay_user_name shopReplayUserName,
            tms.shop_replay_time shopReplayTime,
            tms.suggest_tags suggestTags
        FROM
            t_member_suggest tms
        INNER JOIN t_member tm ON tms.create_user_id = tm.user_id
        WHERE del_flag = 0
        <if test="param.keyword!=null and param.keyword !=''">
        </if>
    </select>
</mapper>
ruoyi-modules/ruoyi-order/src/main/java/com/ruoyi/order/controller/management/MgtOrderController.java
@@ -54,4 +54,5 @@
        return R.ok(page.setRecords(mgtMemberOrderPageVoList));
    }
}
ruoyi-modules/ruoyi-shop/src/main/java/com/ruoyi/shop/controller/console/ShopController.java
@@ -8,8 +8,10 @@
import com.ruoyi.shop.service.shop.ShopService;
import com.ruoyi.shop.service.shop.ShopStaffService;
import com.ruoyi.shop.service.shop.ShopSuggestService;
import com.ruoyi.system.api.domain.dto.MgtShopIdByCodeDto;
import com.ruoyi.system.api.domain.poji.shop.Shop;
import com.ruoyi.system.api.domain.poji.sys.SysUser;
import com.ruoyi.system.api.domain.vo.MgtShopIdByCodeVo;
import com.ruoyi.system.api.domain.vo.ShopRelUserVo;
import com.ruoyi.system.api.model.QwH5LoginVo;
import com.ruoyi.system.api.model.QwUserDetailDto;
@@ -103,10 +105,24 @@
        return R.ok();
    }
    /**
     * @description
     * @author  jqs
     * @date    2023/6/9 10:18
     * @param suggestTag
     * @return  R
     */
    @PostMapping("/deleteShopSuggestTag")
    public R deleteShopSuggestTag(@RequestBody String tag)
    public R deleteShopSuggestTag(@RequestBody String suggestTag)
    {
        shopSuggestService.deleteShopSuggestTag(tag);
        shopSuggestService.deleteShopSuggestTag(suggestTag);
        return R.ok();
    }
    @PostMapping("/getShopIdByCode")
    public R<MgtShopIdByCodeVo> getShopIdByCode(@RequestBody MgtShopIdByCodeDto mgtShopIdByCodeDto)
    {
        MgtShopIdByCodeVo mgtShopIdByCodeVo = shopService.getShopIdByCode(mgtShopIdByCodeDto);
        return R.ok(mgtShopIdByCodeVo);
    }
}
ruoyi-modules/ruoyi-shop/src/main/java/com/ruoyi/shop/mapper/shop/ShopMapper.java
@@ -1,16 +1,17 @@
package com.ruoyi.shop.mapper.shop;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.ruoyi.shop.domain.dto.AppNearbyShopDto;
import com.ruoyi.shop.domain.dto.MerAgencyPageDto;
import com.ruoyi.shop.domain.dto.MgtShopPageDto;
import com.ruoyi.shop.domain.dto.MgtShopProportionPageDto;
import com.ruoyi.shop.domain.vo.AppNearShopVo;
import com.ruoyi.shop.domain.vo.MerAgencyPageVo;
import com.ruoyi.shop.domain.vo.MgtShopProportionPageVo;
import com.ruoyi.system.api.domain.poji.shop.Shop;
import com.ruoyi.shop.domain.dto.MgtShopPageDto;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.ruoyi.shop.domain.vo.MgtShopPageVo;
import com.ruoyi.shop.domain.vo.MgtShopProportionPageVo;
import com.ruoyi.system.api.domain.dto.MgtShopIdByCodeDto;
import com.ruoyi.system.api.domain.poji.shop.Shop;
import org.apache.ibatis.annotations.Param;
import java.util.List;
@@ -66,4 +67,13 @@
     * @return  void
     */
    void deleteShopTag(String shopTag);
    /**
     * @description  通过code获取shopId
     * @author  jqs
     * @date    2023/6/9 16:40
     * @param mgtShopIdByCodeDto
     * @return  MgtShopIdByCodeVo
     */
    List<Long> getShopIdByCode(@Param("param")MgtShopIdByCodeDto mgtShopIdByCodeDto);
}
ruoyi-modules/ruoyi-shop/src/main/java/com/ruoyi/shop/mapper/shop/ShopSuggestMapper.java
@@ -25,4 +25,15 @@
     * @return
     */
    List<MerShopSuggestVo> pageMerShopSuggest(Page page, @Param("param") MerPageDto merPageDto);
    /**
     * @description  删除商户建议标签
     * @author  jqs
     * @date    2023/6/9 10:18
     * @param suggestTag
     * @return  void
     */
    void deleteShopSuggestTag(String suggestTag);
}
ruoyi-modules/ruoyi-shop/src/main/java/com/ruoyi/shop/service/impl/shop/ShopServiceImpl.java
@@ -17,18 +17,19 @@
import com.ruoyi.shop.service.task.ShopFileService;
import com.ruoyi.system.api.constant.AppErrorConstant;
import com.ruoyi.system.api.domain.dto.AppMemberBindingDto;
import com.ruoyi.system.api.domain.dto.MgtShopIdByCodeDto;
import com.ruoyi.system.api.domain.poji.config.SysTag;
import com.ruoyi.system.api.domain.poji.member.Member;
import com.ruoyi.system.api.domain.poji.shop.Shop;
import com.ruoyi.system.api.domain.poji.sys.SysUser;
import com.ruoyi.system.api.domain.vo.MerHomeShopTotalVo;
import com.ruoyi.system.api.domain.vo.MgtShopIdByCodeVo;
import com.ruoyi.system.api.service.RemoteConfigService;
import com.ruoyi.system.api.service.RemoteMemberService;
import com.ruoyi.system.api.service.RemoteOrderService;
import com.ruoyi.system.api.service.RemoteUserService;
import org.springframework.beans.BeanUtils;
import org.springframework.stereotype.Service;
import javax.annotation.Resource;
import java.math.BigDecimal;
@@ -38,6 +39,7 @@
import java.util.List;
import java.util.Objects;
import java.util.StringJoiner;
import java.util.stream.Collectors;
/**
 * <p>
@@ -518,4 +520,24 @@
    public void deleteShopTag(String shopTag){
        shopMapper.deleteShopTag(shopTag);
    }
    /**
     * @description  通过code获取shopId
     * @author  jqs
     * @date    2023/6/9 16:40
     * @param mgtShopIdByCodeDto
     * @return  MgtShopIdByCodeVo
     */
    @Override
    public MgtShopIdByCodeVo getShopIdByCode(MgtShopIdByCodeDto mgtShopIdByCodeDto){
        MgtShopIdByCodeVo mgtShopIdByCodeVo = new MgtShopIdByCodeVo();
        List<Long> shopIdList = shopMapper.getShopIdByCode(mgtShopIdByCodeDto);
        if(shopIdList!=null&&!shopIdList.isEmpty()){
            String shopIdStr = shopIdList.stream()
                    .map(Object::toString)
                    .collect(Collectors.joining(","));
            mgtShopIdByCodeVo.setShopIds(shopIdStr);
        }
        return mgtShopIdByCodeVo;
    }
}
ruoyi-modules/ruoyi-shop/src/main/java/com/ruoyi/shop/service/impl/shop/ShopSuggestServiceImpl.java
@@ -3,7 +3,6 @@
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.shop.domain.dto.MerShopSuggestDto;
import com.ruoyi.shop.domain.pojo.shop.ShopSuggest;
import com.ruoyi.shop.domain.vo.MerShopSuggestVo;
@@ -42,7 +41,7 @@
    }
    /**
     *
     * 建议
     * @param merShopSuggestDto
     */
    @Override
@@ -55,4 +54,16 @@
        shopSuggest.setCreateTime(new Date());
        this.save(shopSuggest);
    }
    /**
     * @description  删除商户建议标签
     * @author  jqs
     * @date    2023/6/9 10:18
     * @param suggestTag
     * @return  void
     */
    @Override
    public void deleteShopSuggestTag(String suggestTag){
    }
}
ruoyi-modules/ruoyi-shop/src/main/java/com/ruoyi/shop/service/shop/ShopService.java
@@ -3,10 +3,12 @@
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.ruoyi.shop.domain.dto.*;
import com.ruoyi.shop.domain.vo.*;
import com.ruoyi.system.api.domain.dto.MgtShopIdByCodeDto;
import com.ruoyi.system.api.domain.poji.shop.Shop;
import com.baomidou.mybatisplus.extension.service.IService;
import com.ruoyi.system.api.domain.poji.member.Member;
import com.ruoyi.system.api.domain.vo.MerHomeShopTotalVo;
import com.ruoyi.system.api.domain.vo.MgtShopIdByCodeVo;
import java.util.List;
@@ -109,4 +111,13 @@
     * @return  void
     */
    void deleteShopTag(String shopTag);
    /**
     * @description  通过code获取shopId
     * @author  jqs
     * @date    2023/6/9 16:40
     * @param mgtShopIdByCodeDto
     * @return  MgtShopIdByCodeVo
     */
    MgtShopIdByCodeVo getShopIdByCode(MgtShopIdByCodeDto mgtShopIdByCodeDto);
}
ruoyi-modules/ruoyi-shop/src/main/java/com/ruoyi/shop/service/shop/ShopSuggestService.java
@@ -33,6 +33,12 @@
     */
    void suggest(MerShopSuggestDto merShopSuggestDto);
    void deleteShopSuggestTag( String tag);
    /**
     * @description  删除商户建议标签
     * @author  jqs
     * @date    2023/6/9 10:18
     * @param suggestTag
     * @return  void
     */
    void deleteShopSuggestTag(String suggestTag);
}
ruoyi-modules/ruoyi-shop/src/main/resources/mapper/shop/ShopMapper.xml
@@ -383,6 +383,7 @@
            AND (ts.shop_name LIKE CONCAT('%',#{param.keyword},'%') OR ts.shopowner_name LIKE CONCAT('%',#{param.keyword},'%')
            OR ts.shopowner_phone LIKE CONCAT('%',#{param.keyword},'%') OR ts.shopNumber LIKE CONCAT('%',#{param.keyword},'%'))
        </if>
        ORDER BY ts.create_time DESC
    </select>
@@ -410,6 +411,7 @@
        <if test="param.endCooperDate!=null and param.endCooperDate!=''">
            AND ts.cooperation_end_time &lt;= #{param.endCooperDate}
        </if>
        ORDER BY ts.create_time
    </select>
    <select id="getNearbyShop"  resultType="com.ruoyi.shop.domain.vo.AppNearShopVo">
@@ -441,4 +443,20 @@
        UPDATE t_shop SET shop_tags = TRIM(BOTH ',' FROM REPLACE(CONCAT(',', shop_tags, ','), CONCAT(',',#{shopTag},','), ','))
        WHERE FIND_IN_SET(#{shopTag}, shop_tags) &gt; 0
    </update>
    <select id="getShopIdByCode" resultType="java.lang.Long">
        SELECT
        shop_id
        FROM t_shop
        WHERE del_flag = 0
        <if test="param.shopProvinceCode!=null and param.shopProvinceCode!=''">
            AND ts.shop_province_code = #{param.shopProvinceCode}
        </if>
        <if test="param.shopCityCode!=null and param.shopCityCode!=''">
            AND ts.shop_city_code = #{param.shopCityCode}
        </if>
        <if test="param.shopAreaCode!=null and param.shopAreaCode!=''">
            AND ts.shop_area_code = #{param.shopAreaCode}
        </if>
    </select>
</mapper>
ruoyi-modules/ruoyi-shop/src/main/resources/mapper/shop/ShopSuggestMapper.xml
@@ -11,4 +11,9 @@
        t_shop_suggest
        WHERE del_flag = 0 AND shop_id = #{param.shopId}
    </select>
    <update id="deleteShopSuggestTag">
        UPDATE t_shop_suggest SET suggest_tags = TRIM(BOTH ',' FROM REPLACE(CONCAT(',', suggest_tags, ','), CONCAT(',',#{suggestTag},','), ','))
        WHERE FIND_IN_SET(#{suggestTag}, suggest_tags) &gt; 0
    </update>
</mapper>
ruoyi-modules/ruoyi-system/pom.xml
@@ -114,6 +114,11 @@
            <scope>test</scope>
        </dependency>
        <dependency>
            <groupId>org.apache.velocity</groupId>
            <artifactId>velocity-engine-core</artifactId>
            <version>2.3</version>
        </dependency>
    </dependencies>
    <build>
ruoyi-modules/ruoyi-system/src/main/java/com/ruoyi/system/controller/GeneratorMybatisPlus.java
New file
@@ -0,0 +1,87 @@
package com.ruoyi.system.controller;
import com.baomidou.mybatisplus.generator.AutoGenerator;
import com.baomidou.mybatisplus.generator.config.DataSourceConfig;
import com.baomidou.mybatisplus.generator.config.GlobalConfig;
import com.baomidou.mybatisplus.generator.config.PackageConfig;
import com.baomidou.mybatisplus.generator.config.StrategyConfig;
import com.baomidou.mybatisplus.generator.config.converts.MySqlTypeConvert;
import com.baomidou.mybatisplus.generator.config.rules.DbType;
import com.baomidou.mybatisplus.generator.config.rules.NamingStrategy;
public class GeneratorMybatisPlus {
    private static final boolean RUN_GENERATOR = true;
    public static void main(String[] args) {
        if(!RUN_GENERATOR){
            return;
        }
        // 代码生成器
        AutoGenerator autoGenerator = new AutoGenerator();
        // 全局配置
        GlobalConfig globalConfig = new GlobalConfig();
        //生成文件的输出目录
        String path="D:/hrt";
        globalConfig.setOutputDir(path);
        // Author设置作者
        globalConfig.setAuthor("mybatis-plus");
        // 文件覆盖
        globalConfig.setFileOverride(true);
        // 生成后打开文件
        globalConfig.setOpen(false);
        // 自定义文件名风格,%s自动填充表实体属性
        globalConfig.setMapperName("%sMapper");
        globalConfig.setXmlName("%sMapper");
        globalConfig.setServiceName("%sService");
        globalConfig.setServiceImplName("%sServiceImpl");
        globalConfig.setAuthor("jqs");
        // globalConfig.setEntityName("%s");
        globalConfig.setControllerName("%sController");
        autoGenerator.setGlobalConfig(globalConfig);
        // 数据源配置
        DataSourceConfig dataSourceConfig = new DataSourceConfig();
        dataSourceConfig.setDbType(DbType.MYSQL);
        dataSourceConfig.setTypeConvert(new MySqlTypeConvert());
        dataSourceConfig.setUrl("jdbc:mysql://47.109.78.184:10010/hrt_order?tinyInt1isBit=false");
        dataSourceConfig.setDriverName("com.mysql.cj.jdbc.Driver");
        dataSourceConfig.setUsername("root");
        dataSourceConfig.setPassword("hrt123456");
        autoGenerator.setDataSource(dataSourceConfig);
        // 包名配置
        PackageConfig packageConfig = new PackageConfig();
        // 父包和子包名分开处理
        packageConfig.setParent("com.ruoyi.order");
        packageConfig.setController("app");
        packageConfig.setEntity("domain.pojo");
        packageConfig.setMapper("mapper");
        packageConfig.setService("service");
        packageConfig.setServiceImpl("service.impl");
        autoGenerator.setPackageInfo(packageConfig);
        // 生成策略配置
        StrategyConfig strategy = new StrategyConfig();
        //设置命名格式
        strategy.setNaming(NamingStrategy.underline_to_camel);
        strategy.setColumnNaming(NamingStrategy.underline_to_camel);
        // 实体是否为lombok模型,默认 false
        strategy.setEntityLombokModel(true);
        //生成 @RestController 控制器
        strategy.setRestControllerStyle(true);
        // 驼峰转连字符
        strategy.setControllerMappingHyphenStyle(true);
        //表和前缀处理
        String[] table = {
                "t_back_message"
        };
        strategy.setInclude(table);
        String[] tablePre = new String[]{"t_"};
        strategy.setTablePrefix(tablePre);
        autoGenerator.setStrategy(strategy);
        // 执行,以上相关参数可以基于动态输入获取
        autoGenerator.execute();
    }
}
ruoyi-modules/ruoyi-system/src/main/java/com/ruoyi/system/controller/management/MgtConfigController.java
@@ -8,7 +8,6 @@
import com.ruoyi.system.domain.dto.*;
import com.ruoyi.system.domain.vo.*;
import com.ruoyi.system.service.config.*;
import com.ruoyi.system.service.sys.ISysOperLogService;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiOperation;
import org.springframework.web.bind.annotation.RequestBody;
@@ -59,12 +58,19 @@
    private SysClassificationService sysClassificationService;
    @Resource
    private ISysOperLogService operLogService;
    @Resource
    private SysTagService sysTagService;
    @Resource
    private ArticleService articleService;
    @RequestMapping(value = "/getCustomConfig", method = RequestMethod.POST)
    @ApiOperation(value = "获取单个配置")
    public R<MgtCustomConfigVo> getCustomConfig(@RequestBody MgtCustomConfigDto mgtCustomConfigDto) {
        Long userId = SecurityUtils.getUserId();
        mgtCustomConfigDto.setUserId(userId);
        MgtCustomConfigVo mgtCustomConfigVo = customConfigService.getCustomConfig(mgtCustomConfigDto);
        return R.ok(mgtCustomConfigVo);
    }
    @RequestMapping(value = "/editCooperation", method = RequestMethod.POST)
    @ApiOperation(value = "修改申请合作")
@@ -210,11 +216,11 @@
        return R.ok();
    }
    @RequestMapping(value = "/getCustomConfig", method = RequestMethod.POST)
    @ApiOperation(value = "获取自定义设置")
    public R<MgtCustomConfigVo> getCustomConfig() {
        MgtCustomConfigVo mgtCustomConfigVo = customConfigService.getCustomConfig();
        return R.ok(mgtCustomConfigVo);
    @RequestMapping(value = "/getAllCustomConfig", method = RequestMethod.POST)
    @ApiOperation(value = "获取全部自定义设置")
    public R<MgtAllCustomConfigVo> getAllCustomConfig() {
        MgtAllCustomConfigVo mgtAllCustomConfigVo = customConfigService.getAllCustomConfig();
        return R.ok(mgtAllCustomConfigVo);
    }
    @RequestMapping(value = "/editOtherConfig", method = RequestMethod.POST)
@@ -228,6 +234,13 @@
    @ApiOperation(value = "修改合作商配置")
    public R editShopConfig(@RequestBody MgtShopConfigEditDto mgtShopConfigEditDto) {
        customConfigService.editShopConfig(mgtShopConfigEditDto);
        return R.ok();
    }
    @RequestMapping(value = "/editMemberConfig", method = RequestMethod.POST)
    @ApiOperation(value = "修改合作商配置")
    public R editMemberConfig(@RequestBody MgtMemberConfigEditDto mgtMemberConfigEditDto) {
        customConfigService.editMemberConfig(mgtMemberConfigEditDto);
        return R.ok();
    }
@@ -300,7 +313,7 @@
    }
    @RequestMapping(value = "/editTag", method = RequestMethod.POST)
    @ApiOperation(value = "修改分类")
    @ApiOperation(value = "修改标签")
    public R editTag(@RequestBody MgtTagEditDto mgtTagEditDto) {
        mgtTagEditDto.setUserId(SecurityUtils.getUserId());
        sysTagService.editTag(mgtTagEditDto);
@@ -314,4 +327,34 @@
        sysTagService.deleteTag(Long.valueOf(mgtBaseGetDto.getId()));
        return R.ok();
    }
    @RequestMapping(value = "/pageArticle", method = RequestMethod.POST)
    @ApiOperation(value = "分页获取标签列表")
    public R<Page<MgtArticlePageVo>> pageArticle(@RequestBody MgtArticlePageDto mgtArticlePageDto) {
        Long userId = SecurityUtils.getUserId();
        mgtArticlePageDto.setUserId(userId);
        Page<MgtArticlePageVo> page = new Page<>();
        page.setSize(mgtArticlePageDto.getPageSize());
        page.setCurrent(mgtArticlePageDto.getPageNum());
        List<MgtArticlePageVo> mgtArticlePageVoList = articleService.pageArticle(page, mgtArticlePageDto);
        return R.ok(page.setRecords(mgtArticlePageVoList));
    }
    @RequestMapping(value = "/editArticle", method = RequestMethod.POST)
    @ApiOperation(value = "修改文章")
    public R editArticle(@RequestBody MgtArticleEditDto mgtArticleEditDto) {
        mgtArticleEditDto.setUserId(SecurityUtils.getUserId());
        articleService.editMgtArticle(mgtArticleEditDto);
        return R.ok();
    }
    @RequestMapping(value = "/deleteArticle", method = RequestMethod.POST)
    @ApiOperation(value = "删除文章")
    public R deleteArticle(@RequestBody MgtBaseGetDto mgtBaseGetDto) {
        mgtBaseGetDto.setUserId(SecurityUtils.getUserId());
        articleService.deleteArticle(mgtBaseGetDto);
        return R.ok();
    }
}
ruoyi-modules/ruoyi-system/src/main/java/com/ruoyi/system/domain/dto/MgtArticleEditDto.java
New file
@@ -0,0 +1,43 @@
package com.ruoyi.system.domain.dto;
import com.ruoyi.system.api.domain.dto.MgtBaseDto;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import java.util.Date;
/**
 * @ClassName MgtArticleEditDto
 * @Description TODO
 * @Author jqs
 * @Date 2023/6/9 11:30
 * @Version 1.0
 */
@Data
public class MgtArticleEditDto extends MgtBaseDto {
    @ApiModelProperty(value = "文章id 新建不传")
    private Long articleId;
    @ApiModelProperty(value = "文章分类id")
    private Long classId;
    @ApiModelProperty(value = "文章排序")
    private Integer articleSort;
    @ApiModelProperty(value = "文章标题")
    private String articleTitle;
    @ApiModelProperty(value = "文章详情")
    private String articleDetail;
    @ApiModelProperty(value = "文章封面")
    private String articleCover;
    @ApiModelProperty(value = "文章标题")
    private Date createTime;
    @ApiModelProperty(value = "文章视频")
    private String articleVideo;
}
ruoyi-modules/ruoyi-system/src/main/java/com/ruoyi/system/domain/dto/MgtArticlePageDto.java
New file
@@ -0,0 +1,27 @@
package com.ruoyi.system.domain.dto;
import com.ruoyi.system.api.domain.dto.MgtPageDto;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import java.util.Date;
/**
 * @ClassName MgtArticlePageDto
 * @Description TODO
 * @Author jqs
 * @Date 2023/6/9 10:51
 * @Version 1.0
 */
@Data
public class MgtArticlePageDto extends MgtPageDto {
    @ApiModelProperty(value = "文章标题")
    private String articleTitle;
    @ApiModelProperty(value = "创建开始时间")
    private Date createStartTime;
    @ApiModelProperty(value = "创建结束时间")
    private Date createEndTime;
}
ruoyi-modules/ruoyi-system/src/main/java/com/ruoyi/system/domain/dto/MgtCustomConfigDto.java
New file
@@ -0,0 +1,27 @@
package com.ruoyi.system.domain.dto;
import com.ruoyi.system.api.domain.dto.MgtBaseDto;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
/**
 * @ClassName MgtCustomConfigDto
 * @Description TODO
 * @Author jqs
 * @Date 2023/6/9 15:35
 * @Version 1.0
 */
@Data
public class MgtCustomConfigDto extends MgtBaseDto {
    @ApiModelProperty(value = "SHOP_EMERGENCY_DEGREE:合作商任务紧急程度 " +
            "SHOP_FOLLOW_TYPE:合作商跟进类型" +
            "SHOP_CUSTOM_STATUS:合作商状态" +
            "SHOP_SOURCE_CHANNEL:来源渠道" +
            "MEMBER_SOURCE_CHANNEL:会员来源" +
            "MEMBER_CHARACTER:会员性格" +
            "MEMBER_LEVEL:会员等级" +
            "MEMBER_TYPE:会员类型" +
            "NURSE_PROBLEM:调理问题")
    private String configType;
}
ruoyi-modules/ruoyi-system/src/main/java/com/ruoyi/system/domain/pojo/config/Article.java
@@ -1,16 +1,16 @@
package com.ruoyi.system.domain.pojo.config;
import com.baomidou.mybatisplus.annotation.IdType;
import java.util.Date;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.activerecord.Model;
import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import java.io.Serializable;
import lombok.Data;
import lombok.EqualsAndHashCode;
import lombok.experimental.Accessors;
import java.io.Serializable;
import java.util.Date;
/**
 * <p>
@@ -37,12 +37,12 @@
     * 删除标记
     */
    @TableField("del_flag")
    private String delFlag;
    private Integer delFlag;
    /**
     * 分类id
     */
    @TableField("class_id")
    private Integer classId;
    private Long classId;
    /**
     * 文章排序
     */
@@ -77,7 +77,7 @@
     * 创建用户id
     */
    @TableField("create_user_id")
    private Integer createUserId;
    private Long createUserId;
    /**
     * 更新时间
     */
@@ -87,7 +87,7 @@
     * 更新用户id
     */
    @TableField("update_user_id")
    private Integer updateUserId;
    private Long updateUserId;
    @Override
ruoyi-modules/ruoyi-system/src/main/java/com/ruoyi/system/domain/vo/MgtAllCustomConfigVo.java
New file
@@ -0,0 +1,89 @@
package com.ruoyi.system.domain.vo;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import java.util.List;
/**
 * @ClassName MgtOtherConfigVo
 * @Description TODO
 * @Author jqs
 * @Date 2023/6/7 13:58
 * @Version 1.0
 */
@Data
public class MgtAllCustomConfigVo {
    @ApiModelProperty(value = "分享小程序可获得积分")
    private Integer shareIntegral;
    @ApiModelProperty(value = "平台建议可获得积分")
    private Integer suggestPlatformIntegral;
    @ApiModelProperty(value = "每日签到可获得积分")
    private Integer signInIntegral;
    @ApiModelProperty(value = "门店建议可获得积分")
    private Integer suggestShopIntegral;
    @ApiModelProperty(value = "购物满1元可获得积分")
    private Integer payMoneyIntegral;
    @ApiModelProperty(value = "C端订单自动取消时间")
    private Integer orderAutoCancelTime;
    @ApiModelProperty(value = "首页风格1.鸿瑞堂2.古引坊")
    private Integer homeStyle;
    @ApiModelProperty(value = "合作商任务紧急程度")
    private String shopEmergencyDegree;
    @ApiModelProperty(value = "合作商跟进类型")
    private String shopFollowType;
    @ApiModelProperty(value = "合作商状态")
    private String shopCustomStatus;
    @ApiModelProperty(value = "来源渠道")
    private String shopSourceChannel;
    @ApiModelProperty(value = "会员来源")
    private String memberSourceChannel;
    @ApiModelProperty(value = "会员性格")
    private String memberCharacter;
    @ApiModelProperty(value = "会员等级")
    private String memberLevel;
    @ApiModelProperty(value = "会员类型")
    private String memberType;
    @ApiModelProperty(value = "调理问题")
    private String nurseProblem;
    @ApiModelProperty(value = "首页广告语")
    private String homeSlogan;
    @ApiModelProperty(value = "首页logo")
    private String homeLogo;
    @ApiModelProperty(value = "广告图片")
    private String adUrl;
    @ApiModelProperty(value = "链接类型1.外部2.内部3.无")
    private Integer targetType;
    @ApiModelProperty(value = "链接地址")
    private String linkUrl;
    @ApiModelProperty(value = "跳转类型1.门店详情2.秒杀活动3领券中心4.商城列表5.关于洪瑞堂")
    private Integer jumpType;
    @ApiModelProperty(value = "跳转id")
    private String jumpId;
    @ApiModelProperty(value = "活跃度list")
    private List<MgtActivenessVo> mgtActivenessVoList;
}
ruoyi-modules/ruoyi-system/src/main/java/com/ruoyi/system/domain/vo/MgtArticlePageVo.java
New file
@@ -0,0 +1,35 @@
package com.ruoyi.system.domain.vo;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import java.util.Date;
/**
 * @ClassName MgtArticlePageVo
 * @Description TODO
 * @Author jqs
 * @Date 2023/6/9 10:57
 * @Version 1.0
 */
@Data
public class MgtArticlePageVo {
    @ApiModelProperty(value = "文章id")
    private Long articleId;
    @ApiModelProperty(value = "文章分类")
    private String className;
    @ApiModelProperty(value = "文章排序")
    private Integer articleSort;
    @ApiModelProperty(value = "文章标题")
    private String articleTitle;
    @ApiModelProperty(value = "文章封面")
    private String articleCover;
    @ApiModelProperty(value = "文章标题")
    private Date createTime;
}
ruoyi-modules/ruoyi-system/src/main/java/com/ruoyi/system/domain/vo/MgtCustomConfigVo.java
@@ -3,87 +3,31 @@
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import java.util.List;
/**
 * @ClassName MgtOtherConfigVo
 * @ClassName MgtCustomConfigVo
 * @Description TODO
 * @Author jqs
 * @Date 2023/6/7 13:58
 * @Date 2023/6/9 15:14
 * @Version 1.0
 */
@Data
public class MgtCustomConfigVo {
    @ApiModelProperty(value = "分享小程序可获得积分")
    private Integer shareIntegral;
    @ApiModelProperty(value = "平台建议可获得积分")
    private Integer suggestPlatformIntegral;
    @ApiModelProperty(value = "每日签到可获得积分")
    private Integer signInIntegral;
    @ApiModelProperty(value = "SHOP_EMERGENCY_DEGREE:合作商任务紧急程度 " +
                                "SHOP_FOLLOW_TYPE:合作商跟进类型" +
                                "SHOP_CUSTOM_STATUS:合作商状态" +
                                "SHOP_SOURCE_CHANNEL:来源渠道" +
                                "MEMBER_SOURCE_CHANNEL:会员来源" +
                                "MEMBER_CHARACTER:会员性格" +
                                "MEMBER_LEVEL:会员等级" +
                                "MEMBER_TYPE:会员类型" +
                                "NURSE_PROBLEM:调理问题")
    private String configType;
    @ApiModelProperty(value = "门店建议可获得积分")
    private Integer suggestShopIntegral;
    @ApiModelProperty(value = "自定义配置")
    private String customConfig;
    @ApiModelProperty(value = "购物满1元可获得积分")
    private Integer payMoneyIntegral;
    @ApiModelProperty(value = "C端订单自动取消时间")
    private Integer orderAutoCancelTime;
    @ApiModelProperty(value = "首页风格1.鸿瑞堂2.古引坊")
    private Integer homeStyle;
    @ApiModelProperty(value = "合作商任务紧急程度")
    private String shopEmergencyDegree;
    @ApiModelProperty(value = "合作商跟进类型")
    private String shopFollowType;
    @ApiModelProperty(value = "合作商状态")
    private String shopCustomStatus;
    @ApiModelProperty(value = "来源渠道")
    private String shopSourceChannel;
    @ApiModelProperty(value = "会员来源")
    private String memberSourceChannel;
    @ApiModelProperty(value = "会员性格")
    private String memberCharacter;
    @ApiModelProperty(value = "会员等级")
    private String memberLevel;
    @ApiModelProperty(value = "会员类型")
    private String memberType;
    @ApiModelProperty(value = "调理问题")
    private String nurseProblem;
    @ApiModelProperty(value = "首页广告语")
    private String homeSlogan;
    @ApiModelProperty(value = "首页logo")
    private String homeLogo;
    @ApiModelProperty(value = "广告图片")
    private String adUrl;
    @ApiModelProperty(value = "链接类型1.外部2.内部3.无")
    private Integer targetType;
    @ApiModelProperty(value = "链接地址")
    private String linkUrl;
    @ApiModelProperty(value = "跳转类型1.门店详情2.秒杀活动3领券中心4.商城列表5.关于洪瑞堂")
    private Integer jumpType;
    @ApiModelProperty(value = "跳转id")
    private String jumpId;
    @ApiModelProperty(value = "活跃度list")
    private List<MgtActivenessVo> mgtActivenessVoList;
}
ruoyi-modules/ruoyi-system/src/main/java/com/ruoyi/system/mapper/config/ArticleMapper.java
@@ -1,8 +1,13 @@
package com.ruoyi.system.mapper.config;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.ruoyi.system.domain.dto.MgtArticlePageDto;
import com.ruoyi.system.domain.pojo.config.Article;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.ruoyi.system.domain.vo.MgtArticlePageVo;
import org.apache.ibatis.annotations.Param;
import java.util.List;
/**
 * <p>
@@ -22,4 +27,14 @@
     * @return  void
     */
    void deleteArticleClass(@Param("classId") Long classId);
    /**
     * @description  分页获取文章列表
     * @author  jqs
     * @date    2023/6/9 11:08
     * @param page
     * @param mgtArticlePageDto
     * @return  List<MgtArticlePageVo>
     */
    List<MgtArticlePageVo> pageArticle(Page page,@Param("param") MgtArticlePageDto mgtArticlePageDto);
}
ruoyi-modules/ruoyi-system/src/main/java/com/ruoyi/system/mapper/config/StaffSuggestMapper.java
@@ -13,4 +13,12 @@
 */
public interface StaffSuggestMapper extends BaseMapper<StaffSuggest> {
    /**
     * @description  删除员工建议标签
     * @author  jqs
     * @date    2023/6/9 10:24
     * @param suggestTag
     * @return  void
     */
    void deleteStaffSuggestTag(String suggestTag);
}
ruoyi-modules/ruoyi-system/src/main/java/com/ruoyi/system/service/config/ArticleService.java
@@ -1,7 +1,14 @@
package com.ruoyi.system.service.config;
import com.ruoyi.system.domain.pojo.config.Article;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.baomidou.mybatisplus.extension.service.IService;
import com.ruoyi.system.api.domain.dto.MgtBaseGetDto;
import com.ruoyi.system.domain.dto.MgtArticleEditDto;
import com.ruoyi.system.domain.dto.MgtArticlePageDto;
import com.ruoyi.system.domain.pojo.config.Article;
import com.ruoyi.system.domain.vo.MgtArticlePageVo;
import java.util.List;
/**
 * <p>
@@ -22,4 +29,31 @@
     */
    void deleteArticleClass(Long classId);
    /**
     * @description  分页获取文章列表
     * @author  jqs
     * @date    2023/6/9 11:08
     * @param page
     * @param mgtArticlePageDto
     * @return  List<MgtArticlePageVo>
     */
    List<MgtArticlePageVo> pageArticle(Page page, MgtArticlePageDto mgtArticlePageDto);
    /**
     * @description  修改文章
     * @author  jqs
     * @date    2023/6/9 11:45
     * @param mgtArticleEditDto
     * @return  void
     */
    void editMgtArticle(MgtArticleEditDto mgtArticleEditDto);
    /**
     * @description  删除文章
     * @author  jqs
     * @date    2023/6/9 15:06
     * @param mgtBaseGetDto
     * @return  void
     */
    void deleteArticle(MgtBaseGetDto mgtBaseGetDto);
}
ruoyi-modules/ruoyi-system/src/main/java/com/ruoyi/system/service/config/CustomConfigService.java
@@ -4,6 +4,7 @@
import com.baomidou.mybatisplus.extension.service.IService;
import com.ruoyi.system.domain.dto.*;
import com.ruoyi.system.domain.pojo.config.CustomConfig;
import com.ruoyi.system.domain.vo.MgtAllCustomConfigVo;
import com.ruoyi.system.domain.vo.MgtCustomConfigVo;
import com.ruoyi.system.domain.vo.MgtOperLogPageVo;
@@ -44,7 +45,7 @@
     * @param
     * @return  MgtCustomConfigVo
     */
    MgtCustomConfigVo getCustomConfig();
    MgtAllCustomConfigVo getAllCustomConfig();
    /**
     * @description  修改其他设置
@@ -84,5 +85,13 @@
     */
    List<MgtOperLogPageVo> pageOperLog(Page page, MgtOperLogPageDto mgtOperLogPageDto);
    /**
     * @description  获取单个自定义配置
     * @author  jqs
     * @date    2023/6/9 15:40
     * @param mgtCustomConfigDto
     * @return  MgtCustomConfigVo
     */
    MgtCustomConfigVo getCustomConfig(MgtCustomConfigDto mgtCustomConfigDto);
}
ruoyi-modules/ruoyi-system/src/main/java/com/ruoyi/system/service/config/StaffSuggestService.java
@@ -13,4 +13,12 @@
 */
public interface StaffSuggestService extends IService<StaffSuggest> {
    /**
     * @description  删除员工建议标签
     * @author  jqs
     * @date    2023/6/9 10:24
     * @param suggestTag
     * @return  void
     */
    void deleteStaffSuggestTag(String suggestTag);
}
ruoyi-modules/ruoyi-system/src/main/java/com/ruoyi/system/service/impl/config/ArticleServiceImpl.java
@@ -1,12 +1,22 @@
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.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import com.ruoyi.common.core.exception.ServiceException;
import com.ruoyi.system.api.constant.AppErrorConstant;
import com.ruoyi.system.api.domain.dto.MgtBaseGetDto;
import com.ruoyi.system.domain.dto.MgtArticleEditDto;
import com.ruoyi.system.domain.dto.MgtArticlePageDto;
import com.ruoyi.system.domain.pojo.config.Article;
import com.ruoyi.system.domain.vo.MgtArticlePageVo;
import com.ruoyi.system.mapper.config.ArticleMapper;
import com.ruoyi.system.service.config.ArticleService;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import org.springframework.stereotype.Service;
import javax.annotation.Resource;
import java.util.Date;
import java.util.List;
/**
 * <p>
@@ -33,4 +43,70 @@
    public void deleteArticleClass(Long classId){
        articleMapper.deleteArticleClass(classId);
    }
    /**
     * @description  分页获取文章列表
     * @author  jqs
     * @date    2023/6/9 11:08
     * @param page
     * @param mgtArticlePageDto
     * @return  List<MgtArticlePageVo>
     */
    @Override
    public List<MgtArticlePageVo> pageArticle(Page page, MgtArticlePageDto mgtArticlePageDto){
        return articleMapper.pageArticle(page, mgtArticlePageDto);
    }
    /**
     * @description  修改文章
     * @author  jqs
     * @date    2023/6/9 11:45
     * @param mgtArticleEditDto
     * @return  void
     */
    @Override
    public void editMgtArticle(MgtArticleEditDto mgtArticleEditDto){
        Article article;
        Article articleSame = this.getOne(new LambdaQueryWrapper<Article>().eq(Article::getDelFlag,0).eq(Article::getArticleTitle,mgtArticleEditDto.getArticleTitle()),false);
        if(mgtArticleEditDto.getArticleId()!=null){
            if(articleSame!=null&&!articleSame.getArticleId().equals(mgtArticleEditDto.getArticleId())){
                throw new ServiceException(AppErrorConstant.ARTICLE_DOUBLE);
            }
            article = this.getById(mgtArticleEditDto.getArticleId());
        }else{
            if(articleSame!=null){
                throw new ServiceException(AppErrorConstant.ARTICLE_DOUBLE);
            }
            article = new Article();
            article.setDelFlag(0);
            article.setCreateTime(new Date());
            article.setCreateUserId(mgtArticleEditDto.getUserId());
        }
        article.setClassId(mgtArticleEditDto.getClassId());
        article.setArticleSort(mgtArticleEditDto.getArticleSort());
        article.setArticleTitle(mgtArticleEditDto.getArticleTitle());
        article.setArticleDetail(mgtArticleEditDto.getArticleDetail());
        article.setArticleCover(mgtArticleEditDto.getArticleCover());
        article.setArticleVideo(mgtArticleEditDto.getArticleVideo());
        article.setUpdateTime(new Date());
        article.setUpdateUserId(mgtArticleEditDto.getUserId());
        this.saveOrUpdate(article);
    }
    /**
     * @description  删除文章
     * @author  jqs
     * @date    2023/6/9 15:06
     * @param mgtBaseGetDto
     * @return  void
     */
    @Override
    public void deleteArticle(MgtBaseGetDto mgtBaseGetDto){
        Article article = this.getById(Long.valueOf(mgtBaseGetDto.getId()));
        article.setDelFlag(1);
        article.setUpdateTime(new Date());
        article.setUpdateUserId(mgtBaseGetDto.getUserId());
        this.saveOrUpdate(article);
    }
}
ruoyi-modules/ruoyi-system/src/main/java/com/ruoyi/system/service/impl/config/CustomConfigServiceImpl.java
@@ -9,6 +9,7 @@
import com.ruoyi.system.domain.pojo.config.Advert;
import com.ruoyi.system.domain.pojo.config.CustomConfig;
import com.ruoyi.system.domain.vo.MgtActivenessVo;
import com.ruoyi.system.domain.vo.MgtAllCustomConfigVo;
import com.ruoyi.system.domain.vo.MgtCustomConfigVo;
import com.ruoyi.system.domain.vo.MgtOperLogPageVo;
import com.ruoyi.system.mapper.config.CustomConfigMapper;
@@ -89,8 +90,8 @@
     * @date 2023/6/7 15:02
     */
    @Override
    public MgtCustomConfigVo getCustomConfig() {
        MgtCustomConfigVo mgtCustomConfigVo = new MgtCustomConfigVo();
    public MgtAllCustomConfigVo getAllCustomConfig() {
        MgtAllCustomConfigVo mgtAllCustomConfigVo = new MgtAllCustomConfigVo();
        //获取自定义配置
        List<CustomConfig> customConfigList = customConfigMapper.selectList(new LambdaQueryWrapper<CustomConfig>().eq(CustomConfig::getDelFlag, 0));
        Optional.ofNullable(customConfigList).ifPresent(list -> {
@@ -99,52 +100,52 @@
            configMap.forEach((key, value) -> {
                switch (key) {
                    case "SHARE_INTEGRAL":
                        mgtCustomConfigVo.setShareIntegral(Integer.valueOf(value.getValue()));
                        mgtAllCustomConfigVo.setShareIntegral(Integer.valueOf(value.getValue()));
                        break;
                    case "SUGGEST_PLATFORM_INTEGRAL":
                        mgtCustomConfigVo.setSuggestPlatformIntegral(Integer.valueOf(value.getValue()));
                        mgtAllCustomConfigVo.setSuggestPlatformIntegral(Integer.valueOf(value.getValue()));
                        break;
                    case "SIGN_IN_INTEGRAL":
                        mgtCustomConfigVo.setSignInIntegral(Integer.valueOf(value.getValue()));
                        mgtAllCustomConfigVo.setSignInIntegral(Integer.valueOf(value.getValue()));
                        break;
                    case "SUGGEST_SHOP_INTEGRAL":
                        mgtCustomConfigVo.setSuggestShopIntegral(Integer.valueOf(value.getValue()));
                        mgtAllCustomConfigVo.setSuggestShopIntegral(Integer.valueOf(value.getValue()));
                        break;
                    case "PAY_MONEY_INTEGRAL":
                        mgtCustomConfigVo.setPayMoneyIntegral(Integer.valueOf(value.getValue()));
                        mgtAllCustomConfigVo.setPayMoneyIntegral(Integer.valueOf(value.getValue()));
                        break;
                    case "ORDER_AUTO_CANCEL_TIME":
                        mgtCustomConfigVo.setOrderAutoCancelTime(Integer.valueOf(value.getValue()));
                        mgtAllCustomConfigVo.setOrderAutoCancelTime(Integer.valueOf(value.getValue()));
                        break;
                    case "HOME_STYLE":
                        mgtCustomConfigVo.setHomeStyle(Integer.valueOf(value.getValue()));
                        mgtAllCustomConfigVo.setHomeStyle(Integer.valueOf(value.getValue()));
                        break;
                    case "SHOP_EMERGENCY_DEGREE":
                        mgtCustomConfigVo.setShopEmergencyDegree(value.getValue());
                        mgtAllCustomConfigVo.setShopEmergencyDegree(value.getValue());
                        break;
                    case "SHOP_FOLLOW_TYPE":
                        mgtCustomConfigVo.setShopFollowType(value.getValue());
                        mgtAllCustomConfigVo.setShopFollowType(value.getValue());
                        break;
                    case "SHOP_CUSTOM_STATUS":
                        mgtCustomConfigVo.setShopCustomStatus(value.getValue());
                        mgtAllCustomConfigVo.setShopCustomStatus(value.getValue());
                        break;
                    case "SHOP_SOURCE_CHANNEL":
                        mgtCustomConfigVo.setShopSourceChannel(value.getValue());
                        mgtAllCustomConfigVo.setShopSourceChannel(value.getValue());
                        break;
                    case "MEMBER_SOURCE_CHANNEL":
                        mgtCustomConfigVo.setMemberSourceChannel(value.getValue());
                        mgtAllCustomConfigVo.setMemberSourceChannel(value.getValue());
                        break;
                    case "MEMBER_CHARACTER":
                        mgtCustomConfigVo.setMemberCharacter(value.getValue());
                        mgtAllCustomConfigVo.setMemberCharacter(value.getValue());
                        break;
                    case "MEMBER_LEVEL":
                        mgtCustomConfigVo.setMemberLevel(value.getValue());
                        mgtAllCustomConfigVo.setMemberLevel(value.getValue());
                        break;
                    case "MEMBER_TYPE":
                        mgtCustomConfigVo.setMemberType(value.getValue());
                        mgtAllCustomConfigVo.setMemberType(value.getValue());
                        break;
                    case "NURSE_PROBLEM":
                        mgtCustomConfigVo.setNurseProblem(value.getValue());
                        mgtAllCustomConfigVo.setNurseProblem(value.getValue());
                        break;
                    default:
                        break;
@@ -154,13 +155,13 @@
        //获取广告配置
        Advert advert = advertService.getAdvert();
        if (advert != null) {
            mgtCustomConfigVo.setHomeSlogan(advert.getAdContent());
            mgtCustomConfigVo.setHomeLogo(advert.getLogoUrl());
            mgtCustomConfigVo.setAdUrl(advert.getAdUrl());
            mgtCustomConfigVo.setTargetType(advert.getTargetType());
            mgtCustomConfigVo.setLinkUrl(advert.getLinkUrl());
            mgtCustomConfigVo.setJumpType(advert.getJumpType());
            mgtCustomConfigVo.setJumpId(advert.getJumpId());
            mgtAllCustomConfigVo.setHomeSlogan(advert.getAdContent());
            mgtAllCustomConfigVo.setHomeLogo(advert.getLogoUrl());
            mgtAllCustomConfigVo.setAdUrl(advert.getAdUrl());
            mgtAllCustomConfigVo.setTargetType(advert.getTargetType());
            mgtAllCustomConfigVo.setLinkUrl(advert.getLinkUrl());
            mgtAllCustomConfigVo.setJumpType(advert.getJumpType());
            mgtAllCustomConfigVo.setJumpId(advert.getJumpId());
        }
        //获取活跃度配置
        List<Activeness> activenessList = activenessService.listActiveness();
@@ -175,9 +176,9 @@
                        return mgtActivenessVo;
                    })
                    .collect(Collectors.toList());
            mgtCustomConfigVo.setMgtActivenessVoList(mgtActivenessVoList);
            mgtAllCustomConfigVo.setMgtActivenessVoList(mgtActivenessVoList);
        }
        return mgtCustomConfigVo;
        return mgtAllCustomConfigVo;
    }
@@ -459,4 +460,20 @@
    public List<MgtOperLogPageVo> pageOperLog(Page page, MgtOperLogPageDto mgtOperLogPageDto){
        return customConfigMapper.pageOperLog(page, mgtOperLogPageDto);
    }
    /**
     * @description  获取单个自定义配置
     * @author  jqs
     * @date    2023/6/9 15:40
     * @param mgtCustomConfigDto
     * @return  MgtCustomConfigVo
     */
    @Override
    public MgtCustomConfigVo getCustomConfig(MgtCustomConfigDto mgtCustomConfigDto){
        CustomConfig customConfig = this.getByKey(mgtCustomConfigDto.getConfigType());
        MgtCustomConfigVo mgtCustomConfigVo = new MgtCustomConfigVo();
        mgtCustomConfigVo.setCustomConfig(customConfig.getValue());
        mgtCustomConfigVo.setConfigType(mgtCustomConfigDto.getConfigType());
        return mgtCustomConfigVo;
    }
}
ruoyi-modules/ruoyi-system/src/main/java/com/ruoyi/system/service/impl/config/StaffSuggestServiceImpl.java
@@ -6,6 +6,8 @@
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import org.springframework.stereotype.Service;
import javax.annotation.Resource;
/**
 * <p>
 * 员工建议 服务实现类
@@ -17,4 +19,18 @@
@Service
public class StaffSuggestServiceImpl extends ServiceImpl<StaffSuggestMapper, StaffSuggest> implements StaffSuggestService {
    @Resource
    private StaffSuggestMapper staffSuggestMapper;
    /**
     * @description  删除员工建议标签
     * @author  jqs
     * @date    2023/6/9 10:24
     * @param suggestTag
     * @return  void
     */
    @Override
    public void deleteStaffSuggestTag(String suggestTag){
    }
}
ruoyi-modules/ruoyi-system/src/main/java/com/ruoyi/system/service/impl/config/SysTagServiceImpl.java
@@ -14,6 +14,7 @@
import com.ruoyi.system.domain.dto.MgtTagPageDto;
import com.ruoyi.system.domain.vo.MgtTagPageVo;
import com.ruoyi.system.mapper.config.SysTagMapper;
import com.ruoyi.system.service.config.StaffSuggestService;
import com.ruoyi.system.service.config.SysTagService;
import org.springframework.scheduling.annotation.Async;
import org.springframework.stereotype.Service;
@@ -45,6 +46,10 @@
    @Resource
    private RemoteMemberService remoteMemberService;
    @Resource
    private StaffSuggestService staffSuggestService;
    /**
     * 通过id获取系统标签
@@ -156,7 +161,9 @@
                remoteGoodsService.deleteGoodsTag(tagName);
                break;
            case 4:
                remoteMemberService.deleteMemberSuggestTag(tagName);
                remoteShopService.deleteShopSuggestTag(tagName);
                staffSuggestService.deleteStaffSuggestTag(tagName);
                break;
            default:
                break;
ruoyi-modules/ruoyi-system/src/main/resources/mapper/config/ArticleMapper.xml
@@ -6,4 +6,27 @@
        UPDATE t_article SET class_id = null WHERE class_id = #{classId}
    </update>
    <select id="pageArticle" resultType="com.ruoyi.system.domain.vo.MgtArticlePageVo">
        SELECT
        ta.article_id articleId,
        tsc.class_name className,
        ta.article_sort articleSort,
        ta.article_title articleTitle,
        ta.article_cover articleCover,
        ta.create_time createTime
        FROM t_article ta
        LEFT JOIN t_sys_classification tsc ON tsc.class_id = ta.class_id
        WHERE ta.del_flag = 0
        <if test="param.articleTitle!=null and param.articleTitle!=''">
            ta.article_title LIKE CONCAT('%',#{param.articleTitle},'%')
        </if>
        <if test="param.createStartTime!=null and param.createStartTime!=''">
            ta.create_time &gt;= #{createStartTime}
        </if>
        <if test="param.createEndTime!=null and param.createEndTime!=''">
            ta.create_time &lt;= #{createEndTime}
        </if>
        ORDER BY ta.create_time DESC
    </select>
</mapper>
ruoyi-modules/ruoyi-system/src/main/resources/mapper/config/RecommendCooperationMapper.xml
@@ -14,6 +14,7 @@
        <if test="param.keyword != null and param.keyword != ''">
            AND (recommended_name LIKE CONCAT('%',#{param.keyword},'%') OR recommended_phone LIKE CONCAT('%',#{param.keyword},'%'))
        </if>
        ORDER BY create_time DESC
    </select>
</mapper>
ruoyi-modules/ruoyi-system/src/main/resources/mapper/config/StaffSuggestMapper.xml
@@ -3,5 +3,10 @@
<mapper namespace="com.ruoyi.system.mapper.config.StaffSuggestMapper">
    <update id="deleteStaffSuggestTag">
        UPDATE t_staff_suggest SET suggest_tags = TRIM(BOTH ',' FROM REPLACE(CONCAT(',', suggest_tags, ','), CONCAT(',',#{suggestTag},','), ','))
        WHERE FIND_IN_SET(#{suggestTag}, suggest_tags) &gt; 0
    </update>
</mapper>
ruoyi-modules/ruoyi-system/src/main/resources/mapper/config/SysTagMapper.xml
@@ -22,6 +22,7 @@
        <if test="param.tagName!=null and param.tagName !=''">
            AND tag_name LIKE  CONCAT('%',#{param.tagName},'%')
        </if>
        ORDER BY create_time DESC
    </select>
</mapper>