From 6827cdbc773688f34c8b9470bf5300054292fe14 Mon Sep 17 00:00:00 2001
From: xiaoyong931011 <15274802129@163.com>
Date: Thu, 20 Oct 2022 15:09:38 +0800
Subject: [PATCH] 20221020

---
 src/main/java/cc/mrbird/febs/dapp/service/DappWalletService.java                |    2 
 src/main/java/cc/mrbird/febs/dapp/vo/ApiAmountTypeVo.java                       |   16 ++
 src/main/java/cc/mrbird/febs/dapp/controller/ApiDappMemberController.java       |   39 ++++
 src/main/java/cc/mrbird/febs/dapp/dto/ApiMyTeammateInfoDto.java                 |   20 ++
 src/main/java/cc/mrbird/febs/dapp/service/impl/DappMemberServiceImpl.java       |  122 ++++++++++++++
 src/main/java/cc/mrbird/febs/dapp/vo/MemberInfoVo.java                          |    2 
 src/main/java/cc/mrbird/febs/dapp/mapper/DappAccountMoneyChangeDao.java         |    4 
 src/main/java/cc/mrbird/febs/dapp/service/DappMemberService.java                |    8 +
 src/main/resources/mapper/dapp/DappMemberDao.xml                                |   11 +
 src/main/java/cc/mrbird/febs/dapp/dto/ApiTransferInsideDto.java                 |    3 
 src/main/java/cc/mrbird/febs/dapp/mapper/DappMemberDao.java                     |    5 
 src/main/resources/i18n/message_en_US.properties                                |    6 
 src/main/java/cc/mrbird/febs/dapp/service/impl/ApiIgtOnHookPlanServiceImpl.java |    8 
 src/main/resources/i18n/message_zh_CN.properties                                |    6 
 src/main/java/cc/mrbird/febs/dapp/mapper/IgtOnHookPlanOrderDao.java             |    2 
 src/main/resources/mapper/dapp/IgtOnHookPlanOrderDao.xml                        |    7 
 src/main/java/cc/mrbird/febs/dapp/dto/ApiAddTeammateDto.java                    |   24 +++
 src/main/java/cc/mrbird/febs/dapp/dto/ApiAmountChangeDto.java                   |    4 
 src/main/java/cc/mrbird/febs/dapp/service/impl/DappWalletServiceImpl.java       |   35 ++++
 src/main/resources/mapper/dapp/DappAccountMoneyChangeDao.xml                    |   21 ++
 src/main/java/cc/mrbird/febs/dapp/vo/ApiMyTeammateInfoListVo.java               |   26 +++
 src/main/java/cc/mrbird/febs/dapp/dto/ApiUpdatePasswordDto.java                 |   20 ++
 src/main/java/cc/mrbird/febs/dapp/enumerate/DataDictionaryEnum.java             |    8 +
 src/main/java/cc/mrbird/febs/dapp/service/ApiIgtOnHookPlanService.java          |    9 +
 src/main/java/cc/mrbird/febs/dapp/vo/ApiAmountChangeListVo.java                 |    2 
 src/main/java/cc/mrbird/febs/dapp/vo/ApiMyTeammateAmountChangeListVo.java       |   24 +++
 26 files changed, 421 insertions(+), 13 deletions(-)

diff --git a/src/main/java/cc/mrbird/febs/dapp/controller/ApiDappMemberController.java b/src/main/java/cc/mrbird/febs/dapp/controller/ApiDappMemberController.java
index f008d3e..22e5a88 100644
--- a/src/main/java/cc/mrbird/febs/dapp/controller/ApiDappMemberController.java
+++ b/src/main/java/cc/mrbird/febs/dapp/controller/ApiDappMemberController.java
@@ -138,6 +138,15 @@
         return new FebsResponse().success().data(memberInfoVo);
     }
 
