一个小程序如何对接多个收款账户?

背景

我又来了,之前对接过网约巴士系统  网约巴士旅游专线平台搭建历程,运营了两年多了。在运营中完善、在完善中学习,一直是不变的真理。有一句话说得好:先做一个垃圾、用起来再说。

今天又需要升级了,需求是:可以根据不同的线路,收款进入不同的账户,如图

请往下看。

需求方案

先看一个逻辑结构图,甲方一句话,可能需要把系统做颠覆性的改动,所以,没有所以:

第一版完成后,不满意,看不懂我就醉了,然后又用白话文把上面的重新写了一遍:

2.功能需求

2.1.支付账户管理

为了进行多入账渠道账户设置,管理员可以在后台进行相关财务账号操作:

  • 查看财务账户基础信息:财务账号命名、企业名称;

2.2.线路管理

相关操作人员,可以在后台对线路进行管理,将现有线路进行财务归类,以便客户支付时可以进行对应财务入账;如图:

2.3.线路类型管理

将所有线路进行分类(校园专线、通勤专线、旅游专线),然后对线路类型进行统一设置支付通道,提高操作效率;

备注:若在线路管理已经设置支付账户、则该设置无效;

2.4.权限分配

管理员可以通过权限配置,对管理后台人员进行权限分配,指定拥有特定收款账户的查看操作权限;

2.5.订单管理

通过分账户收款功能后,具有特定管理权限的管理员,只可查看管理自己权限之内的订单,和操作:

  • 订单查看
  • 退款操作
  • 订单统计功能

2.6.财务管理

财务功能目前是汇总至一个账户,分支付通道后,具有特定管理权限的管理员,只可查看管理自己权限之内的订单,和操作:

  • 支付流水
  • 退款明细
  • 退款订单记录

2.7.小程序端设置

小程序端包含两个功能,客户操作端,和系统管理端:

  • 客户操作端:客户选择对应线路后,系统自动匹配预先设置的收款账户进行支付;当客户退款时亦是如此;
  • 系统管理端:管理员可以在小程序查看对应权限的相关数据、并进行操作,主要包括如下模块:

数据统计:操作员可通过小程序后台进行实时查看相关权限数据;

订单管理:操作员可通过小程序后台,进行订单详情、退款、订单搜索、和客户打电话联系

2.8.核销端

本次升级新增了扫码核销,被扫。客户乘车出示核销码,车载设备扫码后语音提醒乘车成功或失败。本次设备使用了两款设备:

一款是比较完善的,支持刷脸、小程序码、公交卡的,需要二次开发,说实话,很贵,大概逻辑如下:

3.部分代码逻辑

3.1.小程序账户管理

解决问题是王道,依然使用世界上最好的语言:PHP ,表结构如下:

CREATE TABLE `dd_pay*****t` (`id` int(10) NOT NULL AUTO_INCREMENT,`shop_id` int(10) DEFAULT NULL COMMENT '关联商户',`admin_id` int(10) DEFAULT NULL COMMENT '关联管理员',`title` varchar(255) COLLATE utf8_unicode_ci DEFAULT NULL COMMENT '小程序名称',`AppID` varchar(120) COLLATE utf8_unicode_ci DEFAULT NULL COMMENT 'AppID',`AppSecret` varchar(255) COLLATE utf8_unicode_ci DEFAULT NULL COMMENT 'AppSecret',`mch_id` int(10) DEFAULT NULL COMMENT 'mch_id',`mchkey` varchar(255) COLLATE utf8_unicode_ci DEFAULT NULL COMMENT 'key',`apiclient_cert_file` varchar(255) COLLATE utf8_unicode_ci DEFAULT NULL COMMENT 'apiclient_cert',`apiclient_key_file` varchar(255) COLLATE utf8_unicode_ci DEFAULT NULL COMMENT 'apiclient_key',`xlid` varchar(100) COLLATE utf8_unicode_ci DEFAULT NULL,`status` enum('0','1','2') COLLATE utf8_unicode_ci DEFAULT '0' COMMENT '状态:0=禁用,1=启用,2=其他',`createtime` int(10) DEFAULT NULL,PRIMARY KEY (`id`) USING BTREE
) ENGINE=InnoDB AUTO_INCREMENT=6 DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci COMMENT='小程序管理';

表创建后,通过一键crud,生成基础后台模块。

php think crud -t pa********t --relation=shop --relation=admin --relationforeignkey=shop_id --relationforeignkey=admin_id   -u 1

去线路model,关联外键,代码如下:

 public function pa***********(){return $this->belongsTo('P*************', 'p********t_id', 'id', [], 'LEFT')->setEagerlyType(0);}

