From 07772d52526d21822d2c6f102beacea9196070b6 Mon Sep 17 00:00:00 2001
From: Helius <wangdoubleone@gmail.com>
Date: Thu, 13 Aug 2020 11:05:57 +0800
Subject: [PATCH] merge master
---
src/main/java/com/xcong/excoin/modules/member/dao/MemberSettingDao.java | 19 ++
src/main/java/com/xcong/excoin/modules/member/entity/MemberSettingEntity.java | 34 ++++
src/test/java/com/xcong/excoin/MemberSettingTest.java | 51 +++++++
src/main/java/com/xcong/excoin/modules/contract/service/impl/RabbitOrderServiceImpl.java | 10 +
src/main/java/com/xcong/excoin/modules/contract/service/impl/ContractHoldOrderServiceImpl.java | 14 -
src/main/java/com/xcong/excoin/modules/contract/service/impl/OrderWebsocketServiceImpl.java | 11 +
src/main/java/com/xcong/excoin/modules/member/service/impl/MemberServiceImpl.java | 165 ++++++++++++++---------
src/main/resources/mapper/member/MemberSettingDao.xml | 38 +++++
src/main/java/com/xcong/excoin/modules/member/controller/MemberController.java | 16 ++
src/main/java/com/xcong/excoin/utils/CalculateUtil.java | 10 +
src/main/java/com/xcong/excoin/configurations/security/WebSecurityConfig.java | 2
src/main/java/com/xcong/excoin/modules/member/service/MemberService.java | 2
12 files changed, 286 insertions(+), 86 deletions(-)
diff --git a/src/main/java/com/xcong/excoin/configurations/security/WebSecurityConfig.java b/src/main/java/com/xcong/excoin/configurations/security/WebSecurityConfig.java
index 63e8bde..bcf557c 100644
--- a/src/main/java/com/xcong/excoin/configurations/security/WebSecurityConfig.java
+++ b/src/main/java/com/xcong/excoin/configurations/security/WebSecurityConfig.java
@@ -49,7 +49,7 @@
.antMatchers("/api/member/getMemberAccountInfo").permitAll()
.antMatchers("/api/member/memberForgetPwd").permitAll()
.antMatchers("/api/member/memberCoinInfoList").permitAll()
- .antMatchers("/api/member/getAppVersionInfo").permitAll()
+ .antMatchers("/api/member/getPcVersionInfo").permitAll()
.antMatchers("/api/orderCoin/searchSymbolResultList").permitAll()
.antMatchers("/api/orderCoin/findCollect").permitAll()
.antMatchers("/api/orderCoin/findCollect").permitAll()
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 2ea272f..4311884 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
@@ -28,11 +28,9 @@
import com.xcong.excoin.modules.documentary.entity.FollowTraderInfoEntity;
import com.xcong.excoin.modules.member.dao.MemberDao;
import com.xcong.excoin.modules.member.dao.MemberLevelRateDao;
+import com.xcong.excoin.modules.member.dao.MemberSettingDao;
import com.xcong.excoin.modules.member.dao.MemberWalletContractDao;
-import com.xcong.excoin.modules.member.entity.AgentReturnEntity;
-import com.xcong.excoin.modules.member.entity.MemberEntity;
-import com.xcong.excoin.modules.member.entity.MemberLevelRateEntity;
-import com.xcong.excoin.modules.member.entity.MemberWalletContractEntity;
+import com.xcong.excoin.modules.member.entity.*;
import com.xcong.excoin.modules.platform.dao.TradeSettingDao;
import com.xcong.excoin.modules.platform.entity.PlatformTradeSettingEntity;
import com.xcong.excoin.rabbit.producer.OrderProducer;
@@ -86,11 +84,12 @@
@Resource
private MemberDao memberDao;
-
@Resource
private FollowTraderInfoDao followTraderInfoDao;
@Resource
private FollowFollowerOrderRelationDao followFollowerOrderRelationDao;
+ @Resource
+ private MemberSettingDao memberSettingDao;
@Transactional(rollbackFor = Exception.class)
@Override
@@ -104,9 +103,8 @@
PlatformTradeSettingEntity tradeSettingEntity = cacheSettingUtils.getTradeSetting();
- Long id = memberEntity.getId();
- MemberEntity selectById = memberDao.selectById(id);
- BigDecimal spread = selectById.getSpread();
+ MemberSettingEntity memberSetting = memberSettingDao.selectMemberSettingByMemberId(memberEntity.getId());
+ BigDecimal spread = memberSetting.getSpread();
// 规格
BigDecimal lotNumber = cacheSettingUtils.getSymbolSku(submitOrderDto.getSymbol());
diff --git a/src/main/java/com/xcong/excoin/modules/contract/service/impl/OrderWebsocketServiceImpl.java b/src/main/java/com/xcong/excoin/modules/contract/service/impl/OrderWebsocketServiceImpl.java
index c86ac4f..93b135e 100644
--- a/src/main/java/com/xcong/excoin/modules/contract/service/impl/OrderWebsocketServiceImpl.java
+++ b/src/main/java/com/xcong/excoin/modules/contract/service/impl/OrderWebsocketServiceImpl.java
@@ -12,8 +12,10 @@
import com.xcong.excoin.modules.contract.service.ContractHoldOrderService;
import com.xcong.excoin.modules.contract.service.ContractOrderService;
import com.xcong.excoin.modules.member.dao.AgentReturnDao;
+import com.xcong.excoin.modules.member.dao.MemberSettingDao;
import com.xcong.excoin.modules.member.entity.AgentReturnEntity;
import com.xcong.excoin.modules.member.entity.MemberEntity;
+import com.xcong.excoin.modules.member.entity.MemberSettingEntity;
import com.xcong.excoin.modules.member.entity.MemberWalletContractEntity;
import com.xcong.excoin.modules.member.parameter.vo.NeedMoneyMemberVo;
import com.xcong.excoin.modules.member.service.MemberService;
@@ -67,6 +69,8 @@
@Resource
private MemberAccountFlowEntityDao memberAccountFlowEntityDao;
+ @Resource
+ private MemberSettingDao memberSettingDao;
public void dealOrderFromMq(List<OrderModel> list, Integer type) {
@@ -172,8 +176,9 @@
.multiply(new BigDecimal(currentFlat))
.multiply(symbolSku).setScale(8, BigDecimal.ROUND_DOWN);
MemberEntity memberEntity = memberService.getById(memberId);
+ MemberSettingEntity memberSettingEntity = memberSettingDao.selectMemberSettingByMemberId(memberId);
log.info("划点前:{}", profitLossPrice);
- profitLossPrice = profitLossPrice.multiply(BigDecimal.ONE.subtract(memberEntity.getClosingSpread().divide(BigDecimal.valueOf(100), 4, BigDecimal.ROUND_DOWN)));
+ profitLossPrice = profitLossPrice.multiply(BigDecimal.ONE.subtract(memberSettingEntity.getClosingSpread().divide(BigDecimal.valueOf(100), 4, BigDecimal.ROUND_DOWN)));
log.info("划点后:{}", profitLossPrice);
if (memberEntity.getIsProfit() == 1) {
PlatformTradeSettingEntity tradeSetting = cacheSettingUtils.getTradeSetting();
@@ -264,9 +269,9 @@
.multiply(new BigDecimal(currentFlat + ""))
.multiply(symbolSku).setScale(8, BigDecimal.ROUND_DOWN);
MemberEntity memberEntity = memberService.getById(memberId);
-
+ MemberSettingEntity memberSettingEntity = memberSettingDao.selectMemberSettingByMemberId(memberId);
log.info("划点前:{}", profitLossPrice);
- profitLossPrice = profitLossPrice.multiply(BigDecimal.ONE.subtract(memberEntity.getClosingSpread().divide(BigDecimal.valueOf(100), 4, BigDecimal.ROUND_DOWN)));
+ profitLossPrice = profitLossPrice.multiply(BigDecimal.ONE.subtract(memberSettingEntity.getClosingSpread().divide(BigDecimal.valueOf(100), 4, BigDecimal.ROUND_DOWN)));
log.info("划点后:{}", profitLossPrice);
if (memberEntity.getIsProfit() == 1) {
PlatformTradeSettingEntity tradeSetting = cacheSettingUtils.getTradeSetting();
diff --git a/src/main/java/com/xcong/excoin/modules/contract/service/impl/RabbitOrderServiceImpl.java b/src/main/java/com/xcong/excoin/modules/contract/service/impl/RabbitOrderServiceImpl.java
index 122b682..c57e687 100644
--- a/src/main/java/com/xcong/excoin/modules/contract/service/impl/RabbitOrderServiceImpl.java
+++ b/src/main/java/com/xcong/excoin/modules/contract/service/impl/RabbitOrderServiceImpl.java
@@ -22,9 +22,11 @@
import com.xcong.excoin.modules.documentary.entity.FollowTraderProfitDetailEntity;
import com.xcong.excoin.modules.documentary.service.FollowOrderOperationService;
import com.xcong.excoin.modules.member.dao.MemberDao;
+import com.xcong.excoin.modules.member.dao.MemberSettingDao;
import com.xcong.excoin.modules.member.dao.MemberWalletContractDao;
import com.xcong.excoin.modules.member.entity.AgentReturnEntity;
import com.xcong.excoin.modules.member.entity.MemberEntity;
+import com.xcong.excoin.modules.member.entity.MemberSettingEntity;
import com.xcong.excoin.modules.member.entity.MemberWalletContractEntity;
import com.xcong.excoin.modules.platform.entity.PlatformTradeSettingEntity;
import com.xcong.excoin.utils.*;
@@ -68,6 +70,8 @@
@Resource
private RedisUtils redisUtils;
+ @Resource
+ private MemberSettingDao memberSettingDao;
@Resource
private FollowFollowerOrderRelationDao followFollowerOrderRelationDao;
@@ -121,16 +125,18 @@
BigDecimal profitOrLoss = BigDecimal.ZERO;
Integer orderType = null;
Integer closingType = null;
+
+ MemberSettingEntity memberSettingEntity = memberSettingDao.selectMemberSettingByMemberId(memberEntity.getId());
// 开多
if (ContractHoldOrderEntity.OPENING_TYPE_MORE == holdOrderEntity.getOpeningType()) {
- newPrice = newPrice.multiply(BigDecimal.ONE.subtract(memberEntity.getClosingSpread().divide(BigDecimal.valueOf(10000), 4, BigDecimal.ROUND_DOWN)));
+ newPrice = newPrice.multiply(BigDecimal.ONE.subtract(memberSettingEntity.getClosingSpread().divide(BigDecimal.valueOf(10000), 4, BigDecimal.ROUND_DOWN)));
// (最新价-开仓价)*规格*张数
profitOrLoss = newPrice.subtract(holdOrderEntity.getOpeningPrice()).multiply(lotNumber).multiply(new BigDecimal(holdOrderEntity.getSymbolCnt()));
orderType = ContractOrderEntity.ORDER_TYPE_CLOSE_MORE;
closingType = OrderClosingTypeEnum.CLOSE_MORE.getValue();
// 开空
} else {
- newPrice = newPrice.multiply(BigDecimal.ONE.add(memberEntity.getClosingSpread().divide(BigDecimal.valueOf(10000), 4, BigDecimal.ROUND_DOWN)));
+ newPrice = newPrice.multiply(BigDecimal.ONE.add(memberSettingEntity.getClosingSpread().divide(BigDecimal.valueOf(10000), 4, BigDecimal.ROUND_DOWN)));
// (开仓价-最新价)*规格*张数
profitOrLoss = holdOrderEntity.getOpeningPrice().subtract(newPrice).multiply(lotNumber).multiply(new BigDecimal(holdOrderEntity.getSymbolCnt()));
orderType = ContractOrderEntity.ORDER_TYPE_CLOSE_LESS;
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 1aeb253..c2a3f6e 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
@@ -61,13 +61,25 @@
/**
* 获取当前版本号
*/
- @ApiOperation(value="获取当前版本号", notes="获取当前版本号")
+ @ApiOperation(value="APP端获取当前版本号", notes="获取当前版本号")
@ApiResponses({@ApiResponse( code = 200, message = "success", response = AppVersionListVo.class)})
@GetMapping(value = "/getAppVersionInfo")
public Result getAppVersionInfo() {
return memberService.getAppVersionInfo();
}
-
+
+
+ /**
+ * 获取当前版本号
+ */
+ @ApiOperation(value="PC端获取当前版本号", notes="获取当前版本号")
+ @ApiResponses({@ApiResponse( code = 200, message = "success", response = AppVersionListVo.class)})
+ @GetMapping(value = "/getPcVersionInfo")
+ public Result getPcVersionInfo() {
+ return memberService.getPcVersionInfo();
+ }
+
+
/**
* 获取我的信息
* @return
diff --git a/src/main/java/com/xcong/excoin/modules/member/dao/MemberSettingDao.java b/src/main/java/com/xcong/excoin/modules/member/dao/MemberSettingDao.java
new file mode 100644
index 0000000..620a813
--- /dev/null
+++ b/src/main/java/com/xcong/excoin/modules/member/dao/MemberSettingDao.java
@@ -0,0 +1,19 @@
+package com.xcong.excoin.modules.member.dao;
+
+import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+import com.xcong.excoin.modules.member.entity.MemberSettingEntity;
+import org.apache.ibatis.annotations.Param;
+
+import java.util.List;
+
+/**
+ * @author wzy
+ * @date 2020-08-13
+ **/
+public interface MemberSettingDao extends BaseMapper<MemberSettingEntity> {
+
+ public MemberSettingEntity selectMemberSettingByMemberId(@Param("memberId") Long memberId);
+
+ public int batchInsert(@Param("list") List<MemberSettingEntity> list);
+
+}
diff --git a/src/main/java/com/xcong/excoin/modules/member/entity/MemberSettingEntity.java b/src/main/java/com/xcong/excoin/modules/member/entity/MemberSettingEntity.java
new file mode 100644
index 0000000..36ea5a7
--- /dev/null
+++ b/src/main/java/com/xcong/excoin/modules/member/entity/MemberSettingEntity.java
@@ -0,0 +1,34 @@
+package com.xcong.excoin.modules.member.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-08-13
+ **/
+@Data
+@TableName("member_setting")
+public class MemberSettingEntity extends BaseEntity {
+
+ private Long memberId;
+
+ /**
+ * 滑点
+ */
+ private BigDecimal spread;
+
+ /**
+ * 平仓点数
+ */
+ private BigDecimal closingSpread;
+
+ /**
+ * 强平系数
+ */
+ private BigDecimal forceParam;
+
+}
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 916b773..ae6e757 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
@@ -88,5 +88,7 @@
public Result getAppVersionInfo();
+ public Result getPcVersionInfo();
+
}
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 ea42a22..8dd0b3a 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
@@ -106,6 +106,8 @@
@Resource
AppVersionDao appVersionDao;
+ @Resource
+ private MemberSettingDao memberSettingDao;
@Resource
private MemberWalletContractSimulateDao memberWalletContractSimulateDao;
@@ -154,10 +156,14 @@
member.setCertifyStatus(MemberEntity.CERTIFY_STATUS_UN_SUBMIT);
member.setIsForce(1);
member.setIsProfit(0);
- member.setSpread(BigDecimal.ONE);
- member.setClosingSpread(BigDecimal.ONE);
- member.setForceParam(BigDecimal.valueOf(0.0015));
memberDao.insert(member);
+
+ MemberSettingEntity memberSettingEntity = new MemberSettingEntity();
+ memberSettingEntity.setSpread(BigDecimal.ONE);
+ memberSettingEntity.setClosingSpread(BigDecimal.ONE);
+ memberSettingEntity.setForceParam(BigDecimal.valueOf(0.0015));
+ memberSettingEntity.setMemberId(member.getId());
+ memberSettingDao.insert(memberSettingEntity);
String inviteId = ShareCodeUtil.toSerialCode(member.getId());
member.setInviteId(inviteId);
@@ -332,12 +338,12 @@
//获取用户ID
Long memberId = LoginUserUtils.getAppLoginUser().getId();
MemberEntity member = memberDao.selectById(memberId);
- if(MemberEntity.CERTIFY_STATUS_ING.equals(member.getCertifyStatus())) {
- return Result.fail(MessageSourceUtils.getString("member_service_4000"));
- }
+ if (MemberEntity.CERTIFY_STATUS_ING.equals(member.getCertifyStatus())) {
+ return Result.fail(MessageSourceUtils.getString("member_service_4000"));
+ }
if (ObjectUtil.isNotEmpty(member)) {
- MemberAuthenticationEntity memberAuthenticationEntity = new MemberAuthenticationEntity();
+ MemberAuthenticationEntity memberAuthenticationEntity = new MemberAuthenticationEntity();
if (MemberEntity.CERTIFY_STATUS_Y == member.getCertifyStatus()) {
return Result.fail(MessageSourceUtils.getString("member_service_0055"));
@@ -367,13 +373,13 @@
String idCardNo = memberAuthenticationDto.getIdCardNo();
if (StrUtil.isBlank(idCardNo)) {
- return Result.fail(MessageSourceUtils.getString("member_service_0060"));
+ 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"));
+ return Result.fail(MessageSourceUtils.getString("member_service_0060"));
}
if (StrUtil.isBlank(memberAuthenticationDto.getIdCardFront())
|| StrUtil.isBlank(memberAuthenticationDto.getIdCardReverse())
@@ -385,14 +391,14 @@
memberAuthenticationEntity.setIdcardImageInHand(memberAuthenticationDto.getIdCardImage());
Map<String, Object> columnMap = new HashMap<>();
- columnMap.put("member_id", memberId);
- List<MemberAuthenticationEntity> selectByMap = memberAuthenticationDao.selectByMap(columnMap);
- if(CollUtil.isEmpty(selectByMap)) {
- memberAuthenticationDao.insert(memberAuthenticationEntity);
- }else {
- memberAuthenticationEntity.setId(selectByMap.get(0).getId());
- memberAuthenticationDao.updateById(memberAuthenticationEntity);
- }
+ columnMap.put("member_id", memberId);
+ List<MemberAuthenticationEntity> selectByMap = memberAuthenticationDao.selectByMap(columnMap);
+ if (CollUtil.isEmpty(selectByMap)) {
+ memberAuthenticationDao.insert(memberAuthenticationEntity);
+ } else {
+ memberAuthenticationEntity.setId(selectByMap.get(0).getId());
+ memberAuthenticationDao.updateById(memberAuthenticationEntity);
+ }
member.setCertifyStatus(MemberEntity.CERTIFY_STATUS_ING);
member.setIdcardNo(idCardNo);
@@ -489,14 +495,14 @@
Map<String, Object> columnMap = new HashMap<>();
columnMap.put("member_id", memberId);
- List<MemberPaymentMethodEntity> selectByMap = memberPaymentMethodDao.selectByMap(columnMap);
- if(CollUtil.isNotEmpty(selectByMap)) {
- for(MemberPaymentMethodEntity memberPaymentMethodEntity : selectByMap) {
- if(memberPaymethodDto.getAccount().equals(memberPaymentMethodEntity.getAccount())) {
- return Result.fail(MessageSourceUtils.getString("member_service_0097"));
- }
- }
- }
+ List<MemberPaymentMethodEntity> selectByMap = memberPaymentMethodDao.selectByMap(columnMap);
+ if (CollUtil.isNotEmpty(selectByMap)) {
+ for (MemberPaymentMethodEntity memberPaymentMethodEntity : selectByMap) {
+ if (memberPaymethodDto.getAccount().equals(memberPaymentMethodEntity.getAccount())) {
+ return Result.fail(MessageSourceUtils.getString("member_service_0097"));
+ }
+ }
+ }
String account = memberPaymethodDto.getAccount();
String bank = memberPaymethodDto.getBank();
String name = memberPaymethodDto.getName();
@@ -577,7 +583,7 @@
@Override
@Transactional
public Result memberBindPhone(@Valid MemberBindPhoneDto memberBindPhoneDto) {
- //获取用户ID
+ //获取用户ID
Long memberId = LoginUserUtils.getAppLoginUser().getId();
String phone = memberBindPhoneDto.getPhone();
String code = memberBindPhoneDto.getCode();
@@ -590,13 +596,13 @@
}
Map<String, Object> columnMap = new HashMap<>();
columnMap.put("phone", phone);
- List<MemberEntity> selectByMap = memberDao.selectByMap(columnMap );
- if(CollUtil.isEmpty(selectByMap)) {
- member.setPhone(phone);
- memberDao.updateById(member);
- return Result.ok(MessageSourceUtils.getString("member_service_0014"));
- }else {
- return Result.fail(MessageSourceUtils.getString("member_service_1400"));
+ List<MemberEntity> selectByMap = memberDao.selectByMap(columnMap);
+ if (CollUtil.isEmpty(selectByMap)) {
+ member.setPhone(phone);
+ memberDao.updateById(member);
+ return Result.ok(MessageSourceUtils.getString("member_service_0014"));
+ } else {
+ return Result.fail(MessageSourceUtils.getString("member_service_1400"));
}
}
@@ -607,7 +613,7 @@
@Transactional
public Result memberBindEmail(@Valid MemberBindEmailDto memberBindEmailDto) {
- //获取用户ID
+ //获取用户ID
Long memberId = LoginUserUtils.getAppLoginUser().getId();
String email = memberBindEmailDto.getEmail();
String code = memberBindEmailDto.getCode();
@@ -616,15 +622,15 @@
boolean flag = commonservice.verifyCode(email, code);
if (ObjectUtil.isNotEmpty(member)) {
if (flag) {
- Map<String, Object> columnMap = new HashMap<>();
+ Map<String, Object> columnMap = new HashMap<>();
columnMap.put("email", email);
- List<MemberEntity> selectByMap = memberDao.selectByMap(columnMap );
- if(CollUtil.isEmpty(selectByMap)) {
- member.setEmail(email);
+ List<MemberEntity> selectByMap = memberDao.selectByMap(columnMap);
+ if (CollUtil.isEmpty(selectByMap)) {
+ member.setEmail(email);
memberDao.updateById(member);
return Result.ok(MessageSourceUtils.getString("member_service_0018"));
- }else {
- return Result.fail(MessageSourceUtils.getString("member_service_1400"));
+ } else {
+ return Result.fail(MessageSourceUtils.getString("member_service_1400"));
}
}
}
@@ -760,10 +766,10 @@
Map<String, Object> columnMap = new HashMap<>();
columnMap.put("member_id", memberId);
List<MemberPaymentMethodEntity> selectByMap = memberPaymentMethodDao.selectByMap(columnMap);
- if(CollUtil.isEmpty(selectByMap)) {
- memberPersonCenterInfoVo.setMemberPaymentMethod(0);
- }else {
- memberPersonCenterInfoVo.setMemberPaymentMethod(1);
+ if (CollUtil.isEmpty(selectByMap)) {
+ memberPersonCenterInfoVo.setMemberPaymentMethod(0);
+ } else {
+ memberPersonCenterInfoVo.setMemberPaymentMethod(1);
}
if (StrUtil.isNotEmpty(member.getPhone())) {
@@ -824,16 +830,16 @@
List<MemberAvivableCoinInfoVo> arrayList = new ArrayList<>();
- List<PlatformFeeSettingEntity> feeSettingByTypeAndSymbolLable = platformFeeSettingDao.getFeeSettingsByTypeAndSymbol(2, symbol);
+ List<PlatformFeeSettingEntity> feeSettingByTypeAndSymbolLable = platformFeeSettingDao.getFeeSettingsByTypeAndSymbol(2, symbol);
if (CollUtil.isEmpty(feeSettingByTypeAndSymbolLable)) {
return Result.fail(MessageSourceUtils.getString("member_service_0087"));
}
- for(PlatformFeeSettingEntity platformFeeSettingEntity : feeSettingByTypeAndSymbolLable) {
- MemberAvivableCoinInfoVo memberAvivableCoinInfoVo = new MemberAvivableCoinInfoVo();
- memberAvivableCoinInfoVo.setAvailableBalance(walletCoin.getAvailableBalance());
- memberAvivableCoinInfoVo.setFee(platformFeeSettingEntity.getFeePrice());
- memberAvivableCoinInfoVo.setLable(platformFeeSettingEntity.getLable());
- arrayList.add(memberAvivableCoinInfoVo);
+ for (PlatformFeeSettingEntity platformFeeSettingEntity : feeSettingByTypeAndSymbolLable) {
+ MemberAvivableCoinInfoVo memberAvivableCoinInfoVo = new MemberAvivableCoinInfoVo();
+ memberAvivableCoinInfoVo.setAvailableBalance(walletCoin.getAvailableBalance());
+ memberAvivableCoinInfoVo.setFee(platformFeeSettingEntity.getFeePrice());
+ memberAvivableCoinInfoVo.setLable(platformFeeSettingEntity.getLable());
+ arrayList.add(memberAvivableCoinInfoVo);
}
return Result.ok(arrayList);
@@ -954,22 +960,47 @@
return Result.ok("");
}
- @Override
- public Result getAppVersionInfo() {
- Map<String, Object> columnMap = new HashMap<>();
- List<AppVersionEntity> selectByMap = appVersionDao.selectByMap(columnMap);
- List<Object> arrayList = new ArrayList<>();
- if(CollUtil.isNotEmpty(selectByMap)) {
- for(AppVersionEntity appVersionEntity : selectByMap) {
- AppVersionVo appVersionVo = new AppVersionVo();
- appVersionVo.setAddress(appVersionEntity.getAddress());
- appVersionVo.setType(appVersionEntity.getType());
- appVersionVo.setVersion(appVersionEntity.getVersion());
- arrayList.add(appVersionVo);
- }
- }
- return Result.ok(arrayList);
- }
+ @Override
+ public Result getAppVersionInfo() {
+ MemberEntity memberEntity = LoginUserUtils.getAppLoginUser();
+
+ Map<String, Object> columnMap = new HashMap<>();
+ List<AppVersionEntity> selectByMap = appVersionDao.selectByMap(columnMap);
+ List<Object> arrayList = new ArrayList<>();
+ if (CollUtil.isNotEmpty(selectByMap)) {
+ for (AppVersionEntity appVersionEntity : selectByMap) {
+ AppVersionVo appVersionVo = new AppVersionVo();
+ if ("37059551".equals(memberEntity.getInviteId())) {
+ appVersionVo.setAddress("www.baidu.com");
+ appVersionVo.setType(appVersionEntity.getType());
+ appVersionVo.setVersion(appVersionEntity.getVersion());
+ } else {
+ appVersionVo.setAddress(appVersionEntity.getAddress());
+ appVersionVo.setType(appVersionEntity.getType());
+ appVersionVo.setVersion(appVersionEntity.getVersion());
+ }
+ arrayList.add(appVersionVo);
+ }
+ }
+ return Result.ok(arrayList);
+ }
+
+ @Override
+ public Result getPcVersionInfo() {
+ Map<String, Object> columnMap = new HashMap<>();
+ List<AppVersionEntity> selectByMap = appVersionDao.selectByMap(columnMap);
+ List<Object> arrayList = new ArrayList<>();
+ if (CollUtil.isNotEmpty(selectByMap)) {
+ for (AppVersionEntity appVersionEntity : selectByMap) {
+ AppVersionVo appVersionVo = new AppVersionVo();
+ appVersionVo.setAddress(appVersionEntity.getAddress());
+ appVersionVo.setType(appVersionEntity.getType());
+ appVersionVo.setVersion(appVersionEntity.getVersion());
+ arrayList.add(appVersionVo);
+ }
+ }
+ return Result.ok(arrayList);
+ }
}
diff --git a/src/main/java/com/xcong/excoin/utils/CalculateUtil.java b/src/main/java/com/xcong/excoin/utils/CalculateUtil.java
index 2e0e201..692d02b 100644
--- a/src/main/java/com/xcong/excoin/utils/CalculateUtil.java
+++ b/src/main/java/com/xcong/excoin/utils/CalculateUtil.java
@@ -1,7 +1,9 @@
package com.xcong.excoin.utils;
+import com.xcong.excoin.modules.member.dao.MemberSettingDao;
import com.xcong.excoin.modules.member.entity.MemberEntity;
+import com.xcong.excoin.modules.member.entity.MemberSettingEntity;
import com.xcong.excoin.modules.platform.entity.PlatformTradeSettingEntity;
import lombok.extern.slf4j.Slf4j;
@@ -25,21 +27,23 @@
*/
public static BigDecimal getForceSetPrice(BigDecimal bondAmount, BigDecimal openPrice, int symbolSkuNumber, BigDecimal lotNumber,
int type, MemberEntity member) {
- CacheSettingUtils cacheSettingUtils = SpringContextHolder.getBean(CacheSettingUtils.class);
+ MemberSettingDao memberSettingDao = SpringContextHolder.getBean(MemberSettingDao.class);
BigDecimal forcePrice = BigDecimal.ZERO;
BigDecimal money = bondAmount.divide(new BigDecimal(symbolSkuNumber).multiply(lotNumber), 8, BigDecimal.ROUND_DOWN);
//卖空
if (type == 2) {
forcePrice = money.add(openPrice);
if (member.getIsForce() == 1) {
+ MemberSettingEntity memberSetting = memberSettingDao.selectMemberSettingByMemberId(member.getId());
//预估强平价 = 预估强平价-预估强平价*系数
- forcePrice = forcePrice.subtract(forcePrice.multiply(member.getForceParam() == null ? BigDecimal.ZERO : member.getForceParam()));
+ forcePrice = forcePrice.subtract(forcePrice.multiply(memberSetting.getForceParam() == null ? BigDecimal.ZERO : memberSetting.getForceParam()));
}
} else {//开多
forcePrice = openPrice.subtract(money);
if (member.getIsForce() == 1) {
+ MemberSettingEntity memberSetting = memberSettingDao.selectMemberSettingByMemberId(member.getId());
//预估强平价 = 预估强平价-预估强平价*系数
- forcePrice = forcePrice.add(forcePrice.multiply(member.getForceParam() == null ? BigDecimal.ZERO : member.getForceParam()));
+ forcePrice = forcePrice.add(forcePrice.multiply(memberSetting.getForceParam() == null ? BigDecimal.ZERO : memberSetting.getForceParam()));
}
}
if (forcePrice.compareTo(BigDecimal.ZERO) < 0) {
diff --git a/src/main/resources/mapper/member/MemberSettingDao.xml b/src/main/resources/mapper/member/MemberSettingDao.xml
new file mode 100644
index 0000000..2a56bce
--- /dev/null
+++ b/src/main/resources/mapper/member/MemberSettingDao.xml
@@ -0,0 +1,38 @@
+<?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.MemberSettingDao">
+
+ <select id="selectMemberSettingByMemberId" resultType="com.xcong.excoin.modules.member.entity.MemberSettingEntity">
+ select * from member_setting where member_id=#{memberId}
+ </select>
+
+ <insert id="batchInsert" parameterType="java.util.List" useGeneratedKeys="true" keyProperty="id">
+ insert into member_setting (
+ create_by,
+ create_time,
+ update_by,
+ update_time,
+ version,
+ id,
+ member_id,
+ force_param,
+ spread,
+ closing_spread
+ ) values
+ <foreach collection="list" item="item" index="index" separator=",">
+ (
+ #{item.createBy},
+ now(),
+ #{item.updateBy},
+ now(),
+ #{item.version},
+ #{item.id},
+ #{item.memberId},
+ #{item.forceParam},
+ #{item.spread},
+ #{item.closingSpread}
+ )
+ </foreach>
+ </insert>
+
+</mapper>
\ No newline at end of file
diff --git a/src/test/java/com/xcong/excoin/MemberSettingTest.java b/src/test/java/com/xcong/excoin/MemberSettingTest.java
new file mode 100644
index 0000000..68461c2
--- /dev/null
+++ b/src/test/java/com/xcong/excoin/MemberSettingTest.java
@@ -0,0 +1,51 @@
+package com.xcong.excoin;
+
+import com.xcong.excoin.modules.member.dao.MemberDao;
+import com.xcong.excoin.modules.member.dao.MemberSettingDao;
+import com.xcong.excoin.modules.member.entity.MemberEntity;
+import com.xcong.excoin.modules.member.entity.MemberSettingEntity;
+import lombok.extern.slf4j.Slf4j;
+import org.junit.jupiter.api.Test;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.boot.test.context.SpringBootTest;
+
+import javax.annotation.Resource;
+import java.util.ArrayList;
+import java.util.HashMap;
+import java.util.List;
+import java.util.Map;
+
+/**
+ * @author wzy
+ * @date 2020-08-13
+ **/
+@Slf4j
+@SpringBootTest
+public class MemberSettingTest {
+
+ @Resource
+ private MemberDao memberDao;
+ @Resource
+ private MemberSettingDao memberSettingDao;
+
+ @Test
+ public void settingDateTest() {
+ Map<String, Object> map = new HashMap<>();
+ List<MemberEntity> memberEntities = memberDao.selectByMap(map);
+ log.info("--->{}", memberEntities.size());
+
+ List<MemberSettingEntity> list = new ArrayList<>();
+ for (MemberEntity memberEntity : memberEntities) {
+ MemberSettingEntity memberSettingEntity = new MemberSettingEntity();
+ memberSettingEntity.setCreateBy("system");
+ memberSettingEntity.setUpdateBy("system");
+ memberSettingEntity.setMemberId(memberEntity.getId());
+ memberSettingEntity.setClosingSpread(memberEntity.getClosingSpread());
+ memberSettingEntity.setForceParam(memberEntity.getForceParam());
+ memberSettingEntity.setSpread(memberEntity.getSpread());
+ list.add(memberSettingEntity);
+ }
+
+ memberSettingDao.batchInsert(list);
+ }
+}
--
Gitblit v1.9.1