123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120 |
- <?php
- namespace app\allwin\model;
- use think\Model;
- class AllwinShopOrder extends Model{
-
- protected $pk = 'id';
-
- public function shop(){
- return $this->hasOne('AllwinShop','id','shop_id');
- }
-
- public function store(){
- return $this->hasOne('AllwinStore','id','store_id');
- }
-
- public function storeWorker(){
- return $this->hasMany('StoreWorker','store_id','store_id');
- }
-
- public function user(){
- return $this->hasOne('app\common\model\SystemUser','id','user_id');
- }
-
- public static function insertOrder($param,$order_no){
- $order = [
- 'store_id' => $param['store_id'],
- 'shop_id' => $param['shop_id'],
- 'member_miniapp_id' => $param['member_miniapp_id'],
- 'phone' => $param['telphone'],
- 'message' => $param['message'],
- 'share_uid' => $param['share_uid']?:0,
- 'user_id' => $param['user_id'],
- 'order_no' => $order_no,
- 'points' => $param['points'],
- 'amount' => $param['amount'],
- 'sell_price' => $param['sell_price'],
- 'thrifty' => $param['thrifty'],
- 'shop_cache' => $param['shop_cache'],
- 'status' => 0,
- 'is_del' => 0,
- 'paid_at' => 0,
- 'create_time' => time()
- ];
- return self::create($order);
- }
- public static function income(array $order,float $allMoney,float $prorateMoney){
- $store = AllwinStore::where(['id' => $order['store_id']])->field('id,member_miniapp_id,charges,manage_uid,mch_id,name')->find();
- if(empty($store)){
- return;
- }
- $setting = AllwinConfig::getConfig($store->member_miniapp_id);
- if($prorateMoney > 0){
- $queen = [];
-
- if($setting->is_psp == 1 && $store->mch_id && $setting->is_wechat_profitsharing){
-
- $queen[] = [
- 'member_miniapp_id' => $store->member_miniapp_id,
- 'store_id' => $store->id,
- 'uid' => 0,
- 'mch_id' => $store->mch_id,
- 'amount' => $prorateMoney * 100,
- 'transaction_id' => $order['paid_no'],
- 'out_order_no' => $order['order_no'],
- 'is_finish' => 0,
- 'types' => 1,
- 'msg' => '结算到商户号',
- ];
-
- $queen[] = [
- 'member_miniapp_id' => $store->member_miniapp_id,
- 'store_id' => $store->id,
- 'uid' => 0,
- 'mch_id' => 0,
- 'amount' => ($allMoney - $prorateMoney) * 100,
- 'transaction_id' => $order['paid_no'],
- 'out_order_no' => $order['order_no'],
- 'is_finish' => 0,
- 'types' => 2,
- 'msg' =>'结算到平台',
- ];
- MchIdQueen::createQueen($queen);
- }else{
- Bank::dueMoney($store->member_miniapp_id,$store->manage_uid,$prorateMoney);
- }
- StoreBill::add(['miniapp_id' => $store->member_miniapp_id,'uid' => $store->manage_uid,'store_id' => $store->id,'pay_uid' => $order['user_id'],'money' => $prorateMoney],'优选下单结算到商户号');
- BankBill::add(['miniapp_id' => $store->member_miniapp_id,'uid' => $store->manage_uid,'store_id' => $store->id,'pay_uid' => $order['user_id'],'money' => $prorateMoney],'优选下单结算到商户号');
- model('StoreStats')->payment($store, $prorateMoney);
- }
- }
- }
|