追加功能 #463
v4.0: Product - Step 2
Start date:
06/02/2025
Due date:
10/31/2025
% Done:
100%
Estimated time:
100.00 h
Description
Background
- New requirement for v4.0 OTS
See: OneDrive\赤蓝商贸(上海)有限公司\Shanghai Group - IT\开发相关\OTS V4\开发需求
- 1. [DONE #454] SBX:调查产品模块相关的功能和Database Table,比如
- 2. [DONE #454] OTS:开发相关模块根据以上的调查(包括设计修改Database Table)
- 3. [DONE #462] OTS:开发Import product module,可以多次导入SBX相关产品数据(SQL格式)
- 4. OTS:开发Restful API (Server端),接受来自SBX的订单产品数据(参考:https://docs.opencart.com/en-gb/system/users/api/)
- 5. SBX:开发Restful API (Client端),传输OTS可接受的订单产品数据(想定:Admin order edit form中添加传输功能)
Note: 可能需要优先回答Order模块,处理手动Order(Order Product)的Add / Edit / Remove功能
- 1. 添加option和option value的中文翻译
- 使用SQL导出所有的option,option value的language_id = 3的数据为csv,然后转为excel
Option description: SELECT option_id, language_id, `name`, short_text, `description` FROM ots_option_description od WHERE language_id = 3 Option value description: SELECT option_value_id, language_id, `option_id`, delivery_service, `name`, video_id, addition, startcost, `text` FROM ots_option_value_description ovd WHERE language_id = 3
- 使用google文档翻译: https://translate.google.com/?hl=zh-cn&sl=en&tl=zh-CN&op=docs
- 打开翻译好的excel, 使用excel函数,组装sql
Option description: ="UPDATE ots_option_description SET name = '"&C2&"', short_text = '"&D2&"', description = '"&E2&"' WHERE option_id = '"&A2&"' AND language_id = '"&B2&"';" Option value description ="UPDATE ots_option_value_description SET `name` = '"&E2&"', addition = '"&G2&"', startcost = '"&H2&"', `text` = '"&I2&"' WHERE option_value_id = '"&A2&"' AND language_id = '"&B2&"' AND option_id = '"&C2&"';"
- 执行SQL
Questions:
- 关于以上【SBX:开发Restful API (Client端)】功能,认证机制(OAuth)是必须的,但是怎么匹配SBX:admin user和OTS:user呢?
Van: 比如我们通过email(OTS4.0 可能需要完善email这个字段,比如必须输入),关联这2个系统的user关系。
- Git提交
#xxx(redmine number): xxx(redmine title) - xxx(任意:补充内容)
- 代码规范
2.1: 结构:Public -> Protected -> Private
2.2: 其他代码规范同SBX
- MVCL的v3/v4物理分割
3.1: v3/v4的代码分为两个文件,比如: order.php, order_v3.php
3.2: system也分为两个文件,暂时只有一个user_v3
- Note: front的$this->user在v4中会替换为$this->customer, 即v4中需要清除$this->user
3.3: 代码中,区分v3/v4的调用,比如:new User_V3
- 前台代码
twig, js, css (js, css尽量写在单独的css文件中)
- 后台代码
MVCL (L:en,cn)
- 注释
- 类名:
/** * xxx * * @copyright RedBlue-OTS 2024 * @version v4 * */
- 函数名:参数类型 + 返回值类型
/** * xxx * * @param xxx $xxx * @param xxx $xxx * @return xxx */
- 类名:
- Report and Solution
Others
Related issues
Updated by Junyi Zhang 10 months ago
Output(2025/05/20), (2025/04/17 - 2025/04/18)
DONE:- 新增product option value的manufacturer选项/人工介入(某些配件需要其他工厂生产,在invoice时需要区分这些option。)
- 新增product的人工介入(manual review)
- 人工输入的特定单价 = 产品+option的单价 - 支持输入option value的重量差值(weight_difference)
- 产品总重量 = (产品重量 + option value重量)* 数量 - manufacturer 模块删除
- product模块中的manufatcurer关联改为与customer关联
- price的计算规则使用v3的规则(区间固定价格)
- 字符串(Märkning/Branding -> Tryck/Print )的替换需要考虑将部分内容同步到OTS4.0
- 主要更新ots_option_description.name 和 ots_product_option_description.name - 新增product的stock product = yes/no, product manufacturer级别和product option value级别新增设置stock enabled + stock product。
- If stock product = yes, hidden stock enabled + stock product. - 当添加比最小qty更小的normal qty的时候,我们需要保持原先的qty对应的价格为base price,包括option value对应的base price(Van)。
Merge SBX:9d89e5d13e11e8560d5bd979470a49ae6403bfd3
- Functions :
- OTS V4 开发restful API, 用于接收来自ET V4的订单数据。
- ET V4 开发restful API, 用于发送订单数据。
- product option value继承startcost的逻辑 + startcost的copy
参考SBX(commit ID): 1862fcaae86711d2fe9dd62285b5bcb4e9c121f2