jiangqs
2023-06-12 924242a73d62d247f7055ffd0dd86a2700757f5b
基础配置 管理台联调bug
12个文件已添加
35个文件已修改
1086 ■■■■ 已修改文件
ruoyi-api/ruoyi-api-system/src/main/java/com/ruoyi/system/api/constant/SecurityConstant.java 5 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-modules/ruoyi-goods/src/main/resources/mapper/goods/GoodsFileMapper.xml 8 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-modules/ruoyi-goods/src/main/resources/mapper/goods/GoodsMapper.xml 8 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-modules/ruoyi-goods/src/main/resources/mapper/goods/ShopGoodsMapper.xml 8 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-modules/ruoyi-member/src/main/java/com/ruoyi/member/domain/dto/MgtMemberIntEditDto.java 5 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-modules/ruoyi-member/src/main/java/com/ruoyi/member/domain/dto/MgtMemberRelDelDto.java 4 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-modules/ruoyi-member/src/main/java/com/ruoyi/member/domain/dto/MgtMemberRelEditDto.java 4 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-modules/ruoyi-member/src/main/java/com/ruoyi/member/service/impl/member/MemberServiceImpl.java 63 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-modules/ruoyi-order/src/main/resources/mapper/order/OrderMapper.xml 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-modules/ruoyi-shop/src/main/java/com/ruoyi/shop/controller/business/MerShopController.java 14 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-modules/ruoyi-shop/src/main/java/com/ruoyi/shop/controller/management/MgtShopController.java 38 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-modules/ruoyi-shop/src/main/java/com/ruoyi/shop/domain/dto/MgtAuditShopCertificateDto.java 25 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-modules/ruoyi-shop/src/main/java/com/ruoyi/shop/domain/dto/MgtShopCertificatePageDto.java 31 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-modules/ruoyi-shop/src/main/java/com/ruoyi/shop/domain/dto/MgtShopListDto.java 22 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-modules/ruoyi-shop/src/main/java/com/ruoyi/shop/domain/pojo/shop/ShopCertificate.java 32 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-modules/ruoyi-shop/src/main/java/com/ruoyi/shop/domain/vo/MerShopCertificateListVo.java 5 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-modules/ruoyi-shop/src/main/java/com/ruoyi/shop/domain/vo/MgtShopCertificatePageVo.java 44 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-modules/ruoyi-shop/src/main/java/com/ruoyi/shop/domain/vo/MgtShopListSimpleVo.java 22 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-modules/ruoyi-shop/src/main/java/com/ruoyi/shop/mapper/shop/ShopCertificateMapper.java 13 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-modules/ruoyi-shop/src/main/java/com/ruoyi/shop/mapper/shop/ShopMapper.java 19 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-modules/ruoyi-shop/src/main/java/com/ruoyi/shop/service/impl/shop/ShopCertificateServiceImpl.java 37 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-modules/ruoyi-shop/src/main/java/com/ruoyi/shop/service/impl/shop/ShopRelTagServiceImpl.java 21 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-modules/ruoyi-shop/src/main/java/com/ruoyi/shop/service/impl/shop/ShopServiceImpl.java 19 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-modules/ruoyi-shop/src/main/java/com/ruoyi/shop/service/impl/shop/ShopStaffServiceImpl.java 13 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-modules/ruoyi-shop/src/main/java/com/ruoyi/shop/service/shop/ShopCertificateService.java 30 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-modules/ruoyi-shop/src/main/java/com/ruoyi/shop/service/shop/ShopRelTagService.java 5 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-modules/ruoyi-shop/src/main/java/com/ruoyi/shop/service/shop/ShopService.java 9 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-modules/ruoyi-shop/src/main/java/com/ruoyi/shop/service/shop/ShopStaffService.java 3 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-modules/ruoyi-shop/src/main/resources/mapper/shop/ShopCertificateMapper.xml 30 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-modules/ruoyi-shop/src/main/resources/mapper/shop/ShopMapper.xml 14 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-modules/ruoyi-system/src/main/java/com/ruoyi/system/controller/GeneratorMybatisPlus.java 6 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-modules/ruoyi-system/src/main/java/com/ruoyi/system/controller/management/MgtConfigController.java 12 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-modules/ruoyi-system/src/main/java/com/ruoyi/system/controller/management/MgtStaffController.java 8 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-modules/ruoyi-system/src/main/java/com/ruoyi/system/domain/pojo/config/CustomConfig.java 18 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-modules/ruoyi-system/src/main/java/com/ruoyi/system/domain/pojo/config/Region.java 76 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-modules/ruoyi-system/src/main/java/com/ruoyi/system/domain/vo/MgtDeptStaffListVo.java 27 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-modules/ruoyi-system/src/main/java/com/ruoyi/system/domain/vo/RegionVo.java 35 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-modules/ruoyi-system/src/main/java/com/ruoyi/system/mapper/config/RegionMapper.java 27 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-modules/ruoyi-system/src/main/java/com/ruoyi/system/mapper/config/SysTagMapper.java 9 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-modules/ruoyi-system/src/main/java/com/ruoyi/system/service/config/RegionService.java 27 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-modules/ruoyi-system/src/main/java/com/ruoyi/system/service/impl/config/CustomConfigServiceImpl.java 82 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-modules/ruoyi-system/src/main/java/com/ruoyi/system/service/impl/config/RegionServiceImpl.java 102 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-modules/ruoyi-system/src/main/java/com/ruoyi/system/service/impl/config/SysTagServiceImpl.java 5 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-modules/ruoyi-system/src/main/resources/mapper/config/CustomConfigMapper.xml 84 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-modules/ruoyi-system/src/main/resources/mapper/config/RegionMapper.xml 9 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-modules/ruoyi-system/src/main/resources/mapper/config/SysTagMapper.xml 4 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-modules/ruoyi-system/src/main/resources/mapper/sys/SysLogininforMapper.xml 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-api/ruoyi-api-system/src/main/java/com/ruoyi/system/api/constant/SecurityConstant.java
@@ -30,4 +30,9 @@
     * 用户验证码前缀key
     */
    String WX_TOKEN = "WX_TOKEN";
    /**
     * 省市区列表key
     */
    String REGION_LIST = "REGION_LIST";
}
ruoyi-modules/ruoyi-goods/src/main/resources/mapper/goods/GoodsFileMapper.xml
@@ -2,7 +2,7 @@
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper namespace="com.ruoyi.goods.mapper.goods.GoodsFileMapper">
    <resultMap type="GoodsFile" id="GoodsFileResult">
    <resultMap type="com.ruoyi.system.api.domain.poji.goods.GoodsFile" id="GoodsFileResult">
        <result property="id"    column="id"    />
        <result property="delFlag"    column="del_flag"    />
        <result property="goodsId"    column="goods_id"    />
@@ -14,7 +14,7 @@
        select id, del_flag, goods_id, file_type, file_url from t_goods_file
    </sql>
    <select id="selectGoodsFileList" parameterType="GoodsFile" resultMap="GoodsFileResult">
    <select id="selectGoodsFileList" parameterType="com.ruoyi.system.api.domain.poji.goods.GoodsFile" resultMap="GoodsFileResult">
        <include refid="selectGoodsFileVo"/>
        <where>
            <if test="goodsId != null  and goodsId != ''"> and goods_id = #{goodsId}</if>
@@ -28,7 +28,7 @@
        where id = #{id}
    </select>
    <insert id="insertGoodsFile" parameterType="GoodsFile" useGeneratedKeys="true" keyProperty="id">
    <insert id="insertGoodsFile" parameterType="com.ruoyi.system.api.domain.poji.goods.GoodsFile" useGeneratedKeys="true" keyProperty="id">
        insert into t_goods_file
        <trim prefix="(" suffix=")" suffixOverrides=",">
            <if test="delFlag != null">del_flag,</if>
@@ -44,7 +44,7 @@
        </trim>
    </insert>
    <update id="updateGoodsFile" parameterType="GoodsFile">
    <update id="updateGoodsFile" parameterType="com.ruoyi.system.api.domain.poji.goods.GoodsFile">
        update t_goods_file
        <trim prefix="SET" suffixOverrides=",">
            <if test="delFlag != null">del_flag = #{delFlag},</if>
ruoyi-modules/ruoyi-goods/src/main/resources/mapper/goods/GoodsMapper.xml
@@ -2,7 +2,7 @@
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper namespace="com.ruoyi.goods.mapper.goods.GoodsMapper">
    <resultMap type="Goods" id="GoodsResult">
    <resultMap type="com.ruoyi.system.api.domain.poji.goods.Goods" id="GoodsResult">
        <result property="goodsId"    column="goods_id"    />
        <result property="delFlag"    column="del_flag"    />
        <result property="goodsStatus"    column="goods_status"    />
@@ -30,7 +30,7 @@
        select goods_id, del_flag, goods_status, goods_type, create_time, create_user_id, update_time, update_user_id, goods_class_id, goods_name, cycle_num_flag, service_num, goods_introduction, sales_price, mininum_price, subscription_flag, subscription, goods_detail, recommend_flag, goods_nurses, goods_tags from t_goods
    </sql>
    <select id="selectGoodsList" parameterType="Goods" resultMap="GoodsResult">
    <select id="selectGoodsList" parameterType="com.ruoyi.system.api.domain.poji.goods.Goods" resultMap="GoodsResult">
        <include refid="selectGoodsVo"/>
        <where>
            <if test="goodsStatus != null "> and goods_status = #{goodsStatus}</if>
@@ -58,7 +58,7 @@
        where goods_id = #{goodsId}
    </select>
    <insert id="insertGoods" parameterType="Goods">
    <insert id="insertGoods" parameterType="com.ruoyi.system.api.domain.poji.goods.Goods">
        insert into t_goods
        <trim prefix="(" suffix=")" suffixOverrides=",">
            <if test="goodsId != null">goods_id,</if>
