jack
2024-04-02 4046f94a57f0c10e9509a49ad0d37d701aeb8186
修复自选bug 和 增加流水日志
22 files modified
2 files added
359 ■■■■■ changed files
src/main/java/com/nq/controller/protol/UserController.java 18 ●●●●● patch | view | raw | blame | history
src/main/java/com/nq/dao/MoneyLogMapper.java 7 ●●●●● patch | view | raw | blame | history
src/main/java/com/nq/pojo/MoneyLog.java 21 ●●●●● patch | view | raw | blame | history
src/main/java/com/nq/pojo/StockOption.java 80 ●●●●● patch | view | raw | blame | history
src/main/java/com/nq/pojo/UserRecharge.java 1 ●●●● patch | view | raw | blame | history
src/main/java/com/nq/service/IUserService.java 4 ●●● patch | view | raw | blame | history
src/main/java/com/nq/service/impl/StockOptionServiceImpl.java 25 ●●●● patch | view | raw | blame | history
src/main/java/com/nq/service/impl/UserAssetsServices.java 20 ●●●●● patch | view | raw | blame | history
src/main/java/com/nq/service/impl/UserPositionServiceImpl.java 58 ●●●●● patch | view | raw | blame | history
src/main/java/com/nq/service/impl/UserRechargeServiceImpl.java 14 ●●●●● patch | view | raw | blame | history
src/main/java/com/nq/service/impl/UserServiceImpl.java 33 ●●●●● patch | view | raw | blame | history
src/main/java/com/nq/utils/stock/sina/StockApi.java 14 ●●●●● patch | view | raw | blame | history
src/main/java/com/nq/utils/task/stock/StockTask.java 3 ●●●● patch | view | raw | blame | history
src/main/java/com/nq/ws/USWebsocketRunClient.java 3 ●●●● patch | view | raw | blame | history
src/main/java/com/nq/ws/WebSocketClientBeanConfig.java 4 ●●●● patch | view | raw | blame | history
src/main/java/com/nq/ws/WebsocketRunClient.java 4 ●●● patch | view | raw | blame | history
src/main/resources/application.properties 4 ●●●● patch | view | raw | blame | history
src/main/resources/application.yml 2 ●●● patch | view | raw | blame | history
src/main/resources/mapper/StockOptionMapper.xml 18 ●●●●● patch | view | raw | blame | history
target/classes/application.properties 4 ●●●● patch | view | raw | blame | history
target/classes/application.yml 2 ●●● patch | view | raw | blame | history
target/classes/mapper/StockOptionMapper.xml 18 ●●●●● patch | view | raw | blame | history
target/maven-status/maven-compiler-plugin/compile/default-compile/createdFiles.lst 2 ●●●●● patch | view | raw | blame | history
target/stock-0.0.1-SNAPSHOT.jar.original patch | view | raw | blame | history
src/main/java/com/nq/controller/protol/UserController.java
@@ -81,9 +81,7 @@
    @RequestMapping({"queryMyOption.do"})
    @ResponseBody
    public ServerResponse queryMyOption(@RequestParam("code") String code, HttpServletRequest request) {
//        return this.iUserService.queryMyOption(code, request);
        return null;
        return this.iUserService.queryMyOption(code, request);
    }
    //用户下单买入股票
