Browse Source

开发查询商户入驻审核列表接口

jinshihui 6 ngày trước cách đây
mục cha
commit
2ae930a4ea

+ 20 - 0
nightFragrance-admin/src/main/java/com/ylx/web/controller/massage/MaTechnicianController.java

@@ -22,6 +22,7 @@ import com.ylx.common.utils.StringUtils;
 import com.ylx.massage.domain.MaProject;
 import com.ylx.massage.domain.dto.MaProjectSaveDto;
 import com.ylx.massage.domain.dto.MaProjectUpdateDto;
+import com.ylx.massage.domain.dto.MaTechnicianAuditQueryDTO;
 import com.ylx.massage.domain.dto.MaTechnicianMerchantAddDTO;
 import com.ylx.massage.domain.dto.MaTechnicianMerchantQueryDTO;
 import com.ylx.massage.domain.vo.*;
@@ -353,6 +354,25 @@ public class MaTechnicianController extends BaseController {
         }
     }
 
+    /**
+     * 查询商户入驻审核列表
+     *
+     * @param page 分页参数
+     * @param dto  查询条件
+     * @return Page 商户入驻审核分页列表
+     */
+    @ApiOperation("后台查询商户入驻审核列表")
+    @PreAuthorize("@ss.hasPermi('technician:technician:list')")
+    @GetMapping("/merchant/audit/list")
+    public R<Page<MaTechnicianAuditListVO>> merchantAuditList(Page<MaTechnicianAuditListVO> page, MaTechnicianAuditQueryDTO dto) {
+        try {
+            return R.ok(maTechnicianService.selectMerchantAuditList(page, dto));
+        } catch (Exception e) {
+            e.printStackTrace();
+            throw new RuntimeException(e);
+        }
+    }
+
     /**
      * 查询商户列表
      *

+ 61 - 0
nightFragrance-massage/src/main/java/com/ylx/massage/domain/dto/MaTechnicianAuditQueryDTO.java

@@ -0,0 +1,61 @@
+package com.ylx.massage.domain.dto;
+
+import io.swagger.annotations.ApiModel;
+import io.swagger.annotations.ApiModelProperty;
+import lombok.Data;
+
+/**
+ * 后台商户入驻审核查询参数。
+ */
+@Data
+@ApiModel(value = "MaTechnicianAuditQueryDTO", description = "后台商户入驻审核查询参数")
+public class MaTechnicianAuditQueryDTO {
+
+    /**
+     * 商户姓名,支持模糊查询。
+     */
+    @ApiModelProperty("姓名")
+    private String teName;
+
+    /**
+     * 商户昵称,支持模糊查询。
+     */
+    @ApiModelProperty("昵称")
+    private String teNickName;
+
+    /**
+     * 用户类型:0-正式用户,1-虚拟用户。
+     */
+    @ApiModelProperty("用户类型:0-正式用户 1-虚拟用户")
+    private Integer techType;
+
+    /**
+     * 商户电话,支持模糊查询。
+     */
+    @ApiModelProperty("商户电话")
+    private String tePhone;
+
+    /**
+     * 申请开始时间,格式:yyyy-MM-dd HH:mm:ss。
+     */
+    @ApiModelProperty("申请开始时间")
+    private String beginApplyTime;
+
+    /**
+     * 申请结束时间,格式:yyyy-MM-dd HH:mm:ss。
+     */
+    @ApiModelProperty("申请结束时间")
+    private String endApplyTime;
+
+    /**
+     * 性别:0-女,1-男。
+     */
+    @ApiModelProperty("性别:0-女 1-男")
+    private Integer teSex;
+
+    /**
+     * 审核状态:0-待入驻,1-待审核,2-审核通过,3-审核驳回。
+     */
+    @ApiModelProperty("审核状态:0-待入驻 1-待审核 2-审核通过 3-审核驳回")
+    private Integer auditStatus;
+}

+ 89 - 0
nightFragrance-massage/src/main/java/com/ylx/massage/domain/vo/MaTechnicianAuditListVO.java

