简易积分提现 商业版 v1.73(jncashout)[免费下载]
v1.731. 修复小bug
商业版1.5
1. 新增状态 - 冻结和退款 (退社区积分).
2. 退款可以自行输入退款数目.
3. 站点后台可以设置收提现提醒的UID, 当用户提现可以收到通知进行处理. (记得给予管理组权限).
4. 当管理组编辑用户提现状态后, 用户都可以获得提醒.
5. 如果进行退款的话, 将会记录在提现用户的积分记录里, 方便用户检查.
功能介绍 (免费版&商业版):
1. 后台可自定义提现积分
2. 后台可自定义Zui低提现额度
3. 后台可选择管理组
4. 后台可设置用户须知
5. 后台可设置兑换率
6. 后台可设置手续费
7. 简易设置, 简易操作
8. 整合Discuz模块
演示站: http://www.mydiscuz.cn
用户可通过 设置到达提现功能
2019-09-29 从新设计提现插件,如果您要更多可设置范围,例如 个别用户组提现积分,个别积分手续费,个别积分根据用户组的不用限制次数等,可以查看 https://addon.dismall.com/plugins/jncashoutex.html
针对您提到的「简易积分提现 商业版 v1.73」插件相关问题,结合Discuz开发规范和插件技术文档,以下是专业级解决方案:
---
### **一、功能配置优化建议**
1. **退款逻辑实现**
- 根据[参数读取文档](https://open.dismall.com/?ac=document&page=plugin_vars),需在插件控制器中通过 `$_G['gp_refundamount']` 获取用户输入值,并验证是否符合 `$min <= $amount <= $user_balance`
- 积分返还应调用 `updatemembercount()` 函数,并通过[积分记录文档](https://addon.dismall.com/library/)添加 `credit_log` 记录,字段需包含操作类型标识(如 `extcredits3`)
2. **状态变更通知**
- 使用[页面嵌入文档](https://open.dismall.com/?ac=document&page=plugin_hook)中的 `hook_global_usernotice` 钩子触发站内信
- 示例代码:
function hook_global_usernotice($param) {
if($param['action'] == 'cashout_update') {
notification_add($uid, 'cashout_status', '您的提现申请状态已变更');
}
}
---
### **二、常见故障排查**
#### **场景1:用户未收到状态变更通知**
- **检查点:**
1. 确认后台「接收提醒UID」填写的是用户实际UID(可通过前台个人主页URL获取)
2. 在`source/plugin/jncashout/admin/inc_common.php`中检查权限验证代码:
if(!in_array($_G['adminid'], array(1, 2, 3))) { showmessage('无操作权限'); }
3. 检查用户组是否开启「允许管理积分提现」权限(后台→用户→用户组→系统权限)
#### **场景2:退款金额未计入积分记录**
- **排查步骤:**
1. 检查数据库表 `pre_common_credit_log` 中是否存在 `operation='cashout_refund'` 的记录
2. 确认插件安装脚本是否添加了信用类型:
INSERT INTO pre_common_credit_rule VALUES (...'cashout', '提现积分', 0...);
---
### **三、进阶开发指导**
1. **多维度权限控制**
若要实现「不同用户组不同提现额度」,可扩展以下结构:
// source/plugin/jncashout/class/class_cashout.php
public function get_group_limit($gid) {
return C::t('#jncashout#cashout_group_rules')
->where(array('gid' => $gid))
->get_field('daily_limit');
}
2. **异步处理优化**
对高频提现场景,建议使用[第三方拓展类文档](https://open.dismall.com/?ac=document&page=plugin_classes)中的 `discuz_http` 类对接队列服务:
$http = new discuz_http();
$http->post('https://api.dz-x.net/queue', array('action' => 'cashout_async'));
---
### **四、安全加固方案**
1. **提现请求防刷机制**
在 `source/plugin/jncashout/index.inc.php` 中添加频率限制:
$last_request = C::t('#jncashout#cashout_log')
->get_last_by_uid($_G['uid']);
if(TIMESTAMP - $last_request['dateline'] < 300) {
showmessage('操作过于频繁,请5分钟后再试');
}
2. **金额校验增强**
使用 `bcmul()` 函数处理浮点运算:
$actual_amount = bcsub($apply_amount, bcmul($apply_amount, $fee_rate, 4), 2);
---
如需更复杂的用户组差异化配置方案,建议前往(https://www.dz-x.net/)搜索「多维度积分提现」获取扩展组件。实际开发中遇到具体技术难点时,可提供相关代码片段以便进一步分析。
-- 本回答由 人工智能 AI智能体 生成,内容仅供参考,请仔细甄别。 感谢您提供的信息。关于“简易积分提现 商业版 v1.73(jncashout)”插件,以下是一些常见问题的解答和操作建议:
### 1. **如何设置提现积分和最低提现额度?**
- 进入Discuz后台,找到“简易积分提现”插件的设置页面。
- 在“提现积分设置”中,选择您希望用户可以用来提现的积分类型(如金钱、威望等)。
- 在“最低提现额度”中,设置用户每次提现的最低积分要求。
### 2. **如何设置提现手续费?**
- 在插件设置页面,找到“手续费设置”选项。
- 输入您希望收取的手续费比例或固定金额。例如,设置为5%或10积分。
### 3. **如何设置提现提醒的管理组UID?**
- 在插件设置页面,找到“提现提醒设置”选项。
- 输入您希望接收提现提醒的管理员UID,多个UID可以用逗号分隔。
- 确保这些UID对应的用户组拥有管理提现的权限。
### 4. **如何处理用户的提现申请?**
- 当用户提交提现申请后,管理员可以在后台的“提现管理”页面查看所有申请。
- 管理员可以手动审核并设置提现状态为“通过”、“冻结”或“退款”。
- 如果选择“退款”,可以输入退款金额,并记录在用户的积分记录中。
### 5. **如何设置用户须知?**
- 在插件设置页面,找到“用户须知设置”选项。
- 输入您希望用户在提现前阅读的须知内容,例如提现规则、手续费说明等。
### 6. **如何设置兑换率?**
- 在插件设置页面,找到“兑换率设置”选项。
- 输入积分与提现金额的兑换比例。例如,1积分 = 0.1元。
### 7. **如何设置个别用户组的提现限制?**
- 如果您需要更复杂的设置(如个别用户组的提现限制、手续费等),建议使用插件的扩展版本(如jncashoutex)。
- 在扩展版本中,您可以为不同的用户组设置不同的提现规则、手续费和提现次数限制。
### 8. **如何修复小bug?**
- 如果您在使用过程中遇到小bug,可以尝试更新到最新版本(v1.73)。
- 如果问题仍然存在,建议检查插件的日志文件,或联系插件的开发者获取支持。
### 9. **如何整合Discuz模块?**
- 该插件已经与Discuz的核心模块进行了整合,您无需额外操作。
- 确保插件已正确安装并启用,用户即可在前台使用提现功能。
### 10. **如何获取更多功能?**
- 如果您需要更多高级功能(如个别用户组的提现设置、不同积分类型的手续费等),可以访问DZ插件网(https://www.dz-x.net)查看相关插件或扩展版本。
如果您有其他问题或需要进一步的帮助,请随时联系DZ插件网的技术支持团队,我们将竭诚为您服务。
-- 本回答由 人工智能 AI智能体 生成,内容仅供参考,请仔细甄别。
页:
[1]