+    @ApiOperation(value = "IGT资金记录-类型", notes = "资金记录-类型")
+    @ApiResponses({
+            @ApiResponse(code = 200, message = "success", response = ApiAmountTypeVo.class)
+    })
+    @GetMapping(value = "/amountType")
+    public FebsResponse amountType() {
+        return dappMemberService.amountType();
+    }
+
     @ApiOperation(value ="IGT资金记录-分页", notes = "资金记录-分页")
     @ApiResponses({
             @ApiResponse(code = 200, message = "success", response = ApiAmountChangeListVo.class)
@@ -146,4 +155,34 @@
     public FebsResponse findAmountInPage(@RequestBody ApiAmountChangeDto apiAmountChangeDto) {
         return new FebsResponse().success().data(dappMemberService.findAmountInPage(apiAmountChangeDto));
     }
+
+    @ApiOperation(value ="IGT我的团队-新增团队成员", notes = "我的团队-新增团队成员")
+    @PostMapping(value = "/addTeammate")
+    public FebsResponse addTeammate(@RequestBody ApiAddTeammateDto apiAddTeammateDto) {
+        return dappMemberService.addTeammate(apiAddTeammateDto);
+    }
+
+    @ApiOperation(value ="IGT我的团队-团队列表", notes = "我的团队-团队列表")
+    @ApiResponses({
+            @ApiResponse(code = 200, message = "success", response = ApiMyTeammateInfoListVo.class)
+    })
+    @PostMapping(value = "/myTeammateInfo")
+    public FebsResponse myTeammateInfo(@RequestBody ApiMyTeammateInfoDto apiMyTeammateInfoDto) {
+        return dappMemberService.myTeammateInfo(apiMyTeammateInfoDto);
+    }
+
+    @ApiOperation(value ="IGT我的团队-资金记录-分页", notes = "我的团队-资金记录-分页")
+    @ApiResponses(value = {
+            @ApiResponse(code = 200, message = "success", response = ApiMyTeammateAmountChangeListVo.class)
+    })
+    @PostMapping(value = "/teammateChangeListInPage")
+    public FebsResponse teammateChangeListInPage(@RequestBody ApiAmountChangeDto apiAmountChangeDto) {
+        return dappMemberService.findTeammateChangeListInPage(apiAmountChangeDto);
+    }
+
+    @ApiOperation(value = "IGT更新登录密码", notes = "更新登录密码")
+    @PostMapping(value = "/updatePassword")
+    public FebsResponse updatePassword(@RequestBody ApiUpdatePasswordDto apiUpdatePasswordDto) {
+        return dappWalletService.updatePassword(apiUpdatePasswordDto);
+    }
 }
diff --git a/src/main/java/cc/mrbird/febs/dapp/dto/ApiAddTeammateDto.java b/src/main/java/cc/mrbird/febs/dapp/dto/ApiAddTeammateDto.java
new file mode 100644
index 0000000..cc907a3
--- /dev/null
+++ b/src/main/java/cc/mrbird/febs/dapp/dto/ApiAddTeammateDto.java
@@ -0,0 +1,24 @@
+package cc.mrbird.febs.dapp.dto;
+
+import io.swagger.annotations.ApiModel;
+import io.swagger.annotations.ApiModelProperty;
+import lombok.Data;
+
+import javax.validation.constraints.NotBlank;
+
+@Data
+@ApiModel(value = "ApiAddTeammateDto", description = "新增团队成员")
+public class ApiAddTeammateDto {
+
+    @ApiModelProperty(value = "账号", example = "13412341234")
+    private String account;
+
+    @ApiModelProperty(value = "密码", example = "123456")
+    private String password;
+
+    private String codeToken;
+
+    @ApiModelProperty(value = "验证码", example = "123456")
+    private String codeValue;
+
+}
diff --git a/src/main/java/cc/mrbird/febs/dapp/dto/ApiAmountChangeDto.java b/src/main/java/cc/mrbird/febs/dapp/dto/ApiAmountChangeDto.java
index 7b0eaff..ff73413 100644
--- a/src/main/java/cc/mrbird/febs/dapp/dto/ApiAmountChangeDto.java
+++ b/src/main/java/cc/mrbird/febs/dapp/dto/ApiAmountChangeDto.java
@@ -1,5 +1,6 @@
 package cc.mrbird.febs.dapp.dto;
 
+import com.baomidou.mybatisplus.annotation.TableField;
 import io.swagger.annotations.ApiModel;
 import io.swagger.annotations.ApiModelProperty;
 import lombok.Data;
@@ -23,4 +24,7 @@
     @ApiModelProperty(value = "结束时间")
     private String endTime;
 
+    @TableField(exist = false)
+    private String inviteId;
+
 }
diff --git a/src/main/java/cc/mrbird/febs/dapp/dto/ApiMyTeammateInfoDto.java b/src/main/java/cc/mrbird/febs/dapp/dto/ApiMyTeammateInfoDto.java
new file mode 100644
index 0000000..4256879
--- /dev/null
+++ b/src/main/java/cc/mrbird/febs/dapp/dto/ApiMyTeammateInfoDto.java
@@ -0,0 +1,20 @@
+package cc.mrbird.febs.dapp.dto;
+
+import io.swagger.annotations.ApiModel;
+import io.swagger.annotations.ApiModelProperty;
+import lombok.Data;
+
+@Data
+@ApiModel(value = "ApiMyTeammateInfoDto", description = "我的团队成员列表")
+public class ApiMyTeammateInfoDto {
+
+    @ApiModelProperty(value = "页码")
+    private Integer pageNum = 1;
+
+    @ApiModelProperty(value = "每页数量")
+    private Integer pageSize = 10;
+
+    @ApiModelProperty(value = "邀请码")
+    private String inviteId;
+
+}
diff --git a/src/main/java/cc/mrbird/febs/dapp/dto/ApiTransferInsideDto.java b/src/main/java/cc/mrbird/febs/dapp/dto/ApiTransferInsideDto.java
index 8631ceb..03cecce 100644
--- a/src/main/java/cc/mrbird/febs/dapp/dto/ApiTransferInsideDto.java
+++ b/src/main/java/cc/mrbird/febs/dapp/dto/ApiTransferInsideDto.java
@@ -15,6 +15,9 @@
     @ApiModelProperty(value = "转入用户邀请码",example = "49546512")
     private String inviteId;
 
+    @ApiModelProperty(value = "转入用户用户名",example = "49546512")
+    private String username;
+
     @ApiModelProperty(value = "资金密码",example = "49546512")
     private String transferCode;
 }
