From cc9d558c8cda42d53be7b4545d2f33db26edf777 Mon Sep 17 00:00:00 2001 From: gao <gaoleox@163> Date: Thu, 28 May 2020 16:46:18 +0800 Subject: [PATCH] Merge branch 'master' of https://chonggaoxiao:xcg523511090712@gitee.com/chonggaoxiao/new_excoin.git --- src/main/java/com/xcong/excoin/modules/coin/dao/OrderCoinsDao.java | 4 src/main/java/com/xcong/excoin/modules/contract/entity/ContractEntrustOrderEntity.java | 76 ++ src/main/java/com/xcong/excoin/modules/contract/entity/ContractHoldOrderEntity.java | 110 +++ src/main/java/com/xcong/excoin/utils/CoinTypeConvert.java | 50 + src/main/java/com/xcong/excoin/modules/contract/dao/ContractOrderDao.java | 10 src/main/java/com/xcong/excoin/modules/contract/service/ContractEntrustOrderService.java | 14 src/main/java/com/xcong/excoin/modules/member/parameter/dto/MemberDelPaymethodDto.java | 17 src/main/java/com/xcong/excoin/utils/TypeJudgeUtils.java | 28 src/main/java/com/xcong/excoin/modules/member/entity/MemberAuthenticationEntity.java | 121 +- src/main/resources/mapper/platform/TradeSettingDao.xml | 10 src/main/java/com/xcong/excoin/modules/contract/dao/ContractHoldOrderDao.java | 10 src/main/java/com/xcong/excoin/modules/member/parameter/dto/MemberPaymethodDto.java | 52 + src/main/java/com/xcong/excoin/modules/member/parameter/dto/MemberAuthenticationDto.java | 45 + src/main/java/com/xcong/excoin/modules/member/parameter/dto/MemberUpdatePwdDto.java | 31 src/main/java/com/xcong/excoin/modules/platform/entity/PlatformTradeSettingEntity.java | 2 src/main/java/com/xcong/excoin/modules/contract/service/ContractOrderService.java | 10 src/main/java/com/xcong/excoin/modules/member/dao/MemberPaymentMethodDao.java | 8 src/main/java/com/xcong/excoin/modules/member/parameter/dto/MemberForgetPwdDto.java | 31 src/main/java/com/xcong/excoin/modules/coin/service/impl/OrderCoinServiceImpl.java | 21 src/main/java/com/xcong/excoin/modules/contract/service/impl/ContractHoldOrderServiceImpl.java | 13 src/main/resources/mapper/contract/ContractEntrustOrderDao.xml | 5 src/main/resources/logback-spring.xml | 2 src/main/java/com/xcong/excoin/modules/contract/parameter/dto/SubmitEntrustDto.java | 42 + src/main/java/com/xcong/excoin/modules/platform/entity/PlatformSymbolsSkuEntity.java | 6 src/main/java/com/xcong/excoin/common/enumerates/SymbolEnum.java | 10 src/main/resources/mapper/walletCoinOrder/OrderCoinDealDao.xml | 2 src/main/resources/mapper/contract/ContractHoldOrderDao.xml | 5 src/main/java/com/xcong/excoin/modules/contract/entity/ContractOrderEntity.java | 147 ++++ src/main/resources/mapper/member/MemberPaymentMethodDao.xml | 6 src/main/java/com/xcong/excoin/modules/member/parameter/dto/MemberUpdateTradePwdDto.java | 31 src/main/java/com/xcong/excoin/modules/member/parameter/vo/MemberInfoVo.java | 23 src/main/java/com/xcong/excoin/modules/coin/controller/OrderCoinController.java | 4 src/main/resources/mapper/member/MemberDao.xml | 1 src/main/java/com/xcong/excoin/modules/platform/dao/TradeSettingDao.java | 22 src/main/java/com/xcong/excoin/modules/member/dao/MemberDao.java | 31 src/main/java/com/xcong/excoin/modules/member/dao/MemberAuthenticationDao.java | 10 src/main/java/com/xcong/excoin/modules/member/parameter/vo/MemberPaymethodDetailListVo.java | 16 src/main/resources/mapper/walletCoinOrder/OrderCoinsDao.xml | 1 src/main/java/com/xcong/excoin/modules/coin/parameter/vo/OrderWalletCoinVo.java | 6 pom.xml | 1 src/main/java/com/xcong/excoin/modules/coin/parameter/vo/OrderWalletCoinListVo.java | 16 src/main/java/com/xcong/excoin/modules/contract/controller/ContractHoldOrderController.java | 17 src/main/java/com/xcong/excoin/modules/contract/dao/ContractEntrustOrderDao.java | 10 src/main/java/com/xcong/excoin/modules/member/parameter/vo/MemberPaymethodDetailVo.java | 46 + src/main/java/com/xcong/excoin/modules/contract/service/impl/ContractEntrustOrderServiceImpl.java | 87 ++ src/main/java/com/xcong/excoin/modules/member/service/impl/MemberServiceImpl.java | 369 ++++++++++ src/main/java/com/xcong/excoin/modules/contract/service/impl/ContractOrderServiceImpl.java | 13 src/main/java/com/xcong/excoin/modules/member/entity/MemberPaymentMethodEntity.java | 56 + src/main/resources/mapper/contract/ContractOrderDao.xml | 5 src/main/java/com/xcong/excoin/modules/coin/service/impl/CoinServiceImpl.java | 2 src/main/java/com/xcong/excoin/modules/member/parameter/dto/MemberTradersPwdDto.java | 31 src/main/java/com/xcong/excoin/modules/platform/dao/CnyUsdtExchangeDao.java | 2 src/main/java/com/xcong/excoin/modules/contract/controller/ContractEntrustOrderController.java | 49 + src/main/java/com/xcong/excoin/modules/contract/controller/ContractOrderController.java | 17 src/main/java/com/xcong/excoin/modules/member/controller/MemberController.java | 217 +++++ src/main/java/com/xcong/excoin/modules/platform/entity/PlatformLeverageSettingEntity.java | 2 /dev/null | 22 src/main/resources/mapper/member/MemberAuthenticationDao.xml | 9 src/main/java/com/xcong/excoin/modules/contract/service/ContractHoldOrderService.java | 10 src/main/java/com/xcong/excoin/utils/CacheSettingUtils.java | 82 ++ src/main/java/com/xcong/excoin/modules/member/service/MemberService.java | 62 + 61 files changed, 2,006 insertions(+), 152 deletions(-) diff --git a/pom.xml b/pom.xml index 0f69864..8ea3105 100644 --- a/pom.xml +++ b/pom.xml @@ -29,6 +29,7 @@ <fastjson.version>1.2.61</fastjson.version> <netty.version>4.1.33.Final</netty.version> <dom4j.version>1.6.1</dom4j.version> + <m2e.apt.activation>jdt_apt</m2e.apt.activation> <okhttp.version>3.6.0</okhttp.version> <aliyun-oss.version>3.8.0</aliyun-oss.version> </properties> diff --git a/src/main/java/com/xcong/excoin/common/enumerates/SymbolEnum.java b/src/main/java/com/xcong/excoin/common/enumerates/SymbolEnum.java index 816fbec..ca590aa 100644 --- a/src/main/java/com/xcong/excoin/common/enumerates/SymbolEnum.java +++ b/src/main/java/com/xcong/excoin/common/enumerates/SymbolEnum.java @@ -25,5 +25,15 @@ this.value = value; } + public static String getNameByValue(String value) { + String name = ""; + for (SymbolEnum symbolEnum : values()) { + if (value.equals(symbolEnum.getValue())){ + name = symbolEnum.getName(); + break; + } + } + return name; + } } 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 06a0cc7..5879cf9 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 @@ -18,7 +18,7 @@ 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; -import com.xcong.excoin.modules.coin.parameter.vo.OrderWalletCoinVo; +import com.xcong.excoin.modules.coin.parameter.vo.OrderWalletCoinListVo; import com.xcong.excoin.modules.coin.parameter.vo.TransactionPageOfWalletCoinVo; import com.xcong.excoin.modules.coin.service.OrderCoinService; @@ -75,7 +75,7 @@ * @return */ @ApiOperation(value = "获取委托单数据", notes = "获取委托单数据") - @ApiResponses({@ApiResponse( code = 200, message = "success", response = OrderWalletCoinVo.class)}) + @ApiResponses({@ApiResponse( code = 200, message = "success", response = OrderWalletCoinListVo.class)}) @ApiImplicitParams({ @ApiImplicitParam(name = "symbol", value = "币种", required = true, dataType = "String", paramType="query"), @ApiImplicitParam(name = "status", value = "状态 1:委托中2:撤单3:已成交", required = true, dataType = "int", paramType="query") diff --git a/src/main/java/com/xcong/excoin/modules/coin/dao/OrderCoinsDao.java b/src/main/java/com/xcong/excoin/modules/coin/dao/OrderCoinsDao.java index 122ad8f..1c1f68a 100644 --- a/src/main/java/com/xcong/excoin/modules/coin/dao/OrderCoinsDao.java +++ b/src/main/java/com/xcong/excoin/modules/coin/dao/OrderCoinsDao.java @@ -1,5 +1,7 @@ package com.xcong.excoin.modules.coin.dao; +import java.util.List; + import org.apache.ibatis.annotations.Param; import com.baomidou.mybatisplus.core.mapper.BaseMapper; @@ -9,7 +11,7 @@ long getOrderCountByToday(@Param("now")String now,@Param("tomorrow") String tomorrow); - OrderCoinsEntity findCoinOrderListByMemberIdAndSysmbol(@Param("memberId")Long memberId,@Param("symbol")String symbol,@Param("status")int status); + List<OrderCoinsEntity> findCoinOrderListByMemberIdAndSysmbol(@Param("memberId")Long memberId,@Param("symbol")String symbol,@Param("status")int status); OrderCoinsEntity findWalletCoinOrderByOrderNo(@Param("orderNo")String orderNo); } diff --git a/src/main/java/com/xcong/excoin/modules/coin/dao/platform/TradeSettingDao.java b/src/main/java/com/xcong/excoin/modules/coin/dao/platform/TradeSettingDao.java deleted file mode 100644 index f68b080..0000000 --- a/src/main/java/com/xcong/excoin/modules/coin/dao/platform/TradeSettingDao.java +++ /dev/null @@ -1,22 +0,0 @@ -package com.xcong.excoin.modules.coin.dao.platform; - -import java.util.List; - -import org.apache.ibatis.annotations.Param; - -import com.baomidou.mybatisplus.core.mapper.BaseMapper; -import com.xcong.excoin.modules.coin.entity.PlatformLeverageSettingEntity; -import com.xcong.excoin.modules.coin.entity.PlatformSymbolsSku; -import com.xcong.excoin.modules.coin.entity.PlatformTradeSettingEntity; - -public interface TradeSettingDao extends BaseMapper<PlatformTradeSettingEntity> { - - PlatformTradeSettingEntity findTradeSetting(); - - PlatformSymbolsSku findSymbolSkubySymbol(@Param("symbol") String symbol); - - List<PlatformSymbolsSku> findAllSymbolSkubySymbol(); - - List<PlatformLeverageSettingEntity> findLeverageSetting(); - -} diff --git a/src/main/java/com/xcong/excoin/modules/coin/parameter/vo/OrderWalletCoinListVo.java b/src/main/java/com/xcong/excoin/modules/coin/parameter/vo/OrderWalletCoinListVo.java new file mode 100644 index 0000000..f85f3ee --- /dev/null +++ b/src/main/java/com/xcong/excoin/modules/coin/parameter/vo/OrderWalletCoinListVo.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 = "OrderWalletCoinListVo", description = "委托单返回") +public class OrderWalletCoinListVo { + + @ApiModelProperty(value = "委托单") + private List<OrderWalletCoinVo> orderWalletCoinVo; + +} 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 f1e9dfb..aaa695a 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 @@ -22,6 +22,12 @@ */ @ApiModelProperty(value = "币种") private String symbol; + + /** + * 订单类型 1、买入2、卖出 + */ + @ApiModelProperty(value = "订单类型") + private Integer orderType; /** * 市场价 */ diff --git a/src/main/java/com/xcong/excoin/modules/coin/service/impl/CoinServiceImpl.java b/src/main/java/com/xcong/excoin/modules/coin/service/impl/CoinServiceImpl.java index 89e583b..719b6a8 100644 --- a/src/main/java/com/xcong/excoin/modules/coin/service/impl/CoinServiceImpl.java +++ b/src/main/java/com/xcong/excoin/modules/coin/service/impl/CoinServiceImpl.java @@ -13,7 +13,6 @@ import com.xcong.excoin.common.enumerates.MemberWalletCoinEnum; import com.xcong.excoin.common.response.Result; import com.xcong.excoin.modules.coin.dao.MemberAccountMoneyChangeDao; -import com.xcong.excoin.modules.coin.dao.platform.CnyUsdtExchangeDao; import com.xcong.excoin.modules.coin.entity.CnyUsdtExchange; import com.xcong.excoin.modules.coin.entity.MemberAccountMoneyChange; import com.xcong.excoin.modules.coin.parameter.vo.MemberAccountMoneyChangeInfoVo; @@ -28,6 +27,7 @@ import com.xcong.excoin.modules.member.entity.MemberWalletAgentEntity; import com.xcong.excoin.modules.member.entity.MemberWalletCoinEntity; import com.xcong.excoin.modules.member.entity.MemberWalletContractEntity; +import com.xcong.excoin.modules.platform.dao.CnyUsdtExchangeDao; import com.xcong.excoin.utils.MessageSourceUtils; import cn.hutool.core.collection.CollUtil; import cn.hutool.core.util.ObjectUtil; 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 d3aa7ad..01834ca 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 @@ -23,24 +23,25 @@ import com.xcong.excoin.modules.coin.dao.MemberSelectSymbolsDao; import com.xcong.excoin.modules.coin.dao.OrderCoinDealDao; import com.xcong.excoin.modules.coin.dao.OrderCoinsDao; -import com.xcong.excoin.modules.coin.dao.platform.CnyUsdtExchangeDao; -import com.xcong.excoin.modules.coin.dao.platform.TradeSettingDao; import com.xcong.excoin.modules.coin.entity.CnyUsdtExchange; import com.xcong.excoin.modules.coin.entity.MemberAccountFlowEntity; import com.xcong.excoin.modules.coin.entity.OrderCoinsDealEntity; import com.xcong.excoin.modules.coin.entity.OrderCoinsEntity; -import com.xcong.excoin.modules.coin.entity.PlatformTradeSettingEntity; import com.xcong.excoin.modules.coin.mapper.OrderWalletCoinDealMapper; import com.xcong.excoin.modules.coin.mapper.OrderWalletCoinMapper; 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; +import com.xcong.excoin.modules.coin.parameter.vo.OrderWalletCoinListVo; import com.xcong.excoin.modules.coin.parameter.vo.OrderWalletCoinVo; import com.xcong.excoin.modules.coin.parameter.vo.TransactionPageOfWalletCoinVo; import com.xcong.excoin.modules.coin.service.OrderCoinService; import com.xcong.excoin.modules.member.dao.MemberWalletCoinDao; import com.xcong.excoin.modules.member.entity.MemberSelectSymbolsEntity; import com.xcong.excoin.modules.member.entity.MemberWalletCoinEntity; +import com.xcong.excoin.modules.platform.dao.CnyUsdtExchangeDao; +import com.xcong.excoin.modules.platform.dao.TradeSettingDao; +import com.xcong.excoin.modules.platform.entity.PlatformTradeSettingEntity; import com.xcong.excoin.utils.MessageSourceUtils; import cn.hutool.core.collection.CollUtil; @@ -304,10 +305,18 @@ public Result getEntrustWalletCoinOrder(String symbol, Integer status) { //获取用户ID Long memberId = LoginUserUtils.getAppLoginUser().getId(); + OrderWalletCoinListVo orderWalletCoinListVo = new OrderWalletCoinListVo(); - OrderCoinsEntity orderCoin = orderCoinsDao.findCoinOrderListByMemberIdAndSysmbol(memberId, symbol, status); - OrderWalletCoinVo entityToVo = OrderWalletCoinMapper.INSTANCE.entityToVo(orderCoin); - return Result.ok(entityToVo); + List<OrderWalletCoinVo> arrayList = new ArrayList<>(); + List<OrderCoinsEntity> findCoinOrderListByMemberIdAndSysmbol = orderCoinsDao.findCoinOrderListByMemberIdAndSysmbol(memberId, symbol, status); + if(CollUtil.isNotEmpty(findCoinOrderListByMemberIdAndSysmbol)) { + for(OrderCoinsEntity orderCoinsEntity : findCoinOrderListByMemberIdAndSysmbol) { + OrderWalletCoinVo entityToVo = OrderWalletCoinMapper.INSTANCE.entityToVo(orderCoinsEntity); + arrayList.add(entityToVo); + } + } + orderWalletCoinListVo.setOrderWalletCoinVo(arrayList); + return Result.ok(arrayList); } @Override diff --git a/src/main/java/com/xcong/excoin/modules/contract/controller/ContractEntrustOrderController.java b/src/main/java/com/xcong/excoin/modules/contract/controller/ContractEntrustOrderController.java new file mode 100644 index 0000000..1fa881b --- /dev/null +++ b/src/main/java/com/xcong/excoin/modules/contract/controller/ContractEntrustOrderController.java @@ -0,0 +1,49 @@ +package com.xcong.excoin.modules.contract.controller; + +import cn.hutool.core.util.StrUtil; +import com.xcong.excoin.common.enumerates.SymbolEnum; +import com.xcong.excoin.common.response.Result; +import com.xcong.excoin.modules.contract.parameter.dto.SubmitEntrustDto; +import com.xcong.excoin.modules.contract.service.ContractEntrustOrderService; +import com.xcong.excoin.utils.TypeJudgeUtils; +import com.xcong.excoin.utils.api.response.Symbol; +import io.swagger.annotations.Api; +import io.swagger.annotations.ApiOperation; +import lombok.extern.slf4j.Slf4j; +import org.springframework.validation.annotation.Validated; +import org.springframework.web.bind.annotation.PostMapping; +import org.springframework.web.bind.annotation.RequestBody; +import org.springframework.web.bind.annotation.RequestMapping; +import org.springframework.web.bind.annotation.RestController; + +import javax.annotation.Resource; + +/** + * 合约委托订单controller + * + * @author wzy + * @date 2020-05-27 + **/ +@Slf4j +@Api(value = "ContractEntrustOrderController", tags = "合约委托订单接口类") +@RestController +@RequestMapping(value = "/api/contractEntrust") +public class ContractEntrustOrderController { + + @Resource + private ContractEntrustOrderService contractEntrustOrderService; + + @ApiOperation(value = "合约提交委托订单", notes = "提交委托订单") + @PostMapping(value = "/submitEntrustOrder") + public Result submitEntrustOrder(@RequestBody @Validated SubmitEntrustDto submitEntrustDto) { + if (StrUtil.isBlank(SymbolEnum.getNameByValue(submitEntrustDto.getSymbol()))){ + return Result.fail("非法币种"); + } + + if (!TypeJudgeUtils.entrustType(submitEntrustDto.getEntrustType())) { + return Result.fail("非法类型"); + } + + return Result.ok("123"); + } +} diff --git a/src/main/java/com/xcong/excoin/modules/contract/controller/ContractHoldOrderController.java b/src/main/java/com/xcong/excoin/modules/contract/controller/ContractHoldOrderController.java new file mode 100644 index 0000000..71fafda --- /dev/null +++ b/src/main/java/com/xcong/excoin/modules/contract/controller/ContractHoldOrderController.java @@ -0,0 +1,17 @@ +package com.xcong.excoin.modules.contract.controller; + +import io.swagger.annotations.Api; +import lombok.extern.slf4j.Slf4j; +import org.springframework.web.bind.annotation.RequestMapping; +import org.springframework.web.bind.annotation.RestController; + +/** + * @author wzy + * @date 2020-05-27 + **/ +@Slf4j +@Api(value = "ContractHoldOrderController", tags = "合约持仓订单接口类") +@RestController +@RequestMapping(value = "/api/contractHold") +public class ContractHoldOrderController { +} diff --git a/src/main/java/com/xcong/excoin/modules/contract/controller/ContractOrderController.java b/src/main/java/com/xcong/excoin/modules/contract/controller/ContractOrderController.java new file mode 100644 index 0000000..518bbcf --- /dev/null +++ b/src/main/java/com/xcong/excoin/modules/contract/controller/ContractOrderController.java @@ -0,0 +1,17 @@ +package com.xcong.excoin.modules.contract.controller; + +import io.swagger.annotations.Api; +import lombok.extern.slf4j.Slf4j; +import org.springframework.web.bind.annotation.RequestMapping; +import org.springframework.web.bind.annotation.RestController; + +/** + * @author wzy + * @date 2020-05-27 + **/ +@Slf4j +@Api(value = "ContractOrderController", tags = "合约订单历史接口类") +@RestController +@RequestMapping(value = "/api/contractOrder") +public class ContractOrderController { +} diff --git a/src/main/java/com/xcong/excoin/modules/contract/dao/ContractEntrustOrderDao.java b/src/main/java/com/xcong/excoin/modules/contract/dao/ContractEntrustOrderDao.java new file mode 100644 index 0000000..14a3843 --- /dev/null +++ b/src/main/java/com/xcong/excoin/modules/contract/dao/ContractEntrustOrderDao.java @@ -0,0 +1,10 @@ +package com.xcong.excoin.modules.contract.dao; + +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import com.xcong.excoin.modules.contract.entity.ContractEntrustOrderEntity; + +/** + * @author helius + */ +public interface ContractEntrustOrderDao extends BaseMapper<ContractEntrustOrderEntity> { +} diff --git a/src/main/java/com/xcong/excoin/modules/contract/dao/ContractHoldOrderDao.java b/src/main/java/com/xcong/excoin/modules/contract/dao/ContractHoldOrderDao.java new file mode 100644 index 0000000..c5e8439 --- /dev/null +++ b/src/main/java/com/xcong/excoin/modules/contract/dao/ContractHoldOrderDao.java @@ -0,0 +1,10 @@ +package com.xcong.excoin.modules.contract.dao; + +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import com.xcong.excoin.modules.contract.entity.ContractHoldOrderEntity; + +/** + * @author helius + */ +public interface ContractHoldOrderDao extends BaseMapper<ContractHoldOrderEntity> { +} diff --git a/src/main/java/com/xcong/excoin/modules/contract/dao/ContractOrderDao.java b/src/main/java/com/xcong/excoin/modules/contract/dao/ContractOrderDao.java new file mode 100644 index 0000000..90694a5 --- /dev/null +++ b/src/main/java/com/xcong/excoin/modules/contract/dao/ContractOrderDao.java @@ -0,0 +1,10 @@ +package com.xcong.excoin.modules.contract.dao; + +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import com.xcong.excoin.modules.contract.entity.ContractOrderEntity; + +/** + * @author helius + */ +public interface ContractOrderDao extends BaseMapper<ContractOrderEntity> { +} diff --git a/src/main/java/com/xcong/excoin/modules/contract/entity/ContractEntrustOrderEntity.java b/src/main/java/com/xcong/excoin/modules/contract/entity/ContractEntrustOrderEntity.java new file mode 100644 index 0000000..6e2e8d2 --- /dev/null +++ b/src/main/java/com/xcong/excoin/modules/contract/entity/ContractEntrustOrderEntity.java @@ -0,0 +1,76 @@ +package com.xcong.excoin.modules.contract.entity; + +import com.baomidou.mybatisplus.annotation.TableName; +import com.xcong.excoin.common.system.base.BaseEntity; +import lombok.Data; + +import java.math.BigDecimal; +import java.util.Date; + +/** + * @author wzy + * @date 2020-05-27 + **/ +@Data +@TableName("contract_entrust_order") +public class ContractEntrustOrderEntity extends BaseEntity { + + public static final int ENTRUST_TYPE_OPEN_MORE = 1; + + public static final int ENTRUST_TYPE_OPEN_LESS = 2; + + public static final int ENTRUST_TYPE_CLOSE_MORE = 3; + + public static final int ENTRUST_TYPE_CLOSE_LESS = 4; + + + /** + * 会员ID + */ + private Long memberId; + + /** + * 订单编号 + */ + private String orderNo; + + /** + * 仓位类型 1逐仓2全仓 + */ + private int positionType; + + /** + * 委托类型 1开多,2开空,3平多,4平空 + */ + private int entrustType; + + /** + * 委托价格 + */ + private BigDecimal entrustPrice; + + /** + * 币种 + */ + private String symbol; + + /** + * 数量 + */ + private int symbolCnt; + + /** + * 币种规格 + */ + private Long symbolSku; + + /** + * 杠杆倍率 + */ + private int leverRatio; + + /** + * 保证金 + */ + private BigDecimal bondAmount; +} diff --git a/src/main/java/com/xcong/excoin/modules/contract/entity/ContractHoldOrderEntity.java b/src/main/java/com/xcong/excoin/modules/contract/entity/ContractHoldOrderEntity.java new file mode 100644 index 0000000..82e377e --- /dev/null +++ b/src/main/java/com/xcong/excoin/modules/contract/entity/ContractHoldOrderEntity.java @@ -0,0 +1,110 @@ +package com.xcong.excoin.modules.contract.entity; + +import com.baomidou.mybatisplus.annotation.TableName; +import com.xcong.excoin.common.system.base.BaseEntity; +import lombok.Data; + +import java.math.BigDecimal; + +/** + * 合约持仓订单表 + * + * @author wzy + * @date 2020-05-27 + **/ +@Data +@TableName("contract_hold_order") +public class ContractHoldOrderEntity extends BaseEntity { + + /** + * 会员Id + */ + private Long memberId; + + /** + * 订单编号 + */ + private String orderNo; + + /** + * 仓位类型 1-逐仓 2-全仓 + */ + private int potionType; + + /** + * 交易类型 1-市价 2-限价 + */ + private int tradeType; + + /** + * 币种 + */ + private String symbol; + + /** + * 手数 + */ + private int symbolCnt; + + /** + * 可平张数(仅全仓模式) + */ + private int symbolCntSale; + + /** + * 币种规格 + */ + private Long symbolSku; + + /** + * 开仓价 + */ + private BigDecimal openingPrice; + + /** + * 开仓类型 1-开多 2-开多 + */ + private int openingType; + + /** + * 开仓手续费 + */ + private BigDecimal openingFeeAmount; + + /** + * 保证金 + */ + private BigDecimal bondPrice; + + /** + * 杠杆倍率 + */ + private int leverRatio; + + /** + * 市场价 + */ + private BigDecimal markPrice; + + /** + * 止损价 + */ + private BigDecimal stopLossPrice; + + /** + * 止盈价 + */ + private BigDecimal stopProfitPrice; + + /** + * 预付款金额 + */ + private BigDecimal prePaymentAmount; + + /** + * 预估强平价 + */ + private BigDecimal forceClosingPrice; + + private int operateNo; +} diff --git a/src/main/java/com/xcong/excoin/modules/contract/entity/ContractOrderEntity.java b/src/main/java/com/xcong/excoin/modules/contract/entity/ContractOrderEntity.java new file mode 100644 index 0000000..59b0212 --- /dev/null +++ b/src/main/java/com/xcong/excoin/modules/contract/entity/ContractOrderEntity.java @@ -0,0 +1,147 @@ +package com.xcong.excoin.modules.contract.entity; + +import com.baomidou.mybatisplus.annotation.TableName; +import com.xcong.excoin.common.system.base.BaseEntity; +import lombok.Data; + +import java.math.BigDecimal; +import java.util.Date; + +/** + * 合约订单历史表 + * + * @author wzy + * @date 2020-05-27 + **/ +@Data +@TableName("contract_order_entity") +public class ContractOrderEntity extends BaseEntity { + + /** + * 会员Id + */ + private Long memberId; + + /** + * 订单编号 + */ + private String orderNo; + + /** + * 仓位类型 1-逐仓 2-全仓 + */ + private int potionType; + + /** + * 交易类型 1-市价 2-限价 + */ + private int tradeType; + + /** + * 订单类型 - 0撤单,1开多,2开空,3平多,4平空,5委托开多,6委托开空,7委托平多,8委托平空,9爆仓平多,10爆仓平空 + */ + private int orderType; + + /** + * 委托开仓价 + */ + private BigDecimal entrustOpeningPrice; + + /** + * 委托时间 + */ + private Date entrustTime; + + /** + * 币种 + */ + private String symbol; + + /** + * 手数 + */ + private int symbolCnt; + + /** + * 币种规格 + */ + private Long symbolSku; + + /** + * 平仓价 + */ + private BigDecimal closingPrice; + + /** + * 平仓手续费 + */ + private BigDecimal closingFeeAmount; + + /** + * 平仓时间 + */ + private Date closingTime; + + /** + * 杠杆倍率 + */ + private int leverRatio; + + /** + * 止损价 + */ + private BigDecimal stopLossPrice; + + /** + * 止盈价 + */ + private BigDecimal stopProfitPrice; + + /** + * 盈亏金额 + */ + private BigDecimal rewardAmount; + + /** + * 盈亏比例 + */ + private BigDecimal rewardRatio; + + /** + * 开仓价 + */ + private BigDecimal openingPrice; + + /** + * 开仓手续费 + */ + private BigDecimal openingFeeAmount; + + /** + * 预付款金额 + */ + private BigDecimal prePaymentAmount; + + /** + * 保证金 + */ + private BigDecimal bondAmount; + + /** + * 市场价 + */ + private BigDecimal markPrice; + + /** + * 预估强平价 + */ + private BigDecimal forceClosingPrice; + + /** + * 持仓费 + */ + private BigDecimal holdAmount; + + private int operateNo; + +} diff --git a/src/main/java/com/xcong/excoin/modules/contract/parameter/dto/SubmitEntrustDto.java b/src/main/java/com/xcong/excoin/modules/contract/parameter/dto/SubmitEntrustDto.java new file mode 100644 index 0000000..bf588cb --- /dev/null +++ b/src/main/java/com/xcong/excoin/modules/contract/parameter/dto/SubmitEntrustDto.java @@ -0,0 +1,42 @@ +package com.xcong.excoin.modules.contract.parameter.dto; + +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +import javax.validation.constraints.Min; +import javax.validation.constraints.NotBlank; +import javax.validation.constraints.NotNull; +import java.math.BigDecimal; + +/** + * @author wzy + * @date 2020-05-27 + **/ +@Data +@ApiModel(value = "SubmitEntrustDto", description = "提交委托订单接口接受类") +public class SubmitEntrustDto { + + @NotNull() + @Min(1) + @ApiModelProperty(value = "委托价", example = "9000.00") + private BigDecimal entrustPrice; + + @NotNull + @ApiModelProperty(value = "委托类型 1开多 2开空 3平多 4平空", example = "1") + private int entrustType; + + @NotBlank + @ApiModelProperty(value = "币种", example = "BTC/USDT") + private String symbol; + + @NotNull + @Min(1) + @ApiModelProperty(value = "币种数量", example = "1") + private int symbolCnt; + + @NotNull + @ApiModelProperty(value = "杠杆倍率", example = "100") + private int leverRatio; + +} diff --git a/src/main/java/com/xcong/excoin/modules/contract/service/ContractEntrustOrderService.java b/src/main/java/com/xcong/excoin/modules/contract/service/ContractEntrustOrderService.java new file mode 100644 index 0000000..3521f3b --- /dev/null +++ b/src/main/java/com/xcong/excoin/modules/contract/service/ContractEntrustOrderService.java @@ -0,0 +1,14 @@ +package com.xcong.excoin.modules.contract.service; + +import com.baomidou.mybatisplus.extension.service.IService; +import com.xcong.excoin.common.response.Result; +import com.xcong.excoin.modules.contract.entity.ContractEntrustOrderEntity; +import com.xcong.excoin.modules.contract.parameter.dto.SubmitEntrustDto; + +/** + * @author helius + */ +public interface ContractEntrustOrderService extends IService<ContractEntrustOrderEntity> { + + public Result addContractEntrustOrder(SubmitEntrustDto submitEntrustDto); +} diff --git a/src/main/java/com/xcong/excoin/modules/contract/service/ContractHoldOrderService.java b/src/main/java/com/xcong/excoin/modules/contract/service/ContractHoldOrderService.java new file mode 100644 index 0000000..bfb89a8 --- /dev/null +++ b/src/main/java/com/xcong/excoin/modules/contract/service/ContractHoldOrderService.java @@ -0,0 +1,10 @@ +package com.xcong.excoin.modules.contract.service; + +import com.baomidou.mybatisplus.extension.service.IService; +import com.xcong.excoin.modules.contract.entity.ContractHoldOrderEntity; + +/** + * @author helius + */ +public interface ContractHoldOrderService extends IService<ContractHoldOrderEntity> { +} diff --git a/src/main/java/com/xcong/excoin/modules/contract/service/ContractOrderService.java b/src/main/java/com/xcong/excoin/modules/contract/service/ContractOrderService.java new file mode 100644 index 0000000..47a59b5 --- /dev/null +++ b/src/main/java/com/xcong/excoin/modules/contract/service/ContractOrderService.java @@ -0,0 +1,10 @@ +package com.xcong.excoin.modules.contract.service; + +import com.baomidou.mybatisplus.extension.service.IService; +import com.xcong.excoin.modules.contract.entity.ContractOrderEntity; + +/** + * @author helius + */ +public interface ContractOrderService extends IService<ContractOrderEntity> { +} diff --git a/src/main/java/com/xcong/excoin/modules/contract/service/impl/ContractEntrustOrderServiceImpl.java b/src/main/java/com/xcong/excoin/modules/contract/service/impl/ContractEntrustOrderServiceImpl.java new file mode 100644 index 0000000..2f55f16 --- /dev/null +++ b/src/main/java/com/xcong/excoin/modules/contract/service/impl/ContractEntrustOrderServiceImpl.java @@ -0,0 +1,87 @@ +package com.xcong.excoin.modules.contract.service.impl; + +import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; +import com.xcong.excoin.common.LoginUserUtils; +import com.xcong.excoin.common.response.Result; +import com.xcong.excoin.modules.contract.dao.ContractEntrustOrderDao; +import com.xcong.excoin.modules.contract.entity.ContractEntrustOrderEntity; +import com.xcong.excoin.modules.contract.parameter.dto.SubmitEntrustDto; +import com.xcong.excoin.modules.contract.service.ContractEntrustOrderService; +import com.xcong.excoin.modules.member.dao.MemberWalletContractDao; +import com.xcong.excoin.modules.member.entity.MemberEntity; +import com.xcong.excoin.modules.member.entity.MemberWalletContractEntity; +import com.xcong.excoin.utils.CacheSettingUtils; +import com.xcong.excoin.utils.CoinTypeConvert; +import com.xcong.excoin.utils.RedisUtils; +import lombok.extern.slf4j.Slf4j; +import org.springframework.stereotype.Service; + +import javax.annotation.Resource; +import java.math.BigDecimal; + +/** + * @author wzy + * @date 2020-05-27 + **/ +@Slf4j +@Service +public class ContractEntrustOrderServiceImpl extends ServiceImpl<ContractEntrustOrderDao, ContractEntrustOrderEntity> implements ContractEntrustOrderService { + + @Resource + private ContractEntrustOrderDao contractEntrustOrderDao; + + @Resource + private MemberWalletContractDao memberWalletContractDao; + + @Resource + private RedisUtils redisUtils; + + @Resource + private CacheSettingUtils cacheSettingUtils; + + @Override + public Result addContractEntrustOrder(SubmitEntrustDto submitEntrustDto) { + MemberEntity memberEntity = LoginUserUtils.getAppLoginUser(); + + // 获取最新价 + BigDecimal newPirce = new BigDecimal(redisUtils.getString(CoinTypeConvert.convertToKey(submitEntrustDto.getSymbol()))); + + + // 委托开仓 + if (submitEntrustDto.getEntrustType() == ContractEntrustOrderEntity.ENTRUST_TYPE_OPEN_MORE || submitEntrustDto.getEntrustType() == ContractEntrustOrderEntity.ENTRUST_TYPE_OPEN_LESS) { + // 开多委托价不能大于当前价 + if (submitEntrustDto.getEntrustType() == ContractEntrustOrderEntity.ENTRUST_TYPE_OPEN_MORE) { + if (submitEntrustDto.getEntrustPrice().compareTo(newPirce) > -1) { + return Result.fail("委托价不能大于当前价"); + } + } + + // 开空委托价不能小于当前价 + if (submitEntrustDto.getEntrustType() == ContractEntrustOrderEntity.ENTRUST_TYPE_OPEN_LESS) { + if (submitEntrustDto.getEntrustPrice().compareTo(newPirce) < 1) { + return Result.fail("委托价不能小于当前价"); + } + } + + MemberWalletContractEntity walletContract = memberWalletContractDao.selectById(memberEntity.getId()); + // 委托总额 + BigDecimal entrustTotalAmount = submitEntrustDto.getEntrustPrice().multiply(BigDecimal.valueOf(submitEntrustDto.getSymbolCnt())); + + if (entrustTotalAmount.compareTo(walletContract.getAvailableBalance()) > -1) { + return Result.fail("可用余额不足"); + } + + BigDecimal lotNumber = cacheSettingUtils.getSymbolSku(submitEntrustDto.getSymbol()); + + + + + } + + // 委托平仓 (全仓模式) + if (submitEntrustDto.getEntrustType() == ContractEntrustOrderEntity.ENTRUST_TYPE_CLOSE_MORE || submitEntrustDto.getEntrustType() == ContractEntrustOrderEntity.ENTRUST_TYPE_CLOSE_LESS) { + return Result.fail("功能暂未开放,敬请期待"); + } + return null; + } +} diff --git a/src/main/java/com/xcong/excoin/modules/contract/service/impl/ContractHoldOrderServiceImpl.java b/src/main/java/com/xcong/excoin/modules/contract/service/impl/ContractHoldOrderServiceImpl.java new file mode 100644 index 0000000..1d2f01d --- /dev/null +++ b/src/main/java/com/xcong/excoin/modules/contract/service/impl/ContractHoldOrderServiceImpl.java @@ -0,0 +1,13 @@ +package com.xcong.excoin.modules.contract.service.impl; + +import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; +import com.xcong.excoin.modules.contract.dao.ContractHoldOrderDao; +import com.xcong.excoin.modules.contract.entity.ContractHoldOrderEntity; +import com.xcong.excoin.modules.contract.service.ContractHoldOrderService; + +/** + * @author wzy + * @date 2020-05-27 + **/ +public class ContractHoldOrderServiceImpl extends ServiceImpl<ContractHoldOrderDao, ContractHoldOrderEntity> implements ContractHoldOrderService { +} diff --git a/src/main/java/com/xcong/excoin/modules/contract/service/impl/ContractOrderServiceImpl.java b/src/main/java/com/xcong/excoin/modules/contract/service/impl/ContractOrderServiceImpl.java new file mode 100644 index 0000000..3773537 --- /dev/null +++ b/src/main/java/com/xcong/excoin/modules/contract/service/impl/ContractOrderServiceImpl.java @@ -0,0 +1,13 @@ +package com.xcong.excoin.modules.contract.service.impl; + +import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; +import com.xcong.excoin.modules.contract.dao.ContractOrderDao; +import com.xcong.excoin.modules.contract.entity.ContractOrderEntity; +import com.xcong.excoin.modules.contract.service.ContractOrderService; + +/** + * @author wzy + * @date 2020-05-27 + **/ +public class ContractOrderServiceImpl extends ServiceImpl<ContractOrderDao, ContractOrderEntity> implements ContractOrderService { +} 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 a5c5fdf..29453ea 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 @@ -1,15 +1,202 @@ -package com.xcong.excoin.modules.member.controller; - -import org.springframework.web.bind.annotation.RequestMapping; -import org.springframework.web.bind.annotation.RestController; - -/** - * 用户类 - * - * @author wzy - * @date 2020-05-18 - **/ -@RestController -@RequestMapping(value = "/api/member") -public class MemberController { -} +package com.xcong.excoin.modules.member.controller; + +import javax.annotation.Resource; +import javax.validation.Valid; + +import org.springframework.web.bind.annotation.GetMapping; +import org.springframework.web.bind.annotation.PostMapping; +import org.springframework.web.bind.annotation.RequestBody; +import org.springframework.web.bind.annotation.RequestMapping; +import org.springframework.web.bind.annotation.RestController; + +import com.xcong.excoin.common.response.Result; +import com.xcong.excoin.modules.member.parameter.dto.MemberAuthenticationDto; +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.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 io.swagger.annotations.Api; +import io.swagger.annotations.ApiImplicitParam; +import io.swagger.annotations.ApiImplicitParams; +import io.swagger.annotations.ApiOperation; +import io.swagger.annotations.ApiResponse; +import io.swagger.annotations.ApiResponses; +import lombok.extern.slf4j.Slf4j; + +/** + * 用户类 + * + * @author wzy + * @date 2020-05-18 + **/ +@Slf4j +@Api(value = "个人中心接口", tags = "个人中心接口") +@RestController +@RequestMapping(value = "/api/member") +public class MemberController { + + @Resource + MemberService memberService; + + /** + * 获取我的信息 + * @return + */ + @ApiOperation(value="获取我的信息", notes="获取我的信息") + @ApiResponses({@ApiResponse( code = 200, message = "success", response = MemberInfoVo.class)}) + @GetMapping(value = "/getMemberInfo") + public Result getMemberInfo() { + return memberService.getMemberInfo(); + } + + /** + * 忘记密码 + * @return + */ + @ApiOperation(value=" 忘记密码", notes=" 忘记密码") + @PostMapping(value="/memberForgetPwd") + public Result memberForgetPwd(@RequestBody @Valid MemberForgetPwdDto memberForgetPwdDto) { + return memberService.memberForgetPwd(memberForgetPwdDto); + } + + /** + * 修改密码 + * @return + */ + @ApiOperation(value="修改密码", notes="修改密码") + @PostMapping(value="/memberUpdatePwd") + public Result memberUpdatePwd(@RequestBody @Valid MemberUpdatePwdDto memberUpdatePwdDto) { + //System.out.println("修改密码:"); + return memberService.memberUpdatePwd(memberUpdatePwdDto); + } + + /** + * 实名认证 + * @return + */ + @ApiOperation(value="实名认证", notes="实名认证") + @PostMapping(value="/memberAuthentication") + public Result memberAuthentication(@RequestBody @Valid MemberAuthenticationDto memberAuthenticationDto) { + return memberService.memberAuthentication(memberAuthenticationDto); + } + + /** + * 修改资金密码 + * @return + */ + @ApiOperation(value="修改资金密码", notes="修改资金密码") + @PostMapping(value="/memberUpdateTradePwd") + public Result memberUpdateTradePwd(@RequestBody @Valid MemberUpdateTradePwdDto memberUpdateTradePwdDto) { + return memberService.memberUpdateTradePwd(memberUpdateTradePwdDto); + } + + /** + * 用户退出登录 + * @return + */ + @ApiOperation(value="用户退出登录", notes="用户退出登录") + @GetMapping(value = "/memberLogout") + public Result memberLogout() { + return memberService.memberLogout(); + } + + /** + * 设置交易密码 + * @param code + * @param password + * @param token + * @return + */ + @ApiOperation(value="设置交易密码", notes="设置交易密码") + @PostMapping(value="/memberTradersPwd") + public Result memberTradersPwd(@RequestBody @Valid MemberForgetPwdDto memberForgetPwdDto) { + return memberService.memberTradersPwd(memberForgetPwdDto); + } + + /** + * 收款方式 + * @return + */ + @ApiOperation(value="新增收款方式", notes="新增收款方式") + @PostMapping(value="/memberAddPaymethod") + public Result memberAddPaymethod(@RequestBody @Valid MemberPaymethodDto memberPaymethodDto) { + return memberService.memberAddPaymethod(memberPaymethodDto); + } + + /** + * 收款方式 + * @return + */ + @ApiOperation(value="删除收款方式", notes="删除收款方式") + @PostMapping(value="/memberDelPaymethod") + public Result memberDelPaymethod(@RequestBody @Valid MemberDelPaymethodDto memberDelPaymethodDto) { + return memberService.memberDelPaymethod(memberDelPaymethodDto); + } + + /** + * 收款方式 + * @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 = "/memberPaymethodDetail") + public Result memberPaymethodDetail(long id) { + return memberService.memberPaymethodDetail(id); + } + + /** + * 收款方式 + * @return + */ + @ApiOperation(value="收款方式的列表", notes="收款方式的列表") + @ApiResponses({@ApiResponse( code = 200, message = "success", response = MemberPaymethodDetailListVo.class)}) + @GetMapping(value = "/memberPaymethodDetailList") + public Result memberPaymethodDetailList() { + return memberService.memberPaymethodDetailList(); + } + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +} diff --git a/src/main/java/com/xcong/excoin/modules/member/dao/MemberAuthenticationDao.java b/src/main/java/com/xcong/excoin/modules/member/dao/MemberAuthenticationDao.java new file mode 100644 index 0000000..51e3adb --- /dev/null +++ b/src/main/java/com/xcong/excoin/modules/member/dao/MemberAuthenticationDao.java @@ -0,0 +1,10 @@ +package com.xcong.excoin.modules.member.dao; + +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import com.xcong.excoin.modules.member.entity.MemberAuthenticationEntity; + +public interface MemberAuthenticationDao extends BaseMapper<MemberAuthenticationEntity> { + + int findMemberbyIdCardNoCount(String idCardNo); + +} diff --git a/src/main/java/com/xcong/excoin/modules/member/dao/MemberDao.java b/src/main/java/com/xcong/excoin/modules/member/dao/MemberDao.java index 6640df7..b2b97f5 100644 --- a/src/main/java/com/xcong/excoin/modules/member/dao/MemberDao.java +++ b/src/main/java/com/xcong/excoin/modules/member/dao/MemberDao.java @@ -1,15 +1,16 @@ -package com.xcong.excoin.modules.member.dao; - -import com.baomidou.mybatisplus.core.mapper.BaseMapper; -import com.xcong.excoin.modules.member.entity.MemberEntity; -import org.apache.ibatis.annotations.Param; - -/** - * @author wzy - */ -public interface MemberDao extends BaseMapper<MemberEntity> { - - public MemberEntity selectMemberInfoByAccount(@Param("account") String account); - - public MemberEntity selectMemberInfoByRefererId(@Param("refererId") String refererId); -} +package com.xcong.excoin.modules.member.dao; + +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import com.xcong.excoin.modules.member.entity.MemberEntity; +import org.apache.ibatis.annotations.Param; + +/** + * @author wzy + */ +public interface MemberDao extends BaseMapper<MemberEntity> { + + public MemberEntity selectMemberInfoByAccount(@Param("account") String account); + + public MemberEntity selectMemberInfoByRefererId(@Param("refererId") String refererId); + +} diff --git a/src/main/java/com/xcong/excoin/modules/member/dao/MemberPaymentMethodDao.java b/src/main/java/com/xcong/excoin/modules/member/dao/MemberPaymentMethodDao.java new file mode 100644 index 0000000..449443d --- /dev/null +++ b/src/main/java/com/xcong/excoin/modules/member/dao/MemberPaymentMethodDao.java @@ -0,0 +1,8 @@ +package com.xcong.excoin.modules.member.dao; + +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import com.xcong.excoin.modules.member.entity.MemberPaymentMethodEntity; + +public interface MemberPaymentMethodDao extends BaseMapper<MemberPaymentMethodEntity> { + +} diff --git a/src/main/java/com/xcong/excoin/modules/member/entity/MemberAuthenticationEntity.java b/src/main/java/com/xcong/excoin/modules/member/entity/MemberAuthenticationEntity.java index 03af297..3b040b3 100644 --- a/src/main/java/com/xcong/excoin/modules/member/entity/MemberAuthenticationEntity.java +++ b/src/main/java/com/xcong/excoin/modules/member/entity/MemberAuthenticationEntity.java @@ -1,56 +1,65 @@ -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 wzy - * @date 2020-05-18 - **/ -@Data -@TableName("member_authentication") -public class MemberAuthenticationEntity extends BaseEntity { - - /** - * 用户ID - */ - private Long memberId; - - /** - * 真实姓名 - */ - private String realName; - - /** - * 姓 - */ - private String firstName; - - /** - * 名 - */ - private String secondName; - - /** - * 国家 - */ - private String nation; - - /** - * 身份证正面 - */ - private String idcardImageFront; - - /** - * 身份证背面 - */ - private String idcardImageBack; - - /** - * 手持身份证 - */ - private String idcardImageInHand; -} +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 wzy + * @date 2020-05-18 + **/ +@Data +@TableName("member_authentication") +public class MemberAuthenticationEntity extends BaseEntity { + + /** + * + */ + private static final long serialVersionUID = 1L; + + /** + * 用户ID + */ + private Long memberId; + + /** + * 真实姓名 + */ + private String realName; + + /** + * 姓 + */ + private String firstName; + + /** + * 名 + */ + private String secondName; + + /** + * 国家 + */ + private String nation; + /** + * 身份证号 + */ + private String idcardNo; + + /** + * 身份证正面 + */ + private String idcardImageFront; + + /** + * 身份证背面 + */ + private String idcardImageBack; + + /** + * 手持身份证 + */ + private String idcardImageInHand; +} diff --git a/src/main/java/com/xcong/excoin/modules/member/entity/MemberPaymentMethodEntity.java b/src/main/java/com/xcong/excoin/modules/member/entity/MemberPaymentMethodEntity.java new file mode 100644 index 0000000..be0e903 --- /dev/null +++ b/src/main/java/com/xcong/excoin/modules/member/entity/MemberPaymentMethodEntity.java @@ -0,0 +1,56 @@ +package com.xcong.excoin.modules.member.entity; + +import com.baomidou.mybatisplus.annotation.TableName; +import com.xcong.excoin.common.system.base.BaseEntity; + +import lombok.Data; + +/** + * 会员收款方式 + */ +@Data +@TableName("member_payment_method") +public class MemberPaymentMethodEntity extends BaseEntity{ + /** + * + */ + private static final long serialVersionUID = 1L; + + /** + * 用户Id + */ + private Long memberId; + /** + * 姓名 + */ + private String name; + /** + * 账号 + */ + private String account; + /** + * 收款二维码 + */ + private String paymentQrcode; + /** + * 银行 + */ + private String bank; + /** + * 支行 + */ + private String subBank; + /** + * 类型 1-支付宝2-微信3-银行卡 + */ + private String paymentType; + public static final Integer PAYMENTTYPE_ALIPAY = 1; + public static final Integer PAYMENTTYPE_WECHAT = 2; + public static final Integer PAYMENTTYPE_CARD = 3; + + /** + * 默认收款方式 + */ + private String isDefualt; + +} diff --git a/src/main/java/com/xcong/excoin/modules/member/parameter/dto/MemberAuthenticationDto.java b/src/main/java/com/xcong/excoin/modules/member/parameter/dto/MemberAuthenticationDto.java new file mode 100644 index 0000000..e69031e --- /dev/null +++ b/src/main/java/com/xcong/excoin/modules/member/parameter/dto/MemberAuthenticationDto.java @@ -0,0 +1,45 @@ +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 = "MemberAuthenticationDto", description = "实名认证参数接收类") +public class MemberAuthenticationDto { + + @NotNull(message = "姓不能为空") + @ApiModelProperty(value = "姓", example = "姓") + private String firstName; + + @NotNull(message = "名不能为空") + @ApiModelProperty(value = "名", example = "名") + private String secondName; + + @NotNull(message = "真实姓名不能为空") + @ApiModelProperty(value = "真实姓名", example = "姓名") + private String realName; + + @NotNull(message = "身份证卡号不能为空") + @ApiModelProperty(value = "身份证卡号", example = "123456789") + private String idCardNo; + + @NotNull(message = "身份证正面不能为空") + @ApiModelProperty(value = "身份证正面", example = "身份证正面") + private String idCardFront; + + @NotNull(message = "身份证反面不能为空") + @ApiModelProperty(value = "身份证反面", example = "身份证反面") + private String idCardReverse; + + @NotNull(message = "手持身份证不能为空") + @ApiModelProperty(value = "手持身份证", example = "手持身份证") + private String idCardImage; + + @NotNull(message = "国家不能为空") + @ApiModelProperty(value = "国家", example = "国家") + private String nation; + +} diff --git a/src/main/java/com/xcong/excoin/modules/member/parameter/dto/MemberDelPaymethodDto.java b/src/main/java/com/xcong/excoin/modules/member/parameter/dto/MemberDelPaymethodDto.java new file mode 100644 index 0000000..1135c4a --- /dev/null +++ b/src/main/java/com/xcong/excoin/modules/member/parameter/dto/MemberDelPaymethodDto.java @@ -0,0 +1,17 @@ +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 = "MemberDelPaymethodDto", description = "删除收款方式参数接收类") +public class MemberDelPaymethodDto { + + @NotNull(message = "收款方式ID不能为空") + @ApiModelProperty(value = "收款方式ID", example = "1") + private Long id; + +} diff --git a/src/main/java/com/xcong/excoin/modules/member/parameter/dto/MemberForgetPwdDto.java b/src/main/java/com/xcong/excoin/modules/member/parameter/dto/MemberForgetPwdDto.java new file mode 100644 index 0000000..8da3cde --- /dev/null +++ b/src/main/java/com/xcong/excoin/modules/member/parameter/dto/MemberForgetPwdDto.java @@ -0,0 +1,31 @@ +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 = "MemberForgetPwdDto", description = "忘记密码参数接收类") +public class MemberForgetPwdDto { + + @NotNull(message = "验证码不能为空") + @ApiModelProperty(value = "验证码", example = "123456") + private String code; + + @NotNull(message = "新密码不能为空") + @ApiModelProperty(value = "新密码", example = "qq123456") + private String password; + + @NotNull(message = "验证类型不能为空") + @ApiModelProperty(value = "验证类型 1 手机号码 2 邮箱", example = "1") + private int type; + + @ApiModelProperty(value = "电话号码", example = "13412341234") + private String phone; + + @ApiModelProperty(value = "邮箱", example = "www.13412341234@123.com") + private String email; + +} diff --git a/src/main/java/com/xcong/excoin/modules/member/parameter/dto/MemberPaymethodDto.java b/src/main/java/com/xcong/excoin/modules/member/parameter/dto/MemberPaymethodDto.java new file mode 100644 index 0000000..f11ebf0 --- /dev/null +++ b/src/main/java/com/xcong/excoin/modules/member/parameter/dto/MemberPaymethodDto.java @@ -0,0 +1,52 @@ +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 = "MemberPaymethodDto", description = "收款方式参数接收类") +public class MemberPaymethodDto { + /** + * 姓名 + */ + @NotNull(message = "姓名不能为空") + @ApiModelProperty(value = "姓名", example = "姓名") + private String name; + /** + * 账号 + */ + @NotNull(message = "账号不能为空") + @ApiModelProperty(value = "账号", example = "13412341234") + private String account; + /** + * 收款二维码 + */ + @ApiModelProperty(value = "账号", example = "13412341234") + private String paymentQrcode; + /** + * 银行 + */ + @ApiModelProperty(value = "银行", example = "银行") + private String bank; + /** + * 支行 + */ + @ApiModelProperty(value = "支行", example = "支行") + private String subBank; + /** + * 类型 1-支付宝2-微信3-银行卡 + */ + @NotNull(message = "类型不能为空") + @ApiModelProperty(value = "类型 1-支付宝2-微信3-银行卡", example = "1") + private String paymentType; + /** + * 默认收款方式 + */ + @NotNull(message = "默认收款方式不能为空") + @ApiModelProperty(value = "类型 1-是 0-否", example = "1") + private String isDefualt; + +} diff --git a/src/main/java/com/xcong/excoin/modules/member/parameter/dto/MemberTradersPwdDto.java b/src/main/java/com/xcong/excoin/modules/member/parameter/dto/MemberTradersPwdDto.java new file mode 100644 index 0000000..884119f --- /dev/null +++ b/src/main/java/com/xcong/excoin/modules/member/parameter/dto/MemberTradersPwdDto.java @@ -0,0 +1,31 @@ +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 = "MemberTradersPwdDto", description = "设置交易密码参数接收类") +public class MemberTradersPwdDto { + + @NotNull(message = "验证码不能为空") + @ApiModelProperty(value = "验证码", example = "123456") + private String code; + + @NotNull(message = "新密码不能为空") + @ApiModelProperty(value = "新密码", example = "qq123456") + private String password; + + @NotNull(message = "验证类型不能为空") + @ApiModelProperty(value = "验证类型 1 手机号码 2 邮箱", example = "1") + private int type; + + @ApiModelProperty(value = "电话号码", example = "13412341234") + private String phone; + + @ApiModelProperty(value = "邮箱", example = "www.13412341234@123.com") + private String email; + +} diff --git a/src/main/java/com/xcong/excoin/modules/member/parameter/dto/MemberUpdatePwdDto.java b/src/main/java/com/xcong/excoin/modules/member/parameter/dto/MemberUpdatePwdDto.java new file mode 100644 index 0000000..0e2b96c --- /dev/null +++ b/src/main/java/com/xcong/excoin/modules/member/parameter/dto/MemberUpdatePwdDto.java @@ -0,0 +1,31 @@ +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 = "MemberUpdatePwdDto", description = "修改密码参数接收类") +public class MemberUpdatePwdDto { + + @NotNull(message = "验证码不能为空") + @ApiModelProperty(value = "验证码", example = "123456") + private String code; + + @NotNull(message = "新密码不能为空") + @ApiModelProperty(value = "新密码", example = "qq123456") + private String password; + + @NotNull(message = "验证类型不能为空") + @ApiModelProperty(value = "验证类型 1 手机号码 2 邮箱", example = "1") + private int type; + + @ApiModelProperty(value = "电话号码", example = "13412341234") + private String phone; + + @ApiModelProperty(value = "邮箱", example = "www.13412341234@123.com") + private String email; + +} diff --git a/src/main/java/com/xcong/excoin/modules/member/parameter/dto/MemberUpdateTradePwdDto.java b/src/main/java/com/xcong/excoin/modules/member/parameter/dto/MemberUpdateTradePwdDto.java new file mode 100644 index 0000000..b40e1a2 --- /dev/null +++ b/src/main/java/com/xcong/excoin/modules/member/parameter/dto/MemberUpdateTradePwdDto.java @@ -0,0 +1,31 @@ +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 = "MemberUpdateTradePwdDto", description = "修改资金密码参数接收类") +public class MemberUpdateTradePwdDto { + + @NotNull(message = "验证码不能为空") + @ApiModelProperty(value = "验证码", example = "123456") + private String code; + + @NotNull(message = "新密码不能为空") + @ApiModelProperty(value = "新密码", example = "qq123456") + private String password; + + @NotNull(message = "验证类型不能为空") + @ApiModelProperty(value = "验证类型 1 手机号码 2 邮箱", example = "1") + private int type; + + @ApiModelProperty(value = "电话号码", example = "13412341234") + private String phone; + + @ApiModelProperty(value = "邮箱", example = "www.13412341234@123.com") + private String email; + +} diff --git a/src/main/java/com/xcong/excoin/modules/member/parameter/vo/MemberInfoVo.java b/src/main/java/com/xcong/excoin/modules/member/parameter/vo/MemberInfoVo.java new file mode 100644 index 0000000..6ab0a86 --- /dev/null +++ b/src/main/java/com/xcong/excoin/modules/member/parameter/vo/MemberInfoVo.java @@ -0,0 +1,23 @@ +package com.xcong.excoin.modules.member.parameter.vo; + +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +@Data +@ApiModel(value = "MemberInfoVo", description = "个人信息") +public class MemberInfoVo { + + /** + * 手机号(包含国际手机号) + */ + @ApiModelProperty(value = "手机号(包含国际手机号)") + private String phone; + + /** + * 邀请码 + */ + @ApiModelProperty(value = "邀请码") + private String inviteId; + +} diff --git a/src/main/java/com/xcong/excoin/modules/member/parameter/vo/MemberPaymethodDetailListVo.java b/src/main/java/com/xcong/excoin/modules/member/parameter/vo/MemberPaymethodDetailListVo.java new file mode 100644 index 0000000..19f1b91 --- /dev/null +++ b/src/main/java/com/xcong/excoin/modules/member/parameter/vo/MemberPaymethodDetailListVo.java @@ -0,0 +1,16 @@ +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 = "MemberPaymethodDetailListVo", description = "收款方式列表") +public class MemberPaymethodDetailListVo { + + @ApiModelProperty(value = "收款方式列表") + private List<MemberPaymethodDetailVo> memberPaymethodDetailVo; + +} diff --git a/src/main/java/com/xcong/excoin/modules/member/parameter/vo/MemberPaymethodDetailVo.java b/src/main/java/com/xcong/excoin/modules/member/parameter/vo/MemberPaymethodDetailVo.java new file mode 100644 index 0000000..e364549 --- /dev/null +++ b/src/main/java/com/xcong/excoin/modules/member/parameter/vo/MemberPaymethodDetailVo.java @@ -0,0 +1,46 @@ +package com.xcong.excoin.modules.member.parameter.vo; + +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +@Data +@ApiModel(value = "MemberPaymethodDetailVo", description = "收款方式信息") +public class MemberPaymethodDetailVo { + /** + * 用户Id + */ + @ApiModelProperty(value = "用户Id") + private Long memberId; + /** + * 姓名 + */ + @ApiModelProperty(value = "姓名") + private String name; + /** + * 账号 + */ + @ApiModelProperty(value = "账号") + private String account; + /** + * 收款二维码 + */ + @ApiModelProperty(value = "收款二维码") + private String paymentQrcode; + /** + * 银行 + */ + @ApiModelProperty(value = "银行") + private String bank; + /** + * 支行 + */ + @ApiModelProperty(value = "支行") + private String subBank; + /** + * 类型 1-支付宝2-微信3-银行卡 + */ + @ApiModelProperty(value = "类型 1-支付宝2-微信3-银行卡") + private String paymentType; + +} 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 26ca3bd..244c586 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 @@ -1,16 +1,46 @@ -package com.xcong.excoin.modules.member.service; - -import com.baomidou.mybatisplus.extension.service.IService; -import com.xcong.excoin.common.response.Result; -import com.xcong.excoin.common.system.dto.RegisterDto; -import com.xcong.excoin.modules.member.entity.MemberEntity; -import com.xcong.excoin.modules.test.entity.TestUserEntity; - -/** - * @author wzy - */ -public interface MemberService extends IService<MemberEntity> { - - public Result register(RegisterDto registerDto); - -} +package com.xcong.excoin.modules.member.service; + +import javax.validation.Valid; + +import com.baomidou.mybatisplus.extension.service.IService; +import com.xcong.excoin.common.response.Result; +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.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; + +/** + * @author wzy + */ +public interface MemberService extends IService<MemberEntity> { + + public Result register(RegisterDto registerDto); + + public Result getMemberInfo(); + + public Result memberAuthentication(@Valid MemberAuthenticationDto memberAuthenticationDto); + + public Result memberForgetPwd(@Valid MemberForgetPwdDto memberForgetPwdDto); + + public Result memberUpdatePwd(@Valid MemberUpdatePwdDto memberUpdatePwdDto); + + public Result memberUpdateTradePwd(@Valid MemberUpdateTradePwdDto memberUpdateTradePwdDto); + + public Result memberLogout(); + + public Result memberTradersPwd(@Valid MemberForgetPwdDto memberForgetPwdDto); + + public Result memberAddPaymethod(@Valid MemberPaymethodDto memberPaymethodDto); + + public Result memberDelPaymethod(@Valid MemberDelPaymethodDto memberDelPaymethodDto); + + public Result memberPaymethodDetail(long id); + + public Result memberPaymethodDetailList(); + + +} 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 cf19f1b..a3a428e 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 @@ -1,11 +1,12 @@ package com.xcong.excoin.modules.member.service.impl; -import cn.hutool.core.codec.Base64; +import cn.hutool.core.collection.CollUtil; +import cn.hutool.core.util.ObjectUtil; import cn.hutool.core.util.StrUtil; import cn.hutool.crypto.SecureUtil; -import cn.hutool.crypto.asymmetric.Sign; -import cn.hutool.crypto.asymmetric.SignAlgorithm; + import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; +import com.xcong.excoin.common.LoginUserUtils; import com.xcong.excoin.common.contants.AppContants; import com.xcong.excoin.common.enumerates.CoinTypeEnum; import com.xcong.excoin.common.enumerates.SymbolEnum; @@ -13,13 +14,32 @@ import com.xcong.excoin.common.system.dto.RegisterDto; 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.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.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.utils.MessageSourceUtils; +import com.xcong.excoin.utils.RedisUtils; import com.xcong.excoin.utils.ShareCodeUtil; import lombok.extern.slf4j.Slf4j; + +import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; import org.springframework.transaction.annotation.Transactional; +import java.util.ArrayList; +import java.util.HashMap; +import java.util.List; +import java.util.Map; + import javax.annotation.Resource; +import javax.validation.Valid; /** * @author wzy @@ -43,6 +63,15 @@ @Resource private MemberLevelRateDao memberLevelRateDao; + + @Resource + MemberAuthenticationDao memberAuthenticationDao; + + @Autowired + RedisUtils redisUtils; + + @Resource + MemberPaymentMethodDao memberPaymentMethodDao; @Transactional() @Override @@ -135,9 +164,339 @@ levelRate.setSymbol(symbolEnum.getValue()); memberLevelRateDao.insert(levelRate); } - - return Result.ok("success"); } + @Override + public Result getMemberInfo() { + //获取用户ID + Long memberId = LoginUserUtils.getAppLoginUser().getId(); + MemberEntity memberEntity = memberDao.selectById(memberId); + MemberInfoVo memberInfoVo = new MemberInfoVo(); + if (ObjectUtil.isNotEmpty(memberEntity)) { + memberInfoVo.setPhone(memberEntity.getPhone()); + memberInfoVo.setInviteId(memberEntity.getInviteId()); + } + return Result.ok(memberInfoVo); + } + + @Override + @Transactional + public Result memberForgetPwd(@Valid MemberForgetPwdDto memberForgetPwdDto) { + + int type = memberForgetPwdDto.getType(); + String phone = memberForgetPwdDto.getPhone(); + String email = memberForgetPwdDto.getEmail(); + String code = memberForgetPwdDto.getCode(); + String password = memberForgetPwdDto.getPassword(); + + Map<String, Object> hashMap = new HashMap<>(); + if(type == 1) { + hashMap.put("phone", phone); + }else { + hashMap.put("email", email); + } + List<MemberEntity> member = memberDao.selectByMap(hashMap); + if (CollUtil.isEmpty(member)) { + return Result.fail(MessageSourceUtils.getString("member_service_0047")); + } + boolean verificationCode = verificationCode(type, phone, code, email); + if(verificationCode) { + MemberEntity memberEntity = member.get(0); + memberEntity.setPassword(SecureUtil.md5(password)); + memberDao.updateById(memberEntity); + }else { + return Result.fail(MessageSourceUtils.getString("member_service_0045")); + } + if(type == 1) { + redisUtils.del("SMS_" + phone); + }else { + redisUtils.del("EMAIL_" + email); + } + return Result.ok(MessageSourceUtils.getString("member_service_0048")); + } + + @Override + @Transactional + public Result memberUpdatePwd(@Valid MemberUpdatePwdDto memberUpdatePwdDto) { + //获取用户ID + Long memberId = LoginUserUtils.getAppLoginUser().getId(); + MemberEntity memberEntity = memberDao.selectById(memberId); + + String code = memberUpdatePwdDto.getCode(); + String password = memberUpdatePwdDto.getPassword(); + String phone = memberUpdatePwdDto.getPhone(); + String email = memberUpdatePwdDto.getEmail(); + int type = memberUpdatePwdDto.getType(); + boolean verificationCode = verificationCode(type, phone, code, email); + if(verificationCode) { + memberEntity.setPassword(SecureUtil.md5(password)); + memberDao.updateById(memberEntity); + }else { + return Result.fail(MessageSourceUtils.getString("member_service_0041")); + } + if(type == 1) { + redisUtils.del("SMS_" + phone); + }else { + redisUtils.del("EMAIL_" + email); + } + return Result.ok(MessageSourceUtils.getString("member_service_0040")); + } + + /** + * 验证输入的验证码 + * @param type 验证类型1:电话2:邮箱 + * @param phone + * @param email + * @param code 验证码 + * @return + */ + private boolean verificationCode(Integer type,String phone,String code,String email) { + boolean verificationCode = false; + if(type == 1) { + String smsCode = redisUtils.get("SMS_" + phone) + ""; + if(code.equals(smsCode)) { + verificationCode = true; + } + }else { + String emailCode = redisUtils.get("EMAIL_" + email) + ""; + if(code.equals(emailCode)) { + verificationCode = true; + } + } + return verificationCode; + } + + @Override + @Transactional + public Result memberAuthentication(@Valid MemberAuthenticationDto memberAuthenticationDto) { + //获取用户ID + Long memberId = LoginUserUtils.getAppLoginUser().getId(); + MemberEntity member = memberDao.selectById(memberId); + if (ObjectUtil.isNotEmpty(member)) { + MemberAuthenticationEntity memberAuthenticationEntity = new MemberAuthenticationEntity(); + if (MemberEntity.CERTIFY_STATUS_Y == member.getCertifyStatus()) { + return Result.fail(MessageSourceUtils.getString("member_service_0055")); + } + if (MemberEntity.CERTIFY_STATUS_ING == member.getCertifyStatus()) { + return Result.fail(MessageSourceUtils.getString("member_service_0056")); + } + memberAuthenticationEntity.setMemberId(memberId); + + if (StrUtil.isBlank(memberAuthenticationDto.getNation())) { + return Result.fail(MessageSourceUtils.getString("member_service_0057")); + } + memberAuthenticationEntity.setNation(memberAuthenticationDto.getNation()); + + if (StrUtil.isBlank(memberAuthenticationDto.getFirstName())) { + return Result.fail(MessageSourceUtils.getString("member_service_0058")); + } + memberAuthenticationEntity.setFirstName(memberAuthenticationDto.getFirstName()); + + if (StrUtil.isBlank(memberAuthenticationDto.getSecondName())) { + return Result.fail(MessageSourceUtils.getString("member_service_0059")); + } + memberAuthenticationEntity.setSecondName(memberAuthenticationDto.getSecondName()); + + String idCardNo = memberAuthenticationDto.getIdCardNo(); + if (StrUtil.isBlank(idCardNo)) { + return Result.fail(MessageSourceUtils.getString("member_service_0060")); + } + memberAuthenticationEntity.setIdcardNo(idCardNo); + //同一个身份证号码不能重复实名认证 + int count = memberAuthenticationDao.findMemberbyIdCardNoCount(idCardNo); + if (count > 0) { + return Result.fail(MessageSourceUtils.getString("member_service_0060")); + } + if (StrUtil.isBlank(memberAuthenticationDto.getIdCardFront()) + || StrUtil.isBlank(memberAuthenticationDto.getIdCardReverse()) + || StrUtil.isBlank(memberAuthenticationDto.getIdCardImage())) { + return Result.fail(MessageSourceUtils.getString("member_service_0061")); + } + memberAuthenticationEntity.setIdcardImageFront(memberAuthenticationDto.getIdCardFront()); + memberAuthenticationEntity.setIdcardImageBack(memberAuthenticationDto.getIdCardReverse()); + memberAuthenticationEntity.setIdcardImageInHand(memberAuthenticationDto.getIdCardImage()); + memberAuthenticationDao.insert(memberAuthenticationEntity); + + member.setCertifyStatus(MemberEntity.CERTIFY_STATUS_ING); + member.setIdcardNo(idCardNo); + memberDao.updateById(member); + /** + * TODO dingtalk + + Constant.excutor.execute(new Runnable() { + @Override + public void run() { + DingTalkUtils.sendActionCard(4); + } + });*/ + return Result.ok(MessageSourceUtils.getString("member_service_0024")); + } + return Result.fail(MessageSourceUtils.getString("member_service_0063")); + } + + @Override + @Transactional + public Result memberUpdateTradePwd(@Valid MemberUpdateTradePwdDto memberUpdateTradePwdDto) { + //获取用户ID + Long memberId = LoginUserUtils.getAppLoginUser().getId(); + MemberEntity memberEntity = memberDao.selectById(memberId); + + String code = memberUpdateTradePwdDto.getCode(); + String password = memberUpdateTradePwdDto.getPassword(); + String phone = memberUpdateTradePwdDto.getPhone(); + String email = memberUpdateTradePwdDto.getEmail(); + int type = memberUpdateTradePwdDto.getType(); + boolean verificationCode = verificationCode(type, phone, code, email); + if(verificationCode) { + memberEntity.setTradePassword(SecureUtil.md5(password)); + memberDao.updateById(memberEntity); + }else { + return Result.fail(MessageSourceUtils.getString("member_service_0041")); + } + if(type == 1) { + redisUtils.del("SMS_" + phone); + }else { + redisUtils.del("EMAIL_" + email); + } + return Result.ok(MessageSourceUtils.getString("member_service_0051")); + } + + @Override + @Transactional + public Result memberLogout() { + //获取用户ID + Long memberId = LoginUserUtils.getAppLoginUser().getId(); + MemberEntity memberEntity = memberDao.selectById(memberId); + if (ObjectUtil.isEmpty(memberEntity)) { + return Result.fail(MessageSourceUtils.getString("member_service_0003")); + } + + String phone = memberEntity.getPhone(); + if(StrUtil.isEmpty(phone)) { + redisUtils.del(memberEntity.getPhone()); + } + String email = memberEntity.getEmail(); + if(StrUtil.isEmpty(email)) { + redisUtils.del(memberEntity.getPhone()); + } + + return Result.ok(MessageSourceUtils.getString("member_service_0071")); + } + + @Override + @Transactional + public Result memberTradersPwd(@Valid MemberForgetPwdDto memberForgetPwdDto) { + //获取用户ID + Long memberId = LoginUserUtils.getAppLoginUser().getId(); + MemberEntity memberEntity = memberDao.selectById(memberId); + + String code = memberForgetPwdDto.getCode(); + String password = memberForgetPwdDto.getPassword(); + String phone = memberForgetPwdDto.getPhone(); + String email = memberForgetPwdDto.getEmail(); + int type = memberForgetPwdDto.getType(); + boolean verificationCode = verificationCode(type, phone, code, email); + if(verificationCode) { + memberEntity.setTradePassword(SecureUtil.md5(password)); + memberDao.updateById(memberEntity); + }else { + return Result.fail(MessageSourceUtils.getString("member_service_0015")); + } + if(type == 1) { + redisUtils.del("SMS_" + phone); + }else { + redisUtils.del("EMAIL_" + email); + } + return Result.ok(MessageSourceUtils.getString("member_service_0068")); + } + + @Override + @Transactional + public Result memberAddPaymethod(@Valid MemberPaymethodDto memberPaymethodDto) { + //获取用户ID + Long memberId = LoginUserUtils.getAppLoginUser().getId(); + MemberEntity member = memberDao.selectById(memberId); + + if(!MemberEntity.CERTIFY_STATUS_Y.equals(member.getCertifyStatus())) { + return Result.fail(MessageSourceUtils.getString("member_service_0077")); + } + String account = memberPaymethodDto.getAccount(); + String bank = memberPaymethodDto.getBank(); + String name = memberPaymethodDto.getName(); + String paymentQrcode = memberPaymethodDto.getPaymentQrcode(); + String paymentType = memberPaymethodDto.getPaymentType(); + String subBank = memberPaymethodDto.getSubBank(); + String isDefualt = memberPaymethodDto.getIsDefualt(); + MemberPaymentMethodEntity memberPaymentMethodEntity = new MemberPaymentMethodEntity(); + memberPaymentMethodEntity.setMemberId(memberId); + memberPaymentMethodEntity.setAccount(account); + memberPaymentMethodEntity.setBank(bank); + memberPaymentMethodEntity.setName(name); + memberPaymentMethodEntity.setPaymentQrcode(paymentQrcode); + memberPaymentMethodEntity.setPaymentType(paymentType); + memberPaymentMethodEntity.setSubBank(subBank); + memberPaymentMethodEntity.setIsDefualt(isDefualt); + memberPaymentMethodDao.insert(memberPaymentMethodEntity); + return Result.ok(MessageSourceUtils.getString("member_service_0024")); + } + + @Override + @Transactional + public Result memberDelPaymethod(@Valid MemberDelPaymethodDto memberDelPaymethodDto) { + //获取用户ID + Long memberId = LoginUserUtils.getAppLoginUser().getId(); + Long id = memberDelPaymethodDto.getId(); + Map<String,Object> columnMap = new HashMap<>(); + columnMap.put("id", id); + columnMap.put("member_id", memberId); + memberPaymentMethodDao.deleteByMap(columnMap); + return Result.ok("success"); + } + + @Override + public Result memberPaymethodDetail(long id) { + //获取用户ID + Long memberId = LoginUserUtils.getAppLoginUser().getId(); + MemberPaymentMethodEntity memberPaymentMethod = memberPaymentMethodDao.selectById(id); + + MemberPaymethodDetailVo memberPaymethodDetailVo = new MemberPaymethodDetailVo(); + memberPaymethodDetailVo.setAccount(memberPaymentMethod.getAccount()); + memberPaymethodDetailVo.setBank(memberPaymentMethod.getBank()); + memberPaymethodDetailVo.setMemberId(memberId); + memberPaymethodDetailVo.setName(memberPaymentMethod.getName()); + memberPaymethodDetailVo.setPaymentQrcode(memberPaymentMethod.getPaymentQrcode()); + memberPaymethodDetailVo.setPaymentType(memberPaymentMethod.getPaymentType()); + memberPaymethodDetailVo.setSubBank(memberPaymentMethod.getSubBank()); + + return Result.ok(memberPaymethodDetailVo); + } + + @Override + public Result memberPaymethodDetailList() { + //获取用户ID + Long memberId = LoginUserUtils.getAppLoginUser().getId(); + Map<String,Object> columnMap = new HashMap<>(); + columnMap.put("member_id", memberId); + List<MemberPaymentMethodEntity> selectByMap = memberPaymentMethodDao.selectByMap(columnMap); + List<MemberPaymethodDetailVo> arrayList = new ArrayList<>(); + if(CollUtil.isNotEmpty(selectByMap)) { + for(MemberPaymentMethodEntity memberPaymentMethodEntity : selectByMap) { + MemberPaymethodDetailVo memberPaymethodDetailVo = new MemberPaymethodDetailVo(); + memberPaymethodDetailVo.setAccount(memberPaymentMethodEntity.getAccount()); + memberPaymethodDetailVo.setBank(memberPaymentMethodEntity.getBank()); + memberPaymethodDetailVo.setMemberId(memberId); + memberPaymethodDetailVo.setName(memberPaymentMethodEntity.getName()); + memberPaymethodDetailVo.setPaymentQrcode(memberPaymentMethodEntity.getPaymentQrcode()); + memberPaymethodDetailVo.setPaymentType(memberPaymentMethodEntity.getPaymentType()); + memberPaymethodDetailVo.setSubBank(memberPaymentMethodEntity.getSubBank()); + arrayList.add(memberPaymethodDetailVo); + } + } + + MemberPaymethodDetailListVo memberPaymethodDetailListVo = new MemberPaymethodDetailListVo(); + memberPaymethodDetailListVo.setMemberPaymethodDetailVo(arrayList); + return Result.ok(memberPaymethodDetailListVo); + } + } diff --git a/src/main/java/com/xcong/excoin/modules/coin/dao/platform/CnyUsdtExchangeDao.java b/src/main/java/com/xcong/excoin/modules/platform/dao/CnyUsdtExchangeDao.java similarity index 83% rename from src/main/java/com/xcong/excoin/modules/coin/dao/platform/CnyUsdtExchangeDao.java rename to src/main/java/com/xcong/excoin/modules/platform/dao/CnyUsdtExchangeDao.java index 0d9b4f3..357e51e 100644 --- a/src/main/java/com/xcong/excoin/modules/coin/dao/platform/CnyUsdtExchangeDao.java +++ b/src/main/java/com/xcong/excoin/modules/platform/dao/CnyUsdtExchangeDao.java @@ -1,4 +1,4 @@ -package com.xcong.excoin.modules.coin.dao.platform; +package com.xcong.excoin.modules.platform.dao; import com.baomidou.mybatisplus.core.mapper.BaseMapper; import com.xcong.excoin.modules.coin.entity.CnyUsdtExchange; diff --git a/src/main/java/com/xcong/excoin/modules/platform/dao/TradeSettingDao.java b/src/main/java/com/xcong/excoin/modules/platform/dao/TradeSettingDao.java new file mode 100644 index 0000000..aec081a --- /dev/null +++ b/src/main/java/com/xcong/excoin/modules/platform/dao/TradeSettingDao.java @@ -0,0 +1,22 @@ +package com.xcong.excoin.modules.platform.dao; + +import java.util.List; + +import com.xcong.excoin.modules.platform.entity.PlatformSymbolsSkuEntity; +import org.apache.ibatis.annotations.Param; + +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import com.xcong.excoin.modules.platform.entity.PlatformLeverageSettingEntity; +import com.xcong.excoin.modules.platform.entity.PlatformTradeSettingEntity; + +public interface TradeSettingDao extends BaseMapper<PlatformTradeSettingEntity> { + + PlatformTradeSettingEntity findTradeSetting(); + + PlatformSymbolsSkuEntity findSymbolSkubySymbol(@Param("symbol") String symbol); + + List<PlatformSymbolsSkuEntity> findAllSymbolSkubySymbol(); + + List<PlatformLeverageSettingEntity> findLeverageSetting(); + +} diff --git a/src/main/java/com/xcong/excoin/modules/coin/entity/PlatformLeverageSettingEntity.java b/src/main/java/com/xcong/excoin/modules/platform/entity/PlatformLeverageSettingEntity.java similarity index 93% rename from src/main/java/com/xcong/excoin/modules/coin/entity/PlatformLeverageSettingEntity.java rename to src/main/java/com/xcong/excoin/modules/platform/entity/PlatformLeverageSettingEntity.java index ac907da..8d72d42 100644 --- a/src/main/java/com/xcong/excoin/modules/coin/entity/PlatformLeverageSettingEntity.java +++ b/src/main/java/com/xcong/excoin/modules/platform/entity/PlatformLeverageSettingEntity.java @@ -1,4 +1,4 @@ -package com.xcong.excoin.modules.coin.entity; +package com.xcong.excoin.modules.platform.entity; import java.io.Serializable; diff --git a/src/main/java/com/xcong/excoin/modules/coin/entity/PlatformSymbolsSku.java b/src/main/java/com/xcong/excoin/modules/platform/entity/PlatformSymbolsSkuEntity.java similarity index 76% rename from src/main/java/com/xcong/excoin/modules/coin/entity/PlatformSymbolsSku.java rename to src/main/java/com/xcong/excoin/modules/platform/entity/PlatformSymbolsSkuEntity.java index 268f301..ec1f804 100644 --- a/src/main/java/com/xcong/excoin/modules/coin/entity/PlatformSymbolsSku.java +++ b/src/main/java/com/xcong/excoin/modules/platform/entity/PlatformSymbolsSkuEntity.java @@ -1,4 +1,4 @@ -package com.xcong.excoin.modules.coin.entity; +package com.xcong.excoin.modules.platform.entity; import java.io.Serializable; @@ -13,7 +13,7 @@ */ @Data @TableName("platform_symbols_sku") -public class PlatformSymbolsSku implements Serializable { +public class PlatformSymbolsSkuEntity implements Serializable { /** * */ @@ -27,6 +27,6 @@ /** * 规格 */ - private String sku; + private String lotnumber; } diff --git a/src/main/java/com/xcong/excoin/modules/coin/entity/PlatformTradeSettingEntity.java b/src/main/java/com/xcong/excoin/modules/platform/entity/PlatformTradeSettingEntity.java similarity index 95% rename from src/main/java/com/xcong/excoin/modules/coin/entity/PlatformTradeSettingEntity.java rename to src/main/java/com/xcong/excoin/modules/platform/entity/PlatformTradeSettingEntity.java index 1eae490..cabac92 100644 --- a/src/main/java/com/xcong/excoin/modules/coin/entity/PlatformTradeSettingEntity.java +++ b/src/main/java/com/xcong/excoin/modules/platform/entity/PlatformTradeSettingEntity.java @@ -1,4 +1,4 @@ -package com.xcong.excoin.modules.coin.entity; +package com.xcong.excoin.modules.platform.entity; import java.io.Serializable; import java.math.BigDecimal; diff --git a/src/main/java/com/xcong/excoin/utils/CacheSettingUtils.java b/src/main/java/com/xcong/excoin/utils/CacheSettingUtils.java new file mode 100644 index 0000000..9145008 --- /dev/null +++ b/src/main/java/com/xcong/excoin/utils/CacheSettingUtils.java @@ -0,0 +1,82 @@ +package com.xcong.excoin.utils; + +import cn.hutool.core.bean.BeanUtil; +import com.xcong.excoin.modules.platform.dao.TradeSettingDao; +import com.xcong.excoin.modules.platform.entity.PlatformSymbolsSkuEntity; +import com.xcong.excoin.modules.platform.entity.PlatformTradeSettingEntity; +import org.apache.commons.collections.CollectionUtils; +import org.springframework.stereotype.Component; + +import javax.annotation.Resource; +import java.math.BigDecimal; +import java.util.HashMap; +import java.util.List; +import java.util.Map; + +/** + * @author wzy + * @date 2020-05-28 + **/ +@Component +public class CacheSettingUtils { + + + /** + * 交易设置缓存Key + */ + private final static String TRADE_SETTING_KEY = "trade_setting_key"; + + /** + * 币种规格缓存key + */ + private final static String TRADE_SYMBOL_SKU_KEY = "trade_symbol_sku_key"; + + @Resource + private TradeSettingDao tradeSettingDao; + + @Resource + private RedisUtils redisUtils; + + + /** + * 获取币种规格 + * + * @param symbol + * @return + */ + public BigDecimal getSymbolSku(String symbol) { + Object hget = redisUtils.hget(TRADE_SYMBOL_SKU_KEY, symbol); + if (hget == null) { + List<PlatformSymbolsSkuEntity> symbolSkubySymbol = tradeSettingDao.findAllSymbolSkubySymbol(); + Map<String, Object> map = new HashMap<String, Object>(); + if (CollectionUtils.isNotEmpty(symbolSkubySymbol)) { + for (PlatformSymbolsSkuEntity symbolSku : symbolSkubySymbol) { + map.put(symbolSku.getName(), symbolSku.getLotnumber()); + } + // 存入redis + redisUtils.hmset(TRADE_SYMBOL_SKU_KEY, map); + } + + hget = redisUtils.hget(TRADE_SYMBOL_SKU_KEY, symbol); + } + + return new BigDecimal(hget.toString()); + } + + /** + * 获取交易设置缓存 + * + * @return + */ + public PlatformTradeSettingEntity getTradeSetting() { + Map<Object, Object> hmget = redisUtils.hmget(TRADE_SETTING_KEY); + + if (hmget == null || hmget.size() == 0) { + PlatformTradeSettingEntity tradeSetting = tradeSettingDao.findTradeSetting(); + redisUtils.hmset(TRADE_SETTING_KEY, BeanUtil.beanToMap(tradeSetting)); + return tradeSetting; + } + return BeanUtil.mapToBean(hmget, PlatformTradeSettingEntity.class, true); + } + +} diff --git a/src/main/java/com/xcong/excoin/utils/CoinTypeConvert.java b/src/main/java/com/xcong/excoin/utils/CoinTypeConvert.java new file mode 100644 index 0000000..fc2dc6c --- /dev/null +++ b/src/main/java/com/xcong/excoin/utils/CoinTypeConvert.java @@ -0,0 +1,50 @@ +package com.xcong.excoin.utils; + +/** + * @author wzy + * @date 2020-05-28 + **/ +public class CoinTypeConvert { + + public static String convert(String symbol) { + switch (symbol) { + case "btcusdt": + return "BTC/USDT"; + case "ethusdt": + return "ETH/USDT"; + case "xrpusdt": + return "XRP/USDT"; + case "ltcusdt": + return "LTC/USDT"; + case "bchusdt": + return "BCH/USDT"; + case "eosusdt": + return "EOS/USDT"; + case "etcusdt": + return "ETC/USDT"; + default: + return null; + } + } + + public static String convertToKey(String symbol) { + switch (symbol) { + case "BTC/USDT": + return "BTC_NEW_PRICE"; + case "ETH/USDT": + return "ETH_NEW_PRICE"; + case "XRP/USDT": + return "XRP_NEW_PRICE"; + case "LTC/USDT": + return "LTC_NEW_PRICE"; + case "BCH/USDT": + return "BCH_NEW_PRICE"; + case "EOS/USDT": + return "EOS_NEW_PRICE"; + case "ETC/USDT": + return "ETC_NEW_PRICE"; + default: + return null; + } + } +} diff --git a/src/main/java/com/xcong/excoin/utils/TypeJudgeUtils.java b/src/main/java/com/xcong/excoin/utils/TypeJudgeUtils.java new file mode 100644 index 0000000..a3b933d --- /dev/null +++ b/src/main/java/com/xcong/excoin/utils/TypeJudgeUtils.java @@ -0,0 +1,28 @@ +package com.xcong.excoin.utils; + +/** + * 接受参数 类型判断 + * + * @author wzy + * @date 2020-05-27 + **/ +public class TypeJudgeUtils { + + /** + * 委托类型 1开多 2开空 3平多 4平空 + * + * @param type + * @return + */ + public static boolean entrustType(int type) { + switch (type) { + case 1: + case 2: + case 3: + case 4: + return true; + default: + return false; + } + } +} diff --git a/src/main/resources/logback-spring.xml b/src/main/resources/logback-spring.xml index c7d14c3..6f244db 100644 --- a/src/main/resources/logback-spring.xml +++ b/src/main/resources/logback-spring.xml @@ -1,5 +1,5 @@ <?xml version="1.0" encoding="UTF-8"?> -<configuration> +<configuration scan="false"> <contextName>logback</contextName> <!-- name的值是变量的名称,value的值时变量定义的值。通过定义的值会被插入到logger上下文中。定义变量后,可以使“${}”来使用变量。 --> <property name="log.path" value="logs" /> diff --git a/src/main/resources/mapper/contract/ContractEntrustOrderDao.xml b/src/main/resources/mapper/contract/ContractEntrustOrderDao.xml new file mode 100644 index 0000000..4e97a90 --- /dev/null +++ b/src/main/resources/mapper/contract/ContractEntrustOrderDao.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.contract.dao.ContractEntrustOrderDao"> + +</mapper> \ No newline at end of file diff --git a/src/main/resources/mapper/contract/ContractHoldOrderDao.xml b/src/main/resources/mapper/contract/ContractHoldOrderDao.xml new file mode 100644 index 0000000..44c858b --- /dev/null +++ b/src/main/resources/mapper/contract/ContractHoldOrderDao.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.contract.dao.ContractHoldOrderDao"> + +</mapper> \ No newline at end of file diff --git a/src/main/resources/mapper/contract/ContractOrderDao.xml b/src/main/resources/mapper/contract/ContractOrderDao.xml new file mode 100644 index 0000000..9e08e1f --- /dev/null +++ b/src/main/resources/mapper/contract/ContractOrderDao.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.contract.dao.ContractOrderDao"> + +</mapper> \ No newline at end of file diff --git a/src/main/resources/mapper/member/MemberAuthenticationDao.xml b/src/main/resources/mapper/member/MemberAuthenticationDao.xml new file mode 100644 index 0000000..8959e65 --- /dev/null +++ b/src/main/resources/mapper/member/MemberAuthenticationDao.xml @@ -0,0 +1,9 @@ +<?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.MemberAuthenticationDao"> + + <select id="findMemberbyIdCardNoCount" resultType="int"> + select count(*) from member_authentication where idcard_No = #{idCardNo} + </select> + +</mapper> \ No newline at end of file diff --git a/src/main/resources/mapper/member/MemberDao.xml b/src/main/resources/mapper/member/MemberDao.xml index a549429..cddbacf 100644 --- a/src/main/resources/mapper/member/MemberDao.xml +++ b/src/main/resources/mapper/member/MemberDao.xml @@ -9,4 +9,5 @@ <select id="selectMemberInfoByRefererId" resultType="com.xcong.excoin.modules.member.entity.MemberEntity"> select * from member where invite_id=#{refererId} </select> + </mapper> \ No newline at end of file diff --git a/src/main/resources/mapper/member/MemberPaymentMethodDao.xml b/src/main/resources/mapper/member/MemberPaymentMethodDao.xml new file mode 100644 index 0000000..b6501e2 --- /dev/null +++ b/src/main/resources/mapper/member/MemberPaymentMethodDao.xml @@ -0,0 +1,6 @@ +<?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.MemberPaymentMethodDao"> + + +</mapper> \ No newline at end of file diff --git a/src/main/resources/mapper/platform/TradeSettingDao.xml b/src/main/resources/mapper/platform/TradeSettingDao.xml index e0e56ba..7537a80 100644 --- a/src/main/resources/mapper/platform/TradeSettingDao.xml +++ b/src/main/resources/mapper/platform/TradeSettingDao.xml @@ -1,12 +1,12 @@ <?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.coin.dao.platform.TradeSettingDao"> +<mapper namespace="com.xcong.excoin.modules.platform.dao.TradeSettingDao"> - <select id="findTradeSetting" resultType="com.xcong.excoin.modules.coin.entity.PlatformTradeSettingEntity"> + <select id="findTradeSetting" resultType="com.xcong.excoin.modules.platform.entity.PlatformTradeSettingEntity"> SELECT * FROM platform_trade_setting </select> - <select id="findSymbolSkubySymbol" resultType="com.xcong.excoin.modules.coin.entity.PlatformSymbolsSku"> + <select id="findSymbolSkubySymbol" resultType="com.xcong.excoin.modules.platform.entity.PlatformSymbolsSkuEntity"> select * from platform_symbols_sku <where> <if test="symbol!=null and symbol!=''"> @@ -15,11 +15,11 @@ </where> </select> - <select id="findAllSymbolSkubySymbol" resultType="com.xcong.excoin.modules.coin.entity.PlatformSymbolsSku"> + <select id="findAllSymbolSkubySymbol" resultType="com.xcong.excoin.modules.platform.entity.PlatformSymbolsSkuEntity"> select * from platform_symbols_sku </select> - <select id="findLeverageSetting" resultType="com.xcong.excoin.modules.coin.entity.PlatformLeverageSettingEntity"> + <select id="findLeverageSetting" resultType="com.xcong.excoin.modules.platform.entity.PlatformLeverageSettingEntity"> select * from platform_leverage_setting order by value ASC </select> diff --git a/src/main/resources/mapper/walletCoinOrder/OrderCoinDealDao.xml b/src/main/resources/mapper/walletCoinOrder/OrderCoinDealDao.xml index 14705e8..998f72d 100644 --- a/src/main/resources/mapper/walletCoinOrder/OrderCoinDealDao.xml +++ b/src/main/resources/mapper/walletCoinOrder/OrderCoinDealDao.xml @@ -9,7 +9,7 @@ and member_id = #{memberId} </if> </where> - order by id desc + order by create_time desc </select> <select id="selectWalletCoinOrder" resultType="com.xcong.excoin.modules.coin.entity.OrderCoinsDealEntity"> diff --git a/src/main/resources/mapper/walletCoinOrder/OrderCoinsDao.xml b/src/main/resources/mapper/walletCoinOrder/OrderCoinsDao.xml index dfe3656..6d78def 100644 --- a/src/main/resources/mapper/walletCoinOrder/OrderCoinsDao.xml +++ b/src/main/resources/mapper/walletCoinOrder/OrderCoinsDao.xml @@ -12,6 +12,7 @@ <if test="symbol != null and symbol !=''"> and a.symbol = #{symbol} </if> + order by create_time desc </select> <select id="findWalletCoinOrderByOrderNo" resultType="com.xcong.excoin.modules.coin.entity.OrderCoinsEntity"> -- Gitblit v1.9.1