Commit 06e15acd authored by Friends233's avatar Friends233

预扣积分

parent dd3006f7
......@@ -10,6 +10,8 @@
**活动规则:[activityRules](http://gitlab2.dui88.com/wangqiang1/best-code/blob/master/src/components/activityRules/activityRules.jsx)**
**[预扣积分](http://gitlab2.dui88.com/wangqiang1/best-code/blob/master/src/utils/integral.js)**
#### 常用组件
**圆形转盘:[CircleTurntableDemo](http://gitlab2.dui88.com/wangqiang1/best-code/blob/master/src/pages/CircleTurntableDemo/CircleTurntableDemo.jsx)**
......
module.exports = {
// [扣积分]查询扣积分状态
"/credits/queryStatus.do": {
"data": 2,
"success": true
},
// [扣积分]预扣积分
"/credits/creditsCost.do": {
"data": 87128,
"success": true
},
// [扣积分]查询可复用扣积分票号
"/credits/queryUnused.query":{
"success": "occaecat",
"message": "pariatur Duis dolor consectetur dolore",
"data": {
"ticketList": []
},
"ticketList": "sed culpa do in"
}
}
\ No newline at end of file
......@@ -21,6 +21,18 @@ const apiCfg = {
},
/** 抽奖组件-查询首页接口 */
drawPrizeHome: 'drawPrize/query.do',
/** 预扣积分 */
preDeductPoints: {
uri: `credits/creditsCost.do`,
method: "post",
// withToken: true
},
/** 查询积分扣除状态 */
queryDeductSatus: `credits/queryStatus.do`,
/** [扣积分]查询可复用扣积分票号 */
queryUnused:'credits/queryUnused.query'
}
export default apiCfg;
import API from "@src/api";
/**
* 预扣积分
* @param {String} toPlaywayId 门票核销的目标玩法id
* @param {String} toActionId 门票核销的目标actionId
* @param {Number} credits 自定义扣积分值
* @returns 是否扣除成功
*/
export const preDeductPointsfunc = async (toPlaywayId, toActionId, credits) => {
// [扣积分]查询可复用扣积分票号,核销视情况调用
// const res = await API.queryUnused({ toPlaywayId: 'gambler', toActionId: 'betting' })
// if (res?.success && res?.data?.ticketList) {
// const ticketList = res?.data?.ticketList
// if (Array.isArray(ticketList)) {
// if (ticketList.length > 0) {
// return ticketList[0]
// }
// } else {
// return ticketList
// }
// }
const paramDeduct = {
toPlaywayId,
toActionId,
credits,
desc: "creditsCostDesc"
}
// 预扣积分
const { success, data: ticketTmp } = await API.preDeductPoints(paramDeduct);
if (!success) return
let pollingNums = 1
const queryParams = {
ticketNum: ticketTmp
}
const pollingApi = async () => {
if (pollingNums > 10) return false
const { data = 0 } = await API.queryDeductSatus(queryParams);
if (data == 1) { // data == 1 扣除成功
return queryParams.ticketNum
} else if (data == 2) { // data == 2 扣除失败
return false
} else { // data == 0 预扣中
if (pollingNums <= 9) {
pollingNums++
return new Promise(resolve => {
setTimeout(() => {
resolve(pollingApi())
}, 1000)
})
} else {
return false
}
}
}
return pollingApi()
}
\ No newline at end of file
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment