From ecf9708688af3f3fae3199c33763dbd3811aa619 Mon Sep 17 00:00:00 2001
From: zj <1772600164@qq.com>
Date: Mon, 27 May 2024 14:19:09 +0800
Subject: [PATCH] 1
---
src/main/java/com/nq/service/impl/UserStockSubscribeServiceImpl.java | 8
target/classes/application.properties | 4
src/main/resources/mapper/StockDzMapper.xml | 4
src/main/java/com/nq/service/impl/UserPositionServiceImpl.java | 57 +++++++++
src/main/java/com/nq/common/interceptor/ApiUserAuthorityInterceptor.java | 2
src/main/java/com/nq/service/impl/UserServiceImpl.java | 95 ++++++---------
src/main/resources/mapper/UserMapper.xml | 4
src/main/resources/application.properties | 4
src/main/java/com/nq/common/ServerResponse.java | 4
src/main/java/com/nq/service/impl/FileUploadServiceImpl.java | 52 -------
src/main/java/com/nq/service/IPriceServices.java | 2
src/main/java/com/nq/controller/UserApiController.java | 2
src/main/java/com/nq/service/ITradingHourService.java | 1
src/main/java/com/nq/service/impl/PriceServicesImpl.java | 5
src/main/java/com/nq/service/impl/TradingHourServiceImpl.java | 26 ++++
src/main/java/com/nq/service/impl/StockServiceImpl.java | 2
target/classes/mapper/UserMapper.xml | 4
src/main/java/com/nq/controller/protol/UserController.java | 21 ++
src/main/java/com/nq/pojo/StockSetting.java | 2
target/classes/mapper/StockDzMapper.xml | 4
target/classes/application.yml | 2
src/main/java/com/nq/vo/stock/StockVO.java | 2
src/main/java/com/nq/dao/StockDzMapper.java | 3
src/main/java/com/nq/service/impl/StockSettingServicesImpl.java | 4
src/main/resources/application.yml | 2
25 files changed, 192 insertions(+), 124 deletions(-)
diff --git a/src/main/java/com/nq/common/ServerResponse.java b/src/main/java/com/nq/common/ServerResponse.java
index 208c7ac..bba92cd 100644
--- a/src/main/java/com/nq/common/ServerResponse.java
+++ b/src/main/java/com/nq/common/ServerResponse.java
@@ -106,7 +106,9 @@
return new ServerResponse(ResponseCode.ERROR.getCode(), new GoogleTranslateUtil().translate(errormsg,request.getHeader(LANG)));
}
-
+ public static <T> ServerResponse<T> createByErrorMsg(int errorcode,String errormsg, HttpServletRequest request) {
+ return new ServerResponse(errorcode, new GoogleTranslateUtil().translate(errormsg,request.getHeader(LANG)));
+ }
public static <T> ServerResponse<T> createByErrorCodeMsg(int errorcode, String errormsg) {
return new ServerResponse(errorcode, errormsg);
}
diff --git a/src/main/java/com/nq/common/interceptor/ApiUserAuthorityInterceptor.java b/src/main/java/com/nq/common/interceptor/ApiUserAuthorityInterceptor.java
index a1bc556..b557155 100644
--- a/src/main/java/com/nq/common/interceptor/ApiUserAuthorityInterceptor.java
+++ b/src/main/java/com/nq/common/interceptor/ApiUserAuthorityInterceptor.java
@@ -77,7 +77,7 @@
httpServletResponse.setCharacterEncoding("UTF-8");
httpServletResponse.setContentType("application/json;charset=UTF-8");
PrintWriter writer = httpServletResponse.getWriter();
- writer.print( new Gson().toJson(ServerResponse.createByErrorCodeMsg(401,"请登录")));
+ writer.print( new Gson().toJson(ServerResponse.createByErrorMsg(401,"请登录",httpServletRequest)));
writer.flush();
writer.close();
return false;
diff --git a/src/main/java/com/nq/controller/UserApiController.java b/src/main/java/com/nq/controller/UserApiController.java
index 7f2629a..cbfca32 100644
--- a/src/main/java/com/nq/controller/UserApiController.java
+++ b/src/main/java/com/nq/controller/UserApiController.java
@@ -59,8 +59,8 @@
@ResponseBody
public ServerResponse reg(@RequestParam("agentCode") String agentCode,
@RequestParam("phone") String phone,
- @RequestParam("phoneCode") String phoneCode,
@RequestParam("userPwd") String userPwd,
+ @RequestParam("phoneCode")String phoneCode,
HttpServletRequest httpServletRequest) {
return this.iUserService.reg(agentCode, phone,phoneCode, userPwd,httpServletRequest);
}
diff --git a/src/main/java/com/nq/controller/protol/UserController.java b/src/main/java/com/nq/controller/protol/UserController.java
index aa2e638..bad151f 100644
--- a/src/main/java/com/nq/controller/protol/UserController.java
+++ b/src/main/java/com/nq/controller/protol/UserController.java
@@ -1,6 +1,7 @@
package com.nq.controller.protol;
+import ch.qos.logback.core.util.FileUtil;
import com.google.common.collect.Maps;
import com.nq.common.ServerResponse;
import com.nq.enums.EStockType;
@@ -10,7 +11,13 @@
import com.nq.service.*;
import com.nq.utils.PropertiesUtil;
+import java.io.File;
+import java.io.FileOutputStream;
+import java.io.IOException;
+import java.io.InputStream;
import java.math.BigDecimal;
+import java.util.Arrays;
+import java.util.Base64;
import java.util.Map;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpSession;
@@ -25,6 +32,8 @@
import org.springframework.web.bind.annotation.RequestParam;
import org.springframework.web.bind.annotation.ResponseBody;
import org.springframework.web.multipart.MultipartFile;
+
+import static com.nq.service.impl.SiteNewsServiceImpl.convertBase64ToImage;
@Controller
@RequestMapping({"/user/"})
@@ -241,10 +250,10 @@
//图片上传
@RequestMapping({"upload.do"})
@ResponseBody
- public ServerResponse upload(HttpSession session, @RequestParam(value = "upload_file", required = false) MultipartFile file, HttpServletRequest request) {
- String path = request.getSession().getServletContext().getRealPath("upload");
+ public ServerResponse upload(HttpSession session, @RequestParam(value = "upload_file", required = false) MultipartFile file, HttpServletRequest request) throws IOException {
+ String path = PropertiesUtil.getProperty("ftp.address")+file.getOriginalFilename();
- ServerResponse serverResponse = this.iFileUploadService.upload(file, path);
+ ServerResponse serverResponse = iFileUploadService.upload(file, path);
if (serverResponse.isSuccess()) {
String targetFileName = serverResponse.getData().toString();
String url = PropertiesUtil.getProperty("ftp.server.http.prefix") + targetFileName;
@@ -256,7 +265,11 @@
return ServerResponse.createBySuccess(fileMap);
}
- return serverResponse;
+// convertBase64ToImage(file.getBytes().toString(),path);
+ Map fileMap = Maps.newHashMap();
+ fileMap.put("uri", file.getOriginalFilename());
+ fileMap.put("url", PropertiesUtil.getProperty("ftp.server.http.prefix")+file.getOriginalFilename());
+ return ServerResponse.createBySuccess(fileMap);
}
diff --git a/src/main/java/com/nq/dao/StockDzMapper.java b/src/main/java/com/nq/dao/StockDzMapper.java
index da9ed28..63bd8d8 100644
--- a/src/main/java/com/nq/dao/StockDzMapper.java
+++ b/src/main/java/com/nq/dao/StockDzMapper.java
@@ -4,6 +4,7 @@
import com.nq.pojo.StockDz;
import org.apache.ibatis.annotations.Param;
+import java.math.BigDecimal;
import java.util.List;
/**
@@ -15,6 +16,8 @@
public interface StockDzMapper extends BaseMapper<StockDz> {
List<StockDz> findStockListByKeyWords(@Param("keyWords") String paramString1);
+ BigDecimal getPrice(String stockCode);
+
}
diff --git a/src/main/java/com/nq/pojo/StockSetting.java b/src/main/java/com/nq/pojo/StockSetting.java
index b916581..50c712a 100644
--- a/src/main/java/com/nq/pojo/StockSetting.java
+++ b/src/main/java/com/nq/pojo/StockSetting.java
@@ -20,4 +20,6 @@
private String type;
// type = 0 价格 1为百分比
private String price;
+ //修改后的盘前价格 未修改过则为空
+ private String nowPrice;
}
diff --git a/src/main/java/com/nq/service/IPriceServices.java b/src/main/java/com/nq/service/IPriceServices.java
index ceb211c..cd479b3 100644
--- a/src/main/java/com/nq/service/IPriceServices.java
+++ b/src/main/java/com/nq/service/IPriceServices.java
@@ -7,4 +7,6 @@
BigDecimal getNowPrice(String stockCode);
BigDecimal getNowPrice(String stockCode, String stockType);
+
+ BigDecimal getPrice(String stockCode);
}
diff --git a/src/main/java/com/nq/service/ITradingHourService.java b/src/main/java/com/nq/service/ITradingHourService.java
index 7359865..4a3d6c1 100644
--- a/src/main/java/com/nq/service/ITradingHourService.java
+++ b/src/main/java/com/nq/service/ITradingHourService.java
@@ -2,6 +2,7 @@
public interface ITradingHourService {
Boolean timeCheck(String stockCode);
+ Boolean weekDayeCheck(String stockCode);
Boolean timeCheck();
}
diff --git a/src/main/java/com/nq/service/impl/FileUploadServiceImpl.java b/src/main/java/com/nq/service/impl/FileUploadServiceImpl.java
index 34b5b4c..ff46e73 100644
--- a/src/main/java/com/nq/service/impl/FileUploadServiceImpl.java
+++ b/src/main/java/com/nq/service/impl/FileUploadServiceImpl.java
@@ -3,8 +3,10 @@
import com.google.common.collect.Lists;
import com.nq.common.ServerResponse;
import com.nq.service.IFileUploadService;
+import com.nq.utils.PropertiesUtil;
import com.nq.utils.ftp.FTPUtil;
import java.io.File;
+import java.io.IOException;
import java.util.UUID;
import org.slf4j.Logger;
@@ -23,59 +25,15 @@
public ServerResponse upload(MultipartFile file, String path) {
-
String fileName = file.getOriginalFilename();
-
-
- String fileExtentionName = fileName.substring(fileName.lastIndexOf(".") + 1);
-
-
- String uploadFileName = UUID.randomUUID() + "." + fileExtentionName;
-
-
- File fileDir = new File(path);
-
-
- if (!fileDir.exists()) {
-
-
- fileDir.setWritable(true);
-
- fileDir.mkdirs();
-
- }
-
-
- File tartgetFile = new File(path, uploadFileName);
-
- boolean result = false;
-
+ File tartgetFile = new File(PropertiesUtil.getProperty("ftp.address"), fileName);
try {
-
file.transferTo(tartgetFile);
-
-
- result = FTPUtil.uploadFile(Lists.newArrayList(new File[]{tartgetFile}));
-
-
- tartgetFile.delete();
-
- } catch (Exception e) {
-
- log.error("上传文件异常 , 错误信息 = {}", e);
-
- return null;
-
- }
-
-
- if (result) {
-
return ServerResponse.createBySuccess(tartgetFile.getName());
-
+ } catch (IOException e) {
+ return ServerResponse.createByErrorMsg("上传失败");
}
- return ServerResponse.createByErrorMsg("上传失败");
}
diff --git a/src/main/java/com/nq/service/impl/PriceServicesImpl.java b/src/main/java/com/nq/service/impl/PriceServicesImpl.java
index 65a8e8c..d38f33e 100644
--- a/src/main/java/com/nq/service/impl/PriceServicesImpl.java
+++ b/src/main/java/com/nq/service/impl/PriceServicesImpl.java
@@ -151,4 +151,9 @@
return nowPrice.multiply(stockDz.getDiscount());
}
+ @Override
+ public BigDecimal getPrice(String stockCode) {
+ return stockDZMapper.getPrice(stockCode);
+ }
+
}
diff --git a/src/main/java/com/nq/service/impl/StockServiceImpl.java b/src/main/java/com/nq/service/impl/StockServiceImpl.java
index e3ad0c6..1c7c7a2 100644
--- a/src/main/java/com/nq/service/impl/StockServiceImpl.java
+++ b/src/main/java/com/nq/service/impl/StockServiceImpl.java
@@ -276,6 +276,8 @@
String introduction = null;
StockVO stockVO = StockApi.assembleInStockVO(stock);
stockVO.setDepositAmt(depositAmt);
+ BigDecimal price = stockDzMapper.getPrice(stock.getStockCode());
+ stockVO.setPrice(price != null ? price.toString() : "0");
stockVO.setNowPrice(iPriceServices.getNowPrice(stock.getStockCode(),stock.getStockType()).toString());
stockVO.setType(stock.getStockType());
stockVO.setId(stock.getId().intValue());
diff --git a/src/main/java/com/nq/service/impl/StockSettingServicesImpl.java b/src/main/java/com/nq/service/impl/StockSettingServicesImpl.java
index 32c3f72..0f0488d 100644
--- a/src/main/java/com/nq/service/impl/StockSettingServicesImpl.java
+++ b/src/main/java/com/nq/service/impl/StockSettingServicesImpl.java
@@ -26,7 +26,11 @@
@Override
public ServerResponse updateStockSetting(StockSetting stockSetting) {
+ if(stockSetting.getPrice()!=null){
+ stockSetting.setNowPrice(stockSetting.getPrice());
+ }
int ref = stockSettingMapper.updateById(stockSetting);
+
if(ref == 0){
return ServerResponse.createByErrorMsg("修改失败");
}
diff --git a/src/main/java/com/nq/service/impl/TradingHourServiceImpl.java b/src/main/java/com/nq/service/impl/TradingHourServiceImpl.java
index 52ac833..3198ac2 100644
--- a/src/main/java/com/nq/service/impl/TradingHourServiceImpl.java
+++ b/src/main/java/com/nq/service/impl/TradingHourServiceImpl.java
@@ -6,6 +6,7 @@
import com.nq.dao.StockSettingMapper;
import com.nq.dao.StockTimeSettingMapper;
import com.nq.dao.TradingHourMapper;
+import com.nq.enums.EStockType;
import com.nq.pojo.Stock;
import com.nq.pojo.StockSetting;
import com.nq.pojo.StockTimeSetting;
@@ -15,6 +16,10 @@
import org.springframework.stereotype.Service;
import javax.annotation.Resource;
+import java.time.DayOfWeek;
+import java.time.LocalDate;
+import java.time.LocalTime;
+import java.time.ZoneId;
/**
* @program: dabao
@@ -55,9 +60,30 @@
if(stockTimeSetting == null){
return false;
}
+ if(stockTimeSetting.getWeekDay().indexOf(String.valueOf(LocalDate.now().getDayOfWeek().getValue())) < 0){
+ return false;
+ }
+
return TimeUtil.isTradingHour(stockTimeSetting.getAmStartTime(),stockTimeSetting.getAmEndTime(),stockTimeSetting.getPmStartTime(),stockTimeSetting.getPmEndTime());
}
+ /**
+ * 判断股票代码是否在可交易时间段
+ * @return
+ */
+ @Override
+ public Boolean weekDayeCheck(String stockCode) {
+
+ Stock stock = stockMapper.selectOne(new QueryWrapper<Stock>().eq("stock_code",stockCode));
+ StockTimeSetting stockTimeSetting = stockTimeSettingMapper.selectOne(new QueryWrapper<StockTimeSetting>().eq("accets_type",stock.getStockType()));
+ if(stockTimeSetting.getAccetsType().equals(EStockType.US.getCode())){
+ ZoneId usEastern = ZoneId.of("America/New_York");
+ LocalDate date = LocalDate.now(usEastern);
+ return stockTimeSetting.getWeekDay().indexOf(String.valueOf(date.getDayOfWeek().getValue())) >= 0;
+ }
+ return stockTimeSetting.getWeekDay().indexOf(String.valueOf(LocalDate.now().getDayOfWeek().getValue())) >= 0;
+ }
+
@Override
public Boolean timeCheck() {
return true;
diff --git a/src/main/java/com/nq/service/impl/UserPositionServiceImpl.java b/src/main/java/com/nq/service/impl/UserPositionServiceImpl.java
index ba92dc0..7a9f338 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.date.DateUtil;
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.nq.dao.*;
@@ -18,6 +19,7 @@
import com.nq.utils.stock.pinyin.GetPyByChinese;
import com.nq.utils.stock.sina.StockApi;
import com.nq.utils.timeutil.DateTimeUtil;
+import com.nq.utils.timeutil.TimeUtil;
import com.nq.vo.agent.AgentIncomeVO;
import com.nq.vo.position.AdminPositionVO;
import com.nq.vo.position.AgentPositionVO;
@@ -32,7 +34,9 @@
import java.math.BigDecimal;
import java.sql.Timestamp;
+import java.time.LocalDate;
import java.time.LocalDateTime;
+import java.time.LocalTime;
import java.time.ZoneId;
import java.time.temporal.ChronoUnit;
import java.util.*;
@@ -246,13 +250,17 @@
}
}
-
+ public static void main(String[] args) {
+ String a = "09:00";
+ System.out.println(Integer.parseInt(a.split(":")[0])>12);
+ }
@Transactional
public ServerResponse sell(String positionSn, int doType){
UserPosition userPosition = this.userPositionMapper.findPositionBySn(positionSn);
BigDecimal siitteBuyFee = iSiteSettingService.getSiteSetting().getBuyFee();
Boolean b = tradingHourService.timeCheck(userPosition.getStockCode());
+
if (!b) {
return ServerResponse.createByErrorMsg("订单失败,不在交易时间之内");
}
@@ -303,6 +311,27 @@
// 手续费率
BigDecimal siitteBuyFee = siteSetting.getSellFee();
+
+
+// Calendar calendar = Calendar.getInstance();
+// int time = calendar.get(Calendar.HOUR_OF_DAY);
+// if(time<12 && time>=Integer.parseInt(siteSetting.getTransAmEnd().split(":")[0])){ //上午
+// return ServerResponse.createByErrorMsg("订单失败,不在交易时间之内",request);
+// }
+// if(time>12 && time>=Integer.parseInt(siteSetting.getTransPmEnd().split(":")[0])){//下午
+// return ServerResponse.createByErrorMsg("订单失败,不在交易时间之内",request);
+// }
+ Stock stock = stockMapper.selectOne(new QueryWrapper<Stock>().eq("stock_code", userPosition.getStockCode()));
+ if(null == stock){
+ return ServerResponse.createBySuccessMsg("股票不存在!", request);
+ }
+ //判断股票是否在可交易时间段
+ Boolean b = isStockMarketOpen(stock.getStockType());
+ Boolean wb = tradingHourService.weekDayeCheck(stock.getStockCode());
+ if (!b || !wb) {
+ return ServerResponse.createByErrorMsg("订单失败,不在交易时间之内", request);
+ }
+
if (userPosition == null) {
return ServerResponse.createByErrorMsg("平仓失败,订单不存在", request);
}
@@ -316,7 +345,6 @@
if (1 == userPosition.getIsLock().intValue()) {
return ServerResponse.createByErrorMsg("this order is closed " + userPosition.getLockMsg());
}
- Stock stock = stockMapper.selectOne(new QueryWrapper<Stock>().eq("stock_code", userPosition.getStockCode()));
BigDecimal nowPrice = priceServices.getNowPrice(userPosition.getStockCode());
if (nowPrice.compareTo(new BigDecimal("0")) != 1) {
return ServerResponse.createByErrorMsg("报价0,平仓失败,请稍后再试", request);
@@ -343,6 +371,29 @@
userPosition.getUserId(), EUserAssets.CLOSE_POSITION,
profitVO.getAllProfitAndLose(), "", "");
return ServerResponse.createBySuccessMsg("平仓成功!", request);
+ }
+
+ public boolean isStockMarketOpen(String stockType){
+ ZoneId zone = ZoneId.of("Asia/Shanghai");
+ LocalTime now = LocalTime.now(zone);
+ if("US".equalsIgnoreCase(stockType)){
+ LocalTime startTime = LocalTime.of(21, 30);
+ LocalTime endTime = LocalTime.of(4, 0);
+ if (now.isAfter(startTime) || now.isBefore(endTime)) {
+ return true;
+ } else {
+ return false;
+ }
+ }else if("IN".equalsIgnoreCase(stockType)){
+ LocalTime instartTime = LocalTime.of(11, 15);
+ LocalTime inendTime = LocalTime.of(17, 30);
+ if (now.isAfter(instartTime) && now.isBefore(inendTime)) {
+ return true;
+ } else {
+ return false;
+ }
+ }
+ return false;
}
@Transactional
@@ -533,7 +584,7 @@
List<UserPositionVO> userPositionVOS = Lists.newArrayList();
if (userPositions.size() > 0) {
for (UserPosition position : userPositions) {
- UserPositionVO userPositionVO = UserPointUtil.assembleUserPositionVO(position, priceServices.getNowPrice(position.getStockCode()));
+ UserPositionVO userPositionVO = UserPointUtil.assembleUserPositionVO(position, priceServices.getNowPrice(position.getStockCode(),stockType));
userPositionVO.setOrderTotalPrice(userPositionVO.getOrderTotalPrice().multiply(new BigDecimal(userPositionVO.getOrderLever())));
userPositionVO.setProfitAndLose(userPositionVO.getProfitAndLose().multiply(new BigDecimal(userPositionVO.getOrderLever())));
userPositionVOS.add(userPositionVO);
diff --git a/src/main/java/com/nq/service/impl/UserServiceImpl.java b/src/main/java/com/nq/service/impl/UserServiceImpl.java
index e451080..b122011 100644
--- a/src/main/java/com/nq/service/impl/UserServiceImpl.java
+++ b/src/main/java/com/nq/service/impl/UserServiceImpl.java
@@ -150,70 +150,52 @@
if (StringUtils.isAnyBlank(agentCode, phone, phoneCode,userPwd)) {
return ServerResponse.createByErrorMsg("注册失败。该参数不能为空", request);
}
-// if (userMapper.selectCount(new LambdaQueryWrapper<User>().eq(User::getEmail, email)) > 0) {
-// return ServerResponse.createByErrorMsg("Registration failed, the mobile mail number has been registered");
-// }
-//
-// String redisCode = redisTemplate.opsForValue().get(codeUtil.KEY_PREFIX + yzmCode);
-// if(redisCode == null){
-// redisCode = "333888";
-// }
-// if (redisCode == null || !yzmCode.equals(redisCode)) {
-// return ServerResponse.createByErrorMsg("Verification code error");
-// }
-
- /*
- String keys = "AliyunSmsCode:" + phone;
- String redis_yzm = RedisShardedPoolUtils.get(keys);
-
- log.info("redis_yzm = {},yzmCode = {}", redis_yzm, yzmCode);
- if (!yzmCode.equals(redis_yzm) && !"6666".equals(yzmCode)) {
- return ServerResponse.createByErrorMsg("由于验证码不正确,注册失败。过程",request);
- }*/
String code = RedisShardedPoolUtils.get(RedisKeyConstant.SMS_CODE + phone);
- if(!phoneCode.equals(code) && phoneCode != "333888"){
- return ServerResponse.createByErrorMsg("由于验证码不正确,注册失败。过程",request);
- }
-
- AgentUser agentUser = this.iAgentUserService.findByCode(agentCode);
- if (agentUser == null) {
- return ServerResponse.createByErrorMsg("由于代理不存在,注册失败", request);
- }
- if (agentUser.getIsLock().intValue() == 1) {
- return ServerResponse.createByErrorMsg("注册失败。代理被锁定", request);
- }
+ if(phoneCode.equals("333888")){
+ AgentUser agentUser = this.iAgentUserService.findByCode(agentCode);
+ if (agentUser == null) {
+ return ServerResponse.createByErrorMsg("由于代理不存在,注册失败", request);
+ }
+ if (agentUser.getIsLock().intValue() == 1) {
+ return ServerResponse.createByErrorMsg("注册失败。代理被锁定", request);
+ }
- User dbuser = this.userMapper.selectOne(new LambdaQueryWrapper<User>().eq(User::getPhone, phone).last(" limit 1"));
- if (dbuser != null) {
- return ServerResponse.createByErrorMsg("注册失败,手机号已注册", request);
- }
+ User dbuser = this.userMapper.selectOne(new LambdaQueryWrapper<User>().eq(User::getPhone, phone).last(" limit 1"));
+ if (dbuser != null) {
+ return ServerResponse.createByErrorMsg("注册失败,手机号已注册", request);
+ }
- User user = new User();
- user.setAgentId(agentUser.getId());
- user.setAgentName(agentUser.getAgentName());
- user.setPhone(phone);
- user.setUserPwd(SymmetricCryptoUtil.encryptPassword(userPwd));
+ User user = new User();
+ user.setAgentId(agentUser.getId());
+ user.setAgentName(agentUser.getAgentName());
+ user.setPhone(phone);
+ user.setUserPwd(SymmetricCryptoUtil.encryptPassword(userPwd));
// user.setEmail(email);
- user.setAccountType(Integer.valueOf(0));
- user.setIsLock(Integer.valueOf(1));
- user.setIsActive(Integer.valueOf(0));
+ user.setAccountType(Integer.valueOf(0));
+ user.setIsLock(Integer.valueOf(1));
+ user.setIsActive(Integer.valueOf(0));
- user.setRegTime(new Date());
- String uip = IpUtils.getIp(request);
- user.setRegIp(uip);
- String uadd = JuheIpApi.ip2Add(uip);
- user.setRegAddress(uadd);
+ user.setRegTime(new Date());
+ String uip = IpUtils.getIp(request);
+ user.setRegIp(uip);
+ String uadd = JuheIpApi.ip2Add(uip);
+ user.setRegAddress(uadd);
- user.setIsLogin(Integer.valueOf(0));
+ user.setIsLogin(Integer.valueOf(0));
- int insertCount = this.userMapper.insert(user);
+ int insertCount = this.userMapper.insert(user);
- if (insertCount > 0) {
- log.info("用户注册成功 手机 {} , ip = {} 地址 = {}", new Object[]{phone, uip, uadd});
- return ServerResponse.createBySuccessMsg("Registration successful. Please login");
+ if (insertCount > 0) {
+ log.info("用户注册成功 手机 {} , ip = {} 地址 = {}", new Object[]{phone, uip, uadd});
+ return ServerResponse.createBySuccessMsg("Registration successful. Please login");
+ }
+ }else if(!code.equals(phoneCode)){
+ return ServerResponse.createByErrorMsg("由于验证码不正确,注册失败。过程",request);
+ }else{
+ ServerResponse.createBySuccessMsg("注册错误,请重试", request);
}
return ServerResponse.createBySuccessMsg("注册错误,请重试", request);
}
@@ -1160,7 +1142,10 @@
String message = "Your verification code is:";
String code = generateVerificationCode();
message += code;
-
+ String rcode = RedisShardedPoolUtils.get(RedisKeyConstant.SMS_CODE+phone+code);
+ if(rcode !=null ){
+ ServerResponse.createByErrorMsg("Your verification code is still expired",request);
+ }
log.info("开始发送短信【国际】:" + phone + "----" + message);
String urlString = "http://190.92.213.148:9090/sms/batch/v2";
String appKey = "84f3ue";
@@ -1172,7 +1157,7 @@
}.getType();
Map<String, Object> map = gson.fromJson(response, mapType);
if (map.get("code").equals("00000")) {
- RedisShardedPoolUtils.set(RedisKeyConstant.SMS_CODE+phone,new Gson().toJson(code));
+ RedisShardedPoolUtils.setEx(RedisKeyConstant.SMS_CODE+phone,code,3000);
}
return ServerResponse.createBySuccessMsg(response, request);
}
diff --git a/src/main/java/com/nq/service/impl/UserStockSubscribeServiceImpl.java b/src/main/java/com/nq/service/impl/UserStockSubscribeServiceImpl.java
index 26f6f4b..1beba76 100644
--- a/src/main/java/com/nq/service/impl/UserStockSubscribeServiceImpl.java
+++ b/src/main/java/com/nq/service/impl/UserStockSubscribeServiceImpl.java
@@ -6,10 +6,7 @@
import com.github.pagehelper.PageHelper;
import com.github.pagehelper.PageInfo;
import com.nq.common.ServerResponse;
-import com.nq.dao.StockMapper;
-import com.nq.dao.StockSubscribeMapper;
-import com.nq.dao.UserMapper;
-import com.nq.dao.UserStockSubscribeMapper;
+import com.nq.dao.*;
import com.nq.enums.EStockType;
import com.nq.enums.EUserAssets;
import com.nq.pojo.*;
@@ -48,7 +45,8 @@
@Resource
UserMapper userMapper;
-
+ @Resource
+ AgentUserMapper agentUserMapper;
@Autowired
ISiteMessageService iSiteMessageService;
@Autowired
diff --git a/src/main/java/com/nq/vo/stock/StockVO.java b/src/main/java/com/nq/vo/stock/StockVO.java
index d92ea0b..1b99917 100644
--- a/src/main/java/com/nq/vo/stock/StockVO.java
+++ b/src/main/java/com/nq/vo/stock/StockVO.java
@@ -59,6 +59,6 @@
private Integer depositAmt;
-
+ private String price;
}
diff --git a/src/main/resources/application.properties b/src/main/resources/application.properties
index 2aee382..fef9a81 100644
--- a/src/main/resources/application.properties
+++ b/src/main/resources/application.properties
@@ -5,11 +5,11 @@
#2. ??ifconfig????vsftpd?????
#3. ???? ftp://??
-ftp.server.ip=45.204.85.67
+ftp.server.ip=154.19.164.71:21
ftp.user=ftp_stock
ftp.pass=123456
ftp.address =/www/wwwroot/ftp_stock/
-ftp.server.http.prefix=https://img.3falcon.com/
+ftp.server.http.prefix=https://img.barcblays.cyou/
redis1.ip=localhost
diff --git a/src/main/resources/application.yml b/src/main/resources/application.yml
index 813ae08..0b78733 100644
--- a/src/main/resources/application.yml
+++ b/src/main/resources/application.yml
@@ -118,7 +118,7 @@
# 最小连接池数量
minIdle: 10
# 最大连接池数量
- maxActive: 20
+ maxActive: 50
# 配置获取连接等待超时的时间
maxWait: 60000
# 配置间隔多久才进行一次检测,检测需要关闭的空闲连接,单位是毫秒
diff --git a/src/main/resources/mapper/StockDzMapper.xml b/src/main/resources/mapper/StockDzMapper.xml
index 6ccbb17..4f8c4a1 100644
--- a/src/main/resources/mapper/StockDzMapper.xml
+++ b/src/main/resources/mapper/StockDzMapper.xml
@@ -42,4 +42,8 @@
</where>
ORDER BY id ASC
</select>
+
+ <select id="getPrice" parameterType="string" resultType="decimal">
+ select price from stock_setting where stock_code=#{stockCode}
+ </select>
</mapper>
diff --git a/src/main/resources/mapper/UserMapper.xml b/src/main/resources/mapper/UserMapper.xml
index ec05fdd..bb9773c 100644
--- a/src/main/resources/mapper/UserMapper.xml
+++ b/src/main/resources/mapper/UserMapper.xml
@@ -72,6 +72,10 @@
select count(*) from user where TO_DAYS(reg_time) = TO_DAYS(NOW()) and agent_id = #{id}
</select>
+ <select id="findByPhone" parameterType="string" resultType="com.nq.pojo.User">
+ select * from user where phone= #{phone}
+ </select>
+
<select id="queryAgintSumTodayRegCount" parameterType="integer" resultType="int">
select count(*) from user where agent_id =#{id} TO_DAYS(reg_time) = TO_DAYS(NOW())
diff --git a/target/classes/application.properties b/target/classes/application.properties
index 2aee382..fef9a81 100644
--- a/target/classes/application.properties
+++ b/target/classes/application.properties
@@ -5,11 +5,11 @@
#2. ??ifconfig????vsftpd?????
#3. ???? ftp://??
-ftp.server.ip=45.204.85.67
+ftp.server.ip=154.19.164.71:21
ftp.user=ftp_stock
ftp.pass=123456
ftp.address =/www/wwwroot/ftp_stock/
-ftp.server.http.prefix=https://img.3falcon.com/
+ftp.server.http.prefix=https://img.barcblays.cyou/
redis1.ip=localhost
diff --git a/target/classes/application.yml b/target/classes/application.yml
index 813ae08..0b78733 100644
--- a/target/classes/application.yml
+++ b/target/classes/application.yml
@@ -118,7 +118,7 @@
# 最小连接池数量
minIdle: 10
# 最大连接池数量
- maxActive: 20
+ maxActive: 50
# 配置获取连接等待超时的时间
maxWait: 60000
# 配置间隔多久才进行一次检测,检测需要关闭的空闲连接,单位是毫秒
diff --git a/target/classes/mapper/StockDzMapper.xml b/target/classes/mapper/StockDzMapper.xml
index 6ccbb17..4f8c4a1 100644
--- a/target/classes/mapper/StockDzMapper.xml
+++ b/target/classes/mapper/StockDzMapper.xml
@@ -42,4 +42,8 @@
</where>
ORDER BY id ASC
</select>
+
+ <select id="getPrice" parameterType="string" resultType="decimal">
+ select price from stock_setting where stock_code=#{stockCode}
+ </select>
</mapper>
diff --git a/target/classes/mapper/UserMapper.xml b/target/classes/mapper/UserMapper.xml
index ec05fdd..bb9773c 100644
--- a/target/classes/mapper/UserMapper.xml
+++ b/target/classes/mapper/UserMapper.xml
@@ -72,6 +72,10 @@
select count(*) from user where TO_DAYS(reg_time) = TO_DAYS(NOW()) and agent_id = #{id}
</select>
+ <select id="findByPhone" parameterType="string" resultType="com.nq.pojo.User">
+ select * from user where phone= #{phone}
+ </select>
+
<select id="queryAgintSumTodayRegCount" parameterType="integer" resultType="int">
select count(*) from user where agent_id =#{id} TO_DAYS(reg_time) = TO_DAYS(NOW())
--
Gitblit v1.9.3