Helius
2020-05-29 d8b2724c3033600bacd04a91711b2df1bb9856bd
Merge branch 'master' of https://gitee.com/chonggaoxiao/new_excoin
10 files added
9 files modified
378 ■■■■■ changed files
src/main/java/com/xcong/excoin/modules/coin/controller/OrderCoinController.java 16 ●●●● patch | view | raw | blame | history
src/main/java/com/xcong/excoin/modules/coin/entity/OrderCoinsDealEntity.java 7 ●●●●● patch | view | raw | blame | history
src/main/java/com/xcong/excoin/modules/coin/parameter/dto/CancelEntrustWalletCoinOrderDto.java 8 ●●●●● patch | view | raw | blame | history
src/main/java/com/xcong/excoin/modules/coin/parameter/vo/FindCollectListVo.java 16 ●●●●● patch | view | raw | blame | history
src/main/java/com/xcong/excoin/modules/coin/parameter/vo/OrderWalletCoinVo.java 5 ●●●●● patch | view | raw | blame | history
src/main/java/com/xcong/excoin/modules/coin/service/OrderCoinService.java 4 ●●● patch | view | raw | blame | history
src/main/java/com/xcong/excoin/modules/coin/service/impl/OrderCoinServiceImpl.java 36 ●●●● patch | view | raw | blame | history
src/main/java/com/xcong/excoin/modules/member/controller/MemberController.java 41 ●●●●● patch | view | raw | blame | history
src/main/java/com/xcong/excoin/modules/member/dao/MemberCoinAddressDao.java 9 ●●●●● patch | view | raw | blame | history
src/main/java/com/xcong/excoin/modules/member/entity/MemberCoinAddressEntity.java 55 ●●●●● patch | view | raw | blame | history
src/main/java/com/xcong/excoin/modules/member/parameter/dto/MemberBindEmailDto.java 21 ●●●●● patch | view | raw | blame | history
src/main/java/com/xcong/excoin/modules/member/parameter/vo/MemberCoinAddressCountListVo.java 17 ●●●●● patch | view | raw | blame | history
src/main/java/com/xcong/excoin/modules/member/parameter/vo/MemberCoinAddressCountVo.java 24 ●●●●● patch | view | raw | blame | history
src/main/java/com/xcong/excoin/modules/member/service/MemberService.java 5 ●●●●● patch | view | raw | blame | history
src/main/java/com/xcong/excoin/modules/member/service/impl/MemberServiceImpl.java 48 ●●●●● patch | view | raw | blame | history
src/main/java/com/xcong/excoin/modules/platform/dao/PlatformSymbolsCoinDao.java 13 ●●●●● patch | view | raw | blame | history
src/main/java/com/xcong/excoin/modules/platform/entity/PlatformSymbolsCoinEntity.java 29 ●●●●● patch | view | raw | blame | history
src/main/resources/mapper/member/MemberCoinAddressDao.xml 5 ●●●●● patch | view | raw | blame | history
src/main/resources/mapper/platform/PlatformSymbolsCoinDao.xml 19 ●●●●● patch | view | raw | blame | history
src/main/java/com/xcong/excoin/modules/coin/controller/OrderCoinController.java
@@ -15,6 +15,7 @@
import com.xcong.excoin.modules.coin.parameter.dto.CancelEntrustWalletCoinOrderDto;
import com.xcong.excoin.modules.coin.parameter.dto.FindCollectDto;
import com.xcong.excoin.modules.coin.parameter.dto.SubmitSalesWalletCoinOrderDto;
import com.xcong.excoin.modules.coin.parameter.vo.FindCollectListVo;
import com.xcong.excoin.modules.coin.parameter.vo.MemberSelectSymbolsVo;
import com.xcong.excoin.modules.coin.parameter.vo.OrderWalletCoinDealListVo;
import com.xcong.excoin.modules.coin.parameter.vo.OrderWalletCoinDealVo;
@@ -92,8 +93,8 @@
    @ApiOperation(value = "撤销委托订单", notes = "撤销委托订单")
    @PostMapping(value="/cancelEntrustWalletCoinOrder")
    public Result cancelEntrustWalletCoinOrder(@RequestBody @Valid CancelEntrustWalletCoinOrderDto cancelEntrustWalletCoinOrderDto) {
        String orderNo = cancelEntrustWalletCoinOrderDto.getOrderNo();
        return orderCoinService.cancelEntrustWalletCoinOrder(orderNo);
        String orderId = cancelEntrustWalletCoinOrderDto.getOrderId();
        return orderCoinService.cancelEntrustWalletCoinOrder(orderId);
    }
    
    /**
@@ -147,4 +148,15 @@
        return orderCoinService.checkIsCollect(symbol);
    }
    
    /**
     * 已自选的币种
     * @return
     */
    @ApiOperation(value = "已自选的币种", notes = "已自选的币种")
    @ApiResponses({@ApiResponse( code = 200, message = "success", response = FindCollectListVo.class)})
    @GetMapping(value = "/findCollectList")
    public Result  findCollectList() {
        return orderCoinService.findCollectList();
    }
}
src/main/java/com/xcong/excoin/modules/coin/entity/OrderCoinsDealEntity.java
@@ -41,6 +41,13 @@
    private Integer tradeType;
    public static final Integer TRADETYPE_MARKETPRICE = 1;
    public static final Integer TRADETYPE_FIXEDPRICE = 2;
    /**
     * 状态  2:撤单3:已成交
     */
    private Integer orderStatus;
    public static final Integer ORDERSTATUS_CANCEL = 2;
    public static final Integer ORDERSTATUS_DONE = 3;
    /**
     * 币种
     */
