Project

General

Profile

追加功能 #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*

Back