diff --git a/src/main/java/cc/mrbird/febs/dapp/dto/ApiUpdatePasswordDto.java b/src/main/java/cc/mrbird/febs/dapp/dto/ApiUpdatePasswordDto.java
new file mode 100644
index 0000000..97e16f7
--- /dev/null
+++ b/src/main/java/cc/mrbird/febs/dapp/dto/ApiUpdatePasswordDto.java
@@ -0,0 +1,20 @@
+package cc.mrbird.febs.dapp.dto;
+
+import io.swagger.annotations.ApiModel;
+import io.swagger.annotations.ApiModelProperty;
+import lombok.Data;
+
+@Data
+@ApiModel(value = "ApiUpdatePasswordDto", description = "更新密码")
+public class ApiUpdatePasswordDto {
+
+    @ApiModelProperty(value = "旧密码",example = "49546512")
+    private String oldTransferPassword;
+
+    @ApiModelProperty(value = "新密码",example = "49546512")
+    private String newTransferPassword;
+
+    @ApiModelProperty(value = "再次输入新密码",example = "49546512")
+    private String newTransferPasswordAgain;
+
+}
diff --git a/src/main/java/cc/mrbird/febs/dapp/enumerate/DataDictionaryEnum.java b/src/main/java/cc/mrbird/febs/dapp/enumerate/DataDictionaryEnum.java
index fb195a9..ad000a8 100644
--- a/src/main/java/cc/mrbird/febs/dapp/enumerate/DataDictionaryEnum.java
+++ b/src/main/java/cc/mrbird/febs/dapp/enumerate/DataDictionaryEnum.java
@@ -5,6 +5,14 @@
 @Getter
 public enum DataDictionaryEnum {
     /**
+     * 资金记录类型
+     * 2-提现 4-内部转账 5-挂机收益 6-挂机
+     */
+    WITHDRAW_OUT("AMOUNT_TYPE","WITHDRAW_OUT"),
+    WITHDRAW_INSIDE("AMOUNT_TYPE","WITHDRAW_INSIDE"),
+    ONHOOK_PROFIT("AMOUNT_TYPE","ONHOOK_PROFIT"),
+    ONHOOK_RECORD("AMOUNT_TYPE","ONHOOK_RECORD"),
+    /**
      * 挂机设置
      * 最长挂机时间
      */
diff --git a/src/main/java/cc/mrbird/febs/dapp/mapper/DappAccountMoneyChangeDao.java b/src/main/java/cc/mrbird/febs/dapp/mapper/DappAccountMoneyChangeDao.java
index 28769c6..9d4022e 100644
--- a/src/main/java/cc/mrbird/febs/dapp/mapper/DappAccountMoneyChangeDao.java
+++ b/src/main/java/cc/mrbird/febs/dapp/mapper/DappAccountMoneyChangeDao.java
@@ -1,7 +1,9 @@
 package cc.mrbird.febs.dapp.mapper;
 
+import cc.mrbird.febs.dapp.dto.ApiAmountChangeDto;
 import cc.mrbird.febs.dapp.entity.DappAccountMoneyChangeEntity;
 import cc.mrbird.febs.dapp.vo.ApiAmountChangeListVo;
+import cc.mrbird.febs.dapp.vo.ApiMyTeammateAmountChangeListVo;
 import com.baomidou.mybatisplus.core.mapper.BaseMapper;
 import com.baomidou.mybatisplus.core.metadata.IPage;
 import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
@@ -12,4 +14,6 @@
     IPage<DappAccountMoneyChangeEntity> selectInPage(@Param("record") DappAccountMoneyChangeEntity record, Page<DappAccountMoneyChangeEntity> page);
 
     IPage<ApiAmountChangeListVo> selectChangeListInPage(Page<ApiAmountChangeListVo> page, @Param("record") DappAccountMoneyChangeEntity dappAccountMoneyChangeEntity);
+
+    IPage<ApiMyTeammateAmountChangeListVo> selectTeammateChangeListInPage(@Param("record")ApiAmountChangeDto apiAmountChangeDto, Page<ApiMyTeammateAmountChangeListVo> page);
 }
diff --git a/src/main/java/cc/mrbird/febs/dapp/mapper/DappMemberDao.java b/src/main/java/cc/mrbird/febs/dapp/mapper/DappMemberDao.java
index 7caa82e..213d673 100644
--- a/src/main/java/cc/mrbird/febs/dapp/mapper/DappMemberDao.java
+++ b/src/main/java/cc/mrbird/febs/dapp/mapper/DappMemberDao.java
@@ -1,7 +1,10 @@
 package cc.mrbird.febs.dapp.mapper;
 
+import cc.mrbird.febs.common.entity.FebsResponse;
+import cc.mrbird.febs.dapp.dto.ApiMyTeammateInfoDto;
 import cc.mrbird.febs.dapp.dto.TeamListDto;
 import cc.mrbird.febs.dapp.entity.DappMemberEntity;
+import cc.mrbird.febs.dapp.vo.ApiMyTeammateInfoListVo;
 import cc.mrbird.febs.dapp.vo.TeamListVo;
 import com.baomidou.mybatisplus.core.mapper.BaseMapper;
 import com.baomidou.mybatisplus.core.metadata.IPage;
@@ -52,4 +55,6 @@
     IPage<DappMemberEntity> selectMemberListInPage(@Param("record")DappMemberEntity member, Page<DappMemberEntity> page);
 
     void updateIsOnHook();
+
+    IPage<ApiMyTeammateInfoListVo> selectMyTeammateInfoInPage(@Param("record")ApiMyTeammateInfoDto apiMyTeammateInfoDto, Page<ApiMyTeammateInfoListVo> page);
 }
diff --git a/src/main/java/cc/mrbird/febs/dapp/mapper/IgtOnHookPlanOrderDao.java b/src/main/java/cc/mrbird/febs/dapp/mapper/IgtOnHookPlanOrderDao.java
index b376a54..c634859 100644
--- a/src/main/java/cc/mrbird/febs/dapp/mapper/IgtOnHookPlanOrderDao.java
+++ b/src/main/java/cc/mrbird/febs/dapp/mapper/IgtOnHookPlanOrderDao.java
@@ -16,4 +16,6 @@
     IgtOnHookPlanOrder selectByMemberId(@Param("memberId")Long memberId);
 
     Integer addAvaAmountAddProfitById(@Param("id")Long id, @Param("profit")BigDecimal balance, @Param("amount")BigDecimal amount);
