From 0d4f7c934a1a25c6f9ea59b8778ba9d4dab9f031 Mon Sep 17 00:00:00 2001 From: weiz <736250432@qq.com> Date: Fri, 10 May 2024 11:56:10 +0800 Subject: [PATCH] =?UTF-8?q?=E5=90=8E=E5=8F=B0=E9=9B=B6=E5=94=AE=E6=A8=A1?= =?UTF-8?q?=E5=9D=97=E4=BF=AE=E6=94=B9?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../retail/CashierclassController.php | 16 +++++++++ app/admin/lists/retail/CashierclassLists.php | 14 ++++++-- app/admin/lists/retail/CashierinfoLists.php | 15 +++++++- app/admin/logic/retail/CashierclassLogic.php | 34 +++++++++++++++++++ .../validate/retail/CashierclassValidate.php | 5 +++ app/common/model/retail/Cashierclass.php | 8 ++++- 6 files changed, 88 insertions(+), 4 deletions(-) diff --git a/app/admin/controller/retail/CashierclassController.php b/app/admin/controller/retail/CashierclassController.php index 021aa87..b936312 100644 --- a/app/admin/controller/retail/CashierclassController.php +++ b/app/admin/controller/retail/CashierclassController.php @@ -62,6 +62,22 @@ class CashierclassController extends BaseAdminController } return $this->fail(CashierclassLogic::getError()); } + + /** + * @notes 审核零售订单 + * @return \think\response\Json + * @author likeadmin + * @date 2024/04/24 09:57 + */ + public function auditing() + { + $params = (new CashierclassValidate())->post()->goCheck('auditing'); + $result = CashierclassLogic::auditing($params,$this->adminId); + if (true === $result) { + return $this->success('审核成功', [], 1, 1); + } + return $this->fail(CashierclassLogic::getError()); + } /** diff --git a/app/admin/lists/retail/CashierclassLists.php b/app/admin/lists/retail/CashierclassLists.php index 18794db..4a13d22 100644 --- a/app/admin/lists/retail/CashierclassLists.php +++ b/app/admin/lists/retail/CashierclassLists.php @@ -4,8 +4,11 @@ namespace app\admin\lists\retail; use app\admin\lists\BaseAdminDataLists; +use app\common\model\auth\Admin; +use app\common\model\merchant\Merchant; use app\common\model\retail\Cashierclass; use app\common\lists\ListsSearchInterface; +use app\common\model\user\User; /** @@ -49,10 +52,17 @@ class CashierclassLists extends BaseAdminDataLists implements ListsSearchInterfa public function lists(): array { return Cashierclass::where($this->searchWhere) - ->field(['id', 'merchant', 'store_id', 'number', 'total', 'deduction_price', 'actual', 'money', 'pay_type', 'type', 'auditinguser', 'auditingtime']) + ->field(['id', 'merchant', 'store_id', 'uid', 'number', 'total', 'deduction_price', 'actual', 'money', 'pay_type', 'type', 'auditinguser', 'auditingtime','create_time']) ->limit($this->limitOffset, $this->limitLength) ->order(['id' => 'desc']) - ->select() + ->select()->each(function($data){ + $merchant = Merchant::field('mer_name')->where('mer_id',$data['merchant'])->findOrEmpty(); + $user = User::field('nickname')->where('id',$data['uid'])->findOrEmpty(); + $admin = Admin::field('name')->where('id',$data['auditinguser'])->findOrEmpty(); + $data['merchant_name'] = !$merchant->isEmpty() ? $merchant['mer_name'] : ''; + $data['user_name'] = !$user->isEmpty() ? $user['nickname'] : ''; + $data['auditinguser_name'] = !$admin->isEmpty() ? $admin['name'] : ''; + }) ->toArray(); } diff --git a/app/admin/lists/retail/CashierinfoLists.php b/app/admin/lists/retail/CashierinfoLists.php index 2638aff..b7b6ead 100644 --- a/app/admin/lists/retail/CashierinfoLists.php +++ b/app/admin/lists/retail/CashierinfoLists.php @@ -4,8 +4,12 @@ namespace app\admin\lists\retail; use app\admin\lists\BaseAdminDataLists; +use app\common\model\goods\Goods; +use app\common\model\retail\Cashierclass; use app\common\model\retail\Cashierinfo; use app\common\lists\ListsSearchInterface; +use app\common\model\warehouse\Warehouse; +use think\facade\Db; /** @@ -46,7 +50,16 @@ class CashierinfoLists extends BaseAdminDataLists implements ListsSearchInterfac ->field(['id', 'pid', 'room', 'goods', 'warehouse', 'serial', 'nums', 'price', 'discount', 'total', 'data', 'more', 'sort']) ->limit($this->limitOffset, $this->limitLength) ->order(['id' => 'desc']) - ->select() + ->select()->each(function($data){ + $cashier = Cashierclass::field('number')->where('id',$data['pid'])->findOrEmpty(); + $room = Db::name('room')->where('id',$data['room'])->find(); + $warehouse = Warehouse::field('name')->where('id',$data['warehouse'])->findOrEmpty(); + $goods = Goods::field('name')->where('id',$data['goods'])->findOrEmpty(); + $data['cashier_number'] = !$cashier->isEmpty() ? $cashier['number'] : ''; + $data['room_data'] = !empty($room) ? $room : []; + $data['warehouse_name'] = !$warehouse->isEmpty() ? $warehouse['name'] : ''; + $data['goods_name'] = !$goods->isEmpty() ? $goods['name'] : ''; + }) ->toArray(); } diff --git a/app/admin/logic/retail/CashierclassLogic.php b/app/admin/logic/retail/CashierclassLogic.php index dc4f487..257755a 100644 --- a/app/admin/logic/retail/CashierclassLogic.php +++ b/app/admin/logic/retail/CashierclassLogic.php @@ -90,6 +90,40 @@ class CashierclassLogic extends BaseLogic return false; } } + + /** + * @notes 审核零售订单 + * @param array $params + * @return bool + * @author likeadmin + * @date 2024/04/24 09:57 + */ + public static function auditing(array $params,$admin_id): bool + { + $data = Cashierclass::where('id',$params['id'])->findOrEmpty(); + if($data->isEmpty()){ + self::setError('订单信息不存在'); + return false; + } + if($data->type != 0){ + self::setError('此订单已审核'); + return false; + } + Db::startTrans(); + try { + Cashierclass::where('id', $params['id'])->update([ + 'type' => 1, + 'auditinguser' => $admin_id, + 'auditingtime' => time() + ]); + Db::commit(); + return true; + } catch (\Exception $e) { + Db::rollback(); + self::setError($e->getMessage()); + return false; + } + } /** diff --git a/app/admin/validate/retail/CashierclassValidate.php b/app/admin/validate/retail/CashierclassValidate.php index 13943ec..18b5353 100644 --- a/app/admin/validate/retail/CashierclassValidate.php +++ b/app/admin/validate/retail/CashierclassValidate.php @@ -70,6 +70,11 @@ class CashierclassValidate extends BaseValidate { return $this->only(['id','merchant','number','total','actual','money','pay_type']); } + + public function sceneAuditing() + { + return $this->only(['id']); + } /** diff --git a/app/common/model/retail/Cashierclass.php b/app/common/model/retail/Cashierclass.php index a2f8910..4d44fd3 100644 --- a/app/common/model/retail/Cashierclass.php +++ b/app/common/model/retail/Cashierclass.php @@ -3,7 +3,10 @@ namespace app\common\model\retail; +use app\common\model\auth\Admin; use app\common\model\BaseModel; +use app\common\model\merchant\Merchant; +use app\common\model\user\User; use think\model\concern\SoftDelete; @@ -17,6 +20,9 @@ class Cashierclass extends BaseModel use SoftDelete; protected $name = 'cashierclass'; protected $deleteTime = 'delete_time'; + + public function getAuditingtimeAttr($value){ + return !empty($value) ? date('Y-m-d H:i:s',$value) : ''; + } - } \ No newline at end of file