skr-shop / manuals Goto Github PK
View Code? Open in Web Editor NEWDo design No code 💻📱🛒📚
Home Page: http://skrshop.tech/
Do design No code 💻📱🛒📚
Home Page: http://skrshop.tech/
大佬,请教一下,商品模块那里,sku表和attr属性表是不是需要一个sku_id来建立关联
transaction_id
VARCHAR(64) NOT NULL COMMENT '系统唯一识别交易号',
transaction_code
VARCHAR(64) NOT NULL COMMENT '支付成功时,该笔交易的 code',
支付系统中这两个字段的区别和作用在哪里呢?
比如参与次数、可以参与的抽奖的人员,这类东西跟活动方案走还是跟场次走会好一点?跟场次走会不会更灵活?会有什么弊端么?
文章好久没更新了
活动方案不应该只限制到日期,应该可选时分秒,比如我有一个九宫格的抽奖活动要从6月10号10点开始持续到6月17号10点,按现有的设计怎么弄?总不能去增8个场次吧
看了楼主数据库设计,抽象了accout的表,与登录相关的账号表都在里面,但是这也有点不好,如果用户数很多,比如多个公司的员工账户都写到这个表,是不是会慢,个人感觉还是分开好点,减少单表的压力,交流交流
问题一:同个订单,支付之后申请退款,那退款表(pay_refund)中的transaction_id是否需要和支付流水表(pay_transaction)中的transaction_id一致?
问题二:退款表中的transaction_id的用处?如果是标记退的支付流水表的哪条订单数据,字段名修改为pay_transaction_code或transaction_code是否更合适?
关于SPU和SKU有个疑问,像图书一类的商品一般是没有多种销售属性的,这种商品怎么添加sku?如果不添加sku,那下单时怎么处理?如果硬添加一个SKU感觉也不太合理,因为SKU应该和销售属性关联的。我看了一下淘宝的数据格式,图书商品sku就是null,是没有sku的,但是这样的话添加购物车、下单时不知道怎么处理的。有大佬能分享一下经验吗?
忘记了早期是不是有商品模块,现在是没有了吗?
如题
最近在学习skrshop设计,发现一些疑惑,希望得到大佬们的帮助;
1、auth_role_staff与auth_role缺少关联关系,或者没理解设计;
2、auth_role、auth_role_staff使用了text类型,数据库设计应该不建议使用text类型;
3、account_user、staff_info都出现email、phone,感觉staff_info可去掉;
我已经开始用go写skr-shop,先从后台cms写起,但是我发现手册中数据库表有些错误,可以发pr吗?如果可以,流程是怎么样的?
地址:https://github.com/xushuhui/skrshop-api
感谢设计出skr-shop的作者们
`create_at` int(11) NOT NULL DEFAULT '0' COMMENT '创建时间',
`update_at` int(11) NOT NULL DEFAULT '0' COMMENT '更新时间',
时间类型不是一般都用 Date
或者 Timestamp
吗
想是不是可以有个用户套餐关联的表,
table user_meal
column: user_id,order_id,meal_id
还是直接在订单表关联呢
table order
column: order_id, user_id, meal_id
大家这种关联关系倾向于那种呢?
transaction_code
VARCHAR(64) NOT NULL COMMENT '真实给第三方的交易code,异步通知的时候更新',这个字段具体是怎么处理呢,一般来说,在发起支付的时候,不是就已经传递了第三方的订单编号了么,这个在异步通知的时候,怎么再给第三方呢?Oops。。。
有个点想请教一下:
账户服务的表设计,您这边的账户表应该都是在账户服务中维护吧,如果说我后面想做好几个系统的会员服务,
是让账户服务统一维护
还是让各自的会员服务去单独维护,仅仅引用一下账户服务的uid
如果是分库的,各个系统的会员信息表,是都放在账户服务的实例上,还是放到各自的数据库实例上
不知道购物车放入redis 是怎么设计的?
我看现在很多方案是 hmset id product count 这么个结构
我不知道这边的方案是怎样的 ?什么样的方式存储到redis
大佬,官网链接打不开了,期待更新
这也太棒了,可以放个付款二维码嘛,我想请作者们喝星爸爸~
一直关注期待订单中心的更新,感谢大佬的辛勤付出。
订单状态、商品sku关联等。期待更新 订单中心内容
收益良多, 先感谢贡献者们
在购物车模块中 是这么讲解的
购物车的最后一步是生成订单,这一步最要紧的是需要给购物车加锁,避免提交过程中数据被篡改,多说一句,很多人写的Redis分布式锁代码都存在缺陷,大家一定要注意原子性的问题,这类文章网络上很多不再赘述。
加锁成功之后,我们这里有多种做法,一种是按照DB涉及组织数据开始写表,这适用于业务量要求不大,比如订单每秒下单量不超过2000K的;那如果你的系统并发要求非常高怎么办?
其实也很简单,高性能的三大法宝之一:异步;我们提交的时候直接将数据快照写入MQ中,然后通过异步的方式进行消费处理,可以通过通过控制消费者的数量来提升处理能力。这种方法虽然性能提升,但是复杂度也会上升,大家需要根据自己的实际情况来选择。
问题是为何需要给购物车加锁?
KEY
idx_domain
(domain
)
domain 应该是 ms_domain~
计划用 Java 体系技术开发这套设计手册体现出来的功能,大概率用 spring cloud 微服务。前端方面大概率使用 VUE Element-UI
PT. LinkIT360 Saturday, June 26, 2021 at 6:12 PM
Ticket #001812 printed by Lin on Saturday, June 26, 2021 at 6:12 PM
你们的总结很有想法,让我想起了一本书:《分析模式》-Martin Fowler.整个系统完成下来,基本可以saas了啊,得选个人做销售,- . -
关于用户系统,有点个人的看法。少了验证系统,比如邮箱验证,手机号验证等,还有个绑定xx信息,有个相应的解绑操作,留给用户选择,或许会更好点?
对订单优惠结算的部分有点疑惑,结算页与提交订单是两步,那么提交订单时算出的价格与结算页不一致的情况该如何处理?例如有一个满减活动刚好失效之类的,这种情况该如何比较优雅的解决呢?
举个简单的场景,加购一件sku,这时候需要做这几步操作:
1、先根据用户ID,把这个用户购物车全部数据get出来
2、然后在本地内存里,遍历,看是否有对应的skuId
3、有,则把数量+1,然后把全部数据set回去
4、无,则add一个元素,然后把全部数据set回去
时间复杂度O(n) 数据传输量大, 想想如果一个用户购物车加满了,比如200个sku,数据量会很大
另外还要考虑数据版本、看是否要加锁等问题
相反,使用 hash,除了获取购物车详情需要使用 hgetall,在Redis服务端进行操作,时间复杂度O(n)
其他的加购、编辑数量、规格等场景,时间复杂度都是O(1),数据传输量也小
另外相比String,hash数据是结构化的
想请教下交易中心最下面得代码设计:
1 是XXXGateway处理回调,还是XXXProxy处理回调?
2 想确认下设计图上是:发起支付通过XXXProxy进行数据处理传给XXXGateway 请求第三方支付平台,XXXGateway请求返回数据再经过XXXProxy返回上一层是吗
我看看了你那个支付流水表
金额是用2个字段来储存的,为什么不用decimal来储存?
total_fee
INT UNSIGNED NOT NULL DEFAULT 0 COMMENT '支付金额,整数方式保存',
scale
TINYINT UNSIGNED NOT NULL DEFAULT 0 COMMENT '金额对应的小数位数',
请问这样有什么好处或者问题?
在后端表现是 一个spu必须插入一条sku吗 如果当前spu没有其他属性的情况下 ,还是说如果没有sku就不需要插入sku表
-- -----------------------------------------------------
-- Table 交易扩展表
-- -----------------------------------------------------
CREATE TABLE IF NOT EXISTS `pay_transaction_extension` (
`id` BIGINT UNSIGNED NOT NULL AUTO_INCREMENT,
`transaction_id` VARCHAR(64) NOT NULL COMMENT '系统唯一交易id',
`pay_method_id` INT UNSIGNED NOT NULL DEFAULT 0,
`transaction_code` VARCHAR(64) NOT NULL COMMENT '生成传输给第三方的订单号',
`call_num` TINYINT UNSIGNED NOT NULL DEFAULT 0 COMMENT '发起调用的次数',
`extension_data` TEXT NOT NULL COMMENT '扩展内容,需要保存:transaction_code 与 trade no 的映射关系,异步通知的时候填充',
`create_at` INT UNSIGNED NOT NULL DEFAULT 0 COMMENT '创建时间',
`create_ip` INT UNSIGNED NOT NULL COMMENT '创建ip',
PRIMARY KEY (`id`),
INDEX `idx_trads` (`transaction_id`, `pay_status`),
UNIQUE INDEX `uniq_code` (`transaction_code`)),
ENGINE = InnoDB
DEFAULT CHARACTER SET = utf8mb4
COMMENT = '交易扩展表';
创建表索引的时候 不存在 pay_status 字段,不知道时文档错误,还是写漏了呢
请问积分系统会包含会员成长体系吗?比如会员日常任务,一次性任务这种成就系统的设计?
能透露下手册的图是用什么工具画的吗?这个项目很不错,非常有参考价值,感谢你们的付出!
在商品模块数据库设计中有一个sku库存表 product_sku_stock
,但是库存明显是可以合并到sku表 product_sku
中,单独见一个表,开销也会很大啊,建它的理由是啥呢
起到快点更新,跟几位大佬一起学习进步
本电商设计手册中,日志服务和定时任务会不会有呢,比较期待这一块
A declarative, efficient, and flexible JavaScript library for building user interfaces.
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google ❤️ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.