Ver Fonte

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

Liu.bolan há 4 anos atrás
pai
commit
dae451326b
23 ficheiros alterados com 622 adições e 124 exclusões
  1. 27 0
      RMA/app/src/main/java/cn/muchinfo/rma/business/account/AccountManager.kt
  2. 10 2
      RMA/app/src/main/java/cn/muchinfo/rma/business/common/CommonManager.kt
  3. 10 2
      RMA/app/src/main/java/cn/muchinfo/rma/business/common/adapter/CommonAdapter.kt
  4. 1 0
      RMA/app/src/main/java/cn/muchinfo/rma/business/contractgoods/ContractGoodsManager.kt
  5. 141 0
      RMA/app/src/main/java/cn/muchinfo/rma/global/data/BrokerApplyData.kt
  6. 4 0
      RMA/app/src/main/java/cn/muchinfo/rma/view/MainViewModel.kt
  7. 2 2
      RMA/app/src/main/java/cn/muchinfo/rma/view/base/app/Constant.kt
  8. 3 3
      RMA/app/src/main/java/cn/muchinfo/rma/view/base/exposure/ExposureNumberViewHolder.kt
  9. 0 1
      RMA/app/src/main/java/cn/muchinfo/rma/view/base/home/NewHomeFragment.kt
  10. 3 0
      RMA/app/src/main/java/cn/muchinfo/rma/view/base/main/PayActivity.kt
  11. 58 35
      RMA/app/src/main/java/cn/muchinfo/rma/view/base/main/SeaKingMainFragment.kt
  12. 16 18
      RMA/app/src/main/java/cn/muchinfo/rma/view/base/main/SeaKingMainViewModel.kt
  13. 180 50
      RMA/app/src/main/java/cn/muchinfo/rma/view/base/main/promotioncode/ApplyPromotionCodeActivity.kt
  14. 36 0
      RMA/app/src/main/java/cn/muchinfo/rma/view/base/main/promotioncode/MyPromotionCodeViewModel.kt
  15. 21 0
      RMA/app/src/main/java/cn/muchinfo/rma/view/base/main/reward/MyRewardViewModel.kt
  16. 20 3
      RMA/app/src/main/java/cn/muchinfo/rma/view/base/main/reward/RewardRuleActivity.kt
  17. 8 2
      RMA/app/src/main/java/cn/muchinfo/rma/view/base/platinumtreasure/trade/DealViewHolder.kt
  18. 1 5
      RMA/app/src/main/java/cn/muchinfo/rma/view/base/procurement/ContractDetailActivity.kt
  19. 33 0
      RMA/app/src/main/java/cn/muchinfo/rma/view/base/procurement/ProcurementFragment.kt
  20. 35 0
      RMA/app/src/main/java/cn/muchinfo/rma/view/base/sale/SaleFragment.kt
  21. 1 1
      RMA/app/src/main/java/cn/muchinfo/rma/view/base/sale/SaleViewModel.kt
  22. 5 0
      RMA/app/src/main/java/cn/muchinfo/rma/view/eventbus/EventConstent.kt
  23. 7 0
      RMA/app/src/main/res/drawable/qhj_main_can_recommended_bg.xml

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

@@ -1176,4 +1176,31 @@ class AccountManager {
     }
 
 
+    /**
+     * 查询我的订单
+     * @param params Map<String, String>
+     * @param responseBack Function3<[@kotlin.ParameterName] Boolean, [@kotlin.ParameterName] List<BankInfoData>?, [@kotlin.ParameterName] Error?, Unit>
+     */
+    fun queryBrokerApply(
+        params: Map<String, String>,
+        responseBack: (isSuccess: Boolean, respData: List<BrokerApplyData>?, error: Error?) -> Unit
+    ){
+        MyOkHttpUtils().query(
+            URL = SPUtils.getInstance()
+                .getString(Constant.goCommonSearchUrl) + "/Qhj/QueryBrokerApply",
+            params = params,
+            type = "1",
+            callback = object : ResponseCallback<BaseResult<List<BrokerApplyData>>>() {
+                override fun onResponse(response: BaseResult<List<BrokerApplyData>>?, id: Int) {
+                    responseBack(true, response?.data, null)
+                }
+
+                override fun onError(call: Call?, e: Exception?, id: Int) {
+                    responseBack(false, null, Error(e?.message))
+                }
+            }
+        )
+    }
+
+
 }

+ 10 - 2
RMA/app/src/main/java/cn/muchinfo/rma/business/common/CommonManager.kt