接下来的任务就是修改线路编辑,增加选择支付通道:

 <div class="form-group"><label class="control-label col-xs-12 col-sm-2">{:__('收款支付账号')}:</label><div class="col-xs-12 col-sm-8"><input id="c-pa*****unt_id"  data-source="p*******t/index" data-field="title" class="form-control selectpage" name="row[pa********nt_id]" type="text" value="{$row.pay*****nt_id|htmlentities}"><span style="margin-top: 15px"><span style="color: red">注意:</span><br/>A.该功能暂为开启,无需设置</span></div></div>

到此为止,基础功能就完了,剩下的就是要权限分配了,主要包括如下模块权限的分配,我就不一一列出了:

  1. 订单权限管理
  2. 财务订单
  3. 支付明细
  4. 退款明细

扩展

整体来说,本项目可以进行无限极扩展,当然了,别人是看不懂我的代码的,目的就是增加二次开发难度,实现合作共赢.............把那些白嫖党、喜欢几百块买个源码去骗人的垃害群之马之门外

拒绝一切害群之马.....

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.xdnf.cn/news/1763.html

如若内容造成侵权/违法违规/事实不符,请联系一条长河网进行投诉反馈,一经查实,立即删除!

相关文章

模型 定位地图

系列文章 分享 模型&#xff0c;了解更多&#x1f449; 模型_思维模型目录。心智导航现实的空间图。 1 定位地图模型的应用 1.1 小玉的职业定位与发展规划 小玉&#xff0c;24岁&#xff0c;市场营销专业本科毕业生&#xff0c;有半年汽车销售实习经历。毕业后&#xff0c;她…

java项目之协力服装厂服装生产管理系统的设计与实现(springboot)

风定落花生&#xff0c;歌声逐流水&#xff0c;大家好我是风歌&#xff0c;混迹在java圈的辛苦码农。今天要和大家聊的是一款基于springboot的协力服装厂服装生产管理系统的设计与实现。项目源码以及部署相关请联系风歌&#xff0c;文末附上联系信息 。 项目简介&#xff1a; …

