Sfoglia il codice sorgente

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

Liu.bolan 4 anni fa
parent
commit
4c23fc3b3b
28 ha cambiato i file con 582 aggiunte e 239 eliminazioni
  1. 7 2
      RMA/app/src/main/java/cn/muchinfo/rma/business/contractgoods/adapter/ContractGoodsAdapter.kt
  2. 2 1
      RMA/app/src/main/java/cn/muchinfo/rma/business/money/MoneyManager.kt
  3. 10 2
      RMA/app/src/main/java/cn/muchinfo/rma/business/money/adapter/MoneyAdapter.kt
  4. 20 20
      RMA/app/src/main/java/cn/muchinfo/rma/business/quote/adapter/QuoteAdapter.kt
  5. 17 0
      RMA/app/src/main/java/cn/muchinfo/rma/global/BaseGlobalData.java
  6. 6 0
      RMA/app/src/main/java/cn/muchinfo/rma/global/data/QhjContractDetailsData.kt
  7. 1 0
      RMA/app/src/main/java/cn/muchinfo/rma/netManage/utils/MyOkHttpUtils.kt
  8. 9 0
      RMA/app/src/main/java/cn/muchinfo/rma/protobuf/funcode/FunCode.java
  9. 112 112
      RMA/app/src/main/java/cn/muchinfo/rma/protobuf/protoclasses/TkernelMI1.java
  10. 6 3
      RMA/app/src/main/java/cn/muchinfo/rma/view/MainActivity.kt
  11. 2 1
      RMA/app/src/main/java/cn/muchinfo/rma/view/MainViewModel.kt
  12. 3 1
      RMA/app/src/main/java/cn/muchinfo/rma/view/base/app/Constant.kt
  13. 27 27
      RMA/app/src/main/java/cn/muchinfo/rma/view/base/main/PayActivity.kt
  14. 3 1
      RMA/app/src/main/java/cn/muchinfo/rma/view/base/main/PayViewModel.kt
  15. 21 4
      RMA/app/src/main/java/cn/muchinfo/rma/view/base/main/SeaKingMainFragment.kt
  16. 77 8
      RMA/app/src/main/java/cn/muchinfo/rma/view/base/main/castsurely/AddCastSurelyActivity.kt
  17. 3 0
      RMA/app/src/main/java/cn/muchinfo/rma/view/base/main/castsurely/CastSurelyDetailsActivity.kt
  18. 62 0
      RMA/app/src/main/java/cn/muchinfo/rma/view/base/main/castsurely/MyCastSurelyViewModel.kt
  19. 54 0
      RMA/app/src/main/java/cn/muchinfo/rma/view/base/platinumtreasure/PlatinumTrasureDetailsActivity.kt
  20. 8 0
      RMA/app/src/main/java/cn/muchinfo/rma/view/base/platinumtreasure/PlatinumTreasureViewModel.kt
  21. 4 2
      RMA/app/src/main/java/cn/muchinfo/rma/view/base/platinumtreasure/adapter/PlatnumTreasureAdapter.java
  22. 38 3
      RMA/app/src/main/java/cn/muchinfo/rma/view/base/platinumtreasure/trade/FinancialViewHolder.kt
  23. 2 1
      RMA/app/src/main/java/cn/muchinfo/rma/view/base/platinumtreasure/trade/MoneyFlowingVIewHolder.kt
  24. 2 1
      RMA/app/src/main/java/cn/muchinfo/rma/view/base/platinumtreasure/trade/NoPayViewHolder.kt
  25. 37 20
      RMA/app/src/main/java/cn/muchinfo/rma/view/base/platinumtreasure/trade/PlatinumBuyOrSellUI.kt
  26. 20 1
      RMA/app/src/main/java/cn/muchinfo/rma/view/base/platinumtreasure/trade/PlatinumTradeActivity.kt
  27. 9 2
      RMA/app/src/main/java/cn/muchinfo/rma/view/base/platinumtreasure/trade/PlatinumTradeViewModel.kt
  28. 20 27
      RMA/app/src/main/java/cn/muchinfo/rma/view/base/qhjhome/QhjHomeFragment.kt

+ 7 - 2
RMA/app/src/main/java/cn/muchinfo/rma/business/contractgoods/adapter/ContractGoodsAdapter.kt