@@ -315,8 +313,6 @@
    /**
     * 用户新股列表
     * @param pageNum
     * @param pageSize
     * @param name
     * @param code
     * @param zt
@@ -353,11 +349,6 @@
        return this.iUserStockSubscribeService.userSubmit(id,request);
    }
    /**
     * vip抢筹 (涨停板买入)
     *
     */
    @RequestMapping({"transfer.do"})
    @ResponseBody
    public ServerResponse transfer(@RequestParam("fromType") String fromType, @RequestParam("toType") String toType,
@@ -404,4 +395,11 @@
    }
    //大宗下单列表
    @RequestMapping({"getMoenyLog.do"})
    @ResponseBody
    public ServerResponse getMoenyLog(@RequestParam("type") String stockCode, HttpServletRequest request) {
        return this.iUserService.getMoenyLog(stockCode, request);
    }
}
src/main/java/com/nq/dao/MoneyLogMapper.java
New file
@@ -0,0 +1,7 @@
package com.nq.dao;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.nq.pojo.MoneyLog;
public interface MoneyLogMapper  extends BaseMapper<MoneyLog> {
}
src/main/java/com/nq/pojo/MoneyLog.java
New file
@@ -0,0 +1,21 @@
package com.nq.pojo;
import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableId;
import lombok.Data;
@Data
public class MoneyLog {
    @TableId(value = "id",type = IdType.AUTO)
    private int id;
    private String type;
    private String amount;
    private String descs;
    private String beFore;
    private String after;
    private String accectType;
    private String userId;
}
src/main/java/com/nq/pojo/StockOption.java
@@ -1,6 +1,9 @@
package com.nq.pojo;
import lombok.Data;
import java.util.Date;
@Data
public class StockOption {
    private Integer id;
    private Integer userId;
@@ -11,82 +14,5 @@
    private String stockGid;
    private Integer isLock;
    public StockOption(Integer id, Integer userId, Integer stockId, Date addTime, String stockCode, String stockName, String stockGid, Integer isLock) {
        this.id = id;
        this.userId = userId;
        this.stockId = stockId;
        this.addTime = addTime;
        this.stockCode = stockCode;
        this.stockName = stockName;
        this.stockGid = stockGid;
        this.isLock = isLock;
    }
    public StockOption() {
    }
    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 Integer getStockId() {
        return stockId;
    }
    public void setStockId(Integer stockId) {
        this.stockId = stockId;
    }
    public Date getAddTime() {
        return addTime;
    }
    public void setAddTime(Date addTime) {
        this.addTime = addTime;
    }
    public String getStockCode() {
        return stockCode;
    }
    public void setStockCode(String stockCode) {
        this.stockCode = stockCode;
    }
    public String getStockName() {
        return stockName;
    }
    public void setStockName(String stockName) {
        this.stockName = stockName;
    }
    public String getStockGid() {
        return stockGid;
    }
    public void setStockGid(String stockGid) {
        this.stockGid = stockGid;
    }
    public Integer getIsLock() {
        return isLock;
    }
    public void setIsLock(Integer isLock) {
        this.isLock = isLock;
    }
}
src/main/java/com/nq/pojo/UserRecharge.java
@@ -67,4 +67,5 @@
}
src/main/java/com/nq/service/IUserService.java
@@ -87,5 +87,7 @@
  void updateUserAmt(Double amt, Integer user_id);
