diff --git a/crmeb/app/admin/model/order/StoreOrder.php b/crmeb/app/admin/model/order/StoreOrder.php
index 7d839a00..88fa54cb 100644
--- a/crmeb/app/admin/model/order/StoreOrder.php
+++ b/crmeb/app/admin/model/order/StoreOrder.php
@@ -22,6 +22,7 @@ use think\facade\Route as Url;
use think\facade\Db;
use app\admin\model\user\User;
use app\admin\model\user\UserBill;
+
/**
* 订单管理Model
* Class StoreOrder
@@ -44,52 +45,54 @@ class StoreOrder extends BaseModel
use ModelTrait;
- public static function orderCount(){
- $data['wz']=self::statusByWhere(0,new self())->where(['is_system_del'=>0])->count();
- $data['wf']=self::statusByWhere(1,new self())->where(['is_system_del'=>0,'shipping_type'=>1])->count();
- $data['ds']=self::statusByWhere(2,new self())->where(['is_system_del'=>0,'shipping_type'=>1])->count();
- $data['dp']=self::statusByWhere(3,new self())->where(['is_system_del'=>0])->count();
- $data['jy']=self::statusByWhere(4,new self())->where(['is_system_del'=>0])->count();
- $data['tk']=self::statusByWhere(-1,new self())->where(['is_system_del'=>0])->count();
- $data['yt']=self::statusByWhere(-2,new self())->where(['is_system_del'=>0])->count();
- $data['del']=self::statusByWhere(-4,new self())->where(['is_system_del'=>0])->count();
- $data['write_off'] =self::statusByWhere(5,new self())->where(['is_system_del'=>0])->count();
- $data['general']=self::where(['pink_id'=>0,'combination_id'=>0,'seckill_id'=>0,'bargain_id'=>0,'is_system_del'=>0])->count();
- $data['pink']=self::where('pink_id|combination_id','>',0)->where('is_system_del',0)->count();
- $data['seckill']=self::where('seckill_id','>',0)->where('is_system_del',0)->count();
- $data['bargain']=self::where('bargain_id','>',0)->where('is_system_del',0)->count();
+ public static function orderCount()
+ {
+ $data['wz'] = self::statusByWhere(0, new self())->where(['is_system_del' => 0])->count();
+ $data['wf'] = self::statusByWhere(1, new self())->where(['is_system_del' => 0, 'shipping_type' => 1])->count();
+ $data['ds'] = self::statusByWhere(2, new self())->where(['is_system_del' => 0, 'shipping_type' => 1])->count();
+ $data['dp'] = self::statusByWhere(3, new self())->where(['is_system_del' => 0])->count();
+ $data['jy'] = self::statusByWhere(4, new self())->where(['is_system_del' => 0])->count();
+ $data['tk'] = self::statusByWhere(-1, new self())->where(['is_system_del' => 0])->count();
+ $data['yt'] = self::statusByWhere(-2, new self())->where(['is_system_del' => 0])->count();
+ $data['del'] = self::statusByWhere(-4, new self())->where(['is_system_del' => 0])->count();
+ $data['write_off'] = self::statusByWhere(5, new self())->where(['is_system_del' => 0])->count();
+ $data['general'] = self::where(['pink_id' => 0, 'combination_id' => 0, 'seckill_id' => 0, 'bargain_id' => 0, 'is_system_del' => 0])->count();
+ $data['pink'] = self::where('pink_id|combination_id', '>', 0)->where('is_system_del', 0)->count();
+ $data['seckill'] = self::where('seckill_id', '>', 0)->where('is_system_del', 0)->count();
+ $data['bargain'] = self::where('bargain_id', '>', 0)->where('is_system_del', 0)->count();
return $data;
}
- public static function OrderList($where){
- $model = self::getOrderWhere($where,self::alias('a')->join('user r','r.uid=a.uid','LEFT'),'a.','r')->field('a.*,r.nickname,r.phone,r.spread_uid');
- if($where['order']!=''){
+ public static function OrderList($where)
+ {
+ $model = self::getOrderWhere($where, self::alias('a')->join('user r', 'r.uid=a.uid', 'LEFT'), 'a.', 'r')->field('a.*,r.nickname,r.phone,r.spread_uid');
+ if ($where['order'] != '') {
$model = $model->order(self::setOrder($where['order']));
- }else{
+ } else {
$model = $model->order('a.id desc');
}
- if(isset($where['excel']) && $where['excel']==1){
- $data=($data=$model->select()) && count($data) ? $data->toArray() : [];
- }else{
- $data=($data=$model->page((int)$where['page'],(int)$where['limit'])->select()) && count($data) ? $data->toArray() : [];
+ if (isset($where['excel']) && $where['excel'] == 1) {
+ $data = ($data = $model->select()) && count($data) ? $data->toArray() : [];
+ } else {
+ $data = ($data = $model->page((int)$where['page'], (int)$where['limit'])->select()) && count($data) ? $data->toArray() : [];
}
- foreach ($data as &$item){
- $_info = Db::name('store_order_cart_info')->where('oid',$item['id'])->field('cart_info')->select();
+ foreach ($data as &$item) {
+ $_info = Db::name('store_order_cart_info')->where('oid', $item['id'])->field('cart_info')->select();
$_info = count($_info) ? $_info->toArray() : [];
- foreach ($_info as $k=>$v){
- $cart_info = json_decode($v['cart_info'],true);
- if(!isset($cart_info['productInfo'])) $cart_info['productInfo']=[];
+ foreach ($_info as $k => $v) {
+ $cart_info = json_decode($v['cart_info'], true);
+ if (!isset($cart_info['productInfo'])) $cart_info['productInfo'] = [];
$_info[$k]['cart_info'] = $cart_info;
unset($cart_info);
}
$item['_info'] = $_info;
- $item['spread_nickname'] = Db::name('user')->where('uid',$item['spread_uid'])->value('nickname');
- $item['add_time'] = date('Y-m-d H:i:s',$item['add_time']);
- $item['back_integral'] = $item['back_integral'] ? : 0;
- if($item['pink_id'] || $item['combination_id']){
- $pinkStatus = StorePink::where('order_id_key',$item['id'])->value('status');
- switch ($pinkStatus){
+ $item['spread_nickname'] = Db::name('user')->where('uid', $item['spread_uid'])->value('nickname');
+ $item['add_time'] = date('Y-m-d H:i:s', $item['add_time']);
+ $item['back_integral'] = $item['back_integral'] ?: 0;
+ if ($item['pink_id'] || $item['combination_id']) {
+ $pinkStatus = StorePink::where('order_id_key', $item['id'])->value('status');
+ switch ($pinkStatus) {
case 1:
$item['pink_name'] = '[拼团订单]正在进行中';
$item['color'] = '#f00';
@@ -107,75 +110,75 @@ class StoreOrder extends BaseModel
$item['color'] = '#457856';
break;
}
- }elseif ($item['seckill_id']){
+ } elseif ($item['seckill_id']) {
$item['pink_name'] = '[秒杀订单]';
$item['color'] = '#32c5e9';
- }elseif ($item['bargain_id']){
+ } elseif ($item['bargain_id']) {
$item['pink_name'] = '[砍价订单]';
$item['color'] = '#12c5e9';
- }else{
- if($item['shipping_type']==1){
+ } else {
+ if ($item['shipping_type'] == 1) {
$item['pink_name'] = '[普通订单]';
$item['color'] = '#895612';
- }else if($item['shipping_type']==2){
+ } else if ($item['shipping_type'] == 2) {
$item['pink_name'] = '[核销订单]';
$item['color'] = '#8956E8';
}
}
- if($item['paid']==1){
- switch ($item['pay_type']){
+ if ($item['paid'] == 1) {
+ switch ($item['pay_type']) {
case 'weixin':
- $item['pay_type_name']='微信支付';
+ $item['pay_type_name'] = '微信支付';
break;
case 'yue':
- $item['pay_type_name']='余额支付';
+ $item['pay_type_name'] = '余额支付';
break;
case 'offline':
- $item['pay_type_name']='线下支付';
+ $item['pay_type_name'] = '线下支付';
break;
default:
- $item['pay_type_name']='其他支付';
+ $item['pay_type_name'] = '其他支付';
break;
}
- }else{
- switch ($item['pay_type']){
+ } else {
+ switch ($item['pay_type']) {
default:
- $item['pay_type_name']='未支付';
+ $item['pay_type_name'] = '未支付';
break;
case 'offline':
- $item['pay_type_name']='线下支付';
- $item['pay_type_info']=1;
+ $item['pay_type_name'] = '线下支付';
+ $item['pay_type_info'] = 1;
break;
}
}
- if($item['paid']==0 && $item['status']==0){
- $item['status_name']='未支付';
- }else if($item['paid']==1 && $item['status']==0 && $item['shipping_type']==1 && $item['refund_status']==0){
- $item['status_name']='未发货';
- }else if($item['paid']==1 && $item['status']==0 && $item['shipping_type']==2 && $item['refund_status']==0){
- $item['status_name']='未核销';
- }else if($item['paid']==1 && $item['status']==1 && $item['shipping_type']==1 && $item['refund_status']==0){
- $item['status_name']='待收货';
- }else if($item['paid']==1 && $item['status']==1 && $item['shipping_type']==2 && $item['refund_status']==0){
- $item['status_name']='未核销';
- }else if($item['paid']==1 && $item['status']==2 && $item['refund_status']==0){
- $item['status_name']='待评价';
- }else if($item['paid']==1 && $item['status']==3 && $item['refund_status']==0){
- $item['status_name']='已完成';
- }else if($item['paid']==1 && $item['refund_status']==1){
+ if ($item['paid'] == 0 && $item['status'] == 0) {
+ $item['status_name'] = '未支付';
+ } else if ($item['paid'] == 1 && $item['status'] == 0 && $item['shipping_type'] == 1 && $item['refund_status'] == 0) {
+ $item['status_name'] = '未发货';
+ } else if ($item['paid'] == 1 && $item['status'] == 0 && $item['shipping_type'] == 2 && $item['refund_status'] == 0) {
+ $item['status_name'] = '未核销';
+ } else if ($item['paid'] == 1 && $item['status'] == 1 && $item['shipping_type'] == 1 && $item['refund_status'] == 0) {
+ $item['status_name'] = '待收货';
+ } else if ($item['paid'] == 1 && $item['status'] == 1 && $item['shipping_type'] == 2 && $item['refund_status'] == 0) {
+ $item['status_name'] = '未核销';
+ } else if ($item['paid'] == 1 && $item['status'] == 2 && $item['refund_status'] == 0) {
+ $item['status_name'] = '待评价';
+ } else if ($item['paid'] == 1 && $item['status'] == 3 && $item['refund_status'] == 0) {
+ $item['status_name'] = '已完成';
+ } else if ($item['paid'] == 1 && $item['refund_status'] == 1) {
$refundReasonTime = date('Y-m-d H:i', $item['refund_reason_time']);
$refundReasonWapImg = json_decode($item['refund_reason_wap_img'], true);
$refundReasonWapImg = $refundReasonWapImg ? $refundReasonWapImg : [];
$img = '';
- if(count($refundReasonWapImg)){
- foreach ($refundReasonWapImg as $itemImg){
- if(strlen(trim($itemImg)))
- $img .='
';
+ if (count($refundReasonWapImg)) {
+ foreach ($refundReasonWapImg as $itemImg) {
+ if (strlen(trim($itemImg)))
+ $img .= '
';
}
}
- if (!strlen(trim($img))) $img = '无';
+ if (!strlen(trim($img))) $img = '无';
if (isset($where['excel']) && $where['excel'] == 1) {
- $refundImageStr = implode(',',$refundReasonWapImg);
+ $refundImageStr = implode(',', $refundReasonWapImg);
$item['status_name'] = <<申请退款
退款原因:{$item['refund_reason_wap']}
@@ -192,54 +195,56 @@ TEXT;
退款凭证:{$img}
HTML;
}
- }else if($item['paid']==1 && $item['refund_status']==2){
- $item['status_name']='已退款';
+ } else if ($item['paid'] == 1 && $item['refund_status'] == 2) {
+ $item['status_name'] = '已退款';
}
- if($item['paid']==0 && $item['status']==0 && $item['refund_status']==0){
- $item['_status']=1;
- }else if($item['paid']==1 && $item['status']==0 && $item['refund_status']==0){
- $item['_status']=2;
- }else if($item['paid']==1 && $item['refund_status']==1){
- $item['_status']=3;
- }else if($item['paid']==1 && $item['status']==1 && $item['refund_status']==0){
- $item['_status']=4;
- }else if($item['paid']==1 && $item['status']==2 && $item['refund_status']==0){
- $item['_status']=5;
- }else if($item['paid']==1 && $item['status']==3 && $item['refund_status']==0){
- $item['_status']=6;
- }else if($item['paid']==1 && $item['refund_status']==2){
- $item['_status']=7;
+ if ($item['paid'] == 0 && $item['status'] == 0 && $item['refund_status'] == 0) {
+ $item['_status'] = 1;
+ } else if ($item['paid'] == 1 && $item['status'] == 0 && $item['refund_status'] == 0) {
+ $item['_status'] = 2;
+ } else if ($item['paid'] == 1 && $item['refund_status'] == 1) {
+ $item['_status'] = 3;
+ } else if ($item['paid'] == 1 && $item['status'] == 1 && $item['refund_status'] == 0) {
+ $item['_status'] = 4;
+ } else if ($item['paid'] == 1 && $item['status'] == 2 && $item['refund_status'] == 0) {
+ $item['_status'] = 5;
+ } else if ($item['paid'] == 1 && $item['status'] == 3 && $item['refund_status'] == 0) {
+ $item['_status'] = 6;
+ } else if ($item['paid'] == 1 && $item['refund_status'] == 2) {
+ $item['_status'] = 7;
}
}
- if(isset($where['excel']) && $where['excel']==1){
+ if (isset($where['excel']) && $where['excel'] == 1) {
self::SaveExcel($data);
}
- $count=self::getOrderWhere($where,self::alias('a')->join('user r','r.uid=a.uid','LEFT'),'a.','r')->count();
- return compact('count','data');
+ $count = self::getOrderWhere($where, self::alias('a')->join('user r', 'r.uid=a.uid', 'LEFT'), 'a.', 'r')->count();
+ return compact('count', 'data');
}
+
/*
* 保存并下载excel
* $list array
* return
*/
- public static function SaveExcel($list){
+ public static function SaveExcel($list)
+ {
$export = [];
- foreach ($list as $index=>$item){
- $_info = Db::name('store_order_cart_info')->where('oid',$item['id'])->column('cart_info');
+ foreach ($list as $index => $item) {
+ $_info = Db::name('store_order_cart_info')->where('oid', $item['id'])->column('cart_info');
$goodsName = [];
- foreach ($_info as $k=>$v){
- $v = json_decode($v,true);
+ foreach ($_info as $k => $v) {
+ $v = json_decode($v, true);
$goodsName[] = implode(
[$v['productInfo']['store_name'],
- isset($v['productInfo']['attrInfo']) ? '('.$v['productInfo']['attrInfo']['suk'].')' : '',
+ isset($v['productInfo']['attrInfo']) ? '(' . $v['productInfo']['attrInfo']['suk'] . ')' : '',
"[{$v['cart_num']} * {$v['truePrice']}]"
- ],' ');
+ ], ' ');
}
$item['cartInfo'] = $_info;
- $sex=Db::name('wechat_user')->where('uid',$item['uid'])->value('sex');
- if($sex==1) $sex_name='男';
- else if($sex==2) $sex_name='女';
- else $sex_name='未知';
+ $sex = Db::name('wechat_user')->where('uid', $item['uid'])->value('sex');
+ if ($sex == 1) $sex_name = '男';
+ else if ($sex == 2) $sex_name = '女';
+ else $sex_name = '未知';
$export[] = [
$item['order_id'],
$sex_name,
@@ -253,15 +258,15 @@ HTML;
$item['pay_postage'],
$item['coupon_price'],
$item['pay_type_name'],
- $item['pay_time'] > 0 ? date('Y/m-d H:i',$item['pay_time']) : '暂无',
+ $item['pay_time'] > 0 ? date('Y/m-d H:i', $item['pay_time']) : '暂无',
$item['status_name'],
$item['add_time'],
$item['mark']
];
}
- PHPExcelService::setExcelHeader(['订单号','性别','电话','收货人姓名','收货人电话','收货地址','商品信息',
- '总价格','实际支付','邮费','优惠金额','支付状态','支付时间','订单状态','下单时间','用户备注'])
- ->setExcelTile('订单导出'.date('YmdHis',time()),'订单信息'.time(),' 生成时间:'.date('Y-m-d H:i:s',time()))
+ PHPExcelService::setExcelHeader(['订单号', '性别', '电话', '收货人姓名', '收货人电话', '收货地址', '商品信息',
+ '总价格', '实际支付', '邮费', '优惠金额', '支付状态', '支付时间', '订单状态', '下单时间', '用户备注'])
+ ->setExcelTile('订单导出' . date('YmdHis', time()), '订单信息' . time(), ' 生成时间:' . date('Y-m-d H:i:s', time()))
->setExcelContent($export)
->ExcelSave();
}
@@ -270,64 +275,65 @@ HTML;
* @param $where
* @return array
*/
- public static function systemPage($where,$userid=false){
- $model = self::getOrderWhere($where,self::alias('a')->join('user r','r.uid=a.uid','LEFT'),'a.','r')->field('a.*,r.nickname');
- if($where['order']){
- $model = $model->order('a.'.$where['order']);
- }else{
+ public static function systemPage($where, $userid = false)
+ {
+ $model = self::getOrderWhere($where, self::alias('a')->join('user r', 'r.uid=a.uid', 'LEFT'), 'a.', 'r')->field('a.*,r.nickname');
+ if ($where['order']) {
+ $model = $model->order('a.' . $where['order']);
+ } else {
$model = $model->order('a.id desc');
}
- if($where['export'] == 1){
+ if ($where['export'] == 1) {
$list = $model->select()->toArray();
$export = [];
- foreach ($list as $index=>$item){
+ foreach ($list as $index => $item) {
- if ($item['pay_type'] == 'weixin'){
+ if ($item['pay_type'] == 'weixin') {
$payType = '微信支付';
- }elseif($item['pay_type'] == 'yue'){
+ } elseif ($item['pay_type'] == 'yue') {
$payType = '余额支付';
- }elseif($item['pay_type'] == 'offline'){
+ } elseif ($item['pay_type'] == 'offline') {
$payType = '线下支付';
- }else{
+ } else {
$payType = '其他支付';
}
- $_info = Db::name('store_order_cart_info')->where('oid',$item['id'])->column('cart_info','oid');
+ $_info = Db::name('store_order_cart_info')->where('oid', $item['id'])->column('cart_info', 'oid');
$goodsName = [];
- foreach ($_info as $k=>$v){
- $v = json_decode($v,true);
+ foreach ($_info as $k => $v) {
+ $v = json_decode($v, true);
$goodsName[] = implode(
[$v['productInfo']['store_name'],
- isset($v['productInfo']['attrInfo']) ? '('.$v['productInfo']['attrInfo']['suk'].')' : '',
+ isset($v['productInfo']['attrInfo']) ? '(' . $v['productInfo']['attrInfo']['suk'] . ')' : '',
"[{$v['cart_num']} * {$v['truePrice']}]"
- ],' ');
+ ], ' ');
}
$item['cartInfo'] = $_info;
$export[] = [
- $item['order_id'],$payType,
- $item['total_num'],$item['total_price'],$item['total_postage'],$item['pay_price'],$item['refund_price'],
- $item['mark'],$item['remark'],
- [$item['real_name'],$item['user_phone'],$item['user_address']],
+ $item['order_id'], $payType,
+ $item['total_num'], $item['total_price'], $item['total_postage'], $item['pay_price'], $item['refund_price'],
+ $item['mark'], $item['remark'],
+ [$item['real_name'], $item['user_phone'], $item['user_address']],
$goodsName,
- [$item['paid'] == 1? '已支付':'未支付','支付时间: '.($item['pay_time'] > 0 ? date('Y/md H:i',$item['pay_time']) : '暂无')]
+ [$item['paid'] == 1 ? '已支付' : '未支付', '支付时间: ' . ($item['pay_time'] > 0 ? date('Y/md H:i', $item['pay_time']) : '暂无')]
];
$list[$index] = $item;
}
- PHPExcelService::setExcelHeader(['订单号','支付方式','商品总数','商品总价','邮费','支付金额','退款金额','用户备注','管理员备注','收货人信息','商品信息','支付状态'])
- ->setExcelTile('订单导出','订单信息'.time(),' 生成时间:'.date('Y-m-d H:i:s',time()))
+ PHPExcelService::setExcelHeader(['订单号', '支付方式', '商品总数', '商品总价', '邮费', '支付金额', '退款金额', '用户备注', '管理员备注', '收货人信息', '商品信息', '支付状态'])
+ ->setExcelTile('订单导出', '订单信息' . time(), ' 生成时间:' . date('Y-m-d H:i:s', time()))
->setExcelContent($export)
->ExcelSave();
}
- return self::page($model,function ($item){
- $_info = Db::name('store_order_cart_info')->where('oid',$item['id'])->field('cart_info')->select();
- foreach ($_info as $k=>$v){
- $_info[$k]['cart_info'] = json_decode($v['cart_info'],true);
+ return self::page($model, function ($item) {
+ $_info = Db::name('store_order_cart_info')->where('oid', $item['id'])->field('cart_info')->select();
+ foreach ($_info as $k => $v) {
+ $_info[$k]['cart_info'] = json_decode($v['cart_info'], true);
}
$item['_info'] = $_info;
- if($item['pink_id'] && $item['combination_id']){
- $pinkStatus = StorePink::where('order_id_key',$item['id'])->value('status');
- switch ($pinkStatus){
+ if ($item['pink_id'] && $item['combination_id']) {
+ $pinkStatus = StorePink::where('order_id_key', $item['id'])->value('status');
+ switch ($pinkStatus) {
case 1:
$item['pink_name'] = '[拼团订单]正在进行中';
$item['color'] = '#f00';
@@ -345,65 +351,65 @@ HTML;
$item['color'] = '#457856';
break;
}
- }else{
- if($item['seckill_id']){
- $item['pink_name'] = '[秒杀订单]';
- $item['color'] = '#32c5e9';
- }elseif ($item['bargain_id']){
- $item['pink_name'] = '[砍价订单]';
- $item['color'] = '#12c5e9';
- }else{
- $item['pink_name'] = '[普通订单]';
- $item['color'] = '#895612';
- }
+ } else {
+ if ($item['seckill_id']) {
+ $item['pink_name'] = '[秒杀订单]';
+ $item['color'] = '#32c5e9';
+ } elseif ($item['bargain_id']) {
+ $item['pink_name'] = '[砍价订单]';
+ $item['color'] = '#12c5e9';
+ } else {
+ $item['pink_name'] = '[普通订单]';
+ $item['color'] = '#895612';
+ }
}
- },$where);
+ }, $where);
}
- public static function statusByWhere($status,$model = null,$alert='')
+ public static function statusByWhere($status, $model = null, $alert = '')
{
- if($model == null) $model = new self;
- if('' === $status)
+ if ($model == null) $model = new self;
+ if ('' === $status)
return $model;
- else if($status == 8)
+ else if ($status == 8)
return $model;
- else if($status == 0)//未支付
- return $model->where($alert.'paid',0)->where($alert.'status',0)->where($alert.'refund_status',0)->where($alert.'is_del',0);
- else if($status == 1)//已支付 未发货
- return $model->where($alert.'paid',1)->where($alert.'status',0)->where($alert.'shipping_type',1)->where($alert.'refund_status',0)->where($alert.'is_del',0);
- else if($status == 2)//已支付 待收货
- return $model->where($alert.'paid',1)->where($alert.'status',1)->where($alert.'shipping_type',1)->where($alert.'refund_status',0)->where($alert.'is_del',0);
- else if($status == 5)//已支付 待核销
- return $model->where($alert.'paid',1)->where($alert.'status',0)->where($alert.'shipping_type',2)->where($alert.'refund_status',0)->where($alert.'is_del',0);
- else if($status == 3)// 已支付 已收货 待评价
- return $model->where($alert.'paid',1)->where($alert.'status',2)->where($alert.'refund_status',0)->where($alert.'is_del',0);
- else if($status == 4)// 交易完成
- return $model->where($alert.'paid',1)->where($alert.'status',3)->where($alert.'refund_status',0)->where($alert.'is_del',0);
- else if($status == -1)//退款中
- return $model->where($alert.'paid',1)->where($alert.'refund_status',1)->where($alert.'is_del',0);
- else if($status == -2)//已退款
- return $model->where($alert.'paid',1)->where($alert.'refund_status',2)->where($alert.'is_del',0);
- else if($status == -3)//退款
- return $model->where($alert.'paid',1)->where($alert.'refund_status','in','1,2')->where($alert.'is_del',0);
- else if($status == -4)//已删除
- return $model->where($alert.'is_del',1);
+ else if ($status == 0)//未支付
+ return $model->where($alert . 'paid', 0)->where($alert . 'status', 0)->where($alert . 'refund_status', 0)->where($alert . 'is_del', 0);
+ else if ($status == 1)//已支付 未发货
+ return $model->where($alert . 'paid', 1)->where($alert . 'status', 0)->where($alert . 'shipping_type', 1)->where($alert . 'refund_status', 0)->where($alert . 'is_del', 0);
+ else if ($status == 2)//已支付 待收货
+ return $model->where($alert . 'paid', 1)->where($alert . 'status', 1)->where($alert . 'shipping_type', 1)->where($alert . 'refund_status', 0)->where($alert . 'is_del', 0);
+ else if ($status == 5)//已支付 待核销
+ return $model->where($alert . 'paid', 1)->where($alert . 'status', 0)->where($alert . 'shipping_type', 2)->where($alert . 'refund_status', 0)->where($alert . 'is_del', 0);
+ else if ($status == 3)// 已支付 已收货 待评价
+ return $model->where($alert . 'paid', 1)->where($alert . 'status', 2)->where($alert . 'refund_status', 0)->where($alert . 'is_del', 0);
+ else if ($status == 4)// 交易完成
+ return $model->where($alert . 'paid', 1)->where($alert . 'status', 3)->where($alert . 'refund_status', 0)->where($alert . 'is_del', 0);
+ else if ($status == -1)//退款中
+ return $model->where($alert . 'paid', 1)->where($alert . 'refund_status', 1)->where($alert . 'is_del', 0);
+ else if ($status == -2)//已退款
+ return $model->where($alert . 'paid', 1)->where($alert . 'refund_status', 2)->where($alert . 'is_del', 0);
+ else if ($status == -3)//退款
+ return $model->where($alert . 'paid', 1)->where($alert . 'refund_status', 'in', '1,2')->where($alert . 'is_del', 0);
+ else if ($status == -4)//已删除
+ return $model->where($alert . 'is_del', 1);
else
return $model;
}
- public static function timeQuantumWhere($startTime = null,$endTime = null,$model = null)
+ public static function timeQuantumWhere($startTime = null, $endTime = null, $model = null)
{
- if($model === null) $model = new self;
- if($startTime != null && $endTime != null)
- $model = $model->where('add_time','>',strtotime($startTime))->where('add_time','<',strtotime($endTime));
+ if ($model === null) $model = new self;
+ if ($startTime != null && $endTime != null)
+ $model = $model->where('add_time', '>', strtotime($startTime))->where('add_time', '<', strtotime($endTime));
return $model;
}
public static function changeOrderId($orderId)
{
- $ymd = substr($orderId,2,8);
- $key = substr($orderId,16);
- return 'wx'.$ymd.date('His').$key;
+ $ymd = substr($orderId, 2, 8);
+ $key = substr($orderId, 16);
+ return 'wx' . $ymd . date('His') . $key;
}
/**
@@ -411,12 +417,13 @@ HTML;
* @param $id
* @return $this
*/
- public static function updateOffline($id){
- $count = self::where('id',$id)->count();
- if(!$count) return self::setErrorInfo('订单不存在');
- $count = self::where('id',$id)->where('paid', 0)->count();
- if(!$count) return self::setErrorInfo('订单已支付');
- $res = self::where('id', $id)->update(['paid'=>1,'pay_time'=>time()]);
+ public static function updateOffline($id)
+ {
+ $count = self::where('id', $id)->count();
+ if (!$count) return self::setErrorInfo('订单不存在');
+ $count = self::where('id', $id)->where('paid', 0)->count();
+ if (!$count) return self::setErrorInfo('订单已支付');
+ $res = self::where('id', $id)->update(['paid' => 1, 'pay_time' => time()]);
return $res;
}
@@ -425,16 +432,16 @@ HTML;
* @param $oid
* $oid 订单id key
*/
- public static function refundTemplate($data,$oid)
+ public static function refundTemplate($data, $oid)
{
- $order = self::where('id',$oid)->find();
- WechatTemplateService::sendTemplate(WechatUser::where('uid',$order['uid'])->value('openid'),WechatTemplateService::ORDER_REFUND_STATUS, [
- 'first'=>'亲,您购买的商品已退款,本次退款'.$data['refund_price'].'金额',
- 'keyword1'=>$order['order_id'],
- 'keyword2'=>$order['pay_price'],
- 'keyword3'=>date('Y-m-d H:i:s',$order['add_time']),
- 'remark'=>'点击查看订单详情'
- ],Url::buildUrl('/order/detail/'.$order['order_id'])->suffix('')->domain(true)->build());
+ $order = self::where('id', $oid)->find();
+ WechatTemplateService::sendTemplate(WechatUser::where('uid', $order['uid'])->value('openid'), WechatTemplateService::ORDER_REFUND_STATUS, [
+ 'first' => '亲,您购买的商品已退款,本次退款' . $data['refund_price'] . '金额',
+ 'keyword1' => $order['order_id'],
+ 'keyword2' => $order['pay_price'],
+ 'keyword3' => date('Y-m-d H:i:s', $order['add_time']),
+ 'remark' => '点击查看订单详情'
+ ], Url::buildUrl('/order/detail/' . $order['order_id'])->suffix('')->domain(true)->build());
}
/**
@@ -445,16 +452,10 @@ HTML;
* @throws \think\db\exception\ModelNotFoundException
* @throws \think\exception\DbException
*/
- public static function refundRoutineTemplate($oid){
- $order = self::where('id',$oid)->find();
- $data['keyword1'] = $order['order_id'];
- $data['keyword2'] = date('Y-m-d H:i:s',time());
- $data['keyword3'] = $order['pay_price'];
- if($order['pay_type'] == 'yue') $data['keyword4'] = '余额支付';
- else if($order['pay_type'] == 'weixin') $data['keyword4'] = '微信支付';
- else if($order['pay_type'] == 'offline') $data['keyword4'] = '线下支付';
- $data['keyword5'] = '已成功退款';
- return RoutineTemplate::sendOut('ORDER_REFUND_SUCCESS',$order['uid'],$data);
+ public static function refundRoutineTemplate($oid)
+ {
+ $order = self::where('id', $oid)->find();
+ return RoutineTemplate::sendOrderRefundSuccess($order);
}
/**
@@ -463,82 +464,87 @@ HTML;
* @param $model
* @return mixed
*/
- public static function getOrderWhere($where,$model,$aler='',$join=''){
+ public static function getOrderWhere($where, $model, $aler = '', $join = '')
+ {
// $model = $model->where('combination_id',0);
- $model = $model->where('is_system_del',0);
- if(isset($where['status']) && $where['status'] != '') {
- $model = self::statusByWhere($where['status'],$model,$aler);
+ $model = $model->where('is_system_del', 0);
+ if (isset($where['status']) && $where['status'] != '') {
+ $model = self::statusByWhere($where['status'], $model, $aler);
}
- if(isset($where['is_del']) && $where['is_del'] != '' && $where['is_del'] != -1) $model = $model->where($aler.'is_del',$where['is_del']);
- if(isset($where['combination_id'])){
- if($where['combination_id'] =='普通订单'){
- $model = $model->where($aler.'combination_id',0)->where($aler.'seckill_id',0)->where($aler.'bargain_id',0);
+ if (isset($where['is_del']) && $where['is_del'] != '' && $where['is_del'] != -1) $model = $model->where($aler . 'is_del', $where['is_del']);
+ if (isset($where['combination_id'])) {
+ if ($where['combination_id'] == '普通订单') {
+ $model = $model->where($aler . 'combination_id', 0)->where($aler . 'seckill_id', 0)->where($aler . 'bargain_id', 0);
}
- if($where['combination_id'] =='拼团订单'){
- $model = $model->where($aler.'combination_id',">",0)->where($aler.'pink_id',">",0);
+ if ($where['combination_id'] == '拼团订单') {
+ $model = $model->where($aler . 'combination_id', ">", 0)->where($aler . 'pink_id', ">", 0);
}
- if($where['combination_id'] =='秒杀订单'){
- $model = $model->where($aler.'seckill_id',">",0);
+ if ($where['combination_id'] == '秒杀订单') {
+ $model = $model->where($aler . 'seckill_id', ">", 0);
}
- if($where['combination_id'] =='砍价订单'){
- $model = $model->where($aler.'bargain_id',">",0);
+ if ($where['combination_id'] == '砍价订单') {
+ $model = $model->where($aler . 'bargain_id', ">", 0);
}
}
- if(isset($where['pay_type'])){
- switch ($where['pay_type']){
+ if (isset($where['pay_type'])) {
+ switch ($where['pay_type']) {
case 1:
- $model = $model->where($aler.'pay_type','weixin');
+ $model = $model->where($aler . 'pay_type', 'weixin');
break;
case 2:
- $model = $model->where($aler.'pay_type','yue');
+ $model = $model->where($aler . 'pay_type', 'yue');
break;
case 3:
- $model = $model->where($aler.'pay_type','offline');
+ $model = $model->where($aler . 'pay_type', 'offline');
break;
}
}
- if(isset($where['type'])){
- switch ($where['type']){
+ if (isset($where['type'])) {
+ switch ($where['type']) {
case 1:
- $model = $model->where($aler.'combination_id',0)->where($aler.'seckill_id',0)->where($aler.'bargain_id',0);
+ $model = $model->where($aler . 'combination_id', 0)->where($aler . 'seckill_id', 0)->where($aler . 'bargain_id', 0);
break;
case 2:
// $model = $model->where($aler.'combination_id',">",0)->where($aler.'pink_id',">",0);
- $model = $model->where($aler.'combination_id',">",0);
+ $model = $model->where($aler . 'combination_id', ">", 0);
break;
case 3:
- $model = $model->where($aler.'seckill_id',">",0);
+ $model = $model->where($aler . 'seckill_id', ">", 0);
break;
case 4:
- $model = $model->where($aler.'bargain_id',">",0);
+ $model = $model->where($aler . 'bargain_id', ">", 0);
break;
}
}
- if(isset($where['real_name']) && $where['real_name'] != ''){
- $model = $model->where($aler.'order_id|'.$aler.'real_name|'.$aler.'user_phone'.($join ? '|'.$join.'.nickname|'.$join.'.uid|'.$join.'.phone':''),'LIKE',"%$where[real_name]%");
+ if (isset($where['real_name']) && $where['real_name'] != '') {
+ $model = $model->where($aler . 'order_id|' . $aler . 'real_name|' . $aler . 'user_phone' . ($join ? '|' . $join . '.nickname|' . $join . '.uid|' . $join . '.phone' : ''), 'LIKE', "%$where[real_name]%");
}
- if(isset($where['data']) && $where['data'] !== ''){
- switch ($where['data']){
- case 'today':case 'week':case 'month':case 'year':case 'yesterday':
- $model=$model->whereTime($aler.'add_time',$where['data']);
- break;
+ if (isset($where['data']) && $where['data'] !== '') {
+ switch ($where['data']) {
+ case 'today':
+ case 'week':
+ case 'month':
+ case 'year':
+ case 'yesterday':
+ $model = $model->whereTime($aler . 'add_time', $where['data']);
+ break;
case 'quarter':
- list($startTime,$endTime)=self::getMonth();
- $model = $model->where($aler.'add_time', '>', strtotime($startTime));
- $model = $model->where($aler.'add_time', '<', strtotime($endTime));
+ list($startTime, $endTime) = self::getMonth();
+ $model = $model->where($aler . 'add_time', '>', strtotime($startTime));
+ $model = $model->where($aler . 'add_time', '<', strtotime($endTime));
break;
case 'lately7':
- $model = $model->where($aler.'add_time','between',[strtotime("-7 day"),time()]);
+ $model = $model->where($aler . 'add_time', 'between', [strtotime("-7 day"), time()]);
break;
case 'lately30':
- $model = $model->where($aler.'add_time','between',[strtotime("-30 day"),time()]);
+ $model = $model->where($aler . 'add_time', 'between', [strtotime("-30 day"), time()]);
break;
default:
- if(strstr($where['data'],' - ')!==false){
+ if (strstr($where['data'], ' - ') !== false) {
list($startTime, $endTime) = explode(' - ', $where['data']);
- $model = $model->where($aler.'add_time', '>', strtotime($startTime));
- $model = $model->where($aler.'add_time', '<', (int)bcadd(strtotime($endTime), 86400, 0));
+ $model = $model->where($aler . 'add_time', '>', strtotime($startTime));
+ $model = $model->where($aler . 'add_time', '<', (int)bcadd(strtotime($endTime), 86400, 0));
}
break;
}
@@ -546,94 +552,98 @@ HTML;
}
return $model;
}
- public static function getBadge($where){
- $price=self::getOrderPrice($where);
+
+ public static function getBadge($where)
+ {
+ $price = self::getOrderPrice($where);
return [
[
- 'name'=>'订单数量',
- 'field'=>'件',
- 'count'=>$price['count_sum'],
- 'background_color'=>'layui-bg-blue',
- 'col'=>2
+ 'name' => '订单数量',
+ 'field' => '件',
+ 'count' => $price['count_sum'],
+ 'background_color' => 'layui-bg-blue',
+ 'col' => 2
],
[
- 'name'=>'售出商品',
- 'field'=>'件',
- 'count'=>$price['total_num'],
- 'background_color'=>'layui-bg-blue',
- 'col'=>2
+ 'name' => '售出商品',
+ 'field' => '件',
+ 'count' => $price['total_num'],
+ 'background_color' => 'layui-bg-blue',
+ 'col' => 2
],
[
- 'name'=>'订单金额',
- 'field'=>'元',
- 'count'=>$price['pay_price'],
- 'background_color'=>'layui-bg-blue',
- 'col'=>2
+ 'name' => '订单金额',
+ 'field' => '元',
+ 'count' => $price['pay_price'],
+ 'background_color' => 'layui-bg-blue',
+ 'col' => 2
],
[
- 'name'=>'退款金额',
- 'field'=>'元',
- 'count'=>$price['refund_price'],
- 'background_color'=>'layui-bg-blue',
- 'col'=>2
+ 'name' => '退款金额',
+ 'field' => '元',
+ 'count' => $price['refund_price'],
+ 'background_color' => 'layui-bg-blue',
+ 'col' => 2
],
[
- 'name'=>'微信支付金额',
- 'field'=>'元',
- 'count'=>$price['pay_price_wx'],
- 'background_color'=>'layui-bg-blue',
- 'col'=>2
+ 'name' => '微信支付金额',
+ 'field' => '元',
+ 'count' => $price['pay_price_wx'],
+ 'background_color' => 'layui-bg-blue',
+ 'col' => 2
],
[
- 'name'=>'余额支付金额',
- 'field'=>'元',
- 'count'=>$price['pay_price_yue'],
- 'background_color'=>'layui-bg-blue',
- 'col'=>2
+ 'name' => '余额支付金额',
+ 'field' => '元',
+ 'count' => $price['pay_price_yue'],
+ 'background_color' => 'layui-bg-blue',
+ 'col' => 2
],
[
- 'name'=>'运费金额',
- 'field'=>'元',
- 'count'=>$price['pay_postage'],
- 'background_color'=>'layui-bg-blue',
- 'col'=>2
+ 'name' => '运费金额',
+ 'field' => '元',
+ 'count' => $price['pay_postage'],
+ 'background_color' => 'layui-bg-blue',
+ 'col' => 2
],
[
- 'name'=>'分佣金额',
- 'field'=>'元',
- 'count'=>$price['brokerage'],
- 'background_color'=>'layui-bg-blue',
- 'col'=>2
+ 'name' => '分佣金额',
+ 'field' => '元',
+ 'count' => $price['brokerage'],
+ 'background_color' => 'layui-bg-blue',
+ 'col' => 2
],
[
- 'name'=>'线下支付金额',
- 'field'=>'元',
- 'count'=>$price['pay_price_offline'],
- 'background_color'=>'layui-bg-blue',
- 'col'=>2
+ 'name' => '线下支付金额',
+ 'field' => '元',
+ 'count' => $price['pay_price_offline'],
+ 'background_color' => 'layui-bg-blue',
+ 'col' => 2
],
[
- 'name'=>'积分抵扣',
- 'field'=>'分',
- 'count'=>$price['use_integral'].'(抵扣金额:¥'.$price['deduction_price'].')',
- 'background_color'=>'layui-bg-blue',
- 'col'=>2
+ 'name' => '积分抵扣',
+ 'field' => '分',
+ 'count' => $price['use_integral'] . '(抵扣金额:¥' . $price['deduction_price'] . ')',
+ 'background_color' => 'layui-bg-blue',
+ 'col' => 2
],
[
- 'name'=>'退回积分',
- 'field'=>'元',
- 'count'=>$price['back_integral'],
- 'background_color'=>'layui-bg-blue',
- 'col'=>2
+ 'name' => '退回积分',
+ 'field' => '元',
+ 'count' => $price['back_integral'],
+ 'background_color' => 'layui-bg-blue',
+ 'col' => 2
]
];
}
+
/**
* 处理订单金额
* @param $where
* @return array
*/
- public static function getOrderPrice($where){
+ public static function getOrderPrice($where)
+ {
$where['is_del'] = 0;//删除订单不统计
$model = new self;
$price = array();
@@ -648,19 +658,19 @@ HTML;
$price['deduction_price'] = 0;//抵扣金额
$price['total_num'] = 0; //商品总数
$price['count_sum'] = 0; //商品总数
- $price['brokerage'] =0;
- $price['pay_postage'] =0;
- $whereData=['is_del'=>0];
- if($where['status']==''){
- $whereData['paid']=1;
- $whereData['refund_status']=0;
+ $price['brokerage'] = 0;
+ $price['pay_postage'] = 0;
+ $whereData = ['is_del' => 0];
+ if ($where['status'] == '') {
+ $whereData['paid'] = 1;
+ $whereData['refund_status'] = 0;
}
- $ids= self::getOrderWhere($where,$model)->where($whereData)->column('id');
- if(count($ids)){
- $price['brokerage'] = UserBill::where(['category'=>'now_money','type'=>'brokerage'])->where('link_id','in',$ids)->sum('number');
+ $ids = self::getOrderWhere($where, $model)->where($whereData)->column('id');
+ if (count($ids)) {
+ $price['brokerage'] = UserBill::where(['category' => 'now_money', 'type' => 'brokerage'])->where('link_id', 'in', $ids)->sum('number');
}
- $price['refund_price'] = self::getOrderWhere($where,$model)->where(['is_del'=>0,'paid'=>1,'refund_status'=>2])->sum('refund_price');
- $sumNumber =self::getOrderWhere($where,$model)->where($whereData)->field([
+ $price['refund_price'] = self::getOrderWhere($where, $model)->where(['is_del' => 0, 'paid' => 1, 'refund_status' => 2])->sum('refund_price');
+ $sumNumber = self::getOrderWhere($where, $model)->where($whereData)->field([
'sum(total_num) as sum_total_num',
'count(id) as count_sum',
'sum(pay_price) as sum_pay_price',
@@ -669,7 +679,7 @@ HTML;
'sum(back_integral) as sum_back_integral',
'sum(deduction_price) as sum_deduction_price'
])->find();
- if($sumNumber) {
+ if ($sumNumber) {
$price['count_sum'] = $sumNumber['count_sum'];
$price['total_num'] = $sumNumber['sum_total_num'];
$price['pay_price'] = $sumNumber['sum_pay_price'];
@@ -678,74 +688,75 @@ HTML;
$price['back_integral'] = $sumNumber['sum_back_integral'];
$price['deduction_price'] = $sumNumber['sum_deduction_price'];
}
- $list = self::getOrderWhere($where,$model)->where($whereData)->group('pay_type')->column('sum(pay_price) as sum_pay_price,pay_type','id');
- foreach ($list as $v){
- if ($v['pay_type'] == 'weixin'){
+ $list = self::getOrderWhere($where, $model)->where($whereData)->group('pay_type')->column('sum(pay_price) as sum_pay_price,pay_type', 'id');
+ foreach ($list as $v) {
+ if ($v['pay_type'] == 'weixin') {
$price['pay_price_wx'] = $v['sum_pay_price'];
- }elseif($v['pay_type'] == 'yue'){
+ } elseif ($v['pay_type'] == 'yue') {
$price['pay_price_yue'] = $v['sum_pay_price'];
- }elseif($v['pay_type'] == 'offline'){
+ } elseif ($v['pay_type'] == 'offline') {
$price['pay_price_offline'] = $v['sum_pay_price'];
- }else{
+ } else {
$price['pay_price_other'] = $v['sum_pay_price'];
}
}
return $price;
}
- public static function systemPagePink($where){
+ public static function systemPagePink($where)
+ {
$model = new self;
- $model = self::getOrderWherePink($where,$model);
+ $model = self::getOrderWherePink($where, $model);
$model = $model->order('id desc');
- if($where['export'] == 1){
+ if ($where['export'] == 1) {
$list = $model->select()->toArray();
$export = [];
- foreach ($list as $index=>$item){
+ foreach ($list as $index => $item) {
- if ($item['pay_type'] == 'weixin'){
+ if ($item['pay_type'] == 'weixin') {
$payType = '微信支付';
- }elseif($item['pay_type'] == 'yue'){
+ } elseif ($item['pay_type'] == 'yue') {
$payType = '余额支付';
- }elseif($item['pay_type'] == 'offline'){
+ } elseif ($item['pay_type'] == 'offline') {
$payType = '线下支付';
- }else{
+ } else {
$payType = '其他支付';
}
- $_info = Db::name('store_order_cart_info')->where('oid',$item['id'])->column('cart_info','oid');
+ $_info = Db::name('store_order_cart_info')->where('oid', $item['id'])->column('cart_info', 'oid');
$goodsName = [];
- foreach ($_info as $k=>$v){
- $v = json_decode($v,true);
+ foreach ($_info as $k => $v) {
+ $v = json_decode($v, true);
$goodsName[] = implode(
[$v['productInfo']['store_name'],
- isset($v['productInfo']['attrInfo']) ? '('.$v['productInfo']['attrInfo']['suk'].')' : '',
+ isset($v['productInfo']['attrInfo']) ? '(' . $v['productInfo']['attrInfo']['suk'] . ')' : '',
"[{$v['cart_num']} * {$v['truePrice']}]"
- ],' ');
+ ], ' ');
}
$item['cartInfo'] = $_info;
$export[] = [
- $item['order_id'],$payType,
- $item['total_num'],$item['total_price'],$item['total_postage'],$item['pay_price'],$item['refund_price'],
- $item['mark'],$item['remark'],
- [$item['real_name'],$item['user_phone'],$item['user_address']],
+ $item['order_id'], $payType,
+ $item['total_num'], $item['total_price'], $item['total_postage'], $item['pay_price'], $item['refund_price'],
+ $item['mark'], $item['remark'],
+ [$item['real_name'], $item['user_phone'], $item['user_address']],
$goodsName,
- [$item['paid'] == 1? '已支付':'未支付','支付时间: '.($item['pay_time'] > 0 ? date('Y/md H:i',$item['pay_time']) : '暂无')]
+ [$item['paid'] == 1 ? '已支付' : '未支付', '支付时间: ' . ($item['pay_time'] > 0 ? date('Y/md H:i', $item['pay_time']) : '暂无')]
];
$list[$index] = $item;
}
- ExportService::exportCsv($export,'订单导出'.time(),['订单号','支付方式','商品总数','商品总价','邮费','支付金额','退款金额','用户备注','管理员备注','收货人信息','商品信息','支付状态']);
+ ExportService::exportCsv($export, '订单导出' . time(), ['订单号', '支付方式', '商品总数', '商品总价', '邮费', '支付金额', '退款金额', '用户备注', '管理员备注', '收货人信息', '商品信息', '支付状态']);
}
- return self::page($model,function ($item){
- $item['nickname'] = WechatUser::where('uid',$item['uid'])->value('nickname');
- $_info = Db::name('store_order_cart_info')->where('oid',$item['id'])->field('cart_info')->select();
- foreach ($_info as $k=>$v){
- $_info[$k]['cart_info'] = json_decode($v['cart_info'],true);
+ return self::page($model, function ($item) {
+ $item['nickname'] = WechatUser::where('uid', $item['uid'])->value('nickname');
+ $_info = Db::name('store_order_cart_info')->where('oid', $item['id'])->field('cart_info')->select();
+ foreach ($_info as $k => $v) {
+ $_info[$k]['cart_info'] = json_decode($v['cart_info'], true);
}
$item['_info'] = $_info;
- },$where);
+ }, $where);
}
/**
@@ -754,17 +765,18 @@ HTML;
* @param $model
* @return mixed
*/
- public static function getOrderWherePink($where,$model){
- $model = $model->where('combination_id','>',0);
- if($where['status'] != '') $model = $model::statusByWhere($where['status']);
+ public static function getOrderWherePink($where, $model)
+ {
+ $model = $model->where('combination_id', '>', 0);
+ if ($where['status'] != '') $model = $model::statusByWhere($where['status']);
// if($where['is_del'] != '' && $where['is_del'] != -1) $model = $model->where('is_del',$where['is_del']);
- if($where['real_name'] != ''){
- $model = $model->where('order_id|real_name|user_phone','LIKE',"%$where[real_name]%");
+ if ($where['real_name'] != '') {
+ $model = $model->where('order_id|real_name|user_phone', 'LIKE', "%$where[real_name]%");
}
- if($where['data'] !== ''){
- list($startTime,$endTime) = explode(' - ',$where['data']);
- $model = $model->where('add_time','>',strtotime($startTime));
- $model = $model->where('add_time','<',strtotime($endTime));
+ if ($where['data'] !== '') {
+ list($startTime, $endTime) = explode(' - ', $where['data']);
+ $model = $model->where('add_time', '>', strtotime($startTime));
+ $model = $model->where('add_time', '<', strtotime($endTime));
}
return $model;
}
@@ -774,7 +786,8 @@ HTML;
* @param $where
* @return array
*/
- public static function getOrderPricePink($where){
+ public static function getOrderPricePink($where)
+ {
$model = new self;
$price = array();
$price['pay_price'] = 0;//支付金额
@@ -787,23 +800,23 @@ HTML;
$price['back_integral'] = 0;//退积分总数
$price['deduction_price'] = 0;//抵扣金额
$price['total_num'] = 0; //商品总数
- $model = self::getOrderWherePink($where,$model);
+ $model = self::getOrderWherePink($where, $model);
$list = $model->select()->toArray();
- foreach ($list as $v){
- $price['total_num'] = bcadd($price['total_num'],$v['total_num'],0);
- $price['pay_price'] = bcadd($price['pay_price'],$v['pay_price'],2);
- $price['refund_price'] = bcadd($price['refund_price'],$v['refund_price'],2);
- $price['use_integral'] = bcadd($price['use_integral'],$v['use_integral'],2);
- $price['back_integral'] = bcadd($price['back_integral'],$v['back_integral'],2);
- $price['deduction_price'] = bcadd($price['deduction_price'],$v['deduction_price'],2);
- if ($v['pay_type'] == 'weixin'){
- $price['pay_price_wx'] = bcadd($price['pay_price_wx'],$v['pay_price'],2);
- }elseif($v['pay_type'] == 'yue'){
- $price['pay_price_yue'] = bcadd($price['pay_price_yue'],$v['pay_price'],2);
- }elseif($v['pay_type'] == 'offline'){
- $price['pay_price_offline'] = bcadd($price['pay_price_offline'],$v['pay_price'],2);
- }else{
- $price['pay_price_other'] = bcadd($price['pay_price_other'],$v['pay_price'],2);
+ foreach ($list as $v) {
+ $price['total_num'] = bcadd($price['total_num'], $v['total_num'], 0);
+ $price['pay_price'] = bcadd($price['pay_price'], $v['pay_price'], 2);
+ $price['refund_price'] = bcadd($price['refund_price'], $v['refund_price'], 2);
+ $price['use_integral'] = bcadd($price['use_integral'], $v['use_integral'], 2);
+ $price['back_integral'] = bcadd($price['back_integral'], $v['back_integral'], 2);
+ $price['deduction_price'] = bcadd($price['deduction_price'], $v['deduction_price'], 2);
+ if ($v['pay_type'] == 'weixin') {
+ $price['pay_price_wx'] = bcadd($price['pay_price_wx'], $v['pay_price'], 2);
+ } elseif ($v['pay_type'] == 'yue') {
+ $price['pay_price_yue'] = bcadd($price['pay_price_yue'], $v['pay_price'], 2);
+ } elseif ($v['pay_type'] == 'offline') {
+ $price['pay_price_offline'] = bcadd($price['pay_price_offline'], $v['pay_price'], 2);
+ } else {
+ $price['pay_price_other'] = bcadd($price['pay_price_other'], $v['pay_price'], 2);
}
}
return $price;
@@ -815,10 +828,11 @@ HTML;
* @param int $day
* @return $this|StoreOrder
*/
- public static function isMainYesterdayCount($preDay = 0,$day = 0){
+ public static function isMainYesterdayCount($preDay = 0, $day = 0)
+ {
$model = new self();
- $model = $model->where('add_time','>',$preDay);
- $model = $model->where('add_time','<',$day);
+ $model = $model->where('add_time', '>', $preDay);
+ $model = $model->where('add_time', '<', $day);
return $model;
}
@@ -827,9 +841,10 @@ HTML;
* @param int $uid
* @return int|string
*/
- public static function getUserCountPay($uid = 0){
- if(!$uid) return 0;
- return self::where('uid',$uid)->where('paid',1)->count();
+ public static function getUserCountPay($uid = 0)
+ {
+ if (!$uid) return 0;
+ return self::where('uid', $uid)->where('paid', 1)->count();
}
/**
@@ -837,229 +852,237 @@ HTML;
* @param array $where
* @return array
*/
- public static function getOneorderList($where){
+ public static function getOneorderList($where)
+ {
return self::where('uid', $where['uid'])
->order('add_time desc')
- ->page((int)$where['page'],(int)$where['limit'])
+ ->page((int)$where['page'], (int)$where['limit'])
->field(['order_id,real_name,total_num,total_price,pay_price,FROM_UNIXTIME(pay_time,"%Y-%m-%d") as pay_time,paid,pay_type,pink_id,seckill_id,bargain_id'
])->select()
->toArray();
}
- /*
+
+ /**
* 设置订单统计图搜索
- * $where array 条件
- * return object
+ * @param array $where 条件
+ * @param null $status
+ * @param null $time
+ * @return array
*/
- public static function setEchatWhere($where,$status=null,$time=null){
- $model=self::statusByWhere($where['status']);
- if($status!==null) $where['type']=$status;
- if($time===true) $where['data']='';
- switch ($where['type']){
+ public static function setEchatWhere($where, $status = null, $time = null)
+ {
+ $model = self::statusByWhere($where['status'])->where('is_system_del',0);
+ if ($status !== null) $where['type'] = $status;
+ if ($time === true) $where['data'] = '';
+ switch ($where['type']) {
case 1:
//普通商品
- $model=$model->where('combination_id',0)->where('seckill_id',0)->where('bargain_id',0);
+ $model = $model->where('combination_id', 0)->where('seckill_id', 0)->where('bargain_id', 0);
break;
case 2:
//拼团商品
- $model=$model->where('combination_id',">",0)->where('pink_id',">",0);
+ $model = $model->where('combination_id', ">", 0)->where('pink_id', ">", 0);
break;
case 3:
//秒杀商品
- $model=$model->where('seckill_id',">",0);
+ $model = $model->where('seckill_id', ">", 0);
break;
case 4:
//砍价商品
- $model=$model->where('bargain_id','>',0);
+ $model = $model->where('bargain_id', '>', 0);
break;
}
- return self::getModelTime($where,$model);
+ return self::getModelTime($where, $model);
}
+
/*
* 获取订单数据统计图
* $where array
* $limit int
* return array
*/
- public static function getEchartsOrder($where,$limit=20){
- $orderlist=self::setEchatWhere($where)->field(
+ public static function getEchartsOrder($where, $limit = 20)
+ {
+ $orderlist = self::setEchatWhere($where)->field(
'FROM_UNIXTIME(add_time,"%Y-%m-%d") as _add_time,sum(total_num) total_num,count(*) count,sum(total_price) total_price,sum(refund_price) refund_price,group_concat(cart_id SEPARATOR "|") cart_ids'
)->group('_add_time')->order('_add_time asc')->select();
- count($orderlist) && $orderlist=$orderlist->toArray();
- $legend=['商品数量','订单数量','订单金额','退款金额'];
- $seriesdata=[
+ count($orderlist) && $orderlist = $orderlist->toArray();
+ $legend = ['商品数量', '订单数量', '订单金额', '退款金额'];
+ $seriesdata = [
[
- 'name'=>$legend[0],
- 'type'=>'line',
- 'data'=>[],
+ 'name' => $legend[0],
+ 'type' => 'line',
+ 'data' => [],
],
[
- 'name'=>$legend[1],
- 'type'=>'line',
- 'data'=>[]
+ 'name' => $legend[1],
+ 'type' => 'line',
+ 'data' => []
],
[
- 'name'=>$legend[2],
- 'type'=>'line',
- 'data'=>[]
+ 'name' => $legend[2],
+ 'type' => 'line',
+ 'data' => []
],
[
- 'name'=>$legend[3],
- 'type'=>'line',
- 'data'=>[]
+ 'name' => $legend[3],
+ 'type' => 'line',
+ 'data' => []
]
];
- $xdata=[];
- $zoom='';
- foreach ($orderlist as $item){
- $xdata[]=$item['_add_time'];
- $seriesdata[0]['data'][]=$item['total_num'];
- $seriesdata[1]['data'][]=$item['count'];
- $seriesdata[2]['data'][]=$item['total_price'];
- $seriesdata[3]['data'][]=$item['refund_price'];
+ $xdata = [];
+ $zoom = '';
+ foreach ($orderlist as $item) {
+ $xdata[] = $item['_add_time'];
+ $seriesdata[0]['data'][] = $item['total_num'];
+ $seriesdata[1]['data'][] = $item['count'];
+ $seriesdata[2]['data'][] = $item['total_price'];
+ $seriesdata[3]['data'][] = $item['refund_price'];
}
- count($xdata) > $limit && $zoom=$xdata[$limit-5];
- $badge=self::getOrderBadge($where);
- $bingpaytype=self::setEchatWhere($where)->group('pay_type')->field('count(*) as count,pay_type')->select();
- count($bingpaytype) && $bingpaytype=$bingpaytype->toArray();
- $bing_xdata=['微信支付','余额支付','其他支付'];
- $color=['#ffcccc','#99cc00','#fd99cc','#669966'];
- $bing_data=[];
- foreach ($bingpaytype as $key=>$item){
- if($item['pay_type']=='weixin'){
- $value['name']=$bing_xdata[0];
- }else if($item['pay_type']=='yue'){
- $value['name']=$bing_xdata[1];
- }else{
- $value['name']=$bing_xdata[2];
+ count($xdata) > $limit && $zoom = $xdata[$limit - 5];
+ $badge = self::getOrderBadge($where);
+ $bingpaytype = self::setEchatWhere($where)->group('pay_type')->field('count(*) as count,pay_type')->select();
+ count($bingpaytype) && $bingpaytype = $bingpaytype->toArray();
+ $bing_xdata = ['微信支付', '余额支付', '其他支付'];
+ $color = ['#ffcccc', '#99cc00', '#fd99cc', '#669966'];
+ $bing_data = [];
+ foreach ($bingpaytype as $key => $item) {
+ if ($item['pay_type'] == 'weixin') {
+ $value['name'] = $bing_xdata[0];
+ } else if ($item['pay_type'] == 'yue') {
+ $value['name'] = $bing_xdata[1];
+ } else {
+ $value['name'] = $bing_xdata[2];
}
- $value['value']=$item['count'];
- $value['itemStyle']['color']=isset($color[$key]) ? $color[$key]:$color[0];
- $bing_data[]=$value;
+ $value['value'] = $item['count'];
+ $value['itemStyle']['color'] = isset($color[$key]) ? $color[$key] : $color[0];
+ $bing_data[] = $value;
}
- return compact('zoom','xdata','seriesdata','badge','legend','bing_data','bing_xdata');
+ return compact('zoom', 'xdata', 'seriesdata', 'badge', 'legend', 'bing_data', 'bing_xdata');
}
- public static function getOrderBadge($where){
+ public static function getOrderBadge($where)
+ {
return [
[
- 'name'=>'拼团订单数量',
- 'field'=>'个',
- 'count'=>self::setEchatWhere($where,2)->count(),
- 'content'=>'拼团总订单数量',
- 'background_color'=>'layui-bg-cyan',
- 'sum'=>self::setEchatWhere($where,2,true)->count(),
- 'class'=>'fa fa-line-chart',
- 'col'=>2
+ 'name' => '拼团订单数量',
+ 'field' => '个',
+ 'count' => self::setEchatWhere($where, 2)->count(),
+ 'content' => '拼团总订单数量',
+ 'background_color' => 'layui-bg-cyan',
+ 'sum' => self::setEchatWhere($where, 2, true)->count(),
+ 'class' => 'fa fa-line-chart',
+ 'col' => 2
],
[
- 'name'=>'砍价订单数量',
- 'field'=>'个',
- 'count'=>self::setEchatWhere($where,4)->count(),
- 'content'=>'砍价总订单数量',
- 'background_color'=>'layui-bg-cyan',
- 'sum'=>self::setEchatWhere($where,4,true)->count(),
- 'class'=>'fa fa-line-chart',
- 'col'=>2
+ 'name' => '砍价订单数量',
+ 'field' => '个',
+ 'count' => self::setEchatWhere($where, 4)->count(),
+ 'content' => '砍价总订单数量',
+ 'background_color' => 'layui-bg-cyan',
+ 'sum' => self::setEchatWhere($where, 4, true)->count(),
+ 'class' => 'fa fa-line-chart',
+ 'col' => 2
],
[
- 'name'=>'秒杀订单数量',
- 'field'=>'个',
- 'count'=>self::setEchatWhere($where,3)->count(),
- 'content'=>'秒杀总订单数量',
- 'background_color'=>'layui-bg-cyan',
- 'sum'=>self::setEchatWhere($where,3,true)->count(),
- 'class'=>'fa fa-line-chart',
- 'col'=>2
+ 'name' => '秒杀订单数量',
+ 'field' => '个',
+ 'count' => self::setEchatWhere($where, 3)->count(),
+ 'content' => '秒杀总订单数量',
+ 'background_color' => 'layui-bg-cyan',
+ 'sum' => self::setEchatWhere($where, 3, true)->count(),
+ 'class' => 'fa fa-line-chart',
+ 'col' => 2
],
[
- 'name'=>'普通订单数量',
- 'field'=>'个',
- 'count'=>self::setEchatWhere($where,1)->count(),
- 'content'=>'普通总订单数量',
- 'background_color'=>'layui-bg-cyan',
- 'sum'=>self::setEchatWhere($where,1,true)->count(),
- 'class'=>'fa fa-line-chart',
- 'col'=>2,
+ 'name' => '普通订单数量',
+ 'field' => '个',
+ 'count' => self::setEchatWhere($where, 1)->count(),
+ 'content' => '普通总订单数量',
+ 'background_color' => 'layui-bg-cyan',
+ 'sum' => self::setEchatWhere($where, 1, true)->count(),
+ 'class' => 'fa fa-line-chart',
+ 'col' => 2,
],
[
- 'name'=>'使用优惠卷金额',
- 'field'=>'元',
- 'count'=>self::setEchatWhere($where)->sum('coupon_price'),
- 'content'=>'普通总订单数量',
- 'background_color'=>'layui-bg-cyan',
- 'sum'=>self::setEchatWhere($where,null,true)->sum('coupon_price'),
- 'class'=>'fa fa-line-chart',
- 'col'=>2
+ 'name' => '使用优惠卷金额',
+ 'field' => '元',
+ 'count' => self::setEchatWhere($where)->sum('coupon_price'),
+ 'content' => '普通总订单数量',
+ 'background_color' => 'layui-bg-cyan',
+ 'sum' => self::setEchatWhere($where, null, true)->sum('coupon_price'),
+ 'class' => 'fa fa-line-chart',
+ 'col' => 2
],
[
- 'name'=>'积分消耗数',
- 'field'=>'个',
- 'count'=>self::setEchatWhere($where)->sum('use_integral'),
- 'content'=>'积分消耗总数',
- 'background_color'=>'layui-bg-cyan',
- 'sum'=>self::setEchatWhere($where,null,true)->sum('use_integral'),
- 'class'=>'fa fa-line-chart',
- 'col'=>2
+ 'name' => '积分消耗数',
+ 'field' => '个',
+ 'count' => self::setEchatWhere($where)->sum('use_integral'),
+ 'content' => '积分消耗总数',
+ 'background_color' => 'layui-bg-cyan',
+ 'sum' => self::setEchatWhere($where, null, true)->sum('use_integral'),
+ 'class' => 'fa fa-line-chart',
+ 'col' => 2
],
[
- 'name'=>'积分抵扣金额',
- 'field'=>'个',
- 'count'=>self::setEchatWhere($where)->sum('deduction_price'),
- 'content'=>'积分抵扣总金额',
- 'background_color'=>'layui-bg-cyan',
- 'sum'=>self::setEchatWhere($where,null,true)->sum('deduction_price'),
- 'class'=>'fa fa-money',
- 'col'=>2
+ 'name' => '积分抵扣金额',
+ 'field' => '个',
+ 'count' => self::setEchatWhere($where)->sum('deduction_price'),
+ 'content' => '积分抵扣总金额',
+ 'background_color' => 'layui-bg-cyan',
+ 'sum' => self::setEchatWhere($where, null, true)->sum('deduction_price'),
+ 'class' => 'fa fa-money',
+ 'col' => 2
],
[
- 'name'=>'在线支付金额',
- 'field'=>'元',
- 'count'=>self::setEchatWhere($where)->where('pay_type','weixin')->sum('pay_price'),
- 'content'=>'在线支付总金额',
- 'background_color'=>'layui-bg-cyan',
- 'sum'=>self::setEchatWhere($where,null,true)->where('pay_type','weixin')->sum('pay_price'),
- 'class'=>'fa fa-weixin',
- 'col'=>2
+ 'name' => '在线支付金额',
+ 'field' => '元',
+ 'count' => self::setEchatWhere($where)->where(['paid'=>1,'refund_status'=>0])->where('pay_type', 'weixin')->sum('pay_price'),
+ 'content' => '在线支付总金额',
+ 'background_color' => 'layui-bg-cyan',
+ 'sum' => self::setEchatWhere($where, null, true)->where(['paid'=>1,'refund_status'=>0])->where('pay_type', 'weixin')->sum('pay_price'),
+ 'class' => 'fa fa-weixin',
+ 'col' => 2
],
[
- 'name'=>'余额支付金额',
- 'field'=>'元',
- 'count'=>self::setEchatWhere($where)->where('pay_type','yue')->sum('pay_price'),
- 'content'=>'余额支付总金额',
- 'background_color'=>'layui-bg-cyan',
- 'sum'=>self::setEchatWhere($where,null,true)->where('pay_type','yue')->sum('pay_price'),
- 'class'=>'fa fa-balance-scale',
- 'col'=>2
+ 'name' => '余额支付金额',
+ 'field' => '元',
+ 'count' => self::setEchatWhere($where)->where('pay_type', 'yue')->where(['paid'=>1,'refund_status'=>0])->sum('pay_price'),
+ 'content' => '余额支付总金额',
+ 'background_color' => 'layui-bg-cyan',
+ 'sum' => self::setEchatWhere($where, null, true)->where(['paid'=>1,'refund_status'=>0])->where('pay_type', 'yue')->sum('pay_price'),
+ 'class' => 'fa fa-balance-scale',
+ 'col' => 2
],
[
- 'name'=>'赚取积分',
- 'field'=>'分',
- 'count'=>self::setEchatWhere($where)->sum('gain_integral'),
- 'content'=>'赚取总积分',
- 'background_color'=>'layui-bg-cyan',
- 'sum'=>self::setEchatWhere($where,null,true)->sum('gain_integral'),
- 'class'=>'fa fa-gg-circle',
- 'col'=>2
+ 'name' => '赚取积分',
+ 'field' => '分',
+ 'count' => self::setEchatWhere($where)->sum('gain_integral'),
+ 'content' => '赚取总积分',
+ 'background_color' => 'layui-bg-cyan',
+ 'sum' => self::setEchatWhere($where, null, true)->sum('gain_integral'),
+ 'class' => 'fa fa-gg-circle',
+ 'col' => 2
],
[
- 'name'=>'交易额',
- 'field'=>'元',
- 'count'=>self::setEchatWhere($where)->sum('pay_price'),
- 'content'=>'总交易额',
- 'background_color'=>'layui-bg-cyan',
- 'sum'=>self::setEchatWhere($where,null,true)->sum('pay_price'),
- 'class'=>'fa fa-jpy',
- 'col'=>2
+ 'name' => '交易额',
+ 'field' => '元',
+ 'count' => self::setEchatWhere($where)->where(['paid'=>1,'refund_status'=>0])->sum('pay_price'),
+ 'content' => '总交易额',
+ 'background_color' => 'layui-bg-cyan',
+ 'sum' => self::setEchatWhere($where, null, true)->where(['paid'=>1,'refund_status'=>0])->sum('pay_price'),
+ 'class' => 'fa fa-jpy',
+ 'col' => 2
],
[
- 'name'=>'订单商品数量',
- 'field'=>'元',
- 'count'=>self::setEchatWhere($where)->sum('total_num'),
- 'content'=>'订单商品总数量',
- 'background_color'=>'layui-bg-cyan',
- 'sum'=>self::setEchatWhere($where,null,true)->sum('total_num'),
- 'class'=>'fa fa-cube',
- 'col'=>2
+ 'name' => '订单商品数量',
+ 'field' => '元',
+ 'count' => self::setEchatWhere($where)->sum('total_num'),
+ 'content' => '订单商品总数量',
+ 'background_color' => 'layui-bg-cyan',
+ 'sum' => self::setEchatWhere($where, null, true)->sum('total_num'),
+ 'class' => 'fa fa-cube',
+ 'col' => 2
]
];
}
@@ -1072,37 +1095,37 @@ HTML;
* @throws \think\db\exception\ModelNotFoundException
* @throws \think\exception\DbException
*/
- public static function orderPostageAfter($oid,$postageData = [])
+ public static function orderPostageAfter($oid, $postageData = [])
{
- $order = self::where('id',$oid)->find();
- $url = Url::buildUrl('/order/detail/'.$order['order_id'])->suffix('')->domain(true)->build();
+ $order = self::where('id', $oid)->find();
+ $url = Url::buildUrl('/order/detail/' . $order['order_id'])->suffix('')->domain(true)->build();
$group = [
- 'first'=>'亲,您的订单已发货,请注意查收',
- 'remark'=>'点击查看订单详情'
+ 'first' => '亲,您的订单已发货,请注意查收',
+ 'remark' => '点击查看订单详情'
];
- if($postageData['delivery_type'] == 'send'){//送货
+ if ($postageData['delivery_type'] == 'send') {//送货
$goodsName = StoreOrderCartInfo::getProductNameList($order['id']);
- if($order['is_channel'] == 1){
+ if ($order['is_channel'] == 1) {
//小程序送货模版消息
RoutineTemplate::sendOrderPostage($order);
- }else{//公众号
- $openid = WechatUser::where('uid',$order['uid'])->value('openid');
- $group = array_merge($group,[
- 'keyword1'=>$goodsName,
- 'keyword2'=>$order['pay_type'] == 'offline' ? '线下支付' : date('Y/m/d H:i',$order['pay_time']),
- 'keyword3'=>$order['user_address'],
- 'keyword4'=>$postageData['delivery_name'],
- 'keyword5'=>$postageData['delivery_id']
+ } else {//公众号
+ $openid = WechatUser::where('uid', $order['uid'])->value('openid');
+ $group = array_merge($group, [
+ 'keyword1' => $goodsName,
+ 'keyword2' => $order['pay_type'] == 'offline' ? '线下支付' : date('Y/m/d H:i', $order['pay_time']),
+ 'keyword3' => $order['user_address'],
+ 'keyword4' => $postageData['delivery_name'],
+ 'keyword5' => $postageData['delivery_id']
]);
- WechatTemplateService::sendTemplate($openid,WechatTemplateService::ORDER_DELIVER_SUCCESS,$group,$url);
+ WechatTemplateService::sendTemplate($openid, WechatTemplateService::ORDER_DELIVER_SUCCESS, $group, $url);
}
- }else if($postageData['delivery_type'] == 'express') {//发货
+ } else if ($postageData['delivery_type'] == 'express') {//发货
if ($order['is_channel'] == 1) {
//小程序发货模版消息
- RoutineTemplate::sendOrderPostage($order,1);
+ RoutineTemplate::sendOrderPostage($order, 1);
} else {//公众号
- $openid = WechatUser::where('uid',$order['uid'])->value('openid');
+ $openid = WechatUser::where('uid', $order['uid'])->value('openid');
$group = array_merge($group, [
'keyword1' => $order['order_id'],
'keyword2' => $postageData['delivery_name'],
@@ -1120,72 +1143,62 @@ HTML;
public static function orderTakeAfter($order)
{
$title = '';
- $cartInfo = StoreOrderCartInfo::where('oid', $order['id'])->column('cart_info','oid');
+ $cartInfo = StoreOrderCartInfo::where('oid', $order['id'])->column('cart_info', 'oid');
- if(count($cartInfo)){
- foreach ($cartInfo as $key=>&$cart){
- $cart = json_decode($cart,true);
- $title .= $cart['productInfo']['store_name'].',';
+ if (count($cartInfo)) {
+ foreach ($cartInfo as $key => &$cart) {
+ $cart = json_decode($cart, true);
+ $title .= $cart['productInfo']['store_name'] . ',';
}
}
- if(strlen(trim($title)))
- $title = substr($title,0,bcsub(strlen($title),1,0));
- else{
- $cartInfo = StoreCart::alias('a')->where('a.id','in',implode(',',json_decode($order['cart_id'],true)))->find();
- $title = StoreProduct::where('id',$cartInfo['product_id'])->value('store_name');
+ if (strlen(trim($title)))
+ $title = substr($title, 0, bcsub(strlen($title), 1, 0));
+ else {
+ $cartInfo = StoreCart::alias('a')->where('a.id', 'in', implode(',', json_decode($order['cart_id'], true)))->find();
+ $title = StoreProduct::where('id', $cartInfo['product_id'])->value('store_name');
}
- if($order['is_channel'] == 1){//小程序
- RoutineTemplate::sendOut('OREDER_TAKEVER',$order['uid'],[
- 'keyword1'=>$order['order_id'],
- 'keyword2'=>$title,
- 'keyword3'=>$order['pay_price'],
- 'keyword4'=>date('Y-m-d H:i:s',time()),
- ]);
- }else{
- $openid = WechatUser::where('uid',$order['uid'])->value('openid');
- WechatTemplateService::sendTemplate($openid,WechatTemplateService::ORDER_TAKE_SUCCESS,[
- 'first'=>'亲,您的订单已收货',
- 'keyword1'=>$order['order_id'],
- 'keyword2'=>'已收货',
- 'keyword3'=>date('Y-m-d H:i:s',time()),
- 'keyword4'=>$title,
- 'remark'=>'感谢您的光临!'
+ if ($order['is_channel'] == 1) {//小程序
+ RoutineTemplate::sendOrderTakeOver($order, $title);
+ } else {
+ $openid = WechatUser::where('uid', $order['uid'])->value('openid');
+ WechatTemplateService::sendTemplate($openid, WechatTemplateService::ORDER_TAKE_SUCCESS, [
+ 'first' => '亲,您的订单已收货',
+ 'keyword1' => $order['order_id'],
+ 'keyword2' => '已收货',
+ 'keyword3' => date('Y-m-d H:i:s', time()),
+ 'keyword4' => $title,
+ 'remark' => '感谢您的光临!'
]);
}
}
- /*
+ /**
* 不退款发送模板消息
* @param int $id 订单id
* @param array $data 退款详情
* */
- public static function refundNoPrieTemplate($id,$data)
+ public static function refundNoPrieTemplate($id, $data)
{
- $order=self::get($id);
- if($order) return false;
+ $order = self::get($id);
+ if ($order) return false;
//小程序模板消息
- $cartInfo = StoreOrderCartInfo::where('oid', $order['id'])->column('product_id','oid') ?: [];
- $title='';
+ $cartInfo = StoreOrderCartInfo::where('oid', $order['id'])->column('product_id', 'oid') ?: [];
+ $title = '';
foreach ($cartInfo as $k => $productId) {
- $store_name = StoreProduct::where('id',$productId)->value('store_name');
- $title.=$store_name.',';
+ $store_name = StoreProduct::where('id', $productId)->value('store_name');
+ $title .= $store_name . ',';
}
- if($order->is_channel == 1){
- RoutineTemplate::sendOut('ORDER_REFUND_FILE',$order->uid,[
- 'keyword1'=>$order->order_id,
- 'keyword2'=>$title,
- 'keyword3'=>$order->pay_price,
- 'keyword4'=>$data,
- ]);
- }else{
- WechatTemplateService::sendTemplate(WechatUser::where('uid', $order->uid)->value('openid'),WechatTemplateService::ORDER_REFUND_STATUS,[
- 'first'=>'很抱歉您的订单退款失败,失败原因:'.$data,
- 'keyword1'=>$order->order_id,
- 'keyword2'=>$order->pay_price,
- 'keyword3'=>date('Y-m-d H:i:s',time()),
- 'remark'=>'给您带来的不便,请谅解!'
- ],Url::buildUrl('/order/detail/'.$order['order_id'])->suffix('')->domain(true)->build());
+ if ($order->is_channel == 1) {
+ RoutineTemplate::sendOrderRefundFail($order, $title);
+ } else {
+ WechatTemplateService::sendTemplate(WechatUser::where('uid', $order->uid)->value('openid'), WechatTemplateService::ORDER_REFUND_STATUS, [
+ 'first' => '很抱歉您的订单退款失败,失败原因:' . $data,
+ 'keyword1' => $order->order_id,
+ 'keyword2' => $order->pay_price,
+ 'keyword3' => date('Y-m-d H:i:s', time()),
+ 'remark' => '给您带来的不便,请谅解!'
+ ], Url::buildUrl('/order/detail/' . $order['order_id'])->suffix('')->domain(true)->build());
}
}
@@ -1194,17 +1207,20 @@ HTML;
* @param int $uid
* @return int|string
*/
- public static function getOrderCount($uid = 0){
- if(!$uid) return 0;
- return self::where('uid',$uid)->where('paid',1)->where('refund_status',0)->where('status',2)->count();
- }
+ public static function getOrderCount($uid = 0)
+ {
+ if (!$uid) return 0;
+ return self::where('uid', $uid)->where('paid', 1)->where('refund_status', 0)->where('status', 2)->count();
+ }
+
/**
* 获取已支付的订单
* @param int $is_promoter
* @return int|string
*/
- public static function getOrderPayCount($is_promoter = 0){
- return self::where('o.paid',1)->alias('o')->join('User u','u.uid=o.uid')->where('u.is_promoter',$is_promoter)->count();
+ public static function getOrderPayCount($is_promoter = 0)
+ {
+ return self::where('o.paid', 1)->alias('o')->join('User u', 'u.uid=o.uid')->where('u.is_promoter', $is_promoter)->count();
}
/**
@@ -1212,47 +1228,51 @@ HTML;
* @param int $is_promoter
* @return int|string
*/
- public static function getOrderPayMonthCount($is_promoter = 0){
- return self::where('o.paid',1)->alias('o')->whereTime('o.pay_time','last month')->join('User u','u.uid=o.uid')->where('u.is_promoter',$is_promoter)->count();
+ public static function getOrderPayMonthCount($is_promoter = 0)
+ {
+ return self::where('o.paid', 1)->alias('o')->whereTime('o.pay_time', 'last month')->join('User u', 'u.uid=o.uid')->where('u.is_promoter', $is_promoter)->count();
}
/** 订单收货处理积分
* @param $order
* @return bool
*/
- public static function gainUserIntegral($order)
+ public static function gainUserIntegral($order, bool $open = true)
{
- if($order['gain_integral'] > 0){
+ if ($order['gain_integral'] > 0) {
$userInfo = User::get($order['uid']);
- BaseModel::beginTrans();
- $res1 = false != User::where('uid',$userInfo['uid'])->update(['integral'=>bcadd($userInfo['integral'],$order['gain_integral'],2)]);
- $res2 = false != UserBill::income('购买商品赠送积分',$order['uid'],'integral','gain',$order['gain_integral'],$order['id'],bcadd($userInfo['integral'],$order['gain_integral'],2),'购买商品赠送'.floatval($order['gain_integral']).'积分');
+ $open && BaseModel::beginTrans();
+ $integral = bcadd($userInfo['integral'], $order['gain_integral'], 2);
+ $res1 = false != User::where('uid', $userInfo['uid'])->update(['integral' => $integral]);
+ $res2 = false != UserBill::income('购买商品赠送积分', $order['uid'], 'integral', 'gain', $order['gain_integral'], $order['id'], bcadd($userInfo['integral'], $order['gain_integral'], 2), '购买商品赠送' . floatval($order['gain_integral']) . '积分');
$res = $res1 && $res2;
- BaseModel::checkTrans($res);
+ $open && BaseModel::checkTrans($res);
+ RoutineTemplate::sendUserIntegral($order['uid'], $order, $order['gain_integral'], $integral);
return $res;
}
return true;
}
- public static function integralBack($id){
+ public static function integralBack($id)
+ {
$order = self::get($id)->toArray();
- if(!(float)bcsub($order['use_integral'],0,2) && !$order['back_integral']) return true;
- if($order['back_integral'] && !(int)$order['use_integral']) return true;
+ if (!(float)bcsub($order['use_integral'], 0, 2) && !$order['back_integral']) return true;
+ if ($order['back_integral'] && !(int)$order['use_integral']) return true;
BaseModel::beginTrans();
- $data['back_integral'] = bcsub($order['use_integral'],$order['use_integral'],0);
- if(!$data['back_integral']) return true;
+ $data['back_integral'] = bcsub($order['use_integral'], $order['use_integral'], 0);
+ if (!$data['back_integral']) return true;
$data['use_integral'] = 0;
$data['deduction_price'] = 0.00;
$data['pay_price'] = 0.00;
$data['coupon_id'] = 0.00;
$data['coupon_price'] = 0.00;
$res4 = true;
- $integral = User::where('uid',$order['uid'])->value('integral');
- $res1 = User::bcInc($order['uid'],'integral',$data['back_integral'],'uid');
- $res2 = UserBill::income('商品退积分',$order['uid'],'integral','pay_product_integral_back',$data['back_integral'],$order['id'],bcadd($integral,$data['back_integral'],2),'订单退积分'.floatval($data['back_integral']).'积分到用户积分');
- $res3 = self::edit($data,$id);
- if($order['coupon_id']) $res4 = StoreCouponUser::recoverCoupon($order['coupon_id']);
- StoreOrderStatus::setStatus($id,'integral_back','商品退积分:'.$data['back_integral']);
+ $integral = User::where('uid', $order['uid'])->value('integral');
+ $res1 = User::bcInc($order['uid'], 'integral', $data['back_integral'], 'uid');
+ $res2 = UserBill::income('商品退积分', $order['uid'], 'integral', 'pay_product_integral_back', $data['back_integral'], $order['id'], bcadd($integral, $data['back_integral'], 2), '订单退积分' . floatval($data['back_integral']) . '积分到用户积分');
+ $res3 = self::edit($data, $id);
+ if ($order['coupon_id']) $res4 = StoreCouponUser::recoverCoupon($order['coupon_id']);
+ StoreOrderStatus::setStatus($id, 'integral_back', '商品退积分:' . $data['back_integral']);
$res = $res1 && $res2 && $res3 && $res4;
BaseModel::checkTrans($res);
return $res;
@@ -1271,11 +1291,11 @@ HTML;
$where['type'] = '';
$where['order'] = '';
$where['pay_type'] = 1;
- $weixin = self::getOrderWhere($where,new self)->count();
+ $weixin = self::getOrderWhere($where, new self)->count();
$where['pay_type'] = 2;
- $yue = self::getOrderWhere($where,new self)->count();
+ $yue = self::getOrderWhere($where, new self)->count();
$where['pay_type'] = 3;
- $offline = self::getOrderWhere($where,new self)->count();
+ $offline = self::getOrderWhere($where, new self)->count();
return compact('weixin', 'yue', 'offline');
}
}
\ No newline at end of file
diff --git a/crmeb/app/common.php b/crmeb/app/common.php
index 5d8f78a6..6f86dac9 100644
--- a/crmeb/app/common.php
+++ b/crmeb/app/common.php
@@ -150,4 +150,31 @@ if (!function_exists('sysData')) {
{
return app('sysGroupData')->getData($name);
}
+}
+
+if (!function_exists('sys_config')) {
+ /**
+ * 获取系统单个配置
+ * @param string $name
+ * @return string | null
+ */
+ function sys_config(string $name)
+ {
+ if (empty($name))
+ return null;
+
+ return app('sysConfig')->get($name);
+ }
+}
+
+if (!function_exists('sys_data')) {
+ /**
+ * 获取系统单个配置
+ * @param string $name
+ * @return string
+ */
+ function sys_data($name)
+ {
+ return app('sysGroupData')->getData($name);
+ }
}
\ No newline at end of file
diff --git a/crmeb/app/models/store/StoreOrder.php b/crmeb/app/models/store/StoreOrder.php
index 345e4f0a..6edf2878 100644
--- a/crmeb/app/models/store/StoreOrder.php
+++ b/crmeb/app/models/store/StoreOrder.php
@@ -76,8 +76,8 @@ class StoreOrder extends BaseModel
*/
public static function getOrderPriceGroup($cartInfo)
{
- $storePostage = floatval(sysConfig('store_postage')) ?: 0;//邮费基础价
- $storeFreePostage = floatval(sysConfig('store_free_postage')) ?: 0;//满额包邮
+ $storePostage = floatval(sys_config('store_postage')) ?: 0;//邮费基础价
+ $storeFreePostage = floatval(sys_config('store_free_postage')) ?: 0;//满额包邮
$totalPrice = self::getOrderSumPrice($cartInfo, 'truePrice');//获取订单总金额
$costPrice = self::getOrderSumPrice($cartInfo, 'costPrice');//获取订单成本价
$vipPrice = self::getOrderSumPrice($cartInfo, 'vip_truePrice');//获取订单会员优惠金额
@@ -118,8 +118,8 @@ class StoreOrder extends BaseModel
*/
public static function getCombinationOrderPriceGroup($cartInfo)
{
- $storePostage = floatval(sysConfig('store_postage')) ?: 0;
- $storeFreePostage = floatval(sysConfig('store_free_postage')) ?: 0;
+ $storePostage = floatval(sys_config('store_postage')) ?: 0;
+ $storeFreePostage = floatval(sys_config('store_free_postage')) ?: 0;
$totalPrice = self::getCombinationOrderTotalPrice($cartInfo);
$costPrice = self::getCombinationOrderTotalPrice($cartInfo);
if (!$storeFreePostage) {
@@ -216,30 +216,30 @@ class StoreOrder extends BaseModel
* @throws \think\exception\DbException
*/
- public static function cacheKeyCreateOrder($uid, $key, $addressId, $payType, $useIntegral = false, $couponId = 0, $mark = '', $combinationId = 0, $pinkId = 0, $seckill_id = 0, $bargain_id = 0, $test = false, $isChannel = 0,$shipping_type = 1,$real_name='',$phone='')
+ public static function cacheKeyCreateOrder($uid, $key, $addressId, $payType, $useIntegral = false, $couponId = 0, $mark = '', $combinationId = 0, $pinkId = 0, $seckill_id = 0, $bargain_id = 0, $test = false, $isChannel = 0, $shipping_type = 1, $real_name = '', $phone = '')
{
self::beginTrans();
- try{
+ try {
$shipping_type = (int)$shipping_type;
- $offlinePayStatus = (int)sysConfig('offline_pay_status') ?? (int)2;
- if($offlinePayStatus == 2) unset(self::$payType['offline']);
- if (!array_key_exists($payType, self::$payType)) return self::setErrorInfo('选择支付方式有误!',true);
- if (self::be(['unique' => $key, 'uid' => $uid])) return self::setErrorInfo('请勿重复提交订单',true);
+ $offlinePayStatus = (int)sys_config('offline_pay_status') ?? (int)2;
+ if ($offlinePayStatus == 2) unset(self::$payType['offline']);
+ if (!array_key_exists($payType, self::$payType)) return self::setErrorInfo('选择支付方式有误!', true);
+ if (self::be(['unique' => $key, 'uid' => $uid])) return self::setErrorInfo('请勿重复提交订单', true);
$userInfo = User::getUserInfo($uid);
- if (!$userInfo) return self::setErrorInfo('用户不存在!',true);
+ if (!$userInfo) return self::setErrorInfo('用户不存在!', true);
$cartGroup = self::getCacheOrderInfo($uid, $key);
- if (!$cartGroup) return self::setErrorInfo('订单已过期,请刷新当前页面!',true);
+ if (!$cartGroup) return self::setErrorInfo('订单已过期,请刷新当前页面!', true);
$cartInfo = $cartGroup['cartInfo'];
$priceGroup = $cartGroup['priceGroup'];
$other = $cartGroup['other'];
$payPrice = (float)$priceGroup['totalPrice'];
$payPostage = $priceGroup['storePostage'];
- if($shipping_type === 1) {
+ if ($shipping_type === 1) {
if (!$test && !$addressId) return self::setErrorInfo('请选择收货地址!', true);
if (!$test && (!UserAddress::be(['uid' => $uid, 'id' => $addressId, 'is_del' => 0]) || !($addressInfo = UserAddress::find($addressId))))
return self::setErrorInfo('地址选择有误!', true);
- }else{
- if((!$real_name || !$phone) && !$test) return self::setErrorInfo('请填写姓名和电话',true);
+ } else {
+ if ((!$real_name || !$phone) && !$test) return self::setErrorInfo('请填写姓名和电话', true);
$addressInfo['real_name'] = $real_name;
$addressInfo['phone'] = $phone;
$addressInfo['province'] = '';
@@ -254,28 +254,28 @@ class StoreOrder extends BaseModel
foreach ($cartInfo as $cart) {
$cartIds[] = $cart['id'];
$totalNum += $cart['cart_num'];
- if(!$seckill_id) $seckill_id = $cart['seckill_id'];
- if(!$bargain_id) $bargain_id = $cart['bargain_id'];
- if(!$combinationId) $combinationId = $cart['combination_id'];
- $cartInfoGainIntegral = isset($cart['productInfo']['give_integral']) ? bcmul($cart['cart_num'],$cart['productInfo']['give_integral'],2) : 0;
+ if (!$seckill_id) $seckill_id = $cart['seckill_id'];
+ if (!$bargain_id) $bargain_id = $cart['bargain_id'];
+ if (!$combinationId) $combinationId = $cart['combination_id'];
+ $cartInfoGainIntegral = isset($cart['productInfo']['give_integral']) ? bcmul($cart['cart_num'], $cart['productInfo']['give_integral'], 2) : 0;
$gainIntegral = bcadd($gainIntegral, $cartInfoGainIntegral, 2);
}
$deduction = $seckill_id || $bargain_id || $combinationId;
- if($deduction){
+ if ($deduction) {
$couponId = 0;
$useIntegral = false;
- if(!$test){
+ if (!$test) {
unset(self::$payType['offline']);
- if (!array_key_exists($payType, self::$payType)) return self::setErrorInfo('营销产品不能使用线下支付!',true);
+ if (!array_key_exists($payType, self::$payType)) return self::setErrorInfo('营销产品不能使用线下支付!', true);
}
}
//使用优惠劵
$res1 = true;
if ($couponId) {
$couponInfo = StoreCouponUser::validAddressWhere()->where('id', $couponId)->where('uid', $uid)->find();
- if (!$couponInfo) return self::setErrorInfo('选择的优惠劵无效!',true);
+ if (!$couponInfo) return self::setErrorInfo('选择的优惠劵无效!', true);
if ($couponInfo['use_min_price'] > $payPrice)
- return self::setErrorInfo('不满足优惠劵的使用条件!',true);
+ return self::setErrorInfo('不满足优惠劵的使用条件!', true);
$payPrice = (float)bcsub($payPrice, $couponInfo['coupon_price'], 2);
$res1 = StoreCouponUser::useCoupon($couponId);
$couponPrice = $couponInfo['coupon_price'];
@@ -283,16 +283,16 @@ class StoreOrder extends BaseModel
$couponId = 0;
$couponPrice = 0;
}
- if (!$res1) return self::setErrorInfo('使用优惠劵失败!',true);
+ if (!$res1) return self::setErrorInfo('使用优惠劵失败!', true);
//$shipping_type = 1 快递发货 $shipping_type = 2 门店自提
- $store_self_mention = sysConfig('store_self_mention') ?? 0;
- if(!$store_self_mention) $shipping_type = 1;
- if($shipping_type === 1) {
+ $store_self_mention = sys_config('store_self_mention') ?? 0;
+ if (!$store_self_mention) $shipping_type = 1;
+ if ($shipping_type === 1) {
//是否包邮
if ((isset($other['offlinePostage']) && $other['offlinePostage'] && $payType == 'offline')) $payPostage = 0;
$payPrice = (float)bcadd($payPrice, $payPostage, 2);
- }else if($shipping_type === 2){
+ } else if ($shipping_type === 2) {
//门店自提没有邮费支付
$priceGroup['storePostage'] = 0;
$payPostage = 0;
@@ -311,7 +311,7 @@ class StoreOrder extends BaseModel
} else {
$deductionPrice = $payPrice;
$usedIntegral = (float)bcdiv($payPrice, $other['integralRatio'], 2);
- $SurplusIntegral = bcsub($userInfo['integral'],$usedIntegral,2);
+ $SurplusIntegral = bcsub($userInfo['integral'], $usedIntegral, 2);
$res2 = false !== User::bcDec($userInfo['uid'], 'integral', $usedIntegral, 'uid');
$payPrice = 0;
}
@@ -320,8 +320,8 @@ class StoreOrder extends BaseModel
$deductionPrice = 0;
$usedIntegral = 0;
}
- if (!$res2) return self::setErrorInfo('使用积分抵扣失败!',true);
- if($payPrice <= 0) $payPrice = 0;
+ if (!$res2) return self::setErrorInfo('使用积分抵扣失败!', true);
+ if ($payPrice <= 0) $payPrice = 0;
if ($test) {
self::rollbackTrans();
return [
@@ -330,7 +330,7 @@ class StoreOrder extends BaseModel
'pay_postage' => $payPostage,
'coupon_price' => $couponPrice,
'deduction_price' => $deductionPrice,
- 'SurplusIntegral'=> $SurplusIntegral,
+ 'SurplusIntegral' => $SurplusIntegral,
];
}
$orderInfo = [
@@ -361,15 +361,15 @@ class StoreOrder extends BaseModel
'is_channel' => $isChannel,
'add_time' => time(),
'unique' => $key,
- 'shipping_type'=>$shipping_type,
+ 'shipping_type' => $shipping_type,
];
- if($shipping_type === 2){
+ if ($shipping_type === 2) {
$orderInfo['verify_code'] = self::getStoreCode();
- $orderInfo['store_id'] = SystemStore::getStoreDispose(0,'id');
- if(!$orderInfo['store_id']) return self::setErrorInfo('暂无门店无法选择门店自提!',true);
+ $orderInfo['store_id'] = SystemStore::getStoreDispose(0, 'id');
+ if (!$orderInfo['store_id']) return self::setErrorInfo('暂无门店无法选择门店自提!', true);
}
$order = self::create($orderInfo);
- if (!$order) return self::setErrorInfo('订单生成失败!',true);
+ if (!$order) return self::setErrorInfo('订单生成失败!', true);
$res5 = true;
foreach ($cartInfo as $cart) {
//减库存加销量
@@ -382,19 +382,19 @@ class StoreOrder extends BaseModel
$res4 = false !== StoreOrderCartInfo::setCartInfo($order['id'], $cartInfo);
//购物车状态修改
$res6 = false !== StoreCart::where('id', 'IN', $cartIds)->update(['is_pay' => 1]);
- if (!$res4 || !$res5 || !$res6) return self::setErrorInfo('订单生成失败!',true);
+ if (!$res4 || !$res5 || !$res6) return self::setErrorInfo('订单生成失败!', true);
//自动设置默认地址
UserRepository::storeProductOrderCreateEbApi($order, compact('cartInfo', 'addressId'));
self::clearCacheOrderInfo($uid, $key);
self::commitTrans();
StoreOrderStatus::status($order['id'], 'cache_key_create_order', '订单生成');
return $order;
- }catch (\PDOException $e) {
+ } catch (\PDOException $e) {
self::rollbackTrans();
- return self::setErrorInfo('生成订单时SQL执行错误错误原因:'.$e->getMessage());
- }catch (\Exception $e){
+ return self::setErrorInfo('生成订单时SQL执行错误错误原因:' . $e->getMessage());
+ } catch (\Exception $e) {
self::rollbackTrans();
- return self::setErrorInfo('生成订单时系统错误错误原因:'.$e->getMessage());
+ return self::setErrorInfo('生成订单时系统错误错误原因:' . $e->getMessage());
}
}
@@ -468,7 +468,7 @@ class StoreOrder extends BaseModel
*/
public static function cancelOrder($order_id, $uid)
{
- $order = self::where('order_id', $order_id)->where('uid',$uid)->find();
+ $order = self::where('order_id', $order_id)->where('uid', $uid)->find();
if (!$order) return self::setErrorInfo('没有查到此订单');
self::beginTrans();
try {
@@ -476,9 +476,9 @@ class StoreOrder extends BaseModel
$order->is_del = 1;
if ($res && $order->save()) {
self::commitTrans();
- return true;
- }else
- return false;
+ return true;
+ } else
+ return false;
} catch (\Exception $e) {
self::rollbackTrans();
return self::setErrorInfo(['line' => $e->getLine(), 'message' => $e->getMessage()]);
@@ -493,9 +493,9 @@ class StoreOrder extends BaseModel
public static function getNewOrderId()
{
list($msec, $sec) = explode(' ', microtime());
- $msectime = number_format((floatval($msec) + floatval($sec)) * 1000,0,'','');
- $orderId = 'wx' . $msectime . mt_rand(10000,99999);
- if(self::be(['order_id'=>$orderId])) $orderId = 'wx' . $msectime . mt_rand(10000,99999);
+ $msectime = number_format((floatval($msec) + floatval($sec)) * 1000, 0, '', '');
+ $orderId = 'wx' . $msectime . mt_rand(10000, 99999);
+ if (self::be(['order_id' => $orderId])) $orderId = 'wx' . $msectime . mt_rand(10000, 99999);
return $orderId;
}
@@ -519,24 +519,25 @@ class StoreOrder extends BaseModel
public static function getProductTitle($cartId)
{
$title = '';
- try{
- $orderCart=StoreOrderCartInfo::where('cart_id','in',$cartId)->field('cart_info')->select();
- foreach ($orderCart as $item){
- if(isset($item['cart_info']['productInfo']['store_name'])){
- $title.=$item['cart_info']['productInfo']['store_name'].'|';
+ try {
+ $orderCart = StoreOrderCartInfo::where('cart_id', 'in', $cartId)->field('cart_info')->select();
+ foreach ($orderCart as $item) {
+ if (isset($item['cart_info']['productInfo']['store_name'])) {
+ $title .= $item['cart_info']['productInfo']['store_name'] . '|';
}
}
unset($item);
- if(!$title){
+ if (!$title) {
$productIds = StoreCart::where('id', 'in', $cartId)->column('product_id');
- $productlist = ($productlist= StoreProduct::getProductField($productIds, 'store_name')) ? $productlist->toArray() : [];
+ $productlist = ($productlist = StoreProduct::getProductField($productIds, 'store_name')) ? $productlist->toArray() : [];
foreach ($productlist as $item) {
if (isset($item['store_name'])) $title .= $item['store_name'] . '|';
}
}
- if($title) $title = substr($title,0,strlen($title)-1);
+ if ($title) $title = substr($title, 0, strlen($title) - 1);
unset($item);
- }catch (\Exception $e){}
+ } catch (\Exception $e) {
+ }
return $title;
}
@@ -544,14 +545,15 @@ class StoreOrder extends BaseModel
* 获取门店自提唯一核销码
* @return bool|string
*/
- public static function getStoreCode(){
+ public static function getStoreCode()
+ {
list($msec, $sec) = explode(' ', microtime());
- $num = bcadd(time(),mt_rand(10,999999),0).''.substr($msec,2,3);//生成随机数
- if(strlen($num) < 12)
- $num = str_pad((string)$num,12,0,STR_PAD_RIGHT);
+ $num = bcadd(time(), mt_rand(10, 999999), 0) . '' . substr($msec, 2, 3);//生成随机数
+ if (strlen($num) < 12)
+ $num = str_pad((string)$num, 12, 0, STR_PAD_RIGHT);
else
- $num = substr($num,0,12);
- if(self::be(['verify_code'=>$num])) return self::getStoreCode();
+ $num = substr($num, 0, 12);
+ if (self::be(['verify_code' => $num])) return self::getStoreCode();
return $num;
}
@@ -576,9 +578,9 @@ class StoreOrder extends BaseModel
if ($orderInfo['pay_price'] <= 0) exception('该支付无需支付!');
$openid = WechatUser::getOpenId($orderInfo['uid']);
$bodyContent = self::getProductTitle($orderInfo['cart_id']);
- $site_name = sysConfig('site_name');
- if(!$bodyContent && !$site_name) exception('支付参数缺少:请前往后台设置->系统设置-> 填写 网站名称');
- return MiniProgramService::jsPay($openid, $orderInfo['order_id'], $orderInfo['pay_price'], 'productr',self::getSubstrUTf8($site_name.' - '.$bodyContent,30));
+ $site_name = sys_config('site_name');
+ if (!$bodyContent && !$site_name) exception('支付参数缺少:请前往后台设置->系统设置-> 填写 网站名称');
+ return MiniProgramService::jsPay($openid, $orderInfo['order_id'], $orderInfo['pay_price'], 'productr', self::getSubstrUTf8($site_name . ' - ' . $bodyContent, 30));
}
/**
@@ -590,20 +592,20 @@ class StoreOrder extends BaseModel
* @throws \think\db\exception\ModelNotFoundException
* @throws \think\exception\DbException
*/
- public static function wxPay($orderId,$field = 'order_id')
+ public static function wxPay($orderId, $field = 'order_id')
{
- if(is_string($orderId))
- $orderInfo = self::where($field,$orderId)->find();
+ if (is_string($orderId))
+ $orderInfo = self::where($field, $orderId)->find();
else
$orderInfo = $orderId;
- if(!$orderInfo || !isset($orderInfo['paid'])) exception('支付订单不存在!');
- if($orderInfo['paid']) exception('支付已支付!');
- if($orderInfo['pay_price'] <= 0) exception('该支付无需支付!');
- $openid = WechatUser::uidToOpenid($orderInfo['uid'],'openid');
+ if (!$orderInfo || !isset($orderInfo['paid'])) exception('支付订单不存在!');
+ if ($orderInfo['paid']) exception('支付已支付!');
+ if ($orderInfo['pay_price'] <= 0) exception('该支付无需支付!');
+ $openid = WechatUser::uidToOpenid($orderInfo['uid'], 'openid');
$bodyContent = self::getProductTitle($orderInfo['cart_id']);
- $site_name = sysConfig('site_name');
- if(!$bodyContent && !$site_name) exception('支付参数缺少:请前往后台设置->系统设置-> 填写 网站名称');
- return WechatService::jsPay($openid,$orderInfo['order_id'],$orderInfo['pay_price'],'product',self::getSubstrUTf8($site_name.' - '.$bodyContent,30));
+ $site_name = sys_config('site_name');
+ if (!$bodyContent && !$site_name) exception('支付参数缺少:请前往后台设置->系统设置-> 填写 网站名称');
+ return WechatService::jsPay($openid, $orderInfo['order_id'], $orderInfo['pay_price'], 'product', self::getSubstrUTf8($site_name . ' - ' . $bodyContent, 30));
}
/**
@@ -615,19 +617,19 @@ class StoreOrder extends BaseModel
* @throws \think\db\exception\ModelNotFoundException
* @throws \think\exception\DbException
*/
- public static function h5Pay($orderId,$field = 'order_id')
+ public static function h5Pay($orderId, $field = 'order_id')
{
- if(is_string($orderId))
- $orderInfo = self::where($field,$orderId)->find();
+ if (is_string($orderId))
+ $orderInfo = self::where($field, $orderId)->find();
else
$orderInfo = $orderId;
- if(!$orderInfo || !isset($orderInfo['paid'])) exception('支付订单不存在!');
- if($orderInfo['paid']) exception('支付已支付!');
- if($orderInfo['pay_price'] <= 0) exception('该支付无需支付!');
+ if (!$orderInfo || !isset($orderInfo['paid'])) exception('支付订单不存在!');
+ if ($orderInfo['paid']) exception('支付已支付!');
+ if ($orderInfo['pay_price'] <= 0) exception('该支付无需支付!');
$bodyContent = self::getProductTitle($orderInfo['cart_id']);
- $site_name = sysConfig('site_name');
- if(!$bodyContent && !$site_name) exception('支付参数缺少:请前往后台设置->系统设置-> 填写 网站名称');
- return WechatService::paymentPrepare(null,$orderInfo['order_id'],$orderInfo['pay_price'],'product',self::getSubstrUTf8($site_name.' - '.$bodyContent,30),'','MWEB');
+ $site_name = sys_config('site_name');
+ if (!$bodyContent && !$site_name) exception('支付参数缺少:请前往后台设置->系统设置-> 填写 网站名称');
+ return WechatService::paymentPrepare(null, $orderInfo['order_id'], $orderInfo['pay_price'], 'product', self::getSubstrUTf8($site_name . ' - ' . $bodyContent, 30), '', 'MWEB');
}
@@ -715,26 +717,25 @@ class StoreOrder extends BaseModel
if (!$res)
return self::setErrorInfo('申请退款失败!');
else {
- try{
- $adminIds = sysConfig('site_store_admin_uids');
- if (!empty($adminIds)) {
- if (!($adminList = array_unique(array_filter(explode(',', trim($adminIds)))))) {
- return self::setErrorInfo('申请退款成功,');
- }
- //小程序 发送模板消息
- RoutineTemplate::sendOrderRefundStatus($order, $refundReasonWap, $adminList);
+ try {
+ if (in_array($order['is_channel'], [0, 2])) {
//公众号发送模板消息
WechatTemplateService::sendAdminNoticeTemplate([
- 'first'=>"亲,您有一个新订单 \n订单号:{$order['order_id']}",
- 'keyword1'=>'新订单',
- 'keyword2'=>'已支付',
- 'keyword3'=>date('Y/m/d H:i',time()),
- 'remark'=>'请及时处理'
+ 'first' => "亲,您有一个新订单 \n订单号:{$order['order_id']}",
+ 'keyword1' => '新订单',
+ 'keyword2' => '已支付',
+ 'keyword3' => date('Y/m/d H:i', time()),
+ 'remark' => '请及时处理'
]);
}
- ChannelService::instance()->send('NEW_REFUND_ORDER', ['order_id'=>$order['order_id']]);
- }catch (\Exception $e){}
- event('ShortMssageSend',[$order['order_id'],'AdminRefund']);
+ if (in_array($order['is_channel'], [1, 2])) {
+ //小程序 发送模板消息
+ RoutineTemplate::sendOrderRefundStatus($order, $refundReasonWap);
+ }
+ ChannelService::instance()->send('NEW_REFUND_ORDER', ['order_id' => $order['order_id']]);
+ } catch (\Exception $e) {
+ }
+ event('ShortMssageSend', [$order['order_id'], 'AdminRefund']);
return true;
}
}
@@ -755,7 +756,7 @@ class StoreOrder extends BaseModel
$oid = self::where('order_id', $orderId)->value('id');
StoreOrderStatus::status($oid, 'pay_success', '用户付款成功');
//支付成功后
- event('OrderPaySuccess', [$order,$formId]);
+ event('OrderPaySuccess', [$order, $formId]);
$res = $res1 && $resPink;
return false !== $res;
}
@@ -808,28 +809,10 @@ class StoreOrder extends BaseModel
public static function orderPostageAfter($postageData, $oid)
{
$order = self::where('id', $oid)->find();
- $url = '/pages/order_details/index?order_id=' . $order['order_id'];
- $group = [
- 'first' => '亲,您的订单已发货,请注意查收',
- 'remark' => '点击查看订单详情'
- ];
if ($postageData['delivery_type'] == 'send') {//送货
- $goodsName = StoreOrderCartInfo::getProductNameList($order['id']);
- $group = array_merge($group, [
- 'keyword1' => $goodsName,
- 'keyword2' => $order['pay_type'] == 'offline' ? '线下支付' : date('Y/m/d H:i', $order['pay_time']),
- 'keyword3' => $order['user_address'],
- 'keyword4' => $postageData['delivery_name'],
- 'keyword5' => $postageData['delivery_id']
- ]);
- RoutineTemplate::sendOut('ORDER_DELIVER_SUCCESS', $order['uid'], $group, $url);
+ RoutineTemplate::sendOrderPostage($order);
} else if ($postageData['delivery_type'] == 'express') {//发货
- $group = array_merge($group, [
- 'keyword1' => $order['order_id'],
- 'keyword2' => $postageData['delivery_name'],
- 'keyword3' => $postageData['delivery_id']
- ]);
- RoutineTemplate::sendOut('ORDER_POSTAGE_SUCCESS', $order['uid'], $group, $url);
+ RoutineTemplate::sendOrderPostage($order, 1);
}
}
@@ -838,14 +821,9 @@ class StoreOrder extends BaseModel
*/
public static function orderTakeAfter($order)
{
- $title=self::getProductTitle($order['cart_id']);
+ $title = self::getProductTitle($order['cart_id']);
if ($order['is_channel'] == 1) {//小程序
- RoutineTemplate::sendOut('OREDER_TAKEVER', $order['uid'], [
- 'keyword1' => $order['order_id'],
- 'keyword2' => $title,
- 'keyword3' => $order['pay_price'],
- 'keyword4' => date('Y-m-d H:i:s', time()),
- ]);
+ RoutineTemplate::sendOrderTakeOver($order, $title);
} else {
$openid = WechatUser::where('uid', $order['uid'])->value('openid');
\crmeb\services\WechatTemplateService::sendTemplate($openid, \crmeb\services\WechatTemplateService::ORDER_TAKE_SUCCESS, [
@@ -905,10 +883,10 @@ class StoreOrder extends BaseModel
return self::setErrorInfo($e->getMessage());
}
self::commitTrans();
- event('UserLevelAfter',[User::get($uni)]);
+ event('UserLevelAfter', [User::get($uni)]);
event('UserOrderTake', $uni);
//短信通知
- event('ShortMssageSend',[$order['order_id'],['Receiving','AdminConfirmTakeOver']]);
+ event('ShortMssageSend', [$order['order_id'], ['Receiving', 'AdminConfirmTakeOver']]);
return true;
} else {
self::rollbackTrans();
@@ -997,12 +975,12 @@ class StoreOrder extends BaseModel
$status['_class'] = 'state-nfh';
}
} else {
- if($order['shipping_type'] === 1){
+ if ($order['shipping_type'] === 1) {
$status['_type'] = 1;
$status['_title'] = '未发货';
$status['_msg'] = '商家未发货,请耐心等待';
$status['_class'] = 'state-nfh';
- }else{
+ } else {
$status['_type'] = 1;
$status['_title'] = '待核销';
$status['_msg'] = '待核销,请到核销点进行核销';
@@ -1018,7 +996,11 @@ class StoreOrder extends BaseModel
} else {//TODO 发货
$status['_type'] = 2;
$status['_title'] = '待收货';
- $status['_msg'] = date('m月d日H时i分', StoreOrderStatus::getTime($order['id'], 'delivery_goods')) . '服务商已发货';
+ if($order['delivery_type'] == 'fictitious')
+ $_time = StoreOrderStatus::getTime($order['id'], 'delivery_fictitious');
+ else
+ $_time = StoreOrderStatus::getTime($order['id'], 'delivery_goods');
+ $status['_msg'] = date('m月d日H时i分', $_time) . '服务商已发货';
$status['_class'] = 'state-ysh';
}
} else if ($order['status'] == 2) {
@@ -1050,7 +1032,7 @@ class StoreOrder extends BaseModel
}
}
}
- $order['offlinePayStatus'] = (int)sysConfig('offline_pay_status') ?? (int)2;
+ $order['offlinePayStatus'] = (int)sys_config('offline_pay_status') ?? (int)2;
return $order;
}
@@ -1103,7 +1085,7 @@ class StoreOrder extends BaseModel
*/
public static function getUserOrderList($uid, $status = '', $page = 0, $limit = 8)
{
- if($page) $list = self::statusByWhere($status, $uid)->where('is_del', 0)->where('uid', $uid)
+ if ($page) $list = self::statusByWhere($status, $uid)->where('is_del', 0)->where('uid', $uid)
->field('add_time,seckill_id,bargain_id,combination_id,id,order_id,pay_price,total_num,total_price,pay_postage,total_postage,paid,status,refund_status,pay_type,coupon_price,deduction_price,pink_id,delivery_type,is_del,shipping_type')
->order('add_time DESC')->page((int)$page, (int)$limit)->select()->toArray();
else $list = self::statusByWhere($status, $uid)->where('is_del', 0)->where('uid', $uid)
@@ -1183,7 +1165,7 @@ class StoreOrder extends BaseModel
$noBuy = (int)self::where('uid', $uid)->where('paid', 0)->where('is_del', 0)->where('pay_type', '<>', 'offline')->count();
$noPostageNoPink = (int)self::where('o.uid', $uid)->alias('o')->where('o.paid', 1)->where('o.pink_id', 0)->where('o.is_del', 0)->where('o.status', 0)->where('o.pay_type', '<>', 'offline')->count();
$noPostageYesPink = (int)self::where('o.uid', $uid)->alias('o')->join('StorePink p', 'o.pink_id = p.id')->where('p.status', 2)->where('o.paid', 1)->where('o.is_del', 0)->where('o.status', 0)->where('o.pay_type', '<>', 'offline')->count();
- $noPostage = (int)bcadd($noPostageNoPink, $noPostageYesPink,0);
+ $noPostage = (int)bcadd($noPostageNoPink, $noPostageYesPink, 0);
$noTake = (int)self::where('uid', $uid)->where('paid', 1)->where('is_del', 0)->where('status', 1)->where('pay_type', '<>', 'offline')->count();
$noReply = (int)self::where('uid', $uid)->where('paid', 1)->where('is_del', 0)->where('status', 2)->count();
$noPink = (int)self::where('o.uid', $uid)->alias('o')->join('StorePink p', 'o.pink_id = p.id')->where('p.status', 1)->where('o.paid', 1)->where('o.is_del', 0)->where('o.status', 0)->where('o.pay_type', '<>', 'offline')->count();
@@ -1319,20 +1301,20 @@ class StoreOrder extends BaseModel
public static function getOrderTimeData()
{
$to_day = strtotime(date('Y-m-d'));//今日
- $pre_day = strtotime(date('Y-m-d',strtotime('-1 day')));//昨日
+ $pre_day = strtotime(date('Y-m-d', strtotime('-1 day')));//昨日
$now_month = strtotime(date('Y-m'));//本月
//今日成交额
- $data['todayPrice'] = (float)number_format(self::where('is_del', 0)->where('pay_time','>=',$to_day)->where('paid', 1)->where('refund_status', 0)->value('sum(pay_price)'), 2) ?? 0;
+ $data['todayPrice'] = (float)number_format(self::where('is_del', 0)->where('pay_time', '>=', $to_day)->where('paid', 1)->where('refund_status', 0)->value('sum(pay_price)'), 2) ?? 0;
//今日订单数
- $data['todayCount'] = self::where('is_del', 0)->where('pay_time','>=',$to_day)->where('paid', 1)->where('refund_status', 0)->count();
+ $data['todayCount'] = self::where('is_del', 0)->where('pay_time', '>=', $to_day)->where('paid', 1)->where('refund_status', 0)->count();
//昨日成交额
- $data['proPrice'] = (float)number_format(self::where('is_del', 0)->where('pay_time','<',$to_day)->where('pay_time','>=',$pre_day)->where('paid', 1)->where('refund_status', 0)->value('sum(pay_price)'), 2) ?? 0;
+ $data['proPrice'] = (float)number_format(self::where('is_del', 0)->where('pay_time', '<', $to_day)->where('pay_time', '>=', $pre_day)->where('paid', 1)->where('refund_status', 0)->value('sum(pay_price)'), 2) ?? 0;
//昨日订单数
- $data['proCount'] = self::where('is_del', 0)->where('pay_time','<',$to_day)->where('pay_time','>=',$pre_day)->where('paid', 1)->where('refund_status', 0)->count();
+ $data['proCount'] = self::where('is_del', 0)->where('pay_time', '<', $to_day)->where('pay_time', '>=', $pre_day)->where('paid', 1)->where('refund_status', 0)->count();
//本月成交额
- $data['monthPrice'] = (float)number_format(self::where('is_del', 0)->where('pay_time','>=',$now_month)->where('paid', 1)->where('refund_status', 0)->value('sum(pay_price)'), 2) ?? 0;
+ $data['monthPrice'] = (float)number_format(self::where('is_del', 0)->where('pay_time', '>=', $now_month)->where('paid', 1)->where('refund_status', 0)->value('sum(pay_price)'), 2) ?? 0;
//本月订单数
- $data['monthCount'] = self::where('is_del', 0)->where('pay_time','>=',$now_month)->where('paid', 1)->where('refund_status', 0)->count();
+ $data['monthCount'] = self::where('is_del', 0)->where('pay_time', '>=', $now_month)->where('paid', 1)->where('refund_status', 0)->count();
return $data;
}
@@ -1448,13 +1430,13 @@ class StoreOrder extends BaseModel
}
}
if (!$res) throw new \Exception('更新错误');
- unset($orderList,$res,$pages);
+ unset($orderList, $res, $pages);
return null;
} catch (PDOException $e) {
- Log::error('未支付自动取消时发生数据库查询错误,错误原因为:'.$e->getMessage());
+ Log::error('未支付自动取消时发生数据库查询错误,错误原因为:' . $e->getMessage());
throw new \Exception($e->getMessage());
} catch (\think\Exception $e) {
- Log::error('未支付自动取消时发生系统错误,错误原因为:'.$e->getMessage());
+ Log::error('未支付自动取消时发生系统错误,错误原因为:' . $e->getMessage());
throw new \Exception($e->getMessage());
}
@@ -1479,7 +1461,7 @@ class StoreOrder extends BaseModel
$res3 = self::RegressionCoupon($order);
$res = $res1 && $res2 && $res3;
if ($res) $res = false !== self::where('order_id', $order['order_id'])->update(['is_del' => 1, 'mark' => '订单未支付已超过系统预设时间']);
- unset($res1,$res2,$res3);
+ unset($res1, $res2, $res3);
return $res;
} else
return true;
@@ -1565,38 +1547,38 @@ class StoreOrder extends BaseModel
public static function startTakeOrder()
{
//7天前时间戳
- $systemDeliveryTime = sysConfig('system_delivery_time') ?? 0;
+ $systemDeliveryTime = sys_config('system_delivery_time') ?? 0;
//0为取消自动收货功能
- if($systemDeliveryTime == 0) return true;
- $sevenDay = strtotime(date('Y-m-d H:i:s',strtotime('-'. $systemDeliveryTime .' day')));
+ if ($systemDeliveryTime == 0) return true;
+ $sevenDay = strtotime(date('Y-m-d H:i:s', strtotime('-' . $systemDeliveryTime . ' day')));
$model = new self;
$model = $model->alias('o');
- $model = $model->join('StoreOrderStatus s','s.oid=o.id');
+ $model = $model->join('StoreOrderStatus s', 's.oid=o.id');
$model = $model->where('o.paid', 1);
$model = $model->where('s.change_type', 'delivery_goods');
- $model = $model->where('s.change_time', '<',$sevenDay);
+ $model = $model->where('s.change_time', '<', $sevenDay);
$model = $model->where('o.status', 1);
$model = $model->where('o.refund_status', 0);
$model = $model->where('o.is_del', 0);
- $orderInfo = $model->column('id','id');
- if(!count($orderInfo)) return true;
+ $orderInfo = $model->column('id', 'id');
+ if (!count($orderInfo)) return true;
$res = true;
- foreach ($orderInfo as $key=>&$item){
+ foreach ($orderInfo as $key => &$item) {
$order = self::get($item);
- if($order['status'] == 2) continue;
- if($order['paid'] == 1 && $order['status'] == 1) $data['status'] = 2;
- else if($order['pay_type'] == 'offline') $data['status'] = 2;
+ if ($order['status'] == 2) continue;
+ if ($order['paid'] == 1 && $order['status'] == 1) $data['status'] = 2;
+ else if ($order['pay_type'] == 'offline') $data['status'] = 2;
else continue;
- if(!self::edit($data,$item,'id')) continue;
- try{
- OrderRepository::storeProductOrderTakeDeliveryAdmin($order, $item);
+ if (!self::edit($data, $item, 'id')) continue;
+ try {
+ OrderRepository::storeProductOrderTakeDeliveryTimer($order);
$res = $res && true;
- }catch (\Exception $e){
+ } catch (\Exception $e) {
$res = $res && false;
}
- $res = $res && StoreOrderStatus::status($item,'take_delivery','已收货[自动收货]');
+ $res = $res && StoreOrderStatus::status($item, 'take_delivery', '已收货[自动收货]');
}
- if(!$res){
+ if (!$res) {
throw new \Exception('收货失败');
}
}
@@ -1612,7 +1594,7 @@ class StoreOrder extends BaseModel
*/
public static function getOrderInfo($id, $field = 'order_id')
{
- return self::where('id',$id)->field($field)->find();
+ return self::where('id', $id)->field($field)->find();
}
/**
@@ -1623,7 +1605,7 @@ class StoreOrder extends BaseModel
*/
public static function getOrderDataPriceCount($page, $limit)
{
- if(!$limit) return [];
+ if (!$limit) return [];
$model = new self;
$model = $model->field('sum(pay_price) as price,count(id) as count,FROM_UNIXTIME(add_time, \'%m-%d\') as time');
$model = $model->where('is_del', 0);
@@ -1631,7 +1613,7 @@ class StoreOrder extends BaseModel
$model = $model->where('refund_status', 0);
$model = $model->group("FROM_UNIXTIME(add_time, '%Y-%m-%d')");
$model = $model->order('add_time DESC');
- if($page) $model = $model->page($page, $limit);
+ if ($page) $model = $model->page($page, $limit);
return $model->select();
}
@@ -1640,14 +1622,15 @@ class StoreOrder extends BaseModel
* @param $where
* @return mixed
*/
- public static function orderList($where){
- $model = self::getOrderWhere($where,self::alias('a')->join('user r','r.uid=a.uid','LEFT'),'a.','r')->field('a.id,a.order_id,a.add_time,a.status,a.total_num,a.total_price,a.total_postage,a.pay_price,a.pay_postage,a.paid,a.refund_status,a.remark,a.pay_type');
- if($where['order']!=''){
+ public static function orderList($where)
+ {
+ $model = self::getOrderWhere($where, self::alias('a')->join('user r', 'r.uid=a.uid', 'LEFT'), 'a.', 'r')->field('a.id,a.order_id,a.add_time,a.status,a.total_num,a.total_price,a.total_postage,a.pay_price,a.pay_postage,a.paid,a.refund_status,a.remark,a.pay_type');
+ if ($where['order'] != '') {
$model = $model->order(self::setOrder($where['order']));
- }else{
+ } else {
$model = $model->order('a.id desc');
}
- $data = ($data=$model->page((int)$where['page'],(int)$where['limit'])->select()) && count($data) ? $data->toArray() : [];
+ $data = ($data = $model->page((int)$where['page'], (int)$where['limit'])->select()) && count($data) ? $data->toArray() : [];
return self::tidyAdminOrder($data);
}
@@ -1662,27 +1645,27 @@ class StoreOrder extends BaseModel
*/
public static function tidyAdminOrder($data, $status = false)
{
- foreach ($data as &$item){
- $_info = StoreOrderCartInfo::where('oid',$item['id'])->field('cart_info')->select()->toArray();
- foreach ($_info as $k=>$v){
- if(!is_array($v['cart_info']))
- $_info[$k]['cart_info'] = json_decode($v['cart_info'],true);
+ foreach ($data as &$item) {
+ $_info = StoreOrderCartInfo::where('oid', $item['id'])->field('cart_info')->select()->toArray();
+ foreach ($_info as $k => $v) {
+ if (!is_array($v['cart_info']))
+ $_info[$k]['cart_info'] = json_decode($v['cart_info'], true);
}
- foreach ($_info as $k=>$v){
- unset($_info[$k]['cart_info']['type'], $_info[$k]['cart_info']['product_id'], $_info[$k]['cart_info']['combination_id'], $_info[$k]['cart_info']['seckill_id'], $_info[$k]['cart_info']['bargain_id'], $_info[$k]['cart_info']['bargain_id'],$_info[$k]['cart_info']['truePrice'],$_info[$k]['cart_info']['vip_truePrice'],$_info[$k]['cart_info']['trueStock'],$_info[$k]['cart_info']['costPrice'],$_info[$k]['cart_info']['productInfo']['id'],$_info[$k]['cart_info']['productInfo']['vip_price'],$_info[$k]['cart_info']['productInfo']['postage'],$_info[$k]['cart_info']['productInfo']['give_integral'],$_info[$k]['cart_info']['productInfo']['sales'],$_info[$k]['cart_info']['productInfo']['stock'],$_info[$k]['cart_info']['productInfo']['unit_name'],$_info[$k]['cart_info']['productInfo']['is_postage'], $_info[$k]['cart_info']['productInfo']['slider_image'], $_info[$k]['cart_info']['productInfo']['cost'], $_info[$k]['cart_info']['productInfo']['mer_id'], $_info[$k]['cart_info']['productInfo']['cate_id'], $_info[$k]['cart_info']['productInfo']['is_show'], $_info[$k]['cart_info']['productInfo']['store_info'], $_info[$k]['cart_info']['productInfo']['is_del'], $_info[$k]['cart_info']['is_pay'], $_info[$k]['cart_info']['is_del'], $_info[$k]['cart_info']['is_new'], $_info[$k]['cart_info']['add_time'], $_info[$k]['cart_info']['id'], $_info[$k]['cart_info']['uid'], $_info[$k]['cart_info']['product_attr_unique']);
+ foreach ($_info as $k => $v) {
+ unset($_info[$k]['cart_info']['type'], $_info[$k]['cart_info']['product_id'], $_info[$k]['cart_info']['combination_id'], $_info[$k]['cart_info']['seckill_id'], $_info[$k]['cart_info']['bargain_id'], $_info[$k]['cart_info']['bargain_id'], $_info[$k]['cart_info']['truePrice'], $_info[$k]['cart_info']['vip_truePrice'], $_info[$k]['cart_info']['trueStock'], $_info[$k]['cart_info']['costPrice'], $_info[$k]['cart_info']['productInfo']['id'], $_info[$k]['cart_info']['productInfo']['vip_price'], $_info[$k]['cart_info']['productInfo']['postage'], $_info[$k]['cart_info']['productInfo']['give_integral'], $_info[$k]['cart_info']['productInfo']['sales'], $_info[$k]['cart_info']['productInfo']['stock'], $_info[$k]['cart_info']['productInfo']['unit_name'], $_info[$k]['cart_info']['productInfo']['is_postage'], $_info[$k]['cart_info']['productInfo']['slider_image'], $_info[$k]['cart_info']['productInfo']['cost'], $_info[$k]['cart_info']['productInfo']['mer_id'], $_info[$k]['cart_info']['productInfo']['cate_id'], $_info[$k]['cart_info']['productInfo']['is_show'], $_info[$k]['cart_info']['productInfo']['store_info'], $_info[$k]['cart_info']['productInfo']['is_del'], $_info[$k]['cart_info']['is_pay'], $_info[$k]['cart_info']['is_del'], $_info[$k]['cart_info']['is_new'], $_info[$k]['cart_info']['add_time'], $_info[$k]['cart_info']['id'], $_info[$k]['cart_info']['uid'], $_info[$k]['cart_info']['product_attr_unique']);
$_info[$k]['cart_info']['productInfo']['suk'] = '';
- if(isset($v['cart_info']['productInfo']['attrInfo'])){
+ if (isset($v['cart_info']['productInfo']['attrInfo'])) {
$_info[$k]['cart_info']['productInfo']['image'] = $_info[$k]['cart_info']['productInfo']['attrInfo']['image'];
$_info[$k]['cart_info']['productInfo']['price'] = $_info[$k]['cart_info']['productInfo']['attrInfo']['price'];
$_info[$k]['cart_info']['productInfo']['suk'] = $_info[$k]['cart_info']['productInfo']['attrInfo']['suk'];
unset($_info[$k]['cart_info']['productInfo']['attrInfo']);
}
- if(!isset($v['cart_info']['productInfo']['ot_price'])){
+ if (!isset($v['cart_info']['productInfo']['ot_price'])) {
$_info[$k]['cart_info']['productInfo']['ot_price'] = $v['cart_info']['productInfo']['price'];
}
}
$item['_info'] = $_info;
- $item['add_time'] = date('Y-m-d H:i:s',$item['add_time']);
+ $item['add_time'] = date('Y-m-d H:i:s', $item['add_time']);
// if($item['pink_id'] || $item['combination_id']){
// $pinkStatus = StorePink::where('order_id_key',$item['id'])->value('status');
// switch ($pinkStatus){
@@ -1740,7 +1723,7 @@ class StoreOrder extends BaseModel
// }
// }
- if($status){
+ if ($status) {
$status = [];
if (!$item['paid'] && $item['pay_type'] == 'offline' && !$item['status'] >= 2) {
$status['_type'] = 9;
@@ -1830,17 +1813,17 @@ class StoreOrder extends BaseModel
if (isset($item['delivery_type']))
$status['_deliveryType'] = isset(self::$deliveryType[$item['delivery_type']]) ? self::$deliveryType[$item['delivery_type']] : '其他方式';
$item['_status'] = $status;
- }else{
- if($item['paid']==0 && $item['status']==0){
- $item['status_name']='未支付';
- }else if($item['paid']==1 && $item['status']==0 && $item['refund_status']==0){
- $item['status_name']='未发货';
- }else if($item['paid']==1 && $item['status']==1 && $item['refund_status']==0){
- $item['status_name']='待收货';
- }else if($item['paid']==1 && $item['status']==2 && $item['refund_status']==0){
- $item['status_name']='待评价';
- }else if($item['paid']==1 && $item['status']==3 && $item['refund_status']==0){
- $item['status_name']='已完成';
+ } else {
+ if ($item['paid'] == 0 && $item['status'] == 0) {
+ $item['status_name'] = '未支付';
+ } else if ($item['paid'] == 1 && $item['status'] == 0 && $item['refund_status'] == 0) {
+ $item['status_name'] = '未发货';
+ } else if ($item['paid'] == 1 && $item['status'] == 1 && $item['refund_status'] == 0) {
+ $item['status_name'] = '待收货';
+ } else if ($item['paid'] == 1 && $item['status'] == 2 && $item['refund_status'] == 0) {
+ $item['status_name'] = '待评价';
+ } else if ($item['paid'] == 1 && $item['status'] == 3 && $item['refund_status'] == 0) {
+ $item['status_name'] = '已完成';
}
}
// unset($item['refund_status']);
@@ -1879,44 +1862,45 @@ class StoreOrder extends BaseModel
* @param string $join
* @return StoreOrder|null
*/
- public static function getOrderWhere($where, $model, $aler = '', $join = ''){
- if(isset($where['status']) && $where['status'] != '') $model = self::statusWhere($where['status'],$model,$aler);
- if(isset($where['is_del']) && $where['is_del'] != '' && $where['is_del'] != -1) $model = $model->where($aler.'is_del',$where['is_del']);
- if(isset($where['combination_id'])){
- if($where['combination_id'] =='普通订单'){
- $model = $model->where($aler.'combination_id',0)->where($aler.'seckill_id',0)->where($aler.'bargain_id',0);
+ public static function getOrderWhere($where, $model, $aler = '', $join = '')
+ {
+ if (isset($where['status']) && $where['status'] != '') $model = self::statusWhere($where['status'], $model, $aler);
+ if (isset($where['is_del']) && $where['is_del'] != '' && $where['is_del'] != -1) $model = $model->where($aler . 'is_del', $where['is_del']);
+ if (isset($where['combination_id'])) {
+ if ($where['combination_id'] == '普通订单') {
+ $model = $model->where($aler . 'combination_id', 0)->where($aler . 'seckill_id', 0)->where($aler . 'bargain_id', 0);
}
- if($where['combination_id'] =='拼团订单'){
- $model = $model->where($aler.'combination_id',">",0)->where($aler.'pink_id',">",0);
+ if ($where['combination_id'] == '拼团订单') {
+ $model = $model->where($aler . 'combination_id', ">", 0)->where($aler . 'pink_id', ">", 0);
}
- if($where['combination_id'] =='秒杀订单'){
- $model = $model->where($aler.'seckill_id',">",0);
+ if ($where['combination_id'] == '秒杀订单') {
+ $model = $model->where($aler . 'seckill_id', ">", 0);
}
- if($where['combination_id'] =='砍价订单'){
- $model = $model->where($aler.'bargain_id',">",0);
+ if ($where['combination_id'] == '砍价订单') {
+ $model = $model->where($aler . 'bargain_id', ">", 0);
}
}
- if(isset($where['type'])){
- switch ($where['type']){
+ if (isset($where['type'])) {
+ switch ($where['type']) {
case 1:
- $model = $model->where($aler.'combination_id',0)->where($aler.'seckill_id',0)->where($aler.'bargain_id',0);
+ $model = $model->where($aler . 'combination_id', 0)->where($aler . 'seckill_id', 0)->where($aler . 'bargain_id', 0);
break;
case 2:
- $model = $model->where($aler.'combination_id',">",0);
+ $model = $model->where($aler . 'combination_id', ">", 0);
break;
case 3:
- $model = $model->where($aler.'seckill_id',">",0);
+ $model = $model->where($aler . 'seckill_id', ">", 0);
break;
case 4:
- $model = $model->where($aler.'bargain_id',">",0);
+ $model = $model->where($aler . 'bargain_id', ">", 0);
break;
}
}
- if(isset($where['real_name']) && $where['real_name'] != '')
- $model = $model->where($aler.'order_id|'.$aler.'real_name|'.$aler.'user_phone'.($join ? '|'.$join.'.nickname|'.$join.'.uid':''),'LIKE',"%$where[real_name]%");
- if(isset($where['data']) && $where['data'] !== '')
- $model = self::getModelTime($where,$model,$aler.'add_time');
+ if (isset($where['real_name']) && $where['real_name'] != '')
+ $model = $model->where($aler . 'order_id|' . $aler . 'real_name|' . $aler . 'user_phone' . ($join ? '|' . $join . '.nickname|' . $join . '.uid' : ''), 'LIKE', "%$where[real_name]%");
+ if (isset($where['data']) && $where['data'] !== '')
+ $model = self::getModelTime($where, $model, $aler . 'add_time');
return $model;
}
@@ -1927,27 +1911,27 @@ class StoreOrder extends BaseModel
* @param string $alert
* @return StoreOrder|null
*/
- public static function statusWhere($status,$model = null,$alert='')
+ public static function statusWhere($status, $model = null, $alert = '')
{
- if($model == null) $model = new self;
- if('' === $status)
+ if ($model == null) $model = new self;
+ if ('' === $status)
return $model;
- else if($status == 0)//未支付
- return $model->where($alert.'paid',0)->where($alert.'status',0)->where($alert.'refund_status',0);
- else if($status == 1)//已支付 未发货
- return $model->where($alert.'paid',1)->where($alert.'status',0)->where($alert.'refund_status',0);
- else if($status == 2)//已支付 待收货
- return $model->where($alert.'paid',1)->where($alert.'status',1)->where($alert.'refund_status',0);
- else if($status == 3)// 已支付 已收货 待评价
- return $model->where($alert.'paid',1)->where($alert.'status',2)->where($alert.'refund_status',0);
- else if($status == 4)// 交易完成
- return $model->where($alert.'paid',1)->where($alert.'status',3)->where($alert.'refund_status',0);
- else if($status == -1)//退款中
- return $model->where($alert.'paid',1)->where($alert.'refund_status',1);
- else if($status == -2)//已退款
- return $model->where($alert.'paid',1)->where($alert.'refund_status',2);
- else if($status == -3)//退款
- return $model->where($alert.'paid',1)->where($alert.'refund_status','in','1,2');
+ else if ($status == 0)//未支付
+ return $model->where($alert . 'paid', 0)->where($alert . 'status', 0)->where($alert . 'refund_status', 0);
+ else if ($status == 1)//已支付 未发货
+ return $model->where($alert . 'paid', 1)->where($alert . 'status', 0)->where($alert . 'refund_status', 0);
+ else if ($status == 2)//已支付 待收货
+ return $model->where($alert . 'paid', 1)->where($alert . 'status', 1)->where($alert . 'refund_status', 0);
+ else if ($status == 3)// 已支付 已收货 待评价
+ return $model->where($alert . 'paid', 1)->where($alert . 'status', 2)->where($alert . 'refund_status', 0);
+ else if ($status == 4)// 交易完成
+ return $model->where($alert . 'paid', 1)->where($alert . 'status', 3)->where($alert . 'refund_status', 0);
+ else if ($status == -1)//退款中
+ return $model->where($alert . 'paid', 1)->where($alert . 'refund_status', 1);
+ else if ($status == -2)//已退款
+ return $model->where($alert . 'paid', 1)->where($alert . 'refund_status', 2);
+ else if ($status == -3)//退款
+ return $model->where($alert . 'paid', 1)->where($alert . 'refund_status', 'in', '1,2');
else
return $model;
}
@@ -2035,7 +2019,7 @@ class StoreOrder extends BaseModel
*/
public static function setOrderTypePayOffline($orderId)
{
- return self::edit(['pay_type'=>'offline'], $orderId, 'order_id');
+ return self::edit(['pay_type' => 'offline'], $orderId, 'order_id');
}
/**
@@ -2043,12 +2027,13 @@ class StoreOrder extends BaseModel
* @param $id
* @return $this
*/
- public static function updateOffline($id){
- $count = self::where('id',$id)->count();
- if(!$count) return self::setErrorInfo('订单不存在');
- $count = self::where('id',$id)->where('paid', 0)->count();
- if(!$count) return self::setErrorInfo('订单已支付');
- $res = self::where('id', $id)->update(['paid'=>1,'pay_time'=>time()]);
+ public static function updateOffline($id)
+ {
+ $count = self::where('id', $id)->count();
+ if (!$count) return self::setErrorInfo('订单不存在');
+ $count = self::where('id', $id)->where('paid', 0)->count();
+ if (!$count) return self::setErrorInfo('订单已支付');
+ $res = self::where('id', $id)->update(['paid' => 1, 'pay_time' => time()]);
return $res;
}
}
\ No newline at end of file
diff --git a/crmeb/app/models/user/User.php b/crmeb/app/models/user/User.php
index 822dca0e..38d32f3d 100644
--- a/crmeb/app/models/user/User.php
+++ b/crmeb/app/models/user/User.php
@@ -114,7 +114,7 @@ class User extends BaseModel
'last_ip' => request()->ip(),
];
//TODO 获取后台分销类型
- $storeBrokerageStatus = sysConfig('store_brokerage_statu');
+ $storeBrokerageStatus = sys_config('store_brokerage_statu');
$storeBrokerageStatus = $storeBrokerageStatus ? $storeBrokerageStatus : 1;
if (isset($wechatUser['code']) && $wechatUser['code'] && $wechatUser['code'] != $uid && $uid != self::where('uid', $wechatUser['code'])->value('spread_uid')) {
if ($storeBrokerageStatus == 1) {
@@ -155,7 +155,7 @@ class User extends BaseModel
if ($spread == $uid) return true;
if ($uid == self::where('uid', $spread)->value('spread_uid')) return true;
//TODO 获取后台分销类型
- $storeBrokerageStatus = sysConfig('store_brokerage_statu');
+ $storeBrokerageStatus = sys_config('store_brokerage_statu');
$storeBrokerageStatus = $storeBrokerageStatus ? $storeBrokerageStatus : 1;
if ($storeBrokerageStatus == 1) {
$spreadCount = self::where('uid', $spread)->count();
@@ -183,7 +183,7 @@ class User extends BaseModel
self::beginTrans();
$res1 = true;
if ($spread_uid) $res1 = self::where('uid', $spread_uid)->inc('spread_count', 1)->update();
-// $storeBrokerageStatu = sysConfig('store_brokerage_statu') ? : 1;//获取后台分销类型
+// $storeBrokerageStatu = sys_config('store_brokerage_statu') ? : 1;//获取后台分销类型
$res2 = self::create([
'account' => 'rt' . $routineUser['uid'] . time(),
'pwd' => md5(123456),
@@ -242,7 +242,7 @@ class User extends BaseModel
public static function isUserSpread($uid = 0)
{
if (!$uid) return false;
- $status = (int)sysConfig('store_brokerage_statu');
+ $status = (int)sys_config('store_brokerage_statu');
$isPromoter = true;
if ($status == 1) $isPromoter = self::where('uid', $uid)->value('is_promoter');
if ($isPromoter) return true;
@@ -259,7 +259,7 @@ class User extends BaseModel
* @throws \think\db\exception\ModelNotFoundException
* @throws \think\exception\DbException
*/
- public static function backOrderBrokerage($orderInfo)
+ public static function backOrderBrokerage($orderInfo,bool $open = true)
{
//TODO 如果时营销产品不返佣金
if (isset($orderInfo['combination_id']) && $orderInfo['combination_id']) return true;
@@ -272,14 +272,14 @@ class User extends BaseModel
//TODO 当前用户不存在 没有上级 或者 当用用户上级时自己 直接返回
if (!$userInfo || !$userInfo['spread_uid'] || $userInfo['spread_uid'] == $orderInfo['uid']) return true;
//TODO 获取后台分销类型 1 指定分销 2 人人分销
- $storeBrokerageStatus = sysConfig('store_brokerage_statu');
+ $storeBrokerageStatus = sys_config('store_brokerage_statu');
$storeBrokerageStatus = $storeBrokerageStatus ? $storeBrokerageStatus : 1;
//TODO 指定分销 判断 上级是否时推广员 如果不是推广员直接跳转二级返佣
if ($storeBrokerageStatus == 1) {
- if (!User::be(['uid' => $userInfo['spread_uid'], 'is_promoter' => 1])) return self::backOrderBrokerageTwo($orderInfo);
+ if (!User::be(['uid' => $userInfo['spread_uid'], 'is_promoter' => 1])) return self::backOrderBrokerageTwo($orderInfo,$open);
}
//TODO 获取后台一级返佣比例
- $storeBrokerageRatio = sysConfig('store_brokerage_ratio');
+ $storeBrokerageRatio = sys_config('store_brokerage_ratio');
//TODO 一级返佣比例 小于等于零时直接返回 不返佣
if ($storeBrokerageRatio <= 0) return true;
//TODO 计算获取一级返佣比例
@@ -299,14 +299,14 @@ class User extends BaseModel
//TODO 上级推广员返佣之后的金额
$balance = bcadd($spreadUserInfo['brokerage_price'], $brokeragePrice, 2);
$mark = $userInfo['nickname'] . '成功消费' . floatval($orderInfo['pay_price']) . '元,奖励推广佣金' . floatval($brokeragePrice);
- self::beginTrans();
+ $open && self::beginTrans();
//TODO 添加推广记录
$res1 = UserBill::income('获得推广佣金', $userInfo['spread_uid'], 'now_money', 'brokerage', $brokeragePrice, $orderInfo['id'], $balance, $mark);
//TODO 添加用户余额
$res2 = self::bcInc($userInfo['spread_uid'], 'brokerage_price', $brokeragePrice, 'uid');
//TODO 一级返佣成功 跳转二级返佣
- $res = $res1 && $res2 && self::backOrderBrokerageTwo($orderInfo);
- self::checkTrans($res);
+ $res = $res1 && $res2 && self::backOrderBrokerageTwo($orderInfo,$open);
+ $open && self::checkTrans($res);
// if($res) return self::backOrderBrokerageTwo($orderInfo);
return $res;
}
@@ -320,7 +320,7 @@ class User extends BaseModel
* @throws \think\db\exception\ModelNotFoundException
* @throws \think\exception\DbException
*/
- public static function backOrderBrokerageTwo($orderInfo)
+ public static function backOrderBrokerageTwo($orderInfo,bool $open = true)
{
//TODO 获取购买商品的用户
$userInfo = User::getUserInfo($orderInfo['uid']);
@@ -329,14 +329,14 @@ class User extends BaseModel
//TODO 上推广人不存在 或者 上推广人没有上级 或者 当用用户上上级时自己 直接返回
if (!$userInfoTwo || !$userInfoTwo['spread_uid'] || $userInfoTwo['spread_uid'] == $orderInfo['uid']) return true;
//TODO 获取后台分销类型 1 指定分销 2 人人分销
- $storeBrokerageStatus = sysConfig('store_brokerage_statu');
+ $storeBrokerageStatus = sys_config('store_brokerage_statu');
$storeBrokerageStatus = $storeBrokerageStatus ? $storeBrokerageStatus : 1;
//TODO 指定分销 判断 上上级是否时推广员 如果不是推广员直接返回
if ($storeBrokerageStatus == 1) {
if (!User::be(['uid' => $userInfoTwo['spread_uid'], 'is_promoter' => 1])) return true;
}
//TODO 获取二级返佣比例
- $storeBrokerageTwo = sysConfig('store_brokerage_two');
+ $storeBrokerageTwo = sys_config('store_brokerage_two');
//TODO 二级返佣比例小于等于0 直接返回
if ($storeBrokerageTwo <= 0) return true;
//TODO 计算获取二级返佣比例
@@ -356,13 +356,13 @@ class User extends BaseModel
//TODO 获取上上级推广员返佣之后余额
$balance = bcadd($spreadUserInfoTwo['brokerage_price'], $brokeragePrice, 2);
$mark = '二级推广人' . $userInfo['nickname'] . '成功消费' . floatval($orderInfo['pay_price']) . '元,奖励推广佣金' . floatval($brokeragePrice);
- self::beginTrans();
+ $open && self::beginTrans();
//TODO 添加返佣记录
$res1 = UserBill::income('获得推广佣金', $userInfoTwo['spread_uid'], 'now_money', 'brokerage', $brokeragePrice, $orderInfo['id'], $balance, $mark);
//TODO 添加用户余额
$res2 = self::bcInc($userInfoTwo['spread_uid'], 'brokerage_price', $brokeragePrice, 'uid');
$res = $res1 && $res2;
- self::checkTrans($res);
+ $open && self::checkTrans($res);
return $res;
}
@@ -505,7 +505,7 @@ class User extends BaseModel
// 自己不能绑定自己为上级
if ($uid == $spreadUid) return false;
//TODO 获取后台分销类型
- $storeBrokerageStatus = sysConfig('store_brokerage_statu');
+ $storeBrokerageStatus = sys_config('store_brokerage_statu');
$storeBrokerageStatus = $storeBrokerageStatus ? $storeBrokerageStatus : 1;
if ($storeBrokerageStatus == 1) {
$spreadCount = self::where('uid', $spreadUid)->count();
@@ -561,7 +561,7 @@ class User extends BaseModel
$data['last_time'] = time();
$data['last_ip'] = app('request')->ip();
$data['nickname'] = substr(md5($account . time()), 0, 12);
- $data['avatar'] = $data['headimgurl'] = sysConfig('h5_avatar');
+ $data['avatar'] = $data['headimgurl'] = sys_config('h5_avatar');
$data['city'] = '';
$data['language'] = '';
$data['province'] = '';
diff --git a/crmeb/crmeb/repositories/OrderRepository.php b/crmeb/crmeb/repositories/OrderRepository.php
index a531daee..4e1067f0 100644
--- a/crmeb/crmeb/repositories/OrderRepository.php
+++ b/crmeb/crmeb/repositories/OrderRepository.php
@@ -1,4 +1,5 @@
= $giveCouponMinPrice) WechatUser::userTakeOrderGiveCoupon($uid);
- if(!($res1 && $res2)) exception('收货失败!');
+ if ($order['total_price'] >= $giveCouponMinPrice) WechatUser::userTakeOrderGiveCoupon($uid);
+ if (!($res1 && $res2)) exception('收货失败!');
}
/**
@@ -45,7 +46,21 @@ class OrderRepository
$res1 = AdminStoreOrder::gainUserIntegral($order);
$res2 = User::backOrderBrokerage($order);
AdminStoreOrder::orderTakeAfter($order);
- if(!($res1 && $res2)) exception('收货失败!');
+ if (!($res1 && $res2)) exception('收货失败!');
+ }
+
+ /**
+ * 修改状态 为已收货 定时任务使用
+ * @param $order
+ * @throws \Exception
+ */
+ public static function storeProductOrderTakeDeliveryTimer($order)
+ {
+
+ $res1 = AdminStoreOrder::gainUserIntegral($order, false);
+ $res2 = User::backOrderBrokerage($order, false);
+ AdminStoreOrder::orderTakeAfter($order);
+ if (!($res1 && $res2)) exception('收货失败!');
}
@@ -58,12 +73,13 @@ class OrderRepository
* @throws \think\db\exception\ModelNotFoundException
* @throws \think\exception\DbException
*/
- public static function storeProductOrderRefundY($data,$oid){
+ public static function storeProductOrderRefundY($data, $oid)
+ {
$order = AdminStoreOrder::where('id', $oid)->find();
- if($order['is_channel'] == 1)
+ if ($order['is_channel'] == 1)
return AdminStoreOrder::refundRoutineTemplate($oid); //TODO 小程序余额退款模板消息
else
- return AdminStoreOrder::refundTemplate($data,$oid);//TODO 公众号余额退款模板消息
+ return AdminStoreOrder::refundTemplate($data, $oid);//TODO 公众号余额退款模板消息
}
@@ -73,10 +89,10 @@ class OrderRepository
* @param $refund_data
* @throws \Exception
*/
- public static function storeOrderYueRefund($product,$refund_data)
+ public static function storeOrderYueRefund($product, $refund_data)
{
$res = AdminStoreOrder::integralBack($product['id']);
- if(!$res) exception('退积分失败!');
+ if (!$res) exception('退积分失败!');
}
/**
@@ -84,12 +100,7 @@ class OrderRepository
* @param $product $product 商品信息
* @param $back_integral $back_integral 退多少积分
*/
- public static function storeOrderIntegralBack($product,$back_integral){
-
- }
-
-
- public static function computedOrder()
+ public static function storeOrderIntegralBack($product, $back_integral)
{
}