From 6113e3d0e87f6dddb943f1a405128805fbebc089 Mon Sep 17 00:00:00 2001 From: xiaoyong931011 <15274802129@163.com> Date: Fri, 08 Jan 2021 11:30:50 +0800 Subject: [PATCH] 20210108 --- src/main/resources/i18n/messages_zh_CN.properties | 3 +++ src/main/java/com/xcong/excoin/modules/contract/service/impl/ContractHoldOrderServiceImpl.java | 15 +++++++++++++++ src/main/resources/mapper/documentary/FollowFollowerProfitDao.xml | 11 +++++++++++ src/main/java/com/xcong/excoin/modules/documentary/dto/UpdateTradeSetInfoDto.java | 4 ++-- src/main/java/com/xcong/excoin/modules/documentary/service/impl/DocumentaryServiceImpl.java | 21 +++++++++++++++++++++ src/main/resources/i18n/messages_en_US.properties | 3 +++ src/main/java/com/xcong/excoin/modules/documentary/dao/FollowFollowerProfitDao.java | 2 ++ 7 files changed, 57 insertions(+), 2 deletions(-) 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 index 497edff..c0f0234 100644 --- 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 @@ -24,8 +24,10 @@ import com.xcong.excoin.modules.contract.parameter.vo.*; import com.xcong.excoin.modules.contract.service.ContractHoldOrderService; import com.xcong.excoin.modules.documentary.dao.FollowFollowerOrderRelationDao; +import com.xcong.excoin.modules.documentary.dao.FollowFollowerProfitDao; import com.xcong.excoin.modules.documentary.dao.FollowTraderInfoDao; import com.xcong.excoin.modules.documentary.entity.FollowFollowerOrderRelationEntity; +import com.xcong.excoin.modules.documentary.entity.FollowFollowerProfitEntity; import com.xcong.excoin.modules.documentary.entity.FollowTraderInfoEntity; import com.xcong.excoin.modules.member.dao.MemberDao; import com.xcong.excoin.modules.member.dao.MemberLevelRateDao; @@ -86,8 +88,12 @@ @Resource private MemberDao memberDao; + @Resource private MemberSettingDao memberSettingDao; + + @Resource + private FollowFollowerProfitDao followFollowerProfitDao; @Resource private FollowTraderInfoDao followTraderInfoDao; @@ -970,6 +976,15 @@ if (CollUtil.isNotEmpty(list) || CollUtil.isNotEmpty(entrustList)) { return Result.fail("存在持仓/委托, 无法更改"); } + + /** + * 验证用户是否存在跟随交易员 + * 是:不允许切换成全仓模式 + */ + List<FollowFollowerProfitEntity> followFollowerProfitEntitys = followFollowerProfitDao.selectByMemberIdandIsFollow(member.getId(),FollowFollowerProfitEntity.IS_FOLLOW_Y); + if(CollUtil.isNotEmpty(followFollowerProfitEntitys)) { + return Result.fail(MessageSourceUtils.getString("documentary_service_0018")); + } Integer positionType = member.getContractPositionType() == ContractEntrustOrderEntity.POSITION_TYPE_ADD ? ContractEntrustOrderEntity.POSITION_TYPE_ALL : ContractEntrustOrderEntity.POSITION_TYPE_ADD; MemberEntity updateEntity = new MemberEntity(); diff --git a/src/main/java/com/xcong/excoin/modules/documentary/dao/FollowFollowerProfitDao.java b/src/main/java/com/xcong/excoin/modules/documentary/dao/FollowFollowerProfitDao.java index eca6dc4..928dc29 100644 --- a/src/main/java/com/xcong/excoin/modules/documentary/dao/FollowFollowerProfitDao.java +++ b/src/main/java/com/xcong/excoin/modules/documentary/dao/FollowFollowerProfitDao.java @@ -43,4 +43,6 @@ BigDecimal selectAllFollowerProfit(@Param("tradeMemberId") Long tradeMemberId); + List<FollowFollowerProfitEntity> selectByMemberIdandIsFollow(@Param("id") Long id, @Param("isFollowY") Integer isFollowY); + } diff --git a/src/main/java/com/xcong/excoin/modules/documentary/dto/UpdateTradeSetInfoDto.java b/src/main/java/com/xcong/excoin/modules/documentary/dto/UpdateTradeSetInfoDto.java index 01b80cf..6112e6b 100644 --- a/src/main/java/com/xcong/excoin/modules/documentary/dto/UpdateTradeSetInfoDto.java +++ b/src/main/java/com/xcong/excoin/modules/documentary/dto/UpdateTradeSetInfoDto.java @@ -9,16 +9,16 @@ @Data @ApiModel(value = "UpdateTradeSetInfoDto", description = "参数接受类") public class UpdateTradeSetInfoDto { - @NotNull @ApiModelProperty("头像") private String avatar; @NotNull + @NotNull(message = "名称不能为空") @ApiModelProperty("名称") private String nickname; @NotNull @ApiModelProperty("是否开启带单 1是2否") private int isOpen; - @NotNull + @NotNull(message = "宣言不能为空") @ApiModelProperty("宣言") private String declaration; diff --git a/src/main/java/com/xcong/excoin/modules/documentary/service/impl/DocumentaryServiceImpl.java b/src/main/java/com/xcong/excoin/modules/documentary/service/impl/DocumentaryServiceImpl.java index 933c8e5..cb4d891 100644 --- a/src/main/java/com/xcong/excoin/modules/documentary/service/impl/DocumentaryServiceImpl.java +++ b/src/main/java/com/xcong/excoin/modules/documentary/service/impl/DocumentaryServiceImpl.java @@ -24,6 +24,7 @@ import com.xcong.excoin.modules.coin.parameter.dto.RecordsPageDto; import com.xcong.excoin.modules.contract.dao.ContractHoldOrderDao; import com.xcong.excoin.modules.contract.dao.ContractOrderDao; +import com.xcong.excoin.modules.contract.entity.ContractEntrustOrderEntity; import com.xcong.excoin.modules.contract.entity.ContractHoldOrderEntity; import com.xcong.excoin.modules.contract.entity.ContractOrderEntity; import com.xcong.excoin.modules.documentary.dao.FollowFollowerNoticeDao; @@ -458,6 +459,20 @@ if (traderInfoEntity != null) { return Result.fail(MessageSourceUtils.getString("documentary_service_0014")); } + + //判断当前用户是否是逐仓模式 + MemberEntity selectById2 = memberDao.selectById(memberId); + Integer contractPositionType = selectById2.getContractPositionType(); + if(ContractEntrustOrderEntity.POSITION_TYPE_ADD != contractPositionType) { + return Result.fail(MessageSourceUtils.getString("documentary_service_0017")); + } + + //判断交易员是否开启了跟单 + FollowTraderInfoEntity selectById = followTraderInfoDao.selectById(traderId); + Integer isOpen = selectById.getIsOpen(); + if(FollowTraderInfoEntity.ISOPEN_Y != isOpen) { + return Result.fail(MessageSourceUtils.getString("documentary_service_0016")); + } FollowFollowerSettingEntity isExistSetting = followFollowerSettingDao.selectOneBymemberIdAndTradeId(memberId, traderId); if (isExistSetting == null) { @@ -719,6 +734,8 @@ FollowTraderInfoEntity followTraderInfoEntity = followTraderInfoDao.selectTraderInfoByMemberId(memberId); TradeSetInfoVo tradeSetInfoVo = new TradeSetInfoVo(); + Long id = followTraderInfoEntity.getId(); + tradeSetInfoVo.setTradeId(id); String avatar = followTraderInfoEntity.getAvatar(); tradeSetInfoVo.setAvatar(avatar); String nickname = followTraderInfoEntity.getNickname(); @@ -735,6 +752,10 @@ //获取用户ID Long memberId = LoginUserUtils.getAppLoginUser().getId(); FollowTraderInfoEntity followTraderInfoEntity = followTraderInfoDao.selectTraderInfoByMemberId(memberId); + /** + * todo + * 当前交易员有合约多单,是否可以直接调整【是否带单】,是否需要在调整前【判断是否已经有带单的合约单】 + */ String avatar = updateTradeSetInfoDto.getAvatar(); String nickname = updateTradeSetInfoDto.getNickname(); String declaration = updateTradeSetInfoDto.getDeclaration(); diff --git a/src/main/resources/i18n/messages_en_US.properties b/src/main/resources/i18n/messages_en_US.properties index 300eeb3..add0045 100644 --- a/src/main/resources/i18n/messages_en_US.properties +++ b/src/main/resources/i18n/messages_en_US.properties @@ -227,6 +227,9 @@ documentary_service_0013=Please close the position after applying documentary_service_0014=The current status cannot be followed documentary_service_0015=Please cancel and apply again +documentary_service_0016=The trader has been set not to follow orders +documentary_service_0017=Please change the contract to separate margin mode +documentary_service_0018=In documentary, cannot adjust to full position margin mode uploadFile_controller_0001=Upload failed diff --git a/src/main/resources/i18n/messages_zh_CN.properties b/src/main/resources/i18n/messages_zh_CN.properties index 335a593..8fddc1f 100644 --- a/src/main/resources/i18n/messages_zh_CN.properties +++ b/src/main/resources/i18n/messages_zh_CN.properties @@ -227,6 +227,9 @@ documentary_service_0013=请平仓后,在申请 documentary_service_0014=当前状态不能进行跟单 documentary_service_0015=当前有跟单,请取消再申请 +documentary_service_0016=该交易员已设置不能跟单 +documentary_service_0017=请将合约修改为分仓保证金模式 +documentary_service_0018=正在跟单中,无法调整为全仓保证金模式 uploadFile_controller_0001=上传失败 diff --git a/src/main/resources/mapper/documentary/FollowFollowerProfitDao.xml b/src/main/resources/mapper/documentary/FollowFollowerProfitDao.xml index 9978af7..545682b 100644 --- a/src/main/resources/mapper/documentary/FollowFollowerProfitDao.xml +++ b/src/main/resources/mapper/documentary/FollowFollowerProfitDao.xml @@ -1,6 +1,17 @@ <?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.documentary.dao.FollowFollowerProfitDao"> + + <select id="selectByMemberIdandIsFollow" resultType="com.xcong.excoin.modules.documentary.entity.FollowFollowerProfitEntity"> + SELECT + * + FROM + follow_follower_profit + WHERE + member_id = #{id} + and is_follow = #{isFollowY} + order by create_time desc + </select> <select id="selectFollowRecords" resultType="com.xcong.excoin.modules.documentary.vo.FollowRecordsVo"> SELECT -- Gitblit v1.9.1