'调整了一些bug'
This commit is contained in:
@@ -3,6 +3,7 @@
|
||||
namespace App\Admin\Controllers\Coupon;
|
||||
|
||||
use App\Admin\Exporters\CouponExport;
|
||||
use App\Models\ActivityRule;
|
||||
use App\Models\Coupon;
|
||||
use App\Models\User;
|
||||
use Encore\Admin\Controllers\AdminController;
|
||||
@@ -43,12 +44,7 @@ class IndexController extends AdminController
|
||||
->get()
|
||||
->pluck('nickname', 'id');
|
||||
$filter->equal('user_id', '渠道')->select($users);
|
||||
$filter->equal('thirdPartyGoodsId', '优惠政策')->select([
|
||||
'YSD-full100-10' => '100减10元',
|
||||
'YSD-full100-25' => '100减25元',
|
||||
'YSD-full100-50' => '100减50元',
|
||||
'YSD-full200-100' => '200减100元',
|
||||
]);
|
||||
$filter->equal('thirdPartyGoodsId', '优惠政策')->select(ActivityRule::pluck('title', 'code'));
|
||||
});
|
||||
$filter->column(1 / 2, function ($filter) {
|
||||
$filter->like('redemptionCode', '平安券编号');
|
||||
@@ -59,6 +55,8 @@ class IndexController extends AdminController
|
||||
});
|
||||
});
|
||||
}, '网点名称');
|
||||
|
||||
$filter->equal('type', '类型')->select(Coupon::TYPES);
|
||||
});
|
||||
});
|
||||
|
||||
@@ -66,6 +64,12 @@ class IndexController extends AdminController
|
||||
$grid->column('渠道')->display(function () {
|
||||
return $this->user->nickname;
|
||||
});
|
||||
$grid->column('type', '类型')
|
||||
->using(Coupon::TYPES)
|
||||
->label([
|
||||
'1' => 'info',
|
||||
'2' => 'success',
|
||||
]);
|
||||
|
||||
$grid->column('网点名称/编号')->display(function () {
|
||||
return $this->outlet ? $this->outlet->nickname : $this->outletId;
|
||||
|
||||
@@ -25,6 +25,7 @@ class IndexController extends AdminController
|
||||
protected function grid()
|
||||
{
|
||||
$grid = new Grid(new Coupon);
|
||||
$grid->model()->where('profit', '>', 0);
|
||||
$grid->disableCreateButton();
|
||||
$grid->disableBatchActions(false);
|
||||
|
||||
@@ -62,6 +63,7 @@ class IndexController extends AdminController
|
||||
->where('type', 'pingan')
|
||||
->get()
|
||||
->pluck('nickname', 'id');
|
||||
|
||||
$filter->equal('user_id', '渠道')->select($users);
|
||||
});
|
||||
$filter->column(1 / 2, function ($filter) {
|
||||
|
||||
@@ -15,7 +15,7 @@ class IndexController extends AdminController
|
||||
/**
|
||||
* Notes:
|
||||
* @Author: <C.Jason>
|
||||
* @Date: 2019/9/18 14:50
|
||||
* @Date : 2019/9/18 14:50
|
||||
* @return Grid
|
||||
*/
|
||||
protected function grid()
|
||||
@@ -59,6 +59,7 @@ class IndexController extends AdminController
|
||||
unset($in_source['json']);
|
||||
unset($in_source['query']['merchantSign']);
|
||||
unset($in_source['query']['merchantCert']);
|
||||
|
||||
return $in_source;
|
||||
});
|
||||
// $grid->column('out_source', '返回信息');
|
||||
@@ -72,7 +73,8 @@ class IndexController extends AdminController
|
||||
unset($out_source['merchantCert']);
|
||||
unset($out_source['serverCert']);
|
||||
unset($out_source['serverSign']);
|
||||
unset($out_source['data']);
|
||||
|
||||
// unset($out_source['data']);
|
||||
return $out_source;
|
||||
});
|
||||
$grid->column('created_at', '提交时间');
|
||||
|
||||
@@ -201,7 +201,7 @@ class IndexController extends AdminController
|
||||
$form->text('PaOutletId', '平安网点id');
|
||||
|
||||
$form->select('type', '项目')
|
||||
->options(['pingan' => '平安券', 'wo' => '沃支付'])
|
||||
->options(['pingan' => '平安券和自有券', 'wo' => '沃支付'])
|
||||
->load('parent_id', '/admin/user/parent')
|
||||
->required();
|
||||
|
||||
@@ -224,7 +224,8 @@ class IndexController extends AdminController
|
||||
} else {
|
||||
return 0;
|
||||
}
|
||||
});
|
||||
})
|
||||
->help('未选择隶属渠道创建渠道账号,选择隶属渠道创建网点账号');
|
||||
|
||||
$form->select('province_id', '行政省份')
|
||||
->options($province)
|
||||
|
||||
@@ -166,10 +166,12 @@ class UserController extends Controller
|
||||
'redemptionCode' => 'required',
|
||||
'total' => 'required',
|
||||
'outletId' => 'required',
|
||||
'orderid' => 'nullable|min:10',
|
||||
], [
|
||||
'redemptionCode.required' => '缺少卡券兑换码',
|
||||
'total.required' => '缺少订单总额',
|
||||
'outletId.required' => '缺少网点id',
|
||||
'orderid.min' => '订单id长度不能超过100个字符',
|
||||
]);
|
||||
|
||||
if ($validator->fails()) {
|
||||
@@ -179,10 +181,12 @@ class UserController extends Controller
|
||||
$redemptionCode = $res['redemptionCode'] ?? ''; //'915400693355';
|
||||
$total = $res['total'] ?? ''; //订单总额;
|
||||
$outletId = $res['outletId'] ?? ''; //网点id;
|
||||
$orderid = $res['orderid'] ?? ''; //订单id;
|
||||
|
||||
$redemptionCode = trim($redemptionCode);
|
||||
$outletId = trim($outletId);
|
||||
|
||||
$coupon = Coupon::Redemption($this->user, $redemptionCode, $total, $outletId);
|
||||
$coupon = Coupon::Redemption($this->user, $redemptionCode, $total, $outletId, $orderid);
|
||||
if (is_string($coupon)) {
|
||||
return $this->error($coupon, $log);
|
||||
}
|
||||
|
||||
@@ -142,14 +142,27 @@ class TestController
|
||||
*/
|
||||
public function checkcoupon(Request $request)
|
||||
{
|
||||
$user_id = $request->user_id;
|
||||
|
||||
$this->user = User::find($user_id);
|
||||
|
||||
$data = $this->jiami([
|
||||
'redemptionCode' => $request->redemptionCode,
|
||||
'total' => $request->total,
|
||||
'outletId' => $request->outletId,
|
||||
'orderid' => $request->orderid,
|
||||
]);
|
||||
|
||||
$url = 'http://pac.ysd-bs.com/api/V1/user/freezecoupon';
|
||||
$res = $this->http($data, $url);
|
||||
|
||||
return $res;
|
||||
|
||||
$redemptionCode = $request->redemptionCode;
|
||||
$total = $request->total;
|
||||
$outletId = $request->outletId;
|
||||
$user_id = $request->user_id;
|
||||
$this->user = User::find($user_id);
|
||||
|
||||
$res = Coupon::Redemption($this->user, $redemptionCode, $total, $outletId);
|
||||
$orderid = $request->orderid ?? '';
|
||||
$res = Coupon::Redemption($this->user, $redemptionCode, $total, $outletId, $orderid);
|
||||
|
||||
if (is_string($res)) {
|
||||
return $this->error($res);
|
||||
@@ -196,7 +209,7 @@ class TestController
|
||||
public function jiemi($value)
|
||||
{
|
||||
$iv = substr($this->user->des3key, 0, 8);
|
||||
$ret = openssl_decrypt($value, 'DES-EDE3-CBC', $this->user->des3key, 0, $iv);
|
||||
$ret = openssl_decrypt($value, 'DES - EDE3 - CBC', $this->user->des3key, 0, $iv);
|
||||
if (false === $ret) {
|
||||
return openssl_error_string();
|
||||
}
|
||||
|
||||
@@ -37,6 +37,8 @@ class ConponCallbackListener implements ShouldQueue
|
||||
'url' => $user->callback,
|
||||
];
|
||||
|
||||
$error = false;
|
||||
|
||||
if ($response->getStatusCode() == 200) {
|
||||
$body = $response->getBody();
|
||||
$result = json_decode($body->getContents(), true);
|
||||
@@ -49,9 +51,13 @@ class ConponCallbackListener implements ShouldQueue
|
||||
$data['status'] = 0;
|
||||
$data['source'] = '';
|
||||
$data['remark'] = '接口错误';
|
||||
$error = true;
|
||||
}
|
||||
|
||||
ActivityCouponLog::create($data);
|
||||
|
||||
if ($error) {
|
||||
throw new RuntimeException($data['remark']);
|
||||
}
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
@@ -90,6 +90,11 @@ class Activity extends Model
|
||||
|
||||
}
|
||||
|
||||
public function canGrant()
|
||||
{
|
||||
return $this->status;
|
||||
}
|
||||
|
||||
//发券
|
||||
public function grant($mobile, $outletId = null)
|
||||
{
|
||||
|
||||
@@ -21,6 +21,7 @@ class Coupon extends Model
|
||||
self::TYPE_YSD => '自有券',
|
||||
];
|
||||
|
||||
//状态
|
||||
public function getStatusTextAttribute()
|
||||
{
|
||||
switch ($this->status) {
|
||||
|
||||
@@ -32,6 +32,9 @@ class Init
|
||||
//查询返回卡券信息
|
||||
public $query_coupon;
|
||||
|
||||
//订单id
|
||||
public $orderid;
|
||||
|
||||
//设置渠道
|
||||
public function setUser($user)
|
||||
{
|
||||
@@ -40,6 +43,14 @@ class Init
|
||||
return $this;
|
||||
}
|
||||
|
||||
//设置渠道
|
||||
public function setOrderId($orderid)
|
||||
{
|
||||
$this->orderid = $orderid;
|
||||
|
||||
return $this;
|
||||
}
|
||||
|
||||
//设置核销码
|
||||
public function setCode($redemptionCode)
|
||||
{
|
||||
@@ -125,13 +136,19 @@ class Init
|
||||
//统一门店 相同金额 3分钟之内看作是一笔订单
|
||||
public function CheckCount()
|
||||
{
|
||||
//排除本时生活渠道
|
||||
|
||||
if ($this->orderid) {
|
||||
$check_count = Coupon::where('orderid', $this->orderid)
|
||||
->where('outletId', $this->outletId)
|
||||
->where('status', 2)
|
||||
->where('created_at', '>=', now()->subMinutes(3)->format('Y-m-d H:i:s'))
|
||||
->count();
|
||||
} else {
|
||||
$check_count = Coupon::where('outletId', $this->outletId)
|
||||
->where('total', $this->total)
|
||||
->where('status', 2)
|
||||
->where('created_at', '>=', now()->subMinutes(3)->format('Y-m-d H:i:s'))
|
||||
->count();
|
||||
}
|
||||
|
||||
$count = floor($this->total / 100);
|
||||
|
||||
|
||||
@@ -21,6 +21,7 @@ class PinganAction extends Init implements CouponContracts
|
||||
->setUser($this->user)
|
||||
->setOutletId($this->outletId)
|
||||
->setTotal($this->total)
|
||||
->setOrderId($this->orderid)
|
||||
->start();
|
||||
}
|
||||
|
||||
|
||||
@@ -79,11 +79,11 @@ class YsdAction extends Init implements CouponContracts
|
||||
*/
|
||||
public function start()
|
||||
{
|
||||
return $res = (new YsdVerification)
|
||||
->setCode($this->redemptionCode)
|
||||
return $res = (new YsdVerification)->setCode($this->redemptionCode)
|
||||
->setUser($this->user)
|
||||
->setOutletId($this->outletId)
|
||||
->setTotal($this->total)
|
||||
->setOrderId($this->orderid)
|
||||
->start();
|
||||
}
|
||||
|
||||
|
||||
@@ -116,6 +116,7 @@ class Verification extends PingAnInit
|
||||
'user_id' => $this->user->id,
|
||||
'type' => Coupon::TYPE_PINGAN,
|
||||
'outletId' => $this->outletId,
|
||||
'orderid' => $this->orderid,
|
||||
'PaOutletId' => $this->queryData['PaOutletId'],
|
||||
'redemptionCode' => $this->redemptionCode,
|
||||
'productId' => $this->queryData['productId'],
|
||||
|
||||
@@ -18,6 +18,10 @@ class YsdGrant extends Init
|
||||
return '发券失败,没有找到这个活动。';
|
||||
}
|
||||
|
||||
if (!$activity->status) {
|
||||
return '发券失败,活动已经关闭。';
|
||||
}
|
||||
|
||||
$outlet = User::where('outlet_id', $this->outletId)->first();
|
||||
if (!$outlet) {
|
||||
return '发券失败,未查询到此网点信息。';
|
||||
|
||||
@@ -166,6 +166,7 @@ class YsdVerification extends Init
|
||||
'user_id' => $this->user->id,
|
||||
'type' => Coupon::TYPE_YSD,
|
||||
'outletId' => $this->outletId,
|
||||
'orderid' => $this->orderid,
|
||||
'PaOutletId' => '',
|
||||
'redemptionCode' => $this->redemptionCode,
|
||||
'thirdPartyGoodsId' => $this->query_coupon->activity->rule->code,
|
||||
@@ -179,6 +180,7 @@ class YsdVerification extends Init
|
||||
];
|
||||
|
||||
$this->coupon = Coupon::create($couponData);
|
||||
|
||||
DB::commit();
|
||||
|
||||
return $this->coupon;
|
||||
|
||||
@@ -107,13 +107,17 @@ class Coupon
|
||||
}
|
||||
|
||||
/**
|
||||
* Notes: 核销卡券
|
||||
* Notes: description
|
||||
* @Author: 玄尘
|
||||
* @Date : 2020/6/29 15:24
|
||||
* @param $user
|
||||
* @Date : 2020/8/21 13:33
|
||||
* @param \App\Models\User $user 渠道
|
||||
* @param string $redemptionCode 要核销的券码
|
||||
* @param float $total 订单金额
|
||||
* @param string $outletId 网点id
|
||||
* @param string $orderid 订单id
|
||||
* @return string
|
||||
*/
|
||||
public static function Redemption($user, $redemptionCode, $total, $outletId)
|
||||
public static function Redemption(User $user, string $redemptionCode, float $total, string $outletId, string $orderid = '')
|
||||
{
|
||||
|
||||
try {
|
||||
@@ -126,6 +130,7 @@ class Coupon
|
||||
->setCode($redemptionCode)
|
||||
->setTotal($total)
|
||||
->setOutletId($outletId)
|
||||
->setOrderId($orderid)
|
||||
->start();
|
||||
|
||||
} catch (\Exception $e) {
|
||||
|
||||
Reference in New Issue
Block a user