@@ -0,0 +1,89 @@
+package com.ylx.massage.domain.vo;
+
+import com.fasterxml.jackson.annotation.JsonFormat;
+import io.swagger.annotations.ApiModel;
+import io.swagger.annotations.ApiModelProperty;
+import lombok.Data;
+
+import java.util.Date;
+
+/**
+ * 后台商户入驻审核列表展示对象。
+ */
+@Data
+@ApiModel(value = "MaTechnicianAuditListVO", description = "后台商户入驻审核列表展示对象")
+public class MaTechnicianAuditListVO {
+
+    /**
+     * 商户ID。
+     */
+    @ApiModelProperty("商户ID")
+    private Long merchantId;
+
+    /**
+     * 姓名。
+     */
+    @ApiModelProperty("姓名")
+    private String teName;
+
+    /**
+     * 性别编码:0-女,1-男。
+     */
+    @ApiModelProperty("性别:0-女 1-男")
+    private Integer teSex;
+
+    /**
+     * 性别展示名称。
+     */
+    @ApiModelProperty("性别名称")
+    private String teSexName;
+
+    /**
+     * 电话。
+     */
+    @ApiModelProperty("电话")
+    private String tePhone;
+
+    /**
+     * 形象照。
+     */
+    @ApiModelProperty("形象照")
+    private String avatar;
+
+    /**
+     * 意向城市。
+     */
+    @ApiModelProperty("意向城市")
+    private String teAddress;
+
+    /**
+     * 开通服务名称。
+     */
+    @ApiModelProperty("开通服务")
+    private String openServiceName;
+
+    /**
+     * 申请时间。
+     */
+    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
+    @ApiModelProperty("申请时间")
+    private Date applyTime;
+
+    /**
+     * 审核状态编码:0-待入驻,1-待审核,2-审核通过,3-审核驳回。
+     */
+    @ApiModelProperty("审核状态:0-待入驻 1-待审核 2-审核通过 3-审核驳回")
+    private Integer auditStatus;
+
+    /**
+     * 审核状态名称。
+     */
+    @ApiModelProperty("审核状态名称")
+    private String auditStatusName;
+
+    /**
+     * 用户类型:0-正式用户,1-虚拟用户。
+     */
+    @ApiModelProperty("用户类型:0-正式用户 1-虚拟用户")
+    private Integer techType;
+}

+ 12 - 0
nightFragrance-massage/src/main/java/com/ylx/massage/mapper/MaTechnicianMapper.java

@@ -5,8 +5,10 @@ import java.util.List;
 import com.baomidou.mybatisplus.core.mapper.BaseMapper;
 import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
 import com.ylx.massage.domain.MaTechnician;
+import com.ylx.massage.domain.dto.MaTechnicianAuditQueryDTO;
 import com.ylx.massage.domain.dto.MaTechnicianMerchantQueryDTO;
 import com.ylx.massage.domain.dto.MassageMerchantRecommendDto;
+import com.ylx.massage.domain.vo.MaTechnicianAuditListVO;
 import com.ylx.massage.domain.vo.MaTechnicianMerchantDetailVO;
 import com.ylx.massage.domain.vo.MaTechnicianMerchantListVO;
 import com.ylx.massage.domain.vo.MassageProjectRecommendVo;
@@ -81,6 +83,16 @@ public interface MaTechnicianMapper extends BaseMapper<MaTechnician>
     Page<MaTechnicianMerchantListVO> selectMerchantList(Page<MaTechnicianMerchantListVO> page,
                                                         @Param("dto") MaTechnicianMerchantQueryDTO dto);
 
