白银店铺
利润分成: 20%
黄金店铺
最高利润21%
白金店铺
最高利润22%
Top

更新日志

# 系统更新日志 (2025-07-11)
后台-客户-创建虚拟客户-现在可以自己设置创建虚拟客户的密码。
推销员-客户-创建虚拟客户-现在可以自己设置创建虚拟客户的密码-之前创建报错修复。
增加卖家留言审核,默认商品页面不允许与卖家留言,虚拟卖家默认创建的时候打开开关可以留言。开关-后台-客户-留言。

# 系统更新日志 (2025-07-05)
后台-买家-下单需要审核-可以设置全局通过
卖家-订单-增加提货倒计时显示,默认48小时,如果超时未提货会显示联系客服。


# 系统更新日志 (2025-07-04)
后台-功能激活-全局客服-可以设置全局链接客服
卖家-订单-美化显示页面-现在可以显示订单详情,美化手机端显示。


# 系统更新日志 (2025-06-06)
买家注册增加邮件验证码验证,开关:网站设置-功能激活-注册时需要电子邮件验证
商家注册增加邮件验证码验证,开关:网站设置-功能激活-注册时需要电子邮件验证

# 系统更新日志 (2025-05-10)
推销员-增加批准卖家发送邮件,可以自定义邮件内容,可以选择不发送邮件,如不自定义将使用默认模板发送邮件。---需要后台正确配置smtp邮箱
推销员-增加拒绝卖家发送邮件,可以自定义邮件内容,可以选择不发送邮件,如不自定义将使用默认模板发送邮件,拒绝卖家后卖家前提会出现拒绝提示。---需要后台正确配置smtp邮箱


# 系统更新日志 (2025-05-08)
后台-卖家-增加批准卖家发送邮件,可以自定义邮件内容,可以选择不发送邮件,如不自定义将使用默认模板发送邮件。---需要后台正确配置smtp邮箱
后台-卖家-增加拒绝卖家发送邮件,可以自定义邮件内容,可以选择不发送邮件,如不自定义将使用默认模板发送邮件,拒绝卖家后卖家前提会出现拒绝提示。---需要后台正确配置smtp邮箱


# 系统更新日志 (2025-04-23)
优化卖家对话系统,可以查看对话商品,未读数量提醒,未读消息靠前。

# 系统更新日志 (2025-04-08)
管理员后台增加一键释放冻结金
推销员后台增加释放自己名下卖家订单一键释放冻结金
推销员可以设置自己名下卖家的订单状态 

修改注册店铺弹出提示方式,加强提示

# 系统更新日志 (2025-03-30)
修复注册店铺手动输入推荐码不生效BUG
修改注册店铺弹出提示方式,加强提示

# 系统更新日志 (2025-03-28)
修复卖家购买店铺等级包后,下单利润不改变的BUG
增加卖家店铺等级购买里当前等级显示到期日期显示,如果降级购买会警告提示,修复重复购买日期会叠加的问题,改为只有当前等级包才会叠加日期,如果等级包不一样将会重新计算日期。


# 系统更新日志 (2025-03-25)
成交订单-定时订单增加筛选、查看详情、删除功能
推销员增加定时下单功能


# 系统更新日志 (2025-03-24)

## 随机物流功能优化:使用实际提货时间作为物流起始点

### 问题描述
随机物流功能原先使用当前系统时间作为物流时间线的起始点,导致每次刷新页面都会重新生成物流信息,时间点不固定,影响用户体验。

### 解决方案
1. 在订单表(orders)中添加`product_storehouse_time`字段记录实际提货时间
2. 修改提货相关控制器方法,在提货成功时更新该字段值
3. 更新前端视图,使随机物流功能优先使用`product_storehouse_time`作为时间起始点


更新日志 2025-03-18

## 修改文件
1. `resources/views/backend/sales/all_orders/index.blade.php`
   - 添加批量操作确认模态框
   - 优化 JavaScript 操作函数
   - 清理调试代码

2. `app/Http/Controllers/OrderController.php`
   - 优化批量操作处理逻辑
   - 完善错误处理机制
   - 清理调试日志代码

3. `routes/web.php`
   - 添加批量删除路由
   - 完善路由权限控制

## 功能优化

### 订单管理功能增强
1. 新增批量操作功能
   - 批量删除订单
   - 批量修改订单状态
   - 批量释放冻结资金

2. 订单状态管理优化
   - 添加状态变更确认弹窗
   - 完善状态变更逻辑
   - 订单状态显示优化

3. 冻结资金管理
   - 新增冻结资金批量释放功能
   - 添加冻结期检查机制
   - 优化资金释放流程

### 界面交互优化
1. 添加操作确认模态框
   - 批量删除确认
   - 状态修改确认
   - 资金释放确认

2. 优化提示信息
   - 添加操作成功/失败提示
   - 完善错误信息展示

