From d8b2724c3033600bacd04a91711b2df1bb9856bd Mon Sep 17 00:00:00 2001 From: Helius <wangdoubleone@gmail.com> Date: Fri, 29 May 2020 16:06:26 +0800 Subject: [PATCH] Merge branch 'master' of https://gitee.com/chonggaoxiao/new_excoin --- src/main/java/com/xcong/excoin/modules/coin/service/impl/OrderCoinServiceImpl.java | 36 ++++- src/main/resources/mapper/member/MemberCoinAddressDao.xml | 5 src/main/java/com/xcong/excoin/modules/member/controller/MemberController.java | 41 +++++ src/main/java/com/xcong/excoin/modules/platform/dao/PlatformSymbolsCoinDao.java | 13 + src/main/java/com/xcong/excoin/modules/member/parameter/vo/MemberCoinAddressCountListVo.java | 17 ++ src/main/resources/mapper/platform/PlatformSymbolsCoinDao.xml | 19 ++ src/main/java/com/xcong/excoin/modules/coin/parameter/dto/CancelEntrustWalletCoinOrderDto.java | 8 src/main/java/com/xcong/excoin/modules/coin/parameter/vo/OrderWalletCoinVo.java | 5 src/main/java/com/xcong/excoin/modules/member/dao/MemberCoinAddressDao.java | 9 + src/main/java/com/xcong/excoin/modules/member/parameter/dto/MemberBindEmailDto.java | 21 +++ src/main/java/com/xcong/excoin/modules/platform/entity/PlatformSymbolsCoinEntity.java | 29 ++++ src/main/java/com/xcong/excoin/modules/coin/parameter/vo/FindCollectListVo.java | 16 ++ src/main/java/com/xcong/excoin/modules/member/entity/MemberCoinAddressEntity.java | 55 +++++++ src/main/java/com/xcong/excoin/modules/coin/entity/OrderCoinsDealEntity.java | 7 + src/main/java/com/xcong/excoin/modules/coin/controller/OrderCoinController.java | 16 ++ src/main/java/com/xcong/excoin/modules/coin/service/OrderCoinService.java | 4 src/main/java/com/xcong/excoin/modules/member/service/impl/MemberServiceImpl.java | 48 ++++++ src/main/java/com/xcong/excoin/modules/member/parameter/vo/MemberCoinAddressCountVo.java | 24 +++ src/main/java/com/xcong/excoin/modules/member/service/MemberService.java | 5 19 files changed, 362 insertions(+), 16 deletions(-) diff --git a/src/main/java/com/xcong/excoin/modules/coin/controller/OrderCoinController.java b/src/main/java/com/xcong/excoin/modules/coin/controller/OrderCoinController.java index 5879cf9..006490e 100644 --- a/src/main/java/com/xcong/excoin/modules/coin/controller/OrderCoinController.java +++ b/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(); + } + } diff --git a/src/main/java/com/xcong/excoin/modules/coin/entity/OrderCoinsDealEntity.java b/src/main/java/com/xcong/excoin/modules/coin/entity/OrderCoinsDealEntity.java index bc8d440..de6f514 100644 --- a/src/main/java/com/xcong/excoin/modules/coin/entity/OrderCoinsDealEntity.java +++ b/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; /** * 币种 */ diff --git a/src/main/java/com/xcong/excoin/modules/coin/parameter/dto/CancelEntrustWalletCoinOrderDto.java b/src/main/java/com/xcong/excoin/modules/coin/parameter/dto/CancelEntrustWalletCoinOrderDto.java index e7c5bbc..19ff619 100644 --- a/src/main/java/com/xcong/excoin/modules/coin/parameter/dto/CancelEntrustWalletCoinOrderDto.java +++ b/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; } diff --git a/src/main/java/com/xcong/excoin/modules/coin/parameter/vo/FindCollectListVo.java b/src/main/java/com/xcong/excoin/modules/coin/parameter/vo/FindCollectListVo.java new file mode 100644 index 0000000..2d68aad --- /dev/null +++ b/src/main/java/com/xcong/excoin/modules/coin/parameter/vo/FindCollectListVo.java @@ -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; + +} diff --git a/src/main/java/com/xcong/excoin/modules/coin/parameter/vo/OrderWalletCoinVo.java b/src/main/java/com/xcong/excoin/modules/coin/parameter/vo/OrderWalletCoinVo.java index aaa695a..8a6f509 100644 --- a/src/main/java/com/xcong/excoin/modules/coin/parameter/vo/OrderWalletCoinVo.java +++ b/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 = "订单编号") diff --git a/src/main/java/com/xcong/excoin/modules/coin/service/OrderCoinService.java b/src/main/java/com/xcong/excoin/modules/coin/service/OrderCoinService.java index 3ae3f16..f824d5b 100644 --- a/src/main/java/com/xcong/excoin/modules/coin/service/OrderCoinService.java +++ b/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(); + } diff --git a/src/main/java/com/xcong/excoin/modules/coin/service/impl/OrderCoinServiceImpl.java b/src/main/java/com/xcong/excoin/modules/coin/service/impl/OrderCoinServiceImpl.java index 926e4c6..67c30c7 100644 --- a/src/main/java/com/xcong/excoin/modules/coin/service/impl/OrderCoinServiceImpl.java +++ b/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); + } + } diff --git a/src/main/java/com/xcong/excoin/modules/member/controller/MemberController.java b/src/main/java/com/xcong/excoin/modules/member/controller/MemberController.java index 4fb3ba8..50685c3 100644 --- a/src/main/java/com/xcong/excoin/modules/member/controller/MemberController.java +++ b/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); + }*/ + diff --git a/src/main/java/com/xcong/excoin/modules/member/dao/MemberCoinAddressDao.java b/src/main/java/com/xcong/excoin/modules/member/dao/MemberCoinAddressDao.java new file mode 100644 index 0000000..a7806e0 --- /dev/null +++ b/src/main/java/com/xcong/excoin/modules/member/dao/MemberCoinAddressDao.java @@ -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> { + + +} diff --git a/src/main/java/com/xcong/excoin/modules/member/entity/MemberCoinAddressEntity.java b/src/main/java/com/xcong/excoin/modules/member/entity/MemberCoinAddressEntity.java new file mode 100644 index 0000000..e863787 --- /dev/null +++ b/src/main/java/com/xcong/excoin/modules/member/entity/MemberCoinAddressEntity.java @@ -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; + + +} diff --git a/src/main/java/com/xcong/excoin/modules/member/parameter/dto/MemberBindEmailDto.java b/src/main/java/com/xcong/excoin/modules/member/parameter/dto/MemberBindEmailDto.java new file mode 100644 index 0000000..1a8f2cc --- /dev/null +++ b/src/main/java/com/xcong/excoin/modules/member/parameter/dto/MemberBindEmailDto.java @@ -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; + +} diff --git a/src/main/java/com/xcong/excoin/modules/member/parameter/vo/MemberCoinAddressCountListVo.java b/src/main/java/com/xcong/excoin/modules/member/parameter/vo/MemberCoinAddressCountListVo.java new file mode 100644 index 0000000..0ef11f8 --- /dev/null +++ b/src/main/java/com/xcong/excoin/modules/member/parameter/vo/MemberCoinAddressCountListVo.java @@ -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; + +} diff --git a/src/main/java/com/xcong/excoin/modules/member/parameter/vo/MemberCoinAddressCountVo.java b/src/main/java/com/xcong/excoin/modules/member/parameter/vo/MemberCoinAddressCountVo.java new file mode 100644 index 0000000..7d52ead --- /dev/null +++ b/src/main/java/com/xcong/excoin/modules/member/parameter/vo/MemberCoinAddressCountVo.java @@ -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; + +} diff --git a/src/main/java/com/xcong/excoin/modules/member/service/MemberService.java b/src/main/java/com/xcong/excoin/modules/member/service/MemberService.java index 9371ccb..100bd48 100644 --- a/src/main/java/com/xcong/excoin/modules/member/service/MemberService.java +++ b/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(); + } diff --git a/src/main/java/com/xcong/excoin/modules/member/service/impl/MemberServiceImpl.java b/src/main/java/com/xcong/excoin/modules/member/service/impl/MemberServiceImpl.java index 587c354..2a159e7 100644 --- a/src/main/java/com/xcong/excoin/modules/member/service/impl/MemberServiceImpl.java +++ b/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")); + } + } diff --git a/src/main/java/com/xcong/excoin/modules/platform/dao/PlatformSymbolsCoinDao.java b/src/main/java/com/xcong/excoin/modules/platform/dao/PlatformSymbolsCoinDao.java new file mode 100644 index 0000000..a116b5a --- /dev/null +++ b/src/main/java/com/xcong/excoin/modules/platform/dao/PlatformSymbolsCoinDao.java @@ -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); + +} diff --git a/src/main/java/com/xcong/excoin/modules/platform/entity/PlatformSymbolsCoinEntity.java b/src/main/java/com/xcong/excoin/modules/platform/entity/PlatformSymbolsCoinEntity.java new file mode 100644 index 0000000..d3c893e --- /dev/null +++ b/src/main/java/com/xcong/excoin/modules/platform/entity/PlatformSymbolsCoinEntity.java @@ -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; + +} diff --git a/src/main/resources/mapper/member/MemberCoinAddressDao.xml b/src/main/resources/mapper/member/MemberCoinAddressDao.xml new file mode 100644 index 0000000..846cc96 --- /dev/null +++ b/src/main/resources/mapper/member/MemberCoinAddressDao.xml @@ -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> \ No newline at end of file diff --git a/src/main/resources/mapper/platform/PlatformSymbolsCoinDao.xml b/src/main/resources/mapper/platform/PlatformSymbolsCoinDao.xml new file mode 100644 index 0000000..dc1328b --- /dev/null +++ b/src/main/resources/mapper/platform/PlatformSymbolsCoinDao.xml @@ -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> \ No newline at end of file -- Gitblit v1.9.1