src/main/java/com/xcong/excoin/modules/coin/parameter/dto/CancelEntrustWalletCoinOrderDto.java
@@ -1,7 +1,5 @@
package com.xcong.excoin.modules.coin.parameter.dto;
import java.math.BigDecimal;
import javax.validation.constraints.NotNull;
import io.swagger.annotations.ApiModel;
@@ -12,8 +10,8 @@
@ApiModel(value = "CancelEntrustWalletCoinOrderDto", description = "撤销委托订单")
public class CancelEntrustWalletCoinOrderDto {
    @NotNull(message = "订单编号不能为空")
    @ApiModelProperty(value = "订单编号", example = "100")
    private String orderNo;
    @NotNull(message = "订单ID不能为空")
    @ApiModelProperty(value = "订单ID", example = "100")
    private String orderId;
}
src/main/java/com/xcong/excoin/modules/coin/parameter/vo/FindCollectListVo.java
New file
@@ -0,0 +1,16 @@
package com.xcong.excoin.modules.coin.parameter.vo;
import java.util.List;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
@Data
@ApiModel(value = "FindCollectListVo", description = "币币是否自选返回")
public class FindCollectListVo {
    @ApiModelProperty(value = "币币自选")
    private List<MemberSelectSymbolsVo> memberSelectSymbolsVo;
}
src/main/java/com/xcong/excoin/modules/coin/parameter/vo/OrderWalletCoinVo.java
@@ -13,6 +13,11 @@
@ApiModel(value = "OrderWalletCoinVo", description = "订单详情")
public class OrderWalletCoinVo {
    /**
     * 订单ID
     */
    @ApiModelProperty(value = "ID")
    private Long id;
    /**
     * 订单编号
     */
    @ApiModelProperty(value = "订单编号")
src/main/java/com/xcong/excoin/modules/coin/service/OrderCoinService.java
@@ -17,7 +17,7 @@
    public Result getEntrustWalletCoinOrder(String symbol, Integer status);
    public Result cancelEntrustWalletCoinOrder(String orderNo);
    public Result cancelEntrustWalletCoinOrder(String orderId);
    public Result findAllWalletCoinOrder();
@@ -27,4 +27,6 @@
    public Result checkIsCollect(String symbol);
    public Result findCollectList();
}
src/main/java/com/xcong/excoin/modules/coin/service/impl/OrderCoinServiceImpl.java
@@ -29,6 +29,7 @@
import com.xcong.excoin.modules.coin.entity.OrderCoinsEntity;
import com.xcong.excoin.modules.coin.mapper.OrderWalletCoinDealMapper;
import com.xcong.excoin.modules.coin.mapper.OrderWalletCoinMapper;
import com.xcong.excoin.modules.coin.parameter.vo.FindCollectListVo;
import com.xcong.excoin.modules.coin.parameter.vo.MemberSelectSymbolsVo;
import com.xcong.excoin.modules.coin.parameter.vo.OrderWalletCoinDealListVo;
import com.xcong.excoin.modules.coin.parameter.vo.OrderWalletCoinDealVo;
@@ -321,10 +322,10 @@
    @Override
    @Transactional
    public Result cancelEntrustWalletCoinOrder(String orderNo) {
    public Result cancelEntrustWalletCoinOrder(String orderId) {
            //获取用户ID
            Long memberId = LoginUserUtils.getAppLoginUser().getId();
            OrderCoinsEntity orderCoinsEntity = orderCoinsDao.findWalletCoinOrderByOrderNo(orderNo);
            OrderCoinsEntity orderCoinsEntity = orderCoinsDao.selectById(orderId);
                if(ObjectUtil.isNotEmpty(orderCoinsEntity) && orderCoinsEntity.getMemberId() == memberId) {
                    if(orderCoinsEntity.getOrderStatus() == OrderCoinsEntity.ORDERSTATUS_CANCEL){
                        return Result.fail(MessageSourceUtils.getString("order_service_0012"));
@@ -342,7 +343,7 @@
                        if (ObjectUtil.isNotEmpty(walletCoin)) {
                            //手续费 = 开仓价*数量*手续费率
                            //返还金额=开仓价*未成交数量+手续费
                            BigDecimal returnBalance = orderCoinsEntity.getEntrustPrice().add(orderCoinsEntity.getFeeAmount());
                            BigDecimal returnBalance = orderCoinsEntity.getDealAmount().add(orderCoinsEntity.getFeeAmount());
                            
                            walletCoin.setAvailableBalance(walletCoin.getAvailableBalance().add(returnBalance).setScale(4, BigDecimal.ROUND_DOWN));
                            walletCoin.setFrozenBalance(walletCoin.getFrozenBalance().subtract(returnBalance).setScale(4, BigDecimal.ROUND_DOWN));
@@ -360,13 +361,12 @@
                        }
                    }else {
                        //如果是限价卖出,撤单将对应的钱包冻结金额返回
                        String walletCode = MemberWalletCoinEnum.WALLETCOINCODE.getValue();
                        MemberWalletCoinEntity walletCoin = memberWalletCoinDao.selectWalletCoinBymIdAndCode(memberId, walletCode);
                        MemberWalletCoinEntity walletCoin = memberWalletCoinDao.selectWalletCoinBymIdAndCode(memberId, symbol);
                        if (ObjectUtil.isNotEmpty(walletCoin)) {
                            //返还金额=开仓价*未成交数量
                            BigDecimal returnBalance = walletCoin.getAvailableBalance().add(walletCoin.getFrozenBalance());
                            walletCoin.setAvailableBalance(returnBalance.setScale(4, BigDecimal.ROUND_DOWN));
                            walletCoin.setFrozenBalance(BigDecimal.ZERO);
                            walletCoin.setFrozenBalance(walletCoin.getFrozenBalance().subtract(returnBalance).setScale(4, BigDecimal.ROUND_DOWN));
                            memberWalletCoinDao.updateById(walletCoin);
                            // 流水记录
                            MemberAccountFlowEntity record = new MemberAccountFlowEntity();
@@ -380,7 +380,6 @@
                            return Result.ok(MessageSourceUtils.getString("order_service_0013"));
                        }
                    }
                    OrderCoinsDealEntity detail = new OrderCoinsDealEntity();
                    detail.setMemberId(memberId);
                    detail.setOrderId(orderCoinsEntity.getId());
@@ -388,6 +387,7 @@
                    detail.setOrderType(orderCoinsEntity.getOrderType());
                    detail.setTradeType(orderCoinsEntity.getTradeType());
                    detail.setSymbol(symbol);
                    detail.setOrderStatus(OrderCoinsDealEntity.ORDERSTATUS_CANCEL);
                    detail.setSymbolCnt(orderCoinsEntity.getEntrustCnt());
                    detail.setEntrustPrice(orderCoinsEntity.getEntrustPrice().setScale(4, BigDecimal.ROUND_DOWN));
                    detail.setDealPrice(orderCoinsEntity.getDealPrice().setScale(4, BigDecimal.ROUND_DOWN));
@@ -462,4 +462,26 @@
        return Result.ok(memberSelectSymbolsVo);
    }
    @Override
    public Result findCollectList() {
        //获取用户ID
        Long memberId = LoginUserUtils.getAppLoginUser().getId();
        Map<String, Object> columnMap = new HashMap<>();
        columnMap.put("member_id", memberId);
        List<MemberSelectSymbolsEntity> selectByMap = memberSelectSymbolsDao.selectByMap(columnMap);
        FindCollectListVo findCollectListVo = new FindCollectListVo();
        List<MemberSelectSymbolsVo> arrayList = new ArrayList<>();
        if(CollUtil.isNotEmpty(selectByMap)) {
            for(MemberSelectSymbolsEntity memberSelectSymbolsEntity : selectByMap) {
                MemberSelectSymbolsVo memberSelectSymbolsVo = new MemberSelectSymbolsVo();
                memberSelectSymbolsVo.setSymbol(memberSelectSymbolsEntity.getSymbol());
                arrayList.add(memberSelectSymbolsVo);
            }
        }
        findCollectListVo.setMemberSelectSymbolsVo(arrayList);
        return Result.ok(findCollectListVo);
    }
}
src/main/java/com/xcong/excoin/modules/member/controller/MemberController.java
@@ -11,12 +11,14 @@
import com.xcong.excoin.common.response.Result;
import com.xcong.excoin.modules.member.parameter.dto.MemberAuthenticationDto;
import com.xcong.excoin.modules.member.parameter.dto.MemberBindEmailDto;
import com.xcong.excoin.modules.member.parameter.dto.MemberBindPhoneDto;
import com.xcong.excoin.modules.member.parameter.dto.MemberDelPaymethodDto;
import com.xcong.excoin.modules.member.parameter.dto.MemberForgetPwdDto;
import com.xcong.excoin.modules.member.parameter.dto.MemberPaymethodDto;
import com.xcong.excoin.modules.member.parameter.dto.MemberUpdatePwdDto;
import com.xcong.excoin.modules.member.parameter.dto.MemberUpdateTradePwdDto;
import com.xcong.excoin.modules.member.parameter.vo.MemberCoinAddressCountListVo;
import com.xcong.excoin.modules.member.parameter.vo.MemberInfoVo;
import com.xcong.excoin.modules.member.parameter.vo.MemberPaymethodDetailListVo;
import com.xcong.excoin.modules.member.parameter.vo.MemberPaymethodDetailVo;
@@ -175,6 +177,45 @@
        return memberService.memberBindPhone(memberBindPhoneDto);
    }
    
    /**
     * 绑定邮箱
     * @return
     */
    @ApiOperation(value="绑定邮箱", notes="绑定邮箱")
    @PostMapping(value="/memberBindEmail")
    public Result memberBindEmail(@RequestBody @Valid MemberBindEmailDto memberBindEmailDto) {
        return memberService.memberBindEmail(memberBindEmailDto);
    }
    /**
     * 获取币种地址数量
     * @return
     */
    @ApiOperation(value = "获取币种地址数量", notes = "获取币种地址数量")
    @ApiResponses({@ApiResponse( code = 200, message = "success", response = MemberCoinAddressCountListVo.class)})
    @GetMapping(value = "/memberCoinAddressCount")
    public Result memberCoinAddressCount() {
        return memberService.memberCoinAddressCount();
    }
    /**
     * 获取提币地址列表
     *
     * @param pageNumber
     * @param pageSize
     * @param token
     * @return
    @ApiOperation(value = "获取地址列表", notes = "获取地址列表")
    @ApiResponses({@ApiResponse( code = 200, message = "success", response = MemberPaymethodDetailVo.class)})
    @ApiImplicitParams({
        @ApiImplicitParam(name = "id", value = "ID", required = true, dataType = "long", paramType="query")
    })
    @GetMapping(value = "/memberCoinAddressList")
    public Result memberCoinAddressList(String pageNumber, String pageSize, Long symbolsId, @RequestHeader(value = "token", required = true) String token) {
        return memberService.memberCoinAddressList(token, pageNumber, pageSize, symbolsId);
    }*/
    
    
    