### 代码优化
1. 清理冗余代码
   - 移除调试日志
   - 优化代码结构
   - 提高代码可维护性

## 修复问题
1. 修复批量删除功能不生效的问题
2. 修复订单状态显示异常
3. 优化错误处理机制

## 注意事项
- 订单状态为"已发货"时会自动释放冻结资金
- 批量操作前需要先选择订单
- 冻结资金只能在冻结期到期后释放 




# 更新日志
## 2025-03-17 信誉分系统更新
### 功能说明
1. 店铺信誉分系统
   - 初始分数为100分
   - 分数范围:0-100分
   - 每20分对应一颗星(满分5星)
   - 支持管理员手动调整分数
   - 记录所有分数变更历史

2. 信誉分显示
   - 店铺后台显示当前信誉分
   - 以星级和进度条形式展示
   - 显示具体分数和满分值





## 2024-03-xx
### 优化
- 优化了商家后台销售统计逻辑
  - 移除了销售统计的缓存机制(CACHE_DURATION 设为 0)
  - 销售统计和利润统计仅计入已提货订单
  - 优化了利润计算方式,使用 grand_total - product_storehouse_total 计算实际利润

### 修复
- 修复了销售统计包含未提货订单的问题
- 修复了利润统计不准确的问题
- 修复了数据刷新不及时的问题

### 说明
- 销售统计现在只统计已支付且已提货的订单
- 利润计算采用订单总额减去仓库成本的方式
- 所有统计数据实时更新,无需手动刷新

# 物流跟踪系统翻译

## 物流节点文本
| 中文 | 英文 |
|------|------|
| 商品已从TIKTOK云仓发出,等待揽收 | Products shipped from TIKTOK warehouse, waiting for collection |
| *****转运中心已揽收,正在分拣 | ***** Transit Center has collected, sorting in progress |
| 商品已到达*****分拣中心,准备发往目的地 | Products arrived at ***** Sorting Center, ready for destination |
| 商品已到达*****快递站点 | Products arrived at ***** Delivery Station |
| 快递员*****已取件,正在派送途中 | Courier ***** has picked up, delivering in progress |
| 订单已签收 | Order has been received |
| 订单已确认,物流信息尚未生成 | Order confirmed, logistics information not yet generated |

## 状态标签
| 中文 | 英文 |
|------|------|
| 运输中 | In Transit |
| 预计送达 | Estimated delivery |

## 详细信息标签
| 中文 | 英文 |
|------|------|
| 快递公司 | Courier Company |
| 运单号 | Tracking Number |
| 发货地址 | Shipping Address |
| 收货地址 | Delivery Address |

## 按钮文本
| 中文 | 英文 |
|------|------|
| 联系物流 | Contact Logistics |
| 打印运单 | Print Waybill |
| 标记异常 | Mark Exception |

## 其他界面文本
| 中文 | 英文 |
|------|------|
| 物流跟踪 | Logistics Tracker |
| 订单物流详情 | Order Logistics Details |
| 订单 | Order |
| 暂无物流信息 | No logistics information available |

## 使用方法

在系统中,所有文本都使用 `{{ translate('key') }}` 格式进行包装,以便系统能够自动翻译。例如:

```php
{{ translate('Products shipped from TIKTOK warehouse, waiting for collection') }}
```

可以通过在语言文件中添加相应的翻译键值对来支持更多语言。

## 2025年3月15日
- 优化了订单详情页面的地址显示,在手机端保持左对齐显示,提高了阅读体验
- 为物流跟踪组件中的"联系物流"和"标记异常"按钮添加了点击事件,点击时显示"请联系网站客服处理"提示,使用可翻译格式确保多语言支持

### 物流组件更新详情

#### 按钮事件处理实现
物流跟踪组件中的"联系物流"和"标记异常"按钮现已添加交互功能,实现方式如下:

```javascript
// 联系物流按钮

// 标记异常按钮
```

这两个按钮使用了系统内置的`AIZ.plugins.notify`通知组件显示提示信息,确保了UI风格的一致性。

#### 多语言支持
所有提示信息都使用了`{{ translate('...')}}`格式包装,确保能够通过系统的多语言功能自动翻译,无需额外的翻译文件。当系统语言切换时,提示消息会自动使用对应语言显示。

#### 物流追踪组件渲染流程
1. 初始检测:系统检测订单的提货状态(`product_storehouse_status`)和物流信息存在性
   ```javascript
   var hasPickedUp = {{ $order->product_storehouse_status ? 'true' : 'false' }};
   var hasLogistics = {{ isset($express) && isset($express->express_info) ? 'true' : 'false' }};
   ```

2. 条件渲染:仅在订单已提货但无物流信息时显示随机物流组件
   ```javascript
   if (hasPickedUp && !hasLogistics) {
       // 延迟执行确保DOM加载完成
       setTimeout(function() {
           showRandomLogistics('{{ $order->code }}', '{{ $order->delivery_status }}');
       }, 1000);
   }
   ```

