Ver Fonte

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

Liu.bolan há 4 anos atrás
pai
commit
c76291ddfa
21 ficheiros alterados com 338 adições e 70 exclusões
  1. 1 1
      RMA/app/build.gradle
  2. BIN
      RMA/app/libs/shiro-all-1.7.1.jar
  3. 2 0
      RMA/app/src/main/AndroidManifest.xml
  4. 6 6
      RMA/app/src/main/java/cn/muchinfo/rma/global/data/AccountData.kt
  5. 1 0
      RMA/app/src/main/java/cn/muchinfo/rma/global/data/account/loginQeruy/LoginAccount.kt
  6. 47 2
      RMA/app/src/main/java/cn/muchinfo/rma/view/autoWidget/utils/AESEncryptUtils.java
  7. 103 0
      RMA/app/src/main/java/cn/muchinfo/rma/view/autoWidget/utils/EncryptionUtils.java
  8. 1 3
      RMA/app/src/main/java/cn/muchinfo/rma/view/base/home/NewHomeFragment.kt
  9. 22 6
      RMA/app/src/main/java/cn/muchinfo/rma/view/base/home/set/ChangePasswordActivity.kt
  10. 2 2
      RMA/app/src/main/java/cn/muchinfo/rma/view/base/home/set/PasswordViewModel.kt
  11. 6 11
      RMA/app/src/main/java/cn/muchinfo/rma/view/base/home/set/ResetPasswordActivity.kt
  12. 2 1
      RMA/app/src/main/java/cn/muchinfo/rma/view/base/home/set/SettingActivity.kt
  13. 63 20
      RMA/app/src/main/java/cn/muchinfo/rma/view/base/main/SeaKingMainFragment.kt
  14. 19 10
      RMA/app/src/main/java/cn/muchinfo/rma/view/base/main/promotioncode/ApplyPromotionCodeActivity.kt
  15. 45 0
      RMA/app/src/main/java/cn/muchinfo/rma/view/base/main/promotioncode/ShowImageByUrlActivity.kt
  16. 3 0
      RMA/app/src/main/java/cn/muchinfo/rma/view/base/main/reward/MyRewardActivity.kt
  17. 4 2
      RMA/app/src/main/java/cn/muchinfo/rma/view/base/main/reward/MyRewardViewModel.kt
  18. 2 2
      RMA/app/src/main/java/cn/muchinfo/rma/view/base/main/reward/RewardRuleActivity.kt
  19. 6 2
      RMA/app/src/main/java/cn/muchinfo/rma/view/base/main/reward/RewardViewHolder.kt
  20. 1 1
      RMA/app/src/main/java/cn/muchinfo/rma/view/base/main/team/TeamOrderViewHolder.kt
  21. 2 1
      RMA/app/src/main/java/cn/muchinfo/rma/view/base/main/withdrawmanagement/AddWithDrawActivity.kt

+ 1 - 1
RMA/app/build.gradle

