|
@@ -4,6 +4,7 @@ namespace app\admin\controller\coupon;
|
|
|
|
|
|
use app\admin\service\member\MemberService;
|
|
|
use app\controller\Curd;
|
|
|
+use app\model\Coupon;
|
|
|
use app\model\CouponDetail;
|
|
|
use support\Request;
|
|
|
use support\Response;
|
|
@@ -18,9 +19,23 @@ class CouponDetailController extends Curd
|
|
|
public function select(Request $request): Response
|
|
|
{
|
|
|
[$where, $format, $limit, $field, $order] = $this->selectInput($request);
|
|
|
- $where['join_coupon_detail_member_id'] = ['<>', ''];
|
|
|
+// $where['join_coupon_detail_member_id'] = ['<>', ''];
|
|
|
$order = $request->get('order', 'desc');
|
|
|
$field = $field ?? 'coupon_detail_addtimes';
|
|
|
+
|
|
|
+ $couponName = $request->get('coupon_name','');
|
|
|
+ if (!empty($couponName)){
|
|
|
+ $couponIds = Coupon::where('coupon_name','like','%'.$couponName.'%')->pluck('coupon_id')->toArray();
|
|
|
+ $where['join_detail_coupon_id'] = ['in',$couponIds];
|
|
|
+ }
|
|
|
+ $addTimes = $request->get('coupon_detail_addtimes',[]);
|
|
|
+ if (!empty($addTimes)){
|
|
|
+ $addTimes[0] = isset($addTimes[0]) ? strtotime($addTimes[0]) : time();
|
|
|
+ $addTimes[1] = isset($addTimes[1]) ? strtotime($addTimes[1]) : time();
|
|
|
+
|
|
|
+ $where['coupon_detail_addtimes'] = $addTimes;
|
|
|
+ }
|
|
|
+
|
|
|
$query = $this->doSelect($where, $field, $order);
|
|
|
return $this->doFormat($query, $format, $limit);
|
|
|
}
|
|
@@ -29,7 +44,7 @@ class CouponDetailController extends Curd
|
|
|
{
|
|
|
$model = $this->model->with([
|
|
|
'detail' => function ($query) {
|
|
|
- $query->select('join_detail_coupon_id', 'coupon_detail_status','coupon_detail_gain_datetime','coupon_detail_used_datetime','coupon_detail_remark');
|
|
|
+ $query->select('join_detail_coupon_id', 'coupon_detail_status', 'coupon_detail_gain_datetime', 'coupon_detail_used_datetime', 'coupon_detail_remark');
|
|
|
},
|
|
|
'coupon',
|
|
|
'member' => function ($query) {
|
|
@@ -96,7 +111,7 @@ class CouponDetailController extends Curd
|
|
|
|
|
|
$item['member_used'] = 0;
|
|
|
foreach ($item['detail'] as $detail) {
|
|
|
- if ($detail['coupon_detail_status'] == 'USED'){
|
|
|
+ if ($detail['coupon_detail_status'] == 'USED') {
|
|
|
$item['member_used'] += 1;
|
|
|
}
|
|
|
}
|
|
@@ -105,7 +120,34 @@ class CouponDetailController extends Curd
|
|
|
return $items;
|
|
|
}
|
|
|
|
|
|
- public function updateStatus(){
|
|
|
+ /**
|
|
|
+ * @Desc 修改状态
|
|
|
+ * @Author Gorden
|
|
|
+ * @Date 2024/8/22 8:44
|
|
|
+ *
|
|
|
+ * @param Request $request
|
|
|
+ * @return Response
|
|
|
+ */
|
|
|
+ public function updateStatus(Request $request)
|
|
|
+ {
|
|
|
+ $detailId = $request->post('coupon_detail_id','');
|
|
|
+ $status = $request->post('status','');
|
|
|
|
|
|
+ $detail = CouponDetail::where('coupon_detail_id',$detailId)->first();
|
|
|
+ if (!$detail){
|
|
|
+ return json_fail('数据不存在');
|
|
|
+ }
|
|
|
+ //状态 INIT|PENDING=等待领取|ACTIVED=可用|WAITING=已占用(待完成)|USED=已使用|DISABLED|CANCEL|EXPIRED
|
|
|
+ if (!in_array($status,['INIT','PENDING','ACTIVED','WAITING','USED','DISABLED','CANCEL','EXPIRED'])){
|
|
|
+ return json_fail("状态异常");
|
|
|
+ }
|
|
|
+ try {
|
|
|
+ CouponDetail::where('coupon_detail_id',$detailId)->update(['coupon_detail_status'=>$status]);
|
|
|
+
|
|
|
+ return json_success('success');
|
|
|
+ }catch (\Exception $e){
|
|
|
+ dump($e->getMessage());
|
|
|
+ return json_fail('数据修改失败');
|
|
|
+ }
|
|
|
}
|
|
|
}
|