+    /**
+     * 后台查询商户入驻审核列表
+     *
+     * @param page 分页参数
+     * @param dto 查询条件
+     * @return 商户入驻审核分页列表
+     */
+    Page<MaTechnicianAuditListVO> selectMerchantAuditList(Page<MaTechnicianAuditListVO> page,
+                                                          @Param("dto") MaTechnicianAuditQueryDTO dto);
+
     /**
      * 后台查询商户详情
      *

+ 12 - 0
nightFragrance-massage/src/main/java/com/ylx/massage/service/IMaTechnicianService.java

@@ -9,10 +9,12 @@ import com.ylx.common.core.domain.model.LoginUser;
 import com.ylx.massage.domain.MaProject;
 import com.ylx.massage.domain.MaTechnician;
 import com.ylx.massage.domain.dto.MaProjectSaveDto;
+import com.ylx.massage.domain.dto.MaTechnicianAuditQueryDTO;
 import com.ylx.massage.domain.dto.MassageMerchantRecommendDto;
 import com.ylx.massage.domain.dto.MaTechnicianMerchantAddDTO;
 import com.ylx.massage.domain.dto.MaTechnicianMerchantQueryDTO;
 import com.ylx.massage.domain.vo.MaTechnicianAppAddVo;
+import com.ylx.massage.domain.vo.MaTechnicianAuditListVO;
 import com.ylx.massage.domain.vo.MaTechnicianMerchantDetailVO;
 import com.ylx.massage.domain.vo.MaTechnicianMerchantListVO;
 import com.ylx.massage.domain.vo.MerchantVo;
@@ -80,6 +82,16 @@ public interface IMaTechnicianService extends IService<MaTechnician> {
      */
     AjaxResult uploadMerchantContract(Integer id, MultipartFile file, LoginUser loginUser);
 