@@ -108,7 +108,7 @@
        </trim>
    </insert>
    <update id="updateGoods" parameterType="Goods">
    <update id="updateGoods" parameterType="com.ruoyi.system.api.domain.poji.goods.Goods">
        update t_goods
        <trim prefix="SET" suffixOverrides=",">
            <if test="delFlag != null">del_flag = #{delFlag},</if>
ruoyi-modules/ruoyi-goods/src/main/resources/mapper/goods/ShopGoodsMapper.xml
@@ -2,7 +2,7 @@
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper namespace="com.ruoyi.goods.mapper.goods.ShopGoodsMapper">
    <resultMap type="ShopGoods" id="ShopGoodsResult">
    <resultMap type="com.ruoyi.system.api.domain.poji.goods.ShopGoods" id="ShopGoodsResult">
        <result property="id"    column="id"    />
        <result property="delFlag"    column="del_flag"    />
        <result property="shopId"    column="shop_id"    />
@@ -17,7 +17,7 @@
        select id, del_flag, shop_id, goods_id, sales_price, service_num, update_time, update_user_id from t_shop_goods
    </sql>
    <select id="selectShopGoodsList" parameterType="ShopGoods" resultMap="ShopGoodsResult">
    <select id="selectShopGoodsList" parameterType="com.ruoyi.system.api.domain.poji.goods.ShopGoods" resultMap="ShopGoodsResult">
        <include refid="selectShopGoodsVo"/>
        <where>
            <if test="shopId != null "> and shop_id = #{shopId}</if>
@@ -33,7 +33,7 @@
        where id = #{id}
    </select>
    <insert id="insertShopGoods" parameterType="ShopGoods" useGeneratedKeys="true" keyProperty="id">
    <insert id="insertShopGoods" parameterType="com.ruoyi.system.api.domain.poji.goods.ShopGoods" useGeneratedKeys="true" keyProperty="id">
        insert into t_shop_goods
        <trim prefix="(" suffix=")" suffixOverrides=",">
            <if test="delFlag != null">del_flag,</if>
@@ -55,7 +55,7 @@
        </trim>
    </insert>
    <update id="updateShopGoods" parameterType="ShopGoods">
    <update id="updateShopGoods" parameterType="com.ruoyi.system.api.domain.poji.goods.ShopGoods">
        update t_shop_goods
        <trim prefix="SET" suffixOverrides=",">
            <if test="delFlag != null">del_flag = #{delFlag},</if>