+
+    BigDecimal selectSumProfitByMemberId(@Param("memberId")Long memberId);
 }
diff --git a/src/main/java/cc/mrbird/febs/dapp/service/ApiIgtOnHookPlanService.java b/src/main/java/cc/mrbird/febs/dapp/service/ApiIgtOnHookPlanService.java
index ce1a488..28854e0 100644
--- a/src/main/java/cc/mrbird/febs/dapp/service/ApiIgtOnHookPlanService.java
+++ b/src/main/java/cc/mrbird/febs/dapp/service/ApiIgtOnHookPlanService.java
@@ -5,6 +5,8 @@
 import cc.mrbird.febs.dapp.entity.IgtOnHookPlanOrder;
 import com.baomidou.mybatisplus.extension.service.IService;
 
+import java.math.BigDecimal;
+
 public interface ApiIgtOnHookPlanService extends IService<IgtOnHookPlanOrder> {
 
     FebsResponse start(ApiStartDto apiStartDto);
@@ -12,4 +14,11 @@
     FebsResponse endPlan(Long id);
 
     FebsResponse planInfo();
+
+    /**
+     * 获取用户挂机总收益
+     * @param memberId
+     * @return
+     */
+    BigDecimal getTotalFrofit(Long memberId);
 }
diff --git a/src/main/java/cc/mrbird/febs/dapp/service/DappMemberService.java b/src/main/java/cc/mrbird/febs/dapp/service/DappMemberService.java
index 84f9d0d..f250ea8 100644
--- a/src/main/java/cc/mrbird/febs/dapp/service/DappMemberService.java
+++ b/src/main/java/cc/mrbird/febs/dapp/service/DappMemberService.java
@@ -69,4 +69,12 @@
     Boolean validateTransferCode(String transferCode,Long memberId);
 
     List<ApiAmountChangeListVo> findAmountInPage(ApiAmountChangeDto apiAmountChangeDto);
+
+    FebsResponse addTeammate(ApiAddTeammateDto apiAddTeammateDto);
+
+    FebsResponse myTeammateInfo(ApiMyTeammateInfoDto apiMyTeammateInfoDto);
+
+    FebsResponse amountType();
+
+    FebsResponse findTeammateChangeListInPage(ApiAmountChangeDto apiAmountChangeDto);
 }
diff --git a/src/main/java/cc/mrbird/febs/dapp/service/DappWalletService.java b/src/main/java/cc/mrbird/febs/dapp/service/DappWalletService.java
index c731114..4bd926e 100644
--- a/src/main/java/cc/mrbird/febs/dapp/service/DappWalletService.java
+++ b/src/main/java/cc/mrbird/febs/dapp/service/DappWalletService.java
@@ -54,4 +54,6 @@
     FebsResponse transferOutside(ApiTransferOutsideDto apiTransferOutsideDto);
 
     FebsResponse transferPassword(ApiTransferPasswordDto apiTransferPasswordDto);
+
+    FebsResponse updatePassword(ApiUpdatePasswordDto apiUpdatePasswordDto);
 }
diff --git a/src/main/java/cc/mrbird/febs/dapp/service/impl/ApiIgtOnHookPlanServiceImpl.java b/src/main/java/cc/mrbird/febs/dapp/service/impl/ApiIgtOnHookPlanServiceImpl.java
index 720ccbb..8ac4993 100644
--- a/src/main/java/cc/mrbird/febs/dapp/service/impl/ApiIgtOnHookPlanServiceImpl.java
+++ b/src/main/java/cc/mrbird/febs/dapp/service/impl/ApiIgtOnHookPlanServiceImpl.java
@@ -62,7 +62,7 @@
         Long memberId = dappMemberEntity.getId();
         DappMemberEntity member = dappMemberDao.selectById(memberId);
         int isOnHook = member.getIsOnHook() == null ? 2 : member.getIsOnHook();
-        if(1 == isOnHook){
+        if(2 != isOnHook){
             return new FebsResponse().fail().message(MessageSourceUtils.getString("Operation_002"));
         }
         //挂机金额的倍数
@@ -228,6 +228,12 @@
         return new FebsResponse().success().data(apiPlanInfoVo);
     }
 