[MySQL#7] CRUD(2) | 更新 | 删除 | 聚合函数 | group by

目录 3. 更新 4. 删除 截断表 日志的作用 5. (实验) 插入查询结果 6. 聚合函数 7. 分组查询 接着上篇文章[MySQL#6] 表的CRUD (1) | Create | Retrieve(查) | where继续讲解~ 3. 更新 语法&#xff1a; UPDATE table_name SET column expr [, column expr ...][WHE…

RT-Thread PIN设备 UART设备

引脚简介 芯片上的引脚一般分为四类&#xff1a;电源、时钟、控制与I/O。 I/O口在使用模式上又分为General Purpose Input Output&#xff08;通用输入/输出&#xff09;&#xff0c;简称GPIO&#xff0c;与功能复用I/O&#xff08;如SPI/I2C/UART等&#xff09;。 大多数MCU…

【element ui系列】分享几种实现el-table表格单选的方法

在实际的开发中&#xff0c;经常会用到从表格中选择一条记录的情况&#xff0c;虽然官方给出的例子&#xff0c;但是给人感觉看起来不明显&#xff0c;于是&#xff0c;在此基础上做了改进。接下来&#xff0c;介绍两种常见的实现方法&#xff1a; 1、采用复选框(checkbox)实现…

FastAPI中如果async def和def 路由的区别

在python的整体生态中&#xff0c;虽然已经有很多库支持了异步调用&#xff0c;如可以使用httpx或者aiohttp代替requests库发起http请求&#xff0c;使用asyncio.sleep 代替time.sleep&#xff0c; 但是依然还有很多优秀的第三方库是不支持异步调用也没有可代替的库&#xff0c…

架构师备考-非关系型数据库

基础理论 CAP 理论 C&#xff08;Consistency&#xff09;一致性。一致性是指更新操作成功并返回客户端完成后&#xff0c;所有的节点在同一时间的数据完全一致&#xff0c;与ACID 的 C 完全不同。A &#xff08;Availability&#xff09;可用性。可用性是指服务一直可用&…

奥云学院应邀参加“第二届中国县域经济投资高峰论坛”

论坛聚焦战略&#xff0c;县域经济迎来新机遇 10月28日&#xff0c;由中国投资协会主办的第二届中国县域经济投资高峰论坛在北京盛大召开。本次论坛以“产业资本助力县域经济高质量发展”为主题&#xff0c;汇聚政府、企业、金融机构和学术专家等多方资源&#xff0c;集中探讨…

飞牛NAS docker compose环境下自建远程桌面服务:rustdesk

&#x1f6e9;️前言 由于国内向日葵、todesk等应用的日渐模糊&#xff0c;恰巧我们已经实现了ipv6的内网穿透&#xff0c;而且在国内ipv6的延迟极低&#xff0c;加上本次介绍的开源远程桌面项目Rustdesk&#xff0c;简直是绝配。 这个项目比较简单&#xff0c;话不多说&…

算法:查找

算法 1. 顺序查找和折半查找1.1 顺序查找1.2 折半查找1.3 索引顺序查找 2. 树表查找2.1 查找2.2 插入 3. 哈希表及哈希查找3.1 哈希造表3.2 处理冲突开放定址法链地址法 3.3 哈希查找 查找是非数值数据处理中一种基本运算&#xff0c;查找运算的效率与查找表所采用的数据结构和…

Istio基本概念及部署

一、Istio架构及组件 Istio服务网格在逻辑上分为数据平面和控制平面。 控制平面&#xff1a;使用全新的部署模式&#xff1a;Istiod&#xff0c;这个组件负责处理Sidecar注入&#xff0c;证书颁发&#xff0c;配置管理等功能&#xff0c;替代原有组件&#xff0c;降低复杂度&…

OpenCV视觉分析之目标跟踪(8)目标跟踪函数CamShift()使用

操作系统&#xff1a;ubuntu22.04 OpenCV版本&#xff1a;OpenCV4.9 IDE:Visual Studio Code 编程语言&#xff1a;C11 算法描述 找到物体的中心、大小和方向。 CamShift&#xff08;Continuously Adaptive Mean Shift&#xff09;是 OpenCV 中的一种目标跟踪算法&#xff0…

gradlew命令打包报错:malformed input off : 50, length : 1

Execution failed for task :app:mapǧ&#xfffd;&#xfffd;Ѫսƪ_officialOfficialReleaseSourceSetPaths. > Could not resolve all files for configuration :app:ǧ&#xfffd;&#xfffd;Ѫսƪ_officialOfficialReleaseRuntimeClasspath. > Failed to trans…

[云] 大数据分析栈(Big Data Analytics Stack)+ Apache Hadoop分布式文件系统(HDFS)+Apache Spark

任务概述 本次作业旨在帮助你理解大数据分析栈&#xff08;Big Data Analytics Stack&#xff09;的工作原理&#xff0c;并通过实际操作加深认识。你将搭建Apache Hadoop分布式文件系统&#xff08;HDFS&#xff09;作为底层文件系统&#xff0c;并将Apache Spark作为执行引擎…

ESP8266 自定义固件烧录-Tcpsocket固件

一、固件介绍 固件为自定义开发的一个适配物联网项目的开源固件&#xff0c;支持网页配网、支持网页tcpsocket服务器配置、支持串口波特率设置。 方便、快捷、稳定&#xff01; 二、烧录说明 固件及工具打包下载地址&#xff1a; https://download.csdn.net/download/flyai…

新能源汽车空调压缩机:科技驱动的冷暖核心

一、新能源汽车空调系统概述 新能源汽车空调系统在车辆中起着至关重要的作用&#xff0c;它直接影响着驾乘人员的舒适度。新能源汽车空调系统主要由制冷系统、加热系统、送风系统、操纵控制系统和空气净化系统等组成。 制冷系统通常由电动压缩机、冷凝器、压力传感器、电子膨…

Leetcode 213. 打家劫舍 II 动态规划

原题链接&#xff1a;Leetcode 213. 打家劫舍 II class Solution { public:int rob(vector<int>& nums) {int n nums.size();if (n 1)return nums[0];if (n 2)return max(nums[0], nums[1]);// 如果偷了第一家&#xff0c;就不能偷最后一家int dp[n - 1];dp[0] …

助力AI智能化时代:全国产化飞腾FT2000+/64+昇腾310B服务器主板

在信息技术快速发展的今天&#xff0c;服务器作为数据处理和存储的核心设备&#xff0c;肩负着越来越重要的使命。全国产化的服务器主板&#xff0c;采用飞腾FT2000/64核处理器&#xff0c;搭配华为昇腾310的AI芯片&#xff0c;提供卓越的性能与可靠性。 核心配置&#xff0c;强…

IO 多路复用技术:原理、类型及 Go 实现

文章目录 1. 引言IO 多路复用的应用场景与重要性高并发下的 IO 处理挑战 2. IO 多路复用概述什么是 IO 多路复用IO 多路复用的优点与适用场景 3. IO 多路复用的三种主要实现3.1 select3.2 poll3.3 epoll三者对比 4. 深入理解 epoll4.1 epoll 的三大操作4.2 epoll 的核心数据结构…

大学英语神器:让GPT帮助你攻克完型填空和阅读理解

这里写目录标题 0、前言一、再来十篇完型填空和阅读理解第一部分&#xff1a;操作指南1.访问链接&#xff1a;ChatGPT 4o国内直接访问地址&#xff1a;https://share.xuzhugpt.cloud/2.上plus的车 第二部分&#xff1a;实操展示①完型填空②阅读理解 二、用户体验 0、前言 学习…