ruoyi-modules/ruoyi-member/src/main/java/com/ruoyi/member/domain/dto/MgtMemberIntEditDto.java
@@ -14,9 +14,8 @@
@Data
public class MgtMemberIntEditDto extends MgtBaseDto {
    @ApiModelProperty(value = "用户id")
    private Long memberUserId;
    @ApiModelProperty(value = "用户id 多个用,隔开")
    private String memberUserIds;
    @ApiModelProperty(value = "积分")
    private Integer integral;
ruoyi-modules/ruoyi-member/src/main/java/com/ruoyi/member/domain/dto/MgtMemberRelDelDto.java
@@ -14,8 +14,8 @@
@Data
public class MgtMemberRelDelDto extends MgtBaseDto {
    @ApiModelProperty(value = "用户id")
    private Long memberUserId;
    @ApiModelProperty(value = "用户id 多个用,隔开")
    private String memberUserIds;
ruoyi-modules/ruoyi-member/src/main/java/com/ruoyi/member/domain/dto/MgtMemberRelEditDto.java
@@ -14,8 +14,8 @@
@Data
public class MgtMemberRelEditDto extends MgtBaseDto {
    @ApiModelProperty(value = "用户id")
    private Long memberUserId;
    @ApiModelProperty(value = "用户id 多个用,隔开")
    private String memberUserIds;
    @ApiModelProperty(value = "商户id")
ruoyi-modules/ruoyi-member/src/main/java/com/ruoyi/member/service/impl/member/MemberServiceImpl.java
@@ -711,14 +711,20 @@
     */
    @Override
    public void editMemberRelationShop(MgtMemberRelEditDto mgtMemberRelEditDto){
        Member member = this.getByUserId(mgtMemberRelEditDto.getMemberUserId());
        Shop shop = shopService.getShop(mgtMemberRelEditDto.getShopId()).getData();
        member.setRelationShopId(shop.getShopId());
        member.setRelationShopName(shop.getShopName());
        member.setBindingFlag(1);
        member.setUpdateTime(new Date());
        member.setUpdateUserId(mgtMemberRelEditDto.getUserId());
        this.saveOrUpdate(member);
        if(StringUtils.isNotBlank(mgtMemberRelEditDto.getMemberUserIds())){
            Shop shop = shopService.getShop(mgtMemberRelEditDto.getShopId()).getData();
            String memberUserIds = mgtMemberRelEditDto.getMemberUserIds();
            String[] memberUserIdArr = memberUserIds.split(",");
            for(String str : memberUserIdArr){
                Member member = this.getByUserId(Long.valueOf(str));
                member.setRelationShopId(shop.getShopId());
                member.setRelationShopName(shop.getShopName());
                member.setBindingFlag(1);
                member.setUpdateTime(new Date());
                member.setUpdateUserId(mgtMemberRelEditDto.getUserId());
                this.saveOrUpdate(member);
            }
        }
    }
@@ -728,11 +734,17 @@
     */
    @Override
    public void deleteMemberRelationShop(MgtMemberRelDelDto mgtMemberRelDelDto){
        Member member = this.getById(mgtMemberRelDelDto.getMemberUserId());
        member.setBindingFlag(0);
        member.setUpdateTime(new Date());
        member.setUpdateUserId(mgtMemberRelDelDto.getUserId());
        this.saveOrUpdate(member);
        if(StringUtils.isNotBlank(mgtMemberRelDelDto.getMemberUserIds())) {
            String memberUserIds = mgtMemberRelDelDto.getMemberUserIds();
            String[] memberUserIdArr = memberUserIds.split(",");
            for(String str : memberUserIdArr) {
                Member member = this.getById(Long.valueOf(str));
                member.setBindingFlag(0);
                member.setUpdateTime(new Date());
                member.setUpdateUserId(mgtMemberRelDelDto.getUserId());
                this.saveOrUpdate(member);
            }
        }
    }
    /**
@@ -741,15 +753,22 @@
     */
    @Override
    public void editMemberIntegral(MgtMemberIntEditDto mgtMemberIntEditDto){
        MemberIntegralChangeDto memberIntegralChangeDto = new MemberIntegralChangeDto();
        Member member = this.getByUserId(mgtMemberIntEditDto.getMemberUserId());
        memberIntegralChangeDto.setUserId(mgtMemberIntEditDto.getMemberUserId());
        memberIntegralChangeDto.setMemberId(member.getMemberId());
        memberIntegralChangeDto.setChangeType(1);
        memberIntegralChangeDto.setRecordType(3);
        memberIntegralChangeDto.setIntegral(mgtMemberIntEditDto.getIntegral());
        //调用积分变动
        memberIntegralChange(memberIntegralChangeDto);
        if(StringUtils.isNotBlank(mgtMemberIntEditDto.getMemberUserIds())) {
            String memberUserIds = mgtMemberIntEditDto.getMemberUserIds();
            String[] memberUserIdArr = memberUserIds.split(",");
            MemberIntegralChangeDto memberIntegralChangeDto;
            for(String str : memberUserIdArr) {
                memberIntegralChangeDto = new MemberIntegralChangeDto();
                Member member = this.getByUserId(Long.valueOf(str));
                memberIntegralChangeDto.setUserId(Long.valueOf(str));
                memberIntegralChangeDto.setMemberId(member.getMemberId());
                memberIntegralChangeDto.setChangeType(1);
                memberIntegralChangeDto.setRecordType(3);
                memberIntegralChangeDto.setIntegral(mgtMemberIntEditDto.getIntegral());
                //调用积分变动
                memberIntegralChange(memberIntegralChangeDto);
            }
        }
    }
ruoyi-modules/ruoyi-order/src/main/resources/mapper/order/OrderMapper.xml
@@ -80,7 +80,7 @@
        <result column="payMoney" property="payMoney"/>
        <result column="orderFrom" property="orderFrom" />
        <result column="createTime" property="createTime" />
        <collection property="merOrderGoodsVoList" ofType="com.ruoyi.order.domain.vo.MerOrderGoodsPageVo">
        <collection property="mgtOrderGoodsVoList" ofType="com.ruoyi.order.domain.vo.MerOrderGoodsPageVo">
            <result column="goodsName" property="goodsName"/>
            <result column="buyNum" property="buyNum"/>
        </collection>
ruoyi-modules/ruoyi-shop/src/main/java/com/ruoyi/shop/controller/business/MerShopController.java
@@ -7,17 +7,16 @@
import com.ruoyi.shop.domain.dto.MerShopCertificateEditDto;
import com.ruoyi.shop.domain.dto.MerShopCertificateListDto;
import com.ruoyi.shop.domain.dto.MerShopSuggestDto;
import com.ruoyi.shop.domain.pojo.shop.ShopRelUser;
import com.ruoyi.shop.domain.vo.MerAgencyPageVo;
import com.ruoyi.shop.domain.vo.MerShopCertificateListVo;
import com.ruoyi.shop.domain.vo.MerShopSuggestVo;
import com.ruoyi.shop.service.shop.ShopCertificateService;
import com.ruoyi.shop.service.shop.ShopService;
import com.ruoyi.shop.service.shop.ShopStaffService;
import com.ruoyi.shop.service.shop.ShopSuggestService;
import com.ruoyi.shop.service.shop.*;
import com.ruoyi.system.api.domain.dto.MerBaseDto;
import com.ruoyi.system.api.domain.dto.MerBaseGetDto;
import com.ruoyi.system.api.domain.dto.MerEditUserDto;
import com.ruoyi.system.api.domain.dto.MerPageDto;
import com.ruoyi.system.api.domain.poji.shop.Shop;
import com.ruoyi.system.api.domain.vo.MerHomeShopTotalVo;
import com.ruoyi.system.api.domain.vo.MerStaffInfoVo;
import io.swagger.annotations.Api;
@@ -52,7 +51,8 @@
    @Resource
    private ShopStaffService shopStaffService;
    @Resource
    private ShopRelUserService shopRelUserService;
    @Resource
    private ShopSuggestService shopSuggestService;
@@ -110,7 +110,9 @@
    @ApiOperation(value = "获取员工信息")
    public R<MerStaffInfoVo> getShopStaffInfo() {
        Long userId = SecurityUtils.getUserId();
        MerStaffInfoVo merStaffInfoVo = shopStaffService.getShopStaffInfo(userId);
        ShopRelUser shopRelUser = shopRelUserService.getByUserId(userId);
        Shop shop = shopService.getByShopId(shopRelUser.getShopId());
        MerStaffInfoVo merStaffInfoVo = shopStaffService.getShopStaffInfo(userId,shop);
        return R.ok(merStaffInfoVo);
    }
ruoyi-modules/ruoyi-shop/src/main/java/com/ruoyi/shop/controller/management/MgtShopController.java
@@ -5,10 +5,7 @@
import com.ruoyi.common.security.utils.SecurityUtils;
import com.ruoyi.shop.domain.dto.*;
import com.ruoyi.shop.domain.vo.*;
import com.ruoyi.shop.service.shop.ShopProportionService;
import com.ruoyi.shop.service.shop.ShopRelTagService;
import com.ruoyi.shop.service.shop.ShopService;
import com.ruoyi.shop.service.shop.ShopSuggestService;
import com.ruoyi.shop.service.shop.*;
import com.ruoyi.system.api.domain.dto.MgtBaseGetDto;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiOperation;
@@ -44,6 +41,16 @@
    @Resource
    private ShopSuggestService shopSuggestService;
    @Resource
    private ShopCertificateService shopCertificateService;
    @RequestMapping(value = "/listMgtShopSimpleVo", method = RequestMethod.POST)
    @ApiOperation(value = "分页获取商户列表")
    public R<List<MgtShopListSimpleVo>> listMgtShopSimpleVo(@RequestBody MgtShopListDto mgtShopListDto) {
        List<MgtShopListSimpleVo> mgtShopListSimpleVoList = shopService.listMgtShopSimpleVo(mgtShopListDto);
        return R.ok(mgtShopListSimpleVoList);
    }
    @RequestMapping(value = "/pageMgtShop", method = RequestMethod.POST)
    @ApiOperation(value = "分页获取商户列表")
    public R<Page<MgtShopPageVo>> pageMgtShop(@RequestBody MgtShopPageDto mgtShopPageDto) {
@@ -73,7 +80,7 @@
    @RequestMapping(value = "/getMgtShopTag", method = RequestMethod.POST)
    @ApiOperation(value = "获取商户标签")
    public R<List<MgtShopTagVo>> getMgtShopTag(@RequestBody MgtBaseGetDto mgtBaseGetDto) {
        List<MgtShopTagVo> mgtShopInfoVoList = shopRelTagService.listShopTagVo(Long.valueOf(mgtBaseGetDto.getId()));
        List<MgtShopTagVo> mgtShopInfoVoList = shopRelTagService.listShopTagVo(mgtBaseGetDto);
        return R.ok(mgtShopInfoVoList);
    }
@@ -147,4 +154,25 @@
        shopSuggestService.mgtEditShopSuggestTag(mgtTagShopSuggestDto);
        return R.ok();
    }
    @RequestMapping(value = "/pageMgtShopCertificate", method = RequestMethod.POST)
    @ApiOperation(value = "平台获取商户证书审核列表")
    public R<Page<MgtShopCertificatePageVo>> pageMgtShopCertificate(@RequestBody MgtShopCertificatePageDto mgtShopCertificatePageDto) {
        Long userId = SecurityUtils.getUserId();
        mgtShopCertificatePageDto.setUserId(userId);
        Page<MgtShopCertificatePageVo> page = new Page<>();
        page.setSize(mgtShopCertificatePageDto.getPageSize());
        page.setCurrent(mgtShopCertificatePageDto.getPageNum());
        List<MgtShopCertificatePageVo> mgtShopCertificatePageVoList = shopCertificateService.pageMgtShopCertificate(page,mgtShopCertificatePageDto);
        return R.ok(page.setRecords(mgtShopCertificatePageVoList));
    }
    @RequestMapping(value = "/mgtAuditShopCertificate", method = RequestMethod.POST)
    @ApiOperation(value = "平台编辑会员建议标签")
    public R mgtAuditShopCertificate(@RequestBody MgtAuditShopCertificateDto mgtAuditShopCertificateDto) {
        Long userId = SecurityUtils.getUserId();
        mgtAuditShopCertificateDto.setUserId(userId);
        shopCertificateService.mgtAuditShopCertificate(mgtAuditShopCertificateDto);
        return R.ok();
    }
}
ruoyi-modules/ruoyi-shop/src/main/java/com/ruoyi/shop/domain/dto/MgtAuditShopCertificateDto.java
New file
@@ -0,0 +1,25 @@
package com.ruoyi.shop.domain.dto;
import com.ruoyi.system.api.domain.dto.MgtBaseDto;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
/**
 * @ClassName MgtAuditShopCertificateDto
 * @Description TODO
 * @Author jqs
 * @Date 2023/6/12 17:48
 * @Version 1.0
 */
@Data
public class MgtAuditShopCertificateDto extends MgtBaseDto {
    @ApiModelProperty(value = "证书id")
    private Long cerId;
    @ApiModelProperty(value = "证书状态1审核通过2审核拒绝")
    private Integer cerStatus;
    @ApiModelProperty(value = "拒绝理由")
    private String refuseReason;
}
ruoyi-modules/ruoyi-shop/src/main/java/com/ruoyi/shop/domain/dto/MgtShopCertificatePageDto.java
New file
@@ -0,0 +1,31 @@
package com.ruoyi.shop.domain.dto;
import com.ruoyi.system.api.domain.dto.MgtPageDto;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import java.util.Date;
/**
 * @ClassName MgtShopCertificatePageDto
 * @Description TODO
 * @Author jqs
 * @Date 2023/6/12 16:47
 * @Version 1.0
 */
@Data
public class MgtShopCertificatePageDto extends MgtPageDto {
    @ApiModelProperty(value = "搜索关键词")
    private String keyword;
    @ApiModelProperty(value = "提交开始时间")
    private Date createStartTime;
    @ApiModelProperty(value = "提交结束时间")
    private Date createEndTime;
    @ApiModelProperty(value = "证书状态0待审核1审核通过2审核拒绝")
    private Integer cerStatus;
}
ruoyi-modules/ruoyi-shop/src/main/java/com/ruoyi/shop/domain/dto/MgtShopListDto.java
New file
@@ -0,0 +1,22 @@
package com.ruoyi.shop.domain.dto;
import com.ruoyi.system.api.domain.dto.MgtBaseDto;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
/**
 * @ClassName MgtShopListDto
 * @Description TODO
 * @Author jqs
 * @Date 2023/6/12 14:36
 * @Version 1.0
 */
@Data
public class MgtShopListDto extends MgtBaseDto {
    @ApiModelProperty(value = "商户类型1经销商2代理商")
    private Integer shopType ;
    @ApiModelProperty(value = "搜索关键词")
    private String keyword ;
}
ruoyi-modules/ruoyi-shop/src/main/java/com/ruoyi/shop/domain/pojo/shop/ShopCertificate.java
@@ -1,15 +1,16 @@
package com.ruoyi.shop.domain.pojo.shop;
import com.baomidou.mybatisplus.annotation.IdType;
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>
@@ -62,6 +63,27 @@
     */
    @TableField("cer_picture")
    private String cerPicture;
    /**
     * 创建时间
     */
    @TableField("create_time")
    private Date createTime;
    /**
     * 审核用户id
     */
    @TableField("audit_user_id")
    private Long auditUserId;
    /**
     * 审核时间
     */
    @TableField("audit_time")
    private Date auditTime;
    /**
     * 拒绝理由
     */
    @TableField("refuse_reason")
    private String refuseReason;
    @Override
ruoyi-modules/ruoyi-shop/src/main/java/com/ruoyi/shop/domain/vo/MerShopCertificateListVo.java
@@ -1,8 +1,5 @@
package com.ruoyi.shop.domain.vo;
import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableId;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
@@ -32,4 +29,6 @@
    @ApiModelProperty(value = "证书状态-1删除0待审核1审核通过2审核拒绝")
    private Integer cerStatus;
    @ApiModelProperty(value = "拒绝理由")
    private String refuseReason;
}
ruoyi-modules/ruoyi-shop/src/main/java/com/ruoyi/shop/domain/vo/MgtShopCertificatePageVo.java
New file
@@ -0,0 +1,44 @@
package com.ruoyi.shop.domain.vo;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import java.util.Date;
/**
 * @ClassName MgtShopCertificatePageVo
 * @Description TODO
 * @Author jqs
 * @Date 2023/6/12 16:14
 * @Version 1.0
 */
@Data
public class MgtShopCertificatePageVo {
    @ApiModelProperty(value = "证书id")
    private Long cerId;
    @ApiModelProperty(value = "证书名字")
    private String cerName;
    @ApiModelProperty(value = "证书编号")
    private String cerNumber;
    @ApiModelProperty(value = "证书图片")
    private String cerPicture;
    @ApiModelProperty(value = "证书状态-1删除0待审核1审核通过2审核拒绝")
    private Integer cerStatus;
    @ApiModelProperty(value = "提交时间")
    private Date createTime;
    @ApiModelProperty(value = "商户名称")
    private String shopName;
    @ApiModelProperty("店主姓名")
    private String shopownerName;
    @ApiModelProperty("店主联系方式")
    private String shopownerPhone;
}
ruoyi-modules/ruoyi-shop/src/main/java/com/ruoyi/shop/domain/vo/MgtShopListSimpleVo.java
New file
@@ -0,0 +1,22 @@
package com.ruoyi.shop.domain.vo;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
/**
 * @ClassName MgtShopListSimpleVo
 * @Description TODO
 * @Author jqs
 * @Date 2023/6/12 14:35
 * @Version 1.0
 */
@Data
public class MgtShopListSimpleVo {
    @ApiModelProperty(value = "商户id")
    private Long shopId;
    @ApiModelProperty("商户名称")
    private String shopName;
}
ruoyi-modules/ruoyi-shop/src/main/java/com/ruoyi/shop/mapper/shop/ShopCertificateMapper.java
@@ -1,9 +1,12 @@
package com.ruoyi.shop.mapper.shop;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.ruoyi.shop.domain.dto.MerShopCertificateListDto;
import com.ruoyi.shop.domain.dto.MgtShopCertificatePageDto;
import com.ruoyi.shop.domain.pojo.shop.ShopCertificate;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.ruoyi.shop.domain.vo.MerShopCertificateListVo;
import com.ruoyi.shop.domain.vo.MgtShopCertificatePageVo;
import org.apache.ibatis.annotations.Param;
import java.util.List;
@@ -25,4 +28,14 @@
     * @return
     */
    List<MerShopCertificateListVo> listShopCertificateVo(@Param("param") MerShopCertificateListDto merShopCertificateListDto);
    /**
     * @description  平台获取证书审核列表
     * @author  jqs
     * @date    2023/6/12 17:14
     * @param page
     * @param mgtShopCertificatePageDto
     * @return  List<MgtShopCertificatePageVo>
     */
    List<MgtShopCertificatePageVo> pageMgtShopCertificate(Page page, @Param("param")MgtShopCertificatePageDto mgtShopCertificatePageDto);
}
ruoyi-modules/ruoyi-shop/src/main/java/com/ruoyi/shop/mapper/shop/ShopMapper.java
@@ -2,14 +2,8 @@
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.MgtShopPageVo;
import com.ruoyi.shop.domain.vo.MgtShopProportionPageVo;
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 org.apache.ibatis.annotations.Param;
@@ -76,4 +70,13 @@
     * @return  MgtShopIdByCodeVo
     */
    List<Long> getShopIdByCode(@Param("param")MgtShopIdByCodeDto mgtShopIdByCodeDto);
    /**
     * @description  获取商户list
     * @author  jqs
     * @date    2023/6/12 14:37
     * @param mgtShopListDto
     * @return  List<MgtShopListSimpleVo>
     */
    List<MgtShopListSimpleVo> listMgtShopSimpleVo(@Param("param")MgtShopListDto mgtShopListDto);
}
ruoyi-modules/ruoyi-shop/src/main/java/com/ruoyi/shop/service/impl/shop/ShopCertificateServiceImpl.java
@@ -2,17 +2,22 @@
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.baomidou.mybatisplus.core.toolkit.Wrappers;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.ruoyi.common.core.utils.bean.BeanUtils;
import com.ruoyi.shop.domain.dto.MerShopCertificateEditDto;
import com.ruoyi.shop.domain.dto.MerShopCertificateListDto;
import com.ruoyi.shop.domain.dto.MgtAuditShopCertificateDto;
import com.ruoyi.shop.domain.dto.MgtShopCertificatePageDto;
import com.ruoyi.shop.domain.pojo.shop.ShopCertificate;
import com.ruoyi.shop.domain.vo.MerShopCertificateListVo;
import com.ruoyi.shop.domain.vo.MgtShopCertificatePageVo;
import com.ruoyi.shop.mapper.shop.ShopCertificateMapper;
import com.ruoyi.shop.service.shop.ShopCertificateService;
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;
/**
@@ -65,6 +70,7 @@
        BeanUtils.copyProperties(merShopCertificateEditDto,shopCertificate);
        shopCertificate.setCerStatus(0);
        shopCertificate.setDelFlag(0);
        shopCertificate.setCreateTime(new Date());
        this.saveOrUpdate(shopCertificate);
    }
@@ -79,4 +85,35 @@
        shopCertificate.setCerStatus(-1);
        this.saveOrUpdate(shopCertificate);
    }
    /**
     * @description  平台获取证书审核列表
     * @author  jqs
     * @date    2023/6/12 17:14
     * @param page
     * @param mgtShopCertificatePageDto
     * @return  List<MgtShopCertificatePageVo>
     */
    @Override
    public List<MgtShopCertificatePageVo> pageMgtShopCertificate(Page page, MgtShopCertificatePageDto mgtShopCertificatePageDto){
        List<MgtShopCertificatePageVo> mgtShopCertificatePageVoList = shopCertificateMapper.pageMgtShopCertificate(page, mgtShopCertificatePageDto);
        return mgtShopCertificatePageVoList;
    }
    /**
     * @description  审核证书
     * @author  jqs
     * @date    2023/6/12 17:50
     * @param mgtAuditShopCertificateDto
     * @return  void
     */
    @Override
    public void mgtAuditShopCertificate(MgtAuditShopCertificateDto mgtAuditShopCertificateDto){
        ShopCertificate shopCertificate = this.getById(mgtAuditShopCertificateDto.getCerId());
        shopCertificate.setCerStatus(mgtAuditShopCertificateDto.getCerStatus());
        shopCertificate.setAuditUserId(mgtAuditShopCertificateDto.getUserId());
        shopCertificate.setAuditTime(new Date());
        shopCertificate.setRefuseReason(mgtAuditShopCertificateDto.getRefuseReason());
        this.saveOrUpdate(shopCertificate);
    }
}
ruoyi-modules/ruoyi-shop/src/main/java/com/ruoyi/shop/service/impl/shop/ShopRelTagServiceImpl.java
@@ -3,10 +3,12 @@
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.baomidou.mybatisplus.core.toolkit.Wrappers;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import com.ruoyi.common.core.utils.StringUtils;
import com.ruoyi.shop.domain.pojo.shop.ShopRelTag;
import com.ruoyi.shop.domain.vo.MgtShopTagVo;
import com.ruoyi.shop.mapper.shop.ShopRelTagMapper;
import com.ruoyi.shop.service.shop.ShopRelTagService;
import com.ruoyi.system.api.domain.dto.MgtBaseGetDto;
import com.ruoyi.system.api.domain.poji.config.SysTag;
import com.ruoyi.system.api.service.RemoteConfigService;
import org.apache.commons.lang3.ArrayUtils;
@@ -55,17 +57,20 @@
    /**
     * 获取商户标签
     * @param shopId
     * @param mgtBaseGetDto
     * @return
     */
    @Override
    public List<MgtShopTagVo> listShopTagVo(Long shopId){
        List<ShopRelTag> shopRelTagList = listShopRelTagByShopId(shopId);
        Long[] tagIdArr =null;
        if(shopRelTagList!=null && !shopRelTagList.isEmpty()){
            tagIdArr = shopRelTagList.stream()
                    .map(ShopRelTag::getTagId)
                    .toArray(Long[]::new);
    public List<MgtShopTagVo> listShopTagVo(MgtBaseGetDto mgtBaseGetDto){
        Long[] tagIdArr = null;
        if(StringUtils.isNotBlank(mgtBaseGetDto.getId())){
            Long shopId = Long.valueOf(mgtBaseGetDto.getId());
            List<ShopRelTag> shopRelTagList = listShopRelTagByShopId(shopId);
            if(shopRelTagList!=null && !shopRelTagList.isEmpty()){
                tagIdArr = shopRelTagList.stream()
                        .map(ShopRelTag::getTagId)
                        .toArray(Long[]::new);
            }
        }
        List<SysTag> sysTagsList = remoteConfigService.listSysTag(2).getData();
        //生成返回结果
ruoyi-modules/ruoyi-shop/src/main/java/com/ruoyi/shop/service/impl/shop/ShopServiceImpl.java
@@ -156,6 +156,7 @@
            if(shopSame!=null){
                throw new ServiceException(AppErrorConstant.SHOP_DOUBLE);
            }
            shop.setDelFlag(0);
            shop.setShopStatus(3);
            shop.setCreateTime(new Date());
            shop.setCreateUserId(mgtEditShopDto.getUserId());
@@ -192,8 +193,10 @@
            this.saveOrUpdate(shop);
        }
        //商户归属员工
        SysUser belongSysUser = sysUserService.getSysUser(shop.getBelongUserId()).getData();
        handleShopStaff(shop.getShopId(),belongSysUser);
        if(shop.getBelongUserId()!=null){
            SysUser belongSysUser = sysUserService.getSysUser(shop.getBelongUserId()).getData();
            handleShopStaff(shop.getShopId(),belongSysUser);
        }
        //商户关联人员
        String relUserIds = mgtEditShopDto.getRelUserIds();
        if(StringUtils.isNotBlank(relUserIds)){
@@ -540,4 +543,16 @@
        }
        return mgtShopIdByCodeVo;
    }
    /**
     * @description  获取商户list
     * @author  jqs
     * @date    2023/6/12 14:37
     * @param mgtShopListDto
     * @return  List<MgtShopListSimpleVo>
     */
    @Override
    public List<MgtShopListSimpleVo> listMgtShopSimpleVo(MgtShopListDto mgtShopListDto){
        return shopMapper.listMgtShopSimpleVo(mgtShopListDto);
    }
}
ruoyi-modules/ruoyi-shop/src/main/java/com/ruoyi/shop/service/impl/shop/ShopStaffServiceImpl.java
@@ -5,11 +5,8 @@
import com.baomidou.mybatisplus.core.toolkit.Wrappers;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import com.ruoyi.common.core.utils.bean.BeanUtils;
import com.ruoyi.shop.domain.pojo.shop.ShopRelUser;
import com.ruoyi.shop.domain.pojo.shop.ShopStaff;
import com.ruoyi.shop.mapper.shop.ShopStaffMapper;
import com.ruoyi.shop.service.shop.ShopRelUserService;
import com.ruoyi.shop.service.shop.ShopService;
import com.ruoyi.shop.service.shop.ShopStaffService;
import com.ruoyi.system.api.domain.dto.MerEditUserDto;
import com.ruoyi.system.api.domain.poji.shop.Shop;
@@ -29,11 +26,6 @@
@Service
public class ShopStaffServiceImpl extends ServiceImpl<ShopStaffMapper, ShopStaff> implements ShopStaffService {
    @Resource
    private ShopService shopService;
    @Resource
    private ShopRelUserService shopRelUserService;
    @Resource
    private ShopStaffMapper shopStaffMapper;
@@ -69,19 +61,16 @@
     * @return
     */
    @Override
    public MerStaffInfoVo getShopStaffInfo(Long userId){
    public MerStaffInfoVo getShopStaffInfo(Long userId,Shop shop){
        MerStaffInfoVo merStaffInfoVo = new MerStaffInfoVo();
        ShopStaff shopStaff = this.getByUserId(userId);
        BeanUtils.copyProperties(shopStaff,merStaffInfoVo);
        ShopRelUser shopRelUser = shopRelUserService.getByUserId(userId);
        Shop shop = shopService.getByShopId(shopRelUser.getShopId());
        merStaffInfoVo.setShopName(shop.getShopName());
        merStaffInfoVo.setShopAddress(shop.getShopAddress());
        merStaffInfoVo.setShopServicePhone(shop.getShopServicePhone());
        merStaffInfoVo.setBusinessTime(shop.getBusinessStartTime()+"-"+shop.getBusinessEndTime());
        merStaffInfoVo.setShopType(shop.getShopType());
        merStaffInfoVo.setShopNumber(shop.getShopNumber());
        return merStaffInfoVo;
    }
ruoyi-modules/ruoyi-shop/src/main/java/com/ruoyi/shop/service/shop/ShopCertificateService.java
@@ -1,10 +1,14 @@
package com.ruoyi.shop.service.shop;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.ruoyi.shop.domain.dto.MerShopCertificateEditDto;
import com.ruoyi.shop.domain.dto.MerShopCertificateListDto;
import com.ruoyi.shop.domain.dto.MgtAuditShopCertificateDto;
import com.ruoyi.shop.domain.dto.MgtShopCertificatePageDto;
import com.ruoyi.shop.domain.pojo.shop.ShopCertificate;
import com.baomidou.mybatisplus.extension.service.IService;
import com.ruoyi.shop.domain.vo.MerShopCertificateListVo;
import com.ruoyi.shop.domain.vo.MgtShopCertificatePageVo;
import java.util.List;
@@ -25,21 +29,41 @@
    List<ShopCertificate> listShopCertificateByShopId(Long shopId);
    /**
     *
     * 商户获取证书列表
     * @param merShopCertificateListDto
     * @return
     */
    List<MerShopCertificateListVo> listShopCertificateVo(MerShopCertificateListDto merShopCertificateListDto);
    /**
     *
     * 商户编辑证书
     * @param merShopCertificateEditDto
     */
    void editShopCertificate(MerShopCertificateEditDto merShopCertificateEditDto);
    /**
     *
     * 商户删除证书
     * @param certId
     */
    void deleteShopCertificate(Long certId);
    /**
     * @description  平台获取证书审核列表
     * @author  jqs
     * @date    2023/6/12 17:14
     * @param page
     * @param mgtShopCertificatePageDto
     * @return  List<MgtShopCertificatePageVo>
     */
    List<MgtShopCertificatePageVo> pageMgtShopCertificate(Page page, MgtShopCertificatePageDto mgtShopCertificatePageDto);
    /**
     * @description  审核证书
     * @author  jqs
     * @date    2023/6/12 17:50
     * @param mgtAuditShopCertificateDto
     * @return  void
     */
    void mgtAuditShopCertificate(MgtAuditShopCertificateDto mgtAuditShopCertificateDto);
}
ruoyi-modules/ruoyi-shop/src/main/java/com/ruoyi/shop/service/shop/ShopRelTagService.java
@@ -3,6 +3,7 @@
import com.ruoyi.shop.domain.pojo.shop.ShopRelTag;
import com.baomidou.mybatisplus.extension.service.IService;
import com.ruoyi.shop.domain.vo.MgtShopTagVo;
import com.ruoyi.system.api.domain.dto.MgtBaseGetDto;
import java.util.List;
@@ -30,8 +31,8 @@
    /**
     * 获取商户标签
     * @param shopId
     * @param mgtBaseGetDto
     * @return
     */
    List<MgtShopTagVo> listShopTagVo(Long shopId);
    List<MgtShopTagVo> listShopTagVo(MgtBaseGetDto mgtBaseGetDto);
}
ruoyi-modules/ruoyi-shop/src/main/java/com/ruoyi/shop/service/shop/ShopService.java
@@ -120,4 +120,13 @@
     * @return  MgtShopIdByCodeVo
     */
    MgtShopIdByCodeVo getShopIdByCode(MgtShopIdByCodeDto mgtShopIdByCodeDto);
    /**
     * @description  获取商户list
     * @author  jqs
     * @date    2023/6/12 14:37
     * @param mgtShopListDto
     * @return  List<MgtShopListSimpleVo>
     */
    List<MgtShopListSimpleVo> listMgtShopSimpleVo(MgtShopListDto mgtShopListDto);
}
ruoyi-modules/ruoyi-shop/src/main/java/com/ruoyi/shop/service/shop/ShopStaffService.java
@@ -3,6 +3,7 @@
import com.baomidou.mybatisplus.extension.service.IService;
import com.ruoyi.shop.domain.pojo.shop.ShopStaff;
import com.ruoyi.system.api.domain.dto.MerEditUserDto;
import com.ruoyi.system.api.domain.poji.shop.Shop;
import com.ruoyi.system.api.domain.vo.MerStaffInfoVo;
/**
@@ -34,7 +35,7 @@
     * @param userId
     * @return
     */
    MerStaffInfoVo getShopStaffInfo(Long userId);
    MerStaffInfoVo getShopStaffInfo(Long userId, Shop shop);
    /**
     * 编辑商户员工信息
ruoyi-modules/ruoyi-shop/src/main/resources/mapper/shop/ShopCertificateMapper.xml
@@ -82,7 +82,8 @@
        cer_name cerName,
        cer_number cerNumber,
        cer_picture cerPicture,
        cer_status cerStatus
        cer_status cerStatus,
        refuse_reason refuseReason
        FROM t_shop_certificate
        WHERE del_flag = 0 AND shop_id = #{param.shopId}
        <if test="param.status != null and param.status == 1">
@@ -92,4 +93,31 @@
            AND (cer_status = 0 OR  cer_status = 2)
        </if>
    </select>
    <select id="pageMgtShopCertificate" resultType="com.ruoyi.shop.domain.vo.MgtShopCertificatePageVo">
        SELECT
        tsc.cer_id cerId,
        tsc.cer_name cerName,
        tsc.cer_number cerNumber,
        tsc.cer_picture cerPicture,
        tsc.cer_status cerStatus,
        tsc.create_time createTime,
        ts.shop_name shopName,
        ts.shopowner_name shopownerName,
        ts.shopowner_phone shopownerPhone
        FROM t_shop_certificate tsc
        INNER JOIN t_shop ts ON tsc.shop_id = ts.shop_id
        <if test="param.cerStatus != null">
            AND tsc.cer_status = #{param.cerStatus}
        </if>
        <if test="param.keyword!=null and param.keyword!=''">
            AND (ts.shop_name LIKE CONCAT('%',#{param.keyword},'%') OR ts.shopowner_name LIKE CONCAT('%',#{param.keyword},'%')
            OR ts.shopowner_phone LIKE CONCAT('%',#{param.keyword},'%'))
        </if>
        <if test="param.createStartTime!=null and param.createStartTime!=''">
            AND tsc.create_time &gt;= #{param.createStartTime}
        </if>
        <if test="param.createEndTime!=null and param.createEndTime!=''">
            AND tsc.create_time &lt;= #{param.createEndTime}
        </if>
    </select>
</mapper>
ruoyi-modules/ruoyi-shop/src/main/resources/mapper/shop/ShopMapper.xml
@@ -462,4 +462,18 @@
            AND ts.shop_area_code = #{param.shopAreaCode}
        </if>
    </select>
    <select id="listMgtShopSimpleVo" resultType="com.ruoyi.shop.domain.vo.MgtShopListSimpleVo">
        SELECT
            shop_id,
            shop_name
        FROM t_shop
        WHERE del_flag = 0
        <if test="param.shopType!=null and param.shopType!=''">
            AND shop_type = #{param.shopType}
        </if>
        <if test="param.keyword!=null and param.keyword!=''">
            AND shop_name LIKE CONCAT('%',#{param.keyword},'%')
        </if>
    </select>
</mapper>
ruoyi-modules/ruoyi-system/src/main/java/com/ruoyi/system/controller/GeneratorMybatisPlus.java
@@ -44,7 +44,7 @@
        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.setUrl("jdbc:mysql://47.109.78.184:10010/hrt_sys?tinyInt1isBit=false");
        dataSourceConfig.setDriverName("com.mysql.cj.jdbc.Driver");
        dataSourceConfig.setUsername("root");
        dataSourceConfig.setPassword("hrt123456");
@@ -53,7 +53,7 @@
        // 包名配置
        PackageConfig packageConfig = new PackageConfig();
        // 父包和子包名分开处理
        packageConfig.setParent("com.ruoyi.order");
        packageConfig.setParent("com.ruoyi.system");
        packageConfig.setController("app");
        packageConfig.setEntity("domain.pojo");
        packageConfig.setMapper("mapper");
@@ -74,7 +74,7 @@
        strategy.setControllerMappingHyphenStyle(true);
        //表和前缀处理
        String[] table = {
                "t_back_message"
                "t_region"
        };
        strategy.setInclude(table);
        String[] tablePre = new String[]{"t_"};
ruoyi-modules/ruoyi-system/src/main/java/com/ruoyi/system/controller/management/MgtConfigController.java
@@ -63,6 +63,9 @@
    @Resource
    private ArticleService articleService;
    @Resource
    private RegionService regionService;
    @RequestMapping(value = "/getCustomConfig", method = RequestMethod.POST)
    @ApiOperation(value = "获取单个配置")
@@ -330,7 +333,7 @@
    }
    @RequestMapping(value = "/pageArticle", method = RequestMethod.POST)
    @ApiOperation(value = "分页获取标签列表")
    @ApiOperation(value = "分页获取文章列表")
    public R<Page<MgtArticlePageVo>> pageArticle(@RequestBody MgtArticlePageDto mgtArticlePageDto) {
        Long userId = SecurityUtils.getUserId();
        mgtArticlePageDto.setUserId(userId);
@@ -358,6 +361,11 @@
    }
    @RequestMapping(value = "/listRegion", method = RequestMethod.POST)
    @ApiOperation(value = "获取省市区列表")
    public R<List<RegionVo>> listRegion(){
        List<RegionVo> regionVoList = regionService.listRegionVo();
        return R.ok(regionVoList);
    }
}
ruoyi-modules/ruoyi-system/src/main/java/com/ruoyi/system/controller/management/MgtStaffController.java
@@ -36,6 +36,14 @@
    @Resource
    private StaffSuggestService staffSuggestService;
    /*@RequestMapping(value = "/listMgtDeptStaff", method = RequestMethod.POST)
    @ApiOperation(value = "获取部门员工列表")
    public R<List<MgtDeptStaffListVo>> listMgtStaffSuggestTag(@RequestBody MgtBaseGetDto mgtBaseGetDto) {
        List<MgtStaffSuggestTagVo> mgtStaffSuggestTagVoList= staffSuggestService.listMgtStaffSuggestTag(Long.valueOf(mgtBaseGetDto.getId()));
        return R.ok(mgtStaffSuggestTagVoList);
    }*/
    @RequestMapping(value = "/pageMgtStaffSuggest", method = RequestMethod.POST)
    @ApiOperation(value = "平台获取员工建议列表")
    public R<Page<MgtStaffSuggestPageVo>> pageMgtStaffSuggest(@RequestBody MgtStaffSuggestPageDto mgtStaffSuggestPageDto) {
ruoyi-modules/ruoyi-system/src/main/java/com/ruoyi/system/domain/pojo/config/CustomConfig.java
@@ -31,8 +31,8 @@
    /**
     * 配置id
     */
    @TableId(value = "id", type = IdType.AUTO)
    private Long id;
    @TableId(value = "config_id", type = IdType.AUTO)
    private Long configId;
    /**
     * 删除标记
     */
@@ -41,19 +41,23 @@
    /**
     * 配置类型
     */
    private Integer type;
    @TableField("config_type")
    private Integer configType;
    /**
     * 配置键
     */
    private String key;
    @TableField("config_key")
    private String configKey;
    /**
     * 配置名
     */
    private String name;
    @TableField("config_name")
    private String configName;
    /**
     * 配置值
     */
    private String value;
    @TableField("config_value")
    private String configValue;
    /**
     * 创建时间
     */
@@ -68,7 +72,7 @@
    @Override
    protected Serializable pkVal() {
        return this.id;
        return this.configId;
    }
}
ruoyi-modules/ruoyi-system/src/main/java/com/ruoyi/system/domain/pojo/config/Region.java
New file
@@ -0,0 +1,76 @@
package com.ruoyi.system.domain.pojo.config;
import com.baomidou.mybatisplus.activerecord.Model;
import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import com.baomidou.mybatisplus.annotation.IdType;
import lombok.Data;
import lombok.EqualsAndHashCode;
import lombok.experimental.Accessors;
import java.io.Serializable;
/**
 * <p>
 * 省市区三级联动
 * </p>
 *
 * @author jqs
 * @since 2023-06-12
 */