+    @Override
+    public BigDecimal getTotalFrofit(Long memberId) {
+        BigDecimal totalProfit = igtOnHookPlanOrderDao.selectSumProfitByMemberId(memberId);
+        return totalProfit;
+    }
+
     private String getProfitCase(String identity,BigDecimal balance){
         //匹配会员等级获取对应的收益率
         List<DataDictionaryCustom> dataDictionaryCustoms = dataDictionaryCustomMapper.selectDicByType(DataDictionaryEnum.LEVEL_MB.getType());
diff --git a/src/main/java/cc/mrbird/febs/dapp/service/impl/DappMemberServiceImpl.java b/src/main/java/cc/mrbird/febs/dapp/service/impl/DappMemberServiceImpl.java
index 1178fdf..074481e 100644
--- a/src/main/java/cc/mrbird/febs/dapp/service/impl/DappMemberServiceImpl.java
+++ b/src/main/java/cc/mrbird/febs/dapp/service/impl/DappMemberServiceImpl.java
@@ -19,10 +19,9 @@
 import cc.mrbird.febs.dapp.service.DappMemberService;
 import cc.mrbird.febs.dapp.utils.CaptchaUtil;
 import cc.mrbird.febs.dapp.utils.UUIDUtil;
-import cc.mrbird.febs.dapp.vo.ApiAmountChangeListVo;
-import cc.mrbird.febs.dapp.vo.MemberInfoVo;
-import cc.mrbird.febs.dapp.vo.TeamListVo;
+import cc.mrbird.febs.dapp.vo.*;
 import cc.mrbird.febs.system.entity.User;
+import cn.hutool.core.collection.CollUtil;
 import cn.hutool.core.util.IdUtil;
 import cn.hutool.core.util.ObjectUtil;
 import cn.hutool.core.util.StrUtil;
@@ -43,6 +42,7 @@
 
 import java.io.IOException;
 import java.math.BigDecimal;
+import java.util.ArrayList;
 import java.util.HashMap;
 import java.util.List;
 import java.util.Map;
@@ -64,6 +64,7 @@
     private final DataDictionaryCustomMapper dataDictionaryCustomMapper;
     private final PlatformBannerMapper platformBannerMapper;
     private final DappAccountMoneyChangeDao dappAccountMoneyChangeDao;
+    private final DappMemberService dappMemberService;
 
     private final RedisTemplate<String, Object> redisTemplate;
 
@@ -699,6 +700,121 @@
         return records.getRecords();
     }
 
