zyy
2025-07-08 bfcbef7a6bf2eb73bbf7ae84dac49a8f49db1e1c
修改股票类型
9 files modified
50 ■■■■ changed files
src/main/java/com/nq/enums/EStockType.java 2 ●●● patch | view | raw | blame | history
src/main/java/com/nq/service/impl/PayServiceImpl.java 5 ●●●●● patch | view | raw | blame | history
src/main/java/com/nq/service/impl/StockServiceImpl.java 2 ●●● patch | view | raw | blame | history
src/main/java/com/nq/service/impl/UserAssetsServices.java 7 ●●●● patch | view | raw | blame | history
src/main/java/com/nq/service/impl/UserRechargeServiceImpl.java 6 ●●●● patch | view | raw | blame | history
src/main/java/com/nq/service/impl/UserServiceImpl.java 17 ●●●● patch | view | raw | blame | history
src/main/java/com/nq/service/impl/UserStockSubscribeServiceImpl.java 2 ●●● patch | view | raw | blame | history
src/main/java/com/nq/service/impl/UserWithdrawServiceImpl.java 7 ●●●●● patch | view | raw | blame | history
src/main/java/com/nq/utils/task/stock/CarryPositionTask.java 2 ●●● patch | view | raw | blame | history
src/main/java/com/nq/enums/EStockType.java
@@ -16,7 +16,7 @@
//    HK("HK","香港股票","39",PropertiesUtil.getProperty("HK_HTTP_API"),PropertiesUtil.getProperty("HK_KEY"),"HKD","HK$"),
//    MAS("MAS","马来西亚股票","42",PropertiesUtil.getProperty("MAS_HTTP_API"),PropertiesUtil.getProperty("MAS_KEY"),"MYR","RM"),
//
    IN("IN","印度股票","14", PropertiesUtil.getProperty("JS_IN_HTTP_URL"),PropertiesUtil.getProperty("JS_IN_KEY"),"INR","₹"),
//    IN("IN","印度股票","14", PropertiesUtil.getProperty("JS_IN_HTTP_URL"),PropertiesUtil.getProperty("JS_IN_KEY"),"INR","₹"),
    MX("MX","墨西哥股票","7",PropertiesUtil.getProperty("MX_HTTP_API"),PropertiesUtil.getProperty("MX_KEY"),"MXN","MXN$");