@Data
@EqualsAndHashCode(callSuper = false)
@Accessors(chain = true)
@TableName("t_region")
public class Region extends Model<Region> {
    private static final long serialVersionUID = 1L;
    /**
     * 主键ID
     */
    @TableId(value = "id", type = IdType.AUTO)
    private Integer id;
    /**
     * 城市名称
     */
    private String name;
    /**
     * code
     */
    private String code;
    /**
     * 城市code
     */
    private String citycode;
    /**
     * 父级ID
     */
    @TableField("parent_id")
    private Integer parentId;
    /**
     * 英文名称
     */
    private String english;
    /**
     * 等级
     */
    private Integer level;
    /**
     * 层级
     */
    private String hierarchy;
    /**
     * 区域全称
     */
    @TableField("all_name")
    private String allName;
    @Override
    protected Serializable pkVal() {
        return this.id;
    }
}
ruoyi-modules/ruoyi-system/src/main/java/com/ruoyi/system/domain/vo/MgtDeptStaffListVo.java
New file
@@ -0,0 +1,27 @@
package com.ruoyi.system.domain.vo;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
/**
 * @ClassName MgtDeptStaffListVo
 * @Description TODO
 * @Author jqs
 * @Date 2023/6/12 15:48
 * @Version 1.0
 */
