zhou.xiaoning před 4 roky
rodič
revize
948ccdbeae

+ 1 - 0
RMA/app/build.gradle

@@ -143,5 +143,6 @@ dependencies {
     implementation "org.jetbrains.kotlinx:kotlinx-coroutines-android:1.3.9"
     //eventbus
     implementation 'org.greenrobot:eventbus:3.2.0'
+    implementation "org.jetbrains.kotlin:kotlin-reflect:1.4.10"
 
 }

+ 66 - 20
RMA/app/src/main/java/cn/muchinfo/rma/business/future/FutureManager.kt

@@ -25,12 +25,15 @@ import cn.muchinfo.rma.view.autoWidget.guard
 import cn.muchinfo.rma.view.base.app.BaseResult
 import cn.muchinfo.rma.view.base.app.Constant
 import cn.muchinfo.rma.view.base.app.ServiceFunApi
+import com.blankj.utilcode.util.LogUtils
 import com.blankj.utilcode.util.SPUtils
 import okhttp3.Call
 import java.lang.Exception
+import java.lang.reflect.Field
 import java.text.SimpleDateFormat
 import java.util.ArrayList
 import java.util.logging.SimpleFormatter
+import kotlin.math.pow
 
 /**
  * 期货管理类
@@ -136,32 +139,75 @@ class FutureManager {
     /**
      * 实时行情更新盘面
      * @param goodsQuoteTiks List<Map<String, String>> 实时行情信息列表
+     * @return Set<Int> 已更新盘面的GoodsID列表
      */
