Browse Source

edit getuserinfo

liuchaojie 4 years ago
parent
commit
2ecc9199f8

+ 19 - 4
src/main/java/com/xc/service/impl/DbStockServiceImpl.java

@@ -3,11 +3,13 @@ package com.xc.service.impl;
 
 import com.xc.dao2.KLinkStockMapper;
 import com.xc.dao2.StockRestDataMapper;
+import com.xc.pub.redismessage.util.RedisUtil;
 import com.xc.service.DbStockService;
 import com.xc.vo.stock.StockListVO;
 import com.xc.vo.stock.StockVO;
 import com.xc.vo2.StockDbVO;
 import org.apache.commons.lang.ObjectUtils;
+import org.apache.commons.lang3.StringUtils;
 import org.springframework.beans.BeanUtils;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Service;
@@ -25,13 +27,26 @@ public class DbStockServiceImpl implements DbStockService {
     @Autowired
     private KLinkStockMapper kLinkStockMapper;
 
+    @Autowired
+    private RedisUtil redisUtil;
+
     private StockDbVO getStockDb(String stockGid) {
         String dbTableName = String.format("data_rt_%s",stockGid);
-        StockDbVO stockDbVO;
-        if(kLinkStockMapper.selectDateOneCount(dbTableName) <= 0) {
-            stockDbVO = stockRestDataMapper.selectRestDataByGidDateOne(dbTableName);
+        StockDbVO stockDbVO = null;
+        String redisData = redisUtil.getItem(stockGid);
+        StockVO stockVO = null;
+        if (StringUtils.isNotEmpty(redisData) && !("[]".equals(redisData))) {
+            stockVO = com.alibaba.fastjson.JSONArray.parseObject(redisData, StockVO.class);
+        }
+        if(stockVO == null){
+            if(kLinkStockMapper.selectDateOneCount(dbTableName) <= 0) {
+                stockDbVO = stockRestDataMapper.selectRestDataByGidDateOne(dbTableName);
+            }else{
+                stockDbVO = stockRestDataMapper.selectRestDataByGid(dbTableName);
+            }
         }else{
-            stockDbVO = stockRestDataMapper.selectRestDataByGid(dbTableName);
+            stockDbVO = new StockDbVO();
+            BeanUtils.copyProperties(stockVO, stockDbVO);
         }
 //        StockDbVO stockDbVO = stockRestDataMapper.selectRestDataByGid(dbTableName);
         if(null == stockDbVO){

+ 16 - 14
src/main/java/com/xc/service/impl/UserPositionServiceImpl.java

@@ -1106,24 +1106,26 @@ public class UserPositionServiceImpl implements IUserPositionService {
     }
 
     public PositionVO findUserPositionAllProfitAndLose(Integer userId) {
-        // 获取货币当前价格
-        List<IndexInfo> indexInfoList = stockMapper.selectStockList();
+        List<UserPosition> userPositionAll = this.userPositionMapper.findMyPositionByCodeAndSpell(userId, null, null, 0);
         Map<String, IndexInfo> indexMap = new HashMap<>();
-        BigDecimal nowPrice;
-        for (IndexInfo indexInfo : indexInfoList) {
-            if (StringUtils.isNotEmpty(indexInfo.getDataDbName())) {
-                try {
-                    StockListVO stockListVO = dbStockService.getStockListVO(indexInfo.getCode());
-                    nowPrice = new BigDecimal(stockListVO.getNowPrice());
-                    indexInfo.setNowPrice(nowPrice);
-                } catch (Exception e) {
-                    // 数据库不存在
-                    log.info("数据库不存在");
+        if(userPositionAll.size() > 0){
+            // 获取货币当前价格
+            List<IndexInfo> indexInfoList = stockMapper.selectStockList();
+            BigDecimal nowPrice;
+            for (IndexInfo indexInfo : indexInfoList) {
+                if (StringUtils.isNotEmpty(indexInfo.getDataDbName())) {
+                    try {
+                        StockListVO stockListVO = dbStockService.getStockListVO(indexInfo.getCode());
+                        nowPrice = new BigDecimal(stockListVO.getNowPrice());
+                        indexInfo.setNowPrice(nowPrice);
+                    } catch (Exception e) {
+                        // 数据库不存在
+                        log.info("数据库不存在");
+                    }
                 }
+                indexMap.put(indexInfo.getCnName(), indexInfo);
             }
-            indexMap.put(indexInfo.getCnName(), indexInfo);
         }
-        List<UserPosition> userPositionAll = this.userPositionMapper.findMyPositionByCodeAndSpell(userId, null, null, 0);
         BigDecimal depositFreezeAmt = new BigDecimal(0);
         BigDecimal ykSum = new BigDecimal(0);
         for (UserPosition position : userPositionAll) {

+ 0 - 3
src/main/java/com/xc/service/impl/UserServiceImpl.java

@@ -296,9 +296,6 @@ public class UserServiceImpl implements IUserService {
 
 
     public ServerResponse getUserInfo(HttpServletRequest request) {
-//        String loginToken = CookieUtils.readLoginToken(request, PropertiesUtil.getProperty("user.cookie.name"));
-//        String userJson = RedisShardedPoolUtils.get(loginToken);
-//        User user = (User)JsonUtil.string2Obj(userJson, User.class);
         User user = getCurrentUser(request);
         User dbuser = this.userMapper.selectByPrimaryKey(user.getId());
         UserInfoVO userInfoVO = assembleUserInfoVO(dbuser);

+ 0 - 13
src/main/java/com/xc/vo/stock/StockVO.java

@@ -16,30 +16,17 @@ public class StockVO {
     private BigDecimal hcrate;
     private String today_max;
     private String today_min;
-
     private String business_balance;
-
     private String business_amount;
-
     private String preclose_px;
-
     private String open_px;
-
     private String buy1;
-
     private String buy2;
-
     private String buy3;
-
     private String buy4;
-
     private String buy5;
-
     private Integer transState;//交易状态:0 不可交易 1 可交易
-
     private Integer depositAmt;
-
-
     private String sell1;
     private String sell2;
     private String sell3;