@Data
public class MgtDeptStaffListVo {
    @ApiModelProperty(value = "部门id")
    private Long deptId;
    @ApiModelProperty(value = "部门名称")
    private String deptName;
    @ApiModelProperty(value = "用户id")
    private Long userId;
    @ApiModelProperty(value = "用户名称")
    private String nickName;
}
ruoyi-modules/ruoyi-system/src/main/java/com/ruoyi/system/domain/vo/RegionVo.java
New file
@@ -0,0 +1,35 @@
package com.ruoyi.system.domain.vo;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import java.util.List;
/**
 * @author jqs34
 * @ClassName AppRegionVo
 * @description: TODO
 * @date 2023年04月06日
 * @version: 1.0
 */
@Data
public class RegionVo {
    @ApiModelProperty(value = "区域代码")
    private String value;
    @ApiModelProperty(value = "区域名称")
    private String label;
    @ApiModelProperty(value = "子级列表")
    private List<RegionVo> children;
    @ApiModelProperty(value = "id")
    private Long id;
    @ApiModelProperty(value = "父级id")
    private Long parentId;
    @ApiModelProperty(value = "层级")
    private Integer level;
}
ruoyi-modules/ruoyi-system/src/main/java/com/ruoyi/system/mapper/config/RegionMapper.java
New file
@@ -0,0 +1,27 @@
package com.ruoyi.system.mapper.config;
import com.ruoyi.system.domain.pojo.config.Region;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.ruoyi.system.domain.vo.RegionVo;
import java.util.List;
/**
 * <p>
 * 省市区三级联动 Mapper 接口
 * </p>
 *
 * @author jqs
 * @since 2023-06-12
 */
