|
@@ -16,6 +16,7 @@ use app\model\SysDept;
|
|
|
use app\model\SysSerial;
|
|
|
use support\Db;
|
|
|
use support\exception\BusinessException;
|
|
|
+use support\Log;
|
|
|
use support\Request;
|
|
|
use support\Response;
|
|
|
use Tinywan\Jwt\JwtToken;
|
|
@@ -770,38 +771,39 @@ class CouponController extends Curd
|
|
|
*/
|
|
|
public function info(Request $request): Response
|
|
|
{
|
|
|
- $couponId = $request->get('coupon_id', '');
|
|
|
- if (!$couponId) {
|
|
|
- return json_fail('参数异常');
|
|
|
- }
|
|
|
- $coupon = Coupon::where('coupon_id', $couponId)->first();
|
|
|
- if (!$coupon) {
|
|
|
- return json_fail('数据异常');
|
|
|
- }
|
|
|
- // 拼选择的商品
|
|
|
- $couponGoods = CouponGoods::with([
|
|
|
- 'goods' => function ($query) {
|
|
|
- $query->select('goods_id', 'goods_id as id', 'goods_name as name', 'join_goods_category_id as pid', 'goods_classify', 'goods_sales_price', 'goods_cover');
|
|
|
- },
|
|
|
- 'skus',
|
|
|
- 'sku'
|
|
|
- ])->where('join_goods_coupon_id', $couponId)
|
|
|
- ->get()
|
|
|
- ->toArray();
|
|
|
- $goodsIds = [];
|
|
|
- $goodsContent = [];
|
|
|
- foreach ($couponGoods as $couponGood) {
|
|
|
- $goodsIds[] = $couponGood['join_coupon_goods_id'];
|
|
|
- $content = [
|
|
|
- 'goods_id' => $couponGood['join_coupon_goods_id'],
|
|
|
- 'sku_id' => $couponGood['join_coupon_goods_sku_id'],
|
|
|
- ];
|
|
|
- if (isset($couponGood['goods'])) {
|
|
|
- $content['goods_name'] = $couponGood['goods']['name'];
|
|
|
- $content['goods_classify'] = $couponGood['goods']['goods_classify'];
|
|
|
- $content['goods_cover'] = getenv('STORAGE_DOMAIN') . $couponGood['goods']['goods_cover'];
|
|
|
+ try {
|
|
|
+ $couponId = $request->get('coupon_id', '');
|
|
|
+ if (!$couponId) {
|
|
|
+ return json_fail('参数异常');
|
|
|
+ }
|
|
|
+ $coupon = Coupon::where('coupon_id', $couponId)->first();
|
|
|
+ if (!$coupon) {
|
|
|
+ return json_fail('数据异常');
|
|
|
}
|
|
|
- if (isset($couponGood['sku']) && isset($couponGood['sku']['goods_sku_specs_json'])) {
|
|
|
+ // 拼选择的商品
|
|
|
+ $couponGoods = CouponGoods::with([
|
|
|
+ 'goods' => function ($query) {
|
|
|
+ $query->select('goods_id', 'goods_id as id', 'goods_name as name', 'join_goods_category_id as pid', 'goods_classify', 'goods_sales_price', 'goods_cover');
|
|
|
+ },
|
|
|
+ 'skus',
|
|
|
+ 'sku'
|
|
|
+ ])->where('join_goods_coupon_id', $couponId)
|
|
|
+ ->get()
|
|
|
+ ->toArray();
|
|
|
+ $goodsIds = [];
|
|
|
+ $goodsContent = [];
|
|
|
+ foreach ($couponGoods as $couponGood) {
|
|
|
+ $goodsIds[] = $couponGood['join_coupon_goods_id'];
|
|
|
+ $content = [
|
|
|
+ 'goods_id' => $couponGood['join_coupon_goods_id'],
|
|
|
+ 'sku_id' => $couponGood['join_coupon_goods_sku_id'],
|
|
|
+ ];
|
|
|
+ if (isset($couponGood['goods'])) {
|
|
|
+ $content['goods_name'] = $couponGood['goods']['name'];
|
|
|
+ $content['goods_classify'] = $couponGood['goods']['goods_classify'];
|
|
|
+ $content['goods_cover'] = getenv('STORAGE_DOMAIN') . $couponGood['goods']['goods_cover'];
|
|
|
+ }
|
|
|
+ if (isset($couponGood['sku']) && isset($couponGood['sku']['goods_sku_specs_json'])) {
|
|
|
// $skuSpecsJson = json_decode($couponGood['sku']['goods_sku_specs_json'], true);
|
|
|
// $skuName = '';
|
|
|
// foreach ($skuSpecsJson as $item) {
|
|
@@ -811,78 +813,83 @@ class CouponController extends Curd
|
|
|
// $skuName .= $item . ',';
|
|
|
// }
|
|
|
// $content['sku_name'] = rtrim($skuName, ',');
|
|
|
- $content['goods_sales_price'] = $couponGood['sku']['goods_sku_sales_price'];
|
|
|
- }
|
|
|
- if (isset($couponGood['skus'])) {
|
|
|
- foreach ($couponGood['skus'] as $key => $skus) {
|
|
|
- if (!empty($skus['goods_sku_specs_json'])) {
|
|
|
- $skuSpecsJson = json_decode($skus['goods_sku_specs_json'], true);
|
|
|
- $skuName = '';
|
|
|
- foreach ($skuSpecsJson as $item) {
|
|
|
- if (is_array($item)) {
|
|
|
- $item = implode('', $item);
|
|
|
+ $content['goods_sales_price'] = $couponGood['sku']['goods_sku_sales_price'];
|
|
|
+ }
|
|
|
+ if (isset($couponGood['skus'])) {
|
|
|
+ foreach ($couponGood['skus'] as $key => $skus) {
|
|
|
+ if (!empty($skus['goods_sku_specs_json'])) {
|
|
|
+ $skuSpecsJson = json_decode($skus['goods_sku_specs_json'], true);
|
|
|
+ $skuName = '';
|
|
|
+ foreach ($skuSpecsJson as $item) {
|
|
|
+ if (is_array($item)) {
|
|
|
+ $item = implode('', $item);
|
|
|
+ }
|
|
|
+ $skuName .= $item . ',';
|
|
|
}
|
|
|
- $skuName .= $item . ',';
|
|
|
+ $couponGood['skus'][$key]['sku_name'] = rtrim($skuName, ',');
|
|
|
}
|
|
|
- $couponGood['skus'][$key]['sku_name'] = rtrim($skuName, ',');
|
|
|
}
|
|
|
+ $content['skus'] = $couponGood['skus'];
|
|
|
}
|
|
|
- $content['skus'] = $couponGood['skus'];
|
|
|
+ $goodsContent[] = $content;
|
|
|
}
|
|
|
- $goodsContent[] = $content;
|
|
|
- }
|
|
|
- // 选中的会员
|
|
|
- $memberLists = [];
|
|
|
- // 可用门店
|
|
|
- $premises = [];
|
|
|
- if (!empty($coupon->coupon_json)) {
|
|
|
- $couponJson = json_decode($coupon->coupon_json, true);
|
|
|
- if (isset($couponJson['member']) && isset($couponJson['member']['list']) && !empty($couponJson['member']['list'])) {
|
|
|
- $res = Db::table('member')
|
|
|
- ->leftjoin('member_cert', 'member.member_id', '=', 'member_cert.join_cert_member_id')
|
|
|
- ->leftjoin('member_info', 'member.member_id', '=', 'member_info.join_info_member_id')
|
|
|
- ->select('member.member_id', 'member.member_mobile', 'member_cert.member_cert_name', 'member_info.member_info_nickname')
|
|
|
- ->where('member_status', 'ACTIVED')
|
|
|
- ->whereIn('member_id', $couponJson['member']['list'])
|
|
|
- ->get();
|
|
|
- $memberLists = [];
|
|
|
- foreach ($res as $item) {
|
|
|
- $name = '';
|
|
|
- if (!empty($item->member_cert_name)) {
|
|
|
- $name = $item->member_cert_name;
|
|
|
- } else if (!empty($item->member_info_nickname)) {
|
|
|
- $name = $item->member_info_nickname;
|
|
|
- }
|
|
|
- $value = !empty($name) ? $name . '-' : '';
|
|
|
- if ($item->member_mobile != '0000') {
|
|
|
- $value .= $item->member_mobile;
|
|
|
- }
|
|
|
- if (empty($value)) {
|
|
|
- $value = $item->member_mobile;
|
|
|
+ // 选中的会员
|
|
|
+ $memberLists = [];
|
|
|
+ // 可用门店
|
|
|
+ $premises = [];
|
|
|
+ if (!empty($coupon->coupon_json)) {
|
|
|
+ $couponJson = json_decode($coupon->coupon_json, true);
|
|
|
+ if (isset($couponJson['member']) && isset($couponJson['member']['list']) && !empty($couponJson['member']['list'])) {
|
|
|
+ $res = Db::table('member')
|
|
|
+ ->leftjoin('member_cert', 'member.member_id', '=', 'member_cert.join_cert_member_id')
|
|
|
+ ->leftjoin('member_info', 'member.member_id', '=', 'member_info.join_info_member_id')
|
|
|
+ ->select('member.member_id', 'member.member_mobile', 'member_cert.member_cert_name', 'member_info.member_info_nickname')
|
|
|
+ ->where('member_status', 'ACTIVED')
|
|
|
+ ->whereIn('member_id', $couponJson['member']['list'])
|
|
|
+ ->get();
|
|
|
+ $memberLists = [];
|
|
|
+ foreach ($res as $item) {
|
|
|
+ $name = '';
|
|
|
+ if (!empty($item->member_cert_name)) {
|
|
|
+ $name = $item->member_cert_name;
|
|
|
+ } else if (!empty($item->member_info_nickname)) {
|
|
|
+ $name = $item->member_info_nickname;
|
|
|
+ }
|
|
|
+ $value = !empty($name) ? $name . '-' : '';
|
|
|
+ if ($item->member_mobile != '0000') {
|
|
|
+ $value .= $item->member_mobile;
|
|
|
+ }
|
|
|
+ if (empty($value)) {
|
|
|
+ $value = $item->member_mobile;
|
|
|
+ }
|
|
|
+ $value = rtrim($value, '-');
|
|
|
+ $memberLists[] = [
|
|
|
+ 'key' => $item->member_id,
|
|
|
+ 'value' => $value,
|
|
|
+ ];
|
|
|
}
|
|
|
- $value = rtrim($value, '-');
|
|
|
- $memberLists[] = [
|
|
|
- 'key' => $item->member_id,
|
|
|
- 'value' => $value,
|
|
|
- ];
|
|
|
+ }
|
|
|
+ if (isset($couponJson['premises']) && !empty($couponJson['premises'])) {
|
|
|
+ $premises = SysDept::whereIn('dept_id', $couponJson['premises'])
|
|
|
+ ->select('dept_id', 'dept_name')
|
|
|
+ ->get()
|
|
|
+ ->toArray();
|
|
|
}
|
|
|
}
|
|
|
- if (isset($couponJson['premises']) && !empty($couponJson['premises'])) {
|
|
|
- $premises = SysDept::whereIn('dept_id', $couponJson['premises'])
|
|
|
- ->select('dept_id', 'dept_name')
|
|
|
- ->get()
|
|
|
- ->toArray();
|
|
|
- }
|
|
|
- }
|
|
|
|
|
|
- $data = [
|
|
|
- 'goods_ids' => $goodsIds,
|
|
|
- 'goods_content' => $goodsContent,
|
|
|
- 'member_lists' => $memberLists,
|
|
|
- 'premises_list' => $premises
|
|
|
- ];
|
|
|
+ $data = [
|
|
|
+ 'goods_ids' => $goodsIds,
|
|
|
+ 'goods_content' => $goodsContent,
|
|
|
+ 'member_lists' => $memberLists,
|
|
|
+ 'premises_list' => $premises
|
|
|
+ ];
|
|
|
+
|
|
|
+ return json_success('', $data);
|
|
|
|
|
|
- return json_success('', $data);
|
|
|
+ } catch (\Exception $e) {
|
|
|
+ return json_fail('查询失败');
|
|
|
+ Log::error("查询优惠券详情失败", ['msg' => $e->getMessage()]);
|
|
|
+ }
|
|
|
}
|
|
|
|
|
|
/**
|