追加功能 #463
Updated by Junyi Zhang 5 months ago
*Background*
# New requirement for v4.0 OTS
See: OneDrive\赤蓝商贸(上海)有限公司\Shanghai Group - IT\开发相关\OTS V4\开发需求
*Task Details*
* 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功能
*Remain Tasks*
* *1. 添加option和option value的中文翻译*
# 使用SQL导出所有的option,option value的language_id = 3的数据为csv,然后转为excel
<pre>
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
</pre>
# 使用google文档翻译: https://translate.google.com/?hl=zh-cn&sl=en&tl=zh-CN&op=docs
# 打开翻译好的excel, 使用excel函数,组装sql
<pre>
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&"';"
</pre>
# 执行SQL
*Questions:*
# 关于以上【SBX:开发Restful API (Client端)】功能,认证机制(OAuth)是必须的,但是怎么匹配SBX:admin user和OTS:user呢?
*Van:* 比如我们通过email(OTS4.0 可能需要完善email这个字段,比如必须输入),关联这2个系统的user关系。
*v4 coding standard:*
# 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)
# 注释
## 类名:
<pre>
/**
* xxx
*
* @copyright RedBlue-OTS 2024
* @version v4
*
*/
</pre>
## 函数名:参数类型 + 返回值类型
<pre>
/**
* xxx
*
* @param xxx $xxx
* @param xxx $xxx
* @return xxx
*/
</pre>
*Output*
* Report and Solution
*Others*