src/main/java/com/xcong/excoin/modules/member/dao/MemberCoinAddressDao.java
New file
@@ -0,0 +1,9 @@
package com.xcong.excoin.modules.member.dao;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.xcong.excoin.modules.member.entity.MemberCoinAddressEntity;
public interface MemberCoinAddressDao  extends BaseMapper<MemberCoinAddressEntity> {
}
src/main/java/com/xcong/excoin/modules/member/entity/MemberCoinAddressEntity.java
New file
@@ -0,0 +1,55 @@
package com.xcong.excoin.modules.member.entity;
import com.baomidou.mybatisplus.annotation.TableName;
import com.xcong.excoin.common.system.base.BaseEntity;
import lombok.Data;
/**
 * 会员币地址
 * @author Administrator
 *
 */
@Data
@TableName("member_coin_address")
public class MemberCoinAddressEntity  extends BaseEntity {
    /**
     *
     */
    private static final long serialVersionUID = 1L;
    /**
     * 会员ID
     */
    private Long memberId;
    /**
     * 地址
     */
    private String address;
    /**
     * 私钥
     */
    private String private_key;
    /**
     * 币种
     */
    private String symbol;
    /**
     * 是否是本平台地址1:是  0:否
     */
    private String is_biyict;
    public static final String IS_BIYICT_YES = "1";
    public static final String IS_BIYICT_NO = "0";
    /**
     *
     */
    private String label;
    /**
     *
     */
    private String tag;
    /**
     * 币种ID
     */
    private Long symbolscoin_id;
}
src/main/java/com/xcong/excoin/modules/member/parameter/dto/MemberBindEmailDto.java
New file
@@ -0,0 +1,21 @@
package com.xcong.excoin.modules.member.parameter.dto;
import javax.validation.constraints.NotNull;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
@Data
@ApiModel(value = "MemberBindEmailDto", description = "绑定邮箱参数接收类")
public class MemberBindEmailDto {
    @NotNull(message = "验证码不能为空")
    @ApiModelProperty(value = "验证码", example = "123456")
    private String code;
    @NotNull(message = "邮箱不能为空")
    @ApiModelProperty(value = "邮箱", example = "www.13412341234@134.com")
    private String email;
}
src/main/java/com/xcong/excoin/modules/member/parameter/vo/MemberCoinAddressCountListVo.java
New file
@@ -0,0 +1,17 @@
package com.xcong.excoin.modules.member.parameter.vo;
import java.util.List;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
@Data
@ApiModel(value = "MemberCoinAddressCountListVo", description = "币种地址信息")
public class MemberCoinAddressCountListVo {
    @ApiModelProperty(value = "币种地址")
    private List<MemberCoinAddressCountVo> memberCoinAddressCountVo;
}
src/main/java/com/xcong/excoin/modules/member/parameter/vo/MemberCoinAddressCountVo.java
New file
@@ -0,0 +1,24 @@
package com.xcong.excoin.modules.member.parameter.vo;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
@Data
@ApiModel(value = "MemberCoinAddressCountVo", description = "币种地址数量信息")
public class MemberCoinAddressCountVo {
    @ApiModelProperty(value = "ID")
    private Long id;
     /**
     * 币种
     */
    @ApiModelProperty(value = "币种")
    private String name;
     /**
     * 地址数量
     */
    @ApiModelProperty(value = "地址数量")
    private Integer count;
}
src/main/java/com/xcong/excoin/modules/member/service/MemberService.java
@@ -7,6 +7,7 @@
import com.xcong.excoin.common.system.dto.RegisterDto;
import com.xcong.excoin.modules.member.entity.MemberEntity;
import com.xcong.excoin.modules.member.parameter.dto.MemberAuthenticationDto;
import com.xcong.excoin.modules.member.parameter.dto.MemberBindEmailDto;
import com.xcong.excoin.modules.member.parameter.dto.MemberBindPhoneDto;
import com.xcong.excoin.modules.member.parameter.dto.MemberDelPaymethodDto;
import com.xcong.excoin.modules.member.parameter.dto.MemberForgetPwdDto;
@@ -45,5 +46,9 @@
    public Result memberBindPhone(@Valid MemberBindPhoneDto memberBindPhoneDto);
    public Result memberBindEmail(@Valid MemberBindEmailDto memberBindEmailDto);
    public Result memberCoinAddressCount();
}
src/main/java/com/xcong/excoin/modules/member/service/impl/MemberServiceImpl.java
@@ -15,21 +15,26 @@
import com.xcong.excoin.modules.member.dao.*;
import com.xcong.excoin.modules.member.entity.*;
import com.xcong.excoin.modules.member.parameter.dto.MemberAuthenticationDto;
import com.xcong.excoin.modules.member.parameter.dto.MemberBindEmailDto;
import com.xcong.excoin.modules.member.parameter.dto.MemberBindPhoneDto;
import com.xcong.excoin.modules.member.parameter.dto.MemberDelPaymethodDto;
import com.xcong.excoin.modules.member.parameter.dto.MemberForgetPwdDto;
import com.xcong.excoin.modules.member.parameter.dto.MemberPaymethodDto;
import com.xcong.excoin.modules.member.parameter.dto.MemberUpdatePwdDto;
import com.xcong.excoin.modules.member.parameter.dto.MemberUpdateTradePwdDto;
import com.xcong.excoin.modules.member.parameter.vo.MemberCoinAddressCountListVo;
import com.xcong.excoin.modules.member.parameter.vo.MemberCoinAddressCountVo;
import com.xcong.excoin.modules.member.parameter.vo.MemberInfoVo;
import com.xcong.excoin.modules.member.parameter.vo.MemberPaymethodDetailListVo;
import com.xcong.excoin.modules.member.parameter.vo.MemberPaymethodDetailVo;
import com.xcong.excoin.modules.member.service.MemberService;
import com.xcong.excoin.modules.platform.dao.PlatformSymbolsCoinDao;
import com.xcong.excoin.utils.MessageSourceUtils;
import com.xcong.excoin.utils.RedisUtils;
import com.xcong.excoin.utils.ShareCodeUtil;
import lombok.extern.slf4j.Slf4j;
import org.apache.commons.lang3.StringUtils;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional;
@@ -73,6 +78,9 @@
    
    @Resource
    MemberPaymentMethodDao memberPaymentMethodDao;
    @Resource
    PlatformSymbolsCoinDao platformSymbolsCoinDao;
    @Transactional()
    @Override
