Kaynağa Gözat

接入统一查询数据

ProGo 4 yıl önce
ebeveyn
işleme
74f9c01b5d

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

@@ -2,6 +2,7 @@ package cn.muchinfo.rma.business.account
 
 import cn.muchinfo.rma.business.account.adapter.AccountAdapter
 import cn.muchinfo.rma.global.GlobalDataCollention
+import cn.muchinfo.rma.global.data.account.LoginQueryData
 import cn.muchinfo.rma.netManage.base.ResponseCallback
 import cn.muchinfo.rma.netManage.utils.MyOkHttpUtils
 import cn.muchinfo.rma.netcore.packet.Packet50
@@ -14,11 +15,13 @@ import cn.muchinfo.rma.view.MyApplication
 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 io.reactivex.Observable
 import io.reactivex.android.schedulers.AndroidSchedulers
 import kotlinx.coroutines.GlobalScope
+import kotlinx.coroutines.Job
 import kotlinx.coroutines.launch
 import okhttp3.Call
 import java.lang.Exception
@@ -222,4 +225,35 @@ class AccountManager {
         tokenCheckTimer?.cancel()
         tokenCheckTimer = null
     }
+
+    /**
+     * 登录后的查询
+     * 1、loginAccount 登录账号
+     * 2、userAccount
+     * 3、userInfo 用户信息
+     * 4、markets 暂时无用
+     * 5、goodsgroups 商品
+     * 6、externalExchanges 外部交易所
+     */
+    fun loginQuery(callBack: (isCompleted: Boolean, err: Error?) -> Unit) {
+
+        var loginInfo: SystemMI1.LoginRsp = GlobalDataCollention.getInstance().loginRsp
+        val params = mutableMapOf<String, String>()
+        params["loginID"] = loginInfo.loginID.toString()
+        MyOkHttpUtils().queryGetForUrl(
+            URL = SPUtils.getInstance().getString(Constant.goCommonSearchUrl) + ServiceFunApi.LOGINQUERY,
+            params = params,
+            callback = object : ResponseCallback<BaseResult<LoginQueryData>>() {
+                override fun onError(call: Call?, e: Exception?, id: Int) {
+                    callBack(false, Error(e?.message))
+                }
+
+                override fun onResponse(response: BaseResult<LoginQueryData>?, id: Int) {
+                    GlobalDataCollention.getInstance().loginQueryData = response?.data
+                    callBack(true, null)
+                }
+            }
+        )
+    }
+
 }

+ 17 - 0
RMA/app/src/main/java/cn/muchinfo/rma/global/BaseGlobalData.java

@@ -6,6 +6,7 @@ import java.util.List;
 
 import cn.muchinfo.rma.global.data.AccountData;
 import cn.muchinfo.rma.global.data.UserAccountData;
+import cn.muchinfo.rma.global.data.account.LoginQueryData;
 import cn.muchinfo.rma.global.data.database.EnumDicEntity;
 import cn.muchinfo.rma.global.data.database.ErrorCodeEntity;
 import cn.muchinfo.rma.protobuf.protoclasses.SystemMI1;