//
//  ServerResponse queryMyOption(String code, HttpServletRequest request);
  ServerResponse queryMyOption(String code, HttpServletRequest request);
  ServerResponse getMoenyLog(String type,HttpServletRequest request);
}
src/main/java/com/nq/service/impl/StockOptionServiceImpl.java
@@ -59,24 +59,21 @@
    @Autowired
    StockMapper stockMapper;
    public ServerResponse<PageInfo> findMyStockOptions(String keyWords, HttpServletRequest request, int pageNum, int pageSize,String stockType) {
    public ServerResponse<PageInfo> findMyStockOptions(String keyWords, HttpServletRequest request, int pageNum, int pageSize, String stockType) {
        PageHelper.startPage(pageNum, pageSize);
        User user = this.iUserService.getCurrentUser(request);
        PageInfo pageInfo;
        if (user == null) {
            pageInfo =new PageInfo();
            return ServerResponse.createBySuccessMsg("請先登錄");
        }else{
            List<StockOption> stockOptions = this.stockOptionMapper.findMyOptionByKeywords(user.getId(), keyWords,stockType);
            List<StockListVO> stockOptionListVOS = Lists.newArrayList();
            for (StockOption option : stockOptions) {
                StockListVO stockListVO = assembleStockOptionListVO(option);
                stockOptionListVOS.add(stockListVO);
            }
            pageInfo = new PageInfo(stockOptions);
            pageInfo.setList(stockOptionListVOS);
        List<StockOption> stockOptions = this.stockOptionMapper.findMyOptionByKeywords(user.getId(), keyWords, stockType);
        List<StockListVO> stockOptionListVOS = Lists.newArrayList();
        for (StockOption option : stockOptions) {
            StockListVO stockListVO = assembleStockOptionListVO(option);
            stockOptionListVOS.add(stockListVO);
        }
        pageInfo = new PageInfo(stockOptionListVOS);
        pageInfo.setList(stockOptionListVOS);
        return ServerResponse.createBySuccess(pageInfo);
    }
@@ -88,6 +85,7 @@
        }
        return ServerResponse.createByErrorMsg("已添加");
    }
    public String isMyOption(Integer uid, String code) {
        StockOption stockOption = this.stockOptionMapper.isOption(uid, code);
        if (stockOption == null) {
@@ -95,6 +93,7 @@
        }
        return "1";
    }
    private StockListVO assembleStockOptionListVO(StockOption option) {
        Stock stock = this.stockMapper.selectByPrimaryKey(option.getStockId());
        StockListVO stockVO = StockApi.getStockRealTime(stock);
src/main/java/com/nq/service/impl/UserAssetsServices.java
@@ -2,8 +2,10 @@
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.nq.common.ServerResponse;
import com.nq.dao.MoneyLogMapper;
import com.nq.dao.UserAssetsMapper;
import com.nq.enums.EUserAssets;
import com.nq.pojo.MoneyLog;
import com.nq.pojo.UserAssets;
import com.nq.service.IUserAssetsServices;
import org.springframework.stereotype.Service;
@@ -22,6 +24,8 @@
    @Resource
    UserAssetsMapper userAssetsMapper;
    @Resource
    MoneyLogMapper moneyLogMapper;
    @Override
    public UserAssets assetsByTypeAndUserId(String accetType, Integer userId) {
@@ -85,6 +89,10 @@
            accetType = "US";
        }
        UserAssets userAssets =   assetsByTypeAndUserId(accetType,userId);
        String type = eUserAssets.getDesc();
        String before = userAssets.getAvailableBalance().setScale(2).toString();
        String accectType = userAssets.getAccectType();
       if(Objects.equals(eUserAssets.getCode(), EUserAssets.BUY.getCode())){
            userAssets.setAvailableBalance(userAssets.getAvailableBalance().add(amount));
            userAssets.setFreezeMoney(userAssets.getFreezeMoney().add(amount.negate()));
@@ -103,8 +111,16 @@
        }else if(Objects.equals(eUserAssets.getCode(), EUserAssets.WITHDRAW.getCode())){
            userAssets.setAvailableBalance(userAssets.getAvailableBalance().add(amount));
        }
        //TODO 添加日志
        String  after =  userAssets.getAvailableBalance().toString();
        MoneyLog moneyLog = new MoneyLog();
        moneyLog.setDescs(eUserAssets.getDesc());
        moneyLog.setBeFore(before);
        moneyLog.setAfter(after);
        moneyLog.setAmount(amount.toString());
        moneyLog.setAccectType(accectType);
        moneyLog.setType(type);
        moneyLog.setUserId(userId+"");
        moneyLogMapper.insert(moneyLog);
        return userAssetsMapper.updateById(userAssets)>1;
    }
}
src/main/java/com/nq/service/impl/UserPositionServiceImpl.java
@@ -108,11 +108,6 @@
    @Transactional
    public ServerResponse buy(Integer stockId, Integer buyNum, Integer buyType, Integer lever, BigDecimal profitTarget, BigDecimal stopTarget, HttpServletRequest request) throws Exception {
        // 判断周末不能买
//        Date today = new Date();
//        Calendar c = Calendar.getInstance();
//        c.setTime(today);
        /*实名认证开关开启*/
        SiteProduct siteProduct = iSiteProductService.getProductSetting();
        User user = this.iUserService.getCurrentRefreshUser(request);
@@ -124,6 +119,7 @@
        if (siteProduct.getRealNameDisplay() && user.getIsLock().intValue() == 1) {
            return ServerResponse.createByErrorMsg("Order failed, account has been locked");
        }
        SiteSetting siteSetting = this.iSiteSettingService.getSiteSetting();
        if (siteSetting == null) {
            log.error("下单出错,网站设置表不存在");
@@ -134,35 +130,6 @@
        if (stock == null) {
            return ServerResponse.createByErrorMsg("Order failed, stock code error");
        }
//        if (Objects.equals(stock.getStockType(), EStockType.US.getCode())) {
//            if (buyNum < siteSetting.getDzMinByCount()) {
//                return ServerResponse.createByErrorMsg("Minimum purchase for bulk commodities " + siteSetting.getDzMinByCount());
//            }
//            String am_begin = siteSetting.getTransAmBeginUs();
//            String am_end = siteSetting.getTransAmEndUs();
//            String pm_begin = siteSetting.getTransPmBeginUs();
//            String pm_end = siteSetting.getTransPmEndUs();
//            boolean am_flag = BuyAndSellUtils.isTransTime(am_begin, am_end);
//            boolean pm_flag = BuyAndSellUtils.isTransTime(pm_begin, pm_end);
//            log.info("是否在上午交易时间 = {} 是否在下午交易时间 = {}", Boolean.valueOf(am_flag), Boolean.valueOf(pm_flag));
//            if (!am_flag && !pm_flag) {
//                return ServerResponse.createByErrorMsg("Order failed, not in the  stock trading session");
//            }
//        } else {
//            String am_begin = siteSetting.getTransAmBegin();
//            String am_end = siteSetting.getTransAmEnd();
//            String pm_begin = siteSetting.getTransPmBegin();
//            String pm_end = siteSetting.getTransPmEnd();
//            boolean am_flag = BuyAndSellUtils.isTransTime(am_begin, am_end);
//            boolean pm_flag = BuyAndSellUtils.isTransTime(pm_begin, pm_end);
//            if (!am_flag && !pm_flag) {
//                return ServerResponse.createByErrorMsg("Order failed, out of trading hours");
//            }
//            if (siteProduct.getHolidayDisplay()) {
//                return ServerResponse.createByErrorMsg("No trading on weekends or holidays!");
//            }
//        }
        //判断股票是否在可交易时间段
        Boolean b = tradingHourService.timeCheck();
        if (!b) {
@@ -170,31 +137,10 @@
        }
        if (stock.getIsLock().intValue() != 0) {
        if (stock.getIsLock() != 0) {
            return ServerResponse.createByErrorMsg("Order failed, shares cannot be traded at present");
        }
        List dbPosition = findPositionByStockCodeAndTimes(siteSetting.getBuySameTimes().intValue(), stock
                .getStockCode(), user.getId());
        if (dbPosition.size() >= siteSetting.getBuySameNums().intValue()) {
            return ServerResponse.createByErrorMsg("Frequent trading," + siteSetting.getBuySameTimes() + "Hold no more than one stock within a minute" + siteSetting
                    .getBuySameNums() + "article");
        }
        Integer transNum = findPositionNumByTimes(siteSetting.getBuyNumTimes().intValue(), user.getId());
        if (transNum.intValue() / 100 >= siteSetting.getBuyNumLots().intValue()) {
            return ServerResponse.createByErrorMsg("Frequent trading," + siteSetting
                    .getBuyNumTimes() + "Hold no more than one stock within a minute" + siteSetting.getBuyNumLots() + "hand");
        }
        if (buyNum.intValue() < siteSetting.getBuyMinNum().intValue()) {
            return ServerResponse.createByErrorMsg("Order failed, purchase quantity is less than" + siteSetting
                    .getBuyMinNum() );
        }
        if (buyNum.intValue() > siteSetting.getBuyMaxNum().intValue()) {
            return ServerResponse.createByErrorMsg("Order failed, purchase quantity is greater than于" + siteSetting
                    .getBuyMaxNum() + "stocks");
        }
        BigDecimal now_price;
        //股票类型 现价 数据源的处理
        StockListVO  stockListVO = StockApi.getStockRealTime(stock);
src/main/java/com/nq/service/impl/UserRechargeServiceImpl.java
@@ -58,6 +58,8 @@
    @Autowired
    ISiteInfoService iSiteInfoService;
    @Resource
    UserAssetsMapper userAssetsMapper;
    public ServerResponse checkInMoney(int maxOrder, Integer userId) {
        int count = this.userRechargeMapper.checkInMoney(0, userId);
@@ -215,9 +217,19 @@
        User user = this.iUserService.getCurrentUser(request);
        List<UserRecharge> userRecharges = this.userRechargeMapper.findUserChargeList(user.getId(), payChannel, orderStatus);
        log.info("充值列表,增加用户 {} ,payChannel = {} , orderStatus = {}, 数量 = {}", new Object[]{user.getId(), payChannel, orderStatus, userRecharges.size()});
        PageInfo pageInfo = new PageInfo(userRecharges);
        for (int i = 0; i <userRecharges.size() ; i++) {
          SitePay s =   sitePayMapper.selectById(userRecharges.get(i).getPayId());
          if(s.getAssetsType().equals("US")){
              userRecharges.get(i).setAssetsType("$");
              userRecharges.get(i).setChannelName("USD");
          }else{
              userRecharges.get(i).setAssetsType("RM");
              userRecharges.get(i).setChannelName("MYR");
          }
        }
        return ServerResponse.createBySuccess(pageInfo);
    }
src/main/java/com/nq/service/impl/UserServiceImpl.java
@@ -98,6 +98,9 @@
    @Resource
    MoneyLogMapper mapper;
    @Resource
    UserPositionMapper userPositionMapper;
    @Resource
    SiteAmtTransLogMapper siteAmtTransLogMapper;
@@ -1168,20 +1171,22 @@
        userMapper.updateUserAmt(amt, user_id);
    }
//    @Override
//    public ServerResponse queryMyOption(String code, HttpServletRequest request) {
//        User user = getCurrentUser(request);
//
//        if (user == null) {
//            return ServerResponse.createBySuccessMsg("請先登錄");
//        }
//        String stockcode = code;
//        if(code.contains("hf")){
//            stockcode = code.split("_")[1].toString();
//        }
//        stockcode = stockcode.replace("sh","").replace("sz","").replace("bj","");
//        return this.iStockOptionService.isOption(user.getId(), stockcode);
//    }
    @Override
    public ServerResponse queryMyOption(String code, HttpServletRequest request) {
        User user = getCurrentUser(request);
        return this.iStockOptionService.isOption(user.getId(), code);
    }
    @Override
    public ServerResponse getMoenyLog(String type,HttpServletRequest request) {
        User user = getCurrentUser(request);
        QueryWrapper<MoneyLog>  queryWrapper = new QueryWrapper<>();
        queryWrapper.eq("type",type);
        queryWrapper.eq("user_id",user.getId());
        return  ServerResponse.createBySuccess(mapper.selectList(queryWrapper));
    }
}
src/main/java/com/nq/utils/stock/sina/StockApi.java
@@ -82,7 +82,15 @@
        StockListVO stockListVO = new StockListVO();
        try {
            StockRealTimeBean realTimeStock = RedisKeyUtil.getCacheRealTimeStock(stock);
            stockListVO.setHcrate(new BigDecimal(realTimeStock.getPcp().replace("%", "")));
            stockListVO.setHcrate(new BigDecimal(realTimeStock.getPcp()));
            stockListVO.setHcrateP(realTimeStock.getPcp()+"%");
            if(realTimeStock.getPcp().contains("-")){
                stockListVO.setColor(0);
            }else{
                stockListVO.setColor(1);
            }
            stockListVO.setNowPrice(realTimeStock.getLast());
            stockListVO.setToday_max(realTimeStock.getHigh());
            stockListVO.setToday_min(realTimeStock.getLow());
@@ -101,8 +109,6 @@
            return null;
        }
        return stockListVO;
    }