@@ -319,7 +327,7 @@
                memberAuthenticationEntity.setIdcardImageInHand(memberAuthenticationDto.getIdCardImage());
                memberAuthenticationDao.insert(memberAuthenticationEntity);
                
                member.setCertifyStatus(MemberEntity.CERTIFY_STATUS_Y);
                member.setCertifyStatus(MemberEntity.CERTIFY_STATUS_ING);
                member.setIdcardNo(idCardNo);
                memberDao.updateById(member);
                /**
@@ -526,4 +534,42 @@
        return Result.fail(MessageSourceUtils.getString("member_service_0015"));
    }
    @Override
    public Result memberBindEmail(@Valid MemberBindEmailDto memberBindEmailDto) {
        //获取用户ID
        Long memberId = LoginUserUtils.getAppLoginUser().getId();
        String email = memberBindEmailDto.getEmail();
        String code = memberBindEmailDto.getCode();
        MemberEntity member = memberDao.selectById(memberId);
        String verifyCode = (String)redisUtils.get("EMAIL_" + email);
        if (ObjectUtil.isNotEmpty(member)) {
            if (StringUtils.isBlank(verifyCode)) {
                return Result.fail(MessageSourceUtils.getString("member_service_0012"));
            }
            if (!code.equals(verifyCode)) {
                return Result.fail(MessageSourceUtils.getString("member_service_0039"));
            }
            member.setEmail(email);
            memberDao.updateById(member);
            redisUtils.del("EMAIL_" + member.getPhone());
            return Result.ok(MessageSourceUtils.getString("member_service_0018"));
        }
        return Result.fail(MessageSourceUtils.getString("member_service_0019"));
    }
    @Override
    public Result memberCoinAddressCount() {
        //获取用户ID
        Long memberId = LoginUserUtils.getAppLoginUser().getId();
        List<MemberCoinAddressCountVo> list = platformSymbolsCoinDao.selectCoinAddressCount(memberId);
        MemberCoinAddressCountListVo memberCoinAddressCountListVo = new MemberCoinAddressCountListVo();
        if(CollUtil.isNotEmpty(list)) {
            memberCoinAddressCountListVo.setMemberCoinAddressCountVo(list);
            return Result.ok(memberCoinAddressCountListVo);
        }
        return Result.fail(MessageSourceUtils.getString("member_service_0020"));
    }
}
src/main/java/com/xcong/excoin/modules/platform/dao/PlatformSymbolsCoinDao.java
New file
@@ -0,0 +1,13 @@
package com.xcong.excoin.modules.platform.dao;
import java.util.List;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.xcong.excoin.modules.member.parameter.vo.MemberCoinAddressCountVo;
import com.xcong.excoin.modules.platform.entity.PlatformSymbolsCoinEntity;
public interface PlatformSymbolsCoinDao extends BaseMapper<PlatformSymbolsCoinEntity> {
    List<MemberCoinAddressCountVo> selectCoinAddressCount(Long memberId);
}
src/main/java/com/xcong/excoin/modules/platform/entity/PlatformSymbolsCoinEntity.java
New file
@@ -0,0 +1,29 @@
package com.xcong.excoin.modules.platform.entity;
import java.io.Serializable;
import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import lombok.Data;
/**
 * 币种表
 */
@Data
@TableName("platform_symbols_coin")
public class PlatformSymbolsCoinEntity implements Serializable{
    /**
     *
     */
    private static final long serialVersionUID = 1L;
    @TableId(value = "id",type = IdType.AUTO)
    private Long id;
    /**
     * 币种名称
     */
    private String name;
}
src/main/resources/mapper/member/MemberCoinAddressDao.xml
New file
@@ -0,0 +1,5 @@
<?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.dao.MemberCoinAddressDao">
</mapper>
src/main/resources/mapper/platform/PlatformSymbolsCoinDao.xml
New file
@@ -0,0 +1,19 @@
<?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.platform.dao.PlatformSymbolsCoinDao">
    <select id="selectCoinAddressCount" resultType="com.xcong.excoin.modules.member.parameter.vo.MemberCoinAddressCountVo">
        SELECT
            a.id,
            a. NAME,
            count(b.id) count
        FROM
            platform_symbols_coin a
        LEFT JOIN member_coin_address b ON a.id = b.symbolscoin_id
        AND member_id = #{memberId}
        GROUP BY
            a.id,
            a. NAME
    </select>
</mapper>