zhou.xiaoning 4 năm trước cách đây
mục cha
commit
e41f6396e6

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

@@ -167,42 +167,56 @@ class FutureManager {
                 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()) {
+                        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)
+                                when (it.name) {
+                                    "totalturnover" -> { // 总金额
+                                        goodsQuoteTik[it.name]?.toDouble()?.let { value ->
+                                            it.setDouble(
+                                                goodsInfoAndQuote.quoteDayData,
+                                                value
+                                            )
+                                        }
                                     }
-                                } else {
-                                    // 总金额
-                                    goodsQuoteTik[it.name]?.toDouble()?.let { value ->
-                                        it.setDouble(goodsInfoAndQuote.quoteDayData,
-                                            value
-                                        )
+                                    "last" -> { // 现价
+                                        // 先记录上一口价格
+                                        goodsInfoAndQuote.quoteDayData.ontheprice =
+                                            goodsInfoAndQuote.quoteDayData.last
+                                        val tmp = goodsQuoteTik[it.name]?.toDouble()
+                                            ?.times(10.0.pow(-goodsInfoAndQuote.goodsInfo.decimalplace))
+                                        if (tmp != null) {
+                                            it.setDouble(goodsInfoAndQuote.quoteDayData, tmp)
+                                        }
+                                    }
+                                    else -> {
+                                        val tmp = goodsQuoteTik[it.name]?.toDouble()
+                                            ?.times(10.0.pow(-goodsInfoAndQuote.goodsInfo.decimalplace))
+                                        if (tmp != null) {
+                                            it.setDouble(goodsInfoAndQuote.quoteDayData, tmp)
+                                        }
                                     }
                                 }
                             }
                             "int" -> {
                                 it.isAccessible = true
                                 goodsQuoteTik[it.name]?.toInt()?.let { value ->
-                                    it.setInt(goodsInfoAndQuote.quoteDayData,
+                                    it.setInt(
+                                        goodsInfoAndQuote.quoteDayData,
                                         value
                                     )
                                 }
                             }
                             "class java.lang.String" -> {
                                 it.isAccessible = true
-                                it.set(goodsInfoAndQuote.quoteDayData,  goodsQuoteTik[it.name])
+                                it.set(goodsInfoAndQuote.quoteDayData, goodsQuoteTik[it.name])
                             }
                         }
                     }
                 }
             } catch (e: Exception) {
-                LogUtils.eTag ("RMA11", e.message)
+                LogUtils.eTag("RMA11", e.message)
                 return@continuing
             }
         }