+    @Override
+    @Transactional
+    public FebsResponse addTeammate(ApiAddTeammateDto apiAddTeammateDto) {
+        DappMemberEntity member = LoginUserUtil.getAppUser();
+        //验证验证码是否正确
+        // 根据前端传回的token在redis中找对应的value
+        ValueOperations<String, Object> valueOperations = redisTemplate.opsForValue();
+        if(ObjectUtil.isEmpty(apiAddTeammateDto.getCodeToken()) || ObjectUtil.isEmpty(apiAddTeammateDto.getCodeValue())){
+            return new FebsResponse().fail().message(MessageSourceUtils.getString("verification_code_err_001"));
+        }
+        String codeToken = apiAddTeammateDto.getCodeToken();
+        String codeValue = apiAddTeammateDto.getCodeValue();
+        if (redisTemplate.hasKey(codeToken)) {
+            //验证通过, 删除对应的key
+            if (valueOperations.get(codeToken).equals(codeValue)) {
+                redisTemplate.delete(codeToken);
+            } else {
+                return new FebsResponse().fail().message(MessageSourceUtils.getString("verification_code_err_002"));
+            }
+        } else {
+            return new FebsResponse().fail().message(MessageSourceUtils.getString("verification_code_err_003"));
+        }
+
+        // 查询是否存在该账号用户
+        DappMemberEntity memberExit = dappMemberDao.selectMemberInfoByUsername(apiAddTeammateDto.getAccount());
+        if (ObjectUtil.isNotEmpty(memberExit)) {
+            return new FebsResponse().fail().message(MessageSourceUtils.getString("register_err_004"));
+        }
+        DappMemberEntity refererMember = dappMemberDao.selectMemberInfoByInviteId(member.getInviteId());
+        if (ObjectUtil.isEmpty(refererMember)) {
+            return new FebsResponse().fail().message(MessageSourceUtils.getString("register_err_005"));
+        }
+        member = new DappMemberEntity();
+        member.setUsername(apiAddTeammateDto.getAccount());
+        member.setPassword(SecureUtil.md5(apiAddTeammateDto.getPassword()));
+        member.setIdentity(DataDictionaryEnum.LEVEL_MB.getCode());
+        member.setRefererId(member.getInviteId());
+        dappMemberDao.insert(member);
+
+        //更新用户信息
+        String inviteId = ShareCodeUtil.toSerialCode(member.getId());
+        member.setInviteId(inviteId);
+        boolean flag = false;
+        String parentId = member.getRefererId();
+        String ids = "";
+        while (!flag) {
+            ids += ("," + parentId);
+            DappMemberEntity parentMember = dappMemberDao.selectMemberInfoByInviteId(parentId);
+            if (parentMember == null) {
+                break;
+            }
+            parentId = parentMember.getRefererId();
+            if (parentMember.getRefererId().equals(parentMember.getInviteId())) {
+                flag = true;
+            }
+        }
+        member.setRefererIds(ids);
+        dappMemberDao.updateById(member);
+        //初始化账户信息
+        DappWalletCoinEntity dappWalletCoinEntity = new DappWalletCoinEntity();
+        dappWalletCoinEntity.setMemberId(member.getId());
+        dappWalletCoinEntity.setAvailableAmount(AppContants.INIT_MONEY);
+        dappWalletCoinEntity.setFrozenAmount(AppContants.INIT_MONEY);
+        dappWalletCoinEntity.setTotalAmount(AppContants.INIT_MONEY);
+        dappWalletCoinDao.insert(dappWalletCoinEntity);
+
+        return new FebsResponse().success().message(MessageSourceUtils.getString("register_err_006"));
+    }
+
+    @Override
+    public FebsResponse myTeammateInfo(ApiMyTeammateInfoDto apiMyTeammateInfoDto) {
+        DappMemberEntity member = LoginUserUtil.getAppUser();
+        Page<ApiMyTeammateInfoListVo> page = new Page<>(apiMyTeammateInfoDto.getPageNum(), apiMyTeammateInfoDto.getPageSize());
+        if(ObjectUtil.isEmpty(apiMyTeammateInfoDto.getInviteId())){
+            apiMyTeammateInfoDto.setInviteId(member.getInviteId());
+        }else{
+            apiMyTeammateInfoDto.setInviteId(apiMyTeammateInfoDto.getInviteId());
+        }
+        IPage<ApiMyTeammateInfoListVo> apiMyTeammateInfoListVos = dappMemberDao.selectMyTeammateInfoInPage(apiMyTeammateInfoDto, page);
+        if(CollUtil.isNotEmpty(apiMyTeammateInfoListVos.getRecords())){
+            for(ApiMyTeammateInfoListVo apiMyTeammateInfoListVo : apiMyTeammateInfoListVos.getRecords()){
+                String identity = apiMyTeammateInfoListVo.getIdentity();
+                if(DataDictionaryEnum.LEVEL_TM.getCode().equals(identity)){
+                    apiMyTeammateInfoListVo.setLevelName("游客");
+                }else{
+                    apiMyTeammateInfoListVo.setLevelName("会员");
+                }
+            }
+        }
+        return new FebsResponse().success().data(apiMyTeammateInfoListVos);
+    }
+
+    @Override
+    public FebsResponse amountType() {
+        ArrayList<ApiAmountTypeVo> apiAmountTypeVos = new ArrayList<>();
+        List<DataDictionaryCustom> dataDictionaryCustoms = dataDictionaryCustomMapper.selectDicByType(DataDictionaryEnum.WITHDRAW_OUT.getType());
+        if(CollUtil.isNotEmpty(dataDictionaryCustoms)){
+            for(DataDictionaryCustom dataDictionaryCustom : dataDictionaryCustoms){
+                ApiAmountTypeVo apiAmountTypeVo = new ApiAmountTypeVo();
+                apiAmountTypeVo.setDescription(dataDictionaryCustom.getDescription());
+                apiAmountTypeVo.setCodeValue(dataDictionaryCustom.getValue());
+            }
+        }
+        return new FebsResponse().success().data(apiAmountTypeVos);
+    }
+
+    @Override
+    public FebsResponse findTeammateChangeListInPage(ApiAmountChangeDto apiAmountChangeDto) {
+        DappMemberEntity member = LoginUserUtil.getAppUser();
+        Page<ApiMyTeammateAmountChangeListVo> page = new Page<>(apiAmountChangeDto.getPageNum(), apiAmountChangeDto.getPageSize());
+        apiAmountChangeDto.setInviteId(member.getInviteId());
+        IPage<ApiMyTeammateAmountChangeListVo> amountChangeList = dappAccountMoneyChangeDao.selectTeammateChangeListInPage(apiAmountChangeDto,page);
+        return new FebsResponse().success().data(amountChangeList);
+    }
+
     public String generateAsaToken(String token) {
         RSA rsa = new RSA(null, AppContants.PUBLIC_KEY);
         return rsa.encryptBase64(token + "_" + System.currentTimeMillis(), KeyType.PublicKey);
diff --git a/src/main/java/cc/mrbird/febs/dapp/service/impl/DappWalletServiceImpl.java b/src/main/java/cc/mrbird/febs/dapp/service/impl/DappWalletServiceImpl.java
index c925f37..dd421d1 100644
--- a/src/main/java/cc/mrbird/febs/dapp/service/impl/DappWalletServiceImpl.java
+++ b/src/main/java/cc/mrbird/febs/dapp/service/impl/DappWalletServiceImpl.java
@@ -527,7 +527,13 @@
         if(!isMemberOut){
             return new FebsResponse().fail().message(MessageSourceUtils.getString("member_err_002"));
         }
-        String inviteIdIn = apiTransferInsideDto.getInviteId();
+        String username = apiTransferInsideDto.getUsername();
+        DappMemberEntity memberEntityIn = dappMemberDao.selectMemberInfoByUsername(username);
+        if (ObjectUtil.isEmpty(memberEntityIn)) {
+            return new FebsResponse().fail().message(MessageSourceUtils.getString("member_err_003"));
+        }
+
+        String inviteIdIn = memberEntityIn.getInviteId();
         Boolean isMemberIn = dappMemberService.isMember(apiTransferInsideDto.getInviteId());
         if(!isMemberIn){
             return new FebsResponse().fail().message(MessageSourceUtils.getString("member_err_003"));
@@ -688,4 +694,31 @@
         return new FebsResponse().success().message(MessageSourceUtils.getString("Operation_001"));
     }
 
+    @Override
+    public FebsResponse updatePassword(ApiUpdatePasswordDto apiUpdatePasswordDto) {
+        if(ObjectUtil.isEmpty(apiUpdatePasswordDto.getOldTransferPassword())){
+            return new FebsResponse().fail().message(MessageSourceUtils.getString("member_err_007"));
+        }
+        if(ObjectUtil.isEmpty(apiUpdatePasswordDto.getNewTransferPassword())
+                || ObjectUtil.isEmpty(apiUpdatePasswordDto.getNewTransferPasswordAgain())){
+            return new FebsResponse().fail().message(MessageSourceUtils.getString("member_err_008"));
+        }
+        String newTransferPassword = apiUpdatePasswordDto.getNewTransferPassword();
+        String newTransferPasswordAgain = apiUpdatePasswordDto.getNewTransferPasswordAgain();
+        if(!newTransferPassword.equals(newTransferPasswordAgain)){
+            return new FebsResponse().fail().message(MessageSourceUtils.getString("member_err_009"));
+        }
+
+        DappMemberEntity dappMemberEntity = LoginUserUtil.getAppUser();
+        Long memberId = dappMemberEntity.getId();
+        DappMemberEntity memberEntity = dappMemberDao.selectById(memberId);
+        memberEntity.setPassword(SecureUtil.md5(apiUpdatePasswordDto.getNewTransferPassword()));
+        dappMemberDao.updateById(memberEntity);
+
+        String redisKey = AppContants.REDIS_KEY_SIGN + memberId;
+        redisUtils.del(redisKey);
+
+        return new FebsResponse().success().message(MessageSourceUtils.getString("Operation_001"));
+    }
+
 }
