Explorar o código

风险管理6月28日提交代码-liu.bolan-千海金

Liu.bolan %!s(int64=4) %!d(string=hai) anos
pai
achega
d27e04e662
Modificáronse 26 ficheiros con 420 adicións e 282 borrados
  1. 1 1
      RMA/app/build.gradle
  2. 1 0
      RMA/app/proguard-rules.pro
  3. 4 1
      RMA/app/src/main/java/cn/muchinfo/rma/business/account/AccountManager.kt
  4. 21 2
      RMA/app/src/main/java/cn/muchinfo/rma/global/BaseUrlData.kt
  5. 16 0
      RMA/app/src/main/java/cn/muchinfo/rma/global/GlobalDataCollection.kt
  6. 2 1
      RMA/app/src/main/java/cn/muchinfo/rma/global/data/BankInfoData.kt
  7. 19 10
      RMA/app/src/main/java/cn/muchinfo/rma/global/data/ClientMenuData.kt
  8. 3 0
      RMA/app/src/main/java/cn/muchinfo/rma/global/data/GoodsPickupData.kt
  9. 21 20
      RMA/app/src/main/java/cn/muchinfo/rma/global/data/account/LoginQueryData.kt
  10. 11 9
      RMA/app/src/main/java/cn/muchinfo/rma/global/data/account/loginQeruy/ExternalExchanges.kt
  11. 32 30
      RMA/app/src/main/java/cn/muchinfo/rma/global/data/account/loginQeruy/GoodsGroups.kt
  12. 48 0
      RMA/app/src/main/java/cn/muchinfo/rma/global/data/account/loginQeruy/GoodsInfo.kt
  13. 22 20
      RMA/app/src/main/java/cn/muchinfo/rma/global/data/account/loginQeruy/LoginAccount.kt
  14. 45 43
      RMA/app/src/main/java/cn/muchinfo/rma/global/data/account/loginQeruy/Markets.kt
  15. 15 13
      RMA/app/src/main/java/cn/muchinfo/rma/global/data/account/loginQeruy/SystemParams.kt
  16. 29 27
      RMA/app/src/main/java/cn/muchinfo/rma/global/data/account/loginQeruy/UserAccount.kt
  17. 53 51
      RMA/app/src/main/java/cn/muchinfo/rma/global/data/account/loginQeruy/UserInfo.kt
  18. 3 0
      RMA/app/src/main/java/cn/muchinfo/rma/view/MainActivity.kt
  19. 2 1
      RMA/app/src/main/java/cn/muchinfo/rma/view/base/SplashActivity.kt
  20. 5 3
      RMA/app/src/main/java/cn/muchinfo/rma/view/base/app/Constant.kt
  21. 2 1
      RMA/app/src/main/java/cn/muchinfo/rma/view/base/login/LoginActivity.kt
  22. 14 10
      RMA/app/src/main/java/cn/muchinfo/rma/view/base/main/PayViewModel.kt
  23. 23 23
      RMA/app/src/main/java/cn/muchinfo/rma/view/base/main/castsurely/AddCastSurelyActivity.kt
  24. 7 3
      RMA/app/src/main/java/cn/muchinfo/rma/view/base/main/pickup/PickUpGoodsDetailsActivity.kt
  25. 7 1
      RMA/app/src/main/java/cn/muchinfo/rma/view/base/main/pickup/PickUpGoodsViewModel.kt
  26. 14 12
      RMA/app/src/main/java/cn/muchinfo/rma/view/base/main/withdrawmanagement/WithdrawalViewModel.kt

+ 1 - 1
RMA/app/build.gradle