@@ -51,6 +52,11 @@ public class BaseGlobalData {
      */
     private UserAccountData userAccountData;
 
+    /**
+     * 统一查询
+     */
+    private LoginQueryData loginQueryData;
+
 
     public UserAccountData getUserAccountData() {
         return userAccountData;
@@ -97,4 +103,15 @@ public class BaseGlobalData {
     public void setEnumDicEntityList(List<EnumDicEntity> enumDicEntityList) {
         this.enumDicEntityList = enumDicEntityList;
     }
+
+    public LoginQueryData getLoginQueryData() {
+        if (loginQueryData == null) {
+            loginQueryData = new LoginQueryData();
+        }
+        return loginQueryData;
+    }
+
+    public void setLoginQueryData(LoginQueryData loginQueryData) {
+        this.loginQueryData = loginQueryData;
+    }
 }

+ 12 - 0
RMA/app/src/main/java/cn/muchinfo/rma/global/data/account/ExternalExchanges.kt

@@ -0,0 +1,12 @@
+package cn.muchinfo.rma.global.data.account
+
+data class ExternalExchanges(
+    val autoId : Int = 0,
+    val exExchangeCode : String = "",
+    val exExchangeName : String = "",
+    val updateTime : String = "",
+    val quoteGear : Int = 0,
+    val showBrokerFlag : Int = 0,
+    val exchangeFullName : String = "",
+    val isMarketPrice : Int = 0
+)

+ 34 - 0
RMA/app/src/main/java/cn/muchinfo/rma/global/data/account/GoodsGroups.kt

@@ -0,0 +1,34 @@
+package cn.muchinfo.rma.global.data.account
+
+data class GoodsGroups(
+    val goodsGroupId : Int = 0,
+    val goodsGroupName : String = "",
+    val goodsGroupStatus : Int = 0,
+    val marketId : Int = 0,
+    val createTime : String = "",
+    val creatorId : Int = 0,
+    val modifyTime : String = "",
+    val modifierId : Int = 0,
+    val quoteSourceGroupid : Int = 0,
+    val outerGroupCode : String = "",
+    val canShort : Int = 0,
+    val exExchangeId : Int = 0,
+    val currencyId : Int = 0,
+    val goodUnitId : Int = 0,
+    val agreeUnit : Int = 0,
+    val decimalPlace : Int = 0,
+    val quoteMinUnit : Int = 0,
+    val innerDealMode : Int = 0,
+    val outerDealMode : Int = 0,
+    val syncGoodsQty : Int = 0,
+    val closePriceMode : Int = 0,
+    val closePriceParam : Int = 0,
+    val qtyDecimalPlace : Int = 0,
+    val exerciseType : Int = 0,
+    val premiumDecimalPlace : Int = 0,
+    val premiumSpreadAlgorithm : Int = 0,
+    val premiumSpreadValue : Int = 0,
+    val isBuyLimited : Int = 0,
+    val quoteGear : Int = 0,
+    val quoterId : Int = 0
+)

+ 25 - 0
RMA/app/src/main/java/cn/muchinfo/rma/global/data/account/LoginAccount.kt

@@ -0,0 +1,25 @@
+package cn.muchinfo.rma.global.data.account
+
+data class LoginAccount(
+    val loginId : Long = 0,
+    val userId : Int = 0,
+    val loginFailNum : Int = 0,
+    val password : String = "",
+    val loginUserType : Int = 0,
+    val loginStatus : Int = 0,
+    val lastLoginTime : String = "",
+    val lastLoginMode : Int = 0,
+    val lastLoginIp : String = "",
+    val loginPort : Int = 0,
+    val lastLoginRemark : String = "",
+    val modifyTime : String = "",
+    val modifierId : Int = 0,
+    val pwdWrongCount : Int = 0,
+    val unFreezeTime : String = "",
+    val hasLogined : Int = 0,
+    val hasUpdatedPwd : Int = 0,
+    val loginCode : String = "",
+    val canOutIn : Int = 0,
+    val clientRoleId : Int = 0,
+    val taAccountRightType : Int = 0
+)

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

@@ -0,0 +1,42 @@
+package cn.muchinfo.rma.global.data.account
+
+/**
+ * 还有个markets字段,似乎用不着,暂时不缓存
+ */
+data class LoginQueryData(
+    val loginAccount: LoginAccount? = null,
+    val userAccount : UserAccount? = null,
+    val userInfo: UserInfo? = null,
+    val goodsGroups: Array<GoodsGroups>? = null,
+    val externalExchanges: Array<ExternalExchanges>? = null
+) {
+    override fun equals(other: Any?): Boolean {
+        if (this === other) return true
+        if (javaClass != other?.javaClass) return false
+
+        other as LoginQueryData
+
+        if (loginAccount != other.loginAccount) return false
+        if (userAccount != other.userAccount) return false
+        if (userInfo != other.userInfo) return false
+        if (goodsGroups != null) {
+            if (other.goodsGroups == null) return false
+            if (!goodsGroups.contentEquals(other.goodsGroups)) return false
+        } else if (other.goodsGroups != null) return false
+        if (externalExchanges != null) {
+            if (other.externalExchanges == null) return false
+            if (!externalExchanges.contentEquals(other.externalExchanges)) return false
+        } else if (other.externalExchanges != null) return false
+
+        return true
+    }
+
+    override fun hashCode(): Int {
+        var result = loginAccount?.hashCode() ?: 0
+        result = 31 * result + (userAccount?.hashCode() ?: 0)
+        result = 31 * result + (userInfo?.hashCode() ?: 0)
+        result = 31 * result + (goodsGroups?.contentHashCode() ?: 0)
+        result = 31 * result + (externalExchanges?.contentHashCode() ?: 0)
+        return result
+    }
+}

+ 30 - 0
RMA/app/src/main/java/cn/muchinfo/rma/global/data/account/UserAccount.kt

@@ -0,0 +1,30 @@
+package cn.muchinfo.rma.global.data.account
+
+data class UserAccount(
+    val userId : Int = 0,
+    val userType : Int = 0,
+    val accountName : String = "",
+    val parentUserId : Int = 0,
+    val broker : Int = 0,
+    val subareaLevelPath : String = "",
+    val refereeUserId : Int = 0,
+    val memberUserId : Int = 0,
+    val accountStatus : Int = 0,
+    val reckonAccountId : Int = 0,
+    val modifyStatus : Int = 0,
+    val createTime : String = "",
+    val creatorId : Int = 0,
+    val auditTime : String = "",
+    val auditUserId : Int = 0,
+    val auditRemark : String = "",
+    val cancelTime : String = "",
+    val cancelUserId : Int = 0,
+    val modifyTime : String = "",
+    val modifierId : Int = 0,
+    val modifyRemark : String = "",
+    val maxInvestorNum : Int = 0,
+    val hasAuth : Int = 0,
+    val referCount : Int = 0,
+    val referNum : String = "",
+    val isAnonymous : Int = 0
+)

+ 55 - 0
RMA/app/src/main/java/cn/muchinfo/rma/global/data/account/UserInfo.kt

@@ -0,0 +1,55 @@
+package cn.muchinfo.rma.global.data.account
+
+data class UserInfo(
+    val userId : Int = 0,
+    val userInfoType : Int = 0,
+    val customerName : String = "",
+    val userStatus : Int = 0,
+    val userType : Int = 0,
+    val openMode : Int = 0,
+    val cardTypeId : Int = 0,
+    val cardNum : String = "",
+    val halfBodyPhotoUrl : String = "",
+    val cardFrontPhotoUrl : String = "",
+    val cardBackPhotoUrl : String = "",
+    val bizNature : Int = 0,
+    val bizScope : String = "",
+    val legalPersonName : String = "",
+    val contactName : String = "",
+    val sex : Int = 0,
+    val telphone : String = "",
+    val mobile : String = "",
+    val fax : String = "",
+    val email : String = "",
+    val qq : String = "",
+    val weChat : String = "",
+    val countryId : Int = 0,
+    val provinceId : Int = 0,
+    val cityId : Int = 0,
+    val districtId : Int = 0,
+    val company : String =  "",
+    val address : String =  "",
+    val postalCode : String =  "",
+    val createTime : String =  "",
+    val creatorId : Int = 0,
+    val modifierTime : String =  "",
+    val modifierId : Int = 0,
+    val remark : String =  "",
+    val wskhInfo : String =  "",
+    val signPdfUrl : String =  "",
+    val legalCardFrontPhotoUrl : String =  "",
+    val legalCardBackPhotoUrl : String =  "",
+    val otherUrl : String =  "",
+    val hasEncrypt : Int = 0,
+    val bankName : String =  "",
+    val bankAccount : String =  "",
+    val bankCardFrontPhotoUrl : String =  "",
+    val needInvoice : Int = 0,
+    val bankId : String =  "",
+    val attachment1 : String =  "",
+    val attachment2 : String =  "",
+    val bankAccountName : String =  "",
+    val headUrl : String =  "",
+    val nickName : String =  "",
+    val mobile2 : String =  ""
+)

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

@@ -5,13 +5,13 @@ package cn.muchinfo.rma.view.base.app
  *   time   : 2019/08/16
  */
 object Constant {
-
     /**
      * 获取基础url的接口
+    http://103.40.249.127:28280/swagger/index.html
      */
-//    const val baseurl = "http://103.40.249.127:28280/cfg?key=mtp_20"
+    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"
+//    const val baseurl = "http://192.168.31.114:8080/cfg?key=test_114"
 
     /**
      * 用sp存储基础url的key

+ 6 - 0
RMA/app/src/main/java/cn/muchinfo/rma/view/base/app/ServiceFunApi.kt

@@ -0,0 +1,6 @@
+package cn.muchinfo.rma.view.base.app
+
+object ServiceFunApi {
+    // 统一登录
+    const val LOGINQUERY = "/User/LoginQuery"
+}

+ 1 - 0
RMA/app/src/main/java/cn/muchinfo/rma/view/base/future/deals/DealFragment.kt

@@ -43,6 +43,7 @@ class DealFragment : BaseFragment<DealViewModel>() {
             m.dealPrice = 188.0 + a
             m.dealTime = "2021-02-25 21:21:21"
             m.direction = a
+            m.goodsId = a
             list?.add(m)
         }
 

+ 1 - 1
RMA/app/src/main/java/cn/muchinfo/rma/view/base/future/deals/DealViewModel.kt

@@ -61,7 +61,7 @@ class DealViewModel : BaseViewModel() {
             var idDealTime = itemView?.findViewById<TextView>(R.id.id_deal_time)
 
             var idChart = itemView?.findViewById<TextView>(R.id.id_chart)
-            var idEntrustDetail = itemView?.findViewById<TextView>(R.id.id_entrust_detail)
+            var idEntrustDetail = itemView?.findViewById<TextView>(R.id.id_deal_detail)
         }
 
         override fun onBindViewHolder(holder: DealHolder, position: Int) {

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

@@ -196,9 +196,7 @@ class HomeFragment : BaseFragment<HomeViewModel>() {
                                 LogUtils.eTag("adakhsfkjahsfa", "x = " + p1 + "y = " + p2)
                                 if (p2 > 1000) {
                                     segment1.visibility = View.VISIBLE
-                                    LogUtils.eTag("这里到底走了多少次", 2222222)
                                 } else {
-                                    LogUtils.eTag("这里到底走了多少次", 11111)
                                     segment1.visibility = View.INVISIBLE
                                 }
                             }

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

@@ -9,6 +9,7 @@ import android.widget.Toast
 import cn.muchinfo.rma.R
 import cn.muchinfo.rma.global.GlobalDataCollention
 import cn.muchinfo.rma.netManage.base.InteractiveException
+import cn.muchinfo.rma.protobuf.protoclasses.SystemMI1
 import cn.muchinfo.rma.view.MainActivity
 import cn.muchinfo.rma.view.autoWidget.autoSize
 import cn.muchinfo.rma.view.autoWidget.textColorInt
@@ -192,9 +193,22 @@ class LoginActivity : BaseActivity<LoginViewModel>() {
 //                    ToastUtils.showLong(err?.message)
                     return@launch
                 }
-
-                viewModel.loadingDialogStatus.value = TaskUiModel.success(msg = "登录成功")
-                goHomePage()
+                viewModel.loginQuery { isCompleted, err ->
+                    run {
+                        if (!isCompleted) {
+                            viewModel.loadingDialogStatus.value =
+                                TaskUiModel.failed(
+                                    InteractiveException(
+                                        GlobalDataCollention.getInstance()
+                                            .getErrorString(err?.message ?: "")
+                                    )
+                                )
+                            return@loginQuery
+                        }
+                        viewModel.loadingDialogStatus.value = TaskUiModel.success(msg = "登录成功")
+                        goHomePage()
+                    }
+                }
             }
         }
     }

+ 28 - 0
RMA/app/src/main/java/cn/muchinfo/rma/view/base/login/LoginViewModel.kt

@@ -56,4 +56,32 @@ class LoginViewModel : BaseViewModel() {
             }
         }
     }
+
+    /**
+     * 登录后的查询
+     * 1、loginAccount 登录账号
+     * 2、userAccount
+     * 3、userInfo 用户信息
+     * 4、markets 暂时无用
+     * 5、goodsgroups 商品
+     * 6、externalExchanges 外部交易所
+     * markets暂时无用。
+     * 外面交易所和商品的对应方法:商品组里有一个Exexchangeid字段,这个对应外部交易所表里的autoid
+     */
+    fun loginQuery(callback: (isCompleted: Boolean, err: Error?) -> Unit) {
+
+        val accountManager = MyApplication.getInstance()?.accountManager.guard {
+            callback(false, Error("对象未初始化"))
+            return
+        }
+        accountManager.loginQuery { isCompleted, err ->
+            run {
+                if (isCompleted) {
+                    callback(true, null)
+                } else {
+                    callback(false, err)
+                }
+            }
+        }
+    }
 }