+    /**
+     * 后台查询商户入驻审核列表
+     *
+     * @param page 分页参数
+     * @param dto  查询条件
+     * @return 商户入驻审核分页列表
+     */
+    Page<MaTechnicianAuditListVO> selectMerchantAuditList(Page<MaTechnicianAuditListVO> page,
+                                                          MaTechnicianAuditQueryDTO dto);
+
     /**
      * 后台查询商户列表
      *

+ 18 - 0
nightFragrance-massage/src/main/java/com/ylx/massage/service/impl/MaTechnicianServiceImpl.java

@@ -16,10 +16,12 @@ import com.ylx.massage.domain.ContractRecord;
 import com.ylx.massage.domain.MaProject;
 import com.ylx.massage.domain.MaTeProject;
 import com.ylx.massage.domain.dto.MaProjectSaveDto;
+import com.ylx.massage.domain.dto.MaTechnicianAuditQueryDTO;
 import com.ylx.massage.domain.dto.MaTechnicianMerchantAddDTO;
 import com.ylx.massage.domain.dto.MaTechnicianMerchantQueryDTO;
 import com.ylx.massage.domain.dto.MassageMerchantRecommendDto;
 import com.ylx.massage.domain.vo.MaTechnicianAppAddVo;
+import com.ylx.massage.domain.vo.MaTechnicianAuditListVO;
 import com.ylx.massage.domain.vo.MaTechnicianMerchantDetailVO;
 import com.ylx.massage.domain.vo.MaTechnicianMerchantListVO;
 import com.ylx.massage.domain.vo.MerchantVo;
@@ -370,6 +372,22 @@ public class MaTechnicianServiceImpl extends ServiceImpl<MaTechnicianMapper, MaT
         }
     }
 
+    /**
+     * 后台查询商户入驻审核列表
+     *
+     * @param page 分页参数
+     * @param dto  查询条件
+     * @return 商户入驻审核分页列表
+     */
+    @Override
+    public Page<MaTechnicianAuditListVO> selectMerchantAuditList(Page<MaTechnicianAuditListVO> page, MaTechnicianAuditQueryDTO dto) {
+        if (dto != null && dto.getAuditStatus() != null) {
+            checkEnumValue(dto.getAuditStatus(), "审核状态", 0, 1, 2, 3);
+        }
+        Page<MaTechnicianAuditListVO> pageParam = page == null ? new Page<>(1, 10) : page;
+        return maTechnicianMapper.selectMerchantAuditList(pageParam, dto);
+    }
+
     /**
      * 后台查询商户列表
      *

+ 85 - 0
nightFragrance-massage/src/main/resources/mapper/massage/MaTechnicianMapper.xml

@@ -232,6 +232,91 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
         <result property="isRecommendName" column="is_recommend_name"/>
     </resultMap>
 
+    <resultMap type="com.ylx.massage.domain.vo.MaTechnicianAuditListVO" id="MaTechnicianAuditListResult">
+        <result property="merchantId" column="merchant_id"/>
+        <result property="teName" column="te_name"/>
+        <result property="teSex" column="te_sex"/>
+        <result property="teSexName" column="te_sex_name"/>
+        <result property="tePhone" column="te_phone"/>
+        <result property="avatar" column="avatar"/>
+        <result property="teAddress" column="te_address"/>
+        <result property="openServiceName" column="open_service_name"/>
+        <result property="applyTime" column="apply_time"/>
+        <result property="auditStatus" column="audit_status"/>
+        <result property="auditStatusName" column="audit_status_name"/>
+        <result property="techType" column="tech_type"/>
+    </resultMap>
+
+    <select id="selectMerchantAuditList" resultMap="MaTechnicianAuditListResult">
+        SELECT
+            t.id AS merchant_id,
+            t.te_name,
+            t.te_sex,
+            CASE t.te_sex
+                WHEN 0 THEN '女'
+                WHEN 1 THEN '男'
+                ELSE ''
+            END AS te_sex_name,
+            t.te_phone,
+            t.avatar,
+            t.te_address,
+            COALESCE((
+                SELECT GROUP_CONCAT(DISTINCT sc.name ORDER BY sc.sort, sc.id SEPARATOR '/')
+                FROM service_category sc
+                WHERE FIND_IN_SET(sc.id, t.openService)
+                  AND sc.is_delete = 0
+            ), '') AS open_service_name,
+            t.create_time AS apply_time,
+            t.audit_status,
+            CASE t.audit_status
+                WHEN 0 THEN '待入驻'
+                WHEN 1 THEN '待审核'
+                WHEN 2 THEN '审核通过'
+                WHEN 3 THEN '审核驳回'
+                ELSE ''
+            END AS audit_status_name,
+            t.tech_type
+        FROM ma_technician t
+        <where>
+            t.is_delete = 0
+            <if test="dto != null">
+                <choose>
+                    <when test="dto.auditStatus != null">
+                        AND t.audit_status = #{dto.auditStatus}
+                    </when>
+                    <otherwise>
+                        AND t.audit_status IN (0, 1, 2, 3)
+                    </otherwise>
+                </choose>
+                <if test="dto.teName != null and dto.teName != ''">
+                    AND t.te_name LIKE CONCAT('%', #{dto.teName}, '%')
+                </if>
+                <if test="dto.teNickName != null and dto.teNickName != ''">
+                    AND t.te_nick_name LIKE CONCAT('%', #{dto.teNickName}, '%')
+                </if>
+                <if test="dto.techType != null">
+                    AND t.tech_type = #{dto.techType}
+                </if>
+                <if test="dto.tePhone != null and dto.tePhone != ''">
+                    AND t.te_phone LIKE CONCAT('%', #{dto.tePhone}, '%')
+                </if>
+                <if test="dto.beginApplyTime != null and dto.beginApplyTime != ''">
+                    AND t.create_time &gt;= #{dto.beginApplyTime}
+                </if>
+                <if test="dto.endApplyTime != null and dto.endApplyTime != ''">
+                    AND t.create_time &lt;= #{dto.endApplyTime}
+                </if>
+                <if test="dto.teSex != null">
+                    AND t.te_sex = #{dto.teSex}
+                </if>
+            </if>
+            <if test="dto == null">
+                AND t.audit_status IN (0, 1, 2, 3)
+            </if>
+        </where>
+        ORDER BY t.create_time DESC
+    </select>
+
     <select id="selectMerchantList" resultMap="MaTechnicianMerchantListResult">
         SELECT
             t.id AS merchant_id,