@@ -53,7 +53,7 @@ android {
 
     buildTypes {
         release {
-            minifyEnabled false
+            minifyEnabled true
             signingConfig signingConfigs.release
             proguardFiles getDefaultProguardFile('proguard-android-optimize.txt'), 'proguard-rules.pro'
         }

+ 1 - 0
RMA/app/proguard-rules.pro

@@ -20,6 +20,7 @@
 # hide the original source file name.
 #-renamesourcefileattribute SourceFile
 
+
 -keep public class * extends android.app.Activity  #所有activity的子类不要去混淆
 -keep public class * extends android.app.Application
 -keep public class * extends android.app.Service

+ 4 - 1
RMA/app/src/main/java/cn/muchinfo/rma/business/account/AccountManager.kt

@@ -256,10 +256,12 @@ class AccountManager {
             type = "1",
             callback = object : ResponseCallback<BaseResult<LoginQueryData>>() {
                 override fun onError(call: Call?, e: Exception?, id: Int) {
+                    LogUtils.eTag("dasdasdadas",e.toString())
                     callBack(false, Error(e?.message))
                 }
 
                 override fun onResponse(response: BaseResult<LoginQueryData>?, id: Int) {
+                    ToastUtils.showLong(response?.data.toString())
                     GlobalDataCollection.instance?.loginQueryData = response?.data
                     val goodsUpdateTime = GlobalDataCollection.instance?.goodsInfoUpdateTime
                     val localGoodsUpdataTime =
@@ -386,6 +388,7 @@ class AccountManager {
             type = "1",
             callback = object : ResponseCallback<BaseResult<List<ClientMenuData>>>() {
                 override fun onResponse(response: BaseResult<List<ClientMenuData>>?, id: Int) {
+                    ToastUtils.showLong(response?.data.toString())
                     resetHomeTabMenuList(response?.data ?: arrayListOf())
                     GlobalDataCollection.instance?.ermcpRoleFuncMenuDataArrayList =
                         response?.data?.toArrayList()
@@ -429,7 +432,7 @@ class AccountManager {
         }
 
         newList.sortWith(Comparator { t1, t2 ->
-            (t1.sort.toInt().minus(t2.sort.toInt()))
+            (t1.sort?.toInt()?.minus(t2.sort?.toInt() ?: 0) ?: 0)
         })
 
         GlobalDataCollection.instance?.homeMenuTabName = newList

+ 21 - 2
RMA/app/src/main/java/cn/muchinfo/rma/global/BaseUrlData.kt

@@ -2,22 +2,39 @@ package cn.muchinfo.rma.global
 
 import android.os.Parcel
 import android.os.Parcelable
+import com.google.gson.annotations.SerializedName
 
 data class BaseUrlData(
+    @SerializedName("commSearchUrl")
     val commSearchUrl : String?,
+    @SerializedName("goCommonSearchUrl")
     val goCommonSearchUrl : String?,
+    @SerializedName("mobileAuthUrl")
     val mobileAuthUrl : String?,
+    @SerializedName("mobileOpenUrl")
     val mobileOpenUrl : String?,
+    @SerializedName("newsUrl")
     val newsUrl : String?,
+    @SerializedName("openApiUrl")
     val openApiUrl : String?,
+    @SerializedName("quoteHost")
     val quoteHost : String?,
+    @SerializedName("quotePort")
     val quotePort : String?,
+    @SerializedName("quoteUrl")
     val quoteUrl : String?,
+    @SerializedName("tradeHost")
     val tradeHost : String?,
+    @SerializedName("tradePort")
     val tradePort : String?,
+    @SerializedName("tradeUrl")
     val tradeUrl : String?,
+    @SerializedName("uploadUrl")
     val uploadUrl : String?,
-    val hsbyPayUrlWeb : String?
+    @SerializedName("otherPayUrl")
+    val otherPayUrl : String?,
+    @SerializedName("oem")
+    val oem : String?
 ) : Parcelable{
     constructor(parcel: Parcel) : this(
         parcel.readString(),
@@ -33,6 +50,7 @@ data class BaseUrlData(
         parcel.readString(),
         parcel.readString(),
         parcel.readString(),
+        parcel.readString(),
         parcel.readString()
     ) {
     }
@@ -51,7 +69,8 @@ data class BaseUrlData(
         parcel.writeString(tradePort)
         parcel.writeString(tradeUrl)
         parcel.writeString(uploadUrl)
-        parcel.writeString(hsbyPayUrlWeb)
+        parcel.writeString(otherPayUrl)
+        parcel.writeString(oem)
     }
 
     override fun describeContents(): Int {

+ 16 - 0
RMA/app/src/main/java/cn/muchinfo/rma/global/GlobalDataCollection.kt

@@ -55,6 +55,22 @@ class GlobalDataCollection : BaseGlobalData() {
     }
 
     /**
+     * 获取一个类型的枚举列表参数
+     */
+    fun getEnumName(enumCode : String,enumitemname : String) : String{
+        var enumName = ""
+
+        enumDicEntityList.forEach {
+            if (it.enumdiccode == enumCode){
+                if (it.enumitemname == enumitemname){
+                    enumName = it.enumdicname
+                }
+            }
+        }
+        return enumName
+    }
+
+    /**
      * 获取错误信息
      * @param errorcode
      * @return

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

@@ -2,6 +2,7 @@ package cn.muchinfo.rma.global.data
 
 import android.os.Parcel
 import android.os.Parcelable
+import java.io.Serializable
 
 /**
  * 开户行实体
@@ -12,7 +13,7 @@ data class BankInfoData(
     val clearbankno : String? = "",//清算系统银行编号
     val orderindex : String? = "",//排序顺序
     val status : String? = ""//状态 - 0:正常 1:注销
-) : Parcelable{
+) : Parcelable , Serializable{
     constructor(parcel: Parcel) : this(
         parcel.readString(),
         parcel.readString(),

+ 19 - 10
RMA/app/src/main/java/cn/muchinfo/rma/global/data/ClientMenuData.kt

@@ -1,15 +1,24 @@
 package cn.muchinfo.rma.global.data
 
+import android.os.Parcel
+import android.os.Parcelable
+import com.google.gson.annotations.SerializedName
+import java.io.Serializable
+
 
 data class ClientMenuData(
-    val code : String = "",//ID
-    val title : String = "",//标题
-    val sort : String = "",//排序
-    val type : String = "",//类型,1:菜单 2:按钮
-    val rulekey : String = "",//对应权限主键,对应FUNCMENULIST表RESOURCECODE
+    @SerializedName("code")
+    val code : String? = "",//ID
+    @SerializedName("title")
+    val title : String? = "",//标题
+    @SerializedName("sort")
+    val sort : String? = "",//排序
+    @SerializedName("type")
+    val type : String? = "",//类型,1:菜单 2:按钮
+    @SerializedName("rulekey")
+    val rulekey : String? = "",//对应权限主键,对应FUNCMENULIST表RESOURCECODE
+    @SerializedName("isshow")
     val isshow : Boolean = false,//是否显示
-    val children : List<ClientMenuData> = arrayListOf()
-)
-
-
-
+    @SerializedName("children")
+    val children : List<ClientMenuData>? = arrayListOf()
+)

+ 3 - 0
RMA/app/src/main/java/cn/muchinfo/rma/global/data/GoodsPickupData.kt

@@ -52,6 +52,7 @@ data class GoodsPickupData(
     val takeremark : String? = "",//提货备注
     val tradedate : String? = "",//交易日(yyyyMMdd)
     val updatetime : String? = "",//更新时间
+    val confirmtime : String? = "",//取货时间 或 收货时间
     val userid : String? = "",//用户ID
     var isClick : Int = 0,//是否点击展开
     val username : String? = ""//用户名称
@@ -106,6 +107,7 @@ data class GoodsPickupData(
         parcel.readString(),
         parcel.readString(),
         parcel.readString(),
+        parcel.readString(),
         parcel.readInt(),
         parcel.readString()
     ) {
@@ -160,6 +162,7 @@ data class GoodsPickupData(
         parcel.writeString(takeremark)
         parcel.writeString(tradedate)
         parcel.writeString(updatetime)
+        parcel.writeString(confirmtime)
         parcel.writeString(userid)
         parcel.writeInt(isClick)
         parcel.writeString(username)

+ 21 - 20
RMA/app/src/main/java/cn/muchinfo/rma/global/data/account/LoginQueryData.kt

@@ -1,33 +1,34 @@
 package cn.muchinfo.rma.global.data.account
 
 import cn.muchinfo.rma.global.data.account.loginQeruy.*
+import com.google.gson.annotations.Expose
+import com.google.gson.annotations.SerializedName
 
 /**
  * 还有个markets字段,似乎用不着,暂时不缓存
  */
 data class LoginQueryData(
+    @SerializedName("username")
     val username: String = "", // 用户姓名
-    val loginAccount: LoginAccount? = null, // 登录账号
-    val userAccount : UserAccount? = null, // 用户账号
-    val userInfo: UserInfo? = null, // 用户信息
+    @SerializedName("loginAccount")
+    @Expose
+    val loginAccount: LoginAccount? = LoginAccount(), // 登录账号
+    @SerializedName("userAccount")
+    @Expose
+    val userAccount : UserAccount? = UserAccount(), // 用户账号
+    @SerializedName("userInfo")
+    @Expose
+    val userInfo: UserInfo? = UserInfo(), // 用户信息
+    @SerializedName("market")
+    @Expose
     val market: List<Markets>? = arrayListOf(), // 市场信息
+    @SerializedName("goodsgroups")
+    @Expose
     val goodsgroups: List<GoodsGroups>? = arrayListOf(), // 商品组
+    @SerializedName("externalExchanges")
+    @Expose
     val externalExchanges: List<ExternalExchanges>? = arrayListOf(), // 外部交易所
+    @SerializedName("systemParams")
+    @Expose
     val systemParams: List<SystemParams>? = arrayListOf() // 系统参数
-) {
-
-    /**
-     * 外部交易所和商品的映射关系
-     */
-    fun makeGoods() {
-        var map = mutableMapOf<Int, String>() // 外部交易所autoId和商品组中的exExchangeId对应的,这里的map保存autoId,"goodsid,goodsid,goodsid"
-        var list = goodsgroups?.map {
-            if (map.containsKey(it.exexchangeid)) { // 如果有
-
-            } else { // 如果没有,直接add
-
-            }
-        }
-    }
-
-}
+) 

+ 11 - 9
RMA/app/src/main/java/cn/muchinfo/rma/global/data/account/loginQeruy/ExternalExchanges.kt

@@ -1,13 +1,15 @@
 package cn.muchinfo.rma.global.data.account.loginQeruy
 
+import com.google.gson.annotations.SerializedName
+
 data class ExternalExchanges(
-    var autoid : Int = 0,
-    var exexchangecode : String = "", // 外部交易所代码
-    var exexchangename : String = "", // 外部交易所全称
-    var updatetime : String = "", // 更新时间
-    var quotegear : Int = 0, // 行情档位(1-10)
-    var showbrokerflag : Int = 0, // 是否显示买卖经纪盘 - 0:不显示 1:显示
-    var exchangefullname : String = "", // 外部交易所名称(简称)
-    var ismarketprice : Int = 0, // 是否支持市价 - 0:不支持 1:支持
-    var goods: Array<Int> = arrayOf()
+    @SerializedName("autoid") var autoid : Int = 0,
+    @SerializedName("exexchangecode") var exexchangecode : String = "", // 外部交易所代码
+    @SerializedName("exexchangename") var exexchangename : String = "", // 外部交易所全称
+    @SerializedName("updatetime") var updatetime : String = "", // 更新时间
+    @SerializedName("quotegear") var quotegear : Int = 0, // 行情档位(1-10)
+    @SerializedName("showbrokerflag") var showbrokerflag : Int = 0, // 是否显示买卖经纪盘 - 0:不显示 1:显示
+    @SerializedName("exchangefullname") var exchangefullname : String = "", // 外部交易所名称(简称)
+    @SerializedName("ismarketprice") var ismarketprice : Int = 0, // 是否支持市价 - 0:不支持 1:支持
+    @SerializedName("goods") var goods: Array<Int> = arrayOf()
 )

+ 32 - 30
RMA/app/src/main/java/cn/muchinfo/rma/global/data/account/loginQeruy/GoodsGroups.kt

@@ -1,34 +1,36 @@
 package cn.muchinfo.rma.global.data.account.loginQeruy
 
+import com.google.gson.annotations.SerializedName
+
 data class GoodsGroups(
-    var agreeunit: Double = 0.0, //     合约单位
-    var canshort: Int = 0, //     是否允许做空[通道交易] - 0:不能做空 1:可以做空
-    var closepricemode: Int = 0, // 强平价格方式 - 1:市价 2:最新价 3:涨跌停(未实现)
-    var closepriceparam: Double = 0.0, // 强平最新价浮动比例 - 方式为2时使用
-    var createtime: String = "", // 创建时间
-    var creatorid: Int = 0, // 创建人
-    var currencyid: Int = 0, // 报价货币ID
-    var decimalplace: Int = 0, // 报价小数位
-    var exercisetype: Int = 0, // 行权类型[场外期权]-1:欧式期权 2:美式期权
-    var exexchangeid: Int = 0, // 外部交易所ID[通道交易]
-    var goodsgroupid: Int = 0, // 商品组ID(自增ID)
-    var goodsgroupname: String = "", // 商品组名称
-    var goodsgroupstatus: Int = 0, // 商品组状态 - 1:正常 2:注销
-    var goodunitid: Int = 0, // 报价单位ID
-    var innerdealmode: Int = 0, // 内部成交方式[通道交易] - 1:净头寸 2:开平 3:平今
-    var isbuylimited: Int = 0, // 是否限制建仓量 - 0:不限制 1:限制
-    var marketid: Int = 0, // 所属市场ID
-    var modifierid: Int = 0, // 修改人
-    var modifytime: String = "", // 修改时间
-    var outerdealmode: Int = 0, // 外部成交方式[通道交易]- 1:净头寸 2:开平 3:平今
-    var outergroupcode: String = "", // 外部商品组代码[通道交易]
-    var premiumdecimalplace: Int = 0, // 权利金小数位[场外期权]
-    var premiumspreadalgorithm: Int = 0, // 权利金点差方式[场外期权] 1:比率 2:固定
-    var premiumspreadvalue: Double = 0.0, // 权利金点差值[场外期权]
-    var qtydecimalplace: Int = 0, // 成交量小数位
-    var quotegear: Int = 0, // 行情档位(1-10)
-    var quoteminunit: Int = 0, // 行情最小变动单位 [整数,报价小数位一起使用]
-    var quoterid: Int = 0, // 报价商ID[场外期权]
-    var quotesourcegroupid: Int = 0, // 所属行情源分组ID[参考行情市场用\通道交易]
-    var syncgoodsqty: Int = 0 // 同步合约数[通道交易-投资管理用] - 0表示不限
+    @SerializedName("agreeunit") var agreeunit: Double = 0.0, //     合约单位
+    @SerializedName("canshort") var canshort: Int = 0, //     是否允许做空[通道交易] - 0:不能做空 1:可以做空
+    @SerializedName("closepricemode") var closepricemode: Int = 0, // 强平价格方式 - 1:市价 2:最新价 3:涨跌停(未实现)
+    @SerializedName("closepriceparam") var closepriceparam: Double = 0.0, // 强平最新价浮动比例 - 方式为2时使用
+    @SerializedName("createtime") var createtime: String = "", // 创建时间
+    @SerializedName("creatorid") var creatorid: Int = 0, // 创建人
+    @SerializedName("currencyid") var currencyid: Int = 0, // 报价货币ID
+    @SerializedName("decimalplace") var decimalplace: Int = 0, // 报价小数位
+    @SerializedName("exercisetype") var exercisetype: Int = 0, // 行权类型[场外期权]-1:欧式期权 2:美式期权
+    @SerializedName("exexchangeid") var exexchangeid: Int = 0, // 外部交易所ID[通道交易]
+    @SerializedName("goodsgroupid") var goodsgroupid: Int = 0, // 商品组ID(自增ID)
+    @SerializedName("goodsgroupname") var goodsgroupname: String = "", // 商品组名称
+    @SerializedName("goodsgroupstatus") var goodsgroupstatus: Int = 0, // 商品组状态 - 1:正常 2:注销
+    @SerializedName("goodunitid") var goodunitid: Int = 0, // 报价单位ID
+    @SerializedName("innerdealmode") var innerdealmode: Int = 0, // 内部成交方式[通道交易] - 1:净头寸 2:开平 3:平今
+    @SerializedName("isbuylimited") var isbuylimited: Int = 0, // 是否限制建仓量 - 0:不限制 1:限制
+    @SerializedName("marketid") var marketid: Int = 0, // 所属市场ID
+    @SerializedName("modifierid") var modifierid: Int = 0, // 修改人
+    @SerializedName("modifytime") var modifytime: String = "", // 修改时间
+    @SerializedName("outerdealmode") var outerdealmode: Int = 0, // 外部成交方式[通道交易]- 1:净头寸 2:开平 3:平今
+    @SerializedName("outergroupcode") var outergroupcode: String = "", // 外部商品组代码[通道交易]
+    @SerializedName("premiumdecimalplace") var premiumdecimalplace: Int = 0, // 权利金小数位[场外期权]
+    @SerializedName("premiumspreadalgorithm") var premiumspreadalgorithm: Int = 0, // 权利金点差方式[场外期权] 1:比率 2:固定
+    @SerializedName("premiumspreadvalue") var premiumspreadvalue: Double = 0.0, // 权利金点差值[场外期权]
+    @SerializedName("qtydecimalplace") var qtydecimalplace: Int = 0, // 成交量小数位
+    @SerializedName("quotegear") var quotegear: Int = 0, // 行情档位(1-10)
+    @SerializedName("quoteminunit") var quoteminunit: Int = 0, // 行情最小变动单位 [整数,报价小数位一起使用]
+    @SerializedName("quoterid") var quoterid: Int = 0, // 报价商ID[场外期权]
+    @SerializedName("quotesourcegroupid") var quotesourcegroupid: Int = 0, // 所属行情源分组ID[参考行情市场用\通道交易]
+    @SerializedName("syncgoodsqty") var syncgoodsqty: Int = 0 // 同步合约数[通道交易-投资管理用] - 0表示不限
 )

+ 48 - 0
RMA/app/src/main/java/cn/muchinfo/rma/global/data/account/loginQeruy/GoodsInfo.kt

@@ -4,102 +4,150 @@ import androidx.room.ColumnInfo
 import androidx.room.Dao
 import androidx.room.Entity
 import androidx.room.PrimaryKey
+import com.google.gson.annotations.SerializedName
 
 @Entity(tableName = "goods_infos")
 data class GoodsInfo(
     @PrimaryKey
+    @SerializedName("goodsid")
     @ColumnInfo(name = "goods_id")
     var goodsid : Int = 0, // 商品ID(自增ID SEQ_GOODS)
+    @SerializedName("goodscode")
     @ColumnInfo(name = "goods_code")
     var goodscode : String = "", // 商品代码(内部)
+    @SerializedName("goodsname")
     @ColumnInfo(name = "goods_name")
     var goodsname : String = "", // 商品名称
+    @SerializedName("marketid")
     @ColumnInfo(name = "market_id")
     var marketid : Int = 0, // 所属市场ID
+    @SerializedName("goodsgroupid")
     @ColumnInfo(name = "goods_group_id")
     var goodsgroupid : Int = 0, // 所属商品组ID
+    @SerializedName("goodsstatus")
     @ColumnInfo(name = "goods_status")
     var goodsstatus : Int = 0, // 商品状态- 1:待审核 2:未上市 3:上市 4:已注销 5:审核拒绝 6:退市 7:待退市
+    @SerializedName("currencyid")
     @ColumnInfo(name = "currency_id")
     var currencyid : Int = 0, // 报价货币ID
+    @SerializedName("goodunitid")
     @ColumnInfo(name = "good_unit_id")
     var goodunitid : Int = 0, // 报价单位ID
+    @SerializedName("agreeunit")
     @ColumnInfo(name = "agree_unit")
     var agreeunit : Int = 0, // 合约单位
+    @SerializedName("decimalplace")
     @ColumnInfo(name = "decimal_place")
     var decimalplace : Int = 0, // 报价小数位
+    @SerializedName("listingdate")
     @ColumnInfo(name = "listing_date")
     var listingdate : String = "", // 交易开始日期
+    @SerializedName("lasttradedate")
     @ColumnInfo(name = "last_trade_date")
     var lasttradedate : String = "", // 最后交易日期(状态:待退市)
+    @SerializedName("delistingdate")
     @ColumnInfo(name = "delisting_date")
     var delistingdate : String = "", // 商品退市时间(状态:退市) – 已作废
+    @SerializedName("deliveryflag")
     @ColumnInfo(name = "delivery_flag")
     var deliveryflag : Int = 0, // 交割标志 - 0:不可交割 1:可交割
+    @SerializedName("hasquoter")
     @ColumnInfo(name = "has_quoter")
     var hasquoter : Int = 0, // 是否有报价商 - 0:无报价商 1:有报价商
+    @SerializedName("hqprotecttime")
     @ColumnInfo(name = "hq_protect_time")
     var hqprotecttime : Int = 0, // 行情保护时间(秒)
+    @SerializedName("quoteshowtype")
     @ColumnInfo(name = "quote_show_type")
     var quoteshowtype : Int = 0, // 行情报价类型: 1:成交价 2:买卖中间价 3:含买价 4:含卖价做市模式固定为3:含买价
+    @SerializedName("quoteshowtypeinterval")
     @ColumnInfo(name = "quote_show_type_interval")
     var quoteshowtypeinterval : Int = 0, // 行情报价间隔时间(秒)(成交价时为0)
+    @SerializedName("modifystatus")
     @ColumnInfo(name = "modify_status")
     var modifystatus : Int = 0, // 变更状态 - 1:未变更 2:变更中 3:待审核 4:已审核
+    @SerializedName("goodstradetype")
     @ColumnInfo(name = "goods_trade_type")
     var goodstradetype : Int = 0, // 商品交易权限类型 - 1:可建可平 3:不可建可平
+    @SerializedName("creatorid")
     @ColumnInfo(name = "creator_id")
     var creatorid : Int = 0, // 创建人
+    @SerializedName("createtime")
     @ColumnInfo(name = "create_time")
     var createtime : String = "", // 创建时间
+    @SerializedName("auditaccountid")
     @ColumnInfo(name = "audit_account_id")
     var auditaccountid : Int = 0, // 审核操作员账号
+    @SerializedName("audittime")
     @ColumnInfo(name = "audit_time")
     var audittime : String = "", // 审核时间
+    @SerializedName("modifytime")
     @ColumnInfo(name = "modify_time")
     var modifytime : String = "", // 修改时间
+    @SerializedName("modifierid")
     @ColumnInfo(name = "modifier_id")
     var modifierid : Int = 0, // 修改人
+    @SerializedName("cancelaccountid")
     @ColumnInfo(name = "cancel_account_id")
     var cancelaccountid : Int = 0, // 注销操作员账号
+    @SerializedName("remark")
     @ColumnInfo(name = "remark")
     var remark : String = "", // 备注
+    @SerializedName("canceltime")
     @ColumnInfo(name = "cancel_time")
     var canceltime : String = "", // 注销时间
+    @SerializedName("delistingmode")
     @ColumnInfo(name = "delisting_mode")
     var delistingmode : Int = 0, // 退市方式 - 1:退市平仓 2:退市交收 3:不处理(仅期权\币币兑换)
+    @SerializedName("forceclosemode")
     @ColumnInfo(name = "force_close_mode")
     var forceclosemode : Int = 0, // 定期强平方式 - 1:无 2:每日 3:每周 4:每月[收益权]
+    @SerializedName("forceclosevalue")
     @ColumnInfo(name = "force_close_value")
     var forceclosevalue : Int = 0, // 定期强平参数 [收益权]
+    @SerializedName("cutmode")
     @ColumnInfo(name = "cut_mode")
     var cutmode : Int = 0, // 斩仓方式 - 1:不斩仓 2:自动斩仓 3:半自动斩仓
+    @SerializedName("quoteminunit")
     @ColumnInfo(name = "quote_min_unit")
     var quoteminunit : Int = 0, // 行情最小变动单位 [整数,报价小数位一起使用]
+    @SerializedName("isbuylimited")
     @ColumnInfo(name = "is_buy_limited")
     var isbuylimited : Int = 0, // 是否限制建仓量 - 0:不限制 1:限制
+    @SerializedName("innerdealmode")
     @ColumnInfo(name = "inner_deal_mode")
     var innerdealmode : Int = 0, // 内部成交方式[通道交易] - 1:净头寸 2:开平 3:平今
+    @SerializedName("outerdealmode")
     @ColumnInfo(name = "outer_deal_mode")
     var outerdealmode : Int = 0, // 外部成交方式[通道交易]- 1:净头寸 2:开平 3:平今
+    @SerializedName("closepricemode")
     @ColumnInfo(name = "close_price_mode")
     var closepricemode : Int = 0, // 强平价格方式 - 1:市价 2:最新价 3:涨跌停(未实现)
+    @SerializedName("closepriceparam")
     @ColumnInfo(name = "close_price_param")
     var closepriceparam : Int = 0, // 强平最新价浮动比例 - 方式为2时使用 (<1)买 上浮 (1+x)最新价卖 下浮 (1-x)最新价
+    @SerializedName("qtydecimalplace")
     @ColumnInfo(name = "qty_decimal_place")
     var qtydecimalplace : Int = 0, // 成交量小数位
+    @SerializedName("goodscurrencyid")
     @ColumnInfo(name = "goods_currency_id")
     var goodscurrencyid : Int = 0, // 合约货币ID
+    @SerializedName("goodsquotetype")
     @ColumnInfo(name = "goods_quote_type")
     var goodsquotetype : Int = 0, // 合约报价类型: 1-直接报价 2-间接报价
+    @SerializedName("quotegear")
     @ColumnInfo(name = "quote_gear")
     var quotegear : Int = 0, // 行情档位(1-10)
+    @SerializedName("outgoodscode")
     @ColumnInfo(name = "out_goods_code")
     var outgoodscode : String = "", // 商品代码(外部)
+    @SerializedName("relatedgoodsid")
     @ColumnInfo(name = "related_goods_id")
     var relatedgoodsid : Int = 0,//关联商品id
+    @SerializedName("trademode")
     @ColumnInfo(name = "trade_mode")
     var trademode : Int = 0,
+    @SerializedName("pictureurl")
     @ColumnInfo(name = "picture_url")
     var pictureurl : String = ""//商品图片
 )

+ 22 - 20
RMA/app/src/main/java/cn/muchinfo/rma/global/data/account/loginQeruy/LoginAccount.kt

@@ -1,24 +1,26 @@
 package cn.muchinfo.rma.global.data.account.loginQeruy
 
+import com.google.gson.annotations.SerializedName
+
 data class LoginAccount(
-    var canoutin: Int = 0, //     是否可出入金 - 0:不可 1:可
-    var clientroleid: Int = 0, // 终端角色ID
-    var haslogined: Int = 0, // 是否已登录 - 0:未登录 1:已登录
-    var hasupdatedpwd: Int = 0, // 是否已更改密码 - 0:未修改 1:已修改
-    var lastloginip: String = "", // 最新登录地址
-    var lastloginmode: Int = 0, // 最新登录方式(客户端类型) - 0:保留为未填终端类型 1:PC管理端 2:PC交易端 3:手机客户端安卓 4:网页客户端 5:微信客户端 6:手机客户端苹果 7:网上开户客户端 8:无效终端编号 9:报价终端(中江)
-    var lastloginremark: String = "", // 最新登录描述
-    var lastlogintime: String = "", // 最新登录时间
-    var logincode: String = "", // 登录代码
-    var loginfailnum: Int = 0, // 连续登录失败次数(登录成功时清零)
-    var loginid: Long = 0, // 登陆账号
-    var loginport: Int = 0, // 最新登录端口
-    var loginstatus: Int = 0, // 登录账号状态 1:正常 2:冻结 3:无效
-    var loginusertype: Int = 0, // 登录账号类型 - 1:投资者 2:机构交易员
-    var modifierid: Long = 0, // 修改人
-    var modifytime: String = "", // 修改时间
-    var pwdwrongcount: Int = 0, // 密码错误次数
-    var taaccountrighttype: Int = 0, // 资金账号权限类型 - 1:不选默认为所有权限 2:不选默认为无权限
-    var unfreezetime: String = "", // 账户解冻时间
-    var userid: Long = 0 // 用户ID
+    @SerializedName("canoutin") var canoutin: Int = 0, //     是否可出入金 - 0:不可 1:可
+    @SerializedName("clientroleid") var clientroleid: Int = 0, // 终端角色ID
+    @SerializedName("haslogined") var haslogined: Int = 0, // 是否已登录 - 0:未登录 1:已登录
+    @SerializedName("hasupdatedpwd") var hasupdatedpwd: Int = 0, // 是否已更改密码 - 0:未修改 1:已修改
+    @SerializedName("lastloginip") var lastloginip: String = "", // 最新登录地址
+    @SerializedName("lastloginmode") var lastloginmode: Int = 0, // 最新登录方式(客户端类型) - 0:保留为未填终端类型 1:PC管理端 2:PC交易端 3:手机客户端安卓 4:网页客户端 5:微信客户端 6:手机客户端苹果 7:网上开户客户端 8:无效终端编号 9:报价终端(中江)
+    @SerializedName("lastloginremark") var lastloginremark: String = "", // 最新登录描述
+    @SerializedName("lastlogintime") var lastlogintime: String = "", // 最新登录时间
+    @SerializedName("logincode") var logincode: String = "", // 登录代码
+    @SerializedName("loginfailnum") var loginfailnum: Int = 0, // 连续登录失败次数(登录成功时清零)
+    @SerializedName("loginid") var loginid: Long = 0, // 登陆账号
+    @SerializedName("loginport") var loginport: Int = 0, // 最新登录端口
+    @SerializedName("loginstatus") var loginstatus: Int = 0, // 登录账号状态 1:正常 2:冻结 3:无效
+    @SerializedName("loginusertype") var loginusertype: Int = 0, // 登录账号类型 - 1:投资者 2:机构交易员
+    @SerializedName("modifierid") var modifierid: Long = 0, // 修改人
+    @SerializedName("modifytime") var modifytime: String = "", // 修改时间
+    @SerializedName("pwdwrongcount") var pwdwrongcount: Int = 0, // 密码错误次数
+    @SerializedName("taaccountrighttype") var taaccountrighttype: Int = 0, // 资金账号权限类型 - 1:不选默认为所有权限 2:不选默认为无权限
+    @SerializedName("unfreezetime") var unfreezetime: String = "", // 账户解冻时间
+    @SerializedName("userid") var userid: Long = 0 // 用户ID
 )

+ 45 - 43
RMA/app/src/main/java/cn/muchinfo/rma/global/data/account/loginQeruy/Markets.kt

@@ -1,48 +1,50 @@
 package cn.muchinfo.rma.global.data.account.loginQeruy
 
+import com.google.gson.annotations.SerializedName
+
 data class Markets(
-    var auctionwrtype: Int = 0,  //竞拍仓单类型 - 1:无仓单 2:有仓单 3;有无仓单均可
-    var canacceptquote: Int = 0, // 确认行权是否接收行情 - 0:不接受 1:接受 [可确认权的挂牌期权市场可配置]
-    var cangoodsexercise: Int = 0, // [期权]是否可现货行权- 0:否 1:是
-    var cangoodsexercisetype: Int = 0, // 可现货行权期权类型 - 1:认购 2认沽 3:认购认沽 [CanGoodsExercise = 1时可设置]
-    var canmanualquotestrike: Int = 0,//是否可手动报行权价- 0:否 1:是 [期权]
-    var canmutistage: Int = 0, //是否可多段运行 – 0:不可 1:可 [挂牌期权]
-    var canpreexercise: Int = 0,//[期权]是否可预申报- 0:否 1:是
-    var clearinterval: Int = 0,//待开市间隔(交易市场开盘前多久发市场待开市信号(单位分钟))
-    var contracttmp: String = "",//合同模板[荷兰式][竞价式][仓单贸易]
-    var exchareaid: Int = 0,//所属交易所,可以没有
-    var goodstype: Int = 0,//商品类型 - 1:交易商品 2:仓单商品
-    var hasrebate: Int = 0,//是否返利[竞价式] 0:不返,1:返利 – 根据系统参数088显示或隐藏
-    var hastradecredit: Int = 0,//是否交易授信[做市收益权] - 0:不授信 1:授信
-    var haswr: Int = 0,//[竞拍]是否需要仓单 - 0:不需要 1:需要-作废
-    var isdeductmargin: Int = 0,//竞拍违约是否扣除保证金[竞拍-降价式] - 0:不扣 1:扣除
-    var isrecordsource: Int = 0,//是否记录成交源 - 0:不记录 1:记录 [所有权]
-    var isreleasemargin: Int = 0,//成交参与保证金是否释放[竞价式] - 0:不释放 1释放
-    var marginformula: Int = 0,//持仓保证金公式 - 1:双边收 2:净头寸收 3:大小边差异收 4:大边收 5:卖持仓收(仅期权)
-    var marginformula2: Int = 0,//持仓保证金公式(仅受托竞价) - 1:双边收 2:净头寸收 3:大小边差异收 4:大边收 5:卖持仓收(仅期权)
-    var marketid: Int = 0,//市场ID正常5位,前三位固定:两位表示交易模式, 一位表示交易属性(1:收益权,2:所有权) 其它特殊市场:0-系统 1-交割服务 2-账户服务3-履约服务 4-仓单服务 5-积分服务 6-银行服务
-    var marketname: String = "",//市场名称
-    var marketserviceid: Int = 0,//市场服务ID
-    var marketstatus: Int = 0,//生效状态(ValidStatus枚举): 1:待生效 2:正常 3:注销
-    var markettype: Int = 0,//市场类型- 1:非交易服务 2:交易服务
-    var matchermode: Int = 0,//指定对手模式[仓单贸易模式专用] - 1:任意对手
-    var openmethod: Int = 0,//开盘模式 - 0 自动 1手动
-    var otcuserid: Int = 0,//场外期权做市商[场外期权]
-    var outersynctime: String = "",//外部同步时间点(h24:mi:ss)[场外期权]
-    var pendingflag: Int = 0,//待开市时间标识[通道交易-对冲] - 0:当日 1:上日
-    var pendingtime: String = "",//待开市时间通道交易-对冲
-    var performancetempid: Int = 0,//履约计划模板ID - 作废
-    var premiumquotemode: Int = 0,//权利金报价方式 - 1:自动 2:手动
-    var rebateratio: Int = 0,//返利比率[竞价式]
-    var reckonorder: Int = 0,//结算顺序
-    var reckonpricealgorithm: Int = 0,//结算价算法: 1:最后多少笔成交价加权平均 2:最后多少秒成交价加权平均 3:全天加权平均 4:最后一口价 5.买一价 6.卖一价 7.买一卖一均价 8.外部结算价
-    var reckonpriceparam: Int = 0,//结算价参数
-    var reckontime: String = "",//结算时间通道交易-对冲
-    var roleprioritytype: Int = 0,//角色优先类型 - 1:无 2:报价商优先 3:非报价商优先 [16:挂牌点选]
-    var selllistingauditflag: Int = 0,//卖挂牌是否需要审核(仓单贸易) - 0:不需要 1:需要
-    var trademarkettype: Int = 0,//交易市场类型 - 1:合约市场 2:外部市场 3:仓单市场
-    var trademode: Int = 0,//交易模式 - 10:做市 13:竞价 15:通道交易 16:挂牌点选 17:仓单贸易 18:期权 19:竞拍-降价式 20:竞拍-竞价式 21:竞拍-大宗式 22:受托竞价
-    var tradeproperty: Int = 0,//交易属性 - 1:收益权(可做空) 2:所有权(不可做空) 3:期权 4:现货 5:参考行情 6:通道交易 7:币交易 8:场外期权
-    var tradetype: Int = 0//下单方式[通道交易] - 1:直接转单 2:净头寸下单
+    @SerializedName("auctionwrtype") var auctionwrtype: Int = 0,  //竞拍仓单类型 - 1:无仓单 2:有仓单 3;有无仓单均可
+    @SerializedName("canacceptquote") var canacceptquote: Int = 0, // 确认行权是否接收行情 - 0:不接受 1:接受 [可确认权的挂牌期权市场可配置]
+    @SerializedName("cangoodsexercise") var cangoodsexercise: Int = 0, // [期权]是否可现货行权- 0:否 1:是
+    @SerializedName("cangoodsexercisetype") var cangoodsexercisetype: Int = 0, // 可现货行权期权类型 - 1:认购 2认沽 3:认购认沽 [CanGoodsExercise = 1时可设置]
+    @SerializedName("canmanualquotestrike") var canmanualquotestrike: Int = 0,//是否可手动报行权价- 0:否 1:是 [期权]
+    @SerializedName("canmutistage") var canmutistage: Int = 0, //是否可多段运行 – 0:不可 1:可 [挂牌期权]
+    @SerializedName("canpreexercise") var canpreexercise: Int = 0,//[期权]是否可预申报- 0:否 1:是
+    @SerializedName("clearinterval") var clearinterval: Int = 0,//待开市间隔(交易市场开盘前多久发市场待开市信号(单位分钟))
+    @SerializedName("contracttmp") var contracttmp: String = "",//合同模板[荷兰式][竞价式][仓单贸易]
+    @SerializedName("exchareaid") var exchareaid: Int = 0,//所属交易所,可以没有
+    @SerializedName("goodstype") var goodstype: Int = 0,//商品类型 - 1:交易商品 2:仓单商品
+    @SerializedName("hasrebate") var hasrebate: Int = 0,//是否返利[竞价式] 0:不返,1:返利 – 根据系统参数088显示或隐藏
+    @SerializedName("hastradecredit") var hastradecredit: Int = 0,//是否交易授信[做市收益权] - 0:不授信 1:授信
+    @SerializedName("haswr") var haswr: Int = 0,//[竞拍]是否需要仓单 - 0:不需要 1:需要-作废
+    @SerializedName("isdeductmargin") var isdeductmargin: Int = 0,//竞拍违约是否扣除保证金[竞拍-降价式] - 0:不扣 1:扣除
+    @SerializedName("isrecordsource") var isrecordsource: Int = 0,//是否记录成交源 - 0:不记录 1:记录 [所有权]
+    @SerializedName("isreleasemargin") var isreleasemargin: Int = 0,//成交参与保证金是否释放[竞价式] - 0:不释放 1释放
+    @SerializedName("marginformula") var marginformula: Int = 0,//持仓保证金公式 - 1:双边收 2:净头寸收 3:大小边差异收 4:大边收 5:卖持仓收(仅期权)
+    @SerializedName("marginformula2") var marginformula2: Int = 0,//持仓保证金公式(仅受托竞价) - 1:双边收 2:净头寸收 3:大小边差异收 4:大边收 5:卖持仓收(仅期权)
+    @SerializedName("marketid") var marketid: Int = 0,//市场ID正常5位,前三位固定:两位表示交易模式, 一位表示交易属性(1:收益权,2:所有权) 其它特殊市场:0-系统 1-交割服务 2-账户服务3-履约服务 4-仓单服务 5-积分服务 6-银行服务
+    @SerializedName("marketname") var marketname: String = "",//市场名称
+    @SerializedName("marketserviceid") var marketserviceid: Int = 0,//市场服务ID
+    @SerializedName("marketstatus") var marketstatus: Int = 0,//生效状态(ValidStatus枚举): 1:待生效 2:正常 3:注销
+    @SerializedName("markettype") var markettype: Int = 0,//市场类型- 1:非交易服务 2:交易服务
+    @SerializedName("matchermode") var matchermode: Int = 0,//指定对手模式[仓单贸易模式专用] - 1:任意对手
+    @SerializedName("openmethod") var openmethod: Int = 0,//开盘模式 - 0 自动 1手动
+    @SerializedName("otcuserid") var otcuserid: Int = 0,//场外期权做市商[场外期权]
+    @SerializedName("outersynctime") var outersynctime: String = "",//外部同步时间点(h24:mi:ss)[场外期权]
+    @SerializedName("pendingflag") var pendingflag: Int = 0,//待开市时间标识[通道交易-对冲] - 0:当日 1:上日
+    @SerializedName("pendingtime") var pendingtime: String = "",//待开市时间通道交易-对冲
+    @SerializedName("performancetempid") var performancetempid: Int = 0,//履约计划模板ID - 作废
+    @SerializedName("premiumquotemode") var premiumquotemode: Int = 0,//权利金报价方式 - 1:自动 2:手动
+    @SerializedName("rebateratio") var rebateratio: Int = 0,//返利比率[竞价式]
+    @SerializedName("reckonorder") var reckonorder: Int = 0,//结算顺序
+    @SerializedName("reckonpricealgorithm") var reckonpricealgorithm: Int = 0,//结算价算法: 1:最后多少笔成交价加权平均 2:最后多少秒成交价加权平均 3:全天加权平均 4:最后一口价 5.买一价 6.卖一价 7.买一卖一均价 8.外部结算价
+    @SerializedName("reckonpriceparam") var reckonpriceparam: Int = 0,//结算价参数
+    @SerializedName("reckontime") var reckontime: String = "",//结算时间通道交易-对冲
+    @SerializedName("roleprioritytype") var roleprioritytype: Int = 0,//角色优先类型 - 1:无 2:报价商优先 3:非报价商优先 [16:挂牌点选]
+    @SerializedName("selllistingauditflag") var selllistingauditflag: Int = 0,//卖挂牌是否需要审核(仓单贸易) - 0:不需要 1:需要
+    @SerializedName("trademarkettype") var trademarkettype: Int = 0,//交易市场类型 - 1:合约市场 2:外部市场 3:仓单市场
+    @SerializedName("trademode") var trademode: Int = 0,//交易模式 - 10:做市 13:竞价 15:通道交易 16:挂牌点选 17:仓单贸易 18:期权 19:竞拍-降价式 20:竞拍-竞价式 21:竞拍-大宗式 22:受托竞价
+    @SerializedName("tradeproperty") var tradeproperty: Int = 0,//交易属性 - 1:收益权(可做空) 2:所有权(不可做空) 3:期权 4:现货 5:参考行情 6:通道交易 7:币交易 8:场外期权
+    @SerializedName("tradetype") var tradetype: Int = 0//下单方式[通道交易] - 1:直接转单 2:净头寸下单
 )
 

+ 15 - 13
RMA/app/src/main/java/cn/muchinfo/rma/global/data/account/loginQeruy/SystemParams.kt

@@ -1,17 +1,19 @@
 package cn.muchinfo.rma.global.data.account.loginQeruy
 
+import com.google.gson.annotations.SerializedName
+
 data class SystemParams(
-    val loginid : String = "",
-    val modifyflag : String = "",
-    val paramcode : String = "",
-    val paramname : String = "",
-    val paramtype : String = "",
-    val paramvalue : String = "",
-    val paramvalue2 : String = "",
-    val regexpress : String = "",
-    val remark : String = "",
-    val serverip : String = "",
-    val showflag : String = "",
-    val updatetime : String = "",
-    val userid : String = ""
+    @SerializedName("loginid") val loginid : String = "",
+    @SerializedName("modifyflag") val modifyflag : String = "",
+    @SerializedName("paramcode") val paramcode : String = "",
+    @SerializedName("paramname") val paramname : String = "",
+    @SerializedName("paramtype") val paramtype : String = "",
+    @SerializedName("paramvalue") val paramvalue : String = "",
+    @SerializedName("paramvalue2") val paramvalue2 : String = "",
+    @SerializedName("regexpress") val regexpress : String = "",
+    @SerializedName("remark") val remark : String = "",
+    @SerializedName("serverip") val serverip : String = "",
+    @SerializedName("showflag") val showflag : String = "",
+    @SerializedName("updatetime") val updatetime : String = "",
+    @SerializedName("userid") val userid : String = ""
 )

+ 29 - 27
RMA/app/src/main/java/cn/muchinfo/rma/global/data/account/loginQeruy/UserAccount.kt

@@ -1,31 +1,33 @@
 package cn.muchinfo.rma.global.data.account.loginQeruy
 
+import com.google.gson.annotations.SerializedName
+
 data class UserAccount(
-    var accountname: String = "", //     账户名称(机构名称)
-    var accountstatus: Int = 0, // 账户状态 - 1:待激活 2:待审核 3:待复审 4:正常 5:审核拒绝 6:注销
-    var auditremark: String = "", // 审核备注
-    var audittime: String = "", // 审核时间
-    var audituserid: Long = 0, // 审核人
-    var broker: Int = 0, // 所属经纪人ID
-    var canceltime: String = "", // 销户时间
-    var canceluserid: Long = 0, // 销户人
-    var createtime: String = "", // 创建时间
-    var creatorid: Long = 0, // 创建人
-    var hasauth: Int = 0, // 是否已实名认证 - 0:未认证 1:已认证 2:已提交(待审核) 3:已拒绝
-    var isanonymous: Int = 0, // 是否匿名下单 - 0:否 1:是
-    var maxinvestornum: Int = 0, // 最大用户数(经纪会员下投资者个数)
-    var memberuserid: Long = 0, // 所属会员ID
-    var modifierid: Long = 0, // 修改人
-    var modifyremark: String = "", // 变更备注
-    var modifystatus: Int = 0, // 变更状态 1 未变更 2 变更中 3 变更待审核 4 变更待复核(投资者)
-    var modifytime: String = "", // 修改时间
-    var parentuserid: Long = 0, // 所属机构ID
-    var reckonaccountid: Int = 0, // 默认结算资金账号ID(机构分润使用) 作废
-    var refercount: Int = 0, // 推荐总人数
-    var refereeuserid: Long = 0, // 推荐人ID
-    var refernum: String = "", // 推荐码
-    var canrecommend : String = "",//是否可推荐 - 0:不可 1;可
-    var subarealevelpath: String = "", // 子机构层级路径(逗号分隔,首尾加逗号)
-    var userid: Long = 0, // 用户ID
-    var usertype: Int = 0 // 账户类型 - 1:交易所 2:机构 3:会员子机构 4:经纪人 5:投资者 6:客户
+    @SerializedName("accountname") var accountname: String = "", //     账户名称(机构名称)
+    @SerializedName("accountstatus") var accountstatus: Int = 0, // 账户状态 - 1:待激活 2:待审核 3:待复审 4:正常 5:审核拒绝 6:注销
+    @SerializedName("auditremark") var auditremark: String = "", // 审核备注
+    @SerializedName("audittime") var audittime: String = "", // 审核时间
+    @SerializedName("audituserid") var audituserid: Long = 0, // 审核人
+    @SerializedName("broker") var broker: Int = 0, // 所属经纪人ID
+    @SerializedName("canceltime") var canceltime: String = "", // 销户时间
+    @SerializedName("canceluserid") var canceluserid: Long = 0, // 销户人
+    @SerializedName("createtime") var createtime: String = "", // 创建时间
+    @SerializedName("creatorid") var creatorid: Long = 0, // 创建人
+    @SerializedName("hasauth") var hasauth: Int = 0, // 是否已实名认证 - 0:未认证 1:已认证 2:已提交(待审核) 3:已拒绝
+    @SerializedName("isanonymous") var isanonymous: Int = 0, // 是否匿名下单 - 0:否 1:是
+    @SerializedName("maxinvestornum") var maxinvestornum: Int = 0, // 最大用户数(经纪会员下投资者个数)
+    @SerializedName("memberuserid") var memberuserid: Long = 0, // 所属会员ID
+    @SerializedName("modifierid") var modifierid: Long = 0, // 修改人
+    @SerializedName("modifyremark") var modifyremark: String = "", // 变更备注
+    @SerializedName("modifystatus") var modifystatus: Int = 0, // 变更状态 1 未变更 2 变更中 3 变更待审核 4 变更待复核(投资者)
+    @SerializedName("modifytime") var modifytime: String = "", // 修改时间
+    @SerializedName("parentuserid") var parentuserid: Long = 0, // 所属机构ID
+    @SerializedName("reckonaccountid") var reckonaccountid: Int = 0, // 默认结算资金账号ID(机构分润使用) 作废
+    @SerializedName("refercount") var refercount: Int = 0, // 推荐总人数
+    @SerializedName("refereeuserid") var refereeuserid: Long = 0, // 推荐人ID
+    @SerializedName("refernum") var refernum: String = "", // 推荐码
+    @SerializedName("canrecommend") var canrecommend : String = "",//是否可推荐 - 0:不可 1;可
+    @SerializedName("subarealevelpath") var subarealevelpath: String = "", // 子机构层级路径(逗号分隔,首尾加逗号)
+    @SerializedName("userid") var userid: Long = 0, // 用户ID
+    @SerializedName("usertype") var usertype: Int = 0 // 账户类型 - 1:交易所 2:机构 3:会员子机构 4:经纪人 5:投资者 6:客户
 )

+ 53 - 51
RMA/app/src/main/java/cn/muchinfo/rma/global/data/account/loginQeruy/UserInfo.kt

@@ -1,55 +1,57 @@
 package cn.muchinfo.rma.global.data.account.loginQeruy
 
+import com.google.gson.annotations.SerializedName
+
 data class UserInfo(
-    var address: String = "", //     地址
-    var attachment1: String = "", //     附件1
-    var attachment2: String = "", //     附件2
-    var bankaccount: String = "", //     银行帐号 (加密存储)
-    var bankaccountname: String = "", // 收款人名称
-    var bankcardfrontphotourl: String = "", // 银行卡正面照地址
-    var bankid: String = "", // 银行编码
-    var bankname: String = "", // 银行名称
-    var biznature: Int = 0, // 企业性质( 企业) - 1:国有控股企业 2:集体控股企业 3:私人控股企业 4:港澳台商控股企业 5:外商控股企业 6:其它
-    var bizscope: String = "", // 企业经营范围(企业)
-    var cardbackphotourl: String = "", // 证件背面图片地址
-    var cardfrontphotourl: String = "", // 证件正面图片地址
-    var cardnum: String = "", // 证件号码(加密存储)
-    var cardtypeid: Int = 0, // 证件类型ID
-    var cityid: Int = 0, // 市
-    var company: String = "", // 公司(个人)
-    var contactname: String = "", // 联系人
-    var countryid: Int = 0, // 国家
-    var createtime: String = "", // 创建时间
-    var creatorid: Long = 0, // 创建人
-    var customername: String = "", // 客户名称(企业名称)
-    var districtid: Int = 0, // 地区
-    var email: String = "", // 邮件(加密存储)
-    var fax: String = "", // 传真(加密存储)
-    var halfbodyphotourl: String = "", // 半身照地址
-    var hasencrypt: Int = 0, // 数据是否已加密 - 0:未加密 1:已加密
-    var headurl: String = "", // 头像地址
-    var legalcardbackphotourl: String = "", // 法人身份证背面照地址
-    var legalcardfrontphotourl: String = "", // 法人身份证正面照地址
-    var legalpersonname: String = "", // 法人姓名(企业)
-    var mobile: String = "", // 手机号码(加密存储)
-    var mobile2: String = "", // 手机号码[明文-尚志]
-    var modifierid: Long = 0, // 修改人
-    var modifiertime: String = "", // 修改时间
-    var needinvoice: Int = 0, // 是否需要发票 - 0:不需要 1:需要
-    var nickname: String = "", // 昵称:默认为名称脱敏(张) 或 手机号脱敏(1399999)
-    var openmode: Int = 0, // 开户方式 - 1:管理端开户 2:网上开户注册(会员官网) 3:微信开户 4:网页交易端注册 5:安卓手机端注册 6:苹果手机端注册 7:PC交易端注册 8:微信快速开户 9:支付宝快速开户 10:手机号快速开户
-    var otherurl: String = "", // 其它图片地址[使用分号分隔]
-    var postalcode: String = "", // 邮政编码
-    var provinceid: Int = 0, // 省
-    var qq: String = "", // QQ(加密存储
-    var remark: String = "", // 备注
-    var sex: Int = 0, // 用户性别 0: 女 1: 男
-    var signpdfurl: String = "", // 签约pdf文件
-    var telphone: String = "", // 联系电话(加密存储)
-    var userid: Long = 0, // 用户ID
-    var userinfotype: Int = 0, // 用户信息类型 - 1:个人 2:企业
-    var userstatus: Int = 0, // 用户状态 - 1:正常 2:注销
-    var usertype: Int = 0, // 账户类型 - 1:交易所 2:机构 3:会员子机构 4:经纪人 5:投资者 6:客户
-    var wechat: String = "", // 微信(加密存储)
-    var wskhinfo: String = "" // 开户申请信息(JSON)
+    @SerializedName("address") var address: String = "", //     地址
+    @SerializedName("attachment1") var attachment1: String = "", //     附件1
+    @SerializedName("attachment2") var attachment2: String = "", //     附件2
+    @SerializedName("bankaccount") var bankaccount: String = "", //     银行帐号 (加密存储)
+    @SerializedName("bankaccountname") var bankaccountname: String = "", // 收款人名称
+    @SerializedName("bankcardfrontphotourl") var bankcardfrontphotourl: String = "", // 银行卡正面照地址
+    @SerializedName("bankid") var bankid: String = "", // 银行编码
+    @SerializedName("bankname") var bankname: String = "", // 银行名称
+    @SerializedName("biznature") var biznature: Int = 0, // 企业性质( 企业) - 1:国有控股企业 2:集体控股企业 3:私人控股企业 4:港澳台商控股企业 5:外商控股企业 6:其它
+    @SerializedName("bizscope") var bizscope: String = "", // 企业经营范围(企业)
+    @SerializedName("cardbackphotourl") var cardbackphotourl: String = "", // 证件背面图片地址
+    @SerializedName("cardfrontphotourl") var cardfrontphotourl: String = "", // 证件正面图片地址
+    @SerializedName("cardnum") var cardnum: String = "", // 证件号码(加密存储)
+    @SerializedName("cardtypeid") var cardtypeid: Int = 0, // 证件类型ID
+    @SerializedName("cityid") var cityid: Int = 0, // 市
+    @SerializedName("company") var company: String = "", // 公司(个人)
+    @SerializedName("contactname") var contactname: String = "", // 联系人
+    @SerializedName("countryid") var countryid: Int = 0, // 国家
+    @SerializedName("createtime") var createtime: String = "", // 创建时间
+    @SerializedName("creatorid") var creatorid: Long = 0, // 创建人
+    @SerializedName("customername") var customername: String = "", // 客户名称(企业名称)
+    @SerializedName("districtid") var districtid: Int = 0, // 地区
+    @SerializedName("email") var email: String = "", // 邮件(加密存储)
+    @SerializedName("fax") var fax: String = "", // 传真(加密存储)
+    @SerializedName("halfbodyphotourl") var halfbodyphotourl: String = "", // 半身照地址
+    @SerializedName("hasencrypt") var hasencrypt: Int = 0, // 数据是否已加密 - 0:未加密 1:已加密
+    @SerializedName("headurl") var headurl: String = "", // 头像地址
+    @SerializedName("legalcardbackphotourl") var legalcardbackphotourl: String = "", // 法人身份证背面照地址
+    @SerializedName("legalcardfrontphotourl") var legalcardfrontphotourl: String = "", // 法人身份证正面照地址
+    @SerializedName("legalpersonname") var legalpersonname: String = "", // 法人姓名(企业)
+    @SerializedName("mobile") var mobile: String = "", // 手机号码(加密存储)
+    @SerializedName("mobile2") var mobile2: String = "", // 手机号码[明文-尚志]
+    @SerializedName("modifierid") var modifierid: Long = 0, // 修改人
+    @SerializedName("modifiertime") var modifiertime: String = "", // 修改时间
+    @SerializedName("needinvoice") var needinvoice: Int = 0, // 是否需要发票 - 0:不需要 1:需要
+    @SerializedName("nickname") var nickname: String = "", // 昵称:默认为名称脱敏(张) 或 手机号脱敏(1399999)
+    @SerializedName("openmode") var openmode: Int = 0, // 开户方式 - 1:管理端开户 2:网上开户注册(会员官网) 3:微信开户 4:网页交易端注册 5:安卓手机端注册 6:苹果手机端注册 7:PC交易端注册 8:微信快速开户 9:支付宝快速开户 10:手机号快速开户
+    @SerializedName("otherurl") var otherurl: String = "", // 其它图片地址[使用分号分隔]
+    @SerializedName("postalcode") var postalcode: String = "", // 邮政编码
+    @SerializedName("provinceid") var provinceid: Int = 0, // 省
+    @SerializedName("qq") var qq: String = "", // QQ(加密存储
+    @SerializedName("remark") var remark: String = "", // 备注
+    @SerializedName("sex") var sex: Int = 0, // 用户性别 0: 女 1: 男
+    @SerializedName("signpdfurl") var signpdfurl: String = "", // 签约pdf文件
+    @SerializedName("telphone") var telphone: String = "", // 联系电话(加密存储)
+    @SerializedName("userid") var userid: Long = 0, // 用户ID
+    @SerializedName("userinfotype") var userinfotype: Int = 0, // 用户信息类型 - 1:个人 2:企业
+    @SerializedName("userstatus") var userstatus: Int = 0, // 用户状态 - 1:正常 2:注销
+    @SerializedName("usertype") var usertype: Int = 0, // 账户类型 - 1:交易所 2:机构 3:会员子机构 4:经纪人 5:投资者 6:客户
+    @SerializedName("wechat") var wechat: String = "", // 微信(加密存储)
+    @SerializedName("wskhinfo") var wskhinfo: String = "" // 开户申请信息(JSON)
 )

+ 3 - 0
RMA/app/src/main/java/cn/muchinfo/rma/view/MainActivity.kt

@@ -25,6 +25,7 @@ import cn.muchinfo.rma.view.eventbus.EventConstent
 import cn.muchinfo.rma.view.eventbus.MessageEvent
 import com.blankj.utilcode.util.AppUtils
 import com.blankj.utilcode.util.LogUtils
+import com.blankj.utilcode.util.ToastUtils
 import com.facebook.drawee.backends.pipeline.Fresco
 import com.next.easynavigation.view.EasyNavigationBar
 import mtp.polymer.com.autowidget.dialog.createLoadingDialog
@@ -134,6 +135,8 @@ class MainActivity : BaseActivity<MainViewModel>() {
             newNormalIcon.add(R.mipmap.main_tab_5)
             newSelectIcon.add(R.mipmap.rma_select_main_tab_5)
         }
+
+
         if (GlobalDataCollection.instance?.getFirstLevelMenu("client_qhjbjb") == true) {
             //前海金铂金宝
             newFragments.add(platinumTreasureFragment)

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

@@ -82,7 +82,8 @@ class SplashActivity : AppCompatActivity() {
                     SPUtils.getInstance().put(Constant.tradePort,data?.tradePort)
                     SPUtils.getInstance().put(Constant.uploadUrl,data?.uploadUrl)
                     SPUtils.getInstance().put(Constant.openApiUrl,data?.openApiUrl)
-                    SPUtils.getInstance().put(Constant.hsbyPayUrlWeb,data?.hsbyPayUrlWeb)
+                    SPUtils.getInstance().put(Constant.otherPayUrl,data?.otherPayUrl)
+                    SPUtils.getInstance().put(Constant.oem,data?.oem)
 
                     // 外网调试环境 swagger: http://218.17.158.45:21003/swagger/index.html
 

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

@@ -10,9 +10,9 @@ object Constant {
 //    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"//李倩
-//        const val baseurl = "http://192.168.30.125:8080/cfg?key=test_125"//李倩千海金 18611112222
+        const val baseurl = "http://192.168.30.125:8080/cfg?key=test_125"//李倩千海金 18611112222
 //      const val baseurl = "http://192.168.30.211:8080/cfg?key=test_211"// 瑶姐
-          const val baseurl = "http://192.168.31.107:8080/cfg?key=test_107"// 瑶姐 千海金 13760119855
+//          const val baseurl = "http://192.168.31.107:8080/cfg?key=test_107"// 瑶姐 千海金 13760119855
 //    const val baseurl = "http://192.168.31.175:8080/cfg?key=test_175" // 8888  123123
 //    const val baseurl = "http://192.168.31.223:8080/cfg?key=test_223"
 //    const val baseurl = "http://192.168.31.174:8080/cfg?key=test_174"// 邓工
@@ -40,7 +40,9 @@ object Constant {
 
     const val tradeUrl = "tradeUrl"
 
-    const val hsbyPayUrlWeb = "hsbyPayUrlWeb"//支付
+    const val otherPayUrl = "otherPayUrl"//支付
+
+    const val oem = "oem"//app版本名称
 
     /**
      * 行情

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

@@ -449,6 +449,7 @@ class LoginActivity : BaseActivity<LoginViewModel>(), UserPopupWindow.OnClearAcc
                 //请求账户基本信息
                 viewModel.loginQuery { isCompleted, err ->
                     if (!isCompleted) {
+
                         viewModel.loadingDialogStatus.value =
                             TaskUiModel.failed(
                                 InteractiveException(
@@ -464,7 +465,7 @@ class LoginActivity : BaseActivity<LoginViewModel>(), UserPopupWindow.OnClearAcc
                             viewModel.loadingDialogStatus.value =
                                 TaskUiModel.failed(
                                     InteractiveException(
-                                        error?.message ?: "查询失败".toShowTime()
+                                        error?.message ?: "查询失败"
                                     )
                                 )
                             return@getErmcpRoleFuncMenuLists

+ 14 - 10
RMA/app/src/main/java/cn/muchinfo/rma/view/base/main/PayViewModel.kt

@@ -138,17 +138,21 @@ class PayViewModel : BaseViewModel(){
                 }
 
                 override fun onResponse(response: String, id: Int) {
-                    val jsonObject = JSONObject(response)
-                    val code = jsonObject.getString("errCode")
-                    if (code == "SUCCESS") {
-                        if (jsonObject.isNull("body")) {
-                            ToastUtils.showLong("服务器返回数据格式有问题,缺少“appPayRequest”字段")
-                            return
-                        }
-                        payInfoRequest.postValue(jsonObject.getString("body"))
+                    if (response.isNullOrEmpty().not()){
+                        val jsonObject = JSONObject(response)
+                        val code = jsonObject.getString("errCode")
+                        LogUtils.d("dhasfhkajhlka", response)
+                        if (code == "SUCCESS") {
+                            loadingDialogStatus.postValue(TaskUiModel.success())
+                            if (jsonObject.isNull("body")) {
+                                ToastUtils.showLong("服务器返回数据格式有问题,缺少“appPayRequest”字段")
+                                return
+                            }
+                            payInfoRequest.postValue(jsonObject.getString("body"))
 
-                    } else {
-                        loadingDialogStatus.value = TaskUiModel.failed(InteractiveException(jsonObject.getString("errMsg")))
+                        } else {
+                            loadingDialogStatus.value = TaskUiModel.failed(InteractiveException(jsonObject.getString("errMsg")))
+                        }
                     }
                 }
             })

+ 23 - 23
RMA/app/src/main/java/cn/muchinfo/rma/view/base/main/castsurely/AddCastSurelyActivity.kt

@@ -84,16 +84,16 @@ class AddCastSurelyActivity : BaseActivity<MyCastSurelyViewModel>() {
     fun onQuoteMessageEvent(quoteMessageEvent: QuoteMessageEvent) {
         val goodsids = quoteMessageEvent.goodsid
         //如果推送的goodsid包含当前页面的goodsid,则进行页面刷新
-        if (goodsids.contains(viewModel.goodsInfoData.value?.goodsid)) {
-            LogUtils.eTag("dasjhdkjagfkask", "行情推送" + viewModel.goodsInfoData.value?.goodsid)
-            val goodsInfo = DataBase.getInstance().goodsInfoDao()
-                .getGoodsInfo(viewModel.goodsInfoData.value?.goodsid ?: 0)
-            val quote =
-                GlobalDataCollection.instance?.goodsInfoAndQuotesList?.find { goodsInfo?.outgoodscode == it.outgoodscode }?.quoteDayData
-            if (quote != null) {
-                viewModel.quoteDayData.postValue(quote)
-            }
-        }
+//        if (goodsids.contains(viewModel.goodsInfoData.value?.goodsid)) {
+//            LogUtils.eTag("dasjhdkjagfkask", "行情推送" + viewModel.goodsInfoData.value?.goodsid)
+//            val goodsInfo = DataBase.getInstance().goodsInfoDao()
+//                .getGoodsInfo(viewModel.goodsInfoData.value?.goodsid ?: 0)
+//            val quote =
+//                GlobalDataCollection.instance?.goodsInfoAndQuotesList?.find { goodsInfo?.outgoodscode == it.outgoodscode }?.quoteDayData
+//            if (quote != null) {
+//                viewModel.quoteDayData.postValue(quote)
+//            }
+//        }
     }
 
     fun initData() {
@@ -111,11 +111,11 @@ class AddCastSurelyActivity : BaseActivity<MyCastSurelyViewModel>() {
             viewModel.queryMyRStrategy(goodsid = goodsId ?: "0")
         }
         viewModel.queryGoodsEx(goodsId ?: "")
-        viewModel.queryQuoteDay(
-            tag = thisTag,
-            goodsCodes = outGoodsCode ?: "",
-            isShowLoading = false
-        )
+//        viewModel.queryQuoteDay(
+//            tag = thisTag,
+//            goodsCodes = outGoodsCode ?: "",
+//            isShowLoading = false
+//        )
     }
 
     override fun onDestroy() {
@@ -173,11 +173,11 @@ class AddCastSurelyActivity : BaseActivity<MyCastSurelyViewModel>() {
                     creatGoodsInfoBottomSheetDialog("请选择商品", viewModel.getCanAddCastSureList()) {
                         viewModel.goodsInfoData.postValue(this)
                         viewModel.queryGoodsEx(this.goodsid.toString())
-                        viewModel.queryQuoteDay(
-                            tag = thisTag,
-                            goodsCodes = this.outgoodscode ?: "",
-                            isShowLoading = true
-                        )
+//                        viewModel.queryQuoteDay(
+//                            tag = thisTag,
+//                            goodsCodes = this.outgoodscode ?: "",
+//                            isShowLoading = true
+//                        )
                     }
                 }
                 background = resources.getDrawable(R.color.white)
@@ -270,7 +270,7 @@ class AddCastSurelyActivity : BaseActivity<MyCastSurelyViewModel>() {
                             inputType = EditorInfo.TYPE_CLASS_NUMBER
                             viewModel.goodsInfoData.bindOptional(context) {
                                 if (selectPayType.value?.id == "1") {
-                                    setDecimalInputType(decimals = it?.decimalplace ?: 2)
+                                    setDecimalInputType(decimals = it?.qtydecimalplace ?: 2)
                                 } else {
                                     setDecimalInputType()
                                 }
@@ -291,7 +291,7 @@ class AddCastSurelyActivity : BaseActivity<MyCastSurelyViewModel>() {
                             viewModel.goodsexinfo.bindOptional(context) {
                                 visibility = View.VISIBLE
                                 if (selectPayType.value?.id == "1") {
-                                    text = it?.regularlybuyminqty + viewModel.goodsInfoData.value?.goodunitid + "起购"
+                                    text = it?.regularlybuyminqty + GlobalDataCollection.instance?.getEnumName(enumCode = "goodsunit",enumitemname = viewModel.goodsInfoData.value?.goodunitid.toString())  + "起购"
                                 } else {
                                     text = it?.regularlybuyminamount + "元起购"
                                 }
@@ -300,7 +300,7 @@ class AddCastSurelyActivity : BaseActivity<MyCastSurelyViewModel>() {
                                 visibility = View.VISIBLE
                                 if (viewModel.goodsexinfo.value?.goodsid.isNullOrEmpty().not()){
                                     if (it?.id == "1"){
-                                        text = viewModel.goodsexinfo.value?.regularlybuyminqty + viewModel.goodsInfoData.value?.goodunitid + "起购"
+                                        text = viewModel.goodsexinfo.value?.regularlybuyminqty + GlobalDataCollection.instance?.getEnumName(enumCode = "goodsunit",enumitemname = viewModel.goodsInfoData.value?.goodunitid.toString()) + "起购"
                                     }else{
                                         text = viewModel.goodsexinfo.value?.regularlybuyminamount + "元起购"
                                     }

+ 7 - 3
RMA/app/src/main/java/cn/muchinfo/rma/view/base/main/pickup/PickUpGoodsDetailsActivity.kt

@@ -121,7 +121,7 @@ class PickUpGoodsDetailsActivity : BaseActivity<PickUpGoodsViewModel>(){
                         emptyView()
 
                         textView {
-                            text = data.pickupgoodsqty?.toLong()?.times(data.pickupgoodsagreeunit?.toLong() ?: 0).toString() + data.enumdicname
+                            text = data.goodsqty + data.enumdicname
                             textSizeAuto = 36
                             textColorInt = R.color.rma_black_33
                         }.lparams(wrapContent, wrapContent){
@@ -281,9 +281,13 @@ class PickUpGoodsDetailsActivity : BaseActivity<PickUpGoodsViewModel>(){
 
                     textView {
                         if (data.takemode == "3"){//2 自提 3配送
-                            text = data.expresscompany + "  " + data.expressnum
+                            if (data.expresscompany.isNullOrEmpty()){
+                                text = "--"
+                            }else{
+                                text = data.expresscompany + "  " + data.expressnum
+                            }
                         }else{
-                            text = "--" //  TODO 取货时间缺少
+                            text = data.confirmtime
                         }
                         textSizeAuto = 34
                         textColorInt = R.color.rma_black_33

+ 7 - 1
RMA/app/src/main/java/cn/muchinfo/rma/view/base/main/pickup/PickUpGoodsViewModel.kt

@@ -5,7 +5,9 @@ import cn.muchinfo.rma.global.GlobalDataCollection
 import cn.muchinfo.rma.global.data.*
 import cn.muchinfo.rma.netManage.base.InteractiveException
 import cn.muchinfo.rma.view.MyApplication
+import cn.muchinfo.rma.view.autoWidget.toArrayList
 import cn.muchinfo.rma.view.base.BaseViewModel
+import com.blankj.utilcode.util.TimeUtils
 import kotlinx.coroutines.GlobalScope
 import kotlinx.coroutines.launch
 import mtp.polymer.com.autowidget.utils.TaskUiModel
@@ -110,7 +112,11 @@ class PickUpGoodsViewModel : BaseViewModel(){
         }
         MyApplication.getInstance()?.addressManager?.queryTradeGoodsPickup(params = params) { isSuccess, respData, error ->
             if (isSuccess) {
-                pickUpDataList.postValue(respData)
+                val newList = respData?.toArrayList()
+                newList?.sortWith(Comparator { t1, t2 ->
+                    (TimeUtils.string2Millis(t1.updatetime) - TimeUtils.string2Millis(t2.updatetime)).toInt()
+                })
+                pickUpDataList.postValue(newList)
             }
         }
     }

+ 14 - 12
RMA/app/src/main/java/cn/muchinfo/rma/view/base/main/withdrawmanagement/WithdrawalViewModel.kt

@@ -253,19 +253,21 @@ class WithdrawalViewModel : BaseViewModel(){
                 }
 
                 override fun onResponse(response: String, id: Int) {
-                    val jsonObject = JSONObject(response)
-                    val code = jsonObject.getString("errCode")
-                    LogUtils.d("dhasfhkajhlka", response)
-                    if (code == "SUCCESS") {
-                        loadingDialogStatus.postValue(TaskUiModel.success())
-                        if (jsonObject.isNull("body")) {
-                            ToastUtils.showLong("服务器返回数据格式有问题,缺少“appPayRequest”字段")
-                            return
-                        }
-                        payInfoRequest.postValue(jsonObject.getString("body"))
+                    if (response.isNullOrEmpty().not()){
+                        val jsonObject = JSONObject(response)
+                        val code = jsonObject.getString("errCode")
+                        LogUtils.d("dhasfhkajhlka", response)
+                        if (code == "SUCCESS") {
+                            loadingDialogStatus.postValue(TaskUiModel.success())
+                            if (jsonObject.isNull("body")) {
+                                ToastUtils.showLong("服务器返回数据格式有问题,缺少“appPayRequest”字段")
+                                return
+                            }
+                            payInfoRequest.postValue(jsonObject.getString("body"))
 
-                    } else {
-                        loadingDialogStatus.value = TaskUiModel.failed(InteractiveException(jsonObject.getString("errMsg")))
+                        } else {
+                            loadingDialogStatus.value = TaskUiModel.failed(InteractiveException(jsonObject.getString("errMsg")))
+                        }
                     }
                 }
             })