-    @SuppressLint("SimpleDateFormat")
-    fun updateQuoteInfo(goodsQuoteTiks: List<Map<String, String>>) {
+    fun updateQuoteInfo(goodsQuoteTiks: List<Map<String, String>>): Set<Int> {
+        val goodsIDs = mutableSetOf<Int>()
         goodsQuoteTiks.forEach continuing@{ goodsQuoteTik ->
-            // 获取对应的商品信息
-            val goodsInfo = GlobalDataCollection.instance?.goodsInfoList?.find {
-                it.outgoodscode == goodsQuoteTik["GoodsCode"]
-            }
-            // 获取对应的盘面信息
+            // 获取对应的商品与盘面信息
             val goodsInfoAndQuote = GlobalDataCollection.instance?.goodsInfoAndQuotesList?.find {
-                it.outgoodscode == goodsQuoteTik["GoodsCode"]
-            }
-
-            if (goodsInfo != null && goodsInfoAndQuote != null) {
-                val date = goodsQuoteTik["Date"].guard { return@continuing }
-                val time = goodsQuoteTik["Time"].guard { return@continuing }
-                val quoteTime = SimpleDateFormat("yyyyMMddHHmmss").parse("$date$time")
-                    .guard { return@continuing }
-                // 实时行情需要判断行情时间是否比盘面的时间要早,如果要早则抛弃
-                if (quoteTime.before(SimpleDateFormat("yyyy-MM-dd HH:mm:ss").parse(goodsInfoAndQuote.quoteDayData.lasttime))) {
-                    return@continuing
+                it.outgoodscode == goodsQuoteTik["goodscode"]
+            } ?: return@continuing
+
+            goodsIDs.add(goodsInfoAndQuote.goodsInfo.goodsid)
+
+            try {
+//                val date = goodsQuoteTik["date"]
+//                val time = goodsQuoteTik["time"]
+//                val quoteTime = SimpleDateFormat("yyyyMMddHHmmss").parse("$date$time")
+//                    .guard { return@continuing }
+//                if (goodsInfoAndQuote.quoteDayData.lasttime.isEmpty()) {
+//                    // 实时行情需要判断行情时间是否比盘面的时间要早,如果要早则抛弃
+//                    if (quoteTime.before(SimpleDateFormat("yyyy-MM-dd HH:mm:ss").parse(goodsInfoAndQuote.quoteDayData.lasttime))) {
+//                        return@continuing
+//                    }
+//                }
+
+                // 反射赋值
+                val c = Class.forName("cn.muchinfo.rma.global.data.QuoteDayData")
+                c.declaredFields.forEach {
+                    if (goodsQuoteTik.containsKey(it.name)) {
+                        LogUtils.eTag ("RMA11", it.name, it.type)
+                        when(it.type.toString()) {
+                            "double" -> {
+                                it.isAccessible = true
+                                if (it.name != "totalturnover") {
+                                    val tmp = goodsQuoteTik[it.name]?.toDouble()
+                                        ?.times(10.0.pow(-goodsInfoAndQuote.goodsInfo.decimalplace))
+                                    if (tmp != null) {
+                                        it.setDouble(goodsInfoAndQuote.quoteDayData, tmp)
+                                    }
+                                } else {
+                                    // 总金额
+                                    goodsQuoteTik[it.name]?.toDouble()?.let { value ->
+                                        it.setDouble(goodsInfoAndQuote.quoteDayData,
+                                            value
+                                        )
+                                    }
+                                }
+                            }
+                            "int" -> {
+                                it.isAccessible = true
+                                goodsQuoteTik[it.name]?.toInt()?.let { value ->
+                                    it.setInt(goodsInfoAndQuote.quoteDayData,
+                                        value
+                                    )
+                                }
+                            }
+                            "class java.lang.String" -> {
+                                it.isAccessible = true
+                                it.set(goodsInfoAndQuote.quoteDayData,  goodsQuoteTik[it.name])
+                            }
+                        }
+                    }
                 }
-
-
+            } catch (e: Exception) {
+                LogUtils.eTag ("RMA11", e.message)
+                return@continuing
             }
         }
+
+        return goodsIDs
     }
 
     /**

+ 201 - 201
RMA/app/src/main/java/cn/muchinfo/rma/business/quote/adapter/QuoteAdapter.kt

@@ -159,367 +159,367 @@ class QuoteAdapter {
         ) {
             when (key) {
                 0x56 -> {
-                    goodsQuoteTik["ExchangeCode"] = value
+                    goodsQuoteTik["exchangecode"] = value
                 }
                 0x21 -> {
-                    goodsQuoteTik["GoodsCode"] = value
+                    goodsQuoteTik["goodscode"] = value
                 }
                 0x24 -> {
-                    goodsQuoteTik["Last"] = value
+                    goodsQuoteTik["last"] = value
                 }
-                0x5B -> {
-                    goodsQuoteTik["HoldVolume"] = value
+                0x5b -> {
+                    goodsQuoteTik["holdvolume"] = value
                 }
                 0x25 -> {
-                    goodsQuoteTik["LastVolume"] = value
+                    goodsQuoteTik["lastvolume"] = value
                 }
-                0x3C -> {
-                    goodsQuoteTik["PreHoldVolume"] = value
+                0x3c -> {
+                    goodsQuoteTik["preholdvolume"] = value
                 }
                 0x32 -> {
-                    goodsQuoteTik["PreSettle"] = value
+                    goodsQuoteTik["presettle"] = value
                 }
                 0x33 -> {
-                    goodsQuoteTik["Settle"] = value
+                    goodsQuoteTik["settle"] = value
                 }
                 0x29 -> {
-                    goodsQuoteTik["TotalTurnover"] = value
+                    goodsQuoteTik["totalturnover"] = value
                 }
                 0x28 -> {
-                    goodsQuoteTik["TotalVolume"] = value
+                    goodsQuoteTik["totalvolume"] = value
                 }
                 0x35 -> {
-                    goodsQuoteTik["LimitHigh"] = value
+                    goodsQuoteTik["limithigh"] = value
                 }
                 0x36 -> {
-                    goodsQuoteTik["LimitLow"] = value
+                    goodsQuoteTik["limitlow"] = value
                 }
-                "L".toInt() -> {
-                    goodsQuoteTik["Ask"] = value
+                'l'.toInt() -> {
+                    goodsQuoteTik["ask"] = value
                 }
-                "M".toInt() -> {
-                    goodsQuoteTik["Ask2"] = value
+                'm'.toInt() -> {
+                    goodsQuoteTik["ask2"] = value
                 }
-                "N".toInt() -> {
-                    goodsQuoteTik["Ask3"] = value
+                'n'.toInt() -> {
+                    goodsQuoteTik["ask3"] = value
                 }
-                "O".toInt() -> {
-                    goodsQuoteTik["Ask4"] = value
+                'o'.toInt() -> {
+                    goodsQuoteTik["ask4"] = value
                 }
-                "P".toInt() -> {
-                    goodsQuoteTik["Ask5"] = value
+                'p'.toInt() -> {
+                    goodsQuoteTik["ask5"] = value
                 }
-                "Q".toInt() -> {
-                    goodsQuoteTik["AskVolume"] = value
+                'q'.toInt() -> {
+                    goodsQuoteTik["askvolume"] = value
                 }
-                "R".toInt() -> {
-                    goodsQuoteTik["AskVolume2"] = value
+                'r'.toInt() -> {
+                    goodsQuoteTik["askvolume2"] = value
                 }
-                "S".toInt() -> {
-                    goodsQuoteTik["AskVolume3"] = value
+                's'.toInt() -> {
+                    goodsQuoteTik["askvolume3"] = value
                 }
-                "T".toInt() -> {
-                    goodsQuoteTik["AskVolume4"] = value
+                't'.toInt() -> {
+                    goodsQuoteTik["askvolume4"] = value
                 }
-                "U".toInt() -> {
-                    goodsQuoteTik["AskVolume5"] = value
+                'u'.toInt() -> {
+                    goodsQuoteTik["askvolume5"] = value
                 }
-                "B".toInt() -> {
-                    goodsQuoteTik["Bid"] = value
+                'b'.toInt() -> {
+                    goodsQuoteTik["bid"] = value
                 }
-                "C".toInt() -> {
-                    goodsQuoteTik["Bid2"] = value
+                'c'.toInt() -> {
+                    goodsQuoteTik["bid2"] = value
                 }
-                "D".toInt() -> {
-                    goodsQuoteTik["Bid3"] = value
+                'd'.toInt() -> {
+                    goodsQuoteTik["bid3"] = value
                 }
-                "E".toInt() -> {
-                    goodsQuoteTik["Bid4"] = value
+                'e'.toInt() -> {
+                    goodsQuoteTik["bid4"] = value
                 }
-                "F".toInt() -> {
-                    goodsQuoteTik["Bid5"] = value
+                'f'.toInt() -> {
+                    goodsQuoteTik["bid5"] = value
                 }
-                "G".toInt() -> {
-                    goodsQuoteTik["BidVolume"] = value
+                'g'.toInt() -> {
+                    goodsQuoteTik["bidvolume"] = value
                 }
-                "H".toInt() -> {
-                    goodsQuoteTik["BidVolume2"] = value
+                'h'.toInt() -> {
+                    goodsQuoteTik["bidvolume2"] = value
                 }
-                "I".toInt() -> {
-                    goodsQuoteTik["BidVolume3"] = value
+                'i'.toInt() -> {
+                    goodsQuoteTik["bidvolume3"] = value
                 }
-                "J".toInt() -> {
-                    goodsQuoteTik["BidVolume4"] = value
+                'j'.toInt() -> {
+                    goodsQuoteTik["bidvolume4"] = value
                 }
-                "K".toInt() -> {
-                    goodsQuoteTik["BidVolume5"] = value
+                'k'.toInt() -> {
+                    goodsQuoteTik["bidvolume5"] = value
                 }
-                ",".toInt() -> {
-                    goodsQuoteTik["Highest"] = value
+                ','.toInt() -> {
+                    goodsQuoteTik["highest"] = value
                 }
-                "-".toInt() -> {
-                    goodsQuoteTik["Lowest"] = value
+                '-'.toInt() -> {
+                    goodsQuoteTik["lowest"] = value
                 }
-                "@".toInt() -> {
-                    goodsQuoteTik["Date"] = value
+                '@'.toInt() -> {
+                    goodsQuoteTik["date"] = value
                 }
-                "A".toInt() -> {
-                    goodsQuoteTik["Time"] = value
+                'a'.toInt() -> {
+                    goodsQuoteTik["time"] = value
                 }
-                "+".toInt() -> {
-                    goodsQuoteTik["PreClose"] = value
+                '+'.toInt() -> {
+                    goodsQuoteTik["preclose"] = value
                 }
-                ".".toInt() -> {
-                    goodsQuoteTik["Opened"] = value
+                '.'.toInt() -> {
+                    goodsQuoteTik["opened"] = value
                 }
-                0x5C -> {
-                    goodsQuoteTik["ExercisePrice"] = value
+                0x5c -> {
+                    goodsQuoteTik["exerciseprice"] = value
                 }
-                0x7A -> {
-                    goodsQuoteTik["Inventory"] = value
+                0x7a -> {
+                    goodsQuoteTik["inventory"] = value
                 }
-                0x7C -> {
-                    goodsQuoteTik["ExchangeDate"] = value
+                0x7c -> {
+                    goodsQuoteTik["exchangedate"] = value
                 }
                 0x70 -> {  // 1011 新增
-                    goodsQuoteTik["strBidOrder"] = value
+                    goodsQuoteTik["strbidorder"] = value
                 }
                 0x71 -> {
-                    goodsQuoteTik["strBidOrder2"] = value
+                    goodsQuoteTik["strbidorder2"] = value
                 }
                 0x72 -> {
-                    goodsQuoteTik["strBidOrder3"] = value
+                    goodsQuoteTik["strbidorder3"] = value
                 }
                 0x73 -> {
-                    goodsQuoteTik["strBidOrder4"] = value
+                    goodsQuoteTik["strbidorder4"] = value
                 }
                 0x74 -> {
-                    goodsQuoteTik["strBidOrder5"] = value
+                    goodsQuoteTik["strbidorder5"] = value
                 }
                 0x75 -> {
-                    goodsQuoteTik["strAskOrder"] = value
+                    goodsQuoteTik["straskorder"] = value
                 }
                 0x76 -> {
-                    goodsQuoteTik["strAskOrder2"] = value
+                    goodsQuoteTik["straskorder2"] = value
                 }
                 0x77 -> {
-                    goodsQuoteTik["strAskOrder3"] = value
+                    goodsQuoteTik["straskorder3"] = value
                 }
                 0x78 -> {
-                    goodsQuoteTik["strAskOrder4"] = value
+                    goodsQuoteTik["straskorder4"] = value
                 }
                 0x79 -> {
-                    goodsQuoteTik["strAskOrder5"] = value
+                    goodsQuoteTik["straskorder5"] = value
                 }
-                0x7D -> {
-                    goodsQuoteTik["putOptionPremiums"] = value
+                0x7d -> {
+                    goodsQuoteTik["putoptionpremiums"] = value
                 }
-                0x7E -> {
-                    goodsQuoteTik["putOptionPremiums2"] = value
+                0x7e -> {
+                    goodsQuoteTik["putoptionpremiums2"] = value
                 }
                 0x80 -> {
-                    goodsQuoteTik["putOptionPremiums3"] = value
+                    goodsQuoteTik["putoptionpremiums3"] = value
                 }
                 0x81 -> {
-                    goodsQuoteTik["putOptionPremiums4"] = value
+                    goodsQuoteTik["putoptionpremiums4"] = value
                 }
                 0x82 -> {
-                    goodsQuoteTik["putOptionPremiums5"] = value
+                    goodsQuoteTik["putoptionpremiums5"] = value
                 }
                 0x83 -> {
-                    goodsQuoteTik["callOptionPremiums"] = value
+                    goodsQuoteTik["calloptionpremiums"] = value
                 }
                 0x84 -> {
-                    goodsQuoteTik["callOptionPremiums2"] = value
+                    goodsQuoteTik["calloptionpremiums2"] = value
                 }
                 0x85 -> {
-                    goodsQuoteTik["callOptionPremiums3"] = value
+                    goodsQuoteTik["calloptionpremiums3"] = value
                 }
                 0x86 -> {
-                    goodsQuoteTik["callOptionPremiums4"] = value
+                    goodsQuoteTik["calloptionpremiums4"] = value
                 }
                 0x87 -> {
-                    goodsQuoteTik["callOptionPremiums5"] = value
+                    goodsQuoteTik["calloptionpremiums5"] = value
                 }
-                0x7B -> {
-                    goodsQuoteTik["orderID "] = value
+                0x7b -> {
+                    goodsQuoteTik["orderid "] = value
                 }
                 0x88 -> { // 非交易成交总量
-                    goodsQuoteTik["nonTotalVolume"] = value
+                    goodsQuoteTik["nontotalvolume"] = value
                 }
                 0x89 -> { // 非交易总持仓量
-                    goodsQuoteTik["nonTotalHolderVolume"] = value
+                    goodsQuoteTik["nontotalholdervolume"] = value
                 }
-                0x8A -> { // 非交易成交总金额
-                    goodsQuoteTik["nonTotalTurnover"] = value
+                0x8a -> { // 非交易成交总金额
+                    goodsQuoteTik["nontotalturnover"] = value
                 }
-                0x8B -> { // 非交易成交总数
-                    goodsQuoteTik["nonTotalLot"] = value
+                0x8b -> { // 非交易成交总数
+                    goodsQuoteTik["nontotallot"] = value
                 }
-                0x8C -> {
-                    goodsQuoteTik["markPrice"] = value
+                0x8c -> {
+                    goodsQuoteTik["markprice"] = value
                 }
-                0x8D -> {
-                    goodsQuoteTik["fundSrate"] = value
+                0x8d -> {
+                    goodsQuoteTik["fundsrate"] = value
                 }
                 0x92 -> {
-                    goodsQuoteTik["BidVolume6"] = value
+                    goodsQuoteTik["bidvolume6"] = value
                 }
                 0x93 -> {
-                    goodsQuoteTik["BidVolume7"] = value
+                    goodsQuoteTik["bidvolume7"] = value
                 }
                 0x94 -> {
-                    goodsQuoteTik["BidVolume8"] = value
+                    goodsQuoteTik["bidvolume8"] = value
                 }
                 0x95 -> {
-                    goodsQuoteTik["BidVolume9"] = value
+                    goodsQuoteTik["bidvolume9"] = value
                 }
                 0x96 -> {
-                    goodsQuoteTik["BidVolume10"] = value
+                    goodsQuoteTik["bidvolume10"] = value
                 }
                 0x97 -> {
-                    goodsQuoteTik["Ask6"] = value
+                    goodsQuoteTik["ask6"] = value
                 }
                 0x98 -> {
-                    goodsQuoteTik["Ask7"] = value
+                    goodsQuoteTik["ask7"] = value
                 }
                 0x99 -> {
-                    goodsQuoteTik["Ask8"] = value
+                    goodsQuoteTik["ask8"] = value
                 }
-                0x9A -> {
-                    goodsQuoteTik["Ask9"] = value
+                0x9a -> {
+                    goodsQuoteTik["ask9"] = value
                 }
-                0x9B -> {
-                    goodsQuoteTik["Ask10"] = value
+                0x9b -> {
+                    goodsQuoteTik["ask10"] = value
                 }
-                0x9C -> {
-                    goodsQuoteTik["AskVolume6"] = value
+                0x9c -> {
+                    goodsQuoteTik["askvolume6"] = value
                 }
-                0x9D -> {
-                    goodsQuoteTik["AskVolume7"] = value
+                0x9d -> {
+                    goodsQuoteTik["askvolume7"] = value
                 }
-                0x9E -> {
-                    goodsQuoteTik["AskVolume8"] = value
+                0x9e -> {
+                    goodsQuoteTik["askvolume8"] = value
                 }
-                0xA0 -> {
-                    goodsQuoteTik["AskVolume9"] = value
+                0xa0 -> {
+                    goodsQuoteTik["askvolume9"] = value
                 }
-                0xA1 -> {
-                    goodsQuoteTik["AskVolume10"] = value
+                0xa1 -> {
+                    goodsQuoteTik["askvolume10"] = value
                 }
-                0xA2 -> {
-                    goodsQuoteTik["strBidOrder6"] = value
+                0xa2 -> {
+                    goodsQuoteTik["strbidorder6"] = value
                 }
-                0xA3 -> {
-                    goodsQuoteTik["strBidOrder7"] = value
+                0xa3 -> {
+                    goodsQuoteTik["strbidorder7"] = value
                 }
-                0xA4 -> {
-                    goodsQuoteTik["strBidOrder8"] = value
+                0xa4 -> {
+                    goodsQuoteTik["strbidorder8"] = value
                 }
-                0xA5 -> {
-                    goodsQuoteTik["strBidOrder9"] = value
+                0xa5 -> {
+                    goodsQuoteTik["strbidorder9"] = value
                 }
-                0xA6 -> {
-                    goodsQuoteTik["strBidOrder10"] = value
+                0xa6 -> {
+                    goodsQuoteTik["strbidorder10"] = value
                 }
-                0xA7 -> {
-                    goodsQuoteTik["strAskOrder6"] = value
+                0xa7 -> {
+                    goodsQuoteTik["straskorder6"] = value
                 }
-                0xA8 -> {
-                    goodsQuoteTik["strAskOrder7"] = value
+                0xa8 -> {
+                    goodsQuoteTik["straskorder7"] = value
                 }
-                0xA9 -> {
-                    goodsQuoteTik["strAskOrder8"] = value
+                0xa9 -> {
+                    goodsQuoteTik["straskorder8"] = value
                 }
-                0xAA -> {
-                    goodsQuoteTik["strAskOrder9"] = value
+                0xaa -> {
+                    goodsQuoteTik["straskorder9"] = value
                 }
-                0xAB -> {
-                    goodsQuoteTik["strAskOrder10"] = value
+                0xab -> {
+                    goodsQuoteTik["straskorder10"] = value
                 }
-                0xAC -> {
-                    goodsQuoteTik["Bid6"] = value
+                0xac -> {
+                    goodsQuoteTik["bid6"] = value
                 }
-                0xAD -> {
-                    goodsQuoteTik["Bid7"] = value
+                0xad -> {
+                    goodsQuoteTik["bid7"] = value
                 }
-                0x8E -> {
-                    goodsQuoteTik["Bid8"] = value
+                0x8e -> {
+                    goodsQuoteTik["bid8"] = value
                 }
                 0x90 -> {
-                    goodsQuoteTik["Bid9"] = value
+                    goodsQuoteTik["bid9"] = value
                 }
                 0x91 -> {
-                    goodsQuoteTik["Bid10"] = value
+                    goodsQuoteTik["bid10"] = value
                 }
-                0xAE -> { // 买2的订单数量
-                    goodsQuoteTik["bidOrderVol1"] = value
+                0xae -> { // 买2的订单数量
+                    goodsQuoteTik["bidordervol1"] = value
                 }
-                0xAF -> { // 买2的订单数量
-                    goodsQuoteTik["bidOrderVol2"] = value
+                0xaf -> { // 买2的订单数量
+                    goodsQuoteTik["bidordervol2"] = value
                 }
-                0xB0 -> { // 买3的订单数量
-                    goodsQuoteTik["bidOrderVol3"] = value
+                0xb0 -> { // 买3的订单数量
+                    goodsQuoteTik["bidordervol3"] = value
                 }
-                0xB1 -> { // 买4的订单数量
-                    goodsQuoteTik["bidOrderVol4"] = value
+                0xb1 -> { // 买4的订单数量
+                    goodsQuoteTik["bidordervol4"] = value
                 }
-                0xB2 -> { // 买5的订单数量
-                    goodsQuoteTik["bidOrderVol5"] = value
+                0xb2 -> { // 买5的订单数量
+                    goodsQuoteTik["bidordervol5"] = value
                 }
-                0xB3 -> { // 买6的订单数量
-                    goodsQuoteTik["bidOrderVol6"] = value
+                0xb3 -> { // 买6的订单数量
+                    goodsQuoteTik["bidordervol6"] = value
                 }
-                0xB4 -> { // 买7的订单数量
-                    goodsQuoteTik["bidOrderVol7"] = value
+                0xb4 -> { // 买7的订单数量
+                    goodsQuoteTik["bidordervol7"] = value
                 }
-                0xB5 -> { // 买8的订单数量
-                    goodsQuoteTik["bidOrderVol8"] = value
+                0xb5 -> { // 买8的订单数量
+                    goodsQuoteTik["bidordervol8"] = value
                 }
-                0xB6 -> { // 买9的订单数量
-                    goodsQuoteTik["bidOrderVol9"] = value
+                0xb6 -> { // 买9的订单数量
+                    goodsQuoteTik["bidordervol9"] = value
                 }
-                0xB7 -> { // 买10的订单数量
-                    goodsQuoteTik["bidOrderVol10"] = value
+                0xb7 -> { // 买10的订单数量
+                    goodsQuoteTik["bidordervol10"] = value
                 }
-                0xB8 -> { // 卖1的订单数量
-                    goodsQuoteTik["askOrderVol1"] = value
+                0xb8 -> { // 卖1的订单数量
+                    goodsQuoteTik["askordervol1"] = value
                 }
-                0xB9 -> { // 卖2的订单数量
-                    goodsQuoteTik["askOrderVol2"] = value
+                0xb9 -> { // 卖2的订单数量
+                    goodsQuoteTik["askordervol2"] = value
                 }
-                0xBA -> { // 卖3的订单数量
-                    goodsQuoteTik["askOrderVol3"] = value
+                0xba -> { // 卖3的订单数量
+                    goodsQuoteTik["askordervol3"] = value
                 }
-                0xBB -> { // 卖4的订单数量
-                    goodsQuoteTik["askOrderVol4"] = value
+                0xbb -> { // 卖4的订单数量
+                    goodsQuoteTik["askordervol4"] = value
                 }
-                0xBC -> { // 卖5的订单数量
-                    goodsQuoteTik["askOrderVol5"] = value
+                0xbc -> { // 卖5的订单数量
+                    goodsQuoteTik["askordervol5"] = value
                 }
-                0xBD -> { // 卖6的订单数量
-                    goodsQuoteTik["askOrderVol6"] = value
+                0xbd -> { // 卖6的订单数量
+                    goodsQuoteTik["askordervol6"] = value
                 }
-                0xBE -> { // 卖7的订单数量
-                    goodsQuoteTik["askOrderVol7"] = value
+                0xbe -> { // 卖7的订单数量
+                    goodsQuoteTik["askordervol7"] = value
                 }
-                0xBF -> { // 卖8的订单数量
-                    goodsQuoteTik["askOrderVol8"] = value
+                0xbf -> { // 卖8的订单数量
+                    goodsQuoteTik["askordervol8"] = value
                 }
-                0xC0 -> { // 卖9的订单数量
-                    goodsQuoteTik["askOrderVol9"] = value
+                0xc0 -> { // 卖9的订单数量
+                    goodsQuoteTik["askordervol9"] = value
                 }
-                0xC1 -> { // 卖10的订单数量
-                    goodsQuoteTik["askOrderVol10"] = value
+                0xc1 -> { // 卖10的订单数量
+                    goodsQuoteTik["askordervol10"] = value
                 }
                 0x59 -> { // 买经济盘数据
-                    goodsQuoteTik["bidQueueInfo"] = value
+                    goodsQuoteTik["bidqueueinfo"] = value
                 }
-                0x5A -> { // 卖经济盘数据
-                    goodsQuoteTik["askQueueInfo"] = value
+                0x5a -> { // 卖经济盘数据
+                    goodsQuoteTik["askqueueinfo"] = value
                 }
-                0x6B -> {  // 交易类型
-                    goodsQuoteTik["publicTradetype"] = value
+                0x6b -> {  // 交易类型
+                    goodsQuoteTik["publictradetype"] = value
                 }
             }
         }

+ 6 - 2
RMA/app/src/main/java/cn/muchinfo/rma/global/data/QuoteDayData.kt

@@ -83,7 +83,7 @@ data class QuoteDayData(
     var calloptionpremiums4 : Int = 0,//认购期权4
     var calloptionpremiums5 : Int = 0,//认购期权5
     var cleartime : String = "",//清盘时间
-    var exchangecode : Int = 0,//交易所代码
+    public var exchangecode : Int = 0,//交易所代码
     var exchangedate : String = "",//交易日
     var goodscode : String = "",//商品代码
     var grepmarketprice : Double = 0.0,//暗盘价 港股专用
@@ -127,7 +127,11 @@ data class QuoteDayData(
     var totalturnover : Double = 0.0,//总金额
     var totalvolume : String = "",//总量
     var utclasttime : String = "",//utc的行情时间
+
+    // 增加字段
     var ontheprice : Double = 0.0//上一口价
 ){
 
-}
+}
+
+

+ 5 - 3
RMA/app/src/main/java/cn/muchinfo/rma/netcore/socket/MTP2Socket.java

@@ -493,6 +493,8 @@ public class MTP2Socket<T> {
             return;
         }
 
+        LogUtils.eTag("RMA", "接收4.0报文:" + packet.mainClassNumber);
+
         if (packet.mainClassNumber == (byte) 0x12 || packet.mainClassNumber == (byte) 0x41 || packet.mainClassNumber == (byte) 0x42) {
             // 推送类报文, 0x12 - 心跳, 0x41 - 实时行情推送, 0x42 - 控制信号
             if (packet.mainClassNumber == (byte) 0x12) {
@@ -586,11 +588,11 @@ public class MTP2Socket<T> {
         if (null != this.listener)
             this.listener.onReconnectChangeState(this,
                     MTP2Socket.ReconnectChangeState_BeginReconnect);
-        LogUtils.eTag("RMA", "---------------开始重连");
+        LogUtils.eTag("RMA", "---------------开始重连:" + this.packetType);
         this.conn(this.IP, this.port, new Callback<T>() {
             @Override
             public void onSuccess(T res) {
-                LogUtils.eTag("RMA", "---------------连接链路成功");
+                LogUtils.eTag("RMA", "---------------连接链路成功:" + MTP2Socket.this.packetType);
                 // 连接成功
                 MTP2Socket.this.isReconnecting = false;
                 if (null != MTP2Socket.this.listener)
@@ -600,7 +602,7 @@ public class MTP2Socket<T> {
 
             @Override
             public void onFail(Error err) {
-                LogUtils.eTag("RMA", "---------------连接链路失败");
+                LogUtils.eTag("RMA", "---------------连接链路失败:" + MTP2Socket.this.packetType);
                 // 连接失败
                 if (null != MTP2Socket.this.listener)
                     MTP2Socket.this.listener.onReconnectChangeState(MTP2Socket.this,

+ 2 - 2
RMA/app/src/main/java/cn/muchinfo/rma/view/MyApplication.kt

@@ -254,8 +254,8 @@ class MyApplication : BaseApplication() {
                     if (data.content.size >= 23) {
                         // 分解行情
                         val goodsQuoteTiks = QuoteAdapter.splitQuoteGoods(data.content)
-                        // TODO: - 写入盘面
-
+                        // 写入盘面
+                        val goodsIDs = futureManager?.updateQuoteInfo(goodsQuoteTiks!!)
                         // TODO: - 计算持仓盈亏和资金账户
                     }
                 }

+ 2 - 2
RMA/app/src/main/java/cn/muchinfo/rma/view/base/app/Constant.kt

@@ -10,8 +10,8 @@ object Constant {
      * 获取基础url的接口
      */
 //    const val baseurl = "http://103.40.249.127:28280/cfg?key=mtp_20"
-//    const val baseurl = "http://192.168.30.125:8080/cfg?key=test_125"
-    const val baseurl = "http://192.168.31.114:8080/cfg?key=test_114" // shenzhen01  123123
+    const val baseurl = "http://192.168.30.125:8080/cfg?key=test_125"
+//    const val baseurl = "http://192.168.31.114:8080/cfg?key=test_114" // shenzhen01  123123
 //    const val baseurl = "http://192.168.31.220:8080/cfg?key=test_220"//李倩
 
     /**