public interface RegionMapper extends BaseMapper<Region> {
    /**
     * @description
     * @author  jqs
     * @date    2023/6/12 15:20
     * @param
     * @return  List<RegionVo>
     */
    List<RegionVo> listRegionVo();
}
ruoyi-modules/ruoyi-system/src/main/java/com/ruoyi/system/mapper/config/SysTagMapper.java
@@ -27,4 +27,13 @@
     * @return  List<MgtTagPageVo>
     */
    List<MgtTagPageVo> pageTag(Page page, MgtTagPageDto mgtTagPageDto);
    /**
     * @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/RegionService.java
New file
@@ -0,0 +1,27 @@
package com.ruoyi.system.service.config;
import com.ruoyi.system.domain.pojo.config.Region;
import com.baomidou.mybatisplus.extension.service.IService;
import com.ruoyi.system.domain.vo.RegionVo;
import java.util.List;
/**
 * <p>
 * 省市区三级联动 服务类
 * </p>
 *
 * @author jqs
 * @since 2023-06-12
 */
public interface RegionService extends IService<Region> {
    /**
     * @description
     * @author  jqs
     * @date    2023/6/12 15:20
     * @param
     * @return  List<RegionVo>
     */
    List<RegionVo> listRegionVo();
}
ruoyi-modules/ruoyi-system/src/main/java/com/ruoyi/system/service/impl/config/CustomConfigServiceImpl.java
@@ -73,10 +73,10 @@
            customConfig.setCreateTime(new Date());
        }
        // 设置配置的类型、键、名称、值和更新时间
        customConfig.setType(ConfigEnum.PLATFORM_SERVICE_PHONE.getKeyType());
        customConfig.setKey(ConfigEnum.PLATFORM_SERVICE_PHONE.getKey());
        customConfig.setName(ConfigEnum.PLATFORM_SERVICE_PHONE.getKeyName());
        customConfig.setValue(mgtServiceMobileEditDto.getServiceMobile());
        customConfig.setConfigType(ConfigEnum.PLATFORM_SERVICE_PHONE.getKeyType());
        customConfig.setConfigKey(ConfigEnum.PLATFORM_SERVICE_PHONE.getKey());
        customConfig.setConfigName(ConfigEnum.PLATFORM_SERVICE_PHONE.getKeyName());
        customConfig.setConfigValue(mgtServiceMobileEditDto.getServiceMobile());
        customConfig.setUpdateTime(new Date());
        // 保存或更新配置
        this.saveOrUpdate(customConfig);