3. 调试控制:添加了调试面板,可手动强制显示/隐藏物流组件
   ```javascript
   
   ```

#### 响应式设计优化
订单详情页面的地址显示部分,修改了CSS类从`text-md-left text-center`到`text-left`:
```html
   
```
这确保了在所有设备上(包括移动设备)地址信息始终左对齐显示,提高了移动端的阅读体验。

#### 技术架构
- 前端:利用Bootstrap框架进行响应式布局
- 交互:使用原生JavaScript和AIZ插件系统处理用户交互
- 模板:基于Blade模板引擎,支持条件渲染和多语言功能
- 集成:与Laravel后端无缝集成,支持数据动态渲染

#### 物流时间节点实现
物流追踪中的时间节点采用基于订单状态的智能生成方式,具体实现如下:

1. **时间节点的基准计算**
   ```javascript
   // 尝试获取订单的实际提货时间或以当前时间为基准
   let pickupDate;
   if (orderData && orderData.confirmedAt) {
       pickupDate = parseOrderDateString(orderData.confirmedAt);
   } else {
       pickupDate = new Date(); // 使用当前时间作为后备
   }
   ```

2. **节点时间间隔的动态计算**
   ```javascript
   // 计算提货后3小时9分25秒的时间(精确增加)
   const threeHoursLater = new Date(pickupDate);
   threeHoursLater.setHours(threeHoursLater.getHours() + 3);
   threeHoursLater.setMinutes(threeHoursLater.getMinutes() + 9);
   threeHoursLater.setSeconds(threeHoursLater.getSeconds() + 25);
   
   // 计算转运中心揽收时间 - 在TIKTOK云仓时间基础上增加5小时12分6秒
   const transportCenterTime = new Date(threeHoursLater);
   transportCenterTime.setHours(transportCenterTime.getHours() + 5);
   // ...以此类推,为每个节点计算时间
   ```

3. **智能显示逻辑**
   系统会根据当前时间自动显示或隐藏时间节点:
   ```javascript
   // 检查时间节点是否已经到达(是否应该显示)
   function shouldShowTimeNode(nodeTime) {
       return nodeTime <= currentSystemTime;
   }
   
   // 只有当节点时间已经到达才显示该节点
   if (shouldShowTimeNode(threeHoursLater)) {
       logistics.trackingInfo.push({
           date: threeHourDateFormatted,
           time: threeHourLaterFormatted,
           content: `商品已从TIKTOK云仓发出,等待揽收`,
           active: false
       });
   }
   ```

4. **工作时间智能调整**
   系统考虑了实际快递公司的工作时间,例如在晚间自动调整到次日:
   ```javascript
   // 判断是否是下班时间(下午5点以后)
   if (courierPickupTime.getHours() >= 17) {
       // 是下班时间,推迟到第二天早上9:27:02
       courierPickupTime.setDate(courierPickupTime.getDate() + 1);
       courierPickupTime.setHours(9);
       courierPickupTime.setMinutes(27);
       courierPickupTime.setSeconds(2);
   }
   ```

5. **订单状态关联**
   最后一个节点根据订单状态动态显示:
   ```javascript
   // 如果订单状态是"确认收货",则添加确认收货节点
   if (deliveryStatus === 'delivered') {
       // 尝试获取实际确认时间...
       logistics.trackingInfo.push({
           date: confirmDateFormatted,
           time: confirmTimeFormatted,
           content: `订单已签收`,
           active: true
       });
   }
   ```

6. **时间节点的渲染**
   时间节点以时间轴形式渲染,最新的节点显示在顶部:
   ```javascript
   // 逆序显示物流信息(最新的在最上面)
   const reversedInfo = [...logistics.trackingInfo].reverse();
   
   reversedInfo.forEach((node, index) => {
       const isActive = node.active; // 使用节点的active属性
       html += `
           
               
               
                   
${node.date}
                   
${node.time}
               
               
${node.content}
           
`;
   });
   ```

这种实现方式确保了物流信息在没有真实物流数据时也能以合理、符合实际的时间节点呈现,提高了用户体验。系统会智能处理工作时间、跨天计算以及订单状态变更等情况,使物流信息尽可能接近实际物流过程。

## 更新日志

### 2025-03-16
- 改进充值功能:充值提交后显示提示窗口并3秒后自动刷新页面
- 优化翻译系统:
  - 改进支付明细(payment_details)的翻译处理机制,使用键名存储而非直接翻译文本
  - 针对"Payment for storehouse products"类型的记录实现智能翻译处理
  - 优化支付方式(payment_method)的翻译显示
- 减少翻译条目:避免每个订单都生成独立的翻译条目,提高翻译管理效率
- 修复了一些UI和体验问题

### 旧版更新