| 1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980 | <?phpnamespace app\admin\service\order;use app\model\Order;use app\model\OrderSheet;use app\model\SysDept;use support\Db;use support\Redis;class OrderService{    /**     * @Desc 自动确认收货     * @Author Gorden     * @Date 2024/4/11 16:09     *     * @return void     */    public static function AutomaticReceipt()    {        try {            Db::beginTransaction();            $timeUnix = strtotime("-7 days");            $orders = Order::where('order_status_system', 'SIGNED')                ->where('order_addtimes', '<', $timeUnix)                ->get();            foreach ($orders as $order) {                // 订单主表                Order::where('order_id', $order->order_id)->update([                    'order_is_complete' => 'Y',                    'order_status_system' => 'CONFIRM'                ]);                // 订单详情表                OrderSheet::where('join_sheet_order_id', $order->order_id)->update(['order_sheet_status' => 'CONFIRM']);            }            Db::commit();        } catch (\Exception $e) {            Db::rollBack();        }    }    public static function checkPayingOrder()    {        try {            Db::beginTransaction();            $timeUnix = strtotime("-30 minutes");            $orders = Order::where('order_status_system', 'PAYING')                ->where('order_addtimes', '<', $timeUnix)                ->get();            foreach ($orders as $order) {                // 订单主表                Order::where('order_id', $order->order_id)->update([                    'order_category' => 'CANCEL',                    'order_status_system' => 'CANCEL',                    'order_status_payment' => 'CANCEL'                ]);                // 订单详情表                OrderSheet::where('join_sheet_order_id', $order->order_id)->update(['order_sheet_status' => 'CANCEL']);            }            Db::commit();        } catch (\Exception $e) {            Db::rollBack();        }    }    public static function generateWriteOffData($params) {        return [            'charge'=>[                'charge_amount'=>1,                'charge_content'=>$params['order_remark'] ?? '',                'charge_user_id'=>$params['write_off_member_id'],                'charge_premises'=>$params['dept_premises_id'],            ],            'member_id'=>$params['join_order_member_id']        ];    }}
 |