diff --git a/src/main/java/cc/mrbird/febs/dapp/vo/ApiAmountChangeListVo.java b/src/main/java/cc/mrbird/febs/dapp/vo/ApiAmountChangeListVo.java
index dbc3ac5..b32d87c 100644
--- a/src/main/java/cc/mrbird/febs/dapp/vo/ApiAmountChangeListVo.java
+++ b/src/main/java/cc/mrbird/febs/dapp/vo/ApiAmountChangeListVo.java
@@ -9,7 +9,7 @@
 import java.util.Date;
 
 @Data
-@ApiModel(value = "ApiAmountChangeListVo", description = "内部互转规则")
+@ApiModel(value = "ApiAmountChangeListVo", description = "我的资金记录")
 public class ApiAmountChangeListVo {
 
     @ApiModelProperty(value = "时间")
diff --git a/src/main/java/cc/mrbird/febs/dapp/vo/ApiAmountTypeVo.java b/src/main/java/cc/mrbird/febs/dapp/vo/ApiAmountTypeVo.java
new file mode 100644
index 0000000..dd2e009
--- /dev/null
+++ b/src/main/java/cc/mrbird/febs/dapp/vo/ApiAmountTypeVo.java
@@ -0,0 +1,16 @@
+package cc.mrbird.febs.dapp.vo;
+
+import io.swagger.annotations.ApiModel;
+import io.swagger.annotations.ApiModelProperty;
+import lombok.Data;
+
+@Data
+@ApiModel(value = "ApiAmountTypeVo", description = "资金记录类型")
+public class ApiAmountTypeVo {
+
+    @ApiModelProperty(value = "类型名称")
+    private String description;
+
+    @ApiModelProperty(value = "类型的值")
+    private String codeValue;
+}
diff --git a/src/main/java/cc/mrbird/febs/dapp/vo/ApiMyTeammateAmountChangeListVo.java b/src/main/java/cc/mrbird/febs/dapp/vo/ApiMyTeammateAmountChangeListVo.java
new file mode 100644
index 0000000..7c80b0f
--- /dev/null
+++ b/src/main/java/cc/mrbird/febs/dapp/vo/ApiMyTeammateAmountChangeListVo.java
@@ -0,0 +1,24 @@
+package cc.mrbird.febs.dapp.vo;
+
+import com.fasterxml.jackson.annotation.JsonFormat;
+import io.swagger.annotations.ApiModel;
+import io.swagger.annotations.ApiModelProperty;
+import lombok.Data;
+
+import java.math.BigDecimal;
+import java.util.Date;
+
+@Data
+@ApiModel(value = "ApiMyTeammateAmountChangeListVo", description = "团队成员资金记录")
+public class ApiMyTeammateAmountChangeListVo {
+
+    @ApiModelProperty(value = "时间")
+    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
+    private Date createTime;
+
+    @ApiModelProperty(value = "金额")
+    private BigDecimal amount;
+
+    @ApiModelProperty(value = "类型",example = "类型  2-提现 4-内部转账 5-挂机收益 6-挂机")
+    private Integer type;
+}
diff --git a/src/main/java/cc/mrbird/febs/dapp/vo/ApiMyTeammateInfoListVo.java b/src/main/java/cc/mrbird/febs/dapp/vo/ApiMyTeammateInfoListVo.java
new file mode 100644
index 0000000..0d4c99a
--- /dev/null
+++ b/src/main/java/cc/mrbird/febs/dapp/vo/ApiMyTeammateInfoListVo.java
@@ -0,0 +1,26 @@
+package cc.mrbird.febs.dapp.vo;
+
+import io.swagger.annotations.ApiModel;
+import io.swagger.annotations.ApiModelProperty;
+import lombok.Data;
+
+@Data
+@ApiModel(value = "ApiMyTeammateInfoListVo", description = "团队成员列表详情")
+public class ApiMyTeammateInfoListVo {
+
+
+    @ApiModelProperty(value = "用户名")
+    private String username;
+
+    @ApiModelProperty(value = "会员等级")
+    private String levelName;
+
+    @ApiModelProperty(value = "会员等级编码")
+    private String identity;
+
+    @ApiModelProperty(value = "加入时间")
+    private String createTime;
+
+    @ApiModelProperty(value = "邀请码")
+    private String inviteId;
+}
diff --git a/src/main/java/cc/mrbird/febs/dapp/vo/MemberInfoVo.java b/src/main/java/cc/mrbird/febs/dapp/vo/MemberInfoVo.java
index 7ed7ed5..768d08a 100644
--- a/src/main/java/cc/mrbird/febs/dapp/vo/MemberInfoVo.java
+++ b/src/main/java/cc/mrbird/febs/dapp/vo/MemberInfoVo.java
@@ -28,7 +28,7 @@
     @ApiModelProperty(value = "是否设置了资金密码 1:是2:否")
     private Integer isSetTransferCode;
 
-    @ApiModelProperty(value = "是否正在挂机 1:是2:否")
+    @ApiModelProperty(value = "是否正在挂机 1:是2:否 3:结算中")
     private Integer isOnHook;
 
 }
