开发文档

## 框架 >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