xiaoyong931011
2022-10-20 6827cdbc773688f34c8b9470bf5300054292fe14
20221020
20 files modified
6 files added
434 ■■■■■ changed files
src/main/java/cc/mrbird/febs/dapp/controller/ApiDappMemberController.java 39 ●●●●● patch | view | raw | blame | history
src/main/java/cc/mrbird/febs/dapp/dto/ApiAddTeammateDto.java 24 ●●●●● patch | view | raw | blame | history
src/main/java/cc/mrbird/febs/dapp/dto/ApiAmountChangeDto.java 4 ●●●● patch | view | raw | blame | history
src/main/java/cc/mrbird/febs/dapp/dto/ApiMyTeammateInfoDto.java 20 ●●●●● patch | view | raw | blame | history
src/main/java/cc/mrbird/febs/dapp/dto/ApiTransferInsideDto.java 3 ●●●●● patch | view | raw | blame | history
src/main/java/cc/mrbird/febs/dapp/dto/ApiUpdatePasswordDto.java 20 ●●●●● patch | view | raw | blame | history
src/main/java/cc/mrbird/febs/dapp/enumerate/DataDictionaryEnum.java 8 ●●●●● patch | view | raw | blame | history
src/main/java/cc/mrbird/febs/dapp/mapper/DappAccountMoneyChangeDao.java 4 ●●●● patch | view | raw | blame | history
src/main/java/cc/mrbird/febs/dapp/mapper/DappMemberDao.java 5 ●●●●● patch | view | raw | blame | history
src/main/java/cc/mrbird/febs/dapp/mapper/IgtOnHookPlanOrderDao.java 2 ●●●●● patch | view | raw | blame | history
src/main/java/cc/mrbird/febs/dapp/service/ApiIgtOnHookPlanService.java 9 ●●●●● patch | view | raw | blame | history
src/main/java/cc/mrbird/febs/dapp/service/DappMemberService.java 8 ●●●●● patch | view | raw | blame | history
src/main/java/cc/mrbird/febs/dapp/service/DappWalletService.java 2 ●●●●● patch | view | raw | blame | history
src/main/java/cc/mrbird/febs/dapp/service/impl/ApiIgtOnHookPlanServiceImpl.java 8 ●●●● patch | view | raw | blame | history
src/main/java/cc/mrbird/febs/dapp/service/impl/DappMemberServiceImpl.java 122 ●●●●● patch | view | raw | blame | history
src/main/java/cc/mrbird/febs/dapp/service/impl/DappWalletServiceImpl.java 35 ●●●●● patch | view | raw | blame | history
src/main/java/cc/mrbird/febs/dapp/vo/ApiAmountChangeListVo.java 2 ●●● patch | view | raw | blame | history
src/main/java/cc/mrbird/febs/dapp/vo/ApiAmountTypeVo.java 16 ●●●●● patch | view | raw | blame | history
src/main/java/cc/mrbird/febs/dapp/vo/ApiMyTeammateAmountChangeListVo.java 24 ●●●●● patch | view | raw | blame | history
src/main/java/cc/mrbird/febs/dapp/vo/ApiMyTeammateInfoListVo.java 26 ●●●●● patch | view | raw | blame | history
src/main/java/cc/mrbird/febs/dapp/vo/MemberInfoVo.java 2 ●●● patch | view | raw | blame | history
src/main/resources/i18n/message_en_US.properties 6 ●●●● patch | view | raw | blame | history
src/main/resources/i18n/message_zh_CN.properties 6 ●●●● patch | view | raw | blame | history
src/main/resources/mapper/dapp/DappAccountMoneyChangeDao.xml 21 ●●●●● patch | view | raw | blame | history
src/main/resources/mapper/dapp/DappMemberDao.xml 11 ●●●●● patch | view | raw | blame | history
src/main/resources/mapper/dapp/IgtOnHookPlanOrderDao.xml 7 ●●●●● patch | view | raw | blame | history
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);
    }
}
src/main/java/cc/mrbird/febs/dapp/dto/ApiAddTeammateDto.java
New file
@@ -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;
}
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;
}
src/main/java/cc/mrbird/febs/dapp/dto/ApiMyTeammateInfoDto.java
New file
@@ -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;
}
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;
}
src/main/java/cc/mrbird/febs/dapp/dto/ApiUpdatePasswordDto.java
New file
@@ -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;
}
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"),
    /**
     * 挂机设置
     * 最长挂机时间
     */
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);
}
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);
}
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);
}
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);
}
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);
}
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);
}
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());
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);
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"));
    }
}
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 = "时间")
src/main/java/cc/mrbird/febs/dapp/vo/ApiAmountTypeVo.java
New file
@@ -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;
}
src/main/java/cc/mrbird/febs/dapp/vo/ApiMyTeammateAmountChangeListVo.java
New file
@@ -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;
}
src/main/java/cc/mrbird/febs/dapp/vo/ApiMyTeammateInfoListVo.java
New file
@@ -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;
}
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;
}
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
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
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>
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>
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>