diff --git a/src/main/resources/i18n/message_en_US.properties b/src/main/resources/i18n/message_en_US.properties
index 3f7d6cf..684aa4a 100644
--- a/src/main/resources/i18n/message_en_US.properties
+++ b/src/main/resources/i18n/message_en_US.properties
@@ -42,9 +42,9 @@
 member_err_003=The opposite user is not a member yet
 member_err_004=The current yield does not meet the system rules
 member_err_005=The membership relationship does not meet the system rules
-member_err_006=Please enter the correct fund password
-member_err_007=Please enter the old fund password
-member_err_008=Please enter a new fund password
+member_err_006=Please enter the correct password
+member_err_007=Please enter the old password
+member_err_008=Please enter a new password
 member_err_009=The new passwords entered twice are inconsistent
 member_err_0010=Please enter the address
 
diff --git a/src/main/resources/i18n/message_zh_CN.properties b/src/main/resources/i18n/message_zh_CN.properties
index 712c952..3b4bc98 100644
--- a/src/main/resources/i18n/message_zh_CN.properties
+++ b/src/main/resources/i18n/message_zh_CN.properties
@@ -40,9 +40,9 @@
 member_err_003=\u5BF9\u65B9\u7528\u6237\u8FD8\u4E0D\u662F\u4F1A\u5458
 member_err_004=\u5F53\u524D\u6536\u76CA\u7387\u4E0D\u6EE1\u8DB3\u7CFB\u7EDF\u89C4\u5219
 member_err_005=\u4F1A\u5458\u5173\u7CFB\u4E0D\u6EE1\u8DB3\u7CFB\u7EDF\u89C4\u5219
-member_err_006=\u8BF7\u8F93\u5165\u6B63\u786E\u7684\u8D44\u91D1\u5BC6\u7801
-member_err_007=\u8BF7\u8F93\u5165\u65E7\u7684\u8D44\u91D1\u5BC6\u7801
-member_err_008=\u8BF7\u8F93\u5165\u65B0\u7684\u8D44\u91D1\u5BC6\u7801
+member_err_006=\u8BF7\u8F93\u5165\u6B63\u786E\u7684\u5BC6\u7801
+member_err_007=\u8BF7\u8F93\u5165\u65E7\u7684\u5BC6\u7801
+member_err_008=\u8BF7\u8F93\u5165\u65B0\u7684\u5BC6\u7801
 member_err_009=\u4E24\u6B21\u8F93\u5165\u7684\u65B0\u5BC6\u7801\u4E0D\u4E00\u81F4
 member_err_0010=\u8BF7\u8F93\u5165\u5730\u5740
 
diff --git a/src/main/resources/mapper/dapp/DappAccountMoneyChangeDao.xml b/src/main/resources/mapper/dapp/DappAccountMoneyChangeDao.xml
index 514907d..ffdb44f 100644
--- a/src/main/resources/mapper/dapp/DappAccountMoneyChangeDao.xml
+++ b/src/main/resources/mapper/dapp/DappAccountMoneyChangeDao.xml
@@ -37,4 +37,25 @@
         order by a.create_time desc
     </select>
 
+    <select id="selectTeammateChangeListInPage" resultType="cc.mrbird.febs.dapp.vo.ApiMyTeammateAmountChangeListVo">
+        select
+        a.create_time createTime,
+        a.amount amount,
+        a.type type
+        from dapp_account_money_change a
+        <where>
+            a.member_id in (select b.id from dapp_member b where find_in_set(#{record.inviteId}, b.referer_ids))
+            <if test="record.type != null">
+                and a.type=#{record.type}
+            </if>
+            <if test="record.startTime != null and record.startTime != ''">
+                and a.create_time &gt;= #{record.startTime}
+            </if>
+            <if test="record.endTime != null and record.endTime != ''">
+                and a.create_time &lt;= #{record.endTime}
+            </if>
+        </where>
+        order by a.create_time desc
+    </select>
+
 </mapper>
\ No newline at end of file
diff --git a/src/main/resources/mapper/dapp/DappMemberDao.xml b/src/main/resources/mapper/dapp/DappMemberDao.xml
index bdd71a5..6f51c25 100644
--- a/src/main/resources/mapper/dapp/DappMemberDao.xml
+++ b/src/main/resources/mapper/dapp/DappMemberDao.xml
@@ -173,4 +173,15 @@
         where
             is_on_hook = 3
     </update>
+
+    <select id="selectMyTeammateInfoInPage" resultType="cc.mrbird.febs.dapp.vo.ApiMyTeammateInfoListVo">
+        select
+               a.username username,
+               a.identity identity,
+               a.create_time createTime,
+               a.invite_id inviteId
+        from dapp_member a
+        where a.referer_id=#{record.inviteId}
+        order by a.create_time desc
+    </select>
 </mapper>
\ No newline at end of file
diff --git a/src/main/resources/mapper/dapp/IgtOnHookPlanOrderDao.xml b/src/main/resources/mapper/dapp/IgtOnHookPlanOrderDao.xml
index eb05876..3f66bab 100644
--- a/src/main/resources/mapper/dapp/IgtOnHookPlanOrderDao.xml
+++ b/src/main/resources/mapper/dapp/IgtOnHookPlanOrderDao.xml
@@ -38,4 +38,11 @@
             id = #{id}
     </update>
 
+    <select id="selectSumProfitByMemberId" resultType="java.math.BigDecimal">
+        SELECT
+            ifnull(sum(a.profit),0)
+        FROM igt_on_hook_plan_order a
+        where a.member_id = #{memberId}
+    </select>
+
 </mapper>
\ No newline at end of file

--
Gitblit v1.9.1