开发文档
## 框架
>w 后台 fastadmin
即时通讯 easyswoole
![image.png](https://cos.easydoc.net/64379784/files/k40mz8b1.png)
## 1.订单支付完成处理行为
#### application\api\behavior\AopOrder.php
```php
//订单支付成功行为类
public function afterPayorder(&$params){...}
```
#### application\api\controller\Wxpay.php
```php
//微信支付测试1分钱
public function dopay($body, $total_fee, $product_code){...}
```
#### application\api\controller\Alipay.php
```php
//支付测试1分钱
public function dopay($body, $total_fee, $product_code){...}
```
## 2.swoole定时任务
## 设置使用时间点的团购订单或者拼购的订单,在开始使用前10分钟消息推送 chat.imyouz.com\EasySwooleEvent.php line:78
```php
\EasySwoole\Component\Timer::getInstance()->loop(10 * 1000, function () {
$OrderModel=new \App\Model\OrderModel();
//设置使用时间点的团购订单或者拼购的订单,在开始使用前10分钟消息推送
$OrderModel->pushOrdersMsg();
//为了防止因为任务阻塞,引起定时器不准确,把任务给异步进程处理
Logger::getInstance()->console("time 2", false);
});
```
## 3.linux定时任务
(1):团购订单因已超过试用期限,平台自动退款定时任务\application\admin\model\Litestoreorder.php line:282
```php
public static function auto_refund()
{
$orders=self::with('user')->where(['litestoreorder.pay_status'=>'20','litestoreorder.order_status'=>'10','litestoreorder.refund_time'=>0,'litestoreorder.autofound'=>0,'litestoreorder.order_type'=>1])->whereTime('litestoreorder.end_time', '>=', time())->select();
//var_dump(collection($orders)->toArray() );
$push_c= new \app\api\controller\Jpush;
foreach ($orders as $key => $value) {
accountlog($value->pay_price,$value->user_id,$value->id,'退款',$value->goods_name,'订单号['.$value->order_no.']');
$push_c->dopush('尊敬的用户您好,您的订单编号'.$value->order_no.'的团购订单因已超过试用期限,平台已经退款成功,请到储户金中进行查看',$value->user->register_id);
}
self::with('user')->where(['litestoreorder.pay_status'=>'20','litestoreorder.order_status'=>'10','litestoreorder.refund_time'=>0,'litestoreorder.autofound'=>0])->whereTime('litestoreorder.end_time', '>=', time())->update(['order_status'=>'6','refund_time'=>time(),'autofound'=>1]);
return $orders;
}
```
(2):每月15日结算代销返利
`0 0 15 * * /usr/bin/php /www/wwwroot/imyouz.com/think dxfl`
\application\admin\model\Litestoreorder.php line:282
```php
```
## 4.订单核销
#### application\api\controller\Order.php @veri
```php
/**
* 订单核销
* @ApiHeaders (name=token, type=string, required=true, description="请求的Token")
* @param string $order_id order_id
*/
public function veri()
{
return json($this->model->veri(input('order_id'))) ;
}
```
addons\litestore\model\Litestoreorder.php @veri
```php
public function veri()
{
...
}
```
## 5.常用sql
更新用户余额
```sql
UPDATE `yz`.`fa_user` SET `money` = 10000000
```
crontab -e
*/5 * * * * cd /www/wwwroot/imyouz.com/ && /usr/bin/php think refound >> 订单对款 /tmp/refound.log
0 0 15 * * cd /www/wwwroot/imyouz.com/ && /usr/bin/php think dxfl >> /tmp/dxfl.log
0 2 * * * cd /www/wwwroot/imyouz.com/ && /usr/bin/php think statistics >> /tmp/statistics.log