@@ -25,13 +25,21 @@ class CommonManager {
      * 客户推广码操作请求
      * @param callback Function2<[@kotlin.ParameterName] Boolean, [@kotlin.ParameterName] Error?, Unit>
      */
-    fun customerRefernumOperateReq(callback: (isCompleted: Boolean, err: Error?) -> Unit){
+    fun customerRefernumOperateReq(
+        customername : String,//姓名
+        cardnum : String,//身份证号码
+        cardfrontphotourl : String,//身份证正面照片
+        cardbackphotourl : String,//身份证反面照片
+        callback: (isCompleted: Boolean, err: Error?) -> Unit
+    ){
         val tradeSocketManager = MyApplication.getInstance()?.tradeSocketManager.guard {
             callback(false, Error("交易链路未初始化"))
             return
         }
 
-        val reqPacket = CommonAdapter.getCustomerRefernumOperateReqInfo()
+        val reqPacket = CommonAdapter.getCustomerRefernumOperateReqInfo(
+            customername, cardnum, cardfrontphotourl, cardbackphotourl
+        )
 
         tradeSocketManager.send(
             reqPacket,

+ 10 - 2
RMA/app/src/main/java/cn/muchinfo/rma/business/common/adapter/CommonAdapter.kt

@@ -15,7 +15,12 @@ object CommonAdapter {
     /**
      * 推广码申请请求报文装箱
      */
-    fun getCustomerRefernumOperateReqInfo() : Packet50{
+    fun getCustomerRefernumOperateReqInfo(
+        customername : String,//姓名
+        cardnum : String,//身份证号码
+        cardfrontphotourl : String,//身份证正面照片
+        cardbackphotourl : String//身份证反面照片
+    ) : Packet50{
         val builder = ManageServiceMI3.CustomerRefernumOperateReq.newBuilder()
         val loginInfo = GlobalDataCollection.instance?.loginRsp!!
 
@@ -29,7 +34,10 @@ object CommonAdapter {
                 18
             )
         )
-
+        builder.cardnum = cardnum
+        builder.customername = customername
+        builder.cardfrontphotourl = cardfrontphotourl
+        builder.cardbackphotourl = cardbackphotourl
         builder.operatetype = 1
         builder.userid = loginInfo.userID.toLong()
         builder.loginid = loginInfo.loginID

+ 1 - 0
RMA/app/src/main/java/cn/muchinfo/rma/business/contractgoods/ContractGoodsManager.kt

@@ -149,6 +149,7 @@ class ContractGoodsManager {
             type = "1",
             callback = object : ResponseCallback<BaseResult<List<QhjContractDetailsData>>>() {
                 override fun onResponse(response: BaseResult<List<QhjContractDetailsData>>?, id: Int) {
+                    GlobalDataCollection.instance?.qhjContractDetailsDataArrayList = arrayListOf()
                     GlobalDataCollection.instance?.qhjContractDetailsDataArrayList = response?.data?.toArrayList()
                     responseBack(true, response?.data, null)
                 }

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

@@ -0,0 +1,141 @@
+package cn.muchinfo.rma.global.data
+
+import android.os.Parcel
+import android.os.Parcelable
+import com.google.gson.annotations.SerializedName
+
+/**
+ * 经纪人申请
+ */
+data class BrokerApplyData(
+    @SerializedName("applicantid")
+    val applicantid : String? = "",//申请人
+    @SerializedName("applysrc")
+    val applysrc : String? = "",//申请来源 - 1:管理端 2:终端
+    @SerializedName("applystatus")
+    val applystatus : String? = "",//申请状态 - 1:待审核 2:审核通过 3:审核拒绝 4:处理失败 5:已撤回
+    @SerializedName("applytime")
+    val applytime : String? = "",//申请时间
+    @SerializedName("auditorid")
+    val auditorid : String? = "",//审核人
+    @SerializedName("auditremark")
+    val auditremark : String? = "",//审核备注
+    @SerializedName("auditsrc")
+    val auditsrc : String? = "",//审核来源 - 1:管理端 2:终端
+    @SerializedName("audittime")
+    val audittime : String? = "",//审核时间
+    @SerializedName("audittradedate")
+    val audittradedate : String? = "",//审核交易日(yyyyMMdd)
+    @SerializedName("brokerapplyid")
+    val brokerapplyid : String? = "",//申请ID(SEQ_BROKERAPPLY)
+    @SerializedName("cardbackphotourl")
+    val cardbackphotourl : String? = "",//证件背面图片地址
+    @SerializedName("cardfrontphotourl")
+    val cardfrontphotourl : String? = "",//证件正面图片地址
+    @SerializedName("cardnum")
+    val cardnum : String? = "",//证件号码(加密存储) 注:数据库没存证件类型字段,产品说类型固定为身份证
+    @SerializedName("customername")
+    val customername : String? = "",//姓名
+    @SerializedName("filterstatus")
+    val filterstatus : String? = "",//筛选条件
+    @SerializedName("logincode")
+    val logincode : String? = "",//登录代码
+    @SerializedName("mobile")
+    val mobile : String? = "",//手机号码
+    @SerializedName("parentuserid")
+    val parentuserid : String? = "",//所属机构id
+    @SerializedName("parentusername")
+    val parentusername : String? = "",//所属机构名称
+    @SerializedName("refereeuserid")
+    val refereeuserid : String? = "",//推荐人id(经纪人)
+    @SerializedName("refernum")
+    val refernum : String? = "",//推荐码
+    @SerializedName("remark")
+    val remark : String? = "",//备注
+    @SerializedName("subarealevelpath")
+    val subarealevelpath : String? = "",//层级路径
+    @SerializedName("tradedate")
+    val tradedate : String? = "",//交易日(yyyyMMdd)
+    @SerializedName("userid")
+    val userid : String? = "",//申请人用户ID
+    @SerializedName("userinfotype")
+    val userinfotype : String? = "",//用户类型 1-个人 2-企业
+    @SerializedName("username")
+    val username : String? = ""//用户名称
+) : Parcelable{
+    constructor(parcel: Parcel) : this(
+        parcel.readString(),
+        parcel.readString(),
+        parcel.readString(),
+        parcel.readString(),
+        parcel.readString(),
+        parcel.readString(),
+        parcel.readString(),
+        parcel.readString(),
+        parcel.readString(),
+        parcel.readString(),
+        parcel.readString(),
+        parcel.readString(),
+        parcel.readString(),
+        parcel.readString(),
+        parcel.readString(),
+        parcel.readString(),
+        parcel.readString(),
+        parcel.readString(),
+        parcel.readString(),
+        parcel.readString(),
+        parcel.readString(),
+        parcel.readString(),
+        parcel.readString(),
+        parcel.readString(),
+        parcel.readString(),
+        parcel.readString(),
+        parcel.readString()
+    ) {
+    }
+
+    override fun writeToParcel(parcel: Parcel, flags: Int) {
+        parcel.writeString(applicantid)
+        parcel.writeString(applysrc)
+        parcel.writeString(applystatus)
+        parcel.writeString(applytime)
+        parcel.writeString(auditorid)
+        parcel.writeString(auditremark)
+        parcel.writeString(auditsrc)
+        parcel.writeString(audittime)
+        parcel.writeString(audittradedate)
+        parcel.writeString(brokerapplyid)
+        parcel.writeString(cardbackphotourl)
+        parcel.writeString(cardfrontphotourl)
+        parcel.writeString(cardnum)
+        parcel.writeString(customername)
+        parcel.writeString(filterstatus)
+        parcel.writeString(logincode)
+        parcel.writeString(mobile)
+        parcel.writeString(parentuserid)
+        parcel.writeString(parentusername)
+        parcel.writeString(refereeuserid)
+        parcel.writeString(refernum)
+        parcel.writeString(remark)
+        parcel.writeString(subarealevelpath)
+        parcel.writeString(tradedate)
+        parcel.writeString(userid)
+        parcel.writeString(userinfotype)
+        parcel.writeString(username)
+    }
+
+    override fun describeContents(): Int {
+        return 0
+    }
+
+    companion object CREATOR : Parcelable.Creator<BrokerApplyData> {
+        override fun createFromParcel(parcel: Parcel): BrokerApplyData {
+            return BrokerApplyData(parcel)
+        }
+
+        override fun newArray(size: Int): Array<BrokerApplyData?> {
+            return arrayOfNulls(size)
+        }
+    }
+
+}

+ 4 - 0
RMA/app/src/main/java/cn/muchinfo/rma/view/MainViewModel.kt

@@ -11,10 +11,13 @@ import cn.muchinfo.rma.view.autoWidget.guard
 import cn.muchinfo.rma.view.autoWidget.toArrayList
 import cn.muchinfo.rma.view.base.BaseViewModel
 import cn.muchinfo.rma.view.base.app.Constant
+import cn.muchinfo.rma.view.eventbus.EventConstent
+import cn.muchinfo.rma.view.eventbus.MessageEvent
 import com.blankj.utilcode.util.LogUtils
 import com.blankj.utilcode.util.SPUtils
 import kotlinx.coroutines.*
 import mtp.polymer.com.autowidget.utils.TaskUiModel
+import org.greenrobot.eventbus.EventBus
 import java.lang.Error
 import java.lang.Exception
 
@@ -179,6 +182,7 @@ class MainViewModel : BaseViewModel() {
                 }
                 queryErmcpTradePosition()//第三步请求持仓头寸
                 GlobalDataCollection.instance?.userAccountData = respData
+                EventBus.getDefault().post(MessageEvent(EventConstent.get_useraccount_info))//查询成功发送消息用于页面数据更新
             } else {
                 loadingDialogStatus.postValue(TaskUiModel.idel())
             }

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

@@ -6,7 +6,7 @@ object Constant {
     /**
      * 获取基础url的接口
      */
-    const val baseurl = "http://103.40.249.123:8280/cfg?key=mtp_20"//千海金外盘
+//    const val baseurl = "http://103.40.249.123:8280/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" // shenzhen01  123123
@@ -19,7 +19,7 @@ object Constant {
 //    const val baseurl = "http://192.168.31.174:8080/cfg?key=test_174"// 邓工
 
 //     const val baseurl = "http://192.168.31.176:8080/cfg?key=test_176" // 9999  123123  黄老板千海金
-//    const val baseurl = "http://192.168.31.171:8080/cfg?key=test_171" // 邓工 签约解约环境
+    const val baseurl = "http://192.168.31.171:8080/cfg?key=test_171" // 邓工 签约解约环境
 //    const val baseurl = "http://192.168.21.71:8280/cfg?key=mtp_20"
 
     /**

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

@@ -82,7 +82,7 @@ class ExposureNumberViewHolder(
                         text = if (type == "1"){
                             NumberUtils.roundNum(it?.oritoalspotqty,2) + it?.enumdicname
                         }else{
-                            it?.totalydqty + "手"
+                            NumberUtils.roundNum(it?.totalydqty,2) + "手"
                         }
                      }
                     textSizeAuto = 31
@@ -95,9 +95,9 @@ class ExposureNumberViewHolder(
                 textView {
                     data.bindOptional(context){
                         text = if (type == "1"){
-                            it?.increaseqty + it?.enumdicname
+                            NumberUtils.roundNum(it?.increaseqty,2) + it?.enumdicname
                         }else{
-                            it?.increaseqty + "手"
+                            NumberUtils.roundNum(it?.increaseqty,2) + "手"
                         }
                      }
                     textSizeAuto = 31

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

@@ -253,7 +253,6 @@ class NewHomeFragment : BaseFragment<HomeViewModel>() {
                         }
                         textView {
                             viewModel.userAccount.bindOptional(context) {
-
                                 text = it?.accountname?.isBlankString()
                             }
                             text = GlobalDataCollection.instance?.loginRsp?.userID.toString()

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

@@ -251,6 +251,9 @@ class PayActivity : BaseActivity<PayViewModel>() {
 
                 textView {
                     viewModel.accountData.bindOptional(context) {
+                        if (it?.currentbalance ?: 0.0 > totalAmount?.toDouble() ?: 0.0){
+                            selectPayType.postValue(SelectData(id = "1", value = "余额支付"))
+                        }
                         text =
                             "(可用" + NumberUtils.doubleDistortion(it?.currentbalance?.toString()) + "元)"
                     }

+ 58 - 35
RMA/app/src/main/java/cn/muchinfo/rma/view/base/main/SeaKingMainFragment.kt

@@ -12,6 +12,7 @@ import androidx.core.app.ActivityCompat
 import cn.muchinfo.rma.R
 import cn.muchinfo.rma.global.GlobalDataCollection
 import cn.muchinfo.rma.global.data.BankAccountSignData
+import cn.muchinfo.rma.global.data.BrokerApplyData
 import cn.muchinfo.rma.global.data.UserCollectConfigData
 import cn.muchinfo.rma.global.database.DataBase
 import cn.muchinfo.rma.global.isBlankString
@@ -27,6 +28,7 @@ import cn.muchinfo.rma.view.base.main.addressmanagement.MyAddressManagementActiv
 import cn.muchinfo.rma.view.base.main.castsurely.MyCastSurelyActivity
 import cn.muchinfo.rma.view.base.main.integral.MyIntegralActivity
 import cn.muchinfo.rma.view.base.main.pickup.PickUpGoodsSearchActivity
+import cn.muchinfo.rma.view.base.main.promotioncode.ApplyPromotionCodeActivity
 import cn.muchinfo.rma.view.base.main.promotioncode.MyPromotionCodeActivity
 import cn.muchinfo.rma.view.base.main.reward.MyRewardActivity
 import cn.muchinfo.rma.view.base.main.team.MyTeamActivity
@@ -61,6 +63,7 @@ class SeaKingMainFragment : BaseFragment<SeaKingMainViewModel>() {
     override fun onResume() {
         super.onResume()
         viewModel.initDataUsrAccount()
+        viewModel.queryBrokerApply()
     }
 
     override fun onDestroy() {
@@ -162,25 +165,63 @@ class SeaKingMainFragment : BaseFragment<SeaKingMainViewModel>() {
                                     }.lparams(0, autoSize(100), 1f)
 
                                     linearLayout {
-                                        if (GlobalDataCollection.instance?.loginQueryData?.userAccount?.canrecommend == "0") {
-                                            visibility = View.GONE
-                                        } else {
-                                            visibility = View.VISIBLE
+                                        visibility = View.GONE
+
+                                        onThrottleFirstClick {//新增
+                                            val intent = Intent()
+                                            intent.putExtra("type","1")
+                                            intent.putExtra("data",BrokerApplyData())
+                                            intent.setClass(context,ApplyPromotionCodeActivity::class.java)
+                                            ActivityUtils.startActivity(intent)
                                         }
-                                        onThrottleFirstClick {
-                                            if (viewModel.userAccount?.value?.refernum.isNullOrEmpty()) {
-                                                viewModel.customerRefernumOperateReq {
-                                                    ToastUtils.showLong("推广码申请已提交,请等待审核通过")
+
+                                        viewModel.brokerApplyData.bindOptional(context){
+                                            if (GlobalDataCollection.instance?.loginQueryData?.userInfo?.userinfotype == 2){
+                                                visibility = View.GONE
+                                            }else{
+                                                if (it?.refernum.isNullOrEmpty()){
+                                                    visibility = View.VISIBLE
+                                                }else{
+                                                    visibility = View.GONE
                                                 }
-                                            } else {
+                                            }
+                                        }
+                                        gravity = Gravity.CENTER
+                                        backgroundResource = R.drawable.qhj_main_can_recommended_bg
+                                        textView {
+                                            text = "申请推广码"
+                                            textColorInt = R.color.white
+                                            textSizeAuto = 29
+                                        }.lparams(wrapContent, wrapContent)
+                                    }.lparams(autoSize(204), autoSize(60))
+
+                                    linearLayout {
+                                        visibility = View.GONE
+                                        onThrottleFirstClick {
+                                            if (viewModel.brokerApplyData.value?.applystatus == "1" || viewModel.brokerApplyData.value?.applystatus == "2"){//只展示
                                                 val intent = Intent()
-                                                intent.setClass(
-                                                    context,
-                                                    MyPromotionCodeActivity::class.java
-                                                )
+                                                intent.putExtra("type","3")
+                                                intent.putExtra("data",viewModel.brokerApplyData.value)
+                                                intent.setClass(context,ApplyPromotionCodeActivity::class.java)
                                                 ActivityUtils.startActivity(intent)
+                                            }else if (viewModel.brokerApplyData.value?.applystatus == "3" || viewModel.brokerApplyData.value?.applystatus == "4"){//可修改
+                                                    val intent = Intent()
+                                                    intent.putExtra("type","2")
+                                                    intent.putExtra("data",viewModel.brokerApplyData.value)
+                                                    intent.setClass(context,ApplyPromotionCodeActivity::class.java)
+                                                    ActivityUtils.startActivity(intent)
+                                            }
+                                        }
+                                        viewModel.brokerApplyData.bindOptional(context){
+                                            if (GlobalDataCollection.instance?.loginQueryData?.userInfo?.userinfotype == 2){
+                                                visibility = View.GONE
+                                            }else{
+                                                if (it?.refernum.isNullOrEmpty()){
+                                                    visibility = View.GONE
+                                                }else{
+                                                    visibility = View.VISIBLE
+                                                }
                                             }
-
                                         }
                                         backgroundResource = R.drawable.qhj_main_recommended_bg
                                         gravity = Gravity.CENTER_VERTICAL
@@ -192,33 +233,15 @@ class SeaKingMainFragment : BaseFragment<SeaKingMainViewModel>() {
 
                                         verticalLayout {
                                             textView {
-                                                viewModel.userAccount.bindOptional(context) {
-                                                    if (it?.refernum.isNullOrEmpty()) {
-                                                        text = "申请推广码"
-                                                    } else {
-                                                        visibility = View.VISIBLE
-                                                        text = it?.refernum
-                                                    }
+                                                viewModel.brokerApplyData.bindOptional(context) {
+                                                    text = it?.refernum
                                                 }
                                                 textSizeAuto = 26
                                                 textColorInt = R.color.text_hint_color_two
                                             }.lparams(wrapContent, wrapContent) {
                                                 topMargin = autoSize(10)
                                             }
-                                            textView {
-                                                viewModel.userAccount.bindOptional(context) {
-                                                    if (it?.refernum.isNullOrEmpty()) {
-                                                        visibility = View.GONE
-                                                    } else {
-                                                        visibility = View.VISIBLE
-                                                        text = it?.refernum
-                                                    }
-                                                }
-                                                textSizeAuto = 36
-                                                textColorInt = R.color.rma_black_33
-                                            }.lparams(wrapContent, wrapContent) {
-                                                topMargin = autoSize(10)
-                                            }
+
                                         }.lparams(matchParent, autoSize(96)) {
                                             marginStart = autoSize(32)
                                         }

+ 16 - 18
RMA/app/src/main/java/cn/muchinfo/rma/view/base/main/SeaKingMainViewModel.kt

@@ -4,6 +4,7 @@ import androidx.lifecycle.MutableLiveData
 import cn.muchinfo.rma.global.GlobalDataCollection
 import cn.muchinfo.rma.global.data.AccountData
 import cn.muchinfo.rma.global.data.BankAccountSignData
+import cn.muchinfo.rma.global.data.BrokerApplyData
 import cn.muchinfo.rma.global.data.UserCollectConfigData
 import cn.muchinfo.rma.global.data.account.loginQeruy.UserAccount
 import cn.muchinfo.rma.netManage.base.InteractiveException
@@ -22,7 +23,6 @@ class SeaKingMainViewModel : BaseViewModel(){
      */
     val loadingDialogStatus: MutableLiveData<TaskUiModel> = MutableLiveData()
 
-
     /**
      * useraccount
      */
@@ -33,6 +33,11 @@ class SeaKingMainViewModel : BaseViewModel(){
      */
     val usedAccountData : MutableLiveData<AccountData> = MutableLiveData()
 
+    /**
+     * 经纪人信息
+     */
+    val brokerApplyData : MutableLiveData<BrokerApplyData> = MutableLiveData()
+
     //重新赋值资金账户
     fun resetAccountData(){
         val accountDataList = GlobalDataCollection.instance?.accountDataList
@@ -57,28 +62,21 @@ class SeaKingMainViewModel : BaseViewModel(){
         }
     }
 
-
-
-    fun customerRefernumOperateReq(isSuccess: (isCompleted: Boolean) -> Unit){
-        loadingDialogStatus.value = TaskUiModel.inFlight()
-        GlobalScope.launch {
-            MyApplication.getInstance()?.commonManager?.customerRefernumOperateReq() { isCompleted, err ->
-                if (isCompleted) {
-                    loadingDialogStatus.postValue(TaskUiModel.success(msg = "请求成功"))
-                    isSuccess(true)
-                } else {
-                    loadingDialogStatus.postValue(
-                        TaskUiModel.failed(
-                            InteractiveException(
-                                errorMessage = err?.message!!
-                            )
-                        )
-                    )
+    //查询资金账号信息
+    fun queryBrokerApply(){
+        val params = mutableMapOf<String, String>().apply {
+            put("userid", GlobalDataCollection.instance?.loginRsp?.userID.toString())
+        }
+        MyApplication.getInstance()?.accountManager?.queryBrokerApply(params = params) { isSuccess, respData, error ->
+            if (isSuccess) {
+                if (respData?.size ?: 0 > 0){
+                    brokerApplyData.postValue(respData?.get(0))
                 }
             }
         }
     }
 
+
     //设置页面userAccount
     fun initDataUsrAccount(){
         userAccount.postValue(GlobalDataCollection.instance?.loginQueryData?.userAccount)

+ 180 - 50
RMA/app/src/main/java/cn/muchinfo/rma/view/base/main/promotioncode/ApplyPromotionCodeActivity.kt

@@ -11,6 +11,9 @@ import android.view.inputmethod.EditorInfo
 import android.widget.EditText
 import androidx.lifecycle.MutableLiveData
 import cn.muchinfo.rma.R
+import cn.muchinfo.rma.global.GlobalDataCollection
+import cn.muchinfo.rma.global.data.BrokerApplyData
+import cn.muchinfo.rma.global.database.DataBase
 import cn.muchinfo.rma.lifecycle.bindOptional
 import cn.muchinfo.rma.netManage.base.InteractiveException
 import cn.muchinfo.rma.netManage.utils.UpLoadUtils
@@ -20,15 +23,17 @@ import cn.muchinfo.rma.view.autoWidget.photopicter.utils.ImageCaptureManager
 import cn.muchinfo.rma.view.base.BaseActivity
 import cn.muchinfo.rma.view.base.app.Constant
 import cn.muchinfo.rma.view.base.future.trade.itemView
+import cn.muchinfo.rma.view.base.home.contract.verticalEmptyView
 import com.alibaba.fastjson.JSON
 import com.blankj.utilcode.util.ActivityUtils
 import com.blankj.utilcode.util.LogUtils
 import com.blankj.utilcode.util.SPUtils
+import com.blankj.utilcode.util.ToastUtils
 import com.tbruyelle.rxpermissions2.RxPermissions
 import com.zhy.http.okhttp.callback.StringCallback
-import mtp.polymer.com.autowidget.dialog.SelectData
-import mtp.polymer.com.autowidget.dialog.creatBottomSheetDialog
+import mtp.polymer.com.autowidget.dialog.*
 import mtp.polymer.com.autowidget.utils.TaskUiModel
+import mtp.polymer.com.autowidget.utils.bindTaskStatus
 import okhttp3.Call
 import org.jetbrains.anko.*
 import org.json.JSONArray
@@ -39,12 +44,16 @@ import java.io.File
 /**
  * 申请推广码页面
  */
-class ApplyPromotionCodeActivity : BaseActivity<MyPromotionCodeViewModel>(){
+class ApplyPromotionCodeActivity : BaseActivity<MyPromotionCodeViewModel>() {
+
+    //页面状态 1:新增 2:修改重新提交 3:展示数据
+    val type by lazy { intent.getStringExtra("type") }
+
+    //用来审核通过和重新提交实用的数据
+    val data by lazy { intent.getParcelableExtra<BrokerApplyData>("data") as BrokerApplyData }
 
     //以下是正面照
-    private var positiveUploadFile: String = ""//上传成功后服务给的图片地址
-    val positiveImageString: MutableLiveData<String> =
-        MutableLiveData<String>().apply { value = "" }//文件地址
+    private var positiveUploadFile: MutableLiveData<String> = MutableLiveData()//上传成功后服务给的图片地址
 
     val positiveImagePhotoString: MutableLiveData<String> =
         MutableLiveData<String>().apply { value = "" }//拍照后的文件地址
@@ -52,16 +61,17 @@ class ApplyPromotionCodeActivity : BaseActivity<MyPromotionCodeViewModel>(){
     val positiveImageCaptureManager by lazy { ImageCaptureManager(this) }
 
     //以下是反面照
-    private var reverseUploadFile: String = ""//上传成功后服务给的图片地址
-    val reverseImageString: MutableLiveData<String> =
-        MutableLiveData<String>().apply { value = "" }//文件地址
+    private var reverseUploadFile: MutableLiveData<String> = MutableLiveData()//上传成功后服务给的图片地址
 
     val reverseImagePhotoString: MutableLiveData<String> =
         MutableLiveData<String>().apply { value = "" }//拍照后的文件地址
     val reverseImageCaptureManager by lazy { ImageCaptureManager(this) }
 
     //输入的姓名
-    lateinit var name_edittext : EditText
+    lateinit var name_edittext: EditText
+
+    //输入的身份证号
+    lateinit var card_number_edittext: EditText
 
     override fun onActivityResult(requestCode: Int, resultCode: Int, data: Intent?) {
         super.onActivityResult(requestCode, resultCode, data)
@@ -69,7 +79,7 @@ class ApplyPromotionCodeActivity : BaseActivity<MyPromotionCodeViewModel>(){
             positiveImageCaptureManager.galleryAddPic()
             positiveImagePhotoString.postValue(positiveImageCaptureManager.currentPhotoPath)
             LogUtils.eTag("dasdasdsadasdad", positiveImageCaptureManager.currentPhotoPath)
-        }else if (requestCode == 102 && resultCode == Activity.RESULT_OK) {//反面照拍照后
+        } else if (requestCode == 102 && resultCode == Activity.RESULT_OK) {//反面照拍照后
             reverseImageCaptureManager.galleryAddPic()
             reverseImagePhotoString.postValue(reverseImageCaptureManager.currentPhotoPath)
             LogUtils.eTag("dasdasdsadasdad", reverseImageCaptureManager.currentPhotoPath)
@@ -79,6 +89,14 @@ class ApplyPromotionCodeActivity : BaseActivity<MyPromotionCodeViewModel>(){
     override fun onCreate(savedInstanceState: Bundle?) {
         super.onCreate(savedInstanceState)
         verticalLayout {
+            if (type == "2" || type == "3") {
+                positiveUploadFile.postValue(data.cardfrontphotourl)
+                reverseUploadFile.postValue(data.cardbackphotourl)
+            }
+            createLoadingDialog(hintStr = "请求中...").bindTaskStatus(
+                context,
+                viewModel.loadingDialogStatus
+            )
             background = resources.getDrawable(R.color.main_hit_bg_color)
             //页面标题
             topBar {
@@ -105,6 +123,12 @@ class ApplyPromotionCodeActivity : BaseActivity<MyPromotionCodeViewModel>(){
 
 
                 editText {
+                    if (type == "2") {
+                        setText(data.customername)
+                    } else if (type == "3") {
+                        setText(data.customername)
+                        isEnabled = false
+                    }
                     name_edittext = this
                     hint = "请输入姓名"
                     background = null
@@ -134,7 +158,13 @@ class ApplyPromotionCodeActivity : BaseActivity<MyPromotionCodeViewModel>(){
 
 
                 editText {
-                    name_edittext = this
+                    if (type == "2") {
+                        setText(data.cardnum)
+                    } else if (type == "3") {
+                        setText(data.cardnum)
+                        isEnabled = false
+                    }
+                    card_number_edittext = this
                     hint = "请输入身份证号码"
                     background = null
                     inputType = EditorInfo.TYPE_CLASS_TEXT
@@ -167,7 +197,7 @@ class ApplyPromotionCodeActivity : BaseActivity<MyPromotionCodeViewModel>(){
                 gravity = Gravity.CENTER_HORIZONTAL
                 linearLayout {
                     backgroundResource = R.mipmap.qhj_add_positive_idcard
-                    positiveImageString.bindOptional(context) {
+                    positiveUploadFile.bindOptional(context) {
                         visibility = if (it.isNullOrEmpty()) {
                             View.VISIBLE
                         } else {
@@ -176,7 +206,8 @@ class ApplyPromotionCodeActivity : BaseActivity<MyPromotionCodeViewModel>(){
                     }
                     visibility = View.VISIBLE
                     onThrottleFirstClick {
-                        if (positiveImageString.value.isNullOrEmpty().not()){
+
+                        if (type == "3") {
                             return@onThrottleFirstClick
                         }
 
@@ -185,17 +216,23 @@ class ApplyPromotionCodeActivity : BaseActivity<MyPromotionCodeViewModel>(){
                             SelectData(id = "2", value = "相册")
                         )
                         creatBottomSheetDialog("请选择上传", selectDataList) {
-                            if (this.id == "1"){
+                            if (this.id == "1") {
                                 RxPermissions(this@ApplyPromotionCodeActivity).request(
                                     Manifest.permission.READ_EXTERNAL_STORAGE,
-                                    Manifest.permission.CAMERA)
+                                    Manifest.permission.CAMERA
+                                )
                                     .subscribe { granted ->
                                         if (granted) {//打开相机拍照
-                                            val intent = positiveImageCaptureManager.dispatchTakePictureIntent()
-                                            ActivityUtils.startActivityForResult(this@ApplyPromotionCodeActivity, intent, 101)
+                                            val intent =
+                                                positiveImageCaptureManager.dispatchTakePictureIntent()
+                                            ActivityUtils.startActivityForResult(
+                                                this@ApplyPromotionCodeActivity,
+                                                intent,
+                                                101
+                                            )
                                         }
                                     }
-                            }else if (this.id == "2"){
+                            } else if (this.id == "2") {
                                 PhotoUtils().showPicker(this@ApplyPromotionCodeActivity) {
                                     it.firstOrNull()?.let {
                                         viewModel.loadingDialogStatus.value =
@@ -231,12 +268,15 @@ class ApplyPromotionCodeActivity : BaseActivity<MyPromotionCodeViewModel>(){
                                                             JSON.toJSONString(jsonArray)
                                                         )
                                                         for (i in 0 until jsonArray.length()) {
-                                                            positiveUploadFile =
+                                                            positiveUploadFile.postValue(
                                                                 (jsonArray.get(i) as JSONObject).getString(
                                                                     "filePath"
                                                                 )
-                                                            positiveImageString.value = it
-                                                            LogUtils.e("hidahdashd", positiveUploadFile)
+                                                            )
+                                                            LogUtils.e(
+                                                                "hidahdashd",
+                                                                positiveUploadFile
+                                                            )
                                                         }
                                                     } catch (e: JSONException) {
                                                         e.printStackTrace()
@@ -288,11 +328,11 @@ class ApplyPromotionCodeActivity : BaseActivity<MyPromotionCodeViewModel>(){
                                                 JSON.toJSONString(jsonArray)
                                             )
                                             for (i in 0 until jsonArray.length()) {
-                                                positiveUploadFile =
+                                                positiveUploadFile.postValue(
                                                     (jsonArray.get(i) as JSONObject).getString(
                                                         "filePath"
                                                     )
-                                                positiveImageString.value = it
+                                                )
                                                 LogUtils.e("hidahdashd", positiveUploadFile)
                                             }
                                         } catch (e: JSONException) {
@@ -310,17 +350,21 @@ class ApplyPromotionCodeActivity : BaseActivity<MyPromotionCodeViewModel>(){
                 }.lparams(autoSize(480), autoSize(288))
 
                 imageView {
-                    positiveImageString.bindOptional(context) {
+                    positiveUploadFile.bindOptional(context) {
                         if (it.isNullOrEmpty()) {
                             visibility = View.GONE
                         } else {
                             visibility = View.VISIBLE
-                            setImageURI(Uri.parse(it))
+                            showImage(
+                                SPUtils.getInstance().getString(Constant.openApiUrl) + it.substring(
+                                    1
+                                )
+                            )
                         }
                     }
                     visibility = View.GONE
                     onThrottleFirstClick {
-                        val path = positiveImageString.value.guard {
+                        val path = positiveUploadFile.value.guard {
                             return@onThrottleFirstClick
                         }
                         PhotoUtils().showImageViewer(
@@ -329,10 +373,8 @@ class ApplyPromotionCodeActivity : BaseActivity<MyPromotionCodeViewModel>(){
                             arrayListOf(path)
                         )
                     }
-                }.lparams(autoSize(480), autoSize(288)) {
-                    marginStart = autoSize(250)
-                }
-            }.lparams(matchParent, autoSize(288)){
+                }.lparams(autoSize(480), autoSize(288))
+            }.lparams(matchParent, autoSize(288)) {
                 topMargin = autoSize(40)
             }
 
@@ -340,7 +382,7 @@ class ApplyPromotionCodeActivity : BaseActivity<MyPromotionCodeViewModel>(){
                 gravity = Gravity.CENTER_HORIZONTAL
                 linearLayout {
                     backgroundResource = R.mipmap.qhj_add_positive_idcard
-                    reverseImageString.bindOptional(context) {
+                    reverseUploadFile.bindOptional(context) {
                         visibility = if (it.isNullOrEmpty()) {
                             View.VISIBLE
                         } else {
@@ -349,7 +391,7 @@ class ApplyPromotionCodeActivity : BaseActivity<MyPromotionCodeViewModel>(){
                     }
                     visibility = View.VISIBLE
                     onThrottleFirstClick {
-                        if (reverseImageString.value.isNullOrEmpty().not()){
+                        if (type == "3") {
                             return@onThrottleFirstClick
                         }
 
@@ -358,17 +400,23 @@ class ApplyPromotionCodeActivity : BaseActivity<MyPromotionCodeViewModel>(){
                             SelectData(id = "2", value = "相册")
                         )
                         creatBottomSheetDialog("请选择上传", selectDataList) {
-                            if (this.id == "1"){
+                            if (this.id == "1") {
                                 RxPermissions(this@ApplyPromotionCodeActivity).request(
                                     Manifest.permission.READ_EXTERNAL_STORAGE,
-                                    Manifest.permission.CAMERA)
+                                    Manifest.permission.CAMERA
+                                )
                                     .subscribe { granted ->
                                         if (granted) {//打开相机拍照
-                                            val intent = reverseImageCaptureManager.dispatchTakePictureIntent()
-                                            ActivityUtils.startActivityForResult(this@ApplyPromotionCodeActivity, intent, 102)
+                                            val intent =
+                                                reverseImageCaptureManager.dispatchTakePictureIntent()
+                                            ActivityUtils.startActivityForResult(
+                                                this@ApplyPromotionCodeActivity,
+                                                intent,
+                                                102
+                                            )
                                         }
                                     }
-                            }else if (this.id == "2"){
+                            } else if (this.id == "2") {
                                 PhotoUtils().showPicker(this@ApplyPromotionCodeActivity) {
                                     it.firstOrNull()?.let {
                                         viewModel.loadingDialogStatus.value =
@@ -404,12 +452,15 @@ class ApplyPromotionCodeActivity : BaseActivity<MyPromotionCodeViewModel>(){
                                                             JSON.toJSONString(jsonArray)
                                                         )
                                                         for (i in 0 until jsonArray.length()) {
-                                                            reverseUploadFile =
+                                                            reverseUploadFile.postValue(
                                                                 (jsonArray.get(i) as JSONObject).getString(
                                                                     "filePath"
                                                                 )
-                                                            reverseImageString.value = it
-                                                            LogUtils.e("hidahdashd", reverseUploadFile)
+                                                            )
+                                                            LogUtils.e(
+                                                                "hidahdashd",
+                                                                reverseUploadFile
+                                                            )
                                                         }
                                                     } catch (e: JSONException) {
                                                         e.printStackTrace()
@@ -461,11 +512,11 @@ class ApplyPromotionCodeActivity : BaseActivity<MyPromotionCodeViewModel>(){
                                                 JSON.toJSONString(jsonArray)
                                             )
                                             for (i in 0 until jsonArray.length()) {
-                                                reverseUploadFile =
+                                                reverseUploadFile.postValue(
                                                     (jsonArray.get(i) as JSONObject).getString(
                                                         "filePath"
                                                     )
-                                                reverseImageString.value = it
+                                                )
                                                 LogUtils.e("hidahdashd", reverseUploadFile)
                                             }
                                         } catch (e: JSONException) {
@@ -483,17 +534,21 @@ class ApplyPromotionCodeActivity : BaseActivity<MyPromotionCodeViewModel>(){
                 }.lparams(autoSize(480), autoSize(288))
 
                 imageView {
-                    reverseImageString.bindOptional(context) {
+                    reverseUploadFile.bindOptional(context) {
                         if (it.isNullOrEmpty()) {
                             visibility = View.GONE
                         } else {
                             visibility = View.VISIBLE
-                            setImageURI(Uri.parse(it))
+                            showImage(
+                                SPUtils.getInstance().getString(Constant.openApiUrl) + it.substring(
+                                    1
+                                )
+                            )
                         }
                     }
                     visibility = View.GONE
                     onThrottleFirstClick {
-                        val path = reverseImageString.value.guard {
+                        val path = reverseUploadFile.value.guard {
                             return@onThrottleFirstClick
                         }
                         PhotoUtils().showImageViewer(
@@ -502,13 +557,88 @@ class ApplyPromotionCodeActivity : BaseActivity<MyPromotionCodeViewModel>(){
                             arrayListOf(path)
                         )
                     }
-                }.lparams(autoSize(480), autoSize(288)) {
-                    marginStart = autoSize(250)
-                }
-            }.lparams(matchParent, autoSize(288)){
+                }.lparams(autoSize(480), autoSize(288))
+            }.lparams(matchParent, autoSize(288)) {
                 topMargin = autoSize(40)
             }
+
+            verticalEmptyView()
+
+            linearLayout {
+                if (type == "3"){
+                    visibility = View.GONE
+                }else{
+                    visibility = View.VISIBLE
+                }
+                background = resources.getDrawable(R.color.white)
+                gravity = Gravity.CENTER_VERTICAL
+                textView {
+                    onThrottleFirstClick {
+                        if (type == "1") {
+                            if (check().not()) {
+                                return@onThrottleFirstClick
+                            }
+                            viewModel.customerRefernumOperateReq(
+                                customername = name_edittext.text.toString(),
+                                cardnum = card_number_edittext.text.toString(),
+                                cardfrontphotourl = positiveUploadFile.value ?: "",
+                                cardbackphotourl = reverseUploadFile.value ?: ""
+                            ) {
+                                ToastUtils.showLong("您的推广码申请已提交,请耐心等待审核!")
+                                finish()
+                            }
+                        }else if (type == "2"){
+                            val intent = Intent()
+                            intent.putExtra("type","1")
+                            intent.putExtra("data",BrokerApplyData())
+                            ActivityUtils.startActivity(intent)
+                            finish()
+                        }
+
+                    }
+                    gravity = Gravity.CENTER
+                    backgroundResource = R.mipmap.rma_submit_bg
+                    if (type == "1"){
+                        text = "提交申请"
+                    }else if (type == "2") {
+                        text = "重新申请"
+                    }
+                    textSizeAuto = 38
+                    textColorInt = R.color.white
+                }.lparams(matchParent, autoSize(119)) {
+                    marginStart = autoSize(59)
+                    marginEnd = autoSize(59)
+                }
+
+            }.lparams(matchParent, autoSize(144)) {
+                gravity = Gravity.BOTTOM
+            }
+        }
+    }
+
+    //资料上传前的校验
+    fun check(): Boolean {
+        if (name_edittext.text.isNullOrEmpty()) {
+            ToastUtils.showLong("请输入姓名")
+            return false
+        }
+
+        if (card_number_edittext.text.isNullOrEmpty()) {
+            ToastUtils.showLong("请输入身份证号码")
+            return false
+        }
+
+        if (positiveUploadFile.value.isNullOrEmpty()) {
+            ToastUtils.showLong("请上传证件正面照")
+            return false
         }
+
+        if (reverseUploadFile.value.isNullOrEmpty()) {
+            ToastUtils.showLong("请上传证件反面照")
+            return false
+        }
+
+        return true
     }
 
 }

+ 36 - 0
RMA/app/src/main/java/cn/muchinfo/rma/view/base/main/promotioncode/MyPromotionCodeViewModel.kt

@@ -1,7 +1,11 @@
 package cn.muchinfo.rma.view.base.main.promotioncode
 
 import androidx.lifecycle.MutableLiveData
+import cn.muchinfo.rma.netManage.base.InteractiveException
+import cn.muchinfo.rma.view.MyApplication
 import cn.muchinfo.rma.view.base.BaseViewModel
+import kotlinx.coroutines.GlobalScope
+import kotlinx.coroutines.launch
 import mtp.polymer.com.autowidget.utils.TaskUiModel
 
 /**
@@ -14,4 +18,36 @@ class MyPromotionCodeViewModel : BaseViewModel(){
      */
     val loadingDialogStatus: MutableLiveData<TaskUiModel> = MutableLiveData()
 
+
+    fun customerRefernumOperateReq(
+        customername : String,//姓名
+        cardnum : String,//身份证号码
+        cardfrontphotourl : String,//身份证正面照片
+        cardbackphotourl : String,//身份证反面照片
+        isSuccess: (isCompleted: Boolean) -> Unit
+    ){
+        loadingDialogStatus.value = TaskUiModel.inFlight()
+        GlobalScope.launch {
+            MyApplication.getInstance()?.commonManager?.customerRefernumOperateReq(
+                customername = customername,
+                cardnum = cardnum,
+                cardfrontphotourl = cardfrontphotourl,
+                cardbackphotourl = cardbackphotourl
+            ) { isCompleted, err ->
+                if (isCompleted) {
+                    loadingDialogStatus.postValue(TaskUiModel.success(msg = "请求成功"))
+                    isSuccess(true)
+                } else {
+                    loadingDialogStatus.postValue(
+                        TaskUiModel.failed(
+                            InteractiveException(
+                                errorMessage = err?.message!!
+                            )
+                        )
+                    )
+                }
+            }
+        }
+    }
+
 }

+ 21 - 0
RMA/app/src/main/java/cn/muchinfo/rma/view/base/main/reward/MyRewardViewModel.kt

@@ -2,6 +2,7 @@ package cn.muchinfo.rma.view.base.main.reward
 
 import androidx.lifecycle.MutableLiveData
 import cn.muchinfo.rma.global.GlobalDataCollection
+import cn.muchinfo.rma.global.data.AreaFinanceConfigData
 import cn.muchinfo.rma.global.data.BrokerRewardLogData
 import cn.muchinfo.rma.view.MyApplication
 import cn.muchinfo.rma.view.base.BaseViewModel
@@ -23,6 +24,11 @@ class MyRewardViewModel : BaseViewModel(){
     val rewardDataList : MutableLiveData<List<BrokerRewardLogData>> = MutableLiveData()
 
     /**
+     * 企业配置信息
+     */
+    val areaFinanceConfigData : MutableLiveData<List<AreaFinanceConfigData>> = MutableLiveData()
+
+    /**
      * 查询我的奖励
      */
     fun queryRewardList(begindate : String = "",enddate : String = ""){
@@ -43,4 +49,19 @@ class MyRewardViewModel : BaseViewModel(){
         }
     }
 
+    /**
+     * 企业配置
+     */
+    fun queryAreaFinanceConfig(){
+        val params = mutableMapOf<String,String>().apply {
+            put("userid",GlobalDataCollection.instance?.loginRsp?.userID.toString())
+        }
+
+        MyApplication.getInstance()?.accountManager?.queryAreaFinanceConfig(params = params){isSuccess, respData, error ->
+            if (isSuccess){
+                areaFinanceConfigData.postValue(respData)
+            }
+        }
+    }
+
 }

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

@@ -3,6 +3,7 @@ package cn.muchinfo.rma.view.base.main.reward
 import android.os.Bundle
 import android.view.Gravity
 import cn.muchinfo.rma.R
+import cn.muchinfo.rma.lifecycle.bindOptional
 import cn.muchinfo.rma.view.autoWidget.*
 import cn.muchinfo.rma.view.base.BaseActivity
 import org.jetbrains.anko.*
@@ -17,6 +18,7 @@ class RewardRuleActivity : BaseActivity<MyRewardViewModel>(){
     override fun onCreate(savedInstanceState: Bundle?) {
         super.onCreate(savedInstanceState)
         verticalLayout {
+            viewModel.queryAreaFinanceConfig()
             background = resources.getDrawable(R.color.white)
             //页面标题
             topBar {
@@ -61,7 +63,12 @@ class RewardRuleActivity : BaseActivity<MyRewardViewModel>(){
                 linearLayout {
                     gravity = Gravity.CENTER
                     textView {
-                        text = "一级奖励"
+                        viewModel.areaFinanceConfigData.bindOptional(context){data ->
+                            val data = data?.find { it?.consumptionmodel == "1" }
+                            if (data?.consumptiondirectreward.isNullOrEmpty().not()){
+                                text = data?.consumptiondirectreward
+                            }
+                        }
                         textSizeAuto = 31
                         textColorInt = R.color.rma_blue_color
                     }.lparams(wrapContent, wrapContent)
@@ -74,7 +81,12 @@ class RewardRuleActivity : BaseActivity<MyRewardViewModel>(){
                 linearLayout {
                     gravity = Gravity.CENTER
                     textView {
-                        text = "二级奖励"
+                        viewModel.areaFinanceConfigData.bindOptional(context){data ->
+                            val data = data?.find { it?.consumptionmodel == "1" }
+                            if (data?.consumptionindirectreward.isNullOrEmpty().not()){
+                                text = data?.consumptionindirectreward
+                            }
+                        }
                         textSizeAuto = 31
                         textColorInt = R.color.rma_blue_color
                     }.lparams(wrapContent, wrapContent)
@@ -131,7 +143,12 @@ class RewardRuleActivity : BaseActivity<MyRewardViewModel>(){
                 linearLayout {
                     gravity = Gravity.CENTER
                     textView {
-                        text = "5.00"
+                        viewModel.areaFinanceConfigData.bindOptional(context){data ->
+                            val data = data?.find { it?.consumptionmodel == "2" }
+                            if (data?.promotionvalue.isNullOrEmpty().not()){
+                                text = data?.consumptiondirectreward
+                            }
+                        }
                         textSizeAuto = 31
                         textColorInt = R.color.rma_blue_color
                     }.lparams(wrapContent, wrapContent)

+ 8 - 2
RMA/app/src/main/java/cn/muchinfo/rma/view/base/platinumtreasure/trade/DealViewHolder.kt

@@ -123,8 +123,14 @@ class DealViewHolder(
                     textView {
                         data.bindOptional(context) {
                             if (it?.buyorsell == "0") {
-                                text =  "买入"
-                                textColorInt = R.color.rma_red_color
+                                if (it?.tradetype == "27"){
+                                    text =  "融资买入"
+                                    textColorInt = R.color.rma_red_color
+                                }else{
+                                    text =  "买入"
+                                    textColorInt = R.color.rma_red_color
+                                }
+
                             } else {
                                 text =  "卖出"
                                 textColorInt = R.color.rma_green_color

+ 1 - 5
RMA/app/src/main/java/cn/muchinfo/rma/view/base/procurement/ContractDetailActivity.kt

@@ -300,11 +300,7 @@ class ContractDetailsUI(
                         "销售方"
                     } else {
                         "采购方"
-                    },content =  if (data.contracttype == "1") {
-                        data.sellusername ?: "--"
-                    } else {
-                        data.buyusername ?: "--"
-                    }
+                    },content =  data.accountname?.isBlankString() ?: "--"
                 ),
                 ContractDetailsData(title = "业务类型",content = if (data.biztype == "1"){
                     "套保"

+ 33 - 0
RMA/app/src/main/java/cn/muchinfo/rma/view/base/procurement/ProcurementFragment.kt

@@ -14,12 +14,17 @@ import cn.muchinfo.rma.lifecycle.bindOptional
 import cn.muchinfo.rma.view.autoWidget.*
 import cn.muchinfo.rma.view.base.BaseFragment
 import cn.muchinfo.rma.view.base.app.Constant
+import cn.muchinfo.rma.view.eventbus.EventConstent
+import cn.muchinfo.rma.view.eventbus.MessageEvent
 import com.blankj.utilcode.util.ConvertUtils
 import com.blankj.utilcode.util.LogUtils
 import com.blankj.utilcode.util.SizeUtils
 import com.qmuiteam.qmui.util.QMUIDisplayHelper
 import com.qmuiteam.qmui.widget.tab.QMUITabIndicator
 import com.qmuiteam.qmui.widget.tab.QMUITabSegment
+import org.greenrobot.eventbus.EventBus
+import org.greenrobot.eventbus.Subscribe
+import org.greenrobot.eventbus.ThreadMode
 import org.jetbrains.anko.*
 import org.jetbrains.anko.support.v4.UI
 import org.jetbrains.anko.support.v4.viewPager
@@ -89,11 +94,27 @@ class ProcurementFragment : BaseFragment<ProcurementViewModel>() {
 
     }
 
+    //通用的消息更新通知
+    @Subscribe(threadMode = ThreadMode.MAIN)
+    fun onMessageEvent(messageEvent : MessageEvent) {
+        if (messageEvent.messageType == EventConstent.get_useraccount_info){//接到通知更新当前的查询请求
+            priceUI.refresh()
+            settlementUI.refresh()
+            allUI.refresh()
+        }
+    }
+
+    override fun onDestroy() {
+        super.onDestroy()
+        EventBus.getDefault().unregister(this)
+    }
+
     override fun onCreateView(
         inflater: LayoutInflater,
         container: ViewGroup?,
         savedInstanceState: Bundle?
     ): View? {
+        EventBus.getDefault().register(this)
         initMenuData()
         return UI {
             verticalLayout {
@@ -167,6 +188,10 @@ class PriceUI(private val baseFragment: Fragment, private val viewModule: Procur
     lateinit var horScrollview: CustomHorizontalScrollView
     lateinit var recyclerView: RecyclerView
 
+    fun refresh(){
+        viewModule.queryContract("2","1")
+    }
+
     val topAdapter by lazy {
         TopTabAdpater(baseFragment.context)
     }
@@ -330,6 +355,10 @@ class SettlementUI(
     lateinit var horScrollview: CustomHorizontalScrollView
     lateinit var recyclerView: RecyclerView
 
+    fun refresh(){
+        viewModule.queryContract("3","1")
+    }
+
     val topAdapter by lazy {
         TopTabAdpater(baseFragment.context)
     }
@@ -483,6 +512,10 @@ class newAllUI(private val baseFragment: Fragment, private val viewModule: Procu
     lateinit var horScrollview: CustomHorizontalScrollView
     lateinit var recyclerView: RecyclerView
 
+    fun refresh(){
+        viewModule.queryContract("1","1")
+    }
+
     val topAdapter by lazy {
         TopTabAdpater(baseFragment.context)
     }

+ 35 - 0
RMA/app/src/main/java/cn/muchinfo/rma/view/base/sale/SaleFragment.kt

@@ -14,11 +14,16 @@ import cn.muchinfo.rma.view.autoWidget.*
 import cn.muchinfo.rma.view.base.BaseFragment
 import cn.muchinfo.rma.view.base.app.Constant
 import cn.muchinfo.rma.view.base.procurement.*
+import cn.muchinfo.rma.view.eventbus.EventConstent
+import cn.muchinfo.rma.view.eventbus.MessageEvent
 import com.blankj.utilcode.util.ConvertUtils
 import com.blankj.utilcode.util.SizeUtils
 import com.qmuiteam.qmui.util.QMUIDisplayHelper
 import com.qmuiteam.qmui.widget.tab.QMUITabIndicator
 import com.qmuiteam.qmui.widget.tab.QMUITabSegment
+import org.greenrobot.eventbus.EventBus
+import org.greenrobot.eventbus.Subscribe
+import org.greenrobot.eventbus.ThreadMode
 import org.jetbrains.anko.*
 import org.jetbrains.anko.support.v4.UI
 import org.jetbrains.anko.support.v4.viewPager
@@ -77,11 +82,27 @@ class SaleFragment : BaseFragment<SaleViewModel>() {
         }
     }
 
+     //通用的消息更新通知
+    @Subscribe(threadMode = ThreadMode.MAIN)
+    fun onMessageEvent(messageEvent : MessageEvent) {
+        if (messageEvent.messageType == EventConstent.get_useraccount_info){//接到通知更新当前的查询请求
+            priceUI.refresh()
+            settlementUI.refresh()
+            allUI.refresh()
+        }
+    }
+
+    override fun onDestroy() {
+        super.onDestroy()
+        EventBus.getDefault().unregister(this)
+    }
+
     override fun onCreateView(
         inflater: LayoutInflater,
         container: ViewGroup?,
         savedInstanceState: Bundle?
     ): View? {
+        EventBus.getDefault().register(this)
         return UI {
             verticalLayout {
                 linearLayout {
@@ -155,6 +176,10 @@ class SalePriceUI(private val baseFragment: Fragment, private val viewModule: Sa
     lateinit var horScrollview: CustomHorizontalScrollView
     lateinit var recyclerView: RecyclerView
 
+    fun refresh(){
+        viewModule.queryContract("2","-1")
+    }
+
     val topAdapter by lazy {
         TopTabAdpater(baseFragment.context)
     }
@@ -303,6 +328,11 @@ class SaleSettlementUI(
     lateinit var horScrollview: CustomHorizontalScrollView
     lateinit var recyclerView: RecyclerView
 
+    fun refresh(){
+        viewModule.queryContract("3","-1")
+    }
+
+
     val topAdapter by lazy {
         TopTabAdpater(baseFragment.context)
     }
@@ -454,6 +484,11 @@ class SalenewAllUI(private val baseFragment: Fragment, private val viewModule: S
     lateinit var horScrollview: CustomHorizontalScrollView
     lateinit var recyclerView: RecyclerView
 
+    fun refresh(){
+        viewModule.queryContract("1","-1")
+    }
+
+
     val topAdapter by lazy {
         TopTabAdpater(baseFragment.context)
     }

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

@@ -139,7 +139,7 @@ class SaleViewModel : BaseViewModel(){
         val newList = arrayListOf<ContractData>()
         respData.forEach {
             val newRightData = arrayListOf<String>()
-            newRightData.add(it.deliverygoodsname + "\n" + it.spotgoodsdesc)
+            newRightData.add(it.deliverygoodsname + "\n" + it.wrstandardname)
             newRightData.add(it.goodsname?.isBlankString() + "\n" + it.pricemove)
             newRightData.add(it.qty+ it.enumdicname + "\n" + it.unpricedqty+ it.enumdicname)
             newRightData.add(it.pricedqty+ it.enumdicname + "\n" + it.unsureqty+ it.enumdicname)

+ 5 - 0
RMA/app/src/main/java/cn/muchinfo/rma/view/eventbus/EventConstent.kt

@@ -31,4 +31,9 @@ object EventConstent {
      * 头寸变化通知
      */
     const val FID_PosChangedNtf = "FID_PosChangedNtf"
+
+    /**
+     * 获取用户基本信息
+     */
+    const val get_useraccount_info = "get_useraccount_info"
 }

+ 7 - 0
RMA/app/src/main/res/drawable/qhj_main_can_recommended_bg.xml

@@ -0,0 +1,7 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<shape
+    xmlns:android="http://schemas.android.com/apk/res/android">
+    <solid android:color="#2794FF"/>
+    <corners android:topLeftRadius="100px"
+        android:bottomLeftRadius="100px"/>
+</shape>