From f7f24fd4361c4cdccd665f05657e026efe1902ff Mon Sep 17 00:00:00 2001
From: jack <zengjieli93@163.com>
Date: Mon, 22 Apr 2024 22:37:32 +0800
Subject: [PATCH] 增加流水日志
---
src/main/java/com/nq/service/impl/ApplyLeverServicesimpl.java | 89 +++++++++++++++++
src/main/java/com/nq/dao/ApplyLeverMapper.java | 7 +
src/main/java/com/nq/controller/protol/UserController.java | 14 ++
src/main/java/com/nq/pojo/User.java | 2
src/main/java/com/nq/service/impl/UserPositionServiceImpl.java | 9 +
src/main/java/com/nq/service/impl/UserServiceImpl.java | 1
src/main/resources/mapper/UserMapper.xml | 4
target/classes/application.yml | 2
src/main/java/com/nq/service/IApplyLeverServices.java | 17 +++
src/main/java/com/nq/enums/EConfigKey.java | 2
src/main/java/com/nq/controller/backend/AdminController.java | 38 ++++++-
src/main/java/com/nq/controller/backend/AdminUserController.java | 4
src/main/java/com/nq/service/impl/MoneyLogServcesimpl.java | 2
src/main/java/com/nq/service/impl/RateServicesImpl.java | 48 ++++----
src/main/resources/application.yml | 2
src/main/java/com/nq/pojo/ApplyLever.java | 37 +++++++
16 files changed, 241 insertions(+), 37 deletions(-)
diff --git a/src/main/java/com/nq/controller/backend/AdminController.java b/src/main/java/com/nq/controller/backend/AdminController.java
index 2f0c74c..632a2f2 100644
--- a/src/main/java/com/nq/controller/backend/AdminController.java
+++ b/src/main/java/com/nq/controller/backend/AdminController.java
@@ -7,10 +7,7 @@
import com.nq.common.ServerResponse;
-import com.nq.pojo.DkJgBean;
-import com.nq.pojo.EChoBean;
-import com.nq.pojo.PayChnnel;
-import com.nq.pojo.SiteAdmin;
+import com.nq.pojo.*;
import com.nq.service.*;
@@ -72,12 +69,41 @@
@Autowired
IUserAssetsServices iUserAssetsServices;
+ @Autowired
+ IApplyLeverServices iApplyLeverServices;
+
//分页查询管理设置 所有管理列表数据及模糊查询
@RequestMapping({"list.do"})
@ResponseBody
- public ServerResponse<PageInfo> list(@RequestParam(value = "adminName", required = false) String adminName, @RequestParam(value = "adminPhone", required = false) String adminPhone, @RequestParam(value = "pageNum", defaultValue = "1") int pageNum, @RequestParam(value = "pageSize", defaultValue = "10") int pageSize, HttpServletRequest request) {
+ public ServerResponse<PageInfo> list(@RequestParam(value = "adminName", required = false) String adminName,
+ @RequestParam(value = "adminPhone", required = false) String adminPhone,
+ @RequestParam(value = "pageNum", defaultValue = "1") int pageNum,
+ @RequestParam(value = "pageSize", defaultValue = "10") int pageSize,
+ HttpServletRequest request) {
return this.iSiteAdminService.listByAdmin(adminName, adminPhone, request, pageNum, pageSize);
}
+
+
+ @RequestMapping({"queryApplyLever.do"})
+ @ResponseBody
+ public ServerResponse queryApplyLever(@RequestParam(value = "phone", required = false) String adminName,
+ @RequestParam(value = "pageNum", defaultValue = "1") int pageNum,
+ @RequestParam(value = "pageSize", defaultValue = "10") int pageSize,
+ HttpServletRequest request
+ ) {
+ return this.iApplyLeverServices.queryApplyLever(adminName,pageNum,pageSize, request);
+ }
+
+
+
+ @RequestMapping({"examineApplyLever.do"})
+ @ResponseBody
+ public ServerResponse examineApplyLever(@RequestParam(value = "id", required = true) String id,
+ @RequestParam(value = "state", defaultValue = "1") String state,
+ HttpServletRequest request) {
+ return this.iApplyLeverServices.examineApplyLever(id,state,request);
+ }
+
//修改管理员状态 锁定管理员/解锁管理员
@RequestMapping({"updateLock.do"})
@@ -158,6 +184,8 @@
}
+
+
@RequestMapping("dksp.do")
@ResponseBody
public ServerResponse dksp(@RequestParam("dkId") Integer dkid,
diff --git a/src/main/java/com/nq/controller/backend/AdminUserController.java b/src/main/java/com/nq/controller/backend/AdminUserController.java
index 9faa339..9e24ecb 100644
--- a/src/main/java/com/nq/controller/backend/AdminUserController.java
+++ b/src/main/java/com/nq/controller/backend/AdminUserController.java
@@ -4,6 +4,7 @@
import com.nq.common.ServerResponse;
import com.nq.pojo.User;
import com.nq.pojo.UserBank;
+import com.nq.service.IApplyLeverServices;
import com.nq.service.IUserBankService;
import com.nq.service.IUserService;
import javax.servlet.http.HttpServletRequest;
@@ -26,6 +27,7 @@
@Autowired
IUserBankService iUserBankService;
+
//分页查询所有用户列表信息 及模糊查询用户信息
@RequestMapping({"list.do"})
@@ -95,4 +97,6 @@
public ServerResponse delete(Integer userId, HttpServletRequest request) {
return this.iUserService.delete(userId, request);
}
+
+
}
diff --git a/src/main/java/com/nq/controller/protol/UserController.java b/src/main/java/com/nq/controller/protol/UserController.java
index b2ac108..a4ab61e 100644
--- a/src/main/java/com/nq/controller/protol/UserController.java
+++ b/src/main/java/com/nq/controller/protol/UserController.java
@@ -4,6 +4,7 @@
import com.google.common.collect.Maps;
import com.nq.common.ServerResponse;
import com.nq.enums.EStockType;
+import com.nq.pojo.ApplyLever;
import com.nq.pojo.StockSubscribe;
import com.nq.pojo.UserStockSubscribe;
import com.nq.service.*;
@@ -56,6 +57,12 @@
@Autowired
IUserRechargeService iUserRechargeService;
+
+
+
+ @Autowired
+ IApplyLeverServices iApplyLeverServices;
+
//添加到自选股
@RequestMapping({"addOption.do"})
@@ -350,4 +357,11 @@
}
+ @RequestMapping({"applyLever.do"})
+ @ResponseBody
+ public ServerResponse applyLever(ApplyLever applyLever,HttpServletRequest request) {
+ return iApplyLeverServices.applyLever(applyLever,request);
+ }
+
+
}
diff --git a/src/main/java/com/nq/dao/ApplyLeverMapper.java b/src/main/java/com/nq/dao/ApplyLeverMapper.java
new file mode 100644
index 0000000..030b0ac
--- /dev/null
+++ b/src/main/java/com/nq/dao/ApplyLeverMapper.java
@@ -0,0 +1,7 @@
+package com.nq.dao;
+
+import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+import com.nq.pojo.ApplyLever;
+
+public interface ApplyLeverMapper extends BaseMapper<ApplyLever> {
+}
diff --git a/src/main/java/com/nq/enums/EConfigKey.java b/src/main/java/com/nq/enums/EConfigKey.java
index 8b169b2..376f37a 100644
--- a/src/main/java/com/nq/enums/EConfigKey.java
+++ b/src/main/java/com/nq/enums/EConfigKey.java
@@ -8,7 +8,7 @@
LIMIT_UP_IS_BUY("limit_up_is_buy","涨停是否可以购买"),
LIMIT_DOWN_POINT("limit_down_point","跌停点位"),
-
+ PERCENTAGE_OF_FUNDS("percentage_of_funds","资金百分比"),
WITHDRAW_TIME_SETTING("WITHDRAW_TIME_SETTING","提现时间设置"),
MAX_BUY("MAX_BUY","最大买入"),
diff --git a/src/main/java/com/nq/pojo/ApplyLever.java b/src/main/java/com/nq/pojo/ApplyLever.java
new file mode 100644
index 0000000..da1a908
--- /dev/null
+++ b/src/main/java/com/nq/pojo/ApplyLever.java
@@ -0,0 +1,37 @@
+package com.nq.pojo;
+
+import com.baomidou.mybatisplus.annotation.IdType;
+import com.baomidou.mybatisplus.annotation.TableId;
+import lombok.Data;
+import org.springframework.format.annotation.DateTimeFormat;
+
+import java.util.Date;
+
+@Data
+public class ApplyLever {
+
+ @TableId(value = "id",type = IdType.AUTO)
+ private Integer id;
+
+ /**
+ *
+ */
+ @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
+ private Date createTime;
+
+ // 用户id
+ private String userId;
+
+ // 用户手机号码
+ private String phone;
+
+ // 杠杆
+ private String lever;
+
+
+ private String state;
+
+ private String descs;
+
+
+}
diff --git a/src/main/java/com/nq/pojo/User.java b/src/main/java/com/nq/pojo/User.java
index d4eb2b6..aebaf48 100644
--- a/src/main/java/com/nq/pojo/User.java
+++ b/src/main/java/com/nq/pojo/User.java
@@ -34,5 +34,7 @@
private String authMsg;
private String withdrawalPwd;
private String vaildNumber;
+ private String lever;
+ private String fundRatio;
}
diff --git a/src/main/java/com/nq/service/IApplyLeverServices.java b/src/main/java/com/nq/service/IApplyLeverServices.java
new file mode 100644
index 0000000..790ef55
--- /dev/null
+++ b/src/main/java/com/nq/service/IApplyLeverServices.java
@@ -0,0 +1,17 @@
+package com.nq.service;
+
+import com.nq.common.ServerResponse;
+import com.nq.pojo.ApplyLever;
+
+import javax.servlet.http.HttpServletRequest;
+
+public interface IApplyLeverServices {
+
+ ServerResponse applyLever(ApplyLever applyLever, HttpServletRequest request);
+
+
+ ServerResponse examineApplyLever(String id,String states, HttpServletRequest request);
+
+
+ ServerResponse queryApplyLever(String phone, Integer page,Integer pageSize,HttpServletRequest request);
+}
diff --git a/src/main/java/com/nq/service/impl/ApplyLeverServicesimpl.java b/src/main/java/com/nq/service/impl/ApplyLeverServicesimpl.java
new file mode 100644
index 0000000..0cf6399
--- /dev/null
+++ b/src/main/java/com/nq/service/impl/ApplyLeverServicesimpl.java
@@ -0,0 +1,89 @@
+package com.nq.service.impl;
+
+import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
+import com.nq.common.ServerResponse;
+import com.nq.dao.ApplyLeverMapper;
+import com.nq.dao.UserMapper;
+import com.nq.pojo.ApplyLever;
+import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
+import com.nq.pojo.User;
+import com.nq.service.IApplyLeverServices;
+import com.nq.service.IUserService;
+import org.apache.http.util.TextUtils;
+import org.springframework.stereotype.Service;
+import org.springframework.transaction.annotation.Transactional;
+
+import javax.annotation.Resource;
+import javax.servlet.http.HttpServletRequest;
+import java.util.Date;
+
+@Service
+public class ApplyLeverServicesimpl implements IApplyLeverServices {
+
+ @Resource
+ ApplyLeverMapper applyLeverMapper;
+
+ @Resource
+ IUserService userService;
+ @Resource
+ UserMapper userMapper;
+
+ @Override
+ public ServerResponse applyLever(ApplyLever applyLever, HttpServletRequest request) {
+
+ QueryWrapper<ApplyLever> queryWrapper = new QueryWrapper<>();
+ queryWrapper.eq("user_id",userService.getCurrentUser(request).getId());
+ if(applyLeverMapper.selectCount(queryWrapper)>0){
+ return ServerResponse.createByErrorMsg("你已经申请杠杆了",request);
+ }
+ User user = userService.getCurrentUser(request);
+ applyLever.setPhone(user.getPhone());
+ applyLever.setUserId(user.getId()+"");
+ applyLever.setState("0");
+ applyLever.setCreateTime(new Date());
+
+ if(applyLeverMapper.insert(applyLever)>0){
+ return ServerResponse.createBySuccess("申请成功,请联系客服",request);
+ }else{
+ return ServerResponse.createByErrorMsg("申请失败",request);
+ }
+ }
+
+ @Transactional
+ @Override
+ public ServerResponse examineApplyLever(String id,String states, HttpServletRequest request) {
+ ApplyLever applyLever = applyLeverMapper.selectById(id);
+ applyLever.setState(states);
+ applyLeverMapper.updateById(applyLever);
+ User user = userMapper.selectById(applyLever.getUserId());
+ user.setLever(applyLever.getLever());
+ userMapper.updateById(user);
+ return ServerResponse.createBySuccess();
+ }
+
+ @Override
+ public ServerResponse queryApplyLever(String phone, Integer page, Integer pageSize, HttpServletRequest request) {
+ Integer userId = null;
+ Page<ApplyLever> page1 = new Page<>(page, pageSize);
+ if(!TextUtils.isEmpty(phone)){
+ QueryWrapper<User> queryWrapper = new QueryWrapper<>();
+ queryWrapper.eq("phone",phone);
+ User user = userMapper.selectOne(queryWrapper);
+ if(user != null ){
+ userId = user.getId();
+ }else{
+ QueryWrapper<ApplyLever> queryWrapper1 = new QueryWrapper<>();
+ queryWrapper1.eq("user_id",phone);
+ return ServerResponse.createBySuccess(applyLeverMapper.selectPage(page1,queryWrapper1));
+ }
+ }
+ QueryWrapper<ApplyLever> queryWrapper1 = new QueryWrapper<>();
+ if(userId != null){
+ queryWrapper1.eq("user_id",userId);
+ }
+ queryWrapper1.orderByDesc("create_time");
+
+ return ServerResponse.createBySuccess(applyLeverMapper.selectPage(page1,queryWrapper1));
+ }
+
+}
diff --git a/src/main/java/com/nq/service/impl/MoneyLogServcesimpl.java b/src/main/java/com/nq/service/impl/MoneyLogServcesimpl.java
index 31e1d65..344ec80 100644
--- a/src/main/java/com/nq/service/impl/MoneyLogServcesimpl.java
+++ b/src/main/java/com/nq/service/impl/MoneyLogServcesimpl.java
@@ -18,7 +18,7 @@
MoneyLogMapper moneyLogMapper;
@Override
public Page<MoneyLog> queryMoneyLog(String user, Integer page, Integer pageSize) {
- Page<MoneyLog> page1 = new Page<>(1, 10);
+ Page<MoneyLog> page1 = new Page<>(page, pageSize);
QueryWrapper<MoneyLog> queryWrapper = new QueryWrapper<>();
if(!TextUtils.isEmpty(user)){
diff --git a/src/main/java/com/nq/service/impl/RateServicesImpl.java b/src/main/java/com/nq/service/impl/RateServicesImpl.java
index fb8a304..68009d1 100644
--- a/src/main/java/com/nq/service/impl/RateServicesImpl.java
+++ b/src/main/java/com/nq/service/impl/RateServicesImpl.java
@@ -17,30 +17,30 @@
ISiteSettingService iSiteSettingService;
@Override
public BigDecimal currencyRate(EStockType fromStockType, EStockType tofromStockType) {
- if(fromStockType == null || tofromStockType == null){
- return new BigDecimal(1);
- }
- BigDecimal rate = iSiteSettingService.getSiteSetting().getExchangeRate();
- BigDecimal rate1 = new BigDecimal(7.35);
- if(fromStockType==EStockType.US){
- if(tofromStockType==EStockType.MAS){
- return rate;
- }else if(tofromStockType==EStockType.HK){
- return rate1;
- }
- }if(fromStockType==EStockType.HK){
- if(tofromStockType==EStockType.MAS){
- return new BigDecimal(1).divide(rate1,18, RoundingMode.HALF_DOWN).multiply(rate);
- }else if(tofromStockType==EStockType.US){
- return new BigDecimal(1).divide(rate1,18, RoundingMode.HALF_DOWN);
- }
- } else {
- if(tofromStockType==EStockType.US){
- return new BigDecimal(1).divide(rate,18, RoundingMode.HALF_DOWN);
- }else{
- return new BigDecimal(1).divide(rate,18, RoundingMode.HALF_DOWN).multiply(rate1);
- }
- }
+// if(fromStockType == null || tofromStockType == null){
+// return new BigDecimal(1);
+// }
+// BigDecimal rate = iSiteSettingService.getSiteSetting().getExchangeRate();
+// BigDecimal rate1 = new BigDecimal(7.35);
+// if(fromStockType==EStockType.US){
+// if(tofromStockType==EStockType.MAS){
+// return rate;
+// }else if(tofromStockType==EStockType.HK){
+// return rate1;
+// }
+// }if(fromStockType==EStockType.HK){
+// if(tofromStockType==EStockType.MAS){
+// return new BigDecimal(1).divide(rate1,18, RoundingMode.HALF_DOWN).multiply(rate);
+// }else if(tofromStockType==EStockType.US){
+// return new BigDecimal(1).divide(rate1,18, RoundingMode.HALF_DOWN);
+// }
+// } else {
+// if(tofromStockType==EStockType.US){
+// return new BigDecimal(1).divide(rate,18, RoundingMode.HALF_DOWN);
+// }else{
+// return new BigDecimal(1).divide(rate,18, RoundingMode.HALF_DOWN).multiply(rate1);
+// }
+// }
return new BigDecimal(1);
diff --git a/src/main/java/com/nq/service/impl/UserPositionServiceImpl.java b/src/main/java/com/nq/service/impl/UserPositionServiceImpl.java
index ea51dfa..67784f6 100644
--- a/src/main/java/com/nq/service/impl/UserPositionServiceImpl.java
+++ b/src/main/java/com/nq/service/impl/UserPositionServiceImpl.java
@@ -174,7 +174,9 @@
BigDecimal orderFree = siteSettingBuyFee.multiply(buyAmt);
UserAssets userAssets = iUserAssetsServices.assetsByTypeAndUserId(stock.getStockType(), user.getId());
- if (userAssets.getAvailableBalance().compareTo(buyAmt.add(orderFree)) < 0) {
+ BigDecimal fundratio = new BigDecimal(user.getFundRatio()).divide(new BigDecimal(100));
+ BigDecimal availableBalance = fundratio.multiply(userAssets.getAvailableBalance());
+ if (availableBalance.compareTo(buyAmt.add(orderFree)) < 0) {
return ServerResponse.createByErrorMsg("订单失败,余额不足", request);
}
UserPosition userPosition = new UserPosition();
@@ -1545,7 +1547,10 @@
return ServerResponse.createByErrorMsg("最小购买数据" + stockDz.getStockNum(), request);
}
BigDecimal buyAmt = nowPrice.multiply(new BigDecimal(num.intValue()));
- if (buyAmt.compareTo(userAssetsServices.getAvailableBalance(EStockType.IN.getCode(), user.getId())) > 0) {
+ UserAssets userAssets = iUserAssetsServices.assetsByTypeAndUserId(stock.getStockType(), user.getId());
+ BigDecimal fundratio = new BigDecimal(user.getFundRatio()).divide(new BigDecimal(100));
+ BigDecimal availableBalance = fundratio.multiply(userAssets.getAvailableBalance());
+ if (buyAmt.compareTo(availableBalance) > 0) {
return ServerResponse.createByErrorMsg("订单失败,余额不足", request);
}
UserPosition userPosition = new UserPosition();
diff --git a/src/main/java/com/nq/service/impl/UserServiceImpl.java b/src/main/java/com/nq/service/impl/UserServiceImpl.java
index 2c4ab07..afdaf50 100644
--- a/src/main/java/com/nq/service/impl/UserServiceImpl.java
+++ b/src/main/java/com/nq/service/impl/UserServiceImpl.java
@@ -121,7 +121,6 @@
-
public ServerResponse reg(String yzmCode, String agentCode, String phone, String userPwd, HttpServletRequest request) {
if (StringUtils.isBlank(agentCode) || StringUtils.isBlank(phone) ||
StringUtils.isBlank(userPwd) || StringUtils.isBlank(yzmCode)) {
diff --git a/src/main/resources/application.yml b/src/main/resources/application.yml
index fa94728..9bb9fcf 100644
--- a/src/main/resources/application.yml
+++ b/src/main/resources/application.yml
@@ -122,7 +122,7 @@
datasource:
type: com.alibaba.druid.pool.DruidDataSource
driverClassName: com.mysql.cj.jdbc.Driver
- url: jdbc:mysql://127.0.0.1:3306/zyqsstock?useUnicode=true&characterEncoding=utf8&zeroDateTimeBehavior=convertToNull&useSSL=true&serverTimezone=GMT%2B8
+ url: jdbc:mysql://127.0.0.1:3306/caicai?useUnicode=true&characterEncoding=utf8&zeroDateTimeBehavior=convertToNull&useSSL=true&serverTimezone=GMT%2B8
# url: jdbc:mysql://127.0.0.1:3306/cgstock?useUnicode=true&characterEncoding=utf8&zeroDateTimeBehavior=convertToNull&useSSL=true&serverTimezone=GMT%2B8
username: root
password: 123456
diff --git a/src/main/resources/mapper/UserMapper.xml b/src/main/resources/mapper/UserMapper.xml
index 8efe003..5665a62 100644
--- a/src/main/resources/mapper/UserMapper.xml
+++ b/src/main/resources/mapper/UserMapper.xml
@@ -24,13 +24,15 @@
<result column="auth_msg" property="authMsg"/>
<result column="withdrawal_Pwd" property="withdrawalPwd"/>
<result column="vaild_number" property="vaildNumber"/>
+ <result column="lever" property="lever"/>
+ <result column="fund_ratio" property="fundRatio"/>
</resultMap>
<sql id="Base_Column_List">
id, agent_id, agent_name, phone, user_pwd, with_pwd, nick_name, real_name, id_card,
account_type, is_lock, is_login,
reg_time, reg_ip, reg_address, img1_key, img2_key, img3_key, is_active, auth_msg,
- withdrawal_Pwd,vaild_number
+ withdrawal_Pwd,vaild_number,lever,fund_ratio
</sql>
diff --git a/target/classes/application.yml b/target/classes/application.yml
index fa94728..9bb9fcf 100644
--- a/target/classes/application.yml
+++ b/target/classes/application.yml
@@ -122,7 +122,7 @@
datasource:
type: com.alibaba.druid.pool.DruidDataSource
driverClassName: com.mysql.cj.jdbc.Driver
- url: jdbc:mysql://127.0.0.1:3306/zyqsstock?useUnicode=true&characterEncoding=utf8&zeroDateTimeBehavior=convertToNull&useSSL=true&serverTimezone=GMT%2B8
+ url: jdbc:mysql://127.0.0.1:3306/caicai?useUnicode=true&characterEncoding=utf8&zeroDateTimeBehavior=convertToNull&useSSL=true&serverTimezone=GMT%2B8
# url: jdbc:mysql://127.0.0.1:3306/cgstock?useUnicode=true&characterEncoding=utf8&zeroDateTimeBehavior=convertToNull&useSSL=true&serverTimezone=GMT%2B8
username: root
password: 123456
--
Gitblit v1.9.3