@@ -120,7 +120,7 @@ object ContractGoodsAdapter {
         builder.receiveInfoID = data.receiveInfoID
         builder.marketMaxSub = data.marketMaxSub
         builder.operateType = data.operateType
-        builder.operatorID = loginInfo.userID.toLong()
+        builder.operatorID = loginInfo.loginID
         if (data.validTime.isNotEmpty()){
             builder.validTime = data.validTime
         }
@@ -139,8 +139,13 @@ object ContractGoodsAdapter {
             builder.relatedID = data.relatedID
         }
         builder.clientOrderTime = TimeUtils.getNowString()
+        builder.orderFlag = data.orderFlag
+        if (data.orderFlag == 1){
+            builder.orderQty = data.orderQty
+        }else{
+            builder.orderAmount = data.orderAmount
+        }
 
-        builder.orderQty = data.orderQty
         if (data.optionType != 0){
             builder.optionType = data.optionType
         }

+ 2 - 1
RMA/app/src/main/java/cn/muchinfo/rma/business/money/MoneyManager.kt

@@ -32,6 +32,7 @@ class MoneyManager {
         tradeID : Long,
         goodsInfo: GoodsInfo,
         accountid : Long,
+        payType : Int,
         callback: (isCompleted: Boolean, err: Error?) -> Unit
     ){
         val tradeSocketManager = MyApplication.getInstance()?.tradeSocketManager.guard {
@@ -40,7 +41,7 @@ class MoneyManager {
         }
 
         val reqPacket = MoneyAdapter.getBalancePaymentReqInfo(
-             tradeID,goodsInfo,accountid
+             tradeID,goodsInfo,accountid,payType
         )
 
         tradeSocketManager.send(

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

@@ -18,6 +18,13 @@ import java.util.*
 object MoneyAdapter {
 
 
+    fun getT2bBankDepositReqInfo(
+
+    ){
+
+    }
+
+
 //    fun getGoodsPickupApplyReqInfo(
 //        AccountID : Long,
 //        GoodsID : Int,
@@ -43,7 +50,8 @@ object MoneyAdapter {
     fun getBalancePaymentReqInfo(
         tradeID : Long,
         goodsInfo: GoodsInfo,
-        accountID : Long
+        accountID : Long,
+        payType : Int
     ) : Packet50{
         val builder = TkernelMI1.BalancePaymentReq.newBuilder()
         val loginInfo = GlobalDataCollection.instance?.loginRsp!!
@@ -57,7 +65,7 @@ object MoneyAdapter {
                 goodsInfo.marketid
             )
         )
-
+        builder.payType = payType
         builder.tradeID = tradeID
         builder.accountID = accountID
         builder.clientTicket = UUID.randomUUID().toString().replace("-", "")

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

@@ -194,64 +194,64 @@ class QuoteAdapter {
                 0x36 -> {
                     goodsQuoteTik["limitlow"] = value
                 }
-                'l'.toInt() -> {
+                'L'.toInt() -> {
                     goodsQuoteTik["ask"] = value
                 }
-                'm'.toInt() -> {
+                'M'.toInt() -> {
                     goodsQuoteTik["ask2"] = value
                 }
-                'n'.toInt() -> {
+                'N'.toInt() -> {
                     goodsQuoteTik["ask3"] = value
                 }
-                'o'.toInt() -> {
+                'O'.toInt() -> {
                     goodsQuoteTik["ask4"] = value
                 }
-                'p'.toInt() -> {
+                'P'.toInt() -> {
                     goodsQuoteTik["ask5"] = value
                 }
-                'q'.toInt() -> {
+                'Q'.toInt() -> {
                     goodsQuoteTik["askvolume"] = value
                 }
-                'r'.toInt() -> {
+                'R'.toInt() -> {
                     goodsQuoteTik["askvolume2"] = value
                 }
-                's'.toInt() -> {
+                'S'.toInt() -> {
                     goodsQuoteTik["askvolume3"] = value
                 }
-                't'.toInt() -> {
+                'T'.toInt() -> {
                     goodsQuoteTik["askvolume4"] = value
                 }
-                'u'.toInt() -> {
+                'U'.toInt() -> {
                     goodsQuoteTik["askvolume5"] = value
                 }
-                'b'.toInt() -> {
+                'B'.toInt() -> {
                     goodsQuoteTik["bid"] = value
                 }
-                'c'.toInt() -> {
+                'C'.toInt() -> {
                     goodsQuoteTik["bid2"] = value
                 }
-                'd'.toInt() -> {
+                'D'.toInt() -> {
                     goodsQuoteTik["bid3"] = value
                 }
-                'e'.toInt() -> {
+                'E'.toInt() -> {
                     goodsQuoteTik["bid4"] = value
                 }
-                'f'.toInt() -> {
+                'F'.toInt() -> {
                     goodsQuoteTik["bid5"] = value
                 }
-                'g'.toInt() -> {
+                'G'.toInt() -> {
                     goodsQuoteTik["bidvolume"] = value
                 }
-                'h'.toInt() -> {
+                'H'.toInt() -> {
                     goodsQuoteTik["bidvolume2"] = value
                 }
-                'i'.toInt() -> {
+                'I'.toInt() -> {
                     goodsQuoteTik["bidvolume3"] = value
                 }
-                'j'.toInt() -> {
+                'J'.toInt() -> {
                     goodsQuoteTik["bidvolume4"] = value
                 }
-                'k'.toInt() -> {
+                'K'.toInt() -> {
                     goodsQuoteTik["bidvolume5"] = value
                 }
                 ','.toInt() -> {

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

@@ -10,6 +10,7 @@ import cn.muchinfo.rma.global.data.ErmcpRoleFuncMenuData;
 import cn.muchinfo.rma.global.data.FutureDetailsData;
 import cn.muchinfo.rma.global.data.GoodsExInfoData;
 import cn.muchinfo.rma.global.data.GoodsInfoAndQuotes;
+import cn.muchinfo.rma.global.data.RStrategyData;
 import cn.muchinfo.rma.global.data.UserAccountData;
 import cn.muchinfo.rma.global.data.account.LoginQueryData;
 import cn.muchinfo.rma.global.data.account.loginQeruy.GoodsInfo;
@@ -101,6 +102,22 @@ public class BaseGlobalData {
      */
     private ArrayList<GoodsExInfoData> goodsExInfoDataArrayList;
 
+    /**
+     * 暂存的我的定投列表
+     * @return
+     */
+    private ArrayList<RStrategyData> rStrategyDataArrayList;
+
+    public ArrayList<RStrategyData> getrStrategyDataArrayList() {
+        if (rStrategyDataArrayList == null){
+            rStrategyDataArrayList = new ArrayList<>();
+        }
+        return rStrategyDataArrayList;
+    }
+
+    public void setrStrategyDataArrayList(ArrayList<RStrategyData> rStrategyDataArrayList) {
+        this.rStrategyDataArrayList = rStrategyDataArrayList;
+    }
 
     public ArrayList<GoodsExInfoData> getGoodsExInfoDataArrayList() {
         if (goodsExInfoDataArrayList == null){

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

@@ -8,6 +8,8 @@ import android.os.Parcelable
  */
 data class QhjContractDetailsData(
     val contractconfirmtime : String? = "",//合同确认时间(时间)
+    val currisklevel : String? = "",//风险级别 - 1:正常 2:追加货款 3:支付尾款
+    val reckonrecovermargin : String? = "",//结算应追缴保底金(结算时到过风险率时临时存储) - [仓单回购\仓单质押]
     val enumdicname : String? = "",//单位名称
     val goodscode : String? = "",//商品代码
     val goodsid : String? = "",//商品ID [5:融资单]
@@ -57,6 +59,8 @@ data class QhjContractDetailsData(
         parcel.readString(),
         parcel.readString(),
         parcel.readString(),
+        parcel.readString(),
+        parcel.readString(),
         parcel.readInt(),
         parcel.readString()
     ) {
@@ -64,6 +68,8 @@ data class QhjContractDetailsData(
 
     override fun writeToParcel(parcel: Parcel, flags: Int) {
         parcel.writeString(contractconfirmtime)
+        parcel.writeString(currisklevel)
+        parcel.writeString(reckonrecovermargin)
         parcel.writeString(enumdicname)
         parcel.writeString(goodscode)
         parcel.writeString(goodsid)

+ 1 - 0
RMA/app/src/main/java/cn/muchinfo/rma/netManage/utils/MyOkHttpUtils.kt

@@ -55,6 +55,7 @@ class MyOkHttpUtils {
         }
         when (type) {
             "1" -> {
+                LogUtils.eTag("dasdjhasdkjshakjds",params)
                 queryGet(URL = URL, params = params, callback = callback)
             }
             "2" -> {

+ 9 - 0
RMA/app/src/main/java/cn/muchinfo/rma/protobuf/funcode/FunCode.java

@@ -258,6 +258,15 @@ public class FunCode {
     //客户推广码申请操作响应
     public static final int FID_CustomerRefernumOperateRsp = 1900727;
 
+    //出金请求
+    public static final int FID_t2bBankWithdrawReq = 589837;
+    //出金应答
+    public static final int FID_t2bBankWithdrawRsp = 589838;
+
+    //入金请求
+    public static final int FID_t2bBankDepositReq = 589843;
+    //入金应答
+    public static final int FID_t2bBankDepositRsp = 589844;
 
     /**
      * 交易委托请求(196639)

File diff suppressed because it is too large
+ 112 - 112
RMA/app/src/main/java/cn/muchinfo/rma/protobuf/protoclasses/TkernelMI1.java


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

@@ -129,7 +129,9 @@ class MainActivity : BaseActivity<MainViewModel>() {
      * 初始化数据请求
      */
     fun initQuery() {
-        viewModel.initiaData()
+        viewModel.initiaData(){//获取资金账号成功后即发出通知
+            EventBus.getDefault().post(MessageEvent(EventConstent.USERACCOUNTCHANGE))
+        }
     }
 
     fun initFragmentData() {
@@ -206,7 +208,6 @@ class MainActivity : BaseActivity<MainViewModel>() {
     override fun onCreate(savedInstanceState: Bundle?) {
         super.onCreate(savedInstanceState)
         Fresco.initialize(this)
-
         EventBus.getDefault().register(this)
         initFragmentData()
         verticalLayout {
@@ -218,7 +219,9 @@ class MainActivity : BaseActivity<MainViewModel>() {
                         setTitle("温馨提示")
                         setMessage("数据初始化失败")
                         addAction("重新加载") { dialog, _ ->
-                            viewModel.initiaData()
+                            viewModel.initiaData(){
+                                EventBus.getDefault().post(MessageEvent(EventConstent.USERACCOUNTCHANGE))
+                            }
                             dialog.dismiss()
                         }
                         addAction("重新登陆") { dialog, _ ->

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

@@ -31,7 +31,7 @@ class MainViewModel : BaseViewModel() {
      * 初始化数据
      */
     // FIXME 这里后期需要加上错误信息和枚举的增量查询
-    fun initiaData() {
+    fun initiaData(isSuccess: (isCompleted: Boolean) -> Unit) {
         loadingDialogStatus.postValue(TaskUiModel.inFlight(msg = "数据初始化中..."))
         var canContinue = false
         // 获取资金账户
@@ -45,6 +45,7 @@ class MainViewModel : BaseViewModel() {
                 if (isSuccess) {
                     GlobalDataCollection.instance?.accountDataList = respData
                     getUserAccount()//请求成功就继续请求用户账号信息
+                    isSuccess(true)
                 } else {
                     loadingDialogStatus.postValue(TaskUiModel.idel())
                 }

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

@@ -10,12 +10,14 @@ 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"//李倩千海金
 //      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"// 瑶姐 千海金
 //    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"// 邓工
 
-     const val baseurl = "http://192.168.31.176:8080/cfg?key=test_176" // 9999  123123  黄老板千海金
+//     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.21.71:8280/cfg?key=mtp_20"
 

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

@@ -35,6 +35,9 @@ import org.jetbrains.anko.*
  */
 class PayActivity : BaseActivity<PayViewModel>() {
 
+    //用于余额支付时,传入后台的状态,// uint32 支付类型 - 1:成交支付 2:尾款支付
+    val paytype by lazy { intent.getStringExtra("paytype") }
+
     private val dialog by lazy { createLoadingDialog(hintStr = "请求中...") }
 
 //    val tradepaydata by lazy { intent.getParcelableExtra<PayOrderData>("tradepaydata") as PayOrderData }
@@ -141,29 +144,11 @@ class PayActivity : BaseActivity<PayViewModel>() {
 
                     inflateLayout<CountdownView>(R.layout.view_countdowntime) {
                         viewModel.systemTime.bindOptional(context) {
-                            if (orderId.isNullOrEmpty()) {
-                                val paylimitedtime = com.blankj.utilcode.util.TimeUtils.date2Millis(
-                                    TimeUtils.stringToDate(
-                                        paylimitedtime,
-                                        "yyyy-MM-dd HH:mm:ss"
-                                    )
-                                )
-                                val nowTime = com.blankj.utilcode.util.TimeUtils.date2Millis(
-                                    TimeUtils.stringToDate(
-                                        it,
-                                        "yyyy-MM-dd HH:mm:ss"
-                                    )
-                                )
-                                val datas = (paylimitedtime - nowTime).div(86400000).toInt()
-//                            if (datas > 0){
-//                                timeText.text = "支付剩余时间   " + datas + "天"
-//                            }
-                                start(paylimitedtime - nowTime)
-                            } else {
-                                if (viewModel.lookingforInfo.value?.paylimitedtime?.isNotEmpty() == true) {
+                            if (paylimitedtime.isNullOrEmpty().not()){
+                                if (orderId.isNullOrEmpty()) {
                                     val paylimitedtime = com.blankj.utilcode.util.TimeUtils.date2Millis(
                                         TimeUtils.stringToDate(
-                                            TimeUtils.covnDate(viewModel.lookingforInfo.value?.paylimitedtime),
+                                            paylimitedtime,
                                             "yyyy-MM-dd HH:mm:ss"
                                         )
                                     )
@@ -173,13 +158,26 @@ class PayActivity : BaseActivity<PayViewModel>() {
                                             "yyyy-MM-dd HH:mm:ss"
                                         )
                                     )
-                                    val datas = (paylimitedtime - nowTime).div(86400000).toInt()
-//                                if (datas > 0){
-//                                    timeText.text = "支付剩余时间   " + datas + "天"
-//                                }
                                     start(paylimitedtime - nowTime)
+                                } else {
+                                    if (viewModel.lookingforInfo.value?.paylimitedtime?.isNotEmpty() == true) {
+                                        val paylimitedtime = com.blankj.utilcode.util.TimeUtils.date2Millis(
+                                            TimeUtils.stringToDate(
+                                                TimeUtils.covnDate(viewModel.lookingforInfo.value?.paylimitedtime),
+                                                "yyyy-MM-dd HH:mm:ss"
+                                            )
+                                        )
+                                        val nowTime = com.blankj.utilcode.util.TimeUtils.date2Millis(
+                                            TimeUtils.stringToDate(
+                                                it,
+                                                "yyyy-MM-dd HH:mm:ss"
+                                            )
+                                        )
+                                        start(paylimitedtime - nowTime)
+                                    }
                                 }
                             }
+
                         }
                     }.lparams(wrapContent, wrapContent) {
                         marginEnd = autoSize(36)
@@ -381,7 +379,8 @@ class PayActivity : BaseActivity<PayViewModel>() {
                                 viewModel.balancePaymentReq(
                                     accountid = GlobalDataCollection.instance?.accountId ?: 0,
                                     tradeID = orderNo?.toLong() ?: 0,
-                                    goodsInfo = goodsInfo
+                                    goodsInfo = goodsInfo,
+                                    payType = paytype?.toInt() ?: 1
                                 ) {
                                     ToastUtils.showLong("支付成功")
                                     finish()
@@ -407,7 +406,8 @@ class PayActivity : BaseActivity<PayViewModel>() {
                                         accountid = GlobalDataCollection.instance?.accountId ?: 0,
                                         tradeID = viewModel.lookingforInfo.value?.tradeid?.toLong()
                                             ?: 0,
-                                        goodsInfo = goodsInfo
+                                        goodsInfo = goodsInfo,
+                                        payType = paytype?.toInt() ?: 1
                                     ) {
                                         ToastUtils.showLong("支付成功")
                                         finish()

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

@@ -89,6 +89,7 @@ class PayViewModel : BaseViewModel(){
         accountid : Long,
         tradeID : Long,
         goodsInfo: GoodsInfo,
+        payType : Int,
         isSuccess: (isCompleted: Boolean) -> Unit
     ){
         loadingDialogStatus.value = TaskUiModel.inFlight()
@@ -96,7 +97,8 @@ class PayViewModel : BaseViewModel(){
             MyApplication.getInstance()?.moneyManager?.balancePaymentReq(
                 accountid = accountid,
                 tradeID = tradeID,
-                goodsInfo = goodsInfo
+                goodsInfo = goodsInfo,
+                payType = payType
             ) { isCompleted, err ->
                 if (isCompleted) {
                     loadingDialogStatus.postValue(TaskUiModel.success(msg = "请求成功"))

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

@@ -27,6 +27,7 @@ import cn.muchinfo.rma.view.base.main.withdrawmanagement.WithdrawalActivity
 import cn.muchinfo.rma.view.base.platinumtreasure.activity.PlatinumCancellationsActivity
 import cn.muchinfo.rma.view.base.platinumtreasure.activity.PlatnumDealActivty
 import cn.muchinfo.rma.view.base.platinumtreasure.activity.PlatnumMoneyActivity
+import cn.muchinfo.rma.view.base.platinumtreasure.trade.PlatinumTradeActivity
 import com.blankj.utilcode.util.ActivityUtils
 import com.blankj.utilcode.util.ToastUtils
 
@@ -93,7 +94,7 @@ class SeaKingMainFragment : BaseFragment<SeaKingMainViewModel>() {
                                     verticalLayout {
                                         textView {
                                             text =
-                                                GlobalDataCollection.instance?.loginQueryData?.username?.isBlankString()
+                                                GlobalDataCollection.instance?.loginRsp?.loginCode?.isBlankString()
                                             textSizeAuto = 36
                                             textColorInt = R.color.rma_black_33
                                         }.lparams(wrapContent, wrapContent) {
@@ -101,6 +102,7 @@ class SeaKingMainFragment : BaseFragment<SeaKingMainViewModel>() {
                                             marginStart = autoSize(32)
                                         }
                                         textView {
+                                            visibility = View.GONE
                                             text =
                                                 GlobalDataCollection.instance?.loginRsp?.loginCode
                                             textSizeAuto = 31
@@ -309,9 +311,12 @@ class SeaKingMainFragment : BaseFragment<SeaKingMainViewModel>() {
                             verticalLayout {
                                 onThrottleFirstClick {
                                     val intent = Intent()
+                                    intent.putExtra("goodsId", "0")
+                                    intent.putExtra("outGoodsCode", "0")
+                                    intent.putExtra("index", 2)
                                     intent.setClass(
                                         context,
-                                        PlatinumCancellationsActivity::class.java
+                                        PlatinumTradeActivity::class.java
                                     )
                                     ActivityUtils.startActivity(intent)
                                 }
@@ -336,7 +341,13 @@ class SeaKingMainFragment : BaseFragment<SeaKingMainViewModel>() {
                             verticalLayout {
                                 onThrottleFirstClick {
                                     val intent = Intent()
-                                    intent.setClass(context, PlatnumDealActivty::class.java)
+                                    intent.putExtra("goodsId", "0")
+                                    intent.putExtra("outGoodsCode", "0")
+                                    intent.putExtra("index", 4)
+                                    intent.setClass(
+                                        context,
+                                        PlatinumTradeActivity::class.java
+                                    )
                                     ActivityUtils.startActivity(intent)
                                 }
                                 gravity = Gravity.CENTER_HORIZONTAL
@@ -359,7 +370,13 @@ class SeaKingMainFragment : BaseFragment<SeaKingMainViewModel>() {
                             verticalLayout {
                                 onThrottleFirstClick {
                                     val intent = Intent()
-                                    intent.setClass(context, PlatnumMoneyActivity::class.java)
+                                    intent.putExtra("goodsId", "0")
+                                    intent.putExtra("outGoodsCode", "0")
+                                    intent.putExtra("index", 5)
+                                    intent.setClass(
+                                        context,
+                                        PlatinumTradeActivity::class.java
+                                    )
                                     ActivityUtils.startActivity(intent)
                                 }
                                 gravity = Gravity.CENTER_HORIZONTAL

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

@@ -3,11 +3,13 @@ package cn.muchinfo.rma.view.base.main.castsurely
 import android.graphics.Color
 import android.os.Bundle
 import android.view.Gravity
+import android.view.View
 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.RStrategyData
 import cn.muchinfo.rma.global.data.account.loginQeruy.GoodsInfo
 import cn.muchinfo.rma.global.database.DataBase
 import cn.muchinfo.rma.lifecycle.bindOptional
@@ -55,6 +57,9 @@ class AddCastSurelyActivity : BaseActivity<MyCastSurelyViewModel>() {
         intent.getStringExtra("outGoodsCode")
     }
 
+    //用于修改定投
+    val data by lazy { intent.getParcelableExtra<RStrategyData>("data") as RStrategyData }
+
     //选择的交易类型 金额或者数量
     val selectPayType: MutableLiveData<SelectData> = MutableLiveData()
 
@@ -69,7 +74,7 @@ class AddCastSurelyActivity : BaseActivity<MyCastSurelyViewModel>() {
      */
     val selectTime: MutableLiveData<SelectData> = MutableLiveData()
 
-    //  1是新增 2是修改
+    //  1定投列表进入是新增 2是修改 3 是从其他地方进入的定投(这里需要再次请求定投列表用于判断此商品是否存在正在进行的定投策略)
     val type by lazy { intent.getStringExtra("type") }
 
     //行情推送通知
@@ -94,7 +99,14 @@ class AddCastSurelyActivity : BaseActivity<MyCastSurelyViewModel>() {
         viewModel.goodsInfoData.postValue(
             DataBase.getInstance().goodsInfoDao().getGoodsInfo(goodsId?.toInt() ?: 0)
         )//获取商品详情
-        selectPayType.postValue(SelectData(id = "1", value = "按克数定投"))
+        if (type == "1"){
+            selectPayType.postValue(SelectData(id = "1", value = "按重量定投"))
+        }else if (type == "2"){
+            selectPayType.postValue(SelectData(id = data.regularlymode ?: "1", value = if (data.regularlymode == "1"){"按重量定投"}else{"按金额定投"}))
+            selectTime.postValue(SelectData(id = data.regularlycycle ?: "1",value = data.regularlycyclevalue ?: "1"))
+        }else if (type == "3"){
+            viewModel.queryMyRStrategy(goodsid = goodsId ?: "0")
+        }
         viewModel.queryGoodsEx(goodsId ?: "")
         viewModel.queryQuoteDay(
             tag = thisTag,
@@ -114,6 +126,10 @@ class AddCastSurelyActivity : BaseActivity<MyCastSurelyViewModel>() {
         EventBus.getDefault().register(this)
         verticalLayout {
             initData()
+            viewModel.isCastSureData.bindOptional(context){//从交易页面进入的定投页,若是针对此商品已进行了定投策略,则该页面为修改定投,并在此进行赋值
+                selectPayType.postValue(SelectData(id = it?.regularlymode ?: "1", value = if (it?.regularlymode == "1"){"按重量定投"}else{"按金额定投"}))
+                selectTime.postValue(SelectData(id = it?.regularlycycle ?: "1",value = it?.regularlycyclevalue ?: "1"))
+            }
             createLoadingDialog(hintStr = "请求中...").bindTaskStatus(
                 context,
                 viewModel.loadingDialogStatus
@@ -122,12 +138,26 @@ class AddCastSurelyActivity : BaseActivity<MyCastSurelyViewModel>() {
             topBar {
                 commonLeftButton()
                 commonTitle {
-                    text = "新增定投"
+                    if (type == "1"){
+                        text = "新增定投"
+                    }else if (type == "2"){
+                        text = "修改定投"
+                    }else {
+                        text = "新增定投"
+                    }
+                    viewModel.isCastSureData.bindOptional(context){
+                        if (it?.goodsid.isNullOrEmpty().not()){
+                            text = "修改定投"
+                        }
+                    }
                 }
             }
 
             linearLayout {
                 onThrottleFirstClick {
+                    if (type == "2" || viewModel.isCastSureData.value?.goodsid.isNullOrEmpty().not()){
+                        return@onThrottleFirstClick
+                    }
                     val selectGoodsInfoList = arrayListOf<GoodsInfo>()
                     val goodsInfoList = DataBase.getInstance().goodsInfoDao().all
                     goodsInfoList.forEach {
@@ -135,7 +165,7 @@ class AddCastSurelyActivity : BaseActivity<MyCastSurelyViewModel>() {
                             selectGoodsInfoList.add(it)
                         }
                     }
-                    creatGoodsInfoBottomSheetDialog("请选择的商品", selectGoodsInfoList) {
+                    creatGoodsInfoBottomSheetDialog("请选择的商品", viewModel.getCanAddCastSureList()) {
                         viewModel.goodsInfoData.postValue(this)
                         viewModel.queryGoodsEx(this.goodsid.toString())
                         viewModel.queryQuoteDay(
@@ -152,6 +182,7 @@ class AddCastSurelyActivity : BaseActivity<MyCastSurelyViewModel>() {
                         if (it?.goodsname.isNullOrEmpty()){
                             text = "请选择商品"
                         }else{
+                            visibility = View.VISIBLE
                             text = it?.goodsname
                         }
                     }
@@ -215,6 +246,14 @@ class AddCastSurelyActivity : BaseActivity<MyCastSurelyViewModel>() {
                         editText {
                             gravity = Gravity.CENTER_VERTICAL
                             amount_input = this
+                            if (type == "2"){
+                                setText(data.regularlymodevalue)
+                            }
+                            viewModel.isCastSureData.bindOptional(context){
+                                if (it?.goodsid.isNullOrEmpty().not()){
+                                    setText(it?.regularlymodevalue)
+                                }
+                            }
                             selectPayType.bindOptional(context) {
                                 if (it?.id == "1") {//按克数定投
                                     hint = "请输入定投克数"
@@ -343,10 +382,40 @@ class AddCastSurelyActivity : BaseActivity<MyCastSurelyViewModel>() {
                         if (check().not()){
                             return@onThrottleFirstClick
                         }
-                        viewModel.requestQhjRegularlyStrategyReq(goodsID = viewModel.goodsInfoData.value?.goodsid?.toLong() ?: 0,regularlyCycle = selectTime.value?.id?.toInt() ?: 1,regularlyCycleValue = selectTime.value?.value?.toInt() ?: 1,regularlyMode = selectPayType.value?.id?.toInt() ?: 0,
-                            regularlyModeValue = amount_input.text.toString().toDouble().times(Math.pow(10.0,viewModel.goodsInfoData.value?.qtydecimalplace?.toDouble() ?: 2.0)),operateType = 1){
-                            viewModel.loadingDialogStatus.postValue(TaskUiModel.success(msg = "新增定投成功"))
-                            finish()
+                        var regularlyModeValue = 0.0
+                        var operateType = 0
+                        if (selectPayType.value?.id == "1"){//重量
+                            regularlyModeValue = amount_input.text.toString().toDouble().times(Math.pow(10.0,viewModel.goodsInfoData.value?.qtydecimalplace?.toDouble() ?: 2.0))
+                        }else{//金额
+                            regularlyModeValue = amount_input.text.toString().toDouble()
+                        }
+
+                        if (type == "1"){//新增
+                            viewModel.requestQhjRegularlyStrategyReq(goodsID = viewModel.goodsInfoData.value?.goodsid?.toLong() ?: 0,regularlyCycle = selectTime.value?.id?.toInt() ?: 1,regularlyCycleValue = selectTime.value?.value?.toInt() ?: 1,regularlyMode = selectPayType.value?.id?.toInt() ?: 0,
+                                regularlyModeValue = regularlyModeValue,operateType = 1){
+                                viewModel.loadingDialogStatus.postValue(TaskUiModel.success(msg = "新增定投成功"))
+                                finish()
+                            }
+                        }else if (type == "2"){//修改
+                            viewModel.requestQhjRegularlyStrategyReq(regularlyStrategyID = data.regularlystrategyid?.toLong() ?: 0,goodsID = viewModel.goodsInfoData.value?.goodsid?.toLong() ?: 0,regularlyCycle = selectTime.value?.id?.toInt() ?: 1,regularlyCycleValue = selectTime.value?.value?.toInt() ?: 1,regularlyMode = selectPayType.value?.id?.toInt() ?: 0,
+                                regularlyModeValue = regularlyModeValue,operateType = 2){
+                                viewModel.loadingDialogStatus.postValue(TaskUiModel.success(msg = "修改定投成功"))
+                                finish()
+                            }
+                        }else if (type == "3"){
+                            if (viewModel.isCastSureData.value?.goodsid.isNullOrEmpty().not()){//修改
+                                viewModel.requestQhjRegularlyStrategyReq(regularlyStrategyID = viewModel.isCastSureData.value?.regularlystrategyid?.toLong() ?: 0,goodsID = viewModel.goodsInfoData.value?.goodsid?.toLong() ?: 0,regularlyCycle = selectTime.value?.id?.toInt() ?: 1,regularlyCycleValue = selectTime.value?.value?.toInt() ?: 1,regularlyMode = selectPayType.value?.id?.toInt() ?: 0,
+                                    regularlyModeValue = regularlyModeValue,operateType = 2){
+                                    viewModel.loadingDialogStatus.postValue(TaskUiModel.success(msg = "修改定投成功"))
+                                    finish()
+                                }
+                            }else{//新增
+                                viewModel.requestQhjRegularlyStrategyReq(goodsID = viewModel.goodsInfoData.value?.goodsid?.toLong() ?: 0,regularlyCycle = selectTime.value?.id?.toInt() ?: 1,regularlyCycleValue = selectTime.value?.value?.toInt() ?: 1,regularlyMode = selectPayType.value?.id?.toInt() ?: 0,
+                                    regularlyModeValue = regularlyModeValue,operateType = 1){
+                                    viewModel.loadingDialogStatus.postValue(TaskUiModel.success(msg = "新增定投成功"))
+                                    finish()
+                                }
+                            }
                         }
                     }
                     gravity = Gravity.CENTER

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

@@ -100,6 +100,9 @@ class CastSurelyDetailsActivity : BaseActivity<MyCastSurelyViewModel>() {
                             if (this.id == "1"){
                                 val intent = Intent()
                                 intent.putExtra("type","2")
+                                intent.putExtra("data",data)
+                                intent.putExtra("goodsId",data.goodsid)
+                                intent.putExtra("outGoodsCode",data.goodscode)
                                 intent.setClass(context,AddCastSurelyActivity::class.java)
                                 ActivityUtils.startActivity(intent)
                             } else if (this.id == "2"){//暂停

+ 62 - 0
RMA/app/src/main/java/cn/muchinfo/rma/view/base/main/castsurely/MyCastSurelyViewModel.kt

@@ -4,8 +4,10 @@ import androidx.lifecycle.MutableLiveData
 import cn.muchinfo.rma.global.GlobalDataCollection
 import cn.muchinfo.rma.global.data.*
 import cn.muchinfo.rma.global.data.account.loginQeruy.GoodsInfo
+import cn.muchinfo.rma.global.database.DataBase
 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.LogUtils
 import kotlinx.coroutines.GlobalScope
@@ -49,6 +51,45 @@ class MyCastSurelyViewModel : BaseViewModel(){
     val secondSelectData : MutableLiveData<List<List<String>>> = MutableLiveData()//定投选择的月对应天,周对应周几
 
     /**
+     * 从交易页面进入的新增定投页通过我的定投列表过滤后的定投信息实体
+     */
+    val isCastSureData : MutableLiveData<RStrategyData> = MutableLiveData()
+
+    /**
+     * 获取可以新增定投的商品列表
+     * @return List<GoodsInfo>
+     */
+    fun getCanAddCastSureList() : List<GoodsInfo>{
+        val myCastSureList = GlobalDataCollection.instance?.getrStrategyDataArrayList()//获取我的定投列表
+        val allGoodsInfoList = DataBase.getInstance().goodsInfoDao().all//获取所有的商品列表
+        val selectGoodsInfoList = arrayListOf<GoodsInfo>()//新建列表容器
+        val goodsExInfoDataArrayList = GlobalDataCollection.instance?.goodsExInfoDataArrayList//拿到暂存的商品关联信息
+
+        allGoodsInfoList.forEach {//第一步,获取所有marketid为69201的商品
+            if (it.marketid == 69201) {
+                selectGoodsInfoList.add(it)
+            }
+        }
+        allGoodsInfoList.forEach {//通过商品关联信息过滤掉不能定投的商品
+            goodsExInfoDataArrayList?.forEach { data ->
+                if (data.goodsid == it?.goodsid.toString()){
+                    if (data.canregularlybuy == "0"){
+                        selectGoodsInfoList.remove(it)
+                    }
+                }
+            }
+        }
+        allGoodsInfoList.forEach {//通过已有的定投列表信息再次过滤掉已有的定投商品
+            myCastSureList?.forEach { data ->
+                if (data.goodsid == it?.goodsid.toString()){
+                    selectGoodsInfoList.remove(it)
+                }
+            }
+        }
+        return selectGoodsInfoList
+    }
+
+    /**
      * 根据选择的日期换算成服务需要的参数形式
      * @param value String
      * @return String
@@ -111,6 +152,26 @@ class MyCastSurelyViewModel : BaseViewModel(){
     }
 
     /**
+     * 用于新增时查询需要新增定投的商品是否已经参与定投
+     * @param goodsid String
+     */
+    fun queryMyRStrategy(goodsid : String){
+        val params = mutableMapOf<String, String>().apply {
+            put("userid", GlobalDataCollection.instance?.loginRsp?.userID.toString())
+            put("status","1,2")//策略状态(可多选,逗号隔开) - 1:正常 2:暂停 3:终止
+        }
+        MyApplication.getInstance()?.moneyManager?.queryRStrategy(params = params) { isSuccess, respData, error ->
+            if (isSuccess) {
+                respData?.forEach {
+                    if (it.goodsid == goodsid){
+                        isCastSureData.postValue(it)
+                    }
+                }
+            }
+        }
+    }
+
+    /**
      * 查询我的定投
      */
     fun queryRStrategy(){
@@ -120,6 +181,7 @@ class MyCastSurelyViewModel : BaseViewModel(){
         }
         MyApplication.getInstance()?.moneyManager?.queryRStrategy(params = params) { isSuccess, respData, error ->
             if (isSuccess) {
+                GlobalDataCollection.instance?.setrStrategyDataArrayList(respData?.toArrayList())
                 castSurelyDataList.postValue(respData)
             }
         }

+ 54 - 0
RMA/app/src/main/java/cn/muchinfo/rma/view/base/platinumtreasure/PlatinumTrasureDetailsActivity.kt

@@ -0,0 +1,54 @@
+package cn.muchinfo.rma.view.base.platinumtreasure
+
+import android.os.Bundle
+import android.widget.ImageView
+import cn.muchinfo.rma.R
+import cn.muchinfo.rma.lifecycle.bindOptional
+import cn.muchinfo.rma.view.autoWidget.commonLeftButton
+import cn.muchinfo.rma.view.autoWidget.commonTitle
+import cn.muchinfo.rma.view.autoWidget.topBar
+import cn.muchinfo.rma.view.base.BaseActivity
+import cn.muchinfo.rma.view.base.app.Constant
+import com.blankj.utilcode.util.LogUtils
+import com.blankj.utilcode.util.SPUtils
+import com.bumptech.glide.Glide
+import org.jetbrains.anko.imageView
+import org.jetbrains.anko.matchParent
+import org.jetbrains.anko.verticalLayout
+import org.jetbrains.anko.wrapContent
+
+/**
+ * 千海金铂金宝-详情页面
+ */
+class PlatinumTrasureDetailsActivity : BaseActivity<PlatinumTreasureViewModel>(){
+
+    //传过来的详情图片
+    val imageString by lazy { intent.getStringExtra("imageString") }
+
+
+    override fun onCreate(savedInstanceState: Bundle?) {
+        super.onCreate(savedInstanceState)
+        verticalLayout {
+            background = resources.getDrawable(R.color.rma_item_bg)
+            topBar {
+                commonLeftButton()
+                commonTitle {
+                    text = "成交记录"
+                }
+            }
+
+            viewModel.platGoodsDetailsImageList.bindOptional(context){
+                if (it?.isNotEmpty() == true){
+                    imageView {
+                        adjustViewBounds = true
+                        scaleType = ImageView.ScaleType.FIT_CENTER
+                        Glide.with(context).load(SPUtils.getInstance().getString(Constant.uploadUrl) + it).into(this@imageView)
+                        LogUtils.eTag("dashkajhsdkjahsdkja",SPUtils.getInstance().getString(Constant.uploadUrl) + it)
+                    }.lparams(matchParent, wrapContent)
+                }
+            }
+        }
+    }
+
+
+}

+ 8 - 0
RMA/app/src/main/java/cn/muchinfo/rma/view/base/platinumtreasure/PlatinumTreasureViewModel.kt

@@ -21,6 +21,14 @@ class PlatinumTreasureViewModel : BaseViewModel(){
 
     val titleList : MutableLiveData<List<ColumnsData>> = MutableLiveData()
 
+    //千海金商品详情
+    val platGoodsDetailsImageList : MutableLiveData<List<String>> = MutableLiveData()
+
+    //初始化
+    fun initPlatinumDetails(){
+
+    }
+
     fun initData(tag: String){
         val list = arrayListOf<GoodsInfo>()
         val allList = DataBase.getInstance().goodsInfoDao().all

+ 4 - 2
RMA/app/src/main/java/cn/muchinfo/rma/view/base/platinumtreasure/adapter/PlatnumTreasureAdapter.java

@@ -187,7 +187,8 @@ public class PlatnumTreasureAdapter extends RecyclerView.Adapter<PlatnumTreasure
             public void onClick(View view) {
                 Intent intent = new Intent();
                 intent.putExtra("goodsId",String.valueOf(data.getGoodsid()));
-                intent.putExtra("outGoodsCode",data.getOutgoodscode());
+                intent.putExtra("outGoodsCode",data.getGoodscode());
+                intent.putExtra("index",0);
                 intent.setClass(context, PlatinumTradeActivity.class);
                 ActivityUtils.startActivity(intent);
             }
@@ -198,7 +199,8 @@ public class PlatnumTreasureAdapter extends RecyclerView.Adapter<PlatnumTreasure
             public void onClick(View view) {
                 Intent intent = new Intent();
                 intent.putExtra("goodsId",String.valueOf(data.getGoodsid()));
-                intent.putExtra("outGoodsCode",data.getOutgoodscode());
+                intent.putExtra("outGoodsCode",data.getGoodscode());
+                intent.putExtra("index",1);
                 intent.setClass(context, PlatinumTradeActivity.class);
                 ActivityUtils.startActivity(intent);
             }

+ 38 - 3
RMA/app/src/main/java/cn/muchinfo/rma/view/base/platinumtreasure/trade/FinancialViewHolder.kt

@@ -17,7 +17,9 @@ import cn.muchinfo.rma.view.autoWidget.utils.NumberUtils
 import cn.muchinfo.rma.view.base.future.trade.itemView
 import cn.muchinfo.rma.view.base.home.contract.emptyView
 import cn.muchinfo.rma.view.base.home.spotmarket.SpotMarketDetailsActivity
+import cn.muchinfo.rma.view.base.main.PayActivity
 import com.blankj.utilcode.util.ActivityUtils
+import com.blankj.utilcode.util.TimeUtils
 import mtp.polymer.com.autowidget.adapter.BaseViewHolder
 import org.jetbrains.anko.*
 
@@ -39,6 +41,13 @@ class FinancialViewHolder(private val activity : AppCompatActivity,private val v
             linearLayout {
                 linearLayout {
                     imageView {
+                        data.bindOptional(context){
+                            if (it?.currisklevel == "2"){
+                                visibility = View.VISIBLE
+                            }else{
+                                visibility = View.GONE
+                            }
+                        }
                         imageResource = R.mipmap.qhj_warning
                     }.lparams(autoSize(36), autoSize(36)){
                         topMargin = autoSize(26)
@@ -161,10 +170,25 @@ class FinancialViewHolder(private val activity : AppCompatActivity,private val v
 
                 textView {
                     data.bindOptional(context){
-
+                        if (it?.currisklevel == "2"){
+                            visibility = View.VISIBLE
+                        }else{
+                            visibility = View.GONE
+                        }
                     }
                     onThrottleFirstClick {
-
+                        val goodsInfo = DataBase.getInstance().goodsInfoDao().getGoodsInfo(data.value?.goodsid?.toInt() ?: 0)
+                        val intent = Intent()
+                        intent.putExtra("goodsId",data.value?.goodsid)
+                        intent.putExtra("marketId",goodsInfo?.marketid)
+                        intent.putExtra("orderNo",data.value?.scfcontractid)
+                        intent.putExtra("orderDate",TimeUtils.getNowString())
+                        intent.putExtra("paytype","2")
+                        intent.putExtra("totalAmount",data.value?.reckonrecovermargin)
+                        intent.putExtra("paylimitedtime","")
+                        intent.putExtra("orderId","")
+                        intent.setClass(context, PayActivity::class.java)
+                        ActivityUtils.startActivity(intent)
                     }
                     backgroundResource = R.drawable.rma_item_click_bg
                     gravity = Gravity.CENTER
@@ -177,7 +201,18 @@ class FinancialViewHolder(private val activity : AppCompatActivity,private val v
 
                 textView {
                     onThrottleFirstClick {
-
+                        val goodsInfo = DataBase.getInstance().goodsInfoDao().getGoodsInfo(data.value?.goodsid?.toInt() ?: 0)
+                        val intent = Intent()
+                        intent.putExtra("goodsId",data.value?.goodsid)
+                        intent.putExtra("marketId",goodsInfo?.marketid)
+                        intent.putExtra("orderNo",data.value?.scfcontractid)
+                        intent.putExtra("orderDate",TimeUtils.getNowString())
+                        intent.putExtra("paytype","2")
+                        intent.putExtra("totalAmount",data.value?.remainamount)
+                        intent.putExtra("paylimitedtime","")
+                        intent.putExtra("orderId","")
+                        intent.setClass(context, PayActivity::class.java)
+                        ActivityUtils.startActivity(intent)
                     }
                     backgroundResource = R.drawable.rma_item_click_bg
                     gravity = Gravity.CENTER

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

@@ -4,6 +4,7 @@ import android.view.Gravity
 import androidx.appcompat.app.AppCompatActivity
 import cn.muchinfo.rma.R
 import cn.muchinfo.rma.global.data.AmountLogData
+import cn.muchinfo.rma.global.toShowTime
 import cn.muchinfo.rma.lifecycle.bindOptional
 import cn.muchinfo.rma.view.autoWidget.autoSize
 import cn.muchinfo.rma.view.autoWidget.textColorInt
@@ -30,7 +31,7 @@ class MoneyFlowingVIewHolder(private val activity : AppCompatActivity,private va
                     gravity = Gravity.LEFT
                     textView {
                         data.bindOptional(context){
-                            text = it?.createtime
+                            text = it?.createtime?.toShowTime()
                         }
                         textSizeAuto = 31
                         textColorInt = R.color.rma_black_33

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

@@ -155,10 +155,11 @@ class NoPayViewHolder(private val activity : AppCompatActivity,private val viewM
                 textView {
                     onThrottleFirstClick {
                         val intent = Intent()
-                         intent.putExtra("goodsId",data.value?.goodsid)
+                        intent.putExtra("goodsId",data.value?.goodsid)
                         intent.putExtra("marketId",data.value?.marketid)
                         intent.putExtra("orderNo",data.value?.tradeid)
                         intent.putExtra("orderDate",data.value?.tradedate)
+                        intent.putExtra("paytype","1")
                         intent.putExtra("totalAmount",data.value?.payamount)
                         intent.putExtra("paylimitedtime",data.value?.paylimitedtime)
                         intent.putExtra("orderId","")

+ 37 - 20
RMA/app/src/main/java/cn/muchinfo/rma/view/base/platinumtreasure/trade/PlatinumBuyOrSellUI.kt

@@ -87,7 +87,6 @@ class PlatinumBuyOrSellUI(
         }
 
 
-
     fun initData(
         goodsId: String,
         outGoodsCode: String = "",
@@ -119,14 +118,19 @@ class PlatinumBuyOrSellUI(
                 DataBase.getInstance().goodsInfoDao().getGoodsInfo(goodsId?.toInt() ?: 0)
             val quote =
                 GlobalDataCollection.instance?.goodsInfoAndQuotesList?.find { goodsInfo?.outgoodscode == it.outgoodscode }?.quoteDayData
+            LogUtils.eTag(
+                "dasjhdkjagfkaskgoodsid = ",
+                "goodsid = " + goodsId + "bid = " + quote?.bid + " ask = " + quote?.ask
+            )
             if (quote != null) {
                 viewModel.quoteDayData.postValue(quote)
             }
-        } else{
+        } else {
             /** 行情推送过来的goodsid **/
             quoteMessageEvent.goodsid.forEach { goodid ->
                 //找到相应商品信息
-                val goodsInfo = viewModel.buyOrSellTradePositionDataList.value?.find { it.goodsid?.toInt() == goodid }
+                val goodsInfo =
+                    viewModel.buyOrSellTradePositionDataList.value?.find { it.goodsid?.toInt() == goodid }
                 viewModel.buyOrSellTradePositionDataList.value?.indexOf(goodsInfo)?.let {
                     if (it != -1) {//刷新相应item
                         positionAdapter.notifyItemChanged(it)
@@ -138,14 +142,19 @@ class PlatinumBuyOrSellUI(
 
     //持仓单点击消息通知
     @Subscribe(threadMode = ThreadMode.MAIN)
-    fun onMeesageChangeTradeId(tradeMessageEvent: TradeMessageEvent){
-        initData(goodsId = tradeMessageEvent.goodsId,buyOrSell = tradeMessageEvent.buyOrSell,outGoodsCode = tradeMessageEvent.outGoodsCode,isShowLoading = false)
+    fun onMeesageChangeTradeId(tradeMessageEvent: TradeMessageEvent) {
+        initData(
+            goodsId = tradeMessageEvent.goodsId,
+            buyOrSell = tradeMessageEvent.buyOrSell,
+            outGoodsCode = tradeMessageEvent.outGoodsCode,
+            isShowLoading = false
+        )
     }
 
     //通用的消息更新通知
     @Subscribe(threadMode = ThreadMode.MAIN)
-    fun onMessageEvent(messageEvent : MessageEvent) {
-        if (messageEvent.messageType == EventConstent.USERACCOUNTCHANGE){//接到通知更新当前的资金账号
+    fun onMessageEvent(messageEvent: MessageEvent) {
+        if (messageEvent.messageType == EventConstent.USERACCOUNTCHANGE) {//接到通知更新当前的资金账号
             viewModel.queryContractTradePosition()
         }
     }
@@ -167,7 +176,7 @@ class PlatinumBuyOrSellUI(
                     ) {
                         initData(
                             goodsId = this.goodsid.toString(),
-                            outGoodsCode = this.outgoodscode,
+                            outGoodsCode = this.goodscode,
                             isShowLoading = false
                         )
                     }
@@ -185,6 +194,7 @@ class PlatinumBuyOrSellUI(
                     viewModel.goodsInfoData.bindOptional(context) {
                         text = it?.goodsname?.isBlankString()
                     }
+                    text = "请选择交易品种"
                     textColorInt = R.color.rma_black_33
                     textSizeAuto = 36
                 }.lparams(wrapContent, wrapContent) {
@@ -220,23 +230,27 @@ class PlatinumBuyOrSellUI(
                             setOnTextChangeListener { view, value ->
 
                             }
+                            setText("0")
                             //拿到商品信息后对输入框进行初始化
                             viewModel.goodsInfoData.bindOptional(context) { data ->
 //                                val goodsExData = GlobalDataCollection.instance?.goodsExInfoDataArrayList?.find { it.goodsid == data?.goodsid.toString()}
 //                                if (goodsExData?.goodsid?.isNotEmpty() == true){
 //
 //                                }
-                                setDecimal(data?.decimalplace ?: 2)
-                                val limitRangeMin = if (data?.decimalplace == 0) {
-                                    1.0
-                                } else {
-                                    Math.pow(10.0, -data?.decimalplace?.toDouble()!!)
-                                }//限价范围最小值
-                                val limitRangeMax =
-                                    1000000000 - limitRangeMin // 限价范围最大值
-                                setMax(limitRangeMax)
-                                setMin(limitRangeMin)
-                                setStep(Math.pow(10.0, -data.decimalplace.toDouble()))
+                                if (data?.goodscode?.isNotEmpty() == true) {
+                                    setDecimal(data?.decimalplace ?: 2)
+                                    val limitRangeMin = if (data?.decimalplace == 0) {
+                                        1.0
+                                    } else {
+                                        Math.pow(10.0, -data?.decimalplace?.toDouble()!!)
+                                    }//限价范围最小值
+                                    val limitRangeMax =
+                                        1000000000 - limitRangeMin // 限价范围最大值
+                                    setMax(limitRangeMax)
+                                    setMin(limitRangeMin)
+                                    setStep(Math.pow(10.0, -data.decimalplace.toDouble()))
+                                }
+
                             }
 
                             //行情变化后根据不同的价格类型分别对赋值
@@ -301,7 +315,7 @@ class PlatinumBuyOrSellUI(
                             setOnTextChangeListener { view, value ->
 
                             }
-
+                            setText("0")
                             //拿到商品信息后对输入框进行初始化
                             viewModel.goodsInfoData.bindOptional(context) { data ->
                                 val goodsExData =
@@ -355,6 +369,7 @@ class PlatinumBuyOrSellUI(
                                         2
                                     )//卖一
                                 }
+                                text = "0"
                                 textSizeAuto = 41
                                 textColorInt = R.color.rma_red_color
                             }.lparams(wrapContent, wrapContent) {
@@ -382,6 +397,7 @@ class PlatinumBuyOrSellUI(
                                         2
                                     )//买一
                                 }
+                                text = "0"
                                 textSizeAuto = 41
                                 textColorInt = R.color.rma_red_color
                             }.lparams(wrapContent, wrapContent) {
@@ -470,6 +486,7 @@ class PlatinumBuyOrSellUI(
                             val intent = Intent()
                             intent.putExtra("goodsId", goodsId)
                             intent.putExtra("outGoodsCode", outGoodsCode)
+                            intent.putExtra("type","3")
                             intent.setClass(context, AddCastSurelyActivity::class.java)
                             ActivityUtils.startActivity(intent)
                         }

+ 20 - 1
RMA/app/src/main/java/cn/muchinfo/rma/view/base/platinumtreasure/trade/PlatinumTradeActivity.kt

@@ -39,6 +39,8 @@ import org.jetbrains.anko.support.v4.viewPager
  */
 class PlatinumTradeActivity : BaseActivity<PlatinumTradeViewModel>(){
 
+    val index by lazy { intent.getIntExtra("index",0) }
+
     /** 当前页面的goodsid **/
     val goodsId by lazy {
         intent.getStringExtra("goodsId")
@@ -58,11 +60,21 @@ class PlatinumTradeActivity : BaseActivity<PlatinumTradeViewModel>(){
     var selectedTabIndex: Int = 0
     private lateinit var viewPager: ViewPager
 
+    override fun onResume() {
+        super.onResume()
+
+    }
+
     /**
      * 用livedata监测当前页面
      */
     val selectIndex : MutableLiveData<Int> = MutableLiveData()
 
+    /**
+     * 用livedata监测当前页面
+     */
+    val selectIndex1 : MutableLiveData<Int> = MutableLiveData()
+
     //交易买入UI
     private val platinumBuyUI by lazy {
         PlatinumBuyOrSellUI(this,viewModel,goodsId ?: "",outGoodsCode ?: "",thisTag,"1")
@@ -147,7 +159,7 @@ class PlatinumTradeActivity : BaseActivity<PlatinumTradeViewModel>(){
         if (goodsids.contains(goodsId?.toInt())){
             LogUtils.eTag("dasjhdkjagfkask","行情推送" + goodsId)
             val goodsInfo = DataBase.getInstance().goodsInfoDao().getGoodsInfo(goodsId?.toInt() ?: 0)
-            val quote = GlobalDataCollection.instance?.goodsInfoAndQuotesList?.find { goodsInfo?.outgoodscode == it.outgoodscode }?.quoteDayData
+            val quote = GlobalDataCollection.instance?.goodsInfoAndQuotesList?.find { goodsInfo?.goodscode == it.outgoodscode }?.quoteDayData
             if (quote != null){
                 viewModel.quoteDayData.postValue(quote)
             }
@@ -182,6 +194,7 @@ class PlatinumTradeActivity : BaseActivity<PlatinumTradeViewModel>(){
 
     override fun onCreate(savedInstanceState: Bundle?) {
         super.onCreate(savedInstanceState)
+        selectIndex1.postValue(index)
         QMUIStatusBarHelper.translucent(this)
         EventBus.getDefault().register(this)
         verticalLayout {
@@ -209,6 +222,9 @@ class PlatinumTradeActivity : BaseActivity<PlatinumTradeViewModel>(){
                 background = resources.getDrawable(R.color.main_title_bg_color)
                 linearLayout {
                     imageView {
+                        onThrottleFirstClick {
+                            finish()
+                        }
                         imageResource = R.mipmap.back
                     }.lparams(autoSize(45), autoSize(45)) {
                         marginStart = autoSize(32)
@@ -297,6 +313,9 @@ class PlatinumTradeActivity : BaseActivity<PlatinumTradeViewModel>(){
 
             segment.setupWithViewPager(viewPager)
             segment.selectTab(selectedTabIndex)
+            selectIndex1.bindOptional(context){
+                segment.selectTab(it ?: 0)
+            }
 
         }
     }

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

@@ -9,6 +9,7 @@ import cn.muchinfo.rma.global.data.account.loginQeruy.GoodsInfo
 import cn.muchinfo.rma.global.database.DataBase
 import cn.muchinfo.rma.netManage.base.InteractiveException
 import cn.muchinfo.rma.view.MyApplication
+import cn.muchinfo.rma.view.autoWidget.remove
 import cn.muchinfo.rma.view.autoWidget.toArrayList
 import cn.muchinfo.rma.view.base.BaseViewModel
 import cn.muchinfo.rma.view.base.app.Constant
@@ -126,7 +127,7 @@ class PlatinumTradeViewModel : BaseViewModel() {
         val params = mutableMapOf<String,String>().apply {
             put("accountID",GlobalDataCollection.instance?.accountId?.toString() ?: "0")
         }
-        MyApplication.getInstance()?.contractGoodsManager?.queryContractTradeDetail(params = params){isSuccess, respData, error ->
+        MyApplication.getInstance()?.contractGoodsManager?.queryContractHisTradeDetail(params = params){isSuccess, respData, error ->
             if (isSuccess){
                 val newList = arrayListOf<ContractTradeDetailData>()
                 newList.addAll(list)
@@ -296,7 +297,13 @@ class PlatinumTradeViewModel : BaseViewModel() {
 
         MyApplication.getInstance()?.contractGoodsManager?.queryContractTradeOrderDetail(params) { isSuccess, respData, error ->
             if (isSuccess) {
-                tradeOrderDetailDatalist.postValue(respData)
+                val newlist = arrayListOf<ContractTradeOrderDetailData>()
+                respData?.forEach {
+                    if (it?.orderstatus == "3"){
+                        newlist.add(it)
+                    }
+                }
+                tradeOrderDetailDatalist.postValue(newlist)
             }
         }
     }

+ 20 - 27
RMA/app/src/main/java/cn/muchinfo/rma/view/base/qhjhome/QhjHomeFragment.kt

@@ -5,9 +5,11 @@ import android.content.Intent
 import android.graphics.Rect
 import android.net.Uri
 import android.os.Bundle
-import android.view.*
+import android.view.Gravity
+import android.view.LayoutInflater
+import android.view.View
+import android.view.ViewGroup
 import android.widget.ImageView
-import androidx.appcompat.app.AppCompatActivity
 import androidx.cardview.widget.CardView
 import androidx.fragment.app.Fragment
 import androidx.lifecycle.MutableLiveData
@@ -22,44 +24,24 @@ import cn.muchinfo.rma.lifecycle.bindOptional
 import cn.muchinfo.rma.lifecycle.getAppCompatActivity
 import cn.muchinfo.rma.view.autoWidget.*
 import cn.muchinfo.rma.view.base.BaseFragment
-import cn.muchinfo.rma.view.base.future.trade.GoodsTradeActivity
-import cn.muchinfo.rma.view.base.home.accountmanager.AccountManagerActivity
-import cn.muchinfo.rma.view.base.home.business.BusinessManagementActivity
-import cn.muchinfo.rma.view.base.home.commodity.CommodityInformationActivity
-import cn.muchinfo.rma.view.base.home.commodity.newcommodity.NewCommodityInformationActivity
-import cn.muchinfo.rma.view.base.home.contract.ContractActivity
-import cn.muchinfo.rma.view.base.home.contract.emptyView
-import cn.muchinfo.rma.view.base.home.customerdata.CustomerDataActivity
-import cn.muchinfo.rma.view.base.home.financial.FinancialActivity
-import cn.muchinfo.rma.view.base.home.hedge.HedgePlanActivity
-import cn.muchinfo.rma.view.base.home.inventory.inventoryaudit.InventoryAuditActivity
-import cn.muchinfo.rma.view.base.home.inventory.inventorymanager.InventoryManagerActivity
-import cn.muchinfo.rma.view.base.home.reportquery.ReportQueryActivity
 import cn.muchinfo.rma.view.base.home.set.SettingActivity
-import cn.muchinfo.rma.view.base.home.spotmarket.SpotMarketPriceActivity
-import cn.muchinfo.rma.view.base.home.tradingquery.TradingQueryActivity
-import cn.muchinfo.rma.view.base.home.warehouse.WarehouseInformationActivity
-import cn.muchinfo.rma.view.base.main.PayActivity
 import cn.muchinfo.rma.view.base.main.castsurely.MyCastSurelyActivity
 import cn.muchinfo.rma.view.base.main.withdrawmanagement.WithdrawalActivity
 import cn.muchinfo.rma.view.base.platinumtreasure.activity.PlatnumMoneyActivity
+import cn.muchinfo.rma.view.base.platinumtreasure.trade.PlatinumTradeActivity
 import cn.muchinfo.rma.view.eventbus.EventConstent
 import cn.muchinfo.rma.view.eventbus.MessageEvent
 import com.blankj.utilcode.util.ActivityUtils
 import com.blankj.utilcode.util.ConvertUtils
 import com.blankj.utilcode.util.LogUtils
-import com.blankj.utilcode.util.ToastUtils
 import com.facebook.drawee.view.SimpleDraweeView
 import com.qmuiteam.qmui.util.QMUIDisplayHelper
 import com.qmuiteam.qmui.widget.tab.QMUITabIndicator
 import com.qmuiteam.qmui.widget.tab.QMUITabSegment
-
 import mtp.polymer.com.autowidget.adapter.BaseAdapter
-import mtp.polymer.com.autowidget.dialog.creatSelectAccountDialog
 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
@@ -308,9 +290,12 @@ class QhjHomeFragment : BaseFragment<QhjHomeViewModel>() {
                                     verticalLayout {
                                         onThrottleFirstClick {
                                             val intent = Intent()
+                                            intent.putExtra("goodsId", "0")
+                                            intent.putExtra("outGoodsCode", "0")
+                                            intent.putExtra("index", 4)
                                             intent.setClass(
                                                 context,
-                                                TradingQueryActivity::class.java
+                                                PlatinumTradeActivity::class.java
                                             )
                                             ActivityUtils.startActivity(intent)
                                         }
@@ -398,9 +383,17 @@ class QhjHomeFragment : BaseFragment<QhjHomeViewModel>() {
 //                                    }
                                     verticalLayout {
                                         onThrottleFirstClick {
-                                            val intent = Intent()
-                                            intent.setClass(context, PlatnumMoneyActivity::class.java)
-                                            ActivityUtils.startActivity(intent)
+                                            onThrottleFirstClick {
+                                                val intent = Intent()
+                                                intent.putExtra("goodsId", "0")
+                                                intent.putExtra("outGoodsCode", "0")
+                                                intent.putExtra("index", 5)
+                                                intent.setClass(
+                                                    context,
+                                                    PlatinumTradeActivity::class.java
+                                                )
+                                                ActivityUtils.startActivity(intent)
+                                            }
                                         }
                                         imageView {
                                             imageResource = R.mipmap.qhj_money_information

Some files were not shown because too many files changed in this diff