@@ -151,7 +151,7 @@ dependencies {
     implementation 'com.trello.rxlifecycle2:rxlifecycle-components:2.2.1'
     implementation 'android.arch.persistence.room:rxjava2:1.1.1'
     implementation files('libs/glide-full-4.7.0.jar')
-
+    implementation files('libs/shiro-all-1.7.1.jar')
     implementation files('libs/tbs_sdk_thirdapp_v3.2.0.1104_43200_sharewithdownload_withfilereader_withoutGame_obfs_20170609_115346.jar')
     //banner 控件
     implementation 'cn.bingoogolapple:bga-banner:3.0.0@aar'

BIN
RMA/app/libs/shiro-all-1.7.1.jar


+ 2 - 0
RMA/app/src/main/AndroidManifest.xml

@@ -366,6 +366,8 @@
 
         <activity android:name=".view.base.main.promotioncode.ApplyPromotionCodeActivity"/>
 
+        <activity android:name=".view.base.main.promotioncode.ShowImageByUrlActivity"/>
+
     </application>
 
 </manifest>

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

@@ -195,12 +195,12 @@ open class AccountData(
             valueOfposition += quoteDayData?.bid?.times(
                 it?.curpositionqty?.toDouble() ?: 0.0
             ) ?: 0.0
-            /** 计算融资额 **/
-            val qhjContractDetailsDataArrayList =
-                GlobalDataCollection.instance?.qhjContractDetailsDataArrayList
-            qhjContractDetailsDataArrayList?.forEach {
-                raisedAmount += it?.remainamount?.toDouble() ?: 0.0
-            }
+        }
+        /** 计算融资额 **/
+        val qhjContractDetailsDataArrayList =
+            GlobalDataCollection.instance?.qhjContractDetailsDataArrayList
+        qhjContractDetailsDataArrayList?.forEach {
+            raisedAmount += it?.remainamount?.toDouble() ?: 0.0
         }
 
         val futureHoldDatalist = GlobalDataCollection.instance?.futureHoldData

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

@@ -3,6 +3,7 @@ package cn.muchinfo.rma.global.data.account.loginQeruy
 import com.google.gson.annotations.SerializedName
 
 data class LoginAccount(
+    @SerializedName("accountname") var accountname : String = "",//账户名称
     @SerializedName("canoutin") var canoutin: Int = 0, //     是否可出入金 - 0:不可 1:可
     @SerializedName("clientroleid") var clientroleid: Int = 0, // 终端角色ID
     @SerializedName("haslogined") var haslogined: Int = 0, // 是否已登录 - 0:未登录 1:已登录

+ 47 - 2
RMA/app/src/main/java/cn/muchinfo/rma/view/autoWidget/utils/AESEncryptUtils.java

@@ -205,7 +205,7 @@ public class AESEncryptUtils {
         byte[] enCodeFormat = key.getBytes();
         // AES加密
         @SuppressLint("GetInstance") Cipher cipher = Cipher.getInstance("AES/ECB/PKCS7Padding", "BC");
-        SecretKeySpec keySpec = new SecretKeySpec(key.getBytes(StandardCharsets.UTF_8), "AES");
+        SecretKeySpec keySpec = new SecretKeySpec(hexString2Bytes(key), "AES");
         cipher.init(Cipher.ENCRYPT_MODE, keySpec);
 
         byte[] encryptData = cipher.doFinal(encryptedBytes);
@@ -215,7 +215,52 @@ public class AESEncryptUtils {
 //        Cipher cipher = Cipher.getInstance("AES/CBC/PKCS7Padding");
 //        cipher.init(Cipher.DECRYPT_MODE, secretKey, ivParameterSpec);
 //        byte[] result = cipher.doFinal(encryptedBytes);
-        return new String(encryptData, "UTF-8");
+        return byte2HexString(encryptData);
     }
 
+    public static final char[] DIGITS_UPPER = { '0', '1', '2', '3', '4', '5',
+            '6', '7', '8', '9', 'A', 'B', 'C', 'D', 'E', 'F' };
+
+    public static String byte2HexString(final byte[] data) {
+        final int l = data.length;
+        final char[] out = new char[l << 1];
+        // two characters form the hex value.
+        for (int i = 0, j = 0; i < l; i++) {
+            out[j++] = DIGITS_UPPER[(0xF0 & data[i]) >>> 4];
+            out[j++] = DIGITS_UPPER[0x0F & data[i]];
+        }
+        return new String(out);
+
+    }
+
+    /*
+     * 16进制字符串转字节数组
+     */
+    public static byte[] hexString2Bytes(String hexString) {
+
+        char[] hex = hexString.toCharArray();
+        //转rawData长度减半
+        int length = hex.length / 2;
+        byte[] rawData = new byte[length];
+        for (int i = 0; i < length; i++) {
+
+            //先将hex数据转10进制数值
+            int high = Character.digit(hex[i * 2], 16);
+            int low = Character.digit(hex[i * 2 + 1], 16);
+            int value = (high << 4) | low;
+            if (value > 127)
+                value -= 256;
+            rawData [i] = (byte) value;
+        }
+        return rawData ;
+    }
+
+    /*
+     * 字符转换为字节
+     */
+    private static byte charToByte(char c) {
+        return (byte) "0123456789ABCDEF".indexOf(c);
+    }
+
+
 }

+ 103 - 0
RMA/app/src/main/java/cn/muchinfo/rma/view/autoWidget/utils/EncryptionUtils.java

@@ -0,0 +1,103 @@
+package cn.muchinfo.rma.view.autoWidget.utils;
+
+
+import java.security.Key;
+import java.security.KeyFactory;
+import java.security.KeyPair;
+import java.security.KeyPairGenerator;
+import java.security.MessageDigest;
+import java.security.SecureRandom;
+import java.security.interfaces.RSAPrivateKey;
+import java.security.interfaces.RSAPublicKey;
+import java.security.spec.PKCS8EncodedKeySpec;
+import java.security.spec.X509EncodedKeySpec;
+import java.util.Random;
+
+import javax.crypto.Cipher;
+import javax.crypto.KeyGenerator;
+import javax.crypto.SecretKey;
+import javax.crypto.SecretKeyFactory;
+import javax.crypto.spec.DESKeySpec;
+import javax.crypto.spec.IvParameterSpec;
+import javax.crypto.spec.SecretKeySpec;
+
+
+import org.apache.shiro.codec.Hex;
+import org.apache.shiro.util.SimpleByteSource;
+
+public class EncryptionUtils {
+
+	private static final String AES_ALGORITHM = "AES";
+	private static final int KEY_SIZE = 128;
+	@SuppressWarnings("unused")
+	private static final int CACHE_SIZE = 1024;
+	private static final String AES_SECRET_KEY = "0d299ce2d4105282f7471074cb0f9f9d";
+
+	/**
+	 * <p>
+	 * 加密
+	 * </p>
+	 *
+	 * @param data
+	 * @param key
+	 * @return jdbc_username=mtp2_manage
+jdbc_password=mtpmuchinfo
+	 * @throws Exception
+	 */
+	public static String encryptByAES(String text) {
+		String cryptographic = "";
+
+		synchronized(EncryptionUtils.class) {
+			try {
+				byte[] raw = Hex.decode(AES_SECRET_KEY);
+				SecretKeySpec secretKeySpec = new SecretKeySpec(raw, AES_ALGORITHM);
+				Cipher cipher = Cipher.getInstance(AES_ALGORITHM);
+				cipher.init(Cipher.ENCRYPT_MODE, secretKeySpec);
+				byte[] aesData = cipher.doFinal(text.getBytes("utf-8"));
+				cryptographic = Hex.encodeToString(aesData);
+				//                System.out.println(cryptographic);
+			} catch (Exception e) {
+				// : handle exception
+				e.printStackTrace();
+			}
+		}
+
+		return cryptographic;
+	}
+
+
+	/**
+	 * <p>
+	 * 解密
+	 * </p>
+	 *
+	 * @param data
+	 * @param key
+	 * @return
+	 * @throws Exception
+	 */
+	public static String decryptForAES(String cryptographic) {
+		String txt = "";
+//		if(StringUtils.isBlank(cryptographic)){
+//			return txt;
+//		}
+		try {
+			byte[] raw = Hex.decode(AES_SECRET_KEY);
+			SecretKeySpec secretKeySpec = new SecretKeySpec(raw, AES_ALGORITHM);
+			Cipher cipher = Cipher.getInstance(AES_ALGORITHM);
+			cipher.init(Cipher.DECRYPT_MODE, secretKeySpec);
+			byte[] txtData = cipher.doFinal(Hex.decode(cryptographic));
+			txt = new String(txtData, "utf-8");
+			//            System.out.println(txt);
+		} catch (Exception e) {
+			e.printStackTrace();
+			txt = cryptographic;
+		}
+
+		return txt;
+	}
+
+
+
+
+}

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

@@ -269,9 +269,7 @@ class NewHomeFragment : BaseFragment<HomeViewModel>() {
                         }
                         textView {
                             viewModel.loginQueryData.bindOptional(context) {
-                                if (it?.username.isNullOrEmpty().not()){
-                                    text = it?.username + "(" + it?.loginAccount?.logincode + ")"
-                                }
+                                text = it?.loginAccount?.accountname
                             }
                             textColorStr = "#AED6F0"
                             textSizeAuto = 29

+ 22 - 6
RMA/app/src/main/java/cn/muchinfo/rma/view/base/home/set/ChangePasswordActivity.kt

@@ -1,6 +1,7 @@
 package cn.muchinfo.rma.view.base.home.set
 
 import android.app.Dialog
+import android.content.Intent
 import android.os.Bundle
 import android.text.InputType
 import android.view.Gravity
@@ -13,6 +14,7 @@ import cn.muchinfo.rma.view.autoWidget.*
 import cn.muchinfo.rma.view.base.BaseActivity
 import cn.muchinfo.rma.view.base.future.trade.itemView
 import cn.muchinfo.rma.view.base.home.contract.emptyView
+import com.blankj.utilcode.util.ActivityUtils
 import com.blankj.utilcode.util.AppUtils
 import com.blankj.utilcode.util.LogUtils
 import com.blankj.utilcode.util.ToastUtils
@@ -48,6 +50,7 @@ class ChangePasswordActivity : BaseActivity<ChangePasswordViewModel>(){
             }
 
             linearLayout {
+                visibility = View.GONE
                 gravity = Gravity.CENTER_VERTICAL
                 background = resources.getDrawable(R.color.p_global_write_color)
                 textView {
@@ -60,7 +63,7 @@ class ChangePasswordActivity : BaseActivity<ChangePasswordViewModel>(){
                 }
 
                 textView {
-                    text = "登录账号"
+                    text = "登录账号"
                     textColorInt = R.color.rma_black_33
                     textSizeAuto = 34
                 }.lparams(wrapContent, wrapContent) {
@@ -70,14 +73,14 @@ class ChangePasswordActivity : BaseActivity<ChangePasswordViewModel>(){
                 emptyView()
 
                 textView {
-                    text = GlobalDataCollection.instance?.loginQueryData?.username
+                    text = GlobalDataCollection.instance?.loginQueryData?.loginAccount?.logincode
                     textSizeAuto = 34
                     textColorInt = R.color.rma_black_33
                 }.lparams(wrapContent, wrapContent){
                     marginEnd = marpadding
                 }
             }.lparams(matchParent, autoSize(120))
-            itemView()
+//            itemView()
 
             linearLayout {
                 gravity = Gravity.CENTER_VERTICAL
@@ -91,7 +94,7 @@ class ChangePasswordActivity : BaseActivity<ChangePasswordViewModel>(){
                 }
 
                 textView {
-                    text = "原密码"
+                    text = "原密码"
                     textColorInt = R.color.rma_black_33
                     textSizeAuto = 34
                 }.lparams(wrapContent, wrapContent) {
@@ -110,6 +113,19 @@ class ChangePasswordActivity : BaseActivity<ChangePasswordViewModel>(){
                 }.lparams(0, matchParent, 1f) {
                     marginEnd = marpadding
                 }
+
+                textView {
+                    onThrottleFirstClick {
+                        val intent = Intent()
+                        intent.setClass(context,ResetPasswordActivity::class.java)
+                        ActivityUtils.startActivity(intent)
+                    }
+                    text = "忘记密码"
+                    textColorInt = R.color.rma_blue_color
+                    textSizeAuto = 34
+                }.lparams(wrapContent, wrapContent) {
+                    marginEnd = marpadding
+                }
             }.lparams(matchParent, autoSize(120))
             itemView()
 
@@ -125,7 +141,7 @@ class ChangePasswordActivity : BaseActivity<ChangePasswordViewModel>(){
                 }
 
                 textView {
-                    text = "新密码"
+                    text = "新密码"
                     textColorInt = R.color.rma_black_33
                     textSizeAuto = 34
                 }.lparams(wrapContent, wrapContent) {
@@ -159,7 +175,7 @@ class ChangePasswordActivity : BaseActivity<ChangePasswordViewModel>(){
                 }
 
                 textView {
-                    text = "确认新密码"
+                    text = "确认新密码"
                     textColorInt = R.color.rma_black_33
                     textSizeAuto = 34
                 }.lparams(wrapContent, wrapContent) {

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

@@ -105,12 +105,12 @@ class PasswordViewModel : BaseViewModel(){
     }
 
 
-    fun resetPassword(phone : String,vcode : String,newPassword : String,logincode : String){
+    fun resetPassword(phone : String,vcode : String,newPassword : String,logincode : String = ""){
         val sha256Encrypt = SHA256Encrypt()
         val json = JSONObject()
         json["mobile"] = DesTools.myServiceAddPass(phone)
         json["vcode"] = vcode
-        json["logincode"] = logincode
+//        json["logincode"] = logincode
 //        json["cardnum"] = idcardNum
         json["password"] = sha256Encrypt.getEncryptString(sha256Encrypt.encrypt(
                 loginInfoAccount.value + newPassword)).toLowerCase()

+ 6 - 11
RMA/app/src/main/java/cn/muchinfo/rma/view/base/home/set/ResetPasswordActivity.kt

@@ -48,7 +48,7 @@ class ResetPasswordActivity : BaseActivity<PasswordViewModel>() {
 
     lateinit var captcha: Captcha
     lateinit var profitEdittext: EditText
-    lateinit var login_account: EditText
+
     lateinit var verfify: EditText
     lateinit var idCard: EditText
     lateinit var areaCodeText: TextView
@@ -72,7 +72,7 @@ class ResetPasswordActivity : BaseActivity<PasswordViewModel>() {
             topBar {
                 commonLeftButton()
                 commonTitle {
-                    text = "重置密码"
+                    text = "重置登录密码"
                 }
             }
 
@@ -86,6 +86,7 @@ class ResetPasswordActivity : BaseActivity<PasswordViewModel>() {
                 }
 
                 linearLayout {
+                    visibility = View.GONE
                     gravity = Gravity.CENTER_VERTICAL
                     background = resources.getDrawable(R.color.p_global_write_color)
                     textView {
@@ -108,7 +109,6 @@ class ResetPasswordActivity : BaseActivity<PasswordViewModel>() {
                         isEnabled = false
                         setText(GlobalDataCollection.instance?.loginQueryData?.loginAccount?.logincode)
                         hint = "请输入登录账号"
-                        login_account = this
                         inputType = EditorInfo.TYPE_CLASS_TEXT
                         gravity = Gravity.CENTER_VERTICAL
                         hintColorStr = "#cccccc"
@@ -325,11 +325,6 @@ class ResetPasswordActivity : BaseActivity<PasswordViewModel>() {
                 onThrottleFirstClick {
                     if (viewModel.backgroundVerfifySuccess.value == false) {
 
-                        if (login_account.text.toString().isNullOrEmpty()){
-                            ToastUtils.showLong("请输入登陆账号")
-                            return@onThrottleFirstClick
-                        }
-
                         if (profitEdittext.text.toString().isEmpty()) {
                             ToastUtils.showLong("请输入手机号")
                             return@onThrottleFirstClick
@@ -351,8 +346,9 @@ class ResetPasswordActivity : BaseActivity<PasswordViewModel>() {
 //                            return@onThrottleFirstClick
 //                        }
 
+
                         viewModel.loginidQuery(
-                            account = login_account.text.toString()
+                            account = profitEdittext.text.toString()
                         )
                     } else {
                         // TODO 重置密码
@@ -380,8 +376,7 @@ class ResetPasswordActivity : BaseActivity<PasswordViewModel>() {
                         viewModel.resetPassword(
                             phone = profitEdittext.text.toString(),
                             vcode = verfify.text.toString(),
-                            newPassword = newPassword.text.toString(),
-                            logincode = login_account.text.toString()
+                            newPassword = newPassword.text.toString()
                         )
                     }
                 }

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

@@ -115,9 +115,10 @@ class SettingActivity : BaseActivity<SettingViewModel>(){
 
             textView {
                 onThrottleFirstClick {
-                    GlobalDataCollection.instance?.clean()
+
                     viewModel.loginOut {
                         if (it){
+                            GlobalDataCollection.instance?.clean()
                             AppUtils.relaunchApp()
                         }
                     }

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

@@ -21,6 +21,8 @@ import cn.muchinfo.rma.global.isBlankString
 import cn.muchinfo.rma.lifecycle.bindOptional
 import cn.muchinfo.rma.view.autoWidget.*
 import cn.muchinfo.rma.view.autoWidget.utils.AESEncryptUtils
+import cn.muchinfo.rma.view.autoWidget.utils.CopyButtonLibrary
+import cn.muchinfo.rma.view.autoWidget.utils.EncryptionUtils
 import cn.muchinfo.rma.view.autoWidget.utils.NumberUtils
 
 import cn.muchinfo.rma.view.base.BaseFragment
@@ -64,6 +66,8 @@ class SeaKingMainFragment : BaseFragment<SeaKingMainViewModel>() {
 
     lateinit var phone_num : TextView
 
+    lateinit var refernum_text : TextView
+
     override fun onResume() {
         super.onResume()
         viewModel.getUserAccount()
@@ -180,7 +184,7 @@ class SeaKingMainFragment : BaseFragment<SeaKingMainViewModel>() {
                                                 intent.setClass(context,ApplyPromotionCodeActivity::class.java)
                                                 ActivityUtils.startActivity(intent)
                                             }else{
-                                                if (viewModel.brokerApplyData.value?.applystatus == "1" || viewModel.brokerApplyData.value?.applystatus == "2"){//只展示
+                                                if (viewModel.brokerApplyData.value?.applystatus == "1"){//只展示
                                                     val intent = Intent()
                                                     intent.putExtra("type","3")
                                                     intent.putExtra("data",viewModel.brokerApplyData.value)
@@ -192,6 +196,9 @@ class SeaKingMainFragment : BaseFragment<SeaKingMainViewModel>() {
                                                     intent.putExtra("data",viewModel.brokerApplyData.value)
                                                     intent.setClass(context,ApplyPromotionCodeActivity::class.java)
                                                     ActivityUtils.startActivity(intent)
+                                                }else if (viewModel.brokerApplyData.value?.applystatus == "2"){
+                                                    val copyButtonLibrary = CopyButtonLibrary(context,refernum_text)
+                                                    copyButtonLibrary.init()
                                                 }
                                             }
                                         }
@@ -263,6 +270,7 @@ class SeaKingMainFragment : BaseFragment<SeaKingMainViewModel>() {
 
                                         verticalLayout {
                                             textView {
+                                                refernum_text = this
                                                 viewModel.brokerApplyData.bindOptional(context) {
                                                     text = it?.refernum
                                                 }
@@ -375,8 +383,7 @@ class SeaKingMainFragment : BaseFragment<SeaKingMainViewModel>() {
                             linearLayout {
                                 linearLayout {
                                     onThrottleFirstClick {
-//                                        LogUtils.eTag("daskhdakjhskdjhajsk",
-//                                            AESEncryptUtils.decryptAES(GlobalDataCollection.instance?.loginQueryData?.userInfo?.cardnum,"0d299ce2d4105282f7471074cb0f9f9d"))
+
                                         if (GlobalDataCollection.instance?.bankAccountSignData?.accountcode.isNullOrEmpty()){
                                             ToastUtils.showLong("请先添加提现账户信息")
                                             return@onThrottleFirstClick
@@ -603,6 +610,18 @@ class SeaKingMainFragment : BaseFragment<SeaKingMainViewModel>() {
                         itemView()
 
                         linearLayout {
+                            visibility = View.GONE
+                            viewModel.brokerApplyData.bindOptional(context){
+                                if (GlobalDataCollection.instance?.loginQueryData?.userInfo?.userinfotype == 2){
+                                    visibility = View.GONE
+                                }else{
+                                    if (it?.applystatus == "2"){
+                                        visibility = View.VISIBLE
+                                    }else{
+                                        visibility = View.GONE
+                                    }
+                                }
+                            }
                             gravity = Gravity.CENTER_VERTICAL
                             onThrottleFirstClick {
                                 val intent = Intent()
@@ -652,6 +671,18 @@ class SeaKingMainFragment : BaseFragment<SeaKingMainViewModel>() {
                         itemView()
 
                         linearLayout {
+                            visibility = View.GONE
+                            viewModel.brokerApplyData.bindOptional(context){
+                                if (GlobalDataCollection.instance?.loginQueryData?.userInfo?.userinfotype == 2){
+                                    visibility = View.GONE
+                                }else{
+                                    if (it?.applystatus == "2"){
+                                        visibility = View.VISIBLE
+                                    }else{
+                                        visibility = View.GONE
+                                    }
+                                }
+                            }
                             gravity = Gravity.CENTER_VERTICAL
                             onThrottleFirstClick {
                                 val intent = Intent()
@@ -698,28 +729,35 @@ class SeaKingMainFragment : BaseFragment<SeaKingMainViewModel>() {
                             }
                         }.lparams(matchParent, autoSize(140))
 
-                        itemView()
+                         itemView()
 
                         linearLayout {
+                            visibility = View.GONE
+                            viewModel.brokerApplyData.bindOptional(context){
+                                if (GlobalDataCollection.instance?.loginQueryData?.userInfo?.userinfotype == 2){
+                                    visibility = View.GONE
+                                }else{
+                                    if (it?.applystatus == "2"){
+                                        visibility = View.VISIBLE
+                                    }else{
+                                        visibility = View.GONE
+                                    }
+                                }
+                            }
+                            gravity = Gravity.CENTER_VERTICAL
                             onThrottleFirstClick {
                                 val intent = Intent()
-                                if (GlobalDataCollection.instance?.bankAccountSignData?.bankid.isNullOrEmpty()) {
-                                    intent.putExtra("data", BankAccountSignData())
-                                } else {
-                                    intent.putExtra("data", GlobalDataCollection.instance?.bankAccountSignData)
-                                }
-                                intent.setClass(context, WithDrawManagementActivity::class.java)
+                                intent.setClass(context, MyIntegralActivity::class.java)
                                 ActivityUtils.startActivity(intent)
                             }
-                            gravity = Gravity.CENTER_VERTICAL
                             imageView {
-                                imageResource = R.mipmap.qhj_account_manager
+                                imageResource = R.mipmap.my_integral_icon
                             }.lparams(autoSize(50), autoSize(50)) {
                                 marginStart = autoSize(60)
                             }
 
                             textView {
-                                text = "提现账户管理"
+                                text = "我的积分"
                                 textSizeAuto = 36
                                 textColorInt = R.color.rma_black_33
                             }.lparams(wrapContent, wrapContent) {
@@ -755,20 +793,25 @@ class SeaKingMainFragment : BaseFragment<SeaKingMainViewModel>() {
                         itemView()
 
                         linearLayout {
-                            gravity = Gravity.CENTER_VERTICAL
                             onThrottleFirstClick {
                                 val intent = Intent()
-                                intent.setClass(context, MyAddressManagementActivity::class.java)
+                                if (GlobalDataCollection.instance?.bankAccountSignData?.bankid.isNullOrEmpty()) {
+                                    intent.putExtra("data", BankAccountSignData())
+                                } else {
+                                    intent.putExtra("data", GlobalDataCollection.instance?.bankAccountSignData)
+                                }
+                                intent.setClass(context, WithDrawManagementActivity::class.java)
                                 ActivityUtils.startActivity(intent)
                             }
+                            gravity = Gravity.CENTER_VERTICAL
                             imageView {
-                                imageResource = R.mipmap.qhj_good_address
+                                imageResource = R.mipmap.qhj_account_manager
                             }.lparams(autoSize(50), autoSize(50)) {
                                 marginStart = autoSize(60)
                             }
 
                             textView {
-                                text = "收货地址管理"
+                                text = "提现账户管理"
                                 textSizeAuto = 36
                                 textColorInt = R.color.rma_black_33
                             }.lparams(wrapContent, wrapContent) {
@@ -807,17 +850,17 @@ class SeaKingMainFragment : BaseFragment<SeaKingMainViewModel>() {
                             gravity = Gravity.CENTER_VERTICAL
                             onThrottleFirstClick {
                                 val intent = Intent()
-                                intent.setClass(context, MyIntegralActivity::class.java)
+                                intent.setClass(context, MyAddressManagementActivity::class.java)
                                 ActivityUtils.startActivity(intent)
                             }
                             imageView {
-                                imageResource = R.mipmap.my_integral_icon
+                                imageResource = R.mipmap.qhj_good_address
                             }.lparams(autoSize(50), autoSize(50)) {
                                 marginStart = autoSize(60)
                             }
 
                             textView {
-                                text = "我的积分"
+                                text = "收货地址管理"
                                 textSizeAuto = 36
                                 textColorInt = R.color.rma_black_33
                             }.lparams(wrapContent, wrapContent) {

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

@@ -440,11 +440,15 @@ class ApplyPromotionCodeActivity : BaseActivity<MyPromotionCodeViewModel>() {
                         val path = positiveUploadFile.value.guard {
                             return@onThrottleFirstClick
                         }
-                        PhotoUtils().showImageViewer(
-                            this@ApplyPromotionCodeActivity,
-                            1,
-                            arrayListOf(path)
-                        )
+                        val intent = Intent()
+                        intent.putExtra("url",path)
+                        intent.setClass(context,ShowImageByUrlActivity::class.java)
+                        ActivityUtils.startActivity(intent)
+//                        PhotoUtils().showImageViewer(
+//                            this@ApplyPromotionCodeActivity,
+//                            1,
+//                            arrayListOf(path)
+//                        )
                     }
                 }.lparams(autoSize(480), autoSize(288))
             }.lparams(matchParent, autoSize(288)) {
@@ -624,11 +628,15 @@ class ApplyPromotionCodeActivity : BaseActivity<MyPromotionCodeViewModel>() {
                         val path = reverseUploadFile.value.guard {
                             return@onThrottleFirstClick
                         }
-                        PhotoUtils().showImageViewer(
-                            this@ApplyPromotionCodeActivity,
-                            1,
-                            arrayListOf(path)
-                        )
+                        val intent = Intent()
+                        intent.putExtra("url",path)
+                        intent.setClass(context,ShowImageByUrlActivity::class.java)
+                        ActivityUtils.startActivity(intent)
+//                        PhotoUtils().showImageViewer(
+//                            this@ApplyPromotionCodeActivity,
+//                            1,
+//                            arrayListOf(path)
+//                        )
                     }
                 }.lparams(autoSize(480), autoSize(288))
             }.lparams(matchParent, autoSize(288)) {
@@ -664,6 +672,7 @@ class ApplyPromotionCodeActivity : BaseActivity<MyPromotionCodeViewModel>() {
                             val intent = Intent()
                             intent.putExtra("type","1")
                             intent.putExtra("data",BrokerApplyData())
+                            intent.setClass(context,ApplyPromotionCodeActivity::class.java)
                             ActivityUtils.startActivity(intent)
                             finish()
                         }

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

@@ -0,0 +1,45 @@
+package cn.muchinfo.rma.view.base.main.promotioncode
+
+import android.os.Bundle
+import cn.muchinfo.rma.R
+import cn.muchinfo.rma.view.autoWidget.commonLeftButton
+import cn.muchinfo.rma.view.autoWidget.commonTitle
+import cn.muchinfo.rma.view.autoWidget.showImage
+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.SPUtils
+import org.jetbrains.anko.imageView
+import org.jetbrains.anko.matchParent
+import org.jetbrains.anko.verticalLayout
+
+/**
+ * 单纯展示image图片
+ */
+class ShowImageByUrlActivity : BaseActivity<MyPromotionCodeViewModel>(){
+
+    val url by lazy { intent.getStringExtra("url") }
+
+    override fun onCreate(savedInstanceState: Bundle?) {
+        super.onCreate(savedInstanceState)
+        verticalLayout {
+            background = resources.getDrawable(R.color.main_hit_bg_color)
+            //页面标题
+            topBar {
+                commonLeftButton()
+                commonTitle {
+                    text = "申请推广码"
+                }
+            }
+
+            imageView {
+                showImage(
+                    SPUtils.getInstance().getString(Constant.openApiUrl) + url?.substring(
+                        1
+                    )
+                )
+            }.lparams(matchParent, matchParent)
+        }
+    }
+
+}

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

@@ -20,8 +20,10 @@ import com.blankj.utilcode.util.ActivityUtils
 import com.blankj.utilcode.util.TimeUtils
 import com.sunfusheng.marqueeview.MarqueeView
 import mtp.polymer.com.autowidget.adapter.BaseAdapter
+import mtp.polymer.com.autowidget.dialog.createLoadingDialog
 import mtp.polymer.com.autowidget.dialog.showDataSelectDialog
 import mtp.polymer.com.autowidget.utils.TaskUiModel
+import mtp.polymer.com.autowidget.utils.bindTaskStatus
 import org.jetbrains.anko.*
 import java.text.SimpleDateFormat
 
@@ -53,6 +55,7 @@ class MyRewardActivity : BaseActivity<MyRewardViewModel>(){
     override fun onCreate(savedInstanceState: Bundle?) {
         super.onCreate(savedInstanceState)
         verticalLayout {
+
             initTime()
             viewModel.queryRewardList()
             background = resources.getDrawable(R.color.main_hit_bg_color)

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

@@ -37,15 +37,17 @@ class MyRewardViewModel : BaseViewModel(){
         val params = mutableMapOf<String,String>().apply {
             put("userid",GlobalDataCollection.instance?.loginRsp?.userID.toString())
             if (begindate.isNotEmpty()){
-                put("begindate",begindate)
+                put("begindate",begindate.replace("-",""))
             }
             if (enddate.isNotEmpty()){
-                put("enddate",enddate)
+                put("enddate",enddate.replace("-",""))
             }
         }
 
+
         MyApplication.getInstance()?.accountManager?.queryBrokerRewardLog(params = params){isSuccess, respData, error ->
             if (isSuccess){
+
                 respData?.toArrayList()?.sortWith(Comparator { t1, t2 ->
                     (TimeUtils.string2Millis(t2.createtime) - TimeUtils.string2Millis(t1.createtime)).toInt()
                 })

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

@@ -51,7 +51,7 @@ class RewardRuleActivity : BaseActivity<MyRewardViewModel>(){
                 linearLayout {
                     gravity = Gravity.CENTER
                     textView {
-                        text = "奖励类型"
+                        text = "奖励方式"
                         textSizeAuto = 31
                         textColorInt = R.color.rma_blue_color
                     }.lparams(wrapContent, wrapContent)
@@ -110,7 +110,7 @@ class RewardRuleActivity : BaseActivity<MyRewardViewModel>(){
                 linearLayout {
                     gravity = Gravity.CENTER
                     textView {
-                        text = "注册"
+                        text = "推广"
                         textSizeAuto = 31
                         textColorInt = R.color.rma_blue_color
                     }.lparams(wrapContent, wrapContent)

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

@@ -71,7 +71,11 @@ class RewardViewHolder(private val activity : AppCompatActivity) : BaseViewHolde
                     gravity = Gravity.CENTER_VERTICAL or Gravity.RIGHT
                     textView {
                         data.bindOptional(context){
-                            text = NumberUtils.roundNum(it?.srcamount,2)
+                            if (it?.rewardtype == "1"){
+                                text = "--"
+                            }else{
+                                text = it?.srcamount
+                            }
                         }
                         textSizeAuto = 29
                         textColorInt = R.color.rma_gray_color
@@ -82,7 +86,7 @@ class RewardViewHolder(private val activity : AppCompatActivity) : BaseViewHolde
                     gravity = Gravity.CENTER_VERTICAL or Gravity.RIGHT
                     textView {
                         data.bindOptional(context){
-                            text = NumberUtils.roundNum(it?.rewardamount,2)
+                            text = it?.rewardamount
                         }
                         textSizeAuto = 29
                         textColorInt = R.color.rma_gray_color

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

@@ -28,7 +28,7 @@ class TeamOrderViewHolder(private val activity : AppCompatActivity,private val v
                 gravity = Gravity.LEFT
                 textView {
                     data.bindOptional(context){
-                        text = it?.accountid//好像接口没有提供账号先显示这个吧
+                        text = it?.accountname
                     }
                     textSizeAuto = 32
                     textColorInt = R.color.rma_black_33

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

@@ -14,6 +14,7 @@ import cn.muchinfo.rma.global.data.transit.SignReq
 import cn.muchinfo.rma.lifecycle.bindOptional
 import cn.muchinfo.rma.view.autoWidget.*
 import cn.muchinfo.rma.view.autoWidget.utils.AESEncryptUtils
+import cn.muchinfo.rma.view.autoWidget.utils.EncryptionUtils
 import cn.muchinfo.rma.view.base.BaseActivity
 import cn.muchinfo.rma.view.base.future.trade.itemView
 import cn.muchinfo.rma.view.base.home.contract.emptyView
@@ -295,7 +296,7 @@ class AddWithDrawActivity : BaseActivity<WithDrawManagementViewModel>(){
         req.openBankName = branch_name.text.toString()
         req.extOperatorID = TimeUtils.getNowMills()
         req.certType = GlobalDataCollection.instance?.loginQueryData?.userInfo?.cardtypeid?.toString()
-        req.certID =  GlobalDataCollection.instance?.loginQueryData?.userInfo?.cardnum
+        req.certID =  EncryptionUtils.decryptForAES(GlobalDataCollection.instance?.loginQueryData?.userInfo?.cardnum)
         req.cusBankID = viewModel.cusBankSignBankDataList.value?.cusbankid
         req.currency = viewModel.cusBankSignBankDataList.value?.currency
         req.tradeDate = viewModel.cusBankSignBankDataList.value?.tradedate