xiaoyong931011
2020-07-07 0f326acd413279d2c3fccb27ee1a5723e1387bcf
20200707  代码提交
19 files modified
4 files added
535 ■■■■ changed files
src/main/java/com/xcong/excoin/modules/member/controller/MemberController.java 11 ●●●●● patch | view | raw | blame | history
src/main/java/com/xcong/excoin/modules/member/controller/ViewController.java 10 ●●●●● patch | view | raw | blame | history
src/main/java/com/xcong/excoin/modules/member/entity/AgentFriendRelationEntity.java 91 ●●●●● patch | view | raw | blame | history
src/main/java/com/xcong/excoin/modules/member/mapper/AgentFriendRelationMapper.java 19 ●●●●● patch | view | raw | blame | history
src/main/java/com/xcong/excoin/modules/member/mapper/MemberCoinChargeMapper.java 2 ●●●●● patch | view | raw | blame | history
src/main/java/com/xcong/excoin/modules/member/mapper/MemberCoinWithdrawMapper.java 2 ●●●●● patch | view | raw | blame | history
src/main/java/com/xcong/excoin/modules/member/mapper/MemberMapper.java 4 ●●●● patch | view | raw | blame | history
src/main/java/com/xcong/excoin/modules/member/mapper/MemberQuickBuySaleMapper.java 4 ●●●● patch | view | raw | blame | history
src/main/java/com/xcong/excoin/modules/member/service/IMemberService.java 3 ●●●●● patch | view | raw | blame | history
src/main/java/com/xcong/excoin/modules/member/service/impl/MemberServiceImpl.java 70 ●●●●● patch | view | raw | blame | history
src/main/resources/mapper/modules/AgentFriendRelationMapper.xml 25 ●●●●● patch | view | raw | blame | history
src/main/resources/mapper/modules/MemberCoinChargeMapper.xml 4 ●●●● patch | view | raw | blame | history
src/main/resources/mapper/modules/MemberCoinWithdrawMapper.xml 4 ●●●● patch | view | raw | blame | history
src/main/resources/mapper/modules/MemberMapper.xml 4 ●●●● patch | view | raw | blame | history
src/main/resources/mapper/modules/MemberQuickBuySaleMapper.xml 13 ●●●●● patch | view | raw | blame | history
src/main/resources/templates/error/403.html 2 ●●● patch | view | raw | blame | history
src/main/resources/templates/error/404.html 2 ●●● patch | view | raw | blame | history
src/main/resources/templates/error/500.html 2 ●●● patch | view | raw | blame | history
src/main/resources/templates/febs/views/index.html 148 ●●●●● patch | view | raw | blame | history
src/main/resources/templates/febs/views/layout.html 2 ●●● patch | view | raw | blame | history
src/main/resources/templates/febs/views/login.html 2 ●●● patch | view | raw | blame | history
src/main/resources/templates/febs/views/modules/member/agentInfo.html 109 ●●●●● patch | view | raw | blame | history
src/main/resources/templates/index.html 2 ●●● patch | view | raw | blame | history
src/main/java/com/xcong/excoin/modules/member/controller/MemberController.java
@@ -6,6 +6,7 @@
import com.xcong.excoin.common.entity.QueryRequest;
import com.xcong.excoin.modules.member.dto.MemberDataInfoDto;
import com.xcong.excoin.modules.member.dto.MemberDetailConfirmDto;
import com.xcong.excoin.modules.member.entity.AgentFriendRelationEntity;
import com.xcong.excoin.modules.member.entity.MemberCoinChargeEntity;
import com.xcong.excoin.modules.member.entity.MemberCoinWithdrawEntity;
import com.xcong.excoin.modules.member.entity.MemberEntity;
@@ -39,6 +40,16 @@
    private final IMemberService memberService;
    /**
     * 代理关系---列表
     * @return
     */
    @GetMapping("agentInfoList")
    public FebsResponse agentInfoList(AgentFriendRelationEntity agentFriendRelationEntity, QueryRequest request) {
        Map<String, Object> data = getDataTable(memberService.findAgentInfoListInPage(agentFriendRelationEntity, request));
        return new FebsResponse().success().data(data);
    }
    @GetMapping("getList")
    public FebsResponse getList(MemberEntity member, QueryRequest request) {
        Map<String, Object> data = getDataTable(memberService.findMemberListInPage(member, request));
src/main/java/com/xcong/excoin/modules/member/controller/ViewController.java
@@ -28,6 +28,16 @@
    private final IMemberService memberService;
    
    /**
     * 代理关系
     * @return
     */
    @GetMapping("agentInfo")
    @RequiresPermissions("agentInfo:view")
    public String agentInfo() {
        return FebsUtil.view("modules/member/agentInfo");
    }
    /**
     * 个人信息
     * @return
     */
src/main/java/com/xcong/excoin/modules/member/entity/AgentFriendRelationEntity.java
New file
@@ -0,0 +1,91 @@
package com.xcong.excoin.modules.member.entity;
import java.math.BigDecimal;
import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableName;
import com.xcong.excoin.common.entity.BaseEntity;
import lombok.Data;
@Data
@TableName("agent_friend_relation")
public class AgentFriendRelationEntity extends BaseEntity {/**
     *
     */
    private static final long serialVersionUID = 1L;
    /**
     * 后台用户ID
     */
    private Long userId;
    /**
     * 会员ID
     */
    private Long memberId;
    /**
     * 会员邀请码
     */
    private String inviteId;
    /**
     * 上级会员ID
     */
    private Long refererMemberId;
    /**
     * 上级邀请码
     */
    private String refererId;
    /**
     * 上级链
     */
    private String refererIds;
    /**
     * 返佣比例
     */
    private BigDecimal returnRatio;
    /**
     * 代理等级
     */
    private int levelId;
    /**
     * 手续费是否设置自己 1是2否
     */
    private int feeIsSelf;
    /**
     * 查询条件:第一查询条件
     */
    @TableField(exist = false)
    private String account;
    /**
     * 手机号(包含国际手机号)
     */
    @TableField(exist = false)
    private String phone;
    /**
     * 邮箱
     */
    @TableField(exist = false)
    private String email;
    /**
     * 推广人数
     */
    @TableField(exist = false)
    private int promotionNumber;
    /**
     * 总充值
     */
    @TableField(exist = false)
    private String totalRecharge;
    /**
     * 总提现
     */
    @TableField(exist = false)
    private String totalWithdrawal;
    /**
     * 总业绩
     */
    @TableField(exist = false)
    private String totalPerformance;
}
src/main/java/com/xcong/excoin/modules/member/mapper/AgentFriendRelationMapper.java
New file
@@ -0,0 +1,19 @@
package com.xcong.excoin.modules.member.mapper;
import java.util.List;
import org.apache.ibatis.annotations.Param;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.xcong.excoin.modules.member.entity.AgentFriendRelationEntity;
public interface AgentFriendRelationMapper  extends BaseMapper<AgentFriendRelationEntity> {
    IPage<AgentFriendRelationEntity> findAgentFriendRelationListInPage(Page<AgentFriendRelationEntity> page,
            @Param("record")AgentFriendRelationEntity agentFriendRelationEntity);
    List<AgentFriendRelationEntity> selectAgentFriendRelationByMap(@Param("inviteId")String inviteId);
}
src/main/java/com/xcong/excoin/modules/member/mapper/MemberCoinChargeMapper.java
@@ -13,4 +13,6 @@
    IPage<MemberCoinChargeVo> findMemberApplyCoinListInPage(Page<MemberCoinChargeEntity> page,
            @Param("record")MemberCoinChargeEntity memberCoinChargeEntity);
    String selectCBByMemberId(String memberId);
}
src/main/java/com/xcong/excoin/modules/member/mapper/MemberCoinWithdrawMapper.java
@@ -13,4 +13,6 @@
    IPage<MemberCoinWithdrawVo> findmemberWithdrawCoinListInPage(Page<MemberCoinWithdrawEntity> page,
            @Param("record")MemberCoinWithdrawEntity memberCoinWithdrawEntity);
    String selectTBByMemberId(@Param("memberId")String memberId);
}
src/main/java/com/xcong/excoin/modules/member/mapper/MemberMapper.java
@@ -7,6 +7,8 @@
import com.xcong.excoin.modules.member.vo.MemberDataInfoVo;
import com.xcong.excoin.modules.trademanage.vo.MemberAccountInfoVo;
import java.util.List;
import org.apache.ibatis.annotations.Param;
/**
@@ -59,4 +61,6 @@
    String selectDLZCForBasicRealData();
    
    List<String> selectMemberBylowLevelInviteId(String lowLevelInviteId);
}
src/main/java/com/xcong/excoin/modules/member/mapper/MemberQuickBuySaleMapper.java
@@ -17,4 +17,8 @@
    IPage<MemberQuickSaleVo> findmemberQuickSaleListInPage(Page<MemberQuickBuySaleEntity> page,
            @Param("record")MemberQuickBuySaleEntity memberQuickBuySaleEntity);
    String selectCZByMemberId(@Param("memberId")String memberId);
    String selectTXByMemberId(@Param("memberId")String memberId);
}
src/main/java/com/xcong/excoin/modules/member/service/IMemberService.java
@@ -10,6 +10,7 @@
import com.xcong.excoin.common.entity.FebsResponse;
import com.xcong.excoin.common.entity.QueryRequest;
import com.xcong.excoin.modules.member.dto.MemberDetailConfirmDto;
import com.xcong.excoin.modules.member.entity.AgentFriendRelationEntity;
import com.xcong.excoin.modules.member.entity.MemberCoinChargeEntity;
import com.xcong.excoin.modules.member.entity.MemberCoinWithdrawEntity;
import com.xcong.excoin.modules.member.entity.MemberEntity;
@@ -60,4 +61,6 @@
    FebsResponse memberDataInfoList(@NotNull(message = "{required}") long id);
    IPage<AgentFriendRelationEntity> findAgentInfoListInPage(AgentFriendRelationEntity agentFriendRelationEntity, QueryRequest request);
}
src/main/java/com/xcong/excoin/modules/member/service/impl/MemberServiceImpl.java
@@ -7,6 +7,7 @@
import com.xcong.excoin.common.entity.FebsResponse;
import com.xcong.excoin.common.entity.QueryRequest;
import com.xcong.excoin.modules.member.dto.MemberDetailConfirmDto;
import com.xcong.excoin.modules.member.entity.AgentFriendRelationEntity;
import com.xcong.excoin.modules.member.entity.MemberAccountMoneyChangeEntity;
import com.xcong.excoin.modules.member.entity.MemberCoinAddressEntity;
import com.xcong.excoin.modules.member.entity.MemberCoinChargeEntity;
@@ -14,6 +15,7 @@
import com.xcong.excoin.modules.member.entity.MemberEntity;
import com.xcong.excoin.modules.member.entity.MemberQuickBuySaleEntity;
import com.xcong.excoin.modules.member.entity.MemberWalletCoinEntity;
import com.xcong.excoin.modules.member.mapper.AgentFriendRelationMapper;
import com.xcong.excoin.modules.member.mapper.MemberAccountMoneyChangeMapper;
import com.xcong.excoin.modules.member.mapper.MemberAuthenticationMapper;
import com.xcong.excoin.modules.member.mapper.MemberCoinAddressMapper;
@@ -32,10 +34,13 @@
import lombok.RequiredArgsConstructor;
import java.math.BigDecimal;
import java.util.ArrayList;
import java.util.Date;
import java.util.HashMap;
import java.util.HashSet;
import java.util.List;
import java.util.Map;
import java.util.Set;
import javax.validation.Valid;
import javax.validation.constraints.NotNull;
@@ -66,6 +71,71 @@
    
    private final MemberAuthenticationMapper memberAuthenticationMapper;
    
    private final AgentFriendRelationMapper agentFriendRelationMapper;
    @Override
    public IPage<AgentFriendRelationEntity> findAgentInfoListInPage(AgentFriendRelationEntity agentFriendRelationEntity,
            QueryRequest request) {
        Page<AgentFriendRelationEntity> page = new Page<>(request.getPageNum(), request.getPageSize());
        IPage<AgentFriendRelationEntity> findmemberQuickBuySaleListInPage = agentFriendRelationMapper.findAgentFriendRelationListInPage(page, agentFriendRelationEntity);
        List<AgentFriendRelationEntity> records = findmemberQuickBuySaleListInPage.getRecords();
        if(records != null && records.size() > 0) {
            for(AgentFriendRelationEntity agentFriendRelation : records) {
                List<String> arrayList = new ArrayList<>();
                String inviteId = agentFriendRelation.getInviteId();
                String inviteIdCZ = null;
                String inviteIdTX = null;
                String inviteIdSY = null;
                // 当前邀请码下的所有代理MemberID
                List<AgentFriendRelationEntity> lowLevelList = agentFriendRelationMapper.selectAgentFriendRelationByMap(inviteId);
                List<String> memberLevel = memberMapper.selectMemberBylowLevelInviteId(inviteId);
                arrayList.addAll(memberLevel);
                if(lowLevelList != null && lowLevelList.size() > 0) {
                    for(AgentFriendRelationEntity lowLevelMemberId : lowLevelList) {
                        Long memberId = lowLevelMemberId.getMemberId();
                        arrayList.add(memberId.toString());
                        List<String> memberlowLevel = memberMapper.selectMemberBylowLevelInviteId(lowLevelMemberId.getInviteId());
                        arrayList.addAll(memberlowLevel);
                    }
                    Set<String> set = new HashSet<>();
                    List<String> newList = new ArrayList<>();
                    set.addAll(arrayList);
                    newList.addAll(set);
                    //获取对应的充值提现
                    double czNumber = 0;
                    double txNumber = 0;
                    if(newList != null && newList.size() > 0) {
                        agentFriendRelation.setPromotionNumber(newList.size());
                        for(String memberId : newList) {
                            //充币
                            String selectCBByMemberId = memberCoinChargeMapper.selectCBByMemberId(memberId);
                            //充值
                            String selectCZByMemberI = memberQuickBuySaleMapper.selectCZByMemberId(memberId);
                            //提币
                            String selectTBByMemberId = memberCoinWithdrawMapper.selectTBByMemberId(memberId);
                            //提现
                            String selectTXByMemberId = memberQuickBuySaleMapper.selectTXByMemberId(memberId);
                            czNumber = czNumber + (selectCBByMemberId == null ? 0 : Double.parseDouble(selectCBByMemberId));
                            czNumber = czNumber + (selectCZByMemberI == null ? 0 : Double.parseDouble(selectCZByMemberI));
                            txNumber = txNumber + (selectTBByMemberId == null ? 0 : Double.parseDouble(selectTBByMemberId));
                            txNumber = txNumber + (selectTXByMemberId == null ? 0 : Double.parseDouble(selectTXByMemberId));
                        }
                    }
                    inviteIdCZ = czNumber+"";
                    inviteIdTX = txNumber+"";
                    inviteIdSY = (czNumber-txNumber)+"";
                }
                agentFriendRelation.setTotalRecharge(inviteIdCZ == null ? "0.0" : inviteIdCZ);
                agentFriendRelation.setTotalWithdrawal(inviteIdTX == null ? "0.0" : inviteIdTX);
                agentFriendRelation.setTotalPerformance(inviteIdSY == null ? "0.0" : inviteIdSY);
            }
        }
        return findmemberQuickBuySaleListInPage;
    }
    @Override
    public IPage<MemberEntity> findMemberListInPage(MemberEntity memberEntity, QueryRequest request) {
src/main/resources/mapper/modules/AgentFriendRelationMapper.xml
New file
@@ -0,0 +1,25 @@
<?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.xcong.excoin.modules.member.mapper.AgentFriendRelationMapper">
    <select id="findAgentFriendRelationListInPage" resultType="com.xcong.excoin.modules.member.entity.AgentFriendRelationEntity">
        select * from agent_friend_relation s left join member m on m.id = s.member_id
        <where>
            <if test="record != null" >
                <if test="record.account!=null and record.account!=''">
                    and (m.phone = #{record.account} or m.email = #{record.account} or m.invite_id=#{record.account})
                </if>
            </if>
        </where>
    </select>
    <select id="selectAgentFriendRelationByMap" resultType="com.xcong.excoin.modules.member.entity.AgentFriendRelationEntity">
         SELECT
            *
        FROM
            agent_friend_relation
        WHERE
            FIND_IN_SET(#{inviteId}, referer_ids)
    </select>
</mapper>
src/main/resources/mapper/modules/MemberCoinChargeMapper.xml
@@ -16,5 +16,9 @@
        </where>
        order by s.create_time desc
    </select>
    <select id="selectCBByMemberId" resultType="java.lang.String">
         select IFNULL(sum(amount),'0') from member_coin_charge where member_id = #{memberId}
    </select>
</mapper>
src/main/resources/mapper/modules/MemberCoinWithdrawMapper.xml
@@ -22,5 +22,9 @@
        </where>
        order by s.create_time desc    
    </select>
     <select id="selectTBByMemberId" resultType="java.lang.String">
         select IFNULL(sum(amount),'0') from member_coin_withdraw where member_id = #{memberId} and status = 2
    </select>
</mapper>
src/main/resources/mapper/modules/MemberMapper.xml
@@ -346,4 +346,8 @@
            )
    </select>
    
    <select id="selectMemberBylowLevelInviteId" resultType="java.lang.String">
         select id from member where FIND_IN_SET(#{inviteId},referer_ids)
    </select>
</mapper>
src/main/resources/mapper/modules/MemberQuickBuySaleMapper.xml
@@ -2,6 +2,19 @@
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper namespace="com.xcong.excoin.modules.member.mapper.MemberQuickBuySaleMapper">
    <select id="selectCZByMemberId" resultType="java.lang.String">
         select IFNULL(sum(amount_usdt),'0') from member_quick_buy_sale s
         where s.order_type = 'B'
         and s.member_id = #{memberId}
         and s.order_status = 3
    </select>
    <select id="selectTXByMemberId" resultType="java.lang.String">
         select IFNULL(sum(amount_usdt),'0') from member_quick_buy_sale s
         where s.order_type = 'S'
         and s.member_id = #{memberId}
         and s.order_status = 3
    </select>
    <select id="findmemberQuickBuySaleListInPage" resultType="com.xcong.excoin.modules.member.vo.MemberQuickBuySaleVo">
        select * from member_quick_buy_sale s left join member m on m.id = s.member_id
src/main/resources/templates/error/403.html
@@ -2,7 +2,7 @@
<html xmlns:th="http://www.thymeleaf.org">
<head>
    <meta charset="utf-8">
    <title>FEBS 权限系统</title>
    <title>Biue 后台系统</title>
    <meta http-equiv="Content-Type" content="text/html; charset=utf-8"/>
    <meta name="renderer" content="webkit">
    <meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1">
src/main/resources/templates/error/404.html
@@ -2,7 +2,7 @@
<html xmlns:th="http://www.thymeleaf.org">
<head>
    <meta charset="utf-8">
    <title>FEBS 权限系统</title>
    <title>Biue 后台系统</title>
    <meta http-equiv="Content-Type" content="text/html; charset=utf-8"/>
    <meta name="renderer" content="webkit">
    <meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1">
src/main/resources/templates/error/500.html
@@ -2,7 +2,7 @@
<html xmlns:th="http://www.thymeleaf.org">
<head>
    <meta charset="utf-8">
    <title>FEBS 权限系统</title>
    <title>Biue 后台系统</title>
    <meta http-equiv="Content-Type" content="text/html; charset=utf-8"/>
    <meta name="renderer" content="webkit">
    <meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1">
src/main/resources/templates/febs/views/index.html
@@ -100,17 +100,9 @@
                                <table class="login-count-table">
                                    <tr>
                                        <td>注册用户数量</td>
                                        <td>持仓用户数量</td>
                                        <td>当前平台总金额</td>
                                    </tr>
                                    <tr>
                                        <td class="count" id="today-ip">
                                            0
                                        </td>
                                        <td class="count" id="today-visit-count">
                                            0
                                        </td>
                                        <td class="count" id="total-visit-count">
                                            0
                                        </td>
                                    </tr>
@@ -125,146 +117,6 @@
            <div class="layui-card">
                <div class="layui-card-body">
                    <div id="chart" style="height: 350px"></div>
                </div>
            </div>
        </div>
        <div class="layui-col-md6 layui-col-sm6 layui-col-xs12">
            <div class="layui-card">
                <div class="layui-card-body">
                    <table class="project-table">
                        <tr>
                            <td style="padding: .8rem;">进行中的项目</td>
                            <td style="padding: .8rem;text-align: right">
                                <a target="_blank" href="https://github.com/wuyouzhuguli?tab=repositories">所有项目</a>
                            </td>
                        </tr>
                        <tr>
                            <td class="project-table-td">
                                <div class="layui-row">
                                    <div class="layui-col-md12 layui-col-xs12">
                                        <div class="layui-row">
                                            <div class="layui-col-md12">
                                                <a target="_blank" href="https://github.com/wuyouzhuguli/FEBS-Cloud">FEBS
                                                    Cloud</a>
                                            </div>
                                            <div class="project-desc">
                                                Spring Cloud 微服务权限管理系统。
                                            </div>
                                        </div>
                                    </div>
                                </div>
                            </td>
                            <td class="project-table-td">
                                <div class="layui-row">
                                    <div class="layui-col-md12 layui-col-xs12">
                                        <div class="layui-row">
                                            <div class="layui-col-md12">
                                                <a target="_blank" href="https://github.com/wuyouzhuguli/FEBS-Cloud-Web">FEBS
                                                    Cloud Web</a>
                                            </div>
                                            <div class="project-desc">
                                                FEBS-Cloud前端,使用 vue-element-admin 构建。
                                            </div>
                                        </div>
                                    </div>
                                </div>
                            </td>
                        </tr>
                        <tr>
                            <td class="project-table-td">
                                <div class="layui-row">
                                    <div class="layui-col-md12 layui-col-xs12">
                                        <div class="layui-row">
                                            <div class="layui-col-md12">
                                                <a target="_blank" href="https://github.com/wuyouzhuguli/FEBS-Shiro">FEBS
                                                    Shiro</a>
                                            </div>
                                            <div class="project-desc">
                                                Spring Boot 2.0.4 & Shiro1.4.0 权限管理系统。
                                            </div>
                                        </div>
                                    </div>
                                </div>
                            </td>
                            <td class="project-table-td">
                                <div class="layui-row">
                                    <div class="layui-col-md12 layui-col-xs12">
                                        <div class="layui-row">
                                            <div class="layui-col-md12">
                                                <a target="_blank" href="https://github.com/wuyouzhuguli/FEBS-Security">FEBS
                                                    Security</a>
                                            </div>
                                            <div class="project-desc">
                                                Spring Boot 2.0.4 & Spring Security 5.0.7 权限管理系统。
                                            </div>
                                        </div>
                                    </div>
                                </div>
                            </td>
                        </tr>
                        <tr>
                            <td class="project-table-td">
                                <div class="layui-row">
                                    <div class="layui-col-md12 layui-col-xs12">
                                        <div class="layui-row">
                                            <div class="layui-col-md12">
                                                <a target="_blank" href="https://github.com/wuyouzhuguli/FEBS-Actuator">FEBS
                                                    Cloud K8S</a>
                                            </div>
                                            <div class="project-desc">
                                                FEBS Cloud K8S集群部署脚本。
                                            </div>
                                        </div>
                                    </div>
                                </div>
                            </td>
                            <td class="project-table-td">
                                <div class="layui-row">
                                    <div class="layui-col-md12 layui-col-xs12">
                                        <div class="layui-row">
                                            <div class="layui-col-md12">
                                                <a target="_blank" href="https://github.com/wuyouzhuguli/SpringAll">SpringAll</a>
                                            </div>
                                            <div class="project-desc">
                                                循序渐进学习Spring Boot、Spring Cloud与Spring Security。
                                            </div>
                                        </div>
                                    </div>
                                </div>
                            </td>
                        </tr>
                        <tr>
                            <td class="project-table-td">
                                <div class="layui-row">
                                    <div class="layui-col-md12 layui-col-xs12">
                                        <div class="layui-row">
                                            <div class="layui-col-md12">
                                                <a target="_blank" href="https://github.com/wuyouzhuguli/FEBS-Vue">FEBS
                                                    Vue</a>
                                            </div>
                                            <div class="project-desc">
                                                FEBS-Shiro前后端分离版本,前端架构采用Vue全家桶。
                                            </div>
                                        </div>
                                    </div>
                                </div>
                            </td>
                            <td class="project-table-td">
                                <div class="layui-row">
                                    <div class="layui-col-md12 layui-col-xs12">
                                        <div class="layui-row">
                                            <div class="layui-col-md12">
                                                <a target="_blank" href="https://github.com/wuyouzhuguli/FEBS-Actuator">FEBS Actuator</a>
                                            </div>
                                            <div class="project-desc">
                                                使用Spring Boot Admin 2.0.2构建,用于监控FEBS。
                                            </div>
                                        </div>
                                    </div>
                                </div>
                            </td>
                        </tr>
                    </table>
                </div>
            </div>
        </div>
src/main/resources/templates/febs/views/layout.html
@@ -63,7 +63,7 @@
        <div class="layui-side-scroll">
            <div class="layui-logo" style="cursor: pointer">
                <img data-th-src="@{febs/images/logo.png}">
                <span>ExCoin 管理系统</span>
                <span>Biue 管理系统</span>
            </div>
            <script
                    type="text/html"
src/main/resources/templates/febs/views/login.html
@@ -19,7 +19,7 @@
        <div class="layui-container">
            <div class="layui-row">
                <div class="layui-col-xs12 layui-col-lg4 layui-col-lg-offset4 febs-tc">
                    <div class="layui-logo"><span><b>ExCoin</b> 后台系统</span></div>
                    <div class="layui-logo"><span><b>Biue</b> 后台系统</span></div>
                </div>
                <div class="layui-col-xs12 layui-col-lg4 layui-col-lg-offset4" id="login-div">
                    <div class="layui-form" lay-filter="login-form">
src/main/resources/templates/febs/views/modules/member/agentInfo.html
New file
@@ -0,0 +1,109 @@
<div class="layui-fluid layui-anim febs-anim" id="febs-user" 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">
                                        <div class="layui-input-inline">
                                            <input type="text" placeholder="手机号/邮箱/邀请码" name="account" autocomplete="off" class="layui-input">
                                        </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="userTable" lay-data="{id: 'userTable'}"></table>
                </div>
            </div>
        </div>
    </div>
</div>
<!-- 表格操作栏 end -->
<script data-th-inline="none" type="text/javascript">
    // 引入组件并初始化
    layui.use(['dropdown', 'jquery', 'laydate', 'form', 'table', 'febs'], function () {
        var $ = layui.jquery,
            laydate = layui.laydate,
            febs = layui.febs,
            form = layui.form,
            table = layui.table,
            dropdown = layui.dropdown,
            $view = $('#febs-user'),
            $query = $view.find('#query'),
            $reset = $view.find('#reset'),
            $searchForm = $view.find('form'),
            sortObject = {field: 'createTime', type: null},
            tableIns;
        form.render();
        // 表格初始化
        initTable();
        // 查询按钮
        $query.on('click', function () {
            var params = $.extend(getQueryParams(), {field: sortObject.field, order: sortObject.type});
            tableIns.reload({where: params, page: {curr: 1}});
        });
        // 刷新按钮
        $reset.on('click', function () {
            $searchForm[0].reset();
            sortObject.type = 'null';
            tableIns.reload({where: getQueryParams(), page: {curr: 1}, initSort: sortObject});
        });
        function initTable() {
            tableIns = febs.table.init({
                elem: $view.find('table'),
                id: 'userTable',
                url: ctx + 'member/agentInfoList',
                totalRow: true,
                cols: [[
                    {field: 'phone', title: '手机号码', minWidth: 120,align:'left',totalRowText: '合计'},
                    {field: 'email', title: '邮箱', minWidth: 200,align:'left'},
                    {field: 'inviteId', title: '邀请码UID', minWidth: 80,align:'center'},
                    {field: 'returnRatio', title: '返佣比例', minWidth: 200,align:'center'},
                    {field: 'promotionNumber', title: '推广人数', minWidth: 200,align:'center'},
                    {field: 'totalRecharge', title: '总充值', minWidth: 200,align:'center'},
                    {field: 'totalWithdrawal', title: '总提现', minWidth: 200,align:'center'},
                    {field: 'totalPerformance', title: '总业绩', minWidth: 200,align:'center'},
                    {field: 'levelId', title: '代理等级',
                        templet: function (d) {
                                 return '<span style="color:green;">第'+d.levelId+'级</span>'
                        }, minWidth: 200,align:'center'},
                    {field: 'feeIsSelf', title: '手续费是否设置自己',
                        templet: function (d) {
                            if(d.feeIsSelf === 1){
                                  return '<span style="color:green;">是</span>'
                            }else{
                                  return '<span style="color:red;">否</span>'
                            }
                        }, minWidth: 200,align:'center'},
                ]]
            });
        }
        // 获取查询参数
        function getQueryParams() {
            return {
                account: $searchForm.find('input[name="account"]').val().trim(),
            };
        }
    })
</script>
src/main/resources/templates/index.html
@@ -3,7 +3,7 @@
      xmlns:shiro="http://www.pollix.at/thymeleaf/shiro">
<head>
    <meta charset="utf-8">
    <title>ExCoin 后台系统</title>
    <title>Biue 后台系统</title>
    <meta http-equiv="Content-Type" content="text/html; charset=utf-8"/>
    <meta name="renderer" content="webkit">
    <meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1">