| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869 |
- <?php
- namespace addons\ElectronCoupon\common\global_func;
- use addons\Clerk\common\models\ClerkUser;
- use addons\ElectronCoupon\common\models\ElectronCoupon;
- use addons\ElectronCoupon\common\models\ElectronCouponCode;
- use addons\ElectronCoupon\common\models\ElectronCouponUserCoupon;
- use common\enums\ClerkEnum;
- use common\enums\StatusEnum;
- use common\models\user\User;
- class Clerk
- {
- public static function clerk($params)
- {
- if (empty($params['clerk_code']) || empty($params['mall_id']) || empty($params['user_id']) || empty($params['method'])) {
- return [];
- }
- $clerk_code = (string)$params['clerk_code'];
- $clerk_code_pre = $clerk_code[0] . $clerk_code[1];
- switch ($clerk_code_pre) {
- case ClerkEnum::ELECTRON_COUPON_CLERK_CODE_PRE:
- $params['code'] = $params['clerk_code'];
- switch ($params['method']) {
- case "get":
- $e_coupon_code = ElectronCouponCode::findOne(['code' => $params['code']]);
- if (empty($e_coupon_code)) {
- throw new \Exception('该核销码不存在');
- }
- $e_coupon_user_coupon = ElectronCouponUserCoupon::findOne(['id' => $e_coupon_code['user_e_coupon_id']]);
- $e_coupon = ElectronCoupon::findOne(['id' => $e_coupon_user_coupon['e_coupon_id']]);
- $data['pic'] = $e_coupon['pic'];
- $data['name'] = $e_coupon['name'];
- $data['money'] = $e_coupon['price'];
- $data['clerk_nums'] = $e_coupon_code['amount'];
- return $data;
- case "post":
- $user = User::findOne(['id' => $params['user_id']]);
- $clerk = ClerkUser::getOne([
- ['mall_id' => $params['mall_id']],
- ['user_id' => $params['user_id']],
- ['status' => StatusEnum::ENABLED]], true, [], [], 'id,user_id,store_id,mall_id');
- if (empty($clerk)) {
- throw new \Exception('您不是核销员');
- }
- $params['store_id'] = $clerk['store_id'];
- $params['clerk_id'] = $clerk['id'];
- $params['mobile'] = $user['mobile'] ?? '';
- $params['clerk_admin_id'] = $params['user_id'];
- $params['clerk_user_id'] = $params['user_id'];
- $result = ElectronCouponCode::doClerkCode($params);
- if ($result == false) {
- throw new \Exception(ElectronCouponCode::getStaticError());
- }
- return $result;
- }
- break;
- default:
- return [];
- }
- }
- }
|