From 85037c73f8b16f4258a2af354cd162247700ffde Mon Sep 17 00:00:00 2001
From: peternameyakj <908253177@qq.com>
Date: Sun, 14 Jul 2024 18:35:04 +0800
Subject: [PATCH] Merge remote-tracking branch 'origin/6-29' into 6-29
---
src/main/java/com/nq/service/StockDzService.java | 6
src/main/java/com/nq/pojo/StockSubscribe.java | 18
src/main/resources/mapper/StockDzMapper.xml | 2
src/main/java/com/nq/controller/backend/AdminStockController.java | 12
src/main/java/com/nq/service/impl/UserServiceImpl.java | 58 +
src/main/resources/mapper/UserBankMapper.xml | 5
src/main/resources/application.properties | 2
src/main/java/com/nq/controller/backend/AdminStockSubscribeController.java | 3
src/main/java/com/nq/service/impl/StockSubscribeServiceImpl.java | 41 +
src/main/java/com/nq/service/impl/UserWithdrawServiceImpl.java | 129 -----
src/main/java/com/nq/controller/backend/AdminStockDz.java | 27
src/main/java/com/nq/controller/UserPositionCheckDzController.java | 132 +++++
src/main/java/com/nq/pojo/UserStockSubscribe.java | 4
src/main/java/com/nq/service/impl/TradingHourServiceImpl.java | 8
src/main/java/com/nq/service/impl/StockServiceImpl.java | 14
src/main/java/com/nq/service/IStockSubscribeService.java | 2
src/main/java/com/nq/controller/protol/UserController.java | 10
src/main/java/com/nq/controller/backend/AdminPositionController.java | 10
src/main/java/com/nq/vo/stock/PageQuery.java | 56 ++
src/main/java/com/nq/vo/stock/UserStockSubscribeAddIn.java | 123 +++++
src/main/java/com/nq/vo/user/UserOut.java | 29 +
src/main/java/com/nq/vo/stock/StockListVO.java | 2
src/main/java/com/nq/pojo/UserPositionCheckDz.java | 68 ++
src/main/java/com/nq/service/impl/StockDzServiceImpl.java | 57 +-
src/main/java/com/nq/service/IUserStockSubscribeService.java | 3
src/main/java/com/nq/controller/backend/AdminUserController.java | 10
src/main/java/com/nq/service/IStockService.java | 2
src/main/java/com/nq/service/impl/UserStockSubscribeServiceImpl.java | 79 ++-
src/main/java/com/nq/service/UserPositionCheckDzService.java | 13
src/main/java/com/nq/dao/UserPositionCheckDzMapper.java | 10
src/main/java/com/nq/service/IUserBankService.java | 3
src/main/java/com/nq/controller/StockApiController.java | 8
src/main/java/com/nq/service/impl/UserPositionServiceImpl.java | 35 +
src/main/java/com/nq/service/IUserPositionService.java | 2
src/main/resources/mapper/UserMapper.xml | 14
src/main/java/com/nq/service/impl/UserBankServiceImpl.java | 86 --
src/main/java/com/nq/service/IPriceServices.java | 3
src/main/java/com/nq/controller/UserApiController.java | 56 ++
src/main/java/com/nq/service/IUserWithdrawService.java | 2
src/main/java/com/nq/service/impl/PriceServicesImpl.java | 23
src/main/resources/mapper/StockMapper.xml | 32
src/main/java/com/nq/service/impl/UserPositionCheckDzServiceImpl.java | 19
src/main/java/com/nq/utils/stock/sina/StockApi.java | 2
src/main/java/com/nq/controller/protol/UserWithdrawController.java | 4
src/main/java/com/nq/dao/StockMapper.java | 8
src/main/java/com/nq/dao/UserMapper.java | 3
src/main/java/com/nq/pojo/StockDz.java | 12
src/main/java/com/nq/service/IUserService.java | 4
src/main/java/com/nq/dao/UserBankMapper.java | 10
src/main/java/com/nq/pojo/UserBank.java | 102 ---
src/main/java/com/nq/vo/user/UserQueryParams.java | 27 +
src/main/java/com/nq/service/impl/StockSettingServicesImpl.java | 6
52 files changed, 916 insertions(+), 480 deletions(-)
diff --git a/src/main/java/com/nq/controller/StockApiController.java b/src/main/java/com/nq/controller/StockApiController.java
index 28f0db9..d265e7a 100644
--- a/src/main/java/com/nq/controller/StockApiController.java
+++ b/src/main/java/com/nq/controller/StockApiController.java
@@ -88,8 +88,12 @@
*/
@PostMapping({"getDzList.do"})
@ResponseBody
- public ServerResponse getDzList() {
- return this.stockDzService.getDzList();
+ public ServerResponse getDzList(@RequestParam(value = "pageNum", defaultValue = "1") int pageNum,
+ @RequestParam(value = "pageSize", defaultValue = "10") int pageSize,
+ @RequestParam(value = "orderBy", required = false) String orderBy,
+ @RequestParam(value = "keyWords", required = false) String keyWords,
+ HttpServletRequest request) {
+ return stockDzService.getDzList(pageNum, pageSize, orderBy,keyWords , request);
}
diff --git a/src/main/java/com/nq/controller/UserApiController.java b/src/main/java/com/nq/controller/UserApiController.java
index 8c42607..baf50d6 100644
--- a/src/main/java/com/nq/controller/UserApiController.java
+++ b/src/main/java/com/nq/controller/UserApiController.java
@@ -1,10 +1,19 @@
package com.nq.controller;
+import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
+import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
+import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.nq.common.ServerResponse;
+import com.nq.dao.MoneyLogMapper;
+import com.nq.dao.StockConfigMapper;
+import com.nq.pojo.MoneyLog;
import com.nq.pojo.SiteSpread;
+import com.nq.pojo.StockConfig;
+import com.nq.service.IMoneyLogServces;
import com.nq.service.ISiteSpreadService;
+import com.nq.service.IStockConfigServices;
import com.nq.service.IUserService;
import com.nq.utils.PropertiesUtil;
@@ -17,14 +26,18 @@
import com.nq.utils.redis.RedisShardedPoolUtils;
+import com.nq.utils.translate.GoogleTranslateUtil;
import com.nq.vo.user.UserLoginResultVO;
+import javax.annotation.Resource;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import javax.servlet.http.HttpSession;
+import org.apache.commons.lang3.StringUtils;
+import org.apache.http.util.TextUtils;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
@@ -42,6 +55,7 @@
import org.springframework.web.bind.annotation.ResponseBody;
import java.math.BigDecimal;
+import java.util.List;
@Controller
@@ -54,6 +68,16 @@
@Autowired
ISiteSpreadService iSiteSpreadService;
+
+ @Autowired
+ StockConfigMapper stockConfigMapper;
+
+ @Autowired
+ IMoneyLogServces iMoneyLogServces;
+
+ @Autowired
+ MoneyLogMapper moneyLogMapper;
+
//注册
@RequestMapping(value = {"reg.do"}, method = {RequestMethod.POST})
@ResponseBody
@@ -121,6 +145,38 @@
return ServerResponse.createBySuccess("Success", siteSpread);
}
+ @RequestMapping({"queryStockConfig.do"})
+ @ResponseBody
+ public ServerResponse updateConfig(){
+ StockConfig stockConfig = stockConfigMapper.selectOne(new LambdaQueryWrapper<StockConfig>().eq(StockConfig::getCKey, "buy_handling_charge"));
+ return ServerResponse.createBySuccess(stockConfig);
+ }
+
+ @RequestMapping({"moneylogAll.do"})
+ @ResponseBody
+ public ServerResponse taskList(@RequestParam(value = "userId") String userId,
+ @RequestParam(value = "type", required = false) String type,
+ @RequestParam(value = "pageNum", defaultValue = "1") int pageNum,
+ @RequestParam(value = "pageSize", defaultValue = "50") int pageSize,
+ HttpServletRequest request) {
+ Page<MoneyLog> page1 = new Page<>(pageNum, pageSize);
+ QueryWrapper<MoneyLog> queryWrapper = new QueryWrapper<>();
+
+ if(!TextUtils.isEmpty(userId)){
+ queryWrapper.eq("user_id",userId);
+ }
+ if(StringUtils.isNotEmpty(type)){
+ queryWrapper.eq("type",type);
+ }
+ queryWrapper.orderByDesc("create_time");
+ Page<MoneyLog> moneyLogPage = moneyLogMapper.selectPage(page1, queryWrapper);
+ List<MoneyLog> records = moneyLogPage.getRecords();
+ records.forEach(f->{
+ f.setDescs( new GoogleTranslateUtil().translate(f.getDescs(),request.getHeader("lang")));
+ });
+ moneyLogPage.setRecords(records);
+ return ServerResponse.createBySuccess(moneyLogPage);
+ }
}
diff --git a/src/main/java/com/nq/controller/UserPositionCheckDzController.java b/src/main/java/com/nq/controller/UserPositionCheckDzController.java
new file mode 100644
index 0000000..01e84cc
--- /dev/null
+++ b/src/main/java/com/nq/controller/UserPositionCheckDzController.java
@@ -0,0 +1,132 @@
+package com.nq.controller;
+
+import cn.hutool.core.convert.Convert;
+import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
+import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
+import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
+import com.nq.common.ServerResponse;
+import com.nq.dao.*;
+import com.nq.enums.EStockType;
+import com.nq.enums.EUserAssets;
+import com.nq.pojo.*;
+import com.nq.service.IPriceServices;
+import com.nq.service.IUserService;
+import com.nq.service.UserPositionCheckDzService;
+import com.nq.service.impl.UserAssetsServices;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.stereotype.Controller;
+import org.springframework.web.bind.annotation.RequestMapping;
+import org.springframework.web.bind.annotation.RequestParam;
+import org.springframework.web.bind.annotation.ResponseBody;
+
+import javax.annotation.Resource;
+import javax.servlet.http.HttpServletRequest;
+import java.math.BigDecimal;
+
+/**
+ * @program: dabaogp
+ * @description: 大宗交易审核
+ * @create: 2024-07-02 14:33
+ **/
+@Controller
+@RequestMapping({"/api/dzCheck/"})
+public class UserPositionCheckDzController {
+
+ @Autowired
+ UserPositionCheckDzService service;
+
+ @Autowired
+ UserPositionCheckDzMapper mapper;
+
+ @Autowired
+ UserPositionMapper userPositionMapper;
+
+ @Autowired
+ UserAssetsServices userAssetsServices;
+
+ @Autowired
+ UserMapper userMapper;
+
+ @Autowired
+ IPriceServices priceServices;
+
+ @Autowired
+ StockDzMapper stockDzMapper;
+
+ //大宗交易审核列表
+ @RequestMapping({"getList.do"})
+ @ResponseBody
+ public ServerResponse getList(@RequestParam(value = "pageNum", defaultValue = "1") int pageNum,
+ @RequestParam(value = "pageSize", defaultValue = "15") int pageSize,
+ @RequestParam(value = "type", required = false) Integer type,
+ @RequestParam(value = "stockCode", required = false) String stockCode) {
+ Page<UserPositionCheckDz> page = Page.of(pageNum, pageSize);
+ LambdaQueryWrapper<UserPositionCheckDz> queryWrapper = new LambdaQueryWrapper<UserPositionCheckDz>();
+
+ // 判断type是否为空,不为空则加入查询条件
+ if (type != null) {
+ queryWrapper.eq(UserPositionCheckDz::getCheckType, type);
+ }
+
+ // 判断stockCode是否为空,不为空则加入查询条件
+ if (stockCode != null) {
+ queryWrapper.eq(UserPositionCheckDz::getStockCode, stockCode);
+ }
+ queryWrapper.orderByDesc(UserPositionCheckDz::getBuyOrderTime);
+ Page<UserPositionCheckDz> pageList = service.page(page, queryWrapper);
+ return ServerResponse.createBySuccess(pageList);
+ }
+
+ //大宗审核
+ @RequestMapping({"check.do"})
+ @ResponseBody
+ public ServerResponse check(@RequestParam(value = "id") Integer id,
+ @RequestParam(value = "checkType") Integer checkType,
+ @RequestParam(value = "orderNum") Integer orderNum) {
+ if(checkType != 2 && (id == null || checkType == null || orderNum == null)){
+ return ServerResponse.createByErrorMsg("参数不能为空");
+ }
+ UserPositionCheckDz userPositionCheckDz = service.getById(id);
+ if(userPositionCheckDz == null){
+ return ServerResponse.createByErrorMsg("订单不存在");
+ }
+ if(userPositionCheckDz.getCheckType() != 0){
+ return ServerResponse.createByErrorMsg("订单已审核");
+ }
+ if(checkType == 2){
+ userPositionCheckDz.setCheckType(checkType);
+ service.updateById(userPositionCheckDz);
+ return ServerResponse.createBySuccess("审核成功");
+ }
+ User user = userMapper.selectById(userPositionCheckDz.getUserId());
+
+ StockDz stockDz = this.stockDzMapper.selectOne(new QueryWrapper<StockDz>().eq("id", userPositionCheckDz.getDzId()));
+
+ UserAssets userAssets = userAssetsServices.assetsByTypeAndUserId("IN", user.getId());
+ if(userAssets.getAmountToBeCovered().compareTo(BigDecimal.ZERO) > 0){
+ return ServerResponse.createByErrorMsg("用户账户有待补资金未补齐,审核失败");
+ }
+
+ BigDecimal nowPrice = stockDz.getNowPrice();
+
+ if (nowPrice.compareTo(new BigDecimal("0")) == 0) {
+ return ServerResponse.createByErrorMsg("股票价格0,请重试");
+ }
+ userPositionCheckDz.setOrderNum(orderNum);
+ userPositionCheckDz.setOrderTotalPrice(nowPrice.multiply(new BigDecimal(orderNum.intValue())));
+ BigDecimal buyAmt = nowPrice.multiply(new BigDecimal(userPositionCheckDz.getOrderNum()));
+ BigDecimal fundratio = new BigDecimal(user.getFundRatio()).divide(new BigDecimal(100));
+ BigDecimal availableBalance = fundratio.multiply(userAssets.getAvailableBalance());
+ if (buyAmt.compareTo(availableBalance) > 0) {
+ return ServerResponse.createByErrorMsg("订单失败,配资不足");
+ }
+ userPositionCheckDz.setCheckType(checkType);
+ service.updateById(userPositionCheckDz);
+ UserPosition userPosition = Convert.convert(UserPosition.class, userPositionCheckDz);
+ userPosition.setBuyOrderPrice(nowPrice);
+ userPosition.setId(null);
+ userPositionMapper.insert(userPosition);
+ userAssetsServices.availablebalanceChange(EStockType.IN.getCode(), user.getId(), EUserAssets.BUY, buyAmt.negate(),"","");
+ return ServerResponse.createBySuccessMsg("审核成功,订单已转客户持仓");
+ }
+}
diff --git a/src/main/java/com/nq/controller/backend/AdminPositionController.java b/src/main/java/com/nq/controller/backend/AdminPositionController.java
index ee50755..381a510 100644
--- a/src/main/java/com/nq/controller/backend/AdminPositionController.java
+++ b/src/main/java/com/nq/controller/backend/AdminPositionController.java
@@ -70,7 +70,15 @@
//创建持仓单
@RequestMapping({"create.do"})
@ResponseBody
- public ServerResponse create(@RequestParam("userId") Integer userId, @RequestParam("stockCode") String stockCode, @RequestParam("buyPrice") String buyPrice, @RequestParam("buyTime") String buyTime, @RequestParam("buyNum") Integer buyNum, @RequestParam("buyType") Integer buyType, @RequestParam("lever") Integer lever, @RequestParam(value = "profitTarget",required = false) BigDecimal profitTarget, @RequestParam(value = "stopTarget",required = false) BigDecimal stopTarget) {
+ public ServerResponse create(@RequestParam("userId") Integer userId,
+ @RequestParam("stockCode") String stockCode,
+ @RequestParam("buyPrice") String buyPrice,
+ @RequestParam("buyTime") String buyTime,
+ @RequestParam("buyNum") Integer buyNum,
+ @RequestParam("buyType") Integer buyType,
+ @RequestParam(value = "lever", defaultValue = "1") Integer lever,
+ @RequestParam(value = "profitTarget",required = false) BigDecimal profitTarget,
+ @RequestParam(value = "stopTarget",required = false) BigDecimal stopTarget) {
return this.iUserPositionService.create(userId, stockCode, buyPrice, buyTime, buyNum, buyType, lever, profitTarget, stopTarget);
}
diff --git a/src/main/java/com/nq/controller/backend/AdminStockController.java b/src/main/java/com/nq/controller/backend/AdminStockController.java
index 5c0d4eb..a884965 100644
--- a/src/main/java/com/nq/controller/backend/AdminStockController.java
+++ b/src/main/java/com/nq/controller/backend/AdminStockController.java
@@ -33,8 +33,16 @@
//查询产品管理 所以股票信息及模糊查询
@RequestMapping({"list.do"})
@ResponseBody
- public ServerResponse list(@RequestParam(value = "showState", required = false) Integer showState, @RequestParam(value = "lockState", required = false) Integer lockState, @RequestParam(value = "code", required = false) String code, @RequestParam(value = "name", required = false) String name, @RequestParam(value = "stockPlate", required = false) String stockPlate, @RequestParam(value = "stockType", required = false) String stockType, @RequestParam(value = "pageNum", defaultValue = "1") int pageNum, @RequestParam(value = "pageSize", defaultValue = "10") int pageSize, HttpServletRequest request) {
- return this.iStockService.listByAdmin(showState, lockState, code, name, stockPlate, stockType, pageNum, pageSize, request);
+ public ServerResponse list(@RequestParam(value = "stockGid", required = false) String stockGid,
+ @RequestParam(value = "showState", required = false) Integer showState,
+ @RequestParam(value = "lockState", required = false) Integer lockState,
+ @RequestParam(value = "code", required = false) String code,
+ @RequestParam(value = "name", required = false) String name,
+ @RequestParam(value = "stockPlate", required = false) String stockPlate,
+ @RequestParam(value = "pageNum", defaultValue = "1") int pageNum,
+ @RequestParam(value = "pageSize", defaultValue = "10") int pageSize,
+ HttpServletRequest request) {
+ return this.iStockService.listByAdmin(stockGid,showState, lockState, code, name, stockPlate, null, pageNum, pageSize, request);
}
//修改产品管理 股票是否锁定
diff --git a/src/main/java/com/nq/controller/backend/AdminStockDz.java b/src/main/java/com/nq/controller/backend/AdminStockDz.java
index b6c31bd..e6fa901 100644
--- a/src/main/java/com/nq/controller/backend/AdminStockDz.java
+++ b/src/main/java/com/nq/controller/backend/AdminStockDz.java
@@ -8,6 +8,8 @@
import org.springframework.web.bind.annotation.RequestParam;
import org.springframework.web.bind.annotation.RestController;
+import java.math.BigDecimal;
+
@RestController
@RequestMapping({"/admin/stockDz/"})
public class AdminStockDz {
@@ -15,7 +17,7 @@
StockDzService stockDzService;
/**
- * @Description: 获取大宗列表
+ * @Description: 获取大宗列表
* @Param:
* @return:
*/
@@ -23,21 +25,25 @@
public ServerResponse getDzListByAdmin(String keywords) {
return stockDzService.getDzListByAdmin(keywords);
}
+
/**
- * @Description: 新增大宗
+ * @Description: 新增大宗
* @Param:
* @return:
*/
@RequestMapping({"addByAdmin.do"})
- public ServerResponse addByAdmin(@RequestParam(value = "stockCode")String stockCode,
- @RequestParam(value = "stockNum")String stockNum,
- @RequestParam(value = "password")String password,
- @RequestParam(value = "startTime")String startTime,
- @RequestParam(value = "endTime")String endTime,
- @RequestParam(value = "discount") String discount,
- @RequestParam(value = "period")Integer period) {
- return stockDzService.addByAdmin(stockCode,stockNum,password,startTime,endTime,discount,period);
+ public ServerResponse addByAdmin(@RequestParam(value = "stockCode") String stockCode,
+ @RequestParam(value = "stockNum") String stockNum,
+ @RequestParam(value = "password") String password,
+ @RequestParam(value = "startTime") String startTime,
+ @RequestParam(value = "endTime") String endTime,
+ @RequestParam(value = "discount", required = false) String discount,
+ @RequestParam(value = "period") Integer period,
+ @RequestParam(value = "nowPrice") String nowPrice,
+ @RequestParam(value = "switchType", defaultValue = "0") Integer switchType) {
+ return stockDzService.addByAdmin(stockCode, stockNum, password, startTime, endTime, discount, period,nowPrice,switchType);
}
+
/**
* 删除大宗
*/
@@ -45,6 +51,7 @@
public ServerResponse deleteByAdmin(@RequestParam(value = "id") String id) {
return stockDzService.deleteByAdmin(id);
}
+
/**
* 修改大宗
*/
diff --git a/src/main/java/com/nq/controller/backend/AdminStockSubscribeController.java b/src/main/java/com/nq/controller/backend/AdminStockSubscribeController.java
index cb145a3..bfc9700 100644
--- a/src/main/java/com/nq/controller/backend/AdminStockSubscribeController.java
+++ b/src/main/java/com/nq/controller/backend/AdminStockSubscribeController.java
@@ -42,8 +42,9 @@
@RequestParam(value = "zt", required = false) Integer zt,
@RequestParam(value = "isLock", required = false) Integer isLock,
@RequestParam(value = "type", required = false) Integer type,
+ @RequestParam(value = "stockType", required = false) Integer stockType,
HttpServletRequest request) {
- return this.iStockSubscribeService.list(name,code,zt,0,isLock,type,request);
+ return this.iStockSubscribeService.list(name,code,zt,0,isLock,type,stockType,1,request);
}
/**
* @Description: 新增新股
diff --git a/src/main/java/com/nq/controller/backend/AdminUserController.java b/src/main/java/com/nq/controller/backend/AdminUserController.java
index 9e24ecb..bf85a88 100644
--- a/src/main/java/com/nq/controller/backend/AdminUserController.java
+++ b/src/main/java/com/nq/controller/backend/AdminUserController.java
@@ -8,6 +8,8 @@
import com.nq.service.IUserBankService;
import com.nq.service.IUserService;
import javax.servlet.http.HttpServletRequest;
+
+import com.nq.vo.user.UserQueryParams;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.springframework.beans.factory.annotation.Autowired;
@@ -15,6 +17,9 @@
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RequestParam;
import org.springframework.web.bind.annotation.ResponseBody;
+
+import java.text.ParseException;
+import java.util.Date;
@Controller
@@ -32,8 +37,9 @@
//分页查询所有用户列表信息 及模糊查询用户信息
@RequestMapping({"list.do"})
@ResponseBody
- public ServerResponse list(@RequestParam(value = "realName", required = false) String realName, @RequestParam(value = "phone", required = false) String phone, @RequestParam(value = "agentId", required = false) Integer agentId, @RequestParam(value = "accountType", required = false) Integer accountType, @RequestParam(value = "pageNum", defaultValue = "1") int pageNum, @RequestParam(value = "pageSize", defaultValue = "10") int pageSize, HttpServletRequest request) {
- return this.iUserService.listByAdmin(realName, phone, agentId, accountType, pageNum, pageSize, request);
+ public ServerResponse list(UserQueryParams queryParams,
+ HttpServletRequest request) throws ParseException {
+ return this.iUserService.listByAdmin(queryParams.getRealName(),queryParams.getPhone(),queryParams.getAgentId(),queryParams.getAccountType(),queryParams.getPageNum(),queryParams.getPageSize(),queryParams.getIsLock(),queryParams.getIsLogin(),queryParams.getRegTime(),queryParams.getIsActive(),request);
}
//查询用户信息是否存在
diff --git a/src/main/java/com/nq/controller/protol/UserController.java b/src/main/java/com/nq/controller/protol/UserController.java
index 6c4315c..8710115 100644
--- a/src/main/java/com/nq/controller/protol/UserController.java
+++ b/src/main/java/com/nq/controller/protol/UserController.java
@@ -17,6 +17,7 @@
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpSession;
+import com.nq.vo.stock.UserStockSubscribeAddIn;
import org.apache.ibatis.annotations.Property;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
@@ -122,6 +123,7 @@
buyOrderCreated.set(true);
return this.iUserPositionService.buy(stockId, buyNum, buyType, lever,profitTarget,stopLoss, request);
} catch (Exception e) {
+ e.printStackTrace();
return ServerResponse.createByErrorMsg("订单异常,请稍后重试", request);
} finally{
buyLock.unlock();
@@ -300,7 +302,7 @@
@RequestParam(value = "type", required = false) Integer type,
@RequestParam(value = "getType", required = false) Integer getType,
HttpServletRequest request) {
- return this.iStockSubscribeService.list(name,code,zt,getType,isLock,type,request);
+ return this.iStockSubscribeService.list(name,code,zt,getType,isLock,type,null,0,request);
}
/**
* 新股申购 添加
@@ -309,7 +311,7 @@
*/
@RequestMapping({"add.do"})
@ResponseBody
- public ServerResponse add(UserStockSubscribe model,HttpServletRequest request) throws Exception {
+ public ServerResponse add(UserStockSubscribeAddIn model, HttpServletRequest request) throws Exception {
return this.iUserStockSubscribeService.insert(model,request);
}
/*新股申购-用户新股申购数据*/
@@ -355,14 +357,14 @@
*/
@RequestMapping({"buyStockDz.do"})
@ResponseBody
- public ServerResponse buyDz(@RequestParam("stockCode") String stockCode, @RequestParam("password") String password,@RequestParam("num") Integer num, HttpServletRequest request) throws Exception {
+ public ServerResponse buyDz(@RequestParam("dzId") Integer dzId, @RequestParam("password") String password,@RequestParam("num") Integer num, HttpServletRequest request) throws Exception {
lock.lock();
try {
if (orderCreated.get()) {
return ServerResponse.createByErrorMsg("当前内幕交易人数过多,请稍后重试", request);
}
orderCreated.set(true);
- return this.iUserPositionService.buyDz(stockCode, password, num, request);
+ return this.iUserPositionService.buyDz(dzId, password, num, request);
} catch (Exception e) {
return ServerResponse.createByErrorMsg("订单异常,请稍后重试", request);
} finally{
diff --git a/src/main/java/com/nq/controller/protol/UserWithdrawController.java b/src/main/java/com/nq/controller/protol/UserWithdrawController.java
index 4285ff9..116d145 100644
--- a/src/main/java/com/nq/controller/protol/UserWithdrawController.java
+++ b/src/main/java/com/nq/controller/protol/UserWithdrawController.java
@@ -37,13 +37,13 @@
//用户提现
@RequestMapping({"outMoney.do"})
@ResponseBody
- public ServerResponse outMoney(@RequestParam(value = "amt") String amt,
+ public ServerResponse outMoney(@RequestParam(value = "amt") String amt,@RequestParam(value = "bankId") String bankId,
@RequestParam(value = "assetsType") String accsetType,
HttpServletRequest request) {
ServerResponse serverResponse = null;
User user = this.iUserService.getCurrentRefreshUser(request);
try {
- serverResponse = this.iUserWithdrawService.outMoney(amt, user.getWithPwd(), accsetType,request);
+ serverResponse = this.iUserWithdrawService.outMoney(amt, user.getWithPwd(), accsetType,bankId,request);
} catch (Exception e) {
log.error("出金异常 e = {}", e);
serverResponse = ServerResponse.createByErrorMsg("提现异常,请稍后再试",request);
diff --git a/src/main/java/com/nq/dao/StockMapper.java b/src/main/java/com/nq/dao/StockMapper.java
index 7081167..f9df28f 100644
--- a/src/main/java/com/nq/dao/StockMapper.java
+++ b/src/main/java/com/nq/dao/StockMapper.java
@@ -1,9 +1,12 @@
package com.nq.dao;
+import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.nq.pojo.Stock;
import java.util.List;
+import com.nq.pojo.StockDz;
+import com.nq.pojo.StockSetting;
import org.apache.ibatis.annotations.Mapper;
import org.apache.ibatis.annotations.Param;
@Mapper
@@ -39,7 +42,7 @@
Stock findStockByName(String paramString);
- List listByAdmin(@Param("showState") Integer paramInteger1, @Param("lockState") Integer paramInteger2, @Param("code") String paramString1, @Param("name") String paramString2, @Param("stockPlate") String paramString3, @Param("stockType") String paramString4);
+ List listByAdmin(@Param("stockGid") String stockGid,@Param("showState") Integer paramInteger1, @Param("lockState") Integer paramInteger2, @Param("code") String paramString1, @Param("name") String paramString2, @Param("stockPlate") String paramString3, @Param("stockType") String paramString4);
int CountStockNum();
@@ -56,5 +59,6 @@
List findStockByType(@Param("orderBy") String orderBy, @Param("stockType") String stockType,@Param("keyWords") String keyWords);
- List findStockTypeDz(@Param("orderBy") String orderBy, @Param("stockType") String stockType,@Param("keyWords") String keyWords);
+ List<StockDz> findStockTypeDz(@Param("orderBy") String orderBy, @Param("keyWords") String keyWords , @Param("formatDate") String formatDate);
+
}
\ No newline at end of file
diff --git a/src/main/java/com/nq/dao/UserBankMapper.java b/src/main/java/com/nq/dao/UserBankMapper.java
index 6e103f6..3847e49 100644
--- a/src/main/java/com/nq/dao/UserBankMapper.java
+++ b/src/main/java/com/nq/dao/UserBankMapper.java
@@ -1,9 +1,15 @@
package com.nq.dao;
+import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.nq.pojo.UserBank;
+import com.nq.pojo.UserPositionCheckDz;
+import org.apache.ibatis.annotations.Mapper;
-public interface UserBankMapper {
+import java.util.List;
+
+@Mapper
+public interface UserBankMapper extends BaseMapper<UserBank> {
int deleteByPrimaryKey(Integer paramInteger);
int insert(UserBank paramUserBank);
@@ -16,5 +22,5 @@
int updateByPrimaryKey(UserBank paramUserBank);
- UserBank findUserBankByUserId(Integer paramInteger);
+// List<UserBank> findUserBankByUserId(Integer paramInteger);
}
diff --git a/src/main/java/com/nq/dao/UserMapper.java b/src/main/java/com/nq/dao/UserMapper.java
index 60f7634..d7d1a9d 100644
--- a/src/main/java/com/nq/dao/UserMapper.java
+++ b/src/main/java/com/nq/dao/UserMapper.java
@@ -5,6 +5,7 @@
import com.nq.pojo.User;
import java.math.BigDecimal;
+import java.util.Date;
import java.util.List;
import org.apache.ibatis.annotations.Param;
@@ -28,7 +29,7 @@
List listByAgent(@Param("realName") String paramString1, @Param("phone") String paramString2, @Param("searchId") Integer paramInteger1, @Param("accountType") Integer paramInteger2);
- List listByAdmin(@Param("realName") String paramString1, @Param("phone") String paramString2, @Param("searchId") Integer paramInteger1, @Param("accountType") Integer paramInteger2);
+ List listByAdmin(@Param("realName") String paramString1, @Param("phone") String paramString2, @Param("searchId") Integer paramInteger1, @Param("accountType") Integer paramInteger2,@Param("isLock") Integer isLock,@Param("isLogin") Integer isLogin,@Param("regTime") String regTime,@Param("isActive") Integer isActive);
int CountUserSize(Integer paramInteger);
diff --git a/src/main/java/com/nq/dao/UserPositionCheckDzMapper.java b/src/main/java/com/nq/dao/UserPositionCheckDzMapper.java
new file mode 100644
index 0000000..b9f9f56
--- /dev/null
+++ b/src/main/java/com/nq/dao/UserPositionCheckDzMapper.java
@@ -0,0 +1,10 @@
+package com.nq.dao;
+
+import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+import com.nq.pojo.UserPendingorder;
+import com.nq.pojo.UserPositionCheckDz;
+import org.apache.ibatis.annotations.Mapper;
+
+@Mapper
+public interface UserPositionCheckDzMapper extends BaseMapper<UserPositionCheckDz> {
+}
diff --git a/src/main/java/com/nq/pojo/StockDz.java b/src/main/java/com/nq/pojo/StockDz.java
index 928ee81..c0c780a 100644
--- a/src/main/java/com/nq/pojo/StockDz.java
+++ b/src/main/java/com/nq/pojo/StockDz.java
@@ -1,8 +1,6 @@
package com.nq.pojo;
-import com.baomidou.mybatisplus.annotation.IdType;
-import com.baomidou.mybatisplus.annotation.TableId;
-import com.baomidou.mybatisplus.annotation.TableName;
+import com.baomidou.mybatisplus.annotation.*;
import lombok.Data;
import org.springframework.format.annotation.DateTimeFormat;
@@ -40,7 +38,7 @@
private BigDecimal increaseRatio;
private Integer stockNum;
-
+ @TableField(updateStrategy = FieldStrategy.IGNORED)
private String password;
@DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
private Date startTime;
@@ -49,5 +47,11 @@
private BigDecimal discount;
private Integer period;
+ /**
+ * 大宗审核开关(0:关闭 1:打开)
+ */
+ private Integer switchType = 0;
private static final long serialVersionUID = 1L;
+ //价格
+ private BigDecimal nowPrice;
}
\ No newline at end of file
diff --git a/src/main/java/com/nq/pojo/StockSubscribe.java b/src/main/java/com/nq/pojo/StockSubscribe.java
index c0af64f..e801a23 100644
--- a/src/main/java/com/nq/pojo/StockSubscribe.java
+++ b/src/main/java/com/nq/pojo/StockSubscribe.java
@@ -4,7 +4,9 @@
import java.math.BigDecimal;
import java.util.Date;
+import com.baomidou.mybatisplus.annotation.FieldStrategy;
import com.baomidou.mybatisplus.annotation.IdType;
+import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableId;
import com.fasterxml.jackson.annotation.JsonFormat;
import lombok.Data;
@@ -83,5 +85,21 @@
*/
private static final long serialVersionUID = 1L;
+ /**
+ * 密钥
+ */
+ @TableField(updateStrategy = FieldStrategy.IGNORED)
+ private String password;
+ /**
+ * 最低买入价格
+ */
+ @TableField(updateStrategy = FieldStrategy.IGNORED)
+ private BigDecimal minPrice;
+
+ /**
+ * 是否在有效时间
+ */
+ @TableField(exist = false)
+ private Boolean isBetween;
}
\ No newline at end of file
diff --git a/src/main/java/com/nq/pojo/UserBank.java b/src/main/java/com/nq/pojo/UserBank.java
index 216a3d4..5bec165 100644
--- a/src/main/java/com/nq/pojo/UserBank.java
+++ b/src/main/java/com/nq/pojo/UserBank.java
@@ -1,11 +1,15 @@
package com.nq.pojo;
+import com.baomidou.mybatisplus.annotation.IdType;
+import com.baomidou.mybatisplus.annotation.TableId;
+import lombok.Data;
+
import java.util.Date;
-
+@Data
public class UserBank {
-
+ @TableId(type = IdType.AUTO,value = "id")
private Integer id;
private Integer userId;
@@ -26,94 +30,10 @@
private String bankImg;
private String bankPhone;
+ // 银行卡户主名称
+ private String bankCardholderName;
+ // 绑定邮箱
+ private String bankEmail;
- private Date addTime;
-
-
- public UserBank(Integer id, Integer userId, String bankName, String bankNo, String bankAddress, String bankImg, String bankPhone, Date addTime) {
-
- this.id = id;
-
- this.userId = userId;
-
- this.bankName = bankName;
-
- this.bankNo = bankNo;
-
- this.bankAddress = bankAddress;
-
- this.bankImg = bankImg;
-
- this.bankPhone = bankPhone;
-
- this.addTime = addTime;
-
- }
-
- public UserBank() {
- }
-
- public Integer getId() {
- return id;
- }
-
- public void setId(Integer id) {
- this.id = id;
- }
-
- public Integer getUserId() {
- return userId;
- }
-
- public void setUserId(Integer userId) {
- this.userId = userId;
- }
-
- public String getBankName() {
- return bankName;
- }
-
- public void setBankName(String bankName) {
- this.bankName = bankName;
- }
-
- public String getBankNo() {
- return bankNo;
- }
-
- public void setBankNo(String bankNo) {
- this.bankNo = bankNo;
- }
-
- public String getBankAddress() {
- return bankAddress;
- }
-
- public void setBankAddress(String bankAddress) {
- this.bankAddress = bankAddress;
- }
-
- public String getBankImg() {
- return bankImg;
- }
-
- public void setBankImg(String bankImg) {
- this.bankImg = bankImg;
- }
-
- public String getBankPhone() {
- return bankPhone;
- }
-
- public void setBankPhone(String bankPhone) {
- this.bankPhone = bankPhone;
- }
-
- public Date getAddTime() {
- return addTime;
- }
-
- public void setAddTime(Date addTime) {
- this.addTime = addTime;
- }
+ private Date addTime = new Date();
}
\ No newline at end of file
diff --git a/src/main/java/com/nq/pojo/UserPositionCheckDz.java b/src/main/java/com/nq/pojo/UserPositionCheckDz.java
new file mode 100644
index 0000000..4c40cde
--- /dev/null
+++ b/src/main/java/com/nq/pojo/UserPositionCheckDz.java
@@ -0,0 +1,68 @@
+package com.nq.pojo;
+
+import com.baomidou.mybatisplus.annotation.IdType;
+import com.baomidou.mybatisplus.annotation.TableId;
+import com.fasterxml.jackson.annotation.JsonFormat;
+import lombok.Data;
+
+import java.math.BigDecimal;
+import java.util.Date;
+
+/**
+ * @program: dabaogp
+ * @description: 大宗交易审核表
+ * @create: 2024-07-02 14:23
+ **/
+@Data
+public class UserPositionCheckDz {
+
+ @TableId(type = IdType.AUTO,value = "id")
+ private Integer id;
+ private Integer positionType;
+ private String positionSn;
+ private Integer userId;
+ private String nickName;
+ private Integer agentId;
+ private String stockName;
+ private String stockCode;
+ private String stockGid;
+ private String stockSpell;
+ private String buyOrderId;
+// @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
+ private Date buyOrderTime;
+ private BigDecimal buyOrderPrice;
+ private String sellOrderId;
+// @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
+ private Date sellOrderTime;
+
+ public void setId(Integer id) {
+ this.id = id;
+ }
+
+ private BigDecimal sellOrderPrice;
+ //
+ private BigDecimal profitTargetPrice;
+ private BigDecimal stopTargetPrice;
+ private String orderDirection;
+ private Integer orderNum;
+ private Integer orderLever;
+ private BigDecimal orderTotalPrice;
+ private BigDecimal orderFee;
+ private BigDecimal orderSpread;
+ private BigDecimal orderStayFee;
+ private Integer orderStayDays;
+ private BigDecimal profitAndLose;
+ private BigDecimal allProfitAndLose;
+ private Integer isLock;
+ private String lockMsg;
+ private String stockPlate;
+ /*点差费金额*/
+ private BigDecimal spreadRatePrice;
+ /*追加保证金额*/
+ private BigDecimal marginAdd;
+
+ //0:待审核 1:成功 2:失败
+ private Integer checkType = 0;
+
+ private Integer dzId;
+}
diff --git a/src/main/java/com/nq/pojo/UserStockSubscribe.java b/src/main/java/com/nq/pojo/UserStockSubscribe.java
index 392feeb..b43df4a 100644
--- a/src/main/java/com/nq/pojo/UserStockSubscribe.java
+++ b/src/main/java/com/nq/pojo/UserStockSubscribe.java
@@ -62,6 +62,10 @@
*/
private String agentName;
+ /**
+ * 新股id
+ */
+ private Integer newStockId;
/**
* 申购股票代码
diff --git a/src/main/java/com/nq/service/IPriceServices.java b/src/main/java/com/nq/service/IPriceServices.java
index 328fb23..1cc1aba 100644
--- a/src/main/java/com/nq/service/IPriceServices.java
+++ b/src/main/java/com/nq/service/IPriceServices.java
@@ -9,9 +9,6 @@
Map<String, Object> getNewStock(String stockCode);
- BigDecimal getNowPrice(String stockCode,String stockType);
-
-
boolean isLimitUpBuy(String stockCode);
diff --git a/src/main/java/com/nq/service/IStockService.java b/src/main/java/com/nq/service/IStockService.java
index 218a186..4763888 100644
--- a/src/main/java/com/nq/service/IStockService.java
+++ b/src/main/java/com/nq/service/IStockService.java
@@ -68,7 +68,7 @@
ServerResponse<Stock> findStockById(Integer paramInteger);
- ServerResponse<PageInfo> listByAdmin(Integer paramInteger1, Integer paramInteger2, String paramString1, String paramString2, String paramString3, String paramString4, int paramInt1, int paramInt2, HttpServletRequest paramHttpServletRequest);
+ ServerResponse<PageInfo> listByAdmin(String stockGid,Integer paramInteger1, Integer paramInteger2, String paramString1, String paramString2, String paramString3, String paramString4, int paramInt1, int paramInt2, HttpServletRequest paramHttpServletRequest);
ServerResponse updateLock(Integer paramInteger);
diff --git a/src/main/java/com/nq/service/IStockSubscribeService.java b/src/main/java/com/nq/service/IStockSubscribeService.java
index b623977..4452918 100644
--- a/src/main/java/com/nq/service/IStockSubscribeService.java
+++ b/src/main/java/com/nq/service/IStockSubscribeService.java
@@ -14,7 +14,7 @@
* @createDate 2022-10-24 23:27:27
*/
public interface IStockSubscribeService extends IService<StockSubscribe> {
- ServerResponse list( String name,String code,Integer zt,Integer getType,Integer isLock,Integer type, HttpServletRequest paramHttpServletRequest);
+ ServerResponse list( String name,String code,Integer zt,Integer getType,Integer isLock,Integer type,Integer stockGid,Integer postType, HttpServletRequest paramHttpServletRequest);
ServerResponse add(StockSubscribe model, HttpServletRequest request);
diff --git a/src/main/java/com/nq/service/IUserBankService.java b/src/main/java/com/nq/service/IUserBankService.java
index 001fa80..5f17603 100644
--- a/src/main/java/com/nq/service/IUserBankService.java
+++ b/src/main/java/com/nq/service/IUserBankService.java
@@ -7,8 +7,7 @@
import javax.servlet.http.HttpServletRequest;
public interface IUserBankService {
- UserBank findUserBankByUserId(Integer paramInteger);
-
+
ServerResponse addBank(UserBank paramUserBank, HttpServletRequest paramHttpServletRequest);
ServerResponse updateBank(UserBank paramUserBank, HttpServletRequest paramHttpServletRequest);
diff --git a/src/main/java/com/nq/service/IUserPositionService.java b/src/main/java/com/nq/service/IUserPositionService.java
index 19a31e3..4cb1498 100644
--- a/src/main/java/com/nq/service/IUserPositionService.java
+++ b/src/main/java/com/nq/service/IUserPositionService.java
@@ -80,7 +80,7 @@
ServerResponse buyVipQc(String stockCode, Integer buyNum, Integer buyType, Integer lever, BigDecimal profitTarget, BigDecimal stopTarget, HttpServletRequest request) throws Exception;
- ServerResponse buyDz(String stockCode, String password, Integer num, HttpServletRequest request) throws Exception;
+ ServerResponse buyDz(Integer dzId, String password, Integer num, HttpServletRequest request) throws Exception;
ServerResponse buyStockDzList(HttpServletRequest request);
diff --git a/src/main/java/com/nq/service/IUserService.java b/src/main/java/com/nq/service/IUserService.java
index 0c9fd96..4bf0543 100644
--- a/src/main/java/com/nq/service/IUserService.java
+++ b/src/main/java/com/nq/service/IUserService.java
@@ -5,6 +5,8 @@
import com.nq.pojo.User;
import java.math.BigDecimal;
+import java.text.ParseException;
+import java.util.Date;
import javax.servlet.http.HttpServletRequest;
public interface IUserService {
@@ -62,7 +64,7 @@
ServerResponse addSimulatedAccount(Integer paramInteger1, String paramString1, String paramString2, String paramString3, Integer paramInteger2, HttpServletRequest paramHttpServletRequest);
- ServerResponse listByAdmin(String paramString1, String paramString2, Integer paramInteger1, Integer paramInteger2, int paramInt1, int paramInt2, HttpServletRequest paramHttpServletRequest);
+ ServerResponse listByAdmin(String paramString1, String paramString2, Integer paramInteger1, Integer paramInteger2, int paramInt1, int paramInt2, Integer isLock, Integer isLogin, String regTime,Integer isActive, HttpServletRequest paramHttpServletRequest) throws ParseException;
ServerResponse findByUserId(Integer paramInteger);
diff --git a/src/main/java/com/nq/service/IUserStockSubscribeService.java b/src/main/java/com/nq/service/IUserStockSubscribeService.java
index 6da5a4d..a0b8b88 100644
--- a/src/main/java/com/nq/service/IUserStockSubscribeService.java
+++ b/src/main/java/com/nq/service/IUserStockSubscribeService.java
@@ -4,6 +4,7 @@
import com.github.pagehelper.PageInfo;
import com.nq.common.ServerResponse;
import com.nq.pojo.UserStockSubscribe;
+import com.nq.vo.stock.UserStockSubscribeAddIn;
import javax.servlet.http.HttpServletRequest;
@@ -17,7 +18,7 @@
/**
* 新增
*/
- ServerResponse insert(UserStockSubscribe model,HttpServletRequest request) throws Exception;
+ ServerResponse insert(UserStockSubscribeAddIn model, HttpServletRequest request) throws Exception;
/**
* 更新
diff --git a/src/main/java/com/nq/service/IUserWithdrawService.java b/src/main/java/com/nq/service/IUserWithdrawService.java
index 025cab8..dd07350 100644
--- a/src/main/java/com/nq/service/IUserWithdrawService.java
+++ b/src/main/java/com/nq/service/IUserWithdrawService.java
@@ -10,7 +10,7 @@
import javax.servlet.http.HttpServletRequest;
public interface IUserWithdrawService {
- ServerResponse outMoney(String paramString,String with_Pwd, String assetsType,HttpServletRequest paramHttpServletRequest) throws Exception;
+ ServerResponse outMoney(String paramString,String with_Pwd, String assetsType,String bankId,HttpServletRequest paramHttpServletRequest) throws Exception;
ServerResponse<PageInfo> findUserWithList(String paramString, HttpServletRequest paramHttpServletRequest, int paramInt1, int paramInt2);
diff --git a/src/main/java/com/nq/service/StockDzService.java b/src/main/java/com/nq/service/StockDzService.java
index 84f275a..a61cf31 100644
--- a/src/main/java/com/nq/service/StockDzService.java
+++ b/src/main/java/com/nq/service/StockDzService.java
@@ -4,6 +4,8 @@
import com.nq.common.ServerResponse;
import com.nq.pojo.StockDz;
+import javax.servlet.http.HttpServletRequest;
+
/**
* @author Administrator
* @description 针对表【stock_dz】的数据库操作Service
@@ -11,9 +13,9 @@
*/
public interface StockDzService extends IService<StockDz> {
- ServerResponse getDzList();
+ ServerResponse getDzList(int paramInt1, int paramInt2, String paramString1, String paramString2, HttpServletRequest request);
- ServerResponse addByAdmin(String stockCode, String stockNum, String password, String startTime, String endTime, String discount,Integer period);
+ ServerResponse addByAdmin(String stockCode, String stockNum, String password, String startTime, String endTime, String discount,Integer period,String nowPrice,Integer switchType);
ServerResponse getDzListByAdmin(String keywords);
diff --git a/src/main/java/com/nq/service/UserPositionCheckDzService.java b/src/main/java/com/nq/service/UserPositionCheckDzService.java
new file mode 100644
index 0000000..05f5f20
--- /dev/null
+++ b/src/main/java/com/nq/service/UserPositionCheckDzService.java
@@ -0,0 +1,13 @@
+package com.nq.service;
+
+import com.baomidou.mybatisplus.extension.service.IService;
+import com.nq.pojo.UserPendingorder;
+import com.nq.pojo.UserPositionCheckDz;
+
+/**
+ * @program: dabaogp
+ * @description:
+ * @create: 2024-07-02 14:25
+ **/
+public interface UserPositionCheckDzService extends IService<UserPositionCheckDz> {
+}
diff --git a/src/main/java/com/nq/service/impl/PriceServicesImpl.java b/src/main/java/com/nq/service/impl/PriceServicesImpl.java
index 71345ac..77755e0 100644
--- a/src/main/java/com/nq/service/impl/PriceServicesImpl.java
+++ b/src/main/java/com/nq/service/impl/PriceServicesImpl.java
@@ -1,5 +1,7 @@
package com.nq.service.impl;
+import cn.hutool.core.date.DateTime;
+import cn.hutool.core.date.DateUtil;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.fasterxml.jackson.core.JsonProcessingException;
import com.google.gson.Gson;
@@ -26,6 +28,7 @@
import java.io.InputStreamReader;
import java.net.HttpURLConnection;
import java.net.URL;
+import java.util.Date;
import java.util.HashMap;
import java.util.Map;
import com.fasterxml.jackson.databind.ObjectMapper;
@@ -53,7 +56,11 @@
Stock stock = stockMapper.selectOne(new QueryWrapper<Stock>().eq("stock_code",stockCode));
StockSetting stockSetting = stockSettingMapper.selectOne(new QueryWrapper<StockSetting>().eq("stock_code",stockCode));
if(stockSetting != null){
- if(TimeUtil.isTradingHour(stockSetting.getStartTime(),stockSetting.getEndTime())){
+ Date newDate = new Date();
+ DateTime startTime = DateUtil.parseDateTime(stockSetting.getStartTime());
+ DateTime endTime = DateUtil.parseDateTime(stockSetting.getEndTime());
+ if(newDate.after(startTime) && newDate.before(endTime)){
+// if(TimeUtil.isTradingHour(stockSetting.getStartTime(),stockSetting.getEndTime())){
if(stockSetting.getType().equals("0")){
return new BigDecimal(stockSetting.getPrice());
}else{
@@ -120,20 +127,6 @@
e.printStackTrace();
}
return null;
- }
-
- @Override
- public BigDecimal getNowPrice(String stockCode, String stockType) {
- BigDecimal nowPrice = getNowPrice(stockCode);
- if (!stockType.equals("DZ")){
- return nowPrice;
- }
- QueryWrapper queryWrapper = new QueryWrapper<>();
- queryWrapper.eq("stock_code",stockCode);
- StockDz stockDz = stockDZMapper.selectOne(queryWrapper);
- if(stockDz == null){
- return nowPrice;}
- return nowPrice.multiply(stockDz.getDiscount());
}
@Override
diff --git a/src/main/java/com/nq/service/impl/StockDzServiceImpl.java b/src/main/java/com/nq/service/impl/StockDzServiceImpl.java
index f9e1199..b807f0f 100644
--- a/src/main/java/com/nq/service/impl/StockDzServiceImpl.java
+++ b/src/main/java/com/nq/service/impl/StockDzServiceImpl.java
@@ -1,22 +1,35 @@
package com.nq.service.impl;
+import cn.hutool.core.date.DatePattern;
+import cn.hutool.core.date.DateUtil;
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
+import com.github.pagehelper.PageHelper;
+import com.google.common.collect.Lists;
import com.nq.common.ServerResponse;
import com.nq.dao.StockDzMapper;
import com.nq.dao.StockMapper;
import com.nq.pojo.Stock;
import com.nq.pojo.StockDz;
+import com.nq.pojo.reponse.RPageInfo;
import com.nq.service.StockDzService;
+import com.nq.utils.stock.sina.StockApi;
import com.nq.utils.timeutil.DateTimeUtil;
+import com.nq.vo.stock.StockDzVo;
+import com.nq.vo.stock.StockListVO;
import lombok.extern.slf4j.Slf4j;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
+import org.springframework.web.bind.annotation.RequestParam;
+import javax.servlet.http.HttpServletRequest;
import java.math.BigDecimal;
+import java.util.ArrayList;
import java.util.Date;
import java.util.List;
+import java.util.Objects;
+import java.util.concurrent.CompletableFuture;
/**
* @author Administrator
@@ -33,35 +46,20 @@
private SiteSettingServiceImpl siteSettingService;
@Autowired
private StockMapper stockMapper;
+
@Override
- public ServerResponse getDzList() {
-// List<StockDz> list = stockDzMapper.selectList(new QueryWrapper<StockDz>().eq("is_show", 1));
-// List<StockDzVo> stockDzVos = Lists.newArrayList();
-// for (StockDz stockDz : list) {
-// StockListVO stockListVO = SinaStockApi.assembleInStockListVO(SinaStockApi.getInStockDetail(stockDz.getStockCode()));
-// BigDecimal price = new BigDecimal(stockListVO.getNowPrice()).multiply(stockDz.getDiscount());
-//
-// StockDzVo stockDzVo = new StockDzVo();
-// stockDzVo.setId(stockDz.getId());
-// stockDzVo.setStockName(stockDz.getStockName());
-// stockDzVo.setStockCode(stockDz.getStockCode());
-// stockDzVo.setPrice(price);
-// stockDzVo.setStockType(stockDz.getStockType());
-// stockDzVo.setStockGid(stockDz.getStockGid());
-// stockDzVo.setStockPlate(stockDz.getStockPlate());
-// stockDzVo.setIsLock(stockDz.getIsLock());
-// stockDzVo.setStockNum(stockDz.getStockNum());
-// stockDzVo.setStartTime(stockDz.getStartTime());
-// stockDzVo.setEndTime(stockDz.getEndTime());
-// stockDzVos.add(stockDzVo);
-// }
- return ServerResponse.createBySuccess();
+ public ServerResponse getDzList(int pageNum, int pageSize, String orderBy, String keyWords, HttpServletRequest request) {
+ PageHelper.startPage(pageNum, pageSize);
+ String formatDate = DateUtil.format(new Date(), DatePattern.NORM_DATETIME_PATTERN);
+ List<StockDz> stockTypeDz = stockMapper.findStockTypeDz(orderBy, keyWords,formatDate);
+ RPageInfo pageInfo = new RPageInfo();
+ pageInfo.setList(stockTypeDz);
+ return ServerResponse.createBySuccess(pageInfo);
}
@Override
- public ServerResponse addByAdmin(String stockCode, String stockNum, String password, String startTime, String endTime, String discount,Integer period) {
- if (stockCode == null || stockCode.equals("")||stockNum == null || stockNum.equals("")||password == null || discount == null|| discount.equals("")||
- password.equals("")|| startTime == null || startTime.equals("")||endTime == null || endTime.equals("") || period == null){
+ public ServerResponse addByAdmin(String stockCode, String stockNum, String password, String startTime, String endTime, String discount,Integer period,String nowPrice,Integer switchType) {
+ if (stockCode == null || stockCode.equals("")||stockNum == null || stockNum.equals("")|| startTime == null || startTime.equals("")||endTime == null || endTime.equals("") || period == null || nowPrice == null){
return ServerResponse.createByErrorMsg("参数不能为空");
}
@@ -72,10 +70,7 @@
if (stock == null){
return ServerResponse.createByErrorMsg("股票代码不存在");
}
- Long count = stockDzMapper.selectCount(new LambdaQueryWrapper<StockDz>().eq(StockDz::getStockCode, stockCode));
- if(count > 0){
- return ServerResponse.createByErrorMsg("股票代码已存在");
- }
+
StockDz stockDz = new StockDz();
stockDz.setStockName(stock.getStockName());
stockDz.setStockCode(stock.getStockCode());
@@ -91,8 +86,10 @@
stockDz.setPassword(password);
stockDz.setStartTime(DateTimeUtil.strToDate(startTime));
stockDz.setEndTime(DateTimeUtil.strToDate(endTime));
- stockDz.setDiscount(new BigDecimal(discount));
+// stockDz.setDiscount(new BigDecimal(discount));
stockDz.setPeriod(period);
+ stockDz.setSwitchType(switchType);
+ stockDz.setNowPrice(new BigDecimal(nowPrice));
int res = stockDzMapper.insert(stockDz);
if (res > 0) {
return ServerResponse.createBySuccessMsg("添加成功");
diff --git a/src/main/java/com/nq/service/impl/StockServiceImpl.java b/src/main/java/com/nq/service/impl/StockServiceImpl.java
index 3196cba..09a2504 100644
--- a/src/main/java/com/nq/service/impl/StockServiceImpl.java
+++ b/src/main/java/com/nq/service/impl/StockServiceImpl.java
@@ -171,14 +171,8 @@
@Override
public ServerResponse getStockByType(int pageNum, int pageSize, String orderBy, String keyWords, String stockType, HttpServletRequest request) {
List<Stock> stockList = new ArrayList<>();
- if(stockType.equals(EStockType.IN.getCode())){
- PageHelper.startPage(pageNum, pageSize);
- stockList.addAll(stockMapper.findStockByType(orderBy,stockType,keyWords));
- }else{
- PageHelper.startPage(pageNum, pageSize);
- stockList.addAll(stockMapper.findStockTypeDz(orderBy,EStockType.IN.getCode(), keyWords));
- }
-
+ PageHelper.startPage(pageNum, pageSize);
+ stockList.addAll(stockMapper.findStockByType(orderBy,stockType,keyWords));
List<StockListVO> stockListVOS = Lists.newArrayList();
if (stockList.size() > 0){
stockListVOS.addAll(Objects.requireNonNull(StockApi.getStockReailTimes(stockList)));
@@ -501,9 +495,9 @@
return ServerResponse.createBySuccess(this.stockMapper.selectByPrimaryKey(stockId));
}
- public ServerResponse<PageInfo> listByAdmin(Integer showState, Integer lockState, String code, String name, String stockPlate, String stockType, int pageNum, int pageSize, HttpServletRequest request) {
+ public ServerResponse<PageInfo> listByAdmin(String stockGid,Integer showState, Integer lockState, String code, String name, String stockPlate, String stockType, int pageNum, int pageSize, HttpServletRequest request) {
PageHelper.startPage(pageNum, pageSize);
- List<Stock> stockList = this.stockMapper.listByAdmin(showState, lockState, code, name, stockPlate, stockType);
+ List<Stock> stockList = this.stockMapper.listByAdmin(stockGid,showState, lockState, code, name, stockPlate, stockType);
List<StockAdminListVO> stockAdminListVOS = Lists.newArrayList();
for (Stock stock : stockList) {
StockAdminListVO stockAdminListVO = assembleStockAdminListVO(stock);
diff --git a/src/main/java/com/nq/service/impl/StockSettingServicesImpl.java b/src/main/java/com/nq/service/impl/StockSettingServicesImpl.java
index 32c3f72..04fce48 100644
--- a/src/main/java/com/nq/service/impl/StockSettingServicesImpl.java
+++ b/src/main/java/com/nq/service/impl/StockSettingServicesImpl.java
@@ -1,5 +1,6 @@
package com.nq.service.impl;
+import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.nq.common.ServerResponse;
import com.nq.dao.StockMapper;
@@ -36,7 +37,10 @@
@Override
public ServerResponse saveStockSetting(StockSetting stockSetting) {
-
+ Long count = stockSettingMapper.selectCount(new LambdaQueryWrapper<StockSetting>().eq(StockSetting::getStockCode, stockSetting.getStockCode()));
+ if(count > 0){
+ return ServerResponse.createByErrorMsg("已存在相同股票");
+ }
Stock stock = stockMapper.findStockByCode(stockSetting.getStockCode());
if(stock == null){
return ServerResponse.createByErrorMsg("添加股票不存在");
diff --git a/src/main/java/com/nq/service/impl/StockSubscribeServiceImpl.java b/src/main/java/com/nq/service/impl/StockSubscribeServiceImpl.java
index 16c1dd3..cc11dbf 100644
--- a/src/main/java/com/nq/service/impl/StockSubscribeServiceImpl.java
+++ b/src/main/java/com/nq/service/impl/StockSubscribeServiceImpl.java
@@ -1,5 +1,6 @@
package com.nq.service.impl;
+import cn.hutool.core.convert.Convert;
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
@@ -18,6 +19,7 @@
import javax.annotation.Resource;
import javax.servlet.http.HttpServletRequest;
+import javax.xml.stream.events.EntityDeclaration;
import java.util.Date;
import java.util.List;
@@ -47,7 +49,7 @@
* @Date: 2022/10/25
*/
@Override
- public ServerResponse list(String name, String code, Integer zt,Integer getType, Integer isLock, Integer type, HttpServletRequest request) {
+ public ServerResponse list(String name, String code, Integer zt,Integer getType, Integer isLock, Integer type, Integer stockType,Integer postType,HttpServletRequest request) {
//name和code模糊查询
QueryWrapper<StockSubscribe> queryWrapper = new QueryWrapper();
@@ -66,11 +68,28 @@
if (type != null && !type.equals("")) {
queryWrapper.eq("type", type);
}
- if(getType == 1){
- queryWrapper.gt("list_date", new Date());
+// if(getType == 1){
+// queryWrapper.gt("list_date", new Date());
+// }
+ if(stockType != null){
+ queryWrapper.eq("stock_type", stockType);
}
queryWrapper.orderByDesc("newlist_id");
+// if(postType == 0){
+// queryWrapper.select(StockSubscribe.class, info -> !info.getColumn().equals("password"));
+// }
List<StockSubscribe> stockSubscribeList = this.stockSubscribeMapper.selectList(queryWrapper);
+
+ Date newDate = new Date();
+
+ for (StockSubscribe stockSubscribe : stockSubscribeList) {
+ Date startDate = stockSubscribe.getSubscribeTime();
+ Date endDate = stockSubscribe.getSubscriptionTime();
+
+ boolean isBetween = newDate.after(startDate) && newDate.before(endDate);
+ stockSubscribe.setIsBetween(isBetween);
+ }
+
PageInfo pageInfo = new PageInfo(stockSubscribeList);
pageInfo.setList(stockSubscribeList);
@@ -92,12 +111,7 @@
if(null == stock){
return ServerResponse.createByErrorMsg("新股代码不存在");
}
- Long count = stockSubscribeMapper.selectCount(new LambdaQueryWrapper<StockSubscribe>()
- .eq(StockSubscribe::getCode, model.getCode())
- .eq(StockSubscribe::getType, model.getType()));
- if(count > 0){
- return ServerResponse.createByErrorMsg("新股已存在");
- }
+
int resultCount = this.stockSubscribeMapper.insert(model);
if (resultCount > 0) {
return ServerResponse.createBySuccessMsg("添加新股成功");
@@ -118,18 +132,13 @@
if (stockSubscribe == null) {
return ServerResponse.createByErrorMsg("新股不存在");
}
- Long count = stockSubscribeMapper.selectCount(new LambdaQueryWrapper<StockSubscribe>()
- .eq(StockSubscribe::getCode, model.getCode())
- .eq(StockSubscribe::getType, model.getType()).ne(StockSubscribe::getNewlistId,model.getNewlistId()));
- if(count > 0){
- return ServerResponse.createByErrorMsg("新股已存在");
- }
+
//修改新股
int resultCount = this.stockSubscribeMapper.updateById(model);
//修改用户申购的新股代码
List<UserStockSubscribe> userStockSubscribes = userStockSubscribeMapper
.selectList(new LambdaQueryWrapper<UserStockSubscribe>()
- .eq(UserStockSubscribe::getNewCode, stockSubscribe.getCode()));
+ .eq(UserStockSubscribe::getNewStockId, stockSubscribe.getNewlistId()));
for (UserStockSubscribe u : userStockSubscribes) {
u.setNewCode(model.getCode());
userStockSubscribeMapper.updateById(u);
diff --git a/src/main/java/com/nq/service/impl/TradingHourServiceImpl.java b/src/main/java/com/nq/service/impl/TradingHourServiceImpl.java
index 30b1cbb..1527cb9 100644
--- a/src/main/java/com/nq/service/impl/TradingHourServiceImpl.java
+++ b/src/main/java/com/nq/service/impl/TradingHourServiceImpl.java
@@ -1,5 +1,7 @@
package com.nq.service.impl;
+import cn.hutool.core.date.DateTime;
+import cn.hutool.core.date.DateUtil;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import com.nq.dao.StockMapper;
@@ -16,6 +18,7 @@
import javax.annotation.Resource;
import java.time.LocalDate;
+import java.util.Date;
/**
* @program: dabao
@@ -49,7 +52,10 @@
StockTimeSetting stockTimeSetting = stockTimeSettingMapper.selectOne(new QueryWrapper<StockTimeSetting>().eq("accets_type",stock.getStockType()));
if(stockSetting!= null){
// 说明进入盘前交易或者盘后交易时间
- if(TimeUtil.isTradingHour(stockSetting.getStartTime(),stockSetting.getEndTime())){
+ Date newDate = new Date();
+ DateTime startTime = DateUtil.parseDateTime(stockSetting.getStartTime());
+ DateTime endTime = DateUtil.parseDateTime(stockSetting.getEndTime());
+ if(newDate.after(startTime) && newDate.before(endTime)){
return true;
}
}
diff --git a/src/main/java/com/nq/service/impl/UserBankServiceImpl.java b/src/main/java/com/nq/service/impl/UserBankServiceImpl.java
index 5ceb463..5bc772a 100644
--- a/src/main/java/com/nq/service/impl/UserBankServiceImpl.java
+++ b/src/main/java/com/nq/service/impl/UserBankServiceImpl.java
@@ -1,6 +1,9 @@
package com.nq.service.impl;
+import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
+import com.baomidou.mybatisplus.core.toolkit.CollectionUtils;
+import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import com.nq.common.ServerResponse;
import com.nq.dao.UserBankMapper;
@@ -17,6 +20,7 @@
import com.nq.vo.user.UserBankInfoVO;
import java.util.Date;
+import java.util.List;
import javax.annotation.Resource;
import javax.servlet.http.HttpServletRequest;
@@ -26,7 +30,7 @@
import org.springframework.stereotype.Service;
@Service("iUserBankService")
- public class UserBankServiceImpl implements IUserBankService {
+ public class UserBankServiceImpl extends ServiceImpl<UserBankMapper, UserBank> implements IUserBankService {
@Resource
UserBankMapper userBankMapper;
@@ -34,100 +38,44 @@
@Autowired
IUserService iUserService;
- public UserBank findUserBankByUserId(Integer userId) { return this.userBankMapper.findUserBankByUserId(userId); }
-
+ @Override
public ServerResponse addBank(UserBank bank, HttpServletRequest request) {
User user = this.iUserService.getCurrentUser(request);
- UserBank dbBank = this.userBankMapper.findUserBankByUserId(user.getId());
- if (dbBank != null) {
+ List<UserBank> userBanks = this.userBankMapper.selectList(new LambdaQueryWrapper<UserBank>().eq(UserBank::getBankNo, bank.getBankNo()));
+ if (CollectionUtils.isNotEmpty(userBanks)) {
return ServerResponse.createByErrorMsg("银行信息已经存在。不要再加一次",request );
}
- UserBank userBank = new UserBank();
-
- userBank.setUserId(user.getId());
-
- userBank.setBankName(bank.getBankName());
-
- userBank.setBankNo(bank.getBankNo());
-
- userBank.setBankAddress(bank.getBankAddress());
-
- userBank.setBankImg(bank.getBankImg());
-
- userBank.setBankPhone(bank.getBankPhone());
-
- userBank.setAddTime(new Date());
-
- int insertCount = this.userBankMapper.insert(userBank);
-
+ bank.setUserId(user.getId());
+ int insertCount = this.userBankMapper.insert(bank);
if (insertCount > 0) {
return ServerResponse.createBySuccess("添加银行卡成功",request );
-
}
-
return ServerResponse.createByErrorMsg("添加银行卡失败",request );
}
public ServerResponse updateBank(UserBank bank, HttpServletRequest request) {
- User user = this.iUserService.getCurrentUser(request);
-
- UserBank dbBank = this.userBankMapper.findUserBankByUserId(user.getId());
-
+ UserBank dbBank = this.userBankMapper.selectById(bank.getId());
if (dbBank == null) {
-
return ServerResponse.createByErrorMsg("修改失败。银行找不到",request );
-
}
-
- dbBank.setBankName(bank.getBankName());
-
- dbBank.setBankNo(bank.getBankNo());
-
- dbBank.setBankAddress(bank.getBankAddress());
-
- dbBank.setBankImg(bank.getBankImg());
-
- dbBank.setBankPhone(bank.getBankPhone());
-
- int updateCount = this.userBankMapper.updateByPrimaryKeySelective(dbBank);
-
+ int updateCount = this.userBankMapper.updateByPrimaryKeySelective(bank);
if (updateCount > 0) {
-
return ServerResponse.createBySuccess("修改银行卡成功",request );
-
}
-
return ServerResponse.createByErrorMsg("修改银行卡失败",request );
}
+ @Override
public ServerResponse getBankInfo(HttpServletRequest request) {
-
User user = this.iUserService.getCurrentUser(request);
-
- UserBank dbBank = this.userBankMapper.findUserBankByUserId(user.getId());
-
- if (dbBank == null) {
-
+ List<UserBank> userBanks = this.userBankMapper.selectList(new LambdaQueryWrapper<UserBank>().eq(UserBank::getUserId,user.getId()));
+ if (userBanks == null) {
return ServerResponse.createByErrorMsg("没有添加银行信息",request );
-
}
-
- UserBankInfoVO userBankInfoVO = new UserBankInfoVO();
-
- userBankInfoVO.setRealName(user.getRealName());
-
- userBankInfoVO.setBankName(dbBank.getBankName());
-
- userBankInfoVO.setBankImg(dbBank.getBankImg());
-
- userBankInfoVO.setBankAddress(dbBank.getBankAddress());
-
- userBankInfoVO.setBankNo(dbBank.getBankNo());
-
- return ServerResponse.createBySuccess(userBankInfoVO);
+ return ServerResponse.createBySuccess(userBanks);
}
@@ -149,6 +97,6 @@
}
- public ServerResponse getBank(Integer userId) { return ServerResponse.createBySuccess(this.userBankMapper.findUserBankByUserId(userId)); }
+ public ServerResponse getBank(Integer userId) { return ServerResponse.createBySuccess(this.userBankMapper.selectList(new LambdaQueryWrapper<UserBank>().eq(UserBank::getUserId,userId)));}
}
diff --git a/src/main/java/com/nq/service/impl/UserPositionCheckDzServiceImpl.java b/src/main/java/com/nq/service/impl/UserPositionCheckDzServiceImpl.java
new file mode 100644
index 0000000..5afb5a1
--- /dev/null
+++ b/src/main/java/com/nq/service/impl/UserPositionCheckDzServiceImpl.java
@@ -0,0 +1,19 @@
+package com.nq.service.impl;
+
+import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
+import com.nq.dao.UserPendingorderMapper;
+import com.nq.dao.UserPositionCheckDzMapper;
+import com.nq.pojo.UserPendingorder;
+import com.nq.pojo.UserPositionCheckDz;
+import com.nq.service.UserPendingorderService;
+import com.nq.service.UserPositionCheckDzService;
+import org.springframework.stereotype.Service;
+
+/**
+ * @program: dabaogp
+ * @description:
+ * @create: 2024-07-02 14:25
+ **/
+@Service
+public class UserPositionCheckDzServiceImpl extends ServiceImpl<UserPositionCheckDzMapper, UserPositionCheckDz> implements UserPositionCheckDzService {
+}
diff --git a/src/main/java/com/nq/service/impl/UserPositionServiceImpl.java b/src/main/java/com/nq/service/impl/UserPositionServiceImpl.java
index 125b73e..9eb87e6 100644
--- a/src/main/java/com/nq/service/impl/UserPositionServiceImpl.java
+++ b/src/main/java/com/nq/service/impl/UserPositionServiceImpl.java
@@ -1,5 +1,6 @@
package com.nq.service.impl;
+import cn.hutool.core.convert.Convert;
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.nq.dao.*;
@@ -123,6 +124,8 @@
@Autowired
IStockConfigServices iStockConfigServices;
+ @Autowired
+ UserPositionCheckDzService userPositionCheckDzService;
@@ -1183,7 +1186,7 @@
if (userStockSubscribe == null) {
return ServerResponse.createByErrorMsg("无该申购记录");
}
- StockSubscribe stockSubscribe = stockSubscribeMapper.selectOne(new QueryWrapper<StockSubscribe>().eq("code", userStockSubscribe.getNewCode()).eq("type",userStockSubscribe.getType()));
+ StockSubscribe stockSubscribe = stockSubscribeMapper.selectOne(new QueryWrapper<StockSubscribe>().eq("newlist_id", userStockSubscribe.getNewStockId()));
if (userStockSubscribe == null) {
return ServerResponse.createByErrorMsg("该新股不存在");
}
@@ -1546,7 +1549,7 @@
* @return
*/
@Transactional
- public ServerResponse buyDz(String stockCode, String password, Integer num, HttpServletRequest request) throws Exception {
+ public ServerResponse buyDz(Integer dzId, String password, Integer num, HttpServletRequest request) throws Exception {
/*实名认证开关开启*/
SiteProduct siteProduct = iSiteProductService.getProductSetting();
User user = this.iUserService.getCurrentRefreshUser(request);
@@ -1561,8 +1564,8 @@
if(userAssets.getAmountToBeCovered().compareTo(BigDecimal.ZERO) > 0){
return ServerResponse.createByErrorMsg("请先缴清待补资金", request);
}
- StockDz stockDz = this.stockDzMapper.selectOne(new QueryWrapper<StockDz>().eq("stock_code", stockCode));
- if (!Objects.equals(stockDz.getPassword(), password)) {
+ StockDz stockDz = this.stockDzMapper.selectOne(new QueryWrapper<StockDz>().eq("id", dzId));
+ if (StringUtils.isNotEmpty(stockDz.getPassword()) && !Objects.equals(stockDz.getPassword(), password)) {
return ServerResponse.createByErrorMsg("密码错误", request);
}
if (stockDz.getIsLock() != 0) {
@@ -1574,7 +1577,8 @@
if(stockDz.getStartTime().getTime() > new Date().getTime() || stockDz.getEndTime().getTime() < new Date().getTime()){
return ServerResponse.createByErrorMsg("不在内幕交易时间之内", request);
}
- BigDecimal nowPrice = priceServices.getNowPrice(stockCode).multiply(stockDz.getDiscount());
+// BigDecimal nowPrice = priceServices.getNowPrice(stockDz.getStockCode()).multiply(stockDz.getDiscount());
+ BigDecimal nowPrice = stockDz.getNowPrice();
if (nowPrice.compareTo(new BigDecimal("0")) == 0) {
return ServerResponse.createByErrorMsg("股票价格0,请重试", request);
@@ -1589,7 +1593,23 @@
return ServerResponse.createByErrorMsg("订单失败,配资不足", request);
}
+ //判断审核开关
+ if(stockDz.getSwitchType() == 1){
+ UserPosition userPosition = getUserPosition(num, user, stockDz, nowPrice, stock, buyAmt);
+ UserPositionCheckDz userPositionCheckDz = Convert.convert(UserPositionCheckDz.class, userPosition);
+ userPositionCheckDz.setDzId(dzId);
+ userPositionCheckDzService.save(userPositionCheckDz);
+ return ServerResponse.createBySuccess("购买成功,等待审核", request);
+ }
+
// 创建UserPosition对象
+ UserPosition userPosition = getUserPosition(num, user, stockDz, nowPrice, stock, buyAmt);
+ userPositionMapper.insert(userPosition);
+ userAssetsServices.availablebalanceChange(EStockType.IN.getCode(), user.getId(), EUserAssets.BUY, buyAmt.negate(),"","");
+ return ServerResponse.createBySuccess("购买成功", request);
+ }
+
+ private UserPosition getUserPosition(Integer num, User user, StockDz stockDz, BigDecimal nowPrice, Stock stock, BigDecimal buyAmt) {
UserPosition userPosition = new UserPosition();
userPosition.setPositionType(3);
userPosition.setPositionSn(KeyUtils.getUniqueKey());
@@ -1618,11 +1638,8 @@
userPosition.setAllProfitAndLose(all_profit_and_lose);
userPosition.setOrderStayDays(Integer.valueOf(0));
userPosition.setOrderStayFee(new BigDecimal("0"));
-
userPosition.setOrderSpread(BigDecimal.ZERO);
- userPositionMapper.insert(userPosition);
- userAssetsServices.availablebalanceChange(EStockType.IN.getCode(), user.getId(), EUserAssets.BUY, buyAmt.negate(),"","");
- return ServerResponse.createBySuccess("购买成功", request);
+ return userPosition;
}
@Override
diff --git a/src/main/java/com/nq/service/impl/UserServiceImpl.java b/src/main/java/com/nq/service/impl/UserServiceImpl.java
index 0e639bf..2bd9c4c 100644
--- a/src/main/java/com/nq/service/impl/UserServiceImpl.java
+++ b/src/main/java/com/nq/service/impl/UserServiceImpl.java
@@ -1,5 +1,6 @@
package com.nq.service.impl;
+import cn.hutool.core.convert.Convert;
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.github.pagehelper.PageHelper;
@@ -29,18 +30,21 @@
import com.nq.vo.position.PositionProfitVO;
import com.nq.vo.position.PositionVO;
import com.nq.vo.position.UserPositionVO;
+import com.nq.vo.stock.StockAdminListVO;
import com.nq.vo.stock.StockListVO;
import com.nq.vo.user.UserInfoVO;
import java.math.BigDecimal;
import java.math.RoundingMode;
-import java.util.ArrayList;
-import java.util.Arrays;
-import java.util.Date;
-import java.util.List;
+import java.text.ParseException;
+import java.text.SimpleDateFormat;
+import java.util.*;
+import java.util.stream.Collectors;
import javax.annotation.Resource;
import javax.servlet.http.HttpServletRequest;
+import com.nq.vo.user.UserOut;
+import org.apache.commons.lang3.Conversion;
import org.apache.commons.lang3.StringUtils;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
@@ -127,6 +131,9 @@
@Autowired
IPriceServices priceServices;
+
+ @Autowired
+ IUserService iUserService;
public ServerResponse reg(String yzmCode, String agentCode, String phone, String userPwd, HttpServletRequest request) {
@@ -798,15 +805,44 @@
}
- public ServerResponse listByAdmin(String realName, String phone, Integer agentId, Integer accountType, int pageNum, int pageSize, HttpServletRequest request) {
+ public ServerResponse listByAdmin(String realName, String phone, Integer agentId, Integer accountType, int pageNum, int pageSize, Integer isLock, Integer isLogin, String regTime, Integer isActive, HttpServletRequest request) throws ParseException {
PageHelper.startPage(pageNum, pageSize);
+ SimpleDateFormat inputFormat = new SimpleDateFormat("yyyy-MM-dd");
+ SimpleDateFormat outputFormat = new SimpleDateFormat("yyyy-MM-dd");
+ String formattedDateString = null;
+ if (StringUtils.isNotEmpty(regTime)) {
+ formattedDateString = outputFormat.format(inputFormat.parse(regTime));
+ }
+ List<User> users = this.userMapper.listByAdmin(realName, phone, agentId, accountType, isLock, isLogin, formattedDateString, isActive);
+ List<UserOut> userOuts = new ArrayList<>();
- List<User> users = this.userMapper.listByAdmin(realName, phone, agentId, accountType);
+ // 获取用户资产信息并构建返回结果
+ Map<Integer, UserOut> userOutMap = new HashMap<>();
+ for (User user : users) {
+ ServerResponse money = iUserService.getMoney(user.getId());
+ List<RUserAssets> rUserAssetsList = (List<RUserAssets>) money.getData();
+ RUserAssets rUserAssets = rUserAssetsList.stream()
+ .filter(stock -> "IN".equals(stock.getAccectType()))
+ .findFirst()
+ .orElse(null);
- PageInfo pageInfo = new PageInfo(users);
+ UserOut userOut = Convert.convert(UserOut.class, user);
+ if (rUserAssets != null) {
+ userOut.setTotalMoney(rUserAssets.getTotalMoney().equals("0E-8") ? "0" : rUserAssets.getTotalMoney());
+ userOut.setFreezeMoney(rUserAssets.getFreezeMoney().equals("0E-8") ? "0" : rUserAssets.getFreezeMoney());
+ userOut.setAvailableBalance(rUserAssets.getAvailableBalance().equals("0E-8") ? "0" : rUserAssets.getAvailableBalance());
+ }
+
+ userOutMap.put(user.getId(), userOut);
+ userOuts.add(userOut);
+ }
+
+ PageInfo pageInfo = new PageInfo(userOuts);
return ServerResponse.createBySuccess(pageInfo);
}
+
+
public ServerResponse findByUserId(Integer userId) {
@@ -1048,14 +1084,6 @@
BigDecimal futuresForceLine = futuresForcePercent.multiply(futuresPositionVO.getAllFuturesDepositAmt());
agentUserListVO.setFuturesForceLine(futuresForceLine);
-
-
- UserBank userBank = this.iUserBankService.findUserBankByUserId(user.getId());
- if (userBank != null) {
- agentUserListVO.setBankName(userBank.getBankName());
- agentUserListVO.setBankNo(userBank.getBankNo());
- agentUserListVO.setBankAddress(userBank.getBankAddress());
- }
return agentUserListVO;
}
diff --git a/src/main/java/com/nq/service/impl/UserStockSubscribeServiceImpl.java b/src/main/java/com/nq/service/impl/UserStockSubscribeServiceImpl.java
index 7469774..538a1b0 100644
--- a/src/main/java/com/nq/service/impl/UserStockSubscribeServiceImpl.java
+++ b/src/main/java/com/nq/service/impl/UserStockSubscribeServiceImpl.java
@@ -1,6 +1,7 @@
package com.nq.service.impl;
+import cn.hutool.core.convert.Convert;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.github.pagehelper.PageHelper;
import com.github.pagehelper.PageInfo;
@@ -19,6 +20,7 @@
import com.nq.utils.redis.JsonUtil;
import com.nq.utils.redis.RedisShardedPoolUtils;
import com.nq.utils.stock.BuyAndSellUtils;
+import com.nq.vo.stock.UserStockSubscribeAddIn;
import com.sun.org.apache.bcel.internal.generic.RETURN;
import lombok.extern.slf4j.Slf4j;
import org.apache.commons.lang3.StringUtils;
@@ -77,7 +79,7 @@
*/
@Override
@Transactional
- public ServerResponse insert(UserStockSubscribe model, HttpServletRequest request) throws Exception {
+ public ServerResponse insert(UserStockSubscribeAddIn model, HttpServletRequest request) throws Exception {
int ret = 0;
if (model == null) {
return ServerResponse.createByErrorMsg("参数错误",request);
@@ -86,7 +88,11 @@
UserAssets userAssets = iUserAssetsServices.assetsByTypeAndUserId("IN",user.getId());
if (model.getNewCode() != null) {
StockSubscribe stockSubscribe = stockSubscribeMapper.selectOne(new QueryWrapper<StockSubscribe>()
- .eq("code", model.getNewCode()).eq("type",model.getType()));
+ .eq("newlist_id", model.getNewlistId()));
+ //判断购买新股需不需要密钥
+ if(StringUtils.isNotEmpty(stockSubscribe.getPassword()) && !stockSubscribe.getPassword().equals(model.getPassword())){
+ return ServerResponse.createByErrorMsg("密钥输入错误",request);
+ }
//实名认证开关
SiteProduct siteProduct = iSiteProductService.getProductSetting();
if (siteProduct.getRealNameDisplay() && user.getIsActive() != 2) {
@@ -99,42 +105,58 @@
return ServerResponse.createByErrorMsg("不在认缴或配售时间之内",request);
}
- //重复申购限制
- UserStockSubscribe userStockSubscribe = userStockSubscribeMapper.selectOne(new QueryWrapper<UserStockSubscribe>().eq(
- "new_code", model.getNewCode()).eq("user_id", user.getId()).eq("type",model.getType()));
- if (userStockSubscribe != null) {
- return ServerResponse.createByErrorMsg("请勿重复申请",request);
- }
+// //重复申购限制
+// UserStockSubscribe userStockSubscribe = userStockSubscribeMapper.selectOne(new QueryWrapper<UserStockSubscribe>().eq(
+// "new_code", model.getNewCode()).eq("user_id", user.getId()).eq("type",model.getType()));
+// if (userStockSubscribe != null) {
+// return ServerResponse.createByErrorMsg("请勿重复申请",request);
+// }
if (siteProduct.getRealNameDisplay() && user.getIsLock().intValue() == 1) {
return ServerResponse.createByErrorMsg("订单失败,帐户已被锁定",request);
}
if (stockSubscribe == null) {
return ServerResponse.createByErrorMsg("新的股票代码不存在",request);
}
- if (model.getApplyNums() == null || model.getApplyNums() > stockSubscribe.getOrderNumber()|| model.getApplyNums() < 500) {
- return ServerResponse.createByErrorMsg("最小起订量是500,最大值"
- + stockSubscribe.getOrderNumber(),request);
+
+ if ( model.getApplyNums() == null){
+ // 申请数量为空时返回错误信息
+ return ServerResponse.createByErrorMsg("申请数量不能为空", request);
}
+
+ if (model.getApplyNums() > stockSubscribe.getOrderNumber()){
+ // 申请数量大于订单数量时返回错误信息
+ return ServerResponse.createByErrorMsg("最多可申购:" + stockSubscribe.getOrderNumber(), request);
+ }
+
if(stockSubscribe.getType() == 1){
model.setUserId(user.getId());
model.setNewName(stockSubscribe.getName());
model.setAgentId(user.getAgentId());
model.setAgentName(user.getAgentName());
model.setPhone(user.getPhone());
- model.setBuyPrice(stockSubscribe.getPrice());
- model.setBond(new BigDecimal(model.getApplyNums()).multiply(stockSubscribe.getPrice()));
+ model.setBuyPrice(stockSubscribe.getMinPrice() != null ? stockSubscribe.getMinPrice() : stockSubscribe.getPrice());
+ model.setBond(new BigDecimal(model.getApplyNums()).multiply((stockSubscribe.getMinPrice() != null ? stockSubscribe.getMinPrice() : stockSubscribe.getPrice())));
model.setRealName(Objects.equals(user.getRealName(), "")||user.getRealName()==null ?"模拟用户无实名":user.getRealName());
model.setAddTime(new Date());
model.setOrderNo(KeyUtils.getUniqueKey());
model.setType(stockSubscribe.getType());
- ret = userStockSubscribeMapper.insert(model);
+ UserStockSubscribe userStockSubscribe = Convert.convert(UserStockSubscribe.class, model);
+ userStockSubscribe.setNewStockId(stockSubscribe.getNewlistId());
+ ret = userStockSubscribeMapper.insert(userStockSubscribe);
if (ret > 0) {
return ServerResponse.createBySuccessMsg("申购成功",request);
} else {
return ServerResponse.createByErrorMsg("申购失败",request);
}
}else{
- BigDecimal bound = new BigDecimal(model.getApplyNums()).multiply(stockSubscribe.getPrice());
+
+ BigDecimal bound;
+ if(stockSubscribe.getMinPrice() != null || stockSubscribe.getMinPrice().compareTo(BigDecimal.ZERO)<0){
+ bound = new BigDecimal(model.getApplyNums()).multiply(stockSubscribe.getMinPrice());
+ }else{
+ bound = new BigDecimal(model.getApplyNums()).multiply(stockSubscribe.getPrice());
+ }
+
BigDecimal useEnaAmount = iUserAssetsServices.getAvailableBalance(EStockType.IN.getCode(), user.getId());
if(useEnaAmount.compareTo(bound)<0){
return ServerResponse.createByErrorMsg("余额不足,配售失败",request);
@@ -144,14 +166,16 @@
model.setAgentId(user.getAgentId());
model.setAgentName(user.getAgentName());
model.setPhone(user.getPhone());
- model.setBuyPrice(stockSubscribe.getPrice());
- model.setBond(new BigDecimal(model.getApplyNums()).multiply(stockSubscribe.getPrice()));
+ model.setBuyPrice(stockSubscribe.getMinPrice() != null ? stockSubscribe.getMinPrice() : stockSubscribe.getPrice());
+ model.setBond(new BigDecimal(model.getApplyNums()).multiply((stockSubscribe.getMinPrice() != null ? stockSubscribe.getMinPrice() : stockSubscribe.getPrice())));
model.setRealName(Objects.equals(user.getRealName(), "")||user.getRealName()==null ?"模拟用户无实名":user.getRealName());
model.setAddTime(new Date());
model.setOrderNo(KeyUtils.getUniqueKey());
model.setType(stockSubscribe.getType());
model.setDbMoney(BigDecimal.ZERO);
- ret = userStockSubscribeMapper.insert(model);
+ UserStockSubscribe userStockSubscribe = Convert.convert(UserStockSubscribe.class, model);
+ userStockSubscribe.setNewStockId(stockSubscribe.getNewlistId());
+ ret = userStockSubscribeMapper.insert(userStockSubscribe);
iUserAssetsServices.availablebalanceChange(EStockType.IN.getCode(), user.getId(),EUserAssets.BUY,bound.negate(),"","");
if (ret > 0) {
return ServerResponse.createBySuccessMsg("配售成功",request);
@@ -187,13 +211,13 @@
return ServerResponse.createByErrorMsg("不能更改申购状态");
}
StockSubscribe stockSubscribe = stockSubscribeMapper.selectOne(new QueryWrapper<>(new StockSubscribe())
- .eq("code", userStockSubscribe.getNewCode()).eq("type",userStockSubscribe.getType()));
+ .eq("newlist_id", userStockSubscribe.getNewStockId()));
if((model.getStatus() == 3 && model.getApplyNumber() == null) || (model.getStatus() == 3 && model.getApplyNumber() == 0) ){
return ServerResponse.createByErrorMsg("中签数量不能小于0");
}
if (model.getStatus() == 3 && model.getApplyNumber() != null){
if(stockSubscribe.getType() == 1){
- model.setBond(stockSubscribe.getPrice().multiply(BigDecimal.valueOf(model.getApplyNumber())));
+ model.setBond((stockSubscribe.getMinPrice() != null ? stockSubscribe.getMinPrice() : stockSubscribe.getPrice()).multiply(BigDecimal.valueOf(model.getApplyNumber())));
model.setDbMoney(model.getDbMoney());
//客户中签直接扣除客户账户可用资金
UserAssets userAssets = iUserAssetsServices.assetsByTypeAndUserId("IN", userStockSubscribe.getUserId());
@@ -216,10 +240,10 @@
return ServerResponse.createByErrorMsg("配置中签数量不能超过申请数量",request);
}
BigDecimal cCount = new BigDecimal(model.getApplyNums()-model.getApplyNumber());
- BigDecimal tMoney = stockSubscribe.getPrice().multiply(cCount);
+ BigDecimal tMoney = ((stockSubscribe.getMinPrice() != null ? stockSubscribe.getMinPrice() : stockSubscribe.getPrice())).multiply(cCount);
iUserAssetsServices.availablebalanceChange(EStockType.IN.getCode(),userStockSubscribe.getUserId(),
EUserAssets.TOP_UP,tMoney,"","");
- model.setBond(stockSubscribe.getPrice().multiply(BigDecimal.valueOf(model.getApplyNumber())));
+ model.setBond((stockSubscribe.getMinPrice() != null ? stockSubscribe.getMinPrice() : stockSubscribe.getPrice()).multiply(BigDecimal.valueOf(model.getApplyNumber())));
model.setDbMoney(BigDecimal.ZERO);
model.setStatus(4);
ret = userStockSubscribeMapper.update1(model);
@@ -286,13 +310,13 @@
model.setAgentId(user.getAgentId());
model.setAgentName(user.getAgentName());
StockSubscribe stockSubscribe = stockSubscribeMapper.selectOne(new QueryWrapper<>(new StockSubscribe())
- .eq("code", model.getNewCode()));
+ .eq("newlist_id", model.getNewStockId()));
if (stockSubscribe == null) {
return ServerResponse.createByErrorMsg("Failed. Ipo information does not exist");
}
model.setNewName(stockSubscribe.getName());
- model.setBuyPrice(stockSubscribe.getPrice());
+ model.setBuyPrice(stockSubscribe.getMinPrice() != null ? stockSubscribe.getMinPrice() : stockSubscribe.getPrice());
if (model.getApplyNums() > stockSubscribe.getOrderNumber() || model.getApplyNumber() > stockSubscribe.getOrderNumber()) {
return ServerResponse.createByErrorMsg("The number of applications or the number of wins is the maximum" + stockSubscribe.getOrderNumber());
}
@@ -319,7 +343,7 @@
if(model!=null){
//所有人发站内信
if(model.getUserId() == 0){
- List<User> users = this.userMapper.listByAdmin(null, null, null, null);
+ List<User> users = this.userMapper.listByAdmin(null, null, null, null,null,null,null,null);
for(int k=0;k<users.size();k++){
User user = users.get(k);
SiteMessage siteMessage = new SiteMessage();
@@ -384,8 +408,7 @@
List<UserStockSubscribe> list = new ArrayList<>();
for (UserStockSubscribe userStockSubscribe1 : userStockSubscribe) {
StockSubscribe stockSubscribe = stockSubscribeMapper.selectOne(new QueryWrapper<>(new StockSubscribe())
- .eq("code", userStockSubscribe1.getNewCode())
- .eq("type",userStockSubscribe1.getType()));
+ .eq("newlist_id", userStockSubscribe1.getNewStockId()));
if (stockSubscribe != null) {
list.add(userStockSubscribe1);
}
@@ -410,8 +433,6 @@
}
UserStockSubscribe userStockSubscribe = userStockSubscribeMapper.load(id);
if (userStockSubscribe != null && userStockSubscribe.getUserId().equals(user.getId())) {
- StockSubscribe stockSubscribe = stockSubscribeMapper.selectOne(new QueryWrapper<>(new StockSubscribe())
- .eq("code", userStockSubscribe.getNewCode()));
if(userStockSubscribe.getType()== 2 ){
return ServerResponse.createByErrorMsg("未中签,无需支付",request);
}
diff --git a/src/main/java/com/nq/service/impl/UserWithdrawServiceImpl.java b/src/main/java/com/nq/service/impl/UserWithdrawServiceImpl.java
index db8c88e..ee3a466 100644
--- a/src/main/java/com/nq/service/impl/UserWithdrawServiceImpl.java
+++ b/src/main/java/com/nq/service/impl/UserWithdrawServiceImpl.java
@@ -92,7 +92,7 @@
UserAssetsMapper userAssetsMapper;
@Transactional
- public ServerResponse outMoney(String amt, String with_Pwd,String accsetType,HttpServletRequest request) throws Exception {
+ public ServerResponse outMoney(String amt, String with_Pwd,String accsetType,String bankId,HttpServletRequest request) throws Exception {
if (StringUtils.isBlank(amt)) {
return ServerResponse.createByErrorMsg("The parameter cannot be null");
}
@@ -111,9 +111,9 @@
if (user.getIsActive() != 2) {
return ServerResponse.createByErrorMsg("未实名认证",request);
}
- UserBank userBank = this.iUserBankService.findUserBankByUserId(user.getId());
+ UserBank userBank = this.userBankMapper.selectById(bankId);
if (userBank == null) {
- return ServerResponse.createByErrorMsg("未绑定银行卡",request);
+ return ServerResponse.createByErrorMsg("银行卡不存在",request);
}
if (user.getAccountType().intValue() == 1) {
return ServerResponse.createByErrorMsg("模拟用户无法提取资金",request);
@@ -347,20 +347,6 @@
throw new Exception("修改用户资金出错,抛出异常");
}
userWithdraw.setWithMsg(authMsg);
- }else if(state == 1){
- // 发起第三方提现
- BigDecimal bgAmount = userWithdraw.getWithAmt();
- if(siteSetting.getWithdraw().equals("Top1")){
- withdrawMethod1(userWithdraw.getId()+"",bgAmount.toString(), userMapper.selectById(userWithdraw.getUserId()));
- } else if (siteSetting.getWithdraw().equals("Top2")) {
- withdrawMethod2(userWithdraw.getId()+"",bgAmount.toString(), userMapper.selectById(userWithdraw.getUserId()));
- }else if(siteSetting.getWithdraw().equals("Top3")){
- withdrawMethod3(userWithdraw.getId()+"",bgAmount.toString(), userMapper.selectById(userWithdraw.getUserId()));
- }else{
- withdrawMethod4(userWithdraw.getId()+"",bgAmount.toString(), userMapper.selectById(userWithdraw.getUserId()));
- }
-
-
}
userWithdraw.setWithStatus(state);
userWithdraw.setTransTime(new Date());
@@ -371,115 +357,6 @@
return ServerResponse.createByErrorMsg("操作失败!");
}
-
-
-
- public int withdrawMethod1(String ordersn, String payAmt, User user ) {
- UserBank userBank = userBankMapper.findUserBankByUserId(user.getId());
- Map<String,String> map = new HashedMap();
- map.put("mch_id",PayUtil.MCH_ID_TOP1);
- map.put("back_url","http://www.jumptalk.net:8091/api/pay/withdrawNotify.do");
- map.put("mch_transferId",ordersn);
- map.put("transfer_amount",payAmt);
- map.put("apply_date", DateTimeUtil.getCurrentDate(STANDARD_FORMAT));
- map.put("bank_code",userBank.getBankImg());
- map.put("receive_name",user.getRealName());
- map.put("receive_account",userBank.getBankNo());
- map.put("remark",userBank.getBankAddress());
- String signStr = SignUtil.sortData(map);
- map.put("sign_type","MD5");
- try {
- map.put("sign", SignAPI.sign(signStr,PayUtil.DF_TOKEN_TOP1));
- String reponse = HttpClientUtil.doPost(PayUtil.PAY_TRANSFER_ORDER_TOP1, map, "utf-8");
- com.alibaba.fastjson.JSONObject object = com.alibaba.fastjson.JSONObject.parseObject(reponse);
- }catch (Exception e){
- e.printStackTrace();
- }
- return -1;
- }
-
- public int withdrawMethod2(String ordersn, String payAmt, User user ) {
- UserBank userBank = userBankMapper.findUserBankByUserId(user.getId());
- Map<String,String> map = new HashedMap();
- map.put("mch_id",PayUtil.MCH_ID_TOP2);
- map.put("back_url","http://www.jumptalk.net:8091/api/pay/withdrawNotify2.do");
- map.put("mch_transferId",ordersn);
- map.put("transfer_amount",payAmt);
- map.put("apply_date", DateTimeUtil.getCurrentDate(STANDARD_FORMAT));
- map.put("bank_code",userBank.getBankImg());
- map.put("receive_name",user.getRealName());
- map.put("receive_account",userBank.getBankNo());
- map.put("remark",userBank.getBankAddress());
- String signStr = SignUtil.sortData(map);
- log.error("加密前排序字符 {}", signStr);
- map.put("sign_type","MD5");
- try {
- map.put("sign", SignAPI.sign(signStr,PayUtil.DF_TOKEN_TOP2));
- log.info("支付通道2 代付的参数 {}",new Gson().toJson(map));
- String reponse = HttpClientUtil.doPost(PayUtil.PAY_TRANSFER_ORDER_TOP2, map, "utf-8");
- log.info("支付通道2 审核返回的 {}",reponse);
- com.alibaba.fastjson.JSONObject object = com.alibaba.fastjson.JSONObject.parseObject(reponse);
- }catch (Exception e){
- e.printStackTrace();
- }
- return -1;
- }
-
-
- public int withdrawMethod3(String ordersn, String payAmt, User user ) {
- UserBank userBank = userBankMapper.findUserBankByUserId(user.getId());
- Map<String,String> map = new HashedMap();
- map.put("mch_id",PayUtil.MCH_ID_TOP3);
- map.put("back_url","http://www.jumptalk.net:8091/api/pay/withdrawNotify3.do");
- map.put("mch_transferId",ordersn);
- map.put("transfer_amount",payAmt);
- map.put("apply_date", DateTimeUtil.getCurrentDate(STANDARD_FORMAT));
- map.put("bank_code",userBank.getBankImg());
- map.put("receive_name",user.getRealName());
- map.put("receive_account",userBank.getBankNo());
- map.put("remark",userBank.getBankAddress());
- String signStr = SignUtil.sortData(map);
- log.error("加密前排序字符 {}", signStr);
- map.put("sign_type","MD5");
- try {
- map.put("sign", SignAPI.sign(signStr,PayUtil.DF_TOKEN_TOP3));
- log.info("支付通道3 代付的参数 {}",new Gson().toJson(map));
- String reponse = HttpClientUtil.doPost(PayUtil.PAY_TRANSFER_ORDER_TOP3, map, "utf-8");
- log.info("支付通道3 审核返回的 {}",reponse);
- }catch (Exception e){
- e.printStackTrace();
- }
- return -1;
- }
-
-
- public int withdrawMethod4(String ordersn, String payAmt, User user ) {
- UserBank userBank = userBankMapper.findUserBankByUserId(user.getId());
- Map<String,String> map = new HashedMap();
- map.put("mch_id",PayUtil.MCH_ID_TOP4);
- map.put("back_url","http://www.jumptalk.net:8091/api/pay/withdrawNotify4.do");
- map.put("mch_transferId",ordersn);
- map.put("transfer_amount",payAmt);
- map.put("apply_date", DateTimeUtil.getCurrentDate(STANDARD_FORMAT));
- map.put("bank_code",userBank.getBankImg());
- map.put("receive_name",user.getRealName());
- map.put("receive_account",userBank.getBankNo());
- map.put("remark",userBank.getBankAddress());
- String signStr = SignUtil.sortData(map);
- map.put("sign_type","MD5");
- try {
- map.put("sign", SignAPI.sign(signStr,PayUtil.DF_TOKEN_TOP1));
- String reponse = HttpClientUtil.doPost(PayUtil.PAY_TRANSFER_ORDER_TOP1, map, "utf-8");
- log.info("支付通道4 审核返回的 {}",reponse);
- }catch (Exception e){
- e.printStackTrace();
- }
- return -1;
- }
-
-
-
-
public int deleteByUserId(Integer userId) {
return this.userWithdrawMapper.deleteByUserId(userId);
diff --git a/src/main/java/com/nq/utils/stock/sina/StockApi.java b/src/main/java/com/nq/utils/stock/sina/StockApi.java
index f9f6dd5..76fb377 100644
--- a/src/main/java/com/nq/utils/stock/sina/StockApi.java
+++ b/src/main/java/com/nq/utils/stock/sina/StockApi.java
@@ -56,7 +56,7 @@
stockListVO.setName(stock.getStockName());
stockListVO.setCode(stock.getStockCode());
stockListVO.setSpell(stock.getStockSpell());
- stockListVO.setGid(stock.getStockGid().toUpperCase());
+ stockListVO.setGid(stock.getStockGid());
stockListVO.setStock_plate(stock.getStockPlate());
stockListVO.setStock_type(stock.getStockType());
stockListVOs.add(stockListVO);
diff --git a/src/main/java/com/nq/vo/stock/PageQuery.java b/src/main/java/com/nq/vo/stock/PageQuery.java
new file mode 100644
index 0000000..b5b0f92
--- /dev/null
+++ b/src/main/java/com/nq/vo/stock/PageQuery.java
@@ -0,0 +1,56 @@
+package com.nq.vo.stock;
+
+import cn.hutool.core.util.StrUtil;
+import com.baomidou.mybatisplus.core.metadata.OrderItem;
+import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
+import lombok.AllArgsConstructor;
+import lombok.Builder;
+import lombok.Data;
+import lombok.NoArgsConstructor;
+
+@Data
+@Builder
+@AllArgsConstructor
+@NoArgsConstructor
+public class PageQuery {
+ private Long pageNo;
+ private Long pageSize;
+ private String sortBy;
+ private Boolean isAsc;
+
+ public <T> Page<T> toMpPage(OrderItem ... items){
+ // 1.分页条件
+ Page<T> page = Page.of(pageNo, pageSize);
+ // 2.排序条件
+ if(StrUtil.isNotBlank(sortBy)){
+ // 不为空
+ OrderItem orderItem=new OrderItem();
+ //排序方式
+ orderItem.setAsc(isAsc);
+ //排序字段
+ orderItem.setColumn(sortBy);
+ page.addOrder(orderItem);
+ }else if(items != null){
+ // 为空,默认排序
+ page.addOrder(items);
+ }
+ return page;
+ }
+
+ public <T> Page<T> toMpPage(String defaultSortBy, boolean isAsc){
+ OrderItem orderItem=new OrderItem();
+ //排序方式
+ orderItem.setAsc(isAsc);
+ //排序字段
+ orderItem.setColumn(defaultSortBy);
+ return this.toMpPage(orderItem);
+ }
+
+ public <T> Page<T> toMpPageDefaultSortByCreateTimeDesc() {
+ return toMpPage("create_time", false);
+ }
+
+ public <T> Page<T> toMpPageDefaultSortByUpdateTimeDesc() {
+ return toMpPage("update_time", false);
+ }
+}
\ No newline at end of file
diff --git a/src/main/java/com/nq/vo/stock/StockListVO.java b/src/main/java/com/nq/vo/stock/StockListVO.java
index d7803c1..0402052 100644
--- a/src/main/java/com/nq/vo/stock/StockListVO.java
+++ b/src/main/java/com/nq/vo/stock/StockListVO.java
@@ -9,6 +9,8 @@
public class StockListVO {
+ private String id;
+
private String name;
private String code;
diff --git a/src/main/java/com/nq/vo/stock/UserStockSubscribeAddIn.java b/src/main/java/com/nq/vo/stock/UserStockSubscribeAddIn.java
new file mode 100644
index 0000000..cbbea24
--- /dev/null
+++ b/src/main/java/com/nq/vo/stock/UserStockSubscribeAddIn.java
@@ -0,0 +1,123 @@
+package com.nq.vo.stock;
+
+import com.baomidou.mybatisplus.annotation.IdType;
+import com.baomidou.mybatisplus.annotation.TableField;
+import com.baomidou.mybatisplus.annotation.TableId;
+import com.fasterxml.jackson.annotation.JsonFormat;
+import lombok.Data;
+
+import java.math.BigDecimal;
+import java.util.Date;
+
+/**
+ * @program: dabaogp
+ * @description:
+ * @create: 2024-07-02 17:50
+ **/
+@Data
+public class UserStockSubscribeAddIn {
+
+ private static final long serialVersionUID = 1L;
+
+ /**
+ * 主键id
+ */
+ private Integer id;
+ /**
+ *訂單編號
+ */
+ private String orderNo;
+ /**
+ * 用户id
+ */
+ private Integer userId;
+
+ /**
+ * 用户真实姓名
+ */
+ private String realName;
+
+ /**
+ * 用户手机号
+ */
+ private String phone;
+
+ /**
+ * 代理id
+ */
+ private Integer agentId;
+
+ /**
+ * 代理姓名
+ */
+ private String agentName;
+
+
+ /**
+ * 申购股票代码
+ */
+ private String newCode;
+ /**
+ * 申购股票名称
+ */
+ private String newName;
+ /**
+ * 保证金
+ *
+ */
+ private BigDecimal bond;
+ /**
+ * 发行价格
+ *
+ */
+ private BigDecimal buyPrice;
+ /**
+ * 申购数量
+ *
+ */
+ private Integer applyNums;
+ /**
+ * 中签数量
+ *
+ */
+
+ private Integer applyNumber;
+ private Integer type;
+ /**
+ * 申购状态
+ *状态:1、已申购,2、未中签,3、已中签,4、已缴纳 5.已转持仓
+ */
+ private Integer status;
+ /**
+ * 添加时间
+ */
+ private Date addTime;
+
+ /**
+ * 提交时间
+ */
+ private Date submitTime;
+
+ /**
+ * 中签审核时间
+ */
+ private Date endTime;
+ /**
+ * 双融确定时间
+ */
+ private Date fixTime;
+ /**
+ * 备注
+ */
+ private String remarks;
+
+
+
+ private BigDecimal dbMoney;
+
+
+ private String password;
+
+ @TableField(exist = false)
+ private String newlistId;
+}
diff --git a/src/main/java/com/nq/vo/user/UserOut.java b/src/main/java/com/nq/vo/user/UserOut.java
new file mode 100644
index 0000000..857e87a
--- /dev/null
+++ b/src/main/java/com/nq/vo/user/UserOut.java
@@ -0,0 +1,29 @@
+package com.nq.vo.user;
+
+import com.nq.pojo.User;
+import lombok.Data;
+
+import java.math.BigDecimal;
+
+/**
+ * @program: dabaogp
+ * @description:
+ * @create: 2024-07-05 14:03
+ **/
+@Data
+public class UserOut extends User {
+ /**
+ * 总资产
+ * */
+ private String totalMoney;
+ /**
+ * 总可用余额
+ * */
+ private String availableBalance;
+
+ /**
+ * 总冻结资产
+ * */
+ private String freezeMoney;
+
+}
diff --git a/src/main/java/com/nq/vo/user/UserQueryParams.java b/src/main/java/com/nq/vo/user/UserQueryParams.java
new file mode 100644
index 0000000..d0c7124
--- /dev/null
+++ b/src/main/java/com/nq/vo/user/UserQueryParams.java
@@ -0,0 +1,27 @@
+package com.nq.vo.user;
+
+import lombok.Data;
+
+import java.sql.Date;
+
+
+/**
+ * @program: dabaogp
+ * @description:
+ * @create: 2024-07-05 11:43
+ **/
+@Data
+public class UserQueryParams {
+
+ private String realName;
+ private String phone;
+ private Integer agentId;
+ private Integer accountType;
+ private Integer isLock;
+ private Integer isLogin;
+ private String regTime;
+ private Integer isActive;
+ private int pageNum = 1;
+ private int pageSize = 10;
+
+}
diff --git a/src/main/resources/application.properties b/src/main/resources/application.properties
index 2781616..c7afa34 100644
--- a/src/main/resources/application.properties
+++ b/src/main/resources/application.properties
@@ -17,7 +17,7 @@
ftp.user=ftp_stock
ftp.pass=123456
ftp.address =/www/wwwroot/ftp_stock/
-ftp.server.http.prefix=https://img.dfddgj346.xyz/
+ftp.server.http.prefix=https://img.pentagon-member.com/
redis1.ip=localhost
redis1.port=6379
diff --git a/src/main/resources/mapper/StockDzMapper.xml b/src/main/resources/mapper/StockDzMapper.xml
index 9433454..e96c045 100644
--- a/src/main/resources/mapper/StockDzMapper.xml
+++ b/src/main/resources/mapper/StockDzMapper.xml
@@ -32,7 +32,7 @@
</sql>
<select id="findStockListByKeyWords" resultMap="BaseResultMap" parameterType="map">
SELECT
- <include refid="Base_Column_List" />
+ *
from stock_dz
<where>
<if test="keyWords != null and keyWords != '' ">
diff --git a/src/main/resources/mapper/StockMapper.xml b/src/main/resources/mapper/StockMapper.xml
index dea23bb..ecf4df2 100644
--- a/src/main/resources/mapper/StockMapper.xml
+++ b/src/main/resources/mapper/StockMapper.xml
@@ -280,6 +280,9 @@
<if test="stockType != null and stockType != '' ">
and stock_type = #{stockType}
</if>
+ <if test="stockGid != null and stockGid != '' ">
+ and stock_gid = #{stockGid}
+ </if>
</where>
</select>
@@ -329,27 +332,26 @@
</if>
</select>
- <select id="findStockTypeDz" resultMap="BaseResultMap" parameterType="map">
- select
- <include refid="Base_Column_List"/>
- FROM stock
+ <select id="findStockTypeDz" resultType="com.nq.pojo.StockDz" parameterType="map">
+ SELECT
+ *
+ FROM stock_dz
- where stock_type = #{stockType}
+ WHERE start_time < #{formatDate} AND end_time > #{formatDate}
<if test="keyWords != null and keyWords != '' ">
- and (stock_spell like concat('%',#{keyWords},'%') or stock_name like concat('%',#{keyWords},'%') )
+ AND (stock_spell LIKE #{keyWords} OR stock_name LIKE #{keyWords})
</if>
- and stock_code in(select stock_code from stock_dz)
-
- <if test="orderBy != null and orderBy == 'desc'" >
- order by increase_ratio desc
+ <if test="orderBy != null">
+ ORDER BY increase_ratio
+ <if test="orderBy == 'desc'">
+ DESC
+ </if>
+ <if test="orderBy == 'asc'">
+ ASC
+ </if>
</if>
- <if test="orderBy != null and orderBy == 'asc'" >
- order by increase_ratio asc
- </if>
-
-
</select>
diff --git a/src/main/resources/mapper/UserBankMapper.xml b/src/main/resources/mapper/UserBankMapper.xml
index f1e119b..2ff1458 100644
--- a/src/main/resources/mapper/UserBankMapper.xml
+++ b/src/main/resources/mapper/UserBankMapper.xml
@@ -131,12 +131,11 @@
- <select id="findUserBankByUserId" parameterType="integer" resultMap="BaseResultMap">
+ <select id="findUserBankByUserId" parameterType="integer" resultType="com.nq.pojo.UserBank">
SELECT
- <include refid="Base_Column_List"/>
+ *
FROM user_bank
WHERE user_id = #{userId}
- limit 1
</select>
diff --git a/src/main/resources/mapper/UserMapper.xml b/src/main/resources/mapper/UserMapper.xml
index 25e3a6a..0211f5b 100644
--- a/src/main/resources/mapper/UserMapper.xml
+++ b/src/main/resources/mapper/UserMapper.xml
@@ -84,7 +84,7 @@
<select id="listByAdmin" resultMap="BaseResultMap" parameterType="map">
SELECT
- <include refid="Base_Column_List"/>
+ *
FROM user
<where>
<if test="searchId != null ">
@@ -99,6 +99,18 @@
<if test="accountType != null ">
and account_type = #{accountType}
</if>
+ <if test="isLock != null ">
+ and is_lock = #{isLock}
+ </if>
+ <if test="isLogin != null ">
+ and is_login = #{isLogin}
+ </if>
+ <if test="regTime != null and regTime != ''">
+ and DATE_FORMAT(reg_time, '%Y-%m-%d') = #{regTime}
+ </if>
+ <if test="isActive != null ">
+ and is_active = #{isActive}
+ </if>
</where>
ORDER BY id DESC
</select>
--
Gitblit v1.9.3