Explorar el Código

充值俊友币的修改

jixionghui hace 4 años
padre
commit
0de5f92734

+ 5 - 0
jixin/src/main/java/com/jixin/im/AppConfig.java

@@ -318,6 +318,9 @@ public class AppConfig {
     public String SEND_GIFT_LOG;          //查询发送的礼物
     public String GIFT_BALANCE_LOG;           //俊友币账户明细
     public String GET_USER_GIFT_BALANCE;    //获取用户俊友币和收益
+    public String GET_GIFT_BALANCE_CONFIG ;    //获取俊友币配置
+    public String BUY_GIFT_BALANCE;         //充值俊友币
+
 
 
     /* 登出地址 */
@@ -847,6 +850,8 @@ public class AppConfig {
         config.SEND_GIFT_LOG = apiUrl +"api/UserGiftBalance/sendGiftLog";      //查询发出的礼物
         config.GIFT_BALANCE_LOG = apiUrl +"api/UserGiftBalance/giftBalanceLog";
         config.GET_USER_GIFT_BALANCE = apiUrl+"api/UserGiftBalance/getUserGiftBalance";
+        config.GET_GIFT_BALANCE_CONFIG = apiUrl +"api/UserGiftBalance/getGiftBalanceConfig";        //获取俊友币配置
+        config.BUY_GIFT_BALANCE = apiUrl +"api/UserGiftBalance/buyGiftBalance";
     }
 
     private static void initOthersUrls(AppConfig config) {

+ 66 - 0
jixin/src/main/java/com/jixin/im/bean/GiftBalanceConfigBean.java

@@ -0,0 +1,66 @@
+package com.jixin.im.bean;
+
+import java.io.Serializable;
+
+/**
+ * 俊友币配置Bean
+ * Created by Harvey on 2020/10/11
+ */
+
+public class GiftBalanceConfigBean implements Serializable {
+    /**
+     * {
+     *         "incomeRatio":10,
+     *         "withdrawRatio":10,
+     *         "buyRatio":10,
+     *         "withdrawTaxes":10,
+     *         "giftBalance":10
+     *     }
+     */
+    private static final long serialVersionUID = 6646697306923598362L;
+    private double incomeRatio;     //收益比例
+    private double withdrawRatio;   //提现比例
+    private double buyRatio;        //	购买比例
+    private double withdrawTaxes;   //提现税费
+    private double giftBalance;     //俊友币余额
+
+    public double getIncomeRatio() {
+        return incomeRatio;
+    }
+
+    public void setIncomeRatio(double incomeRatio) {
+        this.incomeRatio = incomeRatio;
+    }
+
+    public double getWithdrawRatio() {
+        return withdrawRatio;
+    }
+
+    public void setWithdrawRatio(double withdrawRatio) {
+        this.withdrawRatio = withdrawRatio;
+    }
+
+    public double getBuyRatio() {
+        return buyRatio;
+    }
+
+    public void setBuyRatio(double buyRatio) {
+        this.buyRatio = buyRatio;
+    }
+
+    public double getWithdrawTaxes() {
+        return withdrawTaxes;
+    }
+
+    public void setWithdrawTaxes(double withdrawTaxes) {
+        this.withdrawTaxes = withdrawTaxes;
+    }
+
+    public double getGiftBalance() {
+        return giftBalance;
+    }
+
+    public void setGiftBalance(double giftBalance) {
+        this.giftBalance = giftBalance;
+    }
+}

+ 40 - 0
jixin/src/main/java/com/jixin/im/bean/RechargeCoinBean.java

@@ -0,0 +1,40 @@
+package com.jixin.im.bean;
+
+import java.io.Serializable;
+
+/**
+ * 充值俊友币
+ * Created by Harvey on 2020.10.11
+ */
+public class RechargeCoinBean implements Serializable {
+    private static final long serialVersionUID = 5133353646456792233L;
+    private String rechargeMoney;   //充值金额
+    private int junYouCoin;     //俊友币
+
+    private double buyRatio;    //比例
+
+    public double getBuyRatio() {
+        return buyRatio;
+    }
+
+    public void setBuyRatio(double buyRatio) {
+        this.buyRatio = buyRatio;
+    }
+
+
+    public String getRechargeMoney() {
+        return rechargeMoney;
+    }
+
+    public void setRechargeMoney(String rechargeMoney) {
+        this.rechargeMoney = rechargeMoney;
+    }
+
+    public int getJunYouCoin() {
+        return junYouCoin;
+    }
+
+    public void setJunYouCoin(int junYouCoin) {
+        this.junYouCoin = junYouCoin;
+    }
+}

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

@@ -2627,7 +2627,7 @@ public class ChatFragment extends EasyFragment implements ChatContentView.Messag
         String mChatBgPath = PreferenceUtils.getString(getActivity(), Constants.SET_CHAT_BACKGROUND_PATH
                 + mFriend.getUserId() + mLoginUserId, "reset");
 
-        String mChatBg = PreferenceUtils.getString(getActivity(), Constants.SET_CHAT_BACKGROUND
+            String mChatBg = PreferenceUtils.getString(getActivity(), Constants.SET_CHAT_BACKGROUND
                 + mFriend.getUserId() + mLoginUserId, "reset");
 
         if (TextUtils.isEmpty(mChatBgPath)

+ 125 - 28
jixin/src/main/java/com/jixin/im/ui/me/JunYouCoinRechargeActivity.java

@@ -1,6 +1,5 @@
 package com.jixin.im.ui.me;
 
-import androidx.appcompat.app.AppCompatActivity;
 import androidx.recyclerview.widget.GridLayoutManager;
 import androidx.recyclerview.widget.RecyclerView;
 
@@ -9,22 +8,36 @@ import android.view.LayoutInflater;
 import android.view.View;
 import android.widget.ImageView;
 import android.widget.LinearLayout;
+import android.widget.TableRow;
 import android.widget.TextView;
 
 import com.chad.library.adapter.base.BaseQuickAdapter;
 import com.chad.library.adapter.base.BaseViewHolder;
 import com.jixin.im.R;
+import com.jixin.im.bean.GiftBalanceConfigBean;
+import com.jixin.im.bean.RechargeCoinBean;
+import com.jixin.im.helper.DialogHelper;
 import com.jixin.im.ui.base.BaseActivity;
+import com.jixin.im.ui.base.EasyFragment;
 import com.jixin.im.util.StringUtils;
+import com.jixin.im.util.ToastUtil;
+import com.xuan.xuanhttplibrary.okhttp.HttpUtils;
+import com.xuan.xuanhttplibrary.okhttp.callback.BaseCallback;
+import com.xuan.xuanhttplibrary.okhttp.result.ObjectResult;
 
 import java.util.ArrayList;
+import java.util.HashMap;
 import java.util.List;
+import java.util.Map;
+
+import okhttp3.Call;
 
 public class JunYouCoinRechargeActivity extends BaseActivity {
 
     private RecyclerView mRecyclerViewRecharge;
     private RechargeAdapter mRechargeAdapter;
     private TextView mJunYouBalanceTv;
+    private final double[] sRechargeMoneyArray = new double[]{10, 30, 80, 120, 200, 800};
 
     @Override
     protected void onCreate(Bundle savedInstanceState) {
@@ -33,7 +46,7 @@ public class JunYouCoinRechargeActivity extends BaseActivity {
         initActionBar();
         mRecyclerViewRecharge = findViewById(R.id.recycler_view_recharge);
         initRecyclerView();
-        test();
+        getDataAsyn();
 
 
     }
@@ -48,19 +61,108 @@ public class JunYouCoinRechargeActivity extends BaseActivity {
         mRecyclerViewRecharge.setAdapter(mRechargeAdapter);
         mRechargeAdapter.bindToRecyclerView(mRecyclerViewRecharge);
         mRechargeAdapter.setOnItemClickListener((adapter, view, position) -> {
-                    mRechargeAdapter.mSelectedPosition= position;
-            mRechargeAdapter.notifyDataSetChanged();
+                    mRechargeAdapter.mSelectedPosition = position;
+                    mRechargeAdapter.notifyDataSetChanged();
 
                 }
         );
+        mRechargeAdapter.setOnItemChildClickListener(((adapter, view, position) -> {
+            if (view.getId() ==R.id.tv_buy_coin){
+                mRechargeAdapter.mSelectedPosition = position;
+                mRechargeAdapter.notifyDataSetChanged();
+               RechargeCoinBean bean =  mRechargeAdapter.getItem(position);
+               buyGiftBalance(bean.getRechargeMoney());
+            }
+        }));
+
+    }
+
+
+
+    private void buyGiftBalance(String money){
+        Map<String, String> params = new HashMap<>();
+        params.put("access_token", coreManager.getSelfStatus().accessToken);
+        params.put("money", money);
+        String url = coreManager.getConfig().BUY_GIFT_BALANCE;
+        DialogHelper.showDefaulteMessageProgressDialog(this);
+        HttpUtils.post().url(url)
+                .params(params)
+                .build()
+                .execute(new BaseCallback<Double>(Double.class) {
+
+                    @Override
+                    public void onResponse(ObjectResult<Double> result) {
+                        DialogHelper.dismissProgressDialog();
+                        if (result != null && result.getResultCode() ==1) {
+                            double balance = mGiftBalanceConfigBean.getGiftBalance()+Double.parseDouble(money);
+                            mJunYouBalanceTv.setText(StringUtils.getMoney(balance));
+                        }
+
+                    }
+
+                    @Override
+                    public void onError(Call call, Exception e) {
+                        DialogHelper.dismissProgressDialog();
+                        ToastUtil.showToast(getApplicationContext(),e.getMessage());
+
+                    }
+                });
+
+    }
+
+
+    private void getDataAsyn() {
+        Map<String, String> params = new HashMap<>();
+        params.put("access_token", coreManager.getSelfStatus().accessToken);
+        String url = coreManager.getConfig().GET_GIFT_BALANCE_CONFIG;
+        DialogHelper.showDefaulteMessageProgressDialog(this);
+        HttpUtils.post().url(url)
+                .params(params)
+                .build()
+                .execute(new BaseCallback<GiftBalanceConfigBean>(GiftBalanceConfigBean.class) {
+
+                    @Override
+                    public void onResponse(ObjectResult<GiftBalanceConfigBean> result) {
+                        DialogHelper.dismissProgressDialog();
+                        if (result != null && result.getData() != null) {
+                            updateUI(result.getData());
+                        }
+
+                    }
+
+                    @Override
+                    public void onError(Call call, Exception e) {
+                        DialogHelper.dismissProgressDialog();
+                        ToastUtil.showToast(getApplicationContext(), e.getMessage());
+
+                    }
+                });
 
     }
-    private void setItemView(View itemView,boolean isSelected){
-        if (itemView!=null){
-            View bgView = itemView.findViewById(R.id.ll_jun_you);
-            bgView.setBackgroundResource(isSelected?R.mipmap.img_bg_green_radius_15:R.mipmap.img_bg_frame_white_radius_15);
-            mRechargeAdapter.notifyDataSetChanged();
 
+    private GiftBalanceConfigBean mGiftBalanceConfigBean;
+    private void updateUI(GiftBalanceConfigBean giftBalanceConfigBean) {
+        mGiftBalanceConfigBean = giftBalanceConfigBean;
+        if (giftBalanceConfigBean != null) {
+            String balance = StringUtils.getMoney(giftBalanceConfigBean.getGiftBalance());
+            mJunYouBalanceTv.setText(balance);
+            int length = sRechargeMoneyArray.length;
+            int position = 0;
+
+            String money;
+            int coin;
+            List<RechargeCoinBean> list = new ArrayList<>();
+            while (position < length) {
+                RechargeCoinBean bean = new RechargeCoinBean();
+                money = StringUtils.getMoney(sRechargeMoneyArray[position]);
+                bean.setRechargeMoney(money);
+                bean.setBuyRatio(giftBalanceConfigBean.getBuyRatio());
+                coin = (int) (sRechargeMoneyArray[position] * giftBalanceConfigBean.getBuyRatio());
+                bean.setJunYouCoin(coin);
+                list.add(bean);
+                position++;
+            }
+            mRechargeAdapter.setNewData(list);
         }
 
     }
@@ -69,44 +171,39 @@ public class JunYouCoinRechargeActivity extends BaseActivity {
     private void initActionBar() {
         getSupportActionBar().hide();
         findViewById(R.id.iv_title_left).setOnClickListener(v -> finish());
-        TextView tvTitle = (TextView) findViewById(R.id.tv_title_center);
+        TextView tvTitle = findViewById(R.id.tv_title_center);
         tvTitle.setText("购买");
 
     }
 
-    private void test() {
-        List<Object> list = new ArrayList<>();
-        for (int index = 0; index < 10; index++) {
-            list.add(new Object());
-        }
-        mRechargeAdapter.setNewData(list);
-    }
 
-    private static final class RechargeAdapter extends BaseQuickAdapter<Object, BaseViewHolder> {
+
+    private static final class RechargeAdapter extends BaseQuickAdapter<RechargeCoinBean, BaseViewHolder> {
 
         public RechargeAdapter() {
             super(R.layout.adapter_jun_you_coin_recharge);
         }
 
         @Override
-        protected void convert(BaseViewHolder helper, Object item) {
+        protected void convert(BaseViewHolder helper, RechargeCoinBean item) {
             int currentPosition = helper.getAdapterPosition();
-           LinearLayout linearLayout = getHeaderLayout();
-           if (linearLayout!=null){
-               currentPosition--;
-           }
-            LinearLayout llJunYou =  helper.itemView.findViewById(R.id.ll_jun_you);
+            LinearLayout linearLayout = getHeaderLayout();
+            if (linearLayout != null) {
+                currentPosition--;
+            }
+            LinearLayout llJunYou = helper.itemView.findViewById(R.id.ll_jun_you);
             ImageView ivCoin = helper.itemView.findViewById(R.id.iv_coin);
-            if (currentPosition== mSelectedPosition){
+            if (currentPosition == mSelectedPosition) {
                 llJunYou.setBackgroundResource(R.mipmap.img_bg_green_radius_15);
                 ivCoin.setImageResource(R.mipmap.me_jyb_gm_jb_sel);
-            }else {
+            } else {
                 llJunYou.setBackgroundResource(R.mipmap.img_bg_frame_white_radius_15);
                 ivCoin.setImageResource(R.mipmap.me_jyb_gm_jb_no);
             }
-            String rechargeRMB = StringUtils.getMoney(10.0) + "(元)";
+            String rechargeRMB = item.getRechargeMoney() + "(元)";
             helper.setText(R.id.tv_recharge_rmb, rechargeRMB);
-            helper.setText(R.id.tv_jun_you_coin, "420俊友币");
+            helper.addOnClickListener(R.id.tv_buy_coin);
+            helper.setText(R.id.tv_jun_you_coin, item.getJunYouCoin() + "俊友币");
         }
 
         private int mSelectedPosition = -1;

+ 4 - 0
jixin/src/main/java/com/jixin/im/ui/me/fragment/MyIncomeFragment.java

@@ -11,6 +11,7 @@ import androidx.recyclerview.widget.RecyclerView;
 import com.chad.library.adapter.base.BaseQuickAdapter;
 import com.chad.library.adapter.base.BaseViewHolder;
 import com.jixin.im.R;
+import com.jixin.im.bean.UserGiftBalanceBean;
 import com.jixin.im.bean.UserGiftBean;
 import com.jixin.im.helper.AvatarHelper;
 import com.jixin.im.helper.DialogHelper;
@@ -21,8 +22,10 @@ import com.scwang.smartrefresh.layout.SmartRefreshLayout;
 import com.scwang.smartrefresh.layout.api.RefreshLayout;
 import com.scwang.smartrefresh.layout.listener.OnRefreshLoadMoreListener;
 import com.xuan.xuanhttplibrary.okhttp.HttpUtils;
+import com.xuan.xuanhttplibrary.okhttp.callback.BaseCallback;
 import com.xuan.xuanhttplibrary.okhttp.callback.ListCallback;
 import com.xuan.xuanhttplibrary.okhttp.result.ArrayResult;
+import com.xuan.xuanhttplibrary.okhttp.result.ObjectResult;
 
 import java.text.SimpleDateFormat;
 import java.util.Date;
@@ -180,4 +183,5 @@ public class MyIncomeFragment extends EasyFragment {
     }
 
 
+
 }

+ 1 - 0
jixin/src/main/res/layout/adapter_jun_you_coin_recharge.xml

@@ -45,6 +45,7 @@
     </LinearLayout>
 
     <TextView
+        android:id="@+id/tv_buy_coin"
         android:layout_width="wrap_content"
         android:text="购买"
         android:layout_marginTop="6dp"