@@ -114,8 +120,6 @@
        }
        try {
            StockRealTimeBean qhBean = RedisKeyUtil.getCacheRealTimeStock(stock);
            stockListVO.setHcrate(qhBean.getPcp());
            stockListVO.setNowPrice(qhBean.getLast());
            stockListVO.setToday_max(qhBean.getHigh());
src/main/java/com/nq/utils/task/stock/StockTask.java
@@ -107,7 +107,6 @@
            while (totleStock>list.size()){
                try{
                    String result = HttpClientRequest.doGet(eStockType.stockUrl+"list?country_id="+eStockType.getContryId()+"&size=1000&page="+page+"&key="+eStockType.stockKey);
                    ReponseBase reponseBase  = new Gson().fromJson(result,ReponseBase.class);
                    list.addAll(reponseBase.getData());
                    page++;
@@ -153,7 +152,7 @@
    /***
     * 每3分钟同步一次数据源到数据库
     * 每3同步一次数据源到数据库
     *
     */
    @Scheduled(cron = "0/3 * * * * ?")
src/main/java/com/nq/ws/USWebsocketRunClient.java
@@ -29,7 +29,6 @@
    @Override
    public void onMessage(String s) {
        try {
            StockRealTimeBean stockDetailBean =  new Gson().fromJson(s, StockRealTimeBean.class);
            RedisKeyUtil.setCacheRealTimeStock(EStockType.US,stockDetailBean);
            ApplicationContext act = ApplicationContextRegisterUtil.getApplicationContext();
@@ -42,7 +41,7 @@
    @Override
    public void onClose(int i, String s, boolean b) {
        log.info("websocket 关闭"+1);
        log.info("websocket 美股关闭关闭"+1);
    }
    @Override
src/main/java/com/nq/ws/WebSocketClientBeanConfig.java
@@ -21,10 +21,6 @@
    public Map<String, WebSocketClient> websocketRunClientMap() {
        Map<String, WebSocketClient> retMap = new HashMap<>(2);
        try {
            WebsocketRunClient websocketRunClient = new WebsocketRunClient(new URI(PropertiesUtil.getProperty("MAS_WS_URL")));
            websocketRunClient.connect();
src/main/java/com/nq/ws/WebsocketRunClient.java
@@ -29,8 +29,6 @@
    @Override
    public void onMessage(String s) {
        try {
            ApplicationContext act = ApplicationContextRegisterUtil.getApplicationContext();
            MandatoryLiquidationService liquidationService = (MandatoryLiquidationService) act.getBean(IMandatoryLiquidationService.class);
            StockRealTimeBean stockDetailBean =  new Gson().fromJson(s, StockRealTimeBean.class);
@@ -42,7 +40,7 @@
    @Override
    public void onClose(int i, String s, boolean b) {
        log.info("websocket 关闭"+1);
        log.info("websocket  马来西亚  关闭"+1);
    }
    @Override
src/main/resources/application.properties
@@ -37,8 +37,8 @@
IN_WS_URL = ws://api-in-ws.js-stock.top
IN_KEY = r3ZAgtcYzuBizmqge2hK
US_HTTP_API = http://api-1-ws.js-stock.top/
US_WS_URL = ws://api-1-ws.js-stock.top
US_HTTP_API = http://ws-us.js-stock.top/
US_WS_URL = ws://ws-us.js-stock.top
US_KEY = jZFrku4RGQjP87Hmq5tm
HK_HTTP_API = http://test.js-stock.top/
src/main/resources/application.yml
@@ -122,7 +122,7 @@
  datasource:
    type: com.alibaba.druid.pool.DruidDataSource
    driverClassName: com.mysql.cj.jdbc.Driver
    url: jdbc:mysql://127.0.0.1:3306/stock?useUnicode=true&characterEncoding=utf8&zeroDateTimeBehavior=convertToNull&useSSL=true&serverTimezone=GMT%2B8
    url: jdbc:mysql://45.204.85.67:7306/stock?useUnicode=true&characterEncoding=utf8&zeroDateTimeBehavior=convertToNull&useSSL=true&serverTimezone=GMT%2B8
    username: root
    password: 123456
    druid:
src/main/resources/mapper/StockOptionMapper.xml
@@ -2,16 +2,14 @@
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd" >
<mapper namespace="com.nq.dao.StockOptionMapper" >
  <resultMap id="BaseResultMap" type="com.nq.pojo.StockOption" >
    <constructor >
      <idArg column="id" jdbcType="INTEGER" javaType="java.lang.Integer" />
      <arg column="user_id" jdbcType="INTEGER" javaType="java.lang.Integer" />
      <arg column="stock_id" jdbcType="INTEGER" javaType="java.lang.Integer" />
      <arg column="add_time" jdbcType="TIMESTAMP" javaType="java.util.Date" />
      <arg column="stock_code" jdbcType="VARCHAR" javaType="java.lang.String" />
      <arg column="stock_name" jdbcType="VARCHAR" javaType="java.lang.String" />
      <arg column="stock_gid" jdbcType="VARCHAR" javaType="java.lang.String" />
      <arg column="is_lock" jdbcType="INTEGER" javaType="java.lang.Integer" />
    </constructor>
      <id column="id"  property="id" />
      <result column="user_id" property="userId"  />
      <result column="stock_id" property="stockId"  />
      <result column="add_time" property="addTime"  />
      <result column="stock_code" property="stockCode"  />
      <result column="stock_name" property="stockName" />
      <result column="stock_gid" property="stockGid" />
      <result column="is_lock" property="isLock"  />
  </resultMap>
  <sql id="Base_Column_List" >
    id, user_id, stock_id, add_time, stock_code, stock_name, stock_gid, is_lock
target/classes/application.properties
@@ -37,8 +37,8 @@
IN_WS_URL = ws://api-in-ws.js-stock.top
IN_KEY = r3ZAgtcYzuBizmqge2hK
US_HTTP_API = http://api-1-ws.js-stock.top/
US_WS_URL = ws://api-1-ws.js-stock.top
US_HTTP_API = http://ws-us.js-stock.top/
US_WS_URL = ws://ws-us.js-stock.top
US_KEY = jZFrku4RGQjP87Hmq5tm
HK_HTTP_API = http://test.js-stock.top/
target/classes/application.yml
@@ -122,7 +122,7 @@
  datasource:
    type: com.alibaba.druid.pool.DruidDataSource
    driverClassName: com.mysql.cj.jdbc.Driver
    url: jdbc:mysql://127.0.0.1:3306/stock?useUnicode=true&characterEncoding=utf8&zeroDateTimeBehavior=convertToNull&useSSL=true&serverTimezone=GMT%2B8
    url: jdbc:mysql://45.204.85.67:7306/stock?useUnicode=true&characterEncoding=utf8&zeroDateTimeBehavior=convertToNull&useSSL=true&serverTimezone=GMT%2B8
    username: root
    password: 123456
    druid:
target/classes/mapper/StockOptionMapper.xml
@@ -2,16 +2,14 @@
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd" >
<mapper namespace="com.nq.dao.StockOptionMapper" >
  <resultMap id="BaseResultMap" type="com.nq.pojo.StockOption" >
    <constructor >
      <idArg column="id" jdbcType="INTEGER" javaType="java.lang.Integer" />
      <arg column="user_id" jdbcType="INTEGER" javaType="java.lang.Integer" />
      <arg column="stock_id" jdbcType="INTEGER" javaType="java.lang.Integer" />
      <arg column="add_time" jdbcType="TIMESTAMP" javaType="java.util.Date" />
      <arg column="stock_code" jdbcType="VARCHAR" javaType="java.lang.String" />
      <arg column="stock_name" jdbcType="VARCHAR" javaType="java.lang.String" />
      <arg column="stock_gid" jdbcType="VARCHAR" javaType="java.lang.String" />
      <arg column="is_lock" jdbcType="INTEGER" javaType="java.lang.Integer" />
    </constructor>
      <id column="id"  property="id" />
      <result column="user_id" property="userId"  />
      <result column="stock_id" property="stockId"  />
      <result column="add_time" property="addTime"  />
      <result column="stock_code" property="stockCode"  />
      <result column="stock_name" property="stockName" />
      <result column="stock_gid" property="stockGid" />
      <result column="is_lock" property="isLock"  />
  </resultMap>
  <sql id="Base_Column_List" >
    id, user_id, stock_id, add_time, stock_code, stock_name, stock_gid, is_lock
target/maven-status/maven-compiler-plugin/compile/default-compile/createdFiles.lst
@@ -264,6 +264,7 @@
com\nq\dao\UserPendingorderMapper.class
com\nq\service\IUserAssetsServices.class
com\nq\controller\agent\AgentRechargeController.class
com\nq\pojo\MoneyLog.class
com\nq\controller\backend\AdminController.class
com\nq\utils\http\HttpClientRequest.class
com\nq\controller\VerifyCodeController.class
@@ -371,6 +372,7 @@
com\nq\vo\foreigncurrency\ExchangeVO.class
com\nq\service\impl\UserWithdrawServiceImpl.class
com\nq\controller\protol\UserController.class
com\nq\dao\MoneyLogMapper.class
com\nq\utils\email\MailSender$Builder.class
com\nq\utils\translate\GoogleTranslateUtil.class
com\nq\utils\redis\RedisPoolUtil.class
target/stock-0.0.1-SNAPSHOT.jar.original
Binary files differ