paySlice.js 6.9 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224
  1. import {createSlice} from "@reduxjs/toolkit";
  2. import {REQ_STATUS} from "@api/config";
  3. import {
  4. buildReqReducer,
  5. reqFirstPayConfig,
  6. reqGetAccountsPayInfo,
  7. reqPaymentOrder,
  8. reqRechargeConfig, reqWithdrawBaseInfo, reqWithdrawInfo, reqWithdrawTax
  9. } from "@features/api";
  10. const reducerRechargeConfig=(state,action,arg)=>{
  11. let payload=action.payload;
  12. if (payload!=null&&payload.code===200){
  13. let data=payload.data;
  14. state.config=data;
  15. }
  16. }
  17. const rechargeConfigStatus=(state,status,arg)=>{
  18. state.status.RechargeConfig=status;
  19. }
  20. const reducerFirstPayConfig=(state,action,arg)=>{
  21. let payload=action.payload;
  22. payload={
  23. "data": {
  24. "first_pay": {
  25. "id": "1017",
  26. "money": "10",
  27. "gear": "[{\"id\":\"28\",\"name\":\"PIX\\u76f4\\u8fde\",\"status\":1,\"type\":3}]",
  28. "status": "1",
  29. "created_at": "2022-06-09 13:57:58.000",
  30. "favorable_price": 20,
  31. "image": "11",
  32. "give": "10",
  33. "first_pay": "1",
  34. "name": "\u9996\u5145\u6863\u4f4d\u914d\u7f6e",
  35. "gift_id": "201",
  36. "channels": "-1"
  37. },
  38. "recomendar_recharge": "7"
  39. },
  40. "result": "",
  41. "msg": "success",
  42. "code": 200
  43. };
  44. if (payload!=null&&payload.code===200){
  45. let data=payload.data;
  46. state.firstconfig=data;
  47. console.log(state.firstconfig)
  48. }
  49. }
  50. const firstPayConfigStatus=(state,status,arg)=>{
  51. state.status.FirstPayConfig=status;
  52. }
  53. const reducerGetAccountsPayInfo=(state,action,arg)=>{
  54. let payload=action.payload;
  55. if (payload!=null&&payload.code===200){
  56. let data=payload.data;
  57. state.payconfig=data;
  58. }
  59. }
  60. const getAccountsPayInfoStatus=(state,status,arg)=>{
  61. state.status.GetAccountsPayInfo=status;
  62. }
  63. const reducerPaymentOrder=(state,action,arg)=>{
  64. let payload=action.payload;
  65. payload={
  66. "data": {
  67. "content": "00020101021226830014br.gov.bcb.pix2561pix.delbank.com.br\/v1\/qrcode\/vcharge22e43499260b46a9a5f303ca55204000053039865802BR5907DELBANK6007ARACAJU62070503***6304F3DF",
  68. "money": 10,
  69. "prdOrdNo": "BR5050013857473344515256"
  70. },
  71. "result": "",
  72. "msg": "success",
  73. "code": 200
  74. };
  75. if (payload!=null&&payload.code===200){
  76. let data=payload.data;
  77. data.createAt=Date.now();
  78. data.deadline=15*60;
  79. state.currPayOrder=data;
  80. if (arg.callback!=null)arg.callback();
  81. }
  82. console.log(payload)
  83. }
  84. const paymentOrderStatus=(state,status,arg)=>{
  85. state.status.PaymentOrder=status;
  86. }
  87. const reducerWithdrawTax=(state,action,arg)=>{
  88. let payload=action.payload;
  89. if (payload&&payload.code===200){
  90. let data=payload.data;
  91. if (data){
  92. state.WithDrawTax=data.WithDrawTax;
  93. }
  94. }
  95. }
  96. const reducerWithdrawBaseInfo=(state,action,arg)=>{
  97. let payload=action.payload;
  98. if (payload&&payload.code===200){
  99. let data=payload.data;
  100. if (data){
  101. state.withdrawBaseInfo=data;
  102. }
  103. }
  104. }
  105. const reducerWithdrawInfo=(state,action,arg)=>{
  106. let payload=action.payload;
  107. if (payload&&payload.code===200){
  108. let data=payload.data;
  109. if (data){
  110. state.withdrawInfo=data;
  111. }
  112. }
  113. }
  114. export const Pay=createSlice({
  115. name: 'pay',
  116. initialState: {
  117. status:{
  118. RechargeConfig:REQ_STATUS.NONE,
  119. FirstPayConfig:REQ_STATUS.NONE,
  120. GetAccountsPayInfo:REQ_STATUS.NONE,
  121. PaymentOrder:REQ_STATUS.NONE
  122. },
  123. config:[],
  124. payconfig:null,
  125. firstconfig:null,
  126. payType:null,
  127. currPayOrder:null,
  128. WithDrawTax:4,
  129. withdrawBaseInfo:null,
  130. withdrawInfo:null,
  131. // withdrawBaseInfo:{
  132. // // "Achieves": null,
  133. // // "SumCanExchange": "3482",
  134. // // "AccountsBank": "",
  135. // // "BranchBank": "",
  136. // // "BankNO": "",
  137. // // "MinExchange": "6000",
  138. // // "MaxExchange": "3000000",
  139. // // "OrderLimit": "3",
  140. // // "OrderCount": "0",
  141. // // "BankUserName": "",
  142. // // "PhoneNumber": "",
  143. // // "IFSCNumber": "",
  144. // // "EmailAddress": "",
  145. // // "PANNumber": "",
  146. // // "AdhaarNumber": "",
  147. // // "PixNum": "",
  148. // // "PixType": "0"
  149. // }
  150. },
  151. reducers: {
  152. },
  153. extraReducers: (builder) => {
  154. buildReqReducer(builder,reqRechargeConfig,reducerRechargeConfig,rechargeConfigStatus);
  155. buildReqReducer(builder,reqFirstPayConfig,reducerFirstPayConfig,firstPayConfigStatus);
  156. buildReqReducer(builder,reqGetAccountsPayInfo,reducerGetAccountsPayInfo,getAccountsPayInfoStatus);
  157. buildReqReducer(builder,reqPaymentOrder,reducerPaymentOrder,paymentOrderStatus);
  158. buildReqReducer(builder,reqWithdrawTax,reducerWithdrawTax,null);
  159. buildReqReducer(builder,reqWithdrawBaseInfo,reducerWithdrawBaseInfo,null);
  160. buildReqReducer(builder,reqWithdrawInfo,reducerWithdrawInfo,null);
  161. },
  162. })
  163. export const {} = Pay.actions;
  164. export const getConfig=(state)=>{
  165. return state.pay.config;
  166. }
  167. export const getFirstPay=(state)=>{
  168. let firstconfig=state.pay.firstconfig;
  169. let config=state.pay.config;
  170. let order=null;
  171. if (firstconfig!=null){
  172. let first_pay=firstconfig.first_pay;
  173. let recomendar_recharge=firstconfig.recomendar_recharge;
  174. if (first_pay!=null){
  175. order={
  176. goodsName:"firstpay",
  177. goodsPrice:first_pay.money,
  178. GiftsID: 201,
  179. cpf_first:0,
  180. give:first_pay.give,
  181. gear:JSON.parse(first_pay.gear)
  182. }
  183. }
  184. else
  185. {
  186. for (let i = 0; i <config.length ; i++) {
  187. const elem = config[i];
  188. if (elem.id===recomendar_recharge){
  189. order={
  190. goodsName: "chip",
  191. goodsPrice: elem.money,
  192. GiftsID:elem.gift_id,
  193. cpf_first:0,
  194. give:elem.give,
  195. gear:JSON.parse(elem.gear)
  196. }
  197. break;
  198. }
  199. }
  200. }
  201. }
  202. return order;
  203. }
  204. export const getPaymentOrderStatus=(state)=>{
  205. return state.pay.status.PaymentOrder;
  206. }
  207. export const getCurrPayOrder=(state)=>{
  208. return state.pay.currPayOrder;
  209. }
  210. export const getWithdrawBaseInfo=(state)=>{
  211. return state.pay.withdrawBaseInfo;
  212. }
  213. export const getWithdrawInfo=(state)=>{
  214. return state.pay.withdrawInfo;
  215. }
  216. export default Pay.reducer;
  217. export const reqPayConfig=(dispatch,userInfo)=>{
  218. dispatch(reqRechargeConfig());
  219. dispatch(reqFirstPayConfig(userInfo.UserID));
  220. dispatch(reqGetAccountsPayInfo(userInfo.UserID));
  221. // dispatch(reqWithdrawTax());
  222. }