jixionghui 4 rokov pred
rodič
commit
1f2cd18894

+ 22 - 4
jixin/src/main/java/com/jixin/im/fragment/BaseRedPacketFragment.java

@@ -7,6 +7,7 @@ import android.text.Editable;
 import android.text.TextUtils;
 import android.text.TextWatcher;
 import android.util.ArrayMap;
+import android.util.Log;
 import android.view.View;
 import android.view.ViewStub;
 import android.widget.EditText;
@@ -56,6 +57,7 @@ public abstract class BaseRedPacketFragment extends EasyFragment {
     protected TextView tvSendRedPacket;
     protected TextView tvRedPacketType;
     private ImageView ivIconPin;
+    protected String mRoomId;
     protected LinearLayout lytRemark;
     protected String mRedPacketAcceptorId;    //红包接收对象id 可以是roomId,也可以是userId
 
@@ -78,10 +80,13 @@ public abstract class BaseRedPacketFragment extends EasyFragment {
     @Override
     protected void onActivityCreated(Bundle savedInstanceState, boolean createView) {
         if (createView) {
-            initView();
-            if (isGroupChatType() && getArguments()!=null){
-                mGroupMemberNumber = getArguments().getInt(SendRedPacketActivity.INTENT_GROUP_MEMBER_NUMBER);
+            Bundle bundle = getArguments();
+            if (isGroupChatType() && bundle!=null){
+                mRoomId =bundle.getString(SendRedPacketActivity.INTENT_ROOM_ID);
+                mGroupMemberNumber = bundle.getInt(SendRedPacketActivity.INTENT_GROUP_MEMBER_NUMBER);
             }
+            initView();
+
         }
     }
 
@@ -263,7 +268,12 @@ public abstract class BaseRedPacketFragment extends EasyFragment {
             return;
         }
         DialogHelper.showDefaulteMessageProgressDialog(getActivity());
-        HashMap<String, String> params = getSendRedPacketParameters();
+        HashMap<String, String> params;
+        if (isExclusiveType()){
+            params = new HashMap<>();
+        }else {
+            params = getSendRedPacketParameters();
+        }
         if (params==null){
             params = new HashMap<>();
         }
@@ -287,6 +297,10 @@ public abstract class BaseRedPacketFragment extends EasyFragment {
                     DialogHelper.dismissProgressDialog();
                     ToastUtil.showToast(getContext(), getActivity().getString(R.string.tip_pay_secure_place_holder, t.getMessage()));
                 }, (p, code) -> {
+                    if (isExclusiveType()){
+                        HashMap<String,String> hashMap = getSendRedPacketParameters();
+                        p.putAll(hashMap);
+                    }
                     HttpUtils.get().url(coreManager.getConfig().REDPACKET_SEND)
                             .params(p)
                             .build()
@@ -323,4 +337,8 @@ public abstract class BaseRedPacketFragment extends EasyFragment {
         );
     }
 
+    public boolean isExclusiveType(){
+        return mRedPacketType == 4;
+    }
+
 }

+ 4 - 2
jixin/src/main/java/com/jixin/im/fragment/ExclusiveRedPacketFragment.java

@@ -62,7 +62,7 @@ public class ExclusiveRedPacketFragment extends BaseRedPacketFragment {
         tvSelectExclusiveMember = rootView.findViewById(R.id.tv_select_exclusive_member);
         tvSelectExclusiveMember.setOnClickListener(v -> {
             Intent intent = new Intent(getContext(), GroupMoreFeaturesActivity.class);
-            intent.putExtra("roomId", mRedPacketAcceptorId);
+            intent.putExtra("roomId", mRoomId);
             intent.putExtra("isSelectReceiver", true);
             startActivityForResult(intent, CODE_REQUEST_SELECT_RECEIVER);
         });
@@ -109,7 +109,9 @@ public class ExclusiveRedPacketFragment extends BaseRedPacketFragment {
 
     @Override
     protected HashMap<String, String> getSendRedPacketParameters() {
-        return null;
+        HashMap<String,String> hashMap = new HashMap<>();
+        hashMap .put("assignUserIds",mReceiverId);
+        return hashMap;
     }
 
 

+ 1 - 0
jixin/src/main/java/com/jixin/im/fragment/MucChatFragment.java

@@ -2413,6 +2413,7 @@ public class MucChatFragment extends EasyFragment implements
         Intent intent = new Intent(getContext(), SendRedPacketActivity.class);
 //        intent.putExtra(SendRedPacketActivity.INTENT_ACCEPTOR_ID,roomId);
         intent.putExtra(SendRedPacketActivity.INTENT_ACCEPTOR_ID,mUseId);
+        intent.putExtra(SendRedPacketActivity.INTENT_ROOM_ID,roomId);
         intent.putExtra(ChatType.INTENT_CHAT_TYPE,ChatType.CHAT_GROUP);
         intent.putExtra(INTENT_GROUP_MEMBER_NUMBER, mCurrentMemberNum);
         startActivityForResult(intent, ChatActivity.REQUEST_CODE_SEND_RED);

+ 12 - 7
jixin/src/main/java/com/jixin/im/ui/me/redpacket/SendRedPacketActivity.java

@@ -29,9 +29,12 @@ import java.util.List;
  */
 public class SendRedPacketActivity extends BaseActivity {
     public final static String  INTENT_ACCEPTOR_ID  = "redPacketAcceptorId";
+    public final static String INTENT_ROOM_ID = "roomId";
+
     public final static String  INTENT_GROUP_MEMBER_NUMBER  = "GroupMemberNumber";
     private  int mGroupMemberNumber;
     private String mChatType;
+    private String mRoomId;
 
     private TabLayout mTabRedPacket;
     private ViewPager viewPager;
@@ -60,6 +63,8 @@ public class SendRedPacketActivity extends BaseActivity {
         Intent intent = getIntent();
         if (intent != null) {
             mRedPacketAcceptorId = getIntent().getStringExtra(INTENT_ACCEPTOR_ID);
+
+            mRoomId = getIntent().getStringExtra(INTENT_ROOM_ID);
             mChatType = intent.getStringExtra(ChatType.INTENT_CHAT_TYPE);
             if (TextUtils.isEmpty(mChatType)) {
                 mChatType = ChatType.CHAT_PRIVATE;
@@ -70,24 +75,24 @@ public class SendRedPacketActivity extends BaseActivity {
 
         mFragmentList = new ArrayList<>();
         BaseRedPacketFragment normalFragment = new NormalRedPacketFragment(mChatType,mRedPacketAcceptorId);
-
         BaseRedPacketFragment passwordFragment = new PasswordRedPacketFragment(mChatType,mRedPacketAcceptorId);
-        mFragmentList.add(normalFragment);
-        mFragmentList.add(passwordFragment);
-        if (isGroupChatType()) {
+        BaseRedPacketFragment exclusiveFragment = new ExclusiveRedPacketFragment(mChatType,mRedPacketAcceptorId);
 
-            BaseRedPacketFragment exclusiveFragment = new ExclusiveRedPacketFragment(mChatType,mRedPacketAcceptorId);
-            mFragmentList.add(exclusiveFragment);
+        if (isGroupChatType()) {
             Bundle bundle = new Bundle();
+            bundle.putString(INTENT_ROOM_ID,mRoomId);
             bundle.putInt(INTENT_GROUP_MEMBER_NUMBER,mGroupMemberNumber);
             normalFragment.setArguments(bundle);
             passwordFragment.setArguments(bundle);
             exclusiveFragment.setArguments(bundle);
         }
+        mFragmentList.add(normalFragment);
+        mFragmentList.add(passwordFragment);
+        mFragmentList.add(exclusiveFragment);
 
+    }
 
 
-    }
 
     private boolean isGroupChatType() {
         return ChatType.isGroupChatType(mChatType);