diff --git a/src/assets/images/loadingFaild.png b/src/assets/images/loadingFaild.png new file mode 100644 index 0000000..ee52460 Binary files /dev/null and b/src/assets/images/loadingFaild.png differ diff --git a/src/components/locales/lang/en.js b/src/components/locales/lang/en.js index 1fd0f87..dd6843e 100644 --- a/src/components/locales/lang/en.js +++ b/src/components/locales/lang/en.js @@ -185,6 +185,8 @@ export default { // Message Group elmessage: { // Common + accountEmpty: "Account cannot be empty", + passwordEmpty: "Password cannot be empty", checkRefundgolds: "Refund gold cannot be empty", checkPermanentGold: "Permanent gold cannot be empty", loginSuccess: "Login successful", @@ -553,6 +555,7 @@ export default { // Add Form Fields common_add: { + orderStatus: "Order Status", jwcode: "Homily ID", jwcodePlaceholder: "Enter Homily ID", originalChinese: "Chinese", @@ -666,10 +669,13 @@ export default { operationConfirm: "Confirm", userInfo: "User Info", prompt: "Risk Alert", + promptConsume: "Risk Alert for Consume", similarRechargeRecords: "Similar recent records detected", + similarCosumeRecords: "Similar recent consume records detected", rechargePermanentGold: "Recharge Perm Coins", buy: "Buy", operator: "Operator", + orderStatus: "Order Status", submitter: "Submitter", continueOperation: "Continue?", // Gold Bean @@ -1089,6 +1095,7 @@ export default { ipay88: "Ipay88", paymentAsia: "PaymentAsia", transfer: "E-Transfer", + paysolution:'paysolution' }, statusList: { submitted: "Submitted", diff --git a/src/components/locales/lang/zh-CN.js b/src/components/locales/lang/zh-CN.js index 3f35ab6..17da0eb 100644 --- a/src/components/locales/lang/zh-CN.js +++ b/src/components/locales/lang/zh-CN.js @@ -185,6 +185,8 @@ export default { // 提示信息组 elmessage: { // 通用 + accountEmpty: "账号不能为空", + passwordEmpty: "密码不能为空", checkRefundgolds: "退款金币总数不能为0", checkPermanentGold: "永久金币不能为空", loginSuccess: "登录成功", @@ -624,6 +626,7 @@ export default { receiveArea: "到账地区", receiveAreaPlaceholder: "请选择到账地区", price: "原价", + orderStatus: "订单状态", goodsNamePlaceholder: "请选择商品", 使用红包: "使用红包", 不使用红包: "不使用红包", @@ -666,9 +669,12 @@ export default { operationConfirm: "操作确认", userInfo: "用户信息", prompt: "重复充值风险提示", + promptConsume: "重复消耗风险提示", similarRechargeRecords: "检测到该用户近期有相似充值记录", + similarCosumeRecords: "检测到该用户近期有相似消耗记录", rechargePermanentGold: "充值永久金币", buy: "购买", + orderStatus:'订单状态', operator: "操作人", submitter: "提交人", continueOperation: "是否继续操作?", @@ -1101,6 +1107,7 @@ export default { ipay88: "Ipay88", paymentAsia: "PaymentAsia", transfer: "E-Transfer", + paysolution:'paysolution' }, statusList: { submitted: "已提交", diff --git a/src/util/http.js b/src/util/http.js index f5dc608..c3052fa 100644 --- a/src/util/http.js +++ b/src/util/http.js @@ -1,14 +1,15 @@ import request from './request' export default function(options) { - const { method = 'post', url, data = {}, params = {}, headers = {} } = options + const { method = 'post', url, data = {}, params = {}, headers = {}, responseType } = options return request({ method, url, data, params, - headers + headers, + responseType }) .then(({ status, data, statusText }) => { if (status === 200) { diff --git a/src/views/audit/gold/rechargeAudit.vue b/src/views/audit/gold/rechargeAudit.vue index 65f6e2c..b526f82 100644 --- a/src/views/audit/gold/rechargeAudit.vue +++ b/src/views/audit/gold/rechargeAudit.vue @@ -332,15 +332,15 @@ const payModel = [ label: t('audit.payMethods.paypal') }, { - value: 'Stripe-链接收款', + value: 'Stripe', label: t('audit.payMethods.stripe') }, { - value: 'Ipay88-链接收款', + value: 'Ipay88', label: t('audit.payMethods.ipay88') }, { - value: 'PaymentAsia-链接收款', + value: 'PaymentAsia', label: t('audit.payMethods.paymentAsia') }, { diff --git a/src/views/consume/gold/addCoinConsume.vue b/src/views/consume/gold/addCoinConsume.vue index 6b9816d..f3ac31a 100644 --- a/src/views/consume/gold/addCoinConsume.vue +++ b/src/views/consume/gold/addCoinConsume.vue @@ -264,11 +264,12 @@ function calculateCoins(sumGold) { // 用来写的 cookie 的 key const WriteCookies = ref(null) // 用来写的 cookie 的 value -const WriteCookiesTime = ref(null) +const WriteCookiesVale = ref({}) // 用来读的 cookie 的 key const ReadCookies = ref(null) // 用来读的 cookie 的 value -const ReadCookiesTime = ref(null) +const ReadCookiesValue = ref({}) +const orderStatus = ref('') // 这是添加消费信息的接口 @@ -298,7 +299,7 @@ const add = async function () { freeGold: addConsume.value.freeGold * 100, taskGold: addConsume.value.taskGold * 100, permanentGold: addConsume.value.permanentGold * 100, - goodsName: addConsume.value.goodsName.value, + goodsName: addConsume.value.goodsName, remark: addConsume.value.remark, adminName: adminData.value.adminName, redMoney: Number(addConsume.value.redMoney), // 1-使用红包,0-不使用红包 @@ -322,16 +323,13 @@ const add = async function () { function handleResponse(result) { console.log("响应结果", result) if (result.code === 200) { - //存一下 用户的jwcode - // 拼接 jwcode:permanentGold:freeGold - WriteCookies.value = `coinConsume:${addConsume.value.jwcode}:${addConsume.value.goodsName.value}` - //value 为当前消耗时间 - WriteCookiesTime.value = dayjs().format("YYYY-MM-DD HH:mm:ss"); - // 设置cookies,用户jwcode为key,value也是jwcode,过期时间为1天 - Cookies.set(WriteCookies.value, WriteCookiesTime.value, { - expires: - 1, path: '/' - }); + WriteCookies.value = `coinConsume:${addConsume.value.jwcode}:${addConsume.value.goodsName}` + //value 为消耗时间 + WriteCookiesVale.value = JSON.stringify({ + payTime: dayjs().format("YYYY-MM-DD HH:mm:ss"), + orderCode: result.data + }); + Cookies.set(WriteCookies.value, WriteCookiesVale.value, {expires: 1, path: '/'}); ElMessage.success(t('elmessage.addSuccess')); console.log("请求成功", result); } else { @@ -448,6 +446,26 @@ const FirstConsumeDialogVisibleCancel = () => { // }); // }; + +const historyOrder = ref({}) +// 查询订单号对应的状态 +const selectByOrderCode = async function (data) { + try { + const result = await request({ + url: '/recharge/selectByOrderCode', + data: data, + headers: { + 'Content-Type': 'text/plain;charset=utf-8' + }, + }) + if(result.code == 200){ + historyOrder.value = result.data + } + } catch (error) { + console.log('请求失败', error) + // 在这里可以处理错误逻辑,比如显示错误提示等 + } +} // 添加前验证 const addBefore = () => { Ref.value.validate(async (valid) => { @@ -462,16 +480,32 @@ const addBefore = () => { if (!validateInput() || !validateRedLimit()) { return; } - ReadCookies.value = `coinConsume:${addConsume.value.jwcode}:${addConsume.value.goodsName.value}` + ReadCookies.value = `coinConsume:${addConsume.value.jwcode}:${addConsume.value.goodsName}` + console.log('ReadCookies',ReadCookies.value); // 获取cookie - const cookie = Cookies.get(ReadCookies.value) - console.log("time", WriteCookiesTime.value) - // 格式化时间 - ReadCookiesTime.value = moment(cookie).format('YYYY-MM-DD HH:mm:ss') - console.log("cookie========", cookie) - if (cookie) { + const cookieValue = Cookies.get(ReadCookies.value); + if (cookieValue) { + // 解析为对象 + const rechargeInfo = JSON.parse(cookieValue); + console.log('充值时间:', rechargeInfo.payTime); + console.log('订单号:', rechargeInfo.orderCode); + ReadCookiesValue.value = { + ...rechargeInfo, + } + } + if (Object.keys(ReadCookiesValue.value).length > 0) { + await selectByOrderCode(ReadCookiesValue.value.orderCode) + if(historyOrder.value.type == 1 ){ + if(historyOrder.value.auditStatus == 1 ){ + if(historyOrder.value.isRefund == 0){ + orderStatus.value = '正常' + }else if(historyOrder.value.isRefund == 1){ + orderStatus.value = '已退款' + } + } + } ConsumeDialogVisible.value = true; - } else { + } else { FirstConsumeDialogVisible.value = true; } }); @@ -606,16 +640,24 @@ watch( ); // 监听商品选择,自动展示原价 -watch( - () => addConsume.value.goodsName, - (newGoods) => { - if (newGoods && typeof newGoods === 'object') { - addConsume.value.price = Number(newGoods.price || 0) || null; - } else { - addConsume.value.price = null; - } +const handleGoodsChange = (newGoods) => { + if (newGoods && typeof newGoods === 'object') { + addConsume.value.price = Number(newGoods.price || 0) || null; + } else { + addConsume.value.price = null; } -); +} +// 监听商品选择,自动展示原价 +// watch( +// () => addConsume.value.goodsName, +// (newGoods) => { +// if (newGoods && typeof newGoods === 'object') { +// addConsume.value.price = Number(newGoods.price || 0) || null; +// } else { +// addConsume.value.price = null; +// } +// } +// ); /* ====================红包逻辑================================= @@ -744,8 +786,8 @@ onMounted(async function () { - + style="width: 200px" clearable filterable > + @@ -914,7 +956,7 @@ onMounted(async function () {
{{ $t('common_add.goodsName') }}
- +
@@ -972,7 +1014,11 @@ onMounted(async function () {
{{ $t('common_add.goodsName') }}
- + +
+
+
{{ $t('common_add.orderStatus') }}
+
@@ -1006,13 +1052,13 @@ onMounted(async function () { -

{{ $t('common_add.prompt') }}

+

{{ $t('common_add.promptConsume') }}

-

{{ $t('common_add.similarRechargeRecords') }}

- · {{ ReadCookiesTime }} {{ $t('common_add.buy') }} 【{{ addConsume.goodsName.value }}】({{ +

{{ $t('common_add.similarCosumeRecords') }}

+ · {{ ReadCookiesValue.payTime }} {{ $t('common_add.buy') }} 【{{ addConsume.goodsName }}】【{{ $t('common_add.orderStatus') }}: {{ orderStatus }}】({{ $t('common_add.operator') }}: {{ adminData.adminName }})
diff --git a/src/views/login.vue b/src/views/login.vue index 9942243..ac141b1 100644 --- a/src/views/login.vue +++ b/src/views/login.vue @@ -1,5 +1,5 @@