From 163aa6b084f81aa7a8fcc9f693c169456d768f95 Mon Sep 17 00:00:00 2001
From: xiaoyong931011 <15274802129@163.com>
Date: Tue, 29 Aug 2023 11:47:54 +0800
Subject: [PATCH] jufu商城

---
 src/main/java/cc/mrbird/febs/mall/mapper/MallMemberAuthMapper.java             |   17 ++
 src/main/java/cc/mrbird/febs/mall/dto/UpdateMemberAliDto.java                  |    6 
 src/main/java/cc/mrbird/febs/mall/controller/AdminMallMemberController.java    |   32 ++++
 src/main/java/cc/mrbird/febs/mall/dto/MemberAuthDto.java                       |   23 ++
 src/main/java/cc/mrbird/febs/mall/service/IApiMallMemberService.java           |    2 
 src/main/java/cc/mrbird/febs/mall/service/impl/AdminMallMemberServiceImpl.java |   35 ++++
 src/main/java/cc/mrbird/febs/mall/service/impl/ApiMallMemberServiceImpl.java   |   23 ++
 src/main/java/cc/mrbird/febs/mall/vo/MallMemberVo.java                         |    3 
 src/main/java/cc/mrbird/febs/mall/entity/MallMember.java                       |    5 
 src/main/java/cc/mrbird/febs/mall/entity/MallMemberAlipay.java                 |    6 
 src/main/java/cc/mrbird/febs/mall/controller/ViewMallMemberController.java     |   10 +
 src/main/java/cc/mrbird/febs/mall/controller/ApiMallMemberController.java      |    7 
 src/main/resources/templates/febs/views/modules/mallMember/memberAuthList.html |  206 +++++++++++++++++++++++++
 src/main/resources/mapper/modules/MallMemberAuthMapper.xml                     |   39 ++++
 src/main/java/cc/mrbird/febs/mall/dto/AddMemberAliDto.java                     |    6 
 src/main/java/cc/mrbird/febs/mall/entity/MallMemberAuth.java                   |   32 ++++
 src/main/java/cc/mrbird/febs/mall/vo/MemberAliVo.java                          |    6 
 src/main/java/cc/mrbird/febs/mall/service/IAdminMallMemberService.java         |    6 
 18 files changed, 451 insertions(+), 13 deletions(-)

diff --git a/src/main/java/cc/mrbird/febs/mall/controller/AdminMallMemberController.java b/src/main/java/cc/mrbird/febs/mall/controller/AdminMallMemberController.java
index f0fd5ad..d26e8f3 100644
--- a/src/main/java/cc/mrbird/febs/mall/controller/AdminMallMemberController.java
+++ b/src/main/java/cc/mrbird/febs/mall/controller/AdminMallMemberController.java
@@ -249,6 +249,16 @@
         return mallMemberService.chargeAgreeWithType(mallMemberWithdraw);
     }
 
+
+    /**
+     * 实名认证-同意
+     */
+    @GetMapping("authAgree/{id}")
+    @ControllerEndpoint(operation = "实名认证-同意", exceptionMessage = "操作失败")
+    public FebsResponse authAgree(@NotNull(message = "{required}") @PathVariable Long id) {
+        return mallMemberService.authAgree(id);
+    }
+
     /**
      * 会员提现-查看结果
      *
@@ -283,6 +293,18 @@
     @ControllerEndpoint(operation = "会员提现-拒绝", exceptionMessage = "操作失败")
     public FebsResponse chargeDisagree(@NotNull(message = "{required}") @PathVariable Long id) {
         return mallMemberService.chargeDisagree(id);
+    }
+
+    /**
+     * 实名认证-拒绝
+     *
+     * @param id
+     * @return
+     */
+    @GetMapping("authDisagree/{id}")
+    @ControllerEndpoint(operation = "实名认证-拒绝", exceptionMessage = "操作失败")
+    public FebsResponse authDisagree(@NotNull(message = "{required}") @PathVariable Long id) {
+        return mallMemberService.authDisagree(id);
     }
 
     /**
@@ -581,4 +603,14 @@
         return null;
     }
 
+
+    /**
+     * 会员实名认证-列表
+     */
+    @GetMapping("memberAuthList")
+    public FebsResponse memberAuthList(MoneyChargeListDto moneyChargeListDto, QueryRequest request) {
+        Map<String, Object> data = getDataTable(mallMemberService.memberAuthList(moneyChargeListDto, request));
+        return new FebsResponse().success().data(data);
+    }
+
 }
diff --git a/src/main/java/cc/mrbird/febs/mall/controller/ApiMallMemberController.java b/src/main/java/cc/mrbird/febs/mall/controller/ApiMallMemberController.java
index f232226..a59b25f 100644
--- a/src/main/java/cc/mrbird/febs/mall/controller/ApiMallMemberController.java
+++ b/src/main/java/cc/mrbird/febs/mall/controller/ApiMallMemberController.java
@@ -221,7 +221,6 @@
         return memberService.findBankName();
     }
 
-
     @ApiOperation(value = "新增支付宝")
     @PostMapping(value = "/addMemberAli")
     public FebsResponse addMemberAli(@RequestBody AddMemberAliDto addMemberAliDto) {
@@ -257,4 +256,10 @@
         return memberService.memberAliList(memberAliListDto);
     }
 
+    @ApiOperation(value = "实名认证")
+    @PostMapping(value = "/memberAuth")
+    public FebsResponse memberAuth(@RequestBody MemberAuthDto memberAuthDto) {
+        return memberService.memberAuth(memberAuthDto);
+    }
+
 }
diff --git a/src/main/java/cc/mrbird/febs/mall/controller/ViewMallMemberController.java b/src/main/java/cc/mrbird/febs/mall/controller/ViewMallMemberController.java
index dcb5383..adf5a41 100644
--- a/src/main/java/cc/mrbird/febs/mall/controller/ViewMallMemberController.java
+++ b/src/main/java/cc/mrbird/febs/mall/controller/ViewMallMemberController.java
@@ -140,6 +140,16 @@
     }
 
     /**
+     * 实名认证
+     * @return
+     */
+    @GetMapping("memberAuthList")
+    @RequiresPermissions("memberAuthList:view")
+    public String memberAuthList() {
+        return FebsUtil.view("modules/mallMember/memberAuthList");
+    }
+
+    /**
      * 提现列表-收款方式
      * @param id
      * @param model
diff --git a/src/main/java/cc/mrbird/febs/mall/dto/AddMemberAliDto.java b/src/main/java/cc/mrbird/febs/mall/dto/AddMemberAliDto.java
index 272394f..8bfc0ba 100644
--- a/src/main/java/cc/mrbird/febs/mall/dto/AddMemberAliDto.java
+++ b/src/main/java/cc/mrbird/febs/mall/dto/AddMemberAliDto.java
@@ -9,11 +9,11 @@
 public class AddMemberAliDto {
 
     @ApiModelProperty(value = "姓名")
-    private Long name;
+    private String name;
 
     @ApiModelProperty(value = "账号")
-    private Long aliNum;
+    private String aliNum;
 
     @ApiModelProperty(value = "图片")
-    private Long aliPic;
+    private String aliPic;
 }
diff --git a/src/main/java/cc/mrbird/febs/mall/dto/MemberAuthDto.java b/src/main/java/cc/mrbird/febs/mall/dto/MemberAuthDto.java
new file mode 100644
index 0000000..a1b1e43
--- /dev/null
+++ b/src/main/java/cc/mrbird/febs/mall/dto/MemberAuthDto.java
@@ -0,0 +1,23 @@
+package cc.mrbird.febs.mall.dto;
+
+import io.swagger.annotations.ApiModel;
+import io.swagger.annotations.ApiModelProperty;
+import lombok.Data;
+
+@Data
+@ApiModel(value = "MemberAuthDto", description = "参数接收类")
+public class MemberAuthDto {
+
+    @ApiModelProperty(value = "姓名", example = "姓名")
+    private String name;
+
+    @ApiModelProperty(value = "身份证号码", example = "身份证号码")
+    private String cardNum;
+
+    @ApiModelProperty(value = "正面", example = "正面")
+    private String cardFront;
+
+    @ApiModelProperty(value = "反面", example = "反面")
+    private String cardBack;
+
+}
diff --git a/src/main/java/cc/mrbird/febs/mall/dto/UpdateMemberAliDto.java b/src/main/java/cc/mrbird/febs/mall/dto/UpdateMemberAliDto.java
index a081bc3..cfd7c6f 100644
--- a/src/main/java/cc/mrbird/febs/mall/dto/UpdateMemberAliDto.java
+++ b/src/main/java/cc/mrbird/febs/mall/dto/UpdateMemberAliDto.java
@@ -11,11 +11,11 @@
     private Long id;
 
     @ApiModelProperty(value = "姓名")
-    private Long name;
+    private String name;
 
     @ApiModelProperty(value = "账号")
-    private Long aliNum;
+    private String aliNum;
 
     @ApiModelProperty(value = "图片")
-    private Long aliPic;
+    private String aliPic;
 }
diff --git a/src/main/java/cc/mrbird/febs/mall/entity/MallMember.java b/src/main/java/cc/mrbird/febs/mall/entity/MallMember.java
index aed3e8e..55bbfa8 100644
--- a/src/main/java/cc/mrbird/febs/mall/entity/MallMember.java
+++ b/src/main/java/cc/mrbird/febs/mall/entity/MallMember.java
@@ -173,4 +173,9 @@
 
     //提现开关 1:开启 2:关闭
     private Integer outsideWith;
+
+    //是否实名认证  1:是 2:否 默认否
+    private Integer isAuth;
+
+
 }
diff --git a/src/main/java/cc/mrbird/febs/mall/entity/MallMemberAlipay.java b/src/main/java/cc/mrbird/febs/mall/entity/MallMemberAlipay.java
index 51d0099..7dab291 100644
--- a/src/main/java/cc/mrbird/febs/mall/entity/MallMemberAlipay.java
+++ b/src/main/java/cc/mrbird/febs/mall/entity/MallMemberAlipay.java
@@ -9,7 +9,7 @@
 public class MallMemberAlipay extends BaseEntity {
 
     private Long memberId;
-    private Long name;
-    private Long aliNum;
-    private Long aliPic;
+    private String name;
+    private String aliNum;
+    private String aliPic;
 }
diff --git a/src/main/java/cc/mrbird/febs/mall/entity/MallMemberAuth.java b/src/main/java/cc/mrbird/febs/mall/entity/MallMemberAuth.java
new file mode 100644
index 0000000..57d670b
--- /dev/null
+++ b/src/main/java/cc/mrbird/febs/mall/entity/MallMemberAuth.java
@@ -0,0 +1,32 @@
+package cc.mrbird.febs.mall.entity;
+
+import cc.mrbird.febs.common.entity.BaseEntity;
+import com.baomidou.mybatisplus.annotation.TableField;
+import com.baomidou.mybatisplus.annotation.TableName;
+import lombok.Data;
+
+import java.math.BigDecimal;
+
+@Data
+@TableName("mall_member_auth")
+public class MallMemberAuth extends BaseEntity {
+
+    private Long memberId;
+
+    private String cardNum;
+
+    private String name;
+
+    private String cardFront;
+
+    private String cardBack;
+    //审核状态 1:待审核 2:通过3:拒绝
+    private Integer status;
+
+    @TableField(exist = false)
+    private String accountLogin;
+
+    @TableField(exist = false)
+    private String phone;
+
+}
diff --git a/src/main/java/cc/mrbird/febs/mall/mapper/MallMemberAuthMapper.java b/src/main/java/cc/mrbird/febs/mall/mapper/MallMemberAuthMapper.java
new file mode 100644
index 0000000..b93ff80
--- /dev/null
+++ b/src/main/java/cc/mrbird/febs/mall/mapper/MallMemberAuthMapper.java
@@ -0,0 +1,17 @@
+package cc.mrbird.febs.mall.mapper;
+
+import cc.mrbird.febs.mall.dto.MoneyChargeListDto;
+import cc.mrbird.febs.mall.entity.MallMemberAuth;
+import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+import com.baomidou.mybatisplus.core.metadata.IPage;
+import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
+import org.apache.ibatis.annotations.Param;
+
+import java.util.List;
+
+public interface MallMemberAuthMapper extends BaseMapper<MallMemberAuth> {
+
+    List<MallMemberAuth> selectByMemberIdAndStatus(@Param("memberId")Long id,@Param("status")Integer status);
+
+    IPage<MallMemberAuth> getMemberAuthListInPage(Page<MallMemberAuth> page,@Param("record") MoneyChargeListDto moneyChargeListDto);
+}
diff --git a/src/main/java/cc/mrbird/febs/mall/service/IAdminMallMemberService.java b/src/main/java/cc/mrbird/febs/mall/service/IAdminMallMemberService.java
index 559c53f..a9adf1d 100644
--- a/src/main/java/cc/mrbird/febs/mall/service/IAdminMallMemberService.java
+++ b/src/main/java/cc/mrbird/febs/mall/service/IAdminMallMemberService.java
@@ -121,4 +121,10 @@
     FebsResponse outsideWithType(Long id, int i);
 
     FebsResponse chargeAgreeWithType(MallMemberWithdraw mallMemberWithdraw);
+
+    IPage<MallMemberAuth> memberAuthList(MoneyChargeListDto moneyChargeListDto, QueryRequest request);
+
+    FebsResponse authAgree(Long id);
+
+    FebsResponse authDisagree(Long id);
 }
diff --git a/src/main/java/cc/mrbird/febs/mall/service/IApiMallMemberService.java b/src/main/java/cc/mrbird/febs/mall/service/IApiMallMemberService.java
index d08e59f..6830ca4 100644
--- a/src/main/java/cc/mrbird/febs/mall/service/IApiMallMemberService.java
+++ b/src/main/java/cc/mrbird/febs/mall/service/IApiMallMemberService.java
@@ -88,4 +88,6 @@
     FebsResponse updateMemberAli(UpdateMemberAliDto updateMemberAliDto);
 
     FebsResponse memberAliList(MemberAliListDto memberAliListDto);
+
+    FebsResponse memberAuth(MemberAuthDto memberAuthDto);
 }
diff --git a/src/main/java/cc/mrbird/febs/mall/service/impl/AdminMallMemberServiceImpl.java b/src/main/java/cc/mrbird/febs/mall/service/impl/AdminMallMemberServiceImpl.java
index 1e1ee93..2dbe8fe 100644
--- a/src/main/java/cc/mrbird/febs/mall/service/impl/AdminMallMemberServiceImpl.java
+++ b/src/main/java/cc/mrbird/febs/mall/service/impl/AdminMallMemberServiceImpl.java
@@ -78,6 +78,7 @@
     private final MallScoreRecordMapper mallScoreRecordMapper;
     private final MallScoreAchieveReleaseMapper mallScoreAchieveReleaseMapper;
     private final NBYHService nbyhService;
+    private final MallMemberAuthMapper mallMemberAuthMapper;
 
     @Override
     public IPage<MallMember> getMallMemberList(MallMember mallMember, QueryRequest request) {
@@ -875,6 +876,40 @@
 
     }
 
+    @Override
+    public IPage<MallMemberAuth> memberAuthList(MoneyChargeListDto moneyChargeListDto, QueryRequest request) {
+        Page<MallMemberAuth> page = new Page<>(request.getPageNum(), request.getPageSize());
+        return mallMemberAuthMapper.getMemberAuthListInPage(page, moneyChargeListDto);
+    }
+
+    @Override
+    public FebsResponse authAgree(Long id) {
+        MallMemberAuth mallMemberAuth = mallMemberAuthMapper.selectById(id);
+        if(ObjectUtil.isEmpty(mallMemberAuth)){
+            return new FebsResponse().fail().message("系统繁忙,请刷新后重试");
+        }
+        if(1 != mallMemberAuth.getStatus()){
+            return new FebsResponse().fail().message("当前状态不是进行中");
+        }
+        mallMemberAuth.setStatus(2);
+        mallMemberAuthMapper.updateById(mallMemberAuth);
+        return new FebsResponse().success();
+    }
+
+    @Override
+    public FebsResponse authDisagree(Long id) {
+        MallMemberAuth mallMemberAuth = mallMemberAuthMapper.selectById(id);
+        if(ObjectUtil.isEmpty(mallMemberAuth)){
+            return new FebsResponse().fail().message("系统繁忙,请刷新后重试");
+        }
+        if(1 != mallMemberAuth.getStatus()){
+            return new FebsResponse().fail().message("当前状态不是进行中");
+        }
+        mallMemberAuth.setStatus(3);
+        mallMemberAuthMapper.updateById(mallMemberAuth);
+        return new FebsResponse().success();
+    }
+
     private String refererIds(String parentId) {
         boolean flag = false;
         if (StrUtil.isBlank(parentId)) {
diff --git a/src/main/java/cc/mrbird/febs/mall/service/impl/ApiMallMemberServiceImpl.java b/src/main/java/cc/mrbird/febs/mall/service/impl/ApiMallMemberServiceImpl.java
index ef44638..2991475 100644
--- a/src/main/java/cc/mrbird/febs/mall/service/impl/ApiMallMemberServiceImpl.java
+++ b/src/main/java/cc/mrbird/febs/mall/service/impl/ApiMallMemberServiceImpl.java
@@ -60,6 +60,7 @@
     private final MallRegisterAppealMapper mallRegisterAppealMapper;
     private final MallMemberBankMapper mallMemberBankMapper;
     private final MallMemberAlipayMapper mallMemberAlipayMapper;
+    private final MallMemberAuthMapper mallMemberAuthMapper;
 
 
     @Value("${spring.profiles.active}")
@@ -732,4 +733,26 @@
         IPage<MemberAliVo> pageResult = mallMemberAlipayMapper.memberAliListInPage(memberAliListDto, page);
         return new FebsResponse().success().data(pageResult);
     }
+
+    @Override
+    public FebsResponse memberAuth(MemberAuthDto memberAuthDto) {
+        MallMember member = LoginUserUtil.getLoginUser();
+        List<MallMemberAuth> mallMemberAuthYes = mallMemberAuthMapper.selectByMemberIdAndStatus(member.getId(),2);
+        if(ObjectUtil.isNotEmpty(mallMemberAuthYes)){
+            throw new FebsException("已实名认证");
+        }
+        List<MallMemberAuth> mallMemberAuthIng = mallMemberAuthMapper.selectByMemberIdAndStatus(member.getId(),1);
+        if(ObjectUtil.isNotEmpty(mallMemberAuthIng)){
+            throw new FebsException("正在实名认证中");
+        }
+
+        MallMemberAuth mallMemberAuth = new MallMemberAuth();
+        mallMemberAuth.setName(memberAuthDto.getName());
+        mallMemberAuth.setCardNum(memberAuthDto.getCardNum());
+        mallMemberAuth.setCardFront(memberAuthDto.getCardFront());
+        mallMemberAuth.setCardBack(memberAuthDto.getCardBack());
+        mallMemberAuth.setStatus(1);
+        mallMemberAuthMapper.insert(mallMemberAuth);
+        return new FebsResponse().success();
+    }
 }
diff --git a/src/main/java/cc/mrbird/febs/mall/vo/MallMemberVo.java b/src/main/java/cc/mrbird/febs/mall/vo/MallMemberVo.java
index 20d222a..4c2090f 100644
--- a/src/main/java/cc/mrbird/febs/mall/vo/MallMemberVo.java
+++ b/src/main/java/cc/mrbird/febs/mall/vo/MallMemberVo.java
@@ -99,4 +99,7 @@
     @ApiModelProperty(value = "内转标识 1:开启 2:关闭")
     private Integer insideWith;
 
+    @ApiModelProperty(value = "是否实名认证  1:是 2:否")
+    private Integer isAuth;
+
 }
diff --git a/src/main/java/cc/mrbird/febs/mall/vo/MemberAliVo.java b/src/main/java/cc/mrbird/febs/mall/vo/MemberAliVo.java
index bd6e2d4..643d6e1 100644
--- a/src/main/java/cc/mrbird/febs/mall/vo/MemberAliVo.java
+++ b/src/main/java/cc/mrbird/febs/mall/vo/MemberAliVo.java
@@ -11,11 +11,11 @@
     private Long id;
 
     @ApiModelProperty(value = "姓名")
-    private Long name;
+    private String name;
 
     @ApiModelProperty(value = "账号")
-    private Long aliNum;
+    private String aliNum;
 
     @ApiModelProperty(value = "图片")
-    private Long aliPic;
+    private String aliPic;
 }
diff --git a/src/main/resources/mapper/modules/MallMemberAuthMapper.xml b/src/main/resources/mapper/modules/MallMemberAuthMapper.xml
new file mode 100644
index 0000000..7eff849
--- /dev/null
+++ b/src/main/resources/mapper/modules/MallMemberAuthMapper.xml
@@ -0,0 +1,39 @@
+<?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="cc.mrbird.febs.mall.mapper.MallMemberAuthMapper">
+
+    <select id="selectByMemberIdAndStatus" resultType="cc.mrbird.febs.mall.entity.MallMemberAuth">
+        select
+            a.*
+        from mall_member_auth a
+        where a.member_id = #{memberId}
+        and a.status = #{status}
+    </select>
+
+    <select id="getMemberAuthListInPage" resultType="cc.mrbird.febs.mall.entity.MallMemberAuth">
+        select
+        a.*,
+        b.account_login accountLogin,
+        b.phone
+        from mall_member_auth a
+        inner join mall_member b on a.member_id=b.id
+        <where>
+            <if test="record != null" >
+                <if test="record.accountLogin!=null and record.accountLogin!=''">
+                    and b.account_login like concat('%',  #{record.accountLogin},'%')
+                </if>
+                <if test="record.phone!=null and record.phone!=''">
+                    and b.phone like concat('%',  #{record.phone},'%')
+                </if>
+                <if test="record.name!=null and record.name!=''">
+                    and a.name like concat('%',  #{record.name},'%')
+                </if>
+                <if test="record.status!=null and record.status!=''">
+                    and a.status = #{record.status}
+                </if>
+            </if>
+        </where>
+        order by a.created_time desc
+    </select>
+
+</mapper>
\ No newline at end of file
diff --git a/src/main/resources/templates/febs/views/modules/mallMember/memberAuthList.html b/src/main/resources/templates/febs/views/modules/mallMember/memberAuthList.html
new file mode 100644
index 0000000..d569a45
--- /dev/null
+++ b/src/main/resources/templates/febs/views/modules/mallMember/memberAuthList.html
@@ -0,0 +1,206 @@
+<div class="layui-fluid layui-anim febs-anim" id="febs-member-auth" lay-title="实名认证">
+    <div class="layui-row febs-container">
+        <div class="layui-col-md12">
+            <div class="layui-card">
+                <div class="layui-card-body febs-table-full">
+                    <form class="layui-form layui-table-form" lay-filter="user-table-form">
+                        <div class="layui-row">
+                            <div class="layui-col-md10">
+                                <div class="layui-form-item">
+                                    <div class="layui-inline">
+                                        <label class="layui-form-label">登录账户:</label>
+                                        <div class="layui-input-inline">
+                                            <input type="text" placeholder="登录账户" name="accountLogin" autocomplete="off" class="layui-input">
+                                        </div>
+                                    </div>
+                                    <div class="layui-inline">
+                                        <label class="layui-form-label">名称:</label>
+                                        <div class="layui-input-inline">
+                                            <input type="text" placeholder="名称" name="name" autocomplete="off" class="layui-input">
+                                        </div>
+                                    </div>
+                                    <div class="layui-inline">
+                                        <label class="layui-form-label">手机号码:</label>
+                                        <div class="layui-input-inline">
+                                            <input type="text" placeholder="手机号码" name="phone" autocomplete="off" class="layui-input">
+                                        </div>
+                                    </div>
+                                    <div class="layui-inline">
+                                        <label class="layui-form-label">状态:</label>
+                                        <div class="layui-input-inline">
+                                            <select name="status">
+                                                <option value="">请选择</option>
+                                                <option value="1">进行中</option>
+                                                <option value="2">成功</option>
+                                                <option value="3">拒绝</option>
+                                            </select>
+                                        </div>
+                                    </div>
+                                </div>
+                            </div>
+                            <div class="layui-col-md2 layui-col-sm12 layui-col-xs12 table-action-area">
+                                <div class="layui-btn layui-btn-sm layui-btn-primary febs-button-blue-plain table-action" id="query">
+                                    <i class="layui-icon">&#xe848;</i>
+                                </div>
+                                <div class="layui-btn layui-btn-sm layui-btn-primary febs-button-green-plain table-action" id="reset">
+                                    <i class="layui-icon">&#xe79b;</i>
+                                </div>
+                            </div>
+                        </div>
+                    </form>
+                    <table lay-filter="memberAuthTable" lay-data="{id: 'memberAuthTable'}"></table>
+                </div>
+            </div>
+        </div>
+    </div>
+</div>
+<script type="text/html" id="member-auth-option">
+    {{# if(d.status === 1) { }}
+        <button class="layui-btn layui-btn-normal layui-btn-xs" type="button" shiro:hasPermission="authAgree:update" lay-event="authAgree">同意</button>
+        <button class="layui-btn layui-btn-normal layui-btn-xs" type="button" shiro:hasPermission="authDisagree:update" lay-event="authDisagree" >拒绝</button>
+    {{# } else { }}
+    {{# } }}
+</script>
+<!-- 表格操作栏 end -->
+<script data-th-inline="none" type="text/javascript">
+    // 引入组件并初始化
+    layui.use([ 'jquery', 'form', 'table', 'febs'], function () {
+        var $ = layui.jquery,
+            febs = layui.febs,
+            form = layui.form,
+            table = layui.table,
+            $view = $('#febs-member-auth'),
+            $query = $view.find('#query'),
+            $reset = $view.find('#reset'),
+            $searchForm = $view.find('form'),
+            sortObject = {field: 'phone', type: null},
+            tableIns;
+
+        form.render();
+        let currPageGoods = 1;//首先默认值为1,防止出错
+        //获取当前页
+        currPageGoods = $view.find(".layui-laypage-em").next().html();
+
+        // 表格初始化
+        initTable();
+
+        // 初始化表格操作栏各个按钮功能
+        table.on('tool(memberAuthTable)', function (obj) {
+            var data = obj.data,
+                layEvent = obj.event;
+            if (layEvent === 'authAgree') {
+                febs.modal.confirm('通过', '审核通过?', function () {
+                    authAgree(data.id);
+                });
+            }
+            if (layEvent === 'authDisagree') {
+                febs.modal.confirm('拒绝', '拒绝通过?', function () {
+                    authDisagree(data.id);
+                });
+            }
+            if (layEvent === 'seeCardFront') {
+                var t = $view.find('#seeCardFront'+data.id+'');
+                //页面层
+                layer.open({
+                    type: 1,
+                    title: "图片",
+                    skin: 'layui-layer-rim', //加上边框
+                    area: ['80%', '80%'], //宽高
+                    shadeClose: true, //开启遮罩关闭
+                    end: function (index, layero) {
+                        return false;
+                    },
+                    content: '<div style="text-align:center"><img src="' + $(t).attr('src') + '" /></div>'
+                });
+            }
+            if (layEvent === 'seeCardBack') {
+                var t = $view.find('#seeCardBack'+data.id+'');
+                //页面层
+                layer.open({
+                    type: 1,
+                    title: "图片",
+                    skin: 'layui-layer-rim', //加上边框
+                    area: ['80%', '80%'], //宽高
+                    shadeClose: true, //开启遮罩关闭
+                    end: function (index, layero) {
+                        return false;
+                    },
+                    content: '<div style="text-align:center"><img src="' + $(t).attr('src') + '" /></div>'
+                });
+            }
+        });
+        function authAgree(id) {
+            febs.get(ctx + 'admin/mallMember/authAgree/' + id, null, function () {
+                febs.alert.success('操作成功');
+                $query.click();
+            });
+        }
+        function authDisagree(id) {
+            febs.get(ctx + 'admin/mallMember/authDisagree/' + id, null, function () {
+                febs.alert.success('操作成功');
+                $query.click();
+            });
+        }
+
+        // 查询按钮
+        $query.on('click', function () {
+            var params = $.extend(getQueryParams(), {field: sortObject.field, order: sortObject.type});
+            tableIns.reload({where: params, page: {curr: currPageGoods}});
+        });
+
+        // 刷新按钮
+        $reset.on('click', function () {
+            $searchForm[0].reset();
+            sortObject.type = 'null';
+            tableIns.reload({where: getQueryParams(), page: {curr: currPageGoods}, initSort: sortObject});
+        });
+
+        function initTable() {
+            tableIns = febs.table.init({
+                elem: $view.find('table'),
+                id: 'memberAuthTable',
+                url: ctx + 'admin/mallMember/memberAuthList',
+                totalRow: true ,// 开启合计行
+                cols: [[
+                    {field: 'accountLogin', title: '登录账户', minWidth: 100,align:'left'},
+                    {field: 'phone', title: '手机号码', minWidth: 150,align:'left'},
+                    {field: 'name', title: '名称', minWidth: 100,align:'left'},
+                    {field: 'cardNum', title: '证件号码', minWidth: 100,align:'left'},
+                    {field: 'cardFront', title: '正面',
+                        templet: function (d) {
+                            return '<a lay-event="seeCardFront"><img id="seeCardFront'+d.id+'" src="'+d.cardFront+'" alt=""></a>';
+                        }, minWidth: 150,align:'center'},
+                    {field: 'cardBack', title: '反面',
+                        templet: function (d) {
+                            return '<a lay-event="seeCardBack"><img id="seeCardBack'+d.id+'" src="'+d.cardBack+'" alt=""></a>';
+                        }, minWidth: 150,align:'center'},
+                    {field: 'status', title: '状态',
+                        templet: function (d) {
+                            if (d.status === 1) {
+                                return '<span style="color:green;">进行中</span>'
+                            } else if (d.status === 2) {
+                                return '<span style="color:blue;">成功</span>'
+                            } else if (d.status === 3) {
+                                return '<span style="color:red;">拒绝</span>'
+                            } else{
+                                return ''
+                            }
+                        }, minWidth: 80,align:'center'},
+                    {field: 'createdTime', title: '创建时间', minWidth: 180,align:'center'},
+                    {title: '操作', minWidth: 400 ,toolbar: '#member-auth-option'}
+                ]]
+            });
+        }
+
+        // 获取查询参数
+        function getQueryParams() {
+            return {
+                name: $searchForm.find('input[name="name"]').val().trim(),
+                accountLogin: $searchForm.find('input[name="accountLogin"]').val().trim(),
+                phone: $searchForm.find('input[name="phone"]').val().trim(),
+                status: $searchForm.find("select[name='status']").val(),
+            };
+        }
+
+    })
+</script>
\ No newline at end of file

--
Gitblit v1.9.1