@@ -95,57 +95,57 @@
        //获取自定义配置
        List<CustomConfig> customConfigList = customConfigMapper.selectList(new LambdaQueryWrapper<CustomConfig>().eq(CustomConfig::getDelFlag, 0));
        Optional.ofNullable(customConfigList).ifPresent(list -> {
            Map<String, CustomConfig> configMap = list.stream().collect(Collectors.toMap(CustomConfig::getKey, Function.identity()));
            Map<String, CustomConfig> configMap = list.stream().collect(Collectors.toMap(CustomConfig::getConfigKey, Function.identity()));
            // 遍历配置映射,设置相应的属性值
            configMap.forEach((key, value) -> {
                switch (key) {
                    case "SHARE_INTEGRAL":
                        mgtAllCustomConfigVo.setShareIntegral(Integer.valueOf(value.getValue()));
                        mgtAllCustomConfigVo.setShareIntegral(Integer.valueOf(value.getConfigValue()));
                        break;
                    case "SUGGEST_PLATFORM_INTEGRAL":
                        mgtAllCustomConfigVo.setSuggestPlatformIntegral(Integer.valueOf(value.getValue()));
                        mgtAllCustomConfigVo.setSuggestPlatformIntegral(Integer.valueOf(value.getConfigValue()));
                        break;
                    case "SIGN_IN_INTEGRAL":
                        mgtAllCustomConfigVo.setSignInIntegral(Integer.valueOf(value.getValue()));
                        mgtAllCustomConfigVo.setSignInIntegral(Integer.valueOf(value.getConfigValue()));
                        break;
                    case "SUGGEST_SHOP_INTEGRAL":
                        mgtAllCustomConfigVo.setSuggestShopIntegral(Integer.valueOf(value.getValue()));
                        mgtAllCustomConfigVo.setSuggestShopIntegral(Integer.valueOf(value.getConfigValue()));
                        break;
                    case "PAY_MONEY_INTEGRAL":
                        mgtAllCustomConfigVo.setPayMoneyIntegral(Integer.valueOf(value.getValue()));
                        mgtAllCustomConfigVo.setPayMoneyIntegral(Integer.valueOf(value.getConfigValue()));
                        break;
                    case "ORDER_AUTO_CANCEL_TIME":
                        mgtAllCustomConfigVo.setOrderAutoCancelTime(Integer.valueOf(value.getValue()));
                        mgtAllCustomConfigVo.setOrderAutoCancelTime(Integer.valueOf(value.getConfigValue()));
                        break;
                    case "HOME_STYLE":
                        mgtAllCustomConfigVo.setHomeStyle(Integer.valueOf(value.getValue()));
                        mgtAllCustomConfigVo.setHomeStyle(Integer.valueOf(value.getConfigValue()));
                        break;
                    case "SHOP_EMERGENCY_DEGREE":
                        mgtAllCustomConfigVo.setShopEmergencyDegree(value.getValue());
                        mgtAllCustomConfigVo.setShopEmergencyDegree(value.getConfigValue());
                        break;
                    case "SHOP_FOLLOW_TYPE":
                        mgtAllCustomConfigVo.setShopFollowType(value.getValue());
                        mgtAllCustomConfigVo.setShopFollowType(value.getConfigValue());
                        break;
                    case "SHOP_CUSTOM_STATUS":
                        mgtAllCustomConfigVo.setShopCustomStatus(value.getValue());
                        mgtAllCustomConfigVo.setShopCustomStatus(value.getConfigValue());
                        break;
                    case "SHOP_SOURCE_CHANNEL":
                        mgtAllCustomConfigVo.setShopSourceChannel(value.getValue());
                        mgtAllCustomConfigVo.setShopSourceChannel(value.getConfigValue());
                        break;
                    case "MEMBER_SOURCE_CHANNEL":
                        mgtAllCustomConfigVo.setMemberSourceChannel(value.getValue());
                        mgtAllCustomConfigVo.setMemberSourceChannel(value.getConfigValue());
                        break;
                    case "MEMBER_CHARACTER":
                        mgtAllCustomConfigVo.setMemberCharacter(value.getValue());
                        mgtAllCustomConfigVo.setMemberCharacter(value.getConfigValue());
                        break;
                    case "MEMBER_LEVEL":
                        mgtAllCustomConfigVo.setMemberLevel(value.getValue());
                        mgtAllCustomConfigVo.setMemberLevel(value.getConfigValue());
                        break;
                    case "MEMBER_TYPE":
                        mgtAllCustomConfigVo.setMemberType(value.getValue());
                        mgtAllCustomConfigVo.setMemberType(value.getConfigValue());
                        break;
                    case "NURSE_PROBLEM":
                        mgtAllCustomConfigVo.setNurseProblem(value.getValue());
                        mgtAllCustomConfigVo.setNurseProblem(value.getConfigValue());
                        break;
                    default:
                        break;
@@ -209,7 +209,7 @@
    private void deletePastConfig(Date updateTime) {
        List<CustomConfig> customConfigList = customConfigMapper.selectList(new LambdaQueryWrapper<CustomConfig>()
                .eq(CustomConfig::getDelFlag, 0)
                .eq(CustomConfig::getType, 2));
                .eq(CustomConfig::getConfigType, 2));
        for (CustomConfig customConfig : customConfigList) {
            customConfig.setDelFlag(1);
            customConfig.setUpdateTime(updateTime);
@@ -229,10 +229,10 @@
        for (ConfigEnum configEnum : ConfigEnum.values()) {
            CustomConfig customConfig = new CustomConfig();
            customConfig.setDelFlag(0);
            customConfig.setType(configEnum.getKeyType());
            customConfig.setKey(configEnum.getKey());
            customConfig.setName(configEnum.getKeyName());
            customConfig.setValue(getConfigValue(configEnum, mgtOtherConfigEditDto));
            customConfig.setConfigType(configEnum.getKeyType());
            customConfig.setConfigKey(configEnum.getKey());
            customConfig.setConfigName(configEnum.getKeyName());
            customConfig.setConfigValue(getConfigValue(configEnum, mgtOtherConfigEditDto));
            customConfig.setCreateTime(updateTime);
            customConfig.setUpdateTime(updateTime);
            this.saveOrUpdate(customConfig);
@@ -283,7 +283,7 @@
        List<CustomConfig> customConfigList = customConfigMapper.selectList(
                new LambdaQueryWrapper<CustomConfig>()
                        .eq(CustomConfig::getDelFlag, 0)
                        .eq(CustomConfig::getType, 3)
                        .eq(CustomConfig::getConfigType, 3)
        );
        if (customConfigList != null && !customConfigList.isEmpty()) {
            String key;
@@ -292,8 +292,8 @@
            List<CustomConfig> updatedCustomConfigs = new ArrayList<>();
            // 遍历配置列表,根据 key 更新配置值
            for (CustomConfig customConfig : customConfigList) {
                key = customConfig.getKey();
                oldValue = customConfig.getValue();
                key = customConfig.getConfigKey();
                oldValue = customConfig.getConfigValue();
                switch (key) {
                    case "SHOP_EMERGENCY_DEGREE":
                        newValue = mgtShopConfigEditDto.getShopEmergencyDegree();
@@ -310,7 +310,7 @@
                    default:
                        break;
                }
                customConfig.setValue(newValue);
                customConfig.setConfigValue(newValue);
                customConfig.setUpdateTime(updateTime);
                handleChangeConfig(oldValue, newValue, key);
                updatedCustomConfigs.add(customConfig);
@@ -340,7 +340,7 @@
        List<CustomConfig> customConfigList = customConfigMapper.selectList(
                new LambdaQueryWrapper<CustomConfig>()
                        .eq(CustomConfig::getDelFlag, 0)
                        .eq(CustomConfig::getType, 4)
                        .eq(CustomConfig::getConfigType, 4)
        );
        if (customConfigList != null && !customConfigList.isEmpty()) {
            String key;
@@ -349,8 +349,8 @@
            List<CustomConfig> updatedCustomConfigs = new ArrayList<>();
            // 遍历配置列表,根据 key 更新配置值
            for (CustomConfig customConfig : customConfigList) {
                key = customConfig.getKey();
                oldValue = customConfig.getValue();
                key = customConfig.getConfigKey();
                oldValue = customConfig.getConfigValue();
                switch (key) {
                    case "MEMBER_SOURCE_CHANNEL":
                        newValue = mgtMemberConfigEditDto.getMemberSourceChannel();
@@ -370,7 +370,7 @@
                    default:
                        break;
                }
                customConfig.setValue(newValue);
                customConfig.setConfigValue(newValue);
                customConfig.setUpdateTime(updateTime);
                handleChangeConfig(oldValue, newValue, key);
                updatedCustomConfigs.add(customConfig);
@@ -398,10 +398,10 @@
    private void createNewConfig(ConfigEnum configEnum, String value, Date updateTime) {
        CustomConfig customConfig = new CustomConfig();
        customConfig.setDelFlag(0);
        customConfig.setType(configEnum.getKeyType());
        customConfig.setKey(configEnum.getKey());
        customConfig.setName(configEnum.getKeyName());
        customConfig.setValue(value);
        customConfig.setConfigType(configEnum.getKeyType());
        customConfig.setConfigKey(configEnum.getKey());
        customConfig.setConfigName(configEnum.getKeyName());
        customConfig.setConfigValue(value);
        customConfig.setCreateTime(updateTime);
        customConfig.setUpdateTime(updateTime);
        this.saveOrUpdate(customConfig);
@@ -472,8 +472,10 @@
    public MgtCustomConfigVo getCustomConfig(MgtCustomConfigDto mgtCustomConfigDto){
        CustomConfig customConfig = this.getByKey(mgtCustomConfigDto.getConfigType());
        MgtCustomConfigVo mgtCustomConfigVo = new MgtCustomConfigVo();
        mgtCustomConfigVo.setCustomConfig(customConfig.getValue());
        mgtCustomConfigVo.setConfigType(mgtCustomConfigDto.getConfigType());
        if(customConfig!=null){
            mgtCustomConfigVo.setCustomConfig(customConfig.getConfigValue());
            mgtCustomConfigVo.setConfigType(mgtCustomConfigDto.getConfigType());
        }
        return mgtCustomConfigVo;
    }
}
ruoyi-modules/ruoyi-system/src/main/java/com/ruoyi/system/service/impl/config/RegionServiceImpl.java
New file
@@ -0,0 +1,102 @@
package com.ruoyi.system.service.impl.config;
import com.ruoyi.common.redis.service.RedisService;
import com.ruoyi.system.api.constant.SecurityConstant;
import com.ruoyi.system.domain.pojo.config.Region;
import com.ruoyi.system.domain.vo.RegionVo;
import com.ruoyi.system.mapper.config.RegionMapper;
import com.ruoyi.system.service.config.RegionService;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import org.springframework.stereotype.Service;
import javax.annotation.Resource;
import java.util.ArrayList;
import java.util.Iterator;
import java.util.List;
/**
 * <p>
 * 省市区三级联动 服务实现类
 * </p>
 *
 * @author jqs
 * @since 2023-06-12
 */
@Service
public class RegionServiceImpl extends ServiceImpl<RegionMapper, Region> implements RegionService {
    @Resource
    private RegionMapper regionMapper;
    @Resource
    private RedisService redisService;
    /**
     * @param
     * @return List<RegionVo>
     * @description
     * @author jqs
     * @date 2023/6/12 15:18
     */
    @Override
    public List<RegionVo> listRegionVo() {
        if (redisService.hasKey(SecurityConstant.REGION_LIST)) {
            // 如果存在,则直接从缓存中获取并返回
            List<RegionVo> result = redisService.getCacheList(SecurityConstant.REGION_LIST);
            return result;
        } else {
            // 如果不存在,则从数据库中查询并进行处理
            List<RegionVo> regionVoList = regionMapper.listRegionVo();
            List<RegionVo> regionVoList1 = new ArrayList<>();
            List<RegionVo> regionVoList2 = new ArrayList<>();
            List<RegionVo> regionVoList3 = new ArrayList<>();
            // 将地区按照级别分别存放到不同的列表中
            for (RegionVo regionVo : regionVoList) {
                if (regionVo.getLevel() == 1) {
                    regionVoList1.add(regionVo);
                }
                if (regionVo.getLevel() == 2) {
                    regionVoList2.add(regionVo);
                }
                if (regionVo.getLevel() == 3) {
                    regionVoList3.add(regionVo);
                }
            }
            Iterator<RegionVo> regionVoIterator3;
            RegionVo children;
            // 将第三级地区挂到第二级地区下面
            for (RegionVo regionVo : regionVoList2) {
                if (null == regionVo.getChildren()) {
                    regionVo.setChildren(new ArrayList<>());
                }
                regionVoIterator3 = regionVoList3.iterator();
                while (regionVoIterator3.hasNext()) {
                    children = regionVoIterator3.next();
                    if (regionVo.getId().equals(children.getParentId())) {
                        regionVo.getChildren().add(children);
                        regionVoIterator3.remove();
                    }
                }
            }
            Iterator<RegionVo> regionVoIterator2;
            // 将第二级地区挂到第一级地区下面
            for (RegionVo regionVo : regionVoList1) {
                if (null == regionVo.getChildren()) {
                    regionVo.setChildren(new ArrayList<>());
                }
                regionVoIterator2 = regionVoList2.iterator();
                while (regionVoIterator2.hasNext()) {
                    children = regionVoIterator2.next();
                    if (regionVo.getId().equals(children.getParentId())) {
                        regionVo.getChildren().add(children);
                        regionVoIterator2.remove();
                    }
                }
            }
            // 将处理后的地区列表存入缓存中
            redisService.setCacheList(SecurityConstant.REGION_LIST, regionVoList1);
            // 返回处理后的地区列表
            return regionVoList1;
        }
    }
}
ruoyi-modules/ruoyi-system/src/main/java/com/ruoyi/system/service/impl/config/SysTagServiceImpl.java
@@ -14,7 +14,6 @@
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;
@@ -47,8 +46,6 @@
    @Resource
    private RemoteMemberService remoteMemberService;
    @Resource
    private StaffSuggestService staffSuggestService;
    /**
@@ -163,7 +160,7 @@
            case 4:
                remoteMemberService.deleteMemberSuggestTag(tagName);
                remoteShopService.deleteShopSuggestTag(tagName);
                staffSuggestService.deleteStaffSuggestTag(tagName);
                sysTagMapper.deleteStaffSuggestTag(tagName);
                break;
            default:
                break;
ruoyi-modules/ruoyi-system/src/main/resources/mapper/config/CustomConfigMapper.xml
@@ -2,86 +2,12 @@
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper namespace="com.ruoyi.system.mapper.config.CustomConfigMapper">
    <resultMap type="CustomConfig" id="CustomConfigResult">
        <result property="id"    column="id"    />
        <result property="delFlag"    column="del_flag"    />
        <result property="type"    column="type"    />
        <result property="key"    column="key"    />
        <result property="name"    column="name"    />
        <result property="value"    column="value"    />
        <result property="createTime"    column="create_time"    />
        <result property="updateTime"    column="update_time"    />
    </resultMap>
    <sql id="selectCustomConfigVo">
        select id, del_flag, type, key, name, value, create_time, update_time from t_custom_config
    </sql>
    <select id="selectCustomConfigList" parameterType="CustomConfig" resultMap="CustomConfigResult">
        <include refid="selectCustomConfigVo"/>
        <where>
            <if test="type != null "> and type = #{type}</if>
            <if test="key != null  and key != ''"> and key = #{key}</if>
            <if test="name != null  and name != ''"> and name like concat('%', #{name}, '%')</if>
            <if test="value != null  and value != ''"> and value = #{value}</if>
        </where>
    </select>
    <select id="selectCustomConfigById" parameterType="Long" resultMap="CustomConfigResult">
        <include refid="selectCustomConfigVo"/>
        where id = #{id}
    </select>
    <insert id="insertCustomConfig" parameterType="CustomConfig" useGeneratedKeys="true" keyProperty="id">
        insert into t_custom_config
        <trim prefix="(" suffix=")" suffixOverrides=",">
            <if test="delFlag != null">del_flag,</if>
            <if test="type != null">type,</if>
            <if test="key != null">key,</if>
            <if test="name != null">name,</if>
            <if test="value != null">value,</if>
            <if test="createTime != null">create_time,</if>
            <if test="updateTime != null">update_time,</if>
        </trim>
        <trim prefix="values (" suffix=")" suffixOverrides=",">
            <if test="delFlag != null">#{delFlag},</if>
            <if test="type != null">#{type},</if>
            <if test="key != null">#{key},</if>
            <if test="name != null">#{name},</if>
            <if test="value != null">#{value},</if>
            <if test="createTime != null">#{createTime},</if>
            <if test="updateTime != null">#{updateTime},</if>
        </trim>
    </insert>
    <update id="updateCustomConfig" parameterType="CustomConfig">
        update t_custom_config
        <trim prefix="SET" suffixOverrides=",">
            <if test="delFlag != null">del_flag = #{delFlag},</if>
            <if test="type != null">type = #{type},</if>
            <if test="key != null">key = #{key},</if>
            <if test="name != null">name = #{name},</if>
            <if test="value != null">value = #{value},</if>
            <if test="createTime != null">create_time = #{createTime},</if>
            <if test="updateTime != null">update_time = #{updateTime},</if>
        </trim>
        where id = #{id}
    </update>
    <delete id="deleteCustomConfigById" parameterType="Long">
        delete from t_custom_config where id = #{id}
    </delete>
    <delete id="deleteCustomConfigByIds" parameterType="String">
        delete from t_custom_config where id in
        <foreach item="id" collection="array" open="(" separator="," close=")">
            #{id}
        </foreach>
    </delete>
    <select id="getByKey" resultMap="CustomConfigResult">
        <include refid="selectCustomConfigVo"/>
        WHERE del_flag = 0 AND key = #{key}
    <select id="getByKey" resultType="CustomConfig">
        SELECT
            *
        FROM t_custom_config
        WHERE del_flag = 0 AND config_key = #{key}
    </select>
    <select id="pageOperLog" resultType="com.ruoyi.system.domain.vo.MgtOperLogPageVo">
ruoyi-modules/ruoyi-system/src/main/resources/mapper/config/RegionMapper.xml
New file
@@ -0,0 +1,9 @@
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper namespace="com.ruoyi.system.mapper.config.RegionMapper">
    <select id="listRegionVo" resultType="com.ruoyi.system.domain.vo.RegionVo">
        SELECT tr.id id,tr.parent_id parentId,tr.level level,tr.code value,tr.name label FROM t_region tr
    </select>
</mapper>
ruoyi-modules/ruoyi-system/src/main/resources/mapper/config/SysTagMapper.xml
@@ -25,4 +25,8 @@
        ORDER BY create_time DESC
    </select>
    <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/sys/SysLogininforMapper.xml
@@ -16,7 +16,7 @@
    <insert id="insertLogininfor" parameterType="SysLogininfor">
        insert into sys_logininfor (user_name, status, ipaddr, msg, access_time,login_from)
        values (#{userName}, #{status}, #{ipaddr}, #{msg}, sysdate(),loginFrom)
        values (#{userName}, #{status}, #{ipaddr}, #{msg}, sysdate(),#{loginFrom})
    </insert>
    
    <select id="selectLogininforList" parameterType="SysLogininfor" resultMap="SysLogininforResult">