|
@@ -2,6 +2,7 @@
|
|
|
|
|
|
namespace app\admin\controller\coupon;
|
|
|
|
|
|
+use app\admin\service\coupon\CouponDetailService;
|
|
|
use app\admin\validate\coupon\CouponValidate;
|
|
|
use app\admin\validate\device\DeviceValidate;
|
|
|
use app\controller\Curd;
|
|
@@ -157,7 +158,7 @@ class CouponController extends Curd
|
|
|
{
|
|
|
$coupons = Coupon::where('coupon_status', 'ACTIVED')
|
|
|
->select('coupon_id', 'coupon_name')
|
|
|
- ->orderBy('coupon_addtimes','DESC')
|
|
|
+ ->orderBy('coupon_addtimes', 'DESC')
|
|
|
->get()
|
|
|
->toArray();
|
|
|
|
|
@@ -276,7 +277,7 @@ class CouponController extends Curd
|
|
|
}
|
|
|
} else if ($params['coupon_use_member'] == 'all') {
|
|
|
$couponJson['member']['list'] = [];
|
|
|
- $couponJson['member']['range'] = '全部员工';
|
|
|
+ $couponJson['member']['range'] = '全部会员';
|
|
|
$couponJson['member']['where'] = '';
|
|
|
}
|
|
|
|
|
@@ -292,6 +293,64 @@ class CouponController extends Curd
|
|
|
return $data;
|
|
|
}
|
|
|
|
|
|
+ public function customSend(Request $request)
|
|
|
+ {
|
|
|
+ $chooseCoupons = $request->post('chooseCoupons', []);
|
|
|
+ $couponUseMember = $request->post('coupon_use_member', '');
|
|
|
+ $memberList = $request->post('member_list', []);
|
|
|
+ $condition = $request->post('condition', '');
|
|
|
+ if ($couponUseMember == 'condition') {
|
|
|
+ if ($condition == 'is_employ') {
|
|
|
+ $memberList = Member::where('member_classify', 'EMPLOY')->pluck('member_id')->toArray();
|
|
|
+ } elseif ($condition == 'is_member') {
|
|
|
+ $memberList = Member::where('member_classify', 'MEMBER')->pluck('member_id')->toArray();
|
|
|
+ } elseif ($condition == 'is_vip') {
|
|
|
+ $memberList = Member::where('member_is_vip', 'Y')->pluck('member_id')->toArray();
|
|
|
+ }
|
|
|
+ }
|
|
|
+
|
|
|
+ Db::beginTransaction();
|
|
|
+ try {
|
|
|
+ $couponIds = array_column($chooseCoupons, 'id');
|
|
|
+ $coupons = Coupon::whereIn('coupon_id', $couponIds)->get()->toArray();
|
|
|
+ foreach ($coupons as $coupon) {
|
|
|
+ foreach ($chooseCoupons as $chooseCoupon) {
|
|
|
+ if ($chooseCoupon['id'] == $coupon['coupon_id']) {
|
|
|
+ if (empty($chooseCoupon['gain_datetime'])) {
|
|
|
+ $chooseCoupon['gain_datetime'] = date('Y-m-d H:i:s');
|
|
|
+ }
|
|
|
+ $params['coupon_id'] = $coupon['coupon_id'];
|
|
|
+ $params['coupon_detail_gain_datetime'] = date('Y-m-d H:i:s', strtotime($chooseCoupon['gain_datetime']));
|
|
|
+ if (($coupon['coupon_validdate_day'] == 0 || $coupon['coupon_validdate_day'] == '') && !empty($coupon['coupon_validdate_end'])) {
|
|
|
+ $params['coupon_detail_deadline_datetime'] = $coupon['coupon_validdate_end'];
|
|
|
+ } elseif ($coupon['coupon_validdate_day'] > 0) {
|
|
|
+ $endUnix = strtotime($chooseCoupon['gain_datetime']);
|
|
|
+ $params['coupon_detail_deadline_datetime'] = date('Y-m-d H:i:s', $endUnix + ($coupon['coupon_validdate_day'] * 24 * 3600));
|
|
|
+ }
|
|
|
+ foreach ($memberList as $item) {
|
|
|
+ $params['member_id'] = $item;
|
|
|
+ if ($chooseCoupon['nbr'] > 0) {
|
|
|
+ for ($i = 0; $i < $chooseCoupon['nbr']; $i++) {
|
|
|
+ CouponDetailService::customSendCoupon($params);
|
|
|
+ }
|
|
|
+ }
|
|
|
+ }
|
|
|
+ }
|
|
|
+ }
|
|
|
+ }
|
|
|
+
|
|
|
+ Db::commit();
|
|
|
+ return json_success("发放成功");
|
|
|
+ } catch (BusinessException $e) {
|
|
|
+ return json_fail($e->getMessage());
|
|
|
+ } catch (\Exception $e) {
|
|
|
+ Db::rollBack();
|
|
|
+ return json_fail('优惠券发放失败');
|
|
|
+
|
|
|
+ }
|
|
|
+
|
|
|
+ }
|
|
|
+
|
|
|
/**
|
|
|
* @Desc 修改优惠券
|
|
|
* @Author Gorden
|
|
@@ -490,7 +549,7 @@ class CouponController extends Curd
|
|
|
// }
|
|
|
} else if ($params['coupon_use_member'] == 'all') {
|
|
|
$couponJson['member']['list'] = [];
|
|
|
- $couponJson['member']['range'] = '全部员工';
|
|
|
+ $couponJson['member']['range'] = '全部会员';
|
|
|
$couponJson['member']['where'] = '';
|
|
|
|
|
|
if (isset($couponJson['member']['list'])) {
|