| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530 |
- import {createSlice} from "@reduxjs/toolkit";
- import {REQ_STATUS} from "@api/config";
- import {
- buildReqReducer,
- reqChangePayPass, reqCPFSave,
- reqFirstPayConfig, reqFirstPayMulti, reqForgetPayPass,
- reqGetAccountsPayInfo, reqGetSecond, reqMexWithdrawSetInfo,
- reqPaymentOrder, reqPaymentOrderQR,
- reqPayOrderList,
- reqRechargeConfig, reqRuWithdrawSetInfo,
- reqWithdrawBaseInfo,
- reqWithdrawInfo,
- reqWithdrawPayout,
- reqWithdrawRecord,
- reqWithdrawSetInfo,
- reqWithdrawTax
- } from "@features/api";
- import {getHttpMsg} from "@utils/helpers";
- import {toast} from "react-toastify";
- const i18n=global.i18n;
- const objInfo={}
- const reducerRechargeConfig=(state,action,arg)=>{
- let payload=action.payload;
- if (payload!=null&&payload.code===200){
- let data=payload.data;
- if (data.list){
- state.config=data.list;
- state.showBonus=data.bonus_show;
- state.cpfFirst=data.cpf_first;
- // state.showBonus=true;
- }
- }
- }
- const rechargeConfigStatus=(state,status,arg)=>{
- state.status.RechargeConfig=status;
- }
- const reducerFirstPayConfig=(state,action,arg)=>{
- let payload=action.payload;
- // payload={
- // "data": {
- // "first_pay": {
- // "id": "1017",
- // "money": "10",
- // "gear": "[{\"id\":\"28\",\"name\":\"PIX\\u76f4\\u8fde\",\"status\":1,\"type\":3}]",
- // "status": "1",
- // "created_at": "2022-06-09 13:57:58.000",
- // "favorable_price": 20,
- // "image": "11",
- // "give": "10",
- // "first_pay": "1",
- // "name": "\u9996\u5145\u6863\u4f4d\u914d\u7f6e",
- // "gift_id": "201",
- // "channels": "-1"
- // },
- // "recomendar_recharge": "7"
- // },
- // "result": "",
- // "msg": "success",
- // "code": 200
- // };
- if (payload!=null&&payload.code===200){
- let data=payload.data;
- state.firstconfig=data;
- }
- }
- const firstPayConfigStatus=(state,status,arg)=>{
- state.status.FirstPayConfig=status;
- }
- const reducerGetAccountsPayInfo=(state,action,arg)=>{
- let payload=action.payload;
- if (payload!=null&&payload.code===200){
- let data=payload.data;
- state.payconfig=data;
- }
- }
- const getAccountsPayInfoStatus=(state,status,arg)=>{
- state.status.GetAccountsPayInfo=status;
- }
- const reducerPaymentOrder=(state,action,arg)=>{
- let payload=action.payload;
- // payload={
- // "data": {
- // "content": "00020101021226830014br.gov.bcb.pix2561pix.delbank.com.br\/v1\/qrcode\/vcharge22e43499260b46a9a5f303ca55204000053039865802BR5907DELBANK6007ARACAJU62070503***6304F3DF",
- // "money": 10,
- // "prdOrdNo": "BR5050013857473344515256"
- // },
- // "result": "",
- // "msg": "success",
- // "code": 200
- // };
- if (payload!=null&&payload.code===200){
- let data=payload.data;
- data.createAt=Date.now();
- if(data.deadline==null)data.deadline=15*60;
- data.status="pending";
- // data.qr_link="https://qr.nspk.ru/AS10003P3RH0LJ2A9ROO038L6NT5RU1M?type=01&bank=000000000001&sum=10000&cur=RUB&crc=F3D0";
- data.arg=Object.assign({},arg,{callback:null,user:null});
- state.currPayOrder=data;
- if (arg.callback!=null)arg.callback();
- }
- else
- {
- if (payload!=null){
- let msg=getHttpMsg(payload);
- toast.error(msg);
- }
- }
- }
- const paymentOrderStatus=(state,status,arg)=>{
- state.status.PaymentOrder=status;
- }
- const paymentOrderQRStatus=(state,status,arg)=>{
- state.status.PaymentOrderQR=status;
- }
- const reducerPayOrderList=(state,action,arg)=>{
- let payload=action.payload;
- if (payload!=null&&payload.code===200){
- let data=payload.data;
- if (data){
- state.payOrderList=data.data;
- }
- }
- }
- const payOrderListStatus=(state,status,arg)=>{
- state.status.PayOrderList=status;
- }
- const reducerWithdrawTax=(state,action,arg)=>{
- let payload=action.payload;
- if (payload&&payload.code===200){
- let data=payload.data;
- if (data){
- state.WithDrawTax=data.WithDrawTax;
- }
- }
- }
- const reducerWithdrawBaseInfo=(state,action,arg)=>{
- let payload=action.payload;
- if (payload&&payload.code===200){
- let data=payload.data;
- if (data){
- state.withdrawBaseInfo=data;
- }
- }
- let callback=arg;
- if (callback!=null){
- callback(payload);
- }
- }
- const withdrawBaseInfoStatus=(state,status,arg)=>{
- state.status.WithdrawBaseInfo=status;
- }
- const reducerWithdrawInfo=(state,action,arg)=>{
- let payload=action.payload;
- if (payload&&payload.code===200){
- let data=payload.data;
- if (data){
- if (data.info)state.withdrawInfo=data.info;
- }
- }
- }
- const withdrawInfoStatus=(state,status,arg)=>{
- state.status.WithdrawInfo=status;
- }
- const reducerChangePayPass=(state,action,arg)=>{
- let payload=action.payload;
- let msg=getHttpMsg(payload);
- if (payload&&payload.code===200){
- let data=payload.data;
- if (data){
- // state.withdrawInfo=data;
- }
- if (arg){
- if (arg.newpassword!=null){
- global.setWDPass(arg.newpassword);
- }
- }
- toast.success(msg);
- }
- else{
- toast.error(msg);
- }
- if (arg&&arg.callback!=null){
- arg.callback(payload);
- }
- }
- const changePayPassStatus=(state,status,arg)=>{
- state.status.ChangePayPass=status;
- }
- const reducerWithdrawRecord=(state,action,arg)=>{
- let payload=action.payload;
- if (payload&&payload.code===200){
- let data=payload.data;
- if (data&&data.data){
- state.withdrawRecord=data.data;
- }
- }
- }
- const withdrawRecordStatus=(state,status,arg)=>{
- state.status.WithdrawRecoard=status;
- }
- const reducerWithdrawSetInfo=(state,action,arg)=>{
- let payload=action.payload;
- let msg=payload.msg;
- if (msg==null)msg="";
- else msg=getHttpMsg(payload);
- if (payload&&payload.code===200){
- let data=payload.data;
- toast.success(msg);
- }
- else {
- toast.error(msg);
- }
- if (arg&&arg.callback!=null){
- arg.callback(payload);
- }
- }
- const withdrawSetInfoStatus=(state,status,arg)=>{
- state.status.WithdrawSetInfo=status;
- }
- const reducerWithdrawPayout=(state,action,arg)=>{
- let payload=action.payload;
- let msg=getHttpMsg(payload);
- if (payload&&payload.code===200){
- // toast.success(msg);
- toast.success(i18n.t("withdraw.tip.success"));
- }
- else
- {
- toast.error(msg);
- }
- if (arg&&arg.callback!=null){
- arg.callback(payload);
- }
- }
- const withdrawPayoutStatus=(state,status,arg)=>{
- state.status.WithdrawPayout=status;
- }
- const reducerSaveCPF=(state,action,arg)=>{
- let payload=action.payload;
- let msg=getHttpMsg(payload);
- if (payload&&payload.code===200){
- state.cpfFirst=false;
- toast.success(msg);
- }
- else
- {
- toast.error(msg);
- }
- if (arg&&arg.callback!=null){
- arg.callback(payload);
- }
- }
- const saveCPFStatus=(state,status,arg)=>{
- state.status.SaveCPF=status;
- }
- //FirstPayMulti
- const clearCDTimer=()=>{
- if (objInfo.cdTimer!=null){
- clearInterval(objInfo.cdTimer);
- objInfo.cdTimer=null;
- }
- }
- const checkPayMultiLeftTime=(data)=>{
- clearCDTimer();
- let leftitem=data.leftitem;
- if (leftitem!=null){
- let timeleft=leftitem.timeleft;
- if (timeleft>0){
- objInfo.cdTimer=setInterval(()=>{
- timeleft--;
- if (timeleft<=0){
- global.dispatch(reqFirstPayMulti());
- clearCDTimer();
- }
- else
- {
- global.dispatch(updateMultiCD(timeleft));
- }
- },1000);
- }
- }
- }
- const reducerFirstPayMulti=(state,action,arg)=>{
- let payload=action.payload;
- if (payload!=null&&payload.code===200){
- let data=payload.data;
- // data={
- // "leftitem":{
- // "gift_id": "201",
- // "money": "10",
- // "give": "10",
- // "favorable_price": "10",
- // "second_give": "5",
- // "timeleft":0,
- // },
- // "default": 1
- // }
- state.firstPayMulti=data;
- checkPayMultiLeftTime(data);
- }
- }
- const firstPayMultiStatus=(state,status,arg)=>{
- state.status.FirstPayMulti=status;
- }
- const reducerGetSecond=(state,action,arg)=>{
- let payload=action.payload;
- if (payload!=null&&payload.code===200){
- toast.success(i18n.t("firstPay.claim_success"));
- state.firstPayMulti=null;
- }
- else
- {
- let msg=getHttpMsg(payload);
- toast.error(msg);
- }
- if (arg&&arg.callback!=null){
- arg.callback(payload);
- }
- }
- const getSecondStatus=(state,status,arg)=>{
- state.status.GetSecond=status;
- }
- //FirstPayMulti
- export const Pay=createSlice({
- name: 'pay',
- initialState: {
- status:{
- RechargeConfig:REQ_STATUS.NONE,
- FirstPayConfig:REQ_STATUS.NONE,
- GetAccountsPayInfo:REQ_STATUS.NONE,
- PaymentOrder:REQ_STATUS.NONE,
- ChangePayPass:REQ_STATUS.NONE,
- PayOrderList:REQ_STATUS.NONE,
- WithdrawRecoard:REQ_STATUS.NONE,
- WithdrawBaseInfo:REQ_STATUS.NONE,
- WithdrawInfo:REQ_STATUS.NONE,
- WithdrawSetInfo:REQ_STATUS.NONE,
- WithdrawPayout:REQ_STATUS.NONE,
- ForgetPayPass:REQ_STATUS.NONE,
- SaveCPF:REQ_STATUS.NONE,
- PaymentOrderQR:REQ_STATUS.NONE,
- FirstPayMulti:REQ_STATUS.NONE,
- GetSecond:REQ_STATUS.NONE,
- },
- config:[],
- payconfig:null,
- firstconfig:null,
- payType:null,
- currPayOrder:null,
- WithDrawTax:4,
- withdrawBaseInfo:null,
- withdrawInfo:null,
- payOrderList:null,
- withdrawRecord:null,
- changePayPassType:0,
- showBonus:false,
- cpfFirst:false,
- firstPayMulti:null
- },
- reducers: {
- updatePayFinish:((state, action) => {
- if (state.currPayOrder!=null){
- state.currPayOrder.status="success";
- //充值完成 message={Golds:12.xx,PayNum:10}
- toast.success(i18n.t("deposit.order_info.success"));
- }
- }),
- setChangePayPassType:((state, action) => {
- state.changePayPassType=action.payload;
- }),
- onSliceChangeUser:((state, action) => {
- state.isInit=false;
- }),
- updateMultiCD:((state, action) => {
- let payload=action.payload;
- if (payload!=null){
- if (state.firstPayMulti!=null&&state.firstPayMulti.leftitem!=null){
- state.firstPayMulti.leftitem.timeleft=payload;
- }
- }
- }),
- },
- extraReducers: (builder) => {
- buildReqReducer(builder,reqRechargeConfig,reducerRechargeConfig,rechargeConfigStatus);
- buildReqReducer(builder,reqFirstPayConfig,reducerFirstPayConfig,firstPayConfigStatus);
- buildReqReducer(builder,reqGetAccountsPayInfo,reducerGetAccountsPayInfo,getAccountsPayInfoStatus);
- buildReqReducer(builder,reqPaymentOrder,reducerPaymentOrder,paymentOrderStatus);
- buildReqReducer(builder,reqWithdrawTax,reducerWithdrawTax,null);
- buildReqReducer(builder,reqWithdrawBaseInfo,reducerWithdrawBaseInfo,withdrawBaseInfoStatus);
- buildReqReducer(builder,reqWithdrawInfo,reducerWithdrawInfo,withdrawInfoStatus);
- buildReqReducer(builder,reqChangePayPass,reducerChangePayPass,changePayPassStatus);
- buildReqReducer(builder,reqPayOrderList,reducerPayOrderList,payOrderListStatus);
- buildReqReducer(builder,reqWithdrawRecord,reducerWithdrawRecord,withdrawRecordStatus);
- buildReqReducer(builder,reqWithdrawSetInfo,reducerWithdrawSetInfo,withdrawSetInfoStatus);
- buildReqReducer(builder,reqWithdrawPayout,reducerWithdrawPayout,withdrawPayoutStatus);
- buildReqReducer(builder,reqForgetPayPass,reducerChangePayPass,changePayPassStatus);
- buildReqReducer(builder,reqMexWithdrawSetInfo,reducerWithdrawSetInfo,withdrawSetInfoStatus);
- buildReqReducer(builder,reqCPFSave,reducerSaveCPF,saveCPFStatus);
- buildReqReducer(builder,reqRuWithdrawSetInfo,reducerWithdrawSetInfo,withdrawSetInfoStatus);
- buildReqReducer(builder,reqPaymentOrderQR,reducerPaymentOrder,paymentOrderQRStatus);
- buildReqReducer(builder,reqFirstPayMulti,reducerFirstPayMulti,firstPayMultiStatus);
- buildReqReducer(builder,reqGetSecond,reducerGetSecond,getSecondStatus);
- },
- })
- export const {updatePayFinish,setChangePayPassType,updateMultiCD} = Pay.actions;
- export const getConfig=(state)=>{
- return state.pay.config;
- }
- export const getOFirstPay=(state)=>{
- return state.pay.firstconfig;
- }
- export const getFirstPay=(state)=>{
- let firstconfig=state.pay.firstconfig;
- let config=state.pay.config;
- let order=null;
- if (firstconfig!=null){
- let first_pay=firstconfig.first_pay;
- let recomendar_recharge=firstconfig.recomendar_recharge;
- if (first_pay!=null){
- let gear=JSON.parse(first_pay.gear);
- if (gear)gear=gear[0];
- order={
- goodsName:"firstpay",
- goodsPrice:first_pay.money,
- GiftsID: 201,
- cpf_first:0,
- give:first_pay.give,
- gear:gear
- }
- }
- else
- {
- for (let i = 0; i <config.length ; i++) {
- const elem = config[i];
- if (elem.id===recomendar_recharge){
- let gear=JSON.parse(elem.gear);
- if (gear)gear=gear[0];
- order={
- goodsName: "chip",
- goodsPrice: elem.money,
- GiftsID:elem.gift_id,
- cpf_first:0,
- give:elem.give,
- gear:gear
- }
- break;
- }
- }
- }
- }
- return order;
- }
- export const getPaymentOrderStatus=(state)=>{
- return state.pay.status.PaymentOrder;
- }
- export const getCurrPayOrder=(state)=>{
- return state.pay.currPayOrder;
- }
- export const getWithdrawBaseInfo=(state)=>{
- return state.pay.withdrawBaseInfo;
- }
- export const getWithdrawInfo=(state)=>{
- return state.pay.withdrawInfo;
- }
- export const getChangePayPassStatus=(state)=>{
- return state.pay.status.ChangePayPass;
- }
- export const getPayOrderStatus=(state)=>{
- return state.pay.status.PayOrderList;
- }
- export const getPayOrderList=(state)=>{
- return state.pay.payOrderList;
- }
- export const getWithdrawRecordStatus=(state)=>{
- return state.pay.status.WithdrawRecoard;
- }
- export const getWithdrawRecord=(state)=>{
- return state.pay.withdrawRecord;
- }
- export const getWithdrawTax=(state)=>{
- return state.pay.WithDrawTax;
- }
- export const getWDBaseInfoStatus=(state)=>{
- return state.pay.status.WithdrawBaseInfo;
- }
- export const getWDSetInfoStatus=(state)=>{
- return state.pay.status.WithdrawSetInfo;
- }
- export const getWDInfoStatus=(state)=>{
- return state.pay.status.WithdrawInfo;
- }
- export const getChangePayPassType=(state)=>{
- return state.pay.changePayPassType;
- }
- export const getWDPayoutStatus=(state)=>{
- return state.pay.status.WithdrawPayout;
- }
- export const getShowBonus=(state)=>{
- return state.pay.showBonus;
- }
- export const getPayConfigStatus=(state)=>{
- return state.pay.status.RechargeConfig;
- }
- export const getForgetPayPassStatus=(state)=>{
- return state.pay.status.ForgetPayPass;
- }
- export const getCPFFirst=(state)=>{
- return state.pay.cpfFirst;
- }
- export const getSaveCPFStatus=(state)=>{
- return state.pay.status.SaveCPF;
- }
- export const getPaymentOrderQRStatus=(state)=>{
- return state.pay.status.PaymentOrderQR;
- }
- export const getFirstPayMulti=(state)=>{
- return state.pay.firstPayMulti;
- }
- export const getGetSecondStatus=(state)=>{
- return state.pay.status.GetSecond;
- }
- export default Pay.reducer;
- export const reqPayConfig=(dispatch,userInfo)=>{
- dispatch(reqRechargeConfig());
- dispatch(reqFirstPayConfig(userInfo.UserID));
- // dispatch(reqGetAccountsPayInfo(userInfo.UserID));
- // dispatch(reqWithdrawTax());
- }
|