//    TH("TH","泰国股票","41",PropertiesUtil.getProperty("TH_HTTP_API"),PropertiesUtil.getProperty("TH_KEY")),
src/main/java/com/nq/service/impl/PayServiceImpl.java
@@ -8,6 +8,7 @@
import com.nq.common.CmcPayConfig;
import com.nq.common.ServerResponse;
import com.nq.dao.*;
import com.nq.enums.EStockType;
import com.nq.pay.PayUtil;
import com.nq.pojo.*;
import com.nq.service.*;
@@ -724,7 +725,7 @@
            }
            UserAssets userAssets = userAssetsMapper.selectOne(new LambdaQueryWrapper<>(UserAssets.class)
                    .eq(UserAssets::getUserId, paymentRecharge.getUserId())
                    .eq(UserAssets::getAccectType, "IN")
                    .eq(UserAssets::getAccectType, EStockType.MX.getCode())
            );
            ServerResponse serverResponse = iUserAssetsServices.updateUserAssets(userAssets.getId(), vo.getOriAmount().toString(), "2");
            if(serverResponse.getStatus() == 0){
@@ -936,7 +937,7 @@
            }
            UserAssets userAssets = userAssetsMapper.selectOne(new LambdaQueryWrapper<>(UserAssets.class)
                    .eq(UserAssets::getUserId, paymentRecharge.getUserId())
                    .eq(UserAssets::getAccectType, "IN")
                    .eq(UserAssets::getAccectType, EStockType.MX.getCode())
            );
            ServerResponse serverResponse = iUserAssetsServices.updateUserAssets(userAssets.getId(), vo.getAccount_fee().toString(), "2");
            if(serverResponse.getStatus() == 0){
src/main/java/com/nq/service/impl/StockServiceImpl.java
@@ -440,7 +440,7 @@
        Gson gson = new Gson();
        List<kData> dataList = gson.fromJson(object.toString(), new TypeToken<List<kData>>(){}.getType());
        Stock stock = stockMapper.selectOne(new LambdaQueryWrapper<Stock>().eq(Stock::getStockCode, pid).eq(Stock::getStockType, "IN"));
        Stock stock = stockMapper.selectOne(new LambdaQueryWrapper<Stock>().eq(Stock::getStockCode, pid).eq(Stock::getStockType, stockType));
        BigDecimal nowPrice = iPriceServices.getNowPrice(stock.getStockCode());
        Map singleStock = getSingleStock(stock.getStockCode());
        StockVO stockVO = (StockVO)singleStock.get("stock");
src/main/java/com/nq/service/impl/UserAssetsServices.java
@@ -51,8 +51,11 @@
    @Override
    public UserAssets assetsByTypeAndUserId(String accetType, Integer userId) {
        if(accetType.equals("SZHB")){
        /*if(accetType.equals("SZHB")){
            accetType = "US";
        }*/
        if(accetType.equals(EStockType.US.getCode()) || accetType.equals("IN")){
            accetType = EStockType.MX.getCode();
        }
        QueryWrapper<UserAssets>  queryWrapper = new QueryWrapper<>();
        queryWrapper.eq("accect_type",accetType);
@@ -169,7 +172,7 @@
    @Override
    public Boolean availablebalanceChange(String accetType, Integer userId, EUserAssets eUserAssets, BigDecimal amount, String desc, String descType) {
        UserAssets userAssets =   assetsByTypeAndUserId(accetType,userId);
        UserAssets userAssets = assetsByTypeAndUserId(accetType,userId);
        UserPosition userPosition = userPositionMapper.selectOne(new LambdaQueryWrapper<UserPosition>().gt(UserPosition::getAmountToBeCovered, BigDecimal.ZERO).eq(UserPosition::getUserId,userAssets.getUserId()));
        String type = eUserAssets.getDesc();
        String before = userAssets.getAvailableBalance().toString();
src/main/java/com/nq/service/impl/UserRechargeServiceImpl.java
@@ -223,8 +223,8 @@
        for (int i = 0; i <userRecharges.size() ; i++) {
          SitePay s =   sitePayMapper.selectById(userRecharges.get(i).getPayId());
            userRecharges.get(i).setAssetsType(EStockType.IN.getSymbol1());
            userRecharges.get(i).setChannelName(EStockType.IN.getSymbol());
            userRecharges.get(i).setAssetsType(EStockType.MX.getSymbol1());
            userRecharges.get(i).setChannelName(EStockType.MX.getSymbol());
        }
        return ServerResponse.createBySuccess(pageInfo);
@@ -344,7 +344,7 @@
        userRecharge.setPayTime(new Date());
        userRecharge.setOrderStatus(Integer.valueOf(1));
        userRecharge.setPayId(1);
        userAssetsServices.availablebalanceChange(EStockType.IN.getCode(),
        userAssetsServices.availablebalanceChange(EStockType.MX.getCode(),
                userId,EUserAssets.TOP_UP,new BigDecimal(amt),"","");
        int insertCount = this.userRechargeMapper.insert(userRecharge);
        if (insertCount > 0) {
src/main/java/com/nq/service/impl/UserServiceImpl.java
@@ -509,7 +509,7 @@
            RUserAssets rUserAssets  = new RUserAssets();
            UserAssets userAssets = userAssetsList.get(i);
            // 浮动盈亏
            String profitAndLose = getProfitAndLose(userId).toString();
            String profitAndLose = getProfitAndLose(userId, userAssets.getAccectType()).toString();
            BigDecimal amt = userAssets.getAvailableBalance();
            BigDecimal totalAssets = userAssets.getAvailableBalance().add(userAssets.getFreezeMoney()).add(new BigDecimal(profitAndLose)).subtract(userAssets.getHandlingChargeWritten());
//            BigDecimal totalAssets = userAssets.getAvailableBalance().add(userAssets.getFreezeMoney()).subtract(userAssets.getCumulativeProfitAndLoss()).add(profitAndLose);
@@ -609,12 +609,11 @@
        return ServerResponse.createBySuccess(rUserAssetsList);
    }
    public BigDecimal getProfitAndLose(Integer userId){
    public BigDecimal getProfitAndLose(Integer userId, String accectType){
        List<UserPosition> userPositions;
        userPositions = userPositionMapper.
                findMyPositionByCodeAndSpell(userId,
        userPositions = userPositionMapper.findMyPositionByCodeAndSpell(userId,
                        "","",
                        0, "IN");
                        0, accectType);
        List<UserPositionVO> userPositionVOS = Lists.newArrayList();
@@ -771,7 +770,7 @@
            ServerResponse money = iUserService.getMoney(user.getId());
            List<RUserAssets> rUserAssetsList = (List<RUserAssets>) money.getData();
            RUserAssets rUserAssets = rUserAssetsList.stream()
                    .filter(stock -> "IN".equals(stock.getAccectType()))
                    .filter(stock -> EStockType.MX.getCode().equals(stock.getAccectType()))
                    .findFirst()
                    .orElse(null);
@@ -829,8 +828,8 @@
        int insertCount = this.userMapper.insert(user);
         dbUser = userMapper.selectOne(queryWrapper);
        userAssetsServices.getAvailableBalance(EStockType.IN.getCode(),dbUser.getId() );
        userAssetsServices.availablebalanceChange(EStockType.IN.getCode(),dbUser.getId(),EUserAssets.TOP_UP,new BigDecimal(amt),"","");
        userAssetsServices.getAvailableBalance(EStockType.MX.getCode(),dbUser.getId() );
        userAssetsServices.availablebalanceChange(EStockType.MX.getCode(),dbUser.getId(),EUserAssets.TOP_UP,new BigDecimal(amt),"","");
        if (insertCount > 0) {
            return ServerResponse.createBySuccessMsg("Success");
        }
@@ -855,7 +854,7 @@
            ServerResponse money = iUserService.getMoney(user.getId());
            List<RUserAssets> rUserAssetsList = (List<RUserAssets>) money.getData();
            RUserAssets rUserAssets = rUserAssetsList.stream()
                    .filter(stock -> "IN".equals(stock.getAccectType()))
                    .filter(stock -> EStockType.MX.getCode().equals(stock.getAccectType()))
                    .findFirst()
                    .orElse(null);
src/main/java/com/nq/service/impl/UserStockSubscribeServiceImpl.java
@@ -99,7 +99,7 @@
                if (siteProduct.getRealNameDisplay() && user.getIsActive() != 2) {
                    return ServerResponse.createByErrorMsg("订单失败,请先实名认证",request);
                }
                UserAssets userAssets =   iUserAssetsServices.assetsByTypeAndUserId(stockSubscribe.getStockType(), user.getId());
                UserAssets userAssets = iUserAssetsServices.assetsByTypeAndUserId(stockSubscribe.getStockType(), user.getId());
                if(userAssets.getAmountToBeCovered().compareTo(BigDecimal.ZERO) > 0){
                    return ServerResponse.createByErrorMsg("请先缴清待补资金", request);
                }
src/main/java/com/nq/service/impl/UserWithdrawServiceImpl.java
@@ -6,6 +6,7 @@
import com.fasterxml.jackson.databind.ObjectMapper;
import com.google.gson.Gson;
import com.nq.dao.*;
import com.nq.enums.EStockType;
import com.nq.enums.EUserAssets;
import com.nq.pojo.*;
import com.nq.service.*;
@@ -172,7 +173,7 @@
    }
    private boolean getServerResponse() {
        StockTimeSetting stockTimeSetting = stockTimeSettingMapper.selectOne(new QueryWrapper<StockTimeSetting>().eq("accets_type", "IN"));
        StockTimeSetting stockTimeSetting = stockTimeSettingMapper.selectOne(new QueryWrapper<StockTimeSetting>().eq("accets_type", EStockType.MX.getCode()));
        if (stockTimeSetting == null) {
            return false;
        }
@@ -240,7 +241,7 @@
            User user = this.userMapper.selectById(userWithdraw.getUserId());
            UserAssets userAssets = iUserAssetsServices.assetsByTypeAndUserId("IN", user.getId());
            UserAssets userAssets = iUserAssetsServices.assetsByTypeAndUserId(EStockType.MX.getCode(), user.getId());
            if (userAssets == null) {
                return ServerResponse.createByErrorMsg("用户资金账户不存在");
            }
@@ -354,7 +355,7 @@
            if (user == null) {
                return ServerResponse.createByErrorMsg("用户不存在");
            }
            UserAssets userAssets = iUserAssetsServices.assetsByTypeAndUserId("IN", user.getId());
            UserAssets userAssets = iUserAssetsServices.assetsByTypeAndUserId(EStockType.MX.getCode(), user.getId());
            if (userAssets == null) {
                return ServerResponse.createByErrorMsg("用户资金账户不存在");
            }
src/main/java/com/nq/utils/task/stock/CarryPositionTask.java
@@ -113,7 +113,7 @@
                List<UserStockSubscribe> userStockSubscribes = userStockSubscribeMapper.selectList(new LambdaQueryWrapper<UserStockSubscribe>()
                        .eq(UserStockSubscribe::getStatus, 3));
                userStockSubscribes.forEach(f->{
                    UserAssets userAssets = userAssetsServices.assetsByTypeAndUserId("IN",f.getUserId());
                    UserAssets userAssets = userAssetsServices.assetsByTypeAndUserId(EStockType.MX.getCode(), f.getUserId());
                    if(null != userAssets && userAssets.getAmountToBeCovered().compareTo(BigDecimal.ZERO) == 0){
                        f.setStatus(4);
                        userStockSubscribeMapper.updateById(f);