|
|
@@ -24,8 +24,10 @@ import org.springframework.transaction.annotation.Transactional;
|
|
|
import org.springframework.util.StopWatch;
|
|
|
import top.lvzhiqiang.config.InitRunner;
|
|
|
import top.lvzhiqiang.config.WorkWeixinProperties;
|
|
|
+import top.lvzhiqiang.dto.R;
|
|
|
import top.lvzhiqiang.entity.*;
|
|
|
import top.lvzhiqiang.exception.BusinessException;
|
|
|
+import top.lvzhiqiang.exception.ParameterException;
|
|
|
import top.lvzhiqiang.mapper.CoinApiConfigMapper;
|
|
|
import top.lvzhiqiang.mapper.CoinMapper;
|
|
|
import top.lvzhiqiang.mapper.MusicInfoMapper;
|
|
|
@@ -1030,6 +1032,16 @@ public class CoinServiceImpl implements CoinService {
|
|
|
return totalAmout;
|
|
|
}
|
|
|
|
|
|
+ @Override
|
|
|
+ public Object login(String username, String password) {
|
|
|
+ Integer exist = coinMapper.existUserByUsernameAndPassword(username, password);
|
|
|
+ if (exist != null) {
|
|
|
+ return R.ok().data("success");
|
|
|
+ } else {
|
|
|
+ return R.error().message("用户名或者密码错误!");
|
|
|
+ }
|
|
|
+ }
|
|
|
+
|
|
|
private void initCexSpotFlag(Map<String, CoinWatchlistOther> coinWatchlistOtherMap4Symbol) {
|
|
|
// spot
|
|
|
String coingeckoExchangeTickersUrl = InitRunner.dicCodeMap.get("coingecko_exchange_tickers_url").getCodeValue();
|
|
|
@@ -1631,6 +1643,13 @@ public class CoinServiceImpl implements CoinService {
|
|
|
//result = (JSONArray) JSON.toJSON(mixTraderList);
|
|
|
return coinTraderPageInfo;
|
|
|
} else if (params.getString("nameEn").equals("watchlist")) {
|
|
|
+ JSONObject coinUser = coinMapper.findUserByUsername(params.getString("userName"));
|
|
|
+ if (coinUser == null) {
|
|
|
+ throw new ParameterException("用户不存在!");
|
|
|
+ }
|
|
|
+ Integer userId = coinUser.getInteger("id");
|
|
|
+ params.put("userId",userId);
|
|
|
+
|
|
|
PageHelper.startPage(params.getInteger("pageNo"), params.getInteger("pageSize"), true);
|
|
|
|
|
|
if (params.containsKey("sortField")) {
|
|
|
@@ -1643,11 +1662,11 @@ public class CoinServiceImpl implements CoinService {
|
|
|
params.put("cexFilterIndex", cexFilterFieldArr[1]);
|
|
|
}
|
|
|
|
|
|
- List<CoinWatchlist> watchlistList = coinMapper.findWatchlistList2(params.toJavaObject(Map.class));
|
|
|
+ List<CoinWatchlist> watchlistList = coinMapper.findWatchlistList2ByUserId(params.toJavaObject(Map.class));
|
|
|
|
|
|
PageInfo<CoinWatchlist> watchlistPageInfo = new PageInfo<>(watchlistList);
|
|
|
|
|
|
- renderMainSearch4Watchlist(watchlistList);
|
|
|
+ renderMainSearch4Watchlist(watchlistList, userId);
|
|
|
return watchlistPageInfo;
|
|
|
} else if (params.getString("nameEn").equals("image")) {
|
|
|
PageHelper.startPage(params.getInteger("pageNo"), params.getInteger("pageSize"), true);
|
|
|
@@ -1821,13 +1840,13 @@ public class CoinServiceImpl implements CoinService {
|
|
|
}
|
|
|
}
|
|
|
|
|
|
- private void renderMainSearch4Watchlist(List<CoinWatchlist> watchlistList) {
|
|
|
+ private void renderMainSearch4Watchlist(List<CoinWatchlist> watchlistList, Integer userId) {
|
|
|
BigDecimal bigDecimal10000 = new BigDecimal("10000");
|
|
|
|
|
|
List<String> popularTrackCategoryList = Arrays.asList("DePIN", "AI", "RWA", "大饼生态", "以太Layer-2", "Restaking再质押", "NFT|链游|元宇宙", "WEB3社交");
|
|
|
// 赛道分类预处理
|
|
|
- List<String> trackCategoryList = coinApiConfigMapper.findTrackCategoryList().stream().filter(StringUtils::isNotEmpty).collect(Collectors.toList());
|
|
|
- List<String> trackCategory2List = coinApiConfigMapper.findTrackCategory2List().stream().filter(StringUtils::isNotEmpty).collect(Collectors.toList());
|
|
|
+ List<String> trackCategoryList = coinApiConfigMapper.findTrackCategoryListByUserId(userId).stream().filter(StringUtils::isNotEmpty).collect(Collectors.toList());
|
|
|
+ List<String> trackCategory2List = coinApiConfigMapper.findTrackCategory2ListByUserId(userId).stream().filter(StringUtils::isNotEmpty).collect(Collectors.toList());
|
|
|
Map<String, String> trackCategoryMap = new HashMap<>();
|
|
|
Map<String, String> trackCategory2Map = new HashMap<>();
|
|
|
List<String> colorList = coinApiConfigMapper.findColorStyleList();
|