main
1748153932 12 months ago
parent 11802839fc
commit 41ea0c597e
  1. 7
      app/command/brand.php
  2. 2
      app/common/repositories/store/order/PresellOrderRepository.php
  3. 4
      app/common/repositories/store/order/StoreOrderCreateRepository.php
  4. 23
      app/common/repositories/store/order/StoreOrderRepository.php
  5. 7
      app/controller/api/store/order/StoreOrder.php
  6. 45
      app/controller/api/user/User.php

@ -96,7 +96,12 @@ class brand extends Command
$all_value = $brandGongxian+$v['all_value']; $all_value = $brandGongxian+$v['all_value'];
//贡献值自动转换为超级积分 暂定1:1 //贡献值自动转换为超级积分 暂定1:1
$superBrand = $all_value; $superBrand = $all_value;
//超级积分自动转换为增值积分 按照每天的比例 //超级积分自动转换为增值积分 按照每天的比例 这个是重点
$brandAdd = $superBrand; $brandAdd = $superBrand;
$user = userModel::getDB()->where('uid', $v['uid'])->find(); $user = userModel::getDB()->where('uid', $v['uid'])->find();

@ -110,7 +110,7 @@ class PresellOrderRepository extends BaseRepository
]); ]);
$this->paySuccess($order); $this->paySuccess($order);
}); });
return app('json')->status('success', '余额支付成功', ['order_id' => $order['presell_order_id']]); return app('json')->status('success', '支付成功', ['order_id' => $order['presell_order_id']]);
} }
public function paySuccess(PresellOrder $order, $is_combine = 0, array $subOrders = []) public function paySuccess(PresellOrder $order, $is_combine = 0, array $subOrders = [])

@ -899,7 +899,7 @@ class StoreOrderCreateRepository extends StoreOrderRepository
) + ['allow_address' => !$allow_no_address, 'order_delivery_status' => $orderDeliveryStatus]; ) + ['allow_address' => !$allow_no_address, 'order_delivery_status' => $orderDeliveryStatus];
} }
public function v2CreateOrder(int $pay_type, $user, array $cartId, array $extend, array $mark, array $receipt_data, array $takes = null, array $useCoupon = null, bool $useIntegral = false, int $addressId = null, array $post) public function v2CreateOrder(int $pay_type, $user, array $cartId, array $extend, array $mark, array $receipt_data, array $takes = null, array $useCoupon = null, bool $useIntegral = false, int $addressId = null, array $post, $pay_image = '', $pay_type_2 = '')
{ {
$uid = $user->uid; $uid = $user->uid;
$orderInfo = $this->v2CartIdByOrderInfo($user, $cartId, $takes, $useCoupon, $useIntegral, $addressId, true); $orderInfo = $this->v2CartIdByOrderInfo($user, $cartId, $takes, $useCoupon, $useIntegral, $addressId, true);
@ -1094,6 +1094,8 @@ class StoreOrderCreateRepository extends StoreOrderRepository
'platform_coupon_price' => $merchantCart['order']['platform_coupon_price'], 'platform_coupon_price' => $merchantCart['order']['platform_coupon_price'],
'pay_type' => $pay_type, 'pay_type' => $pay_type,
'user_address_id' => $user_address['address_id'] ?? 0, 'user_address_id' => $user_address['address_id'] ?? 0,
'pay_image' => $pay_image ?? '',
'pay_type_2' => $pay_type_2 ?? ''
]; ];
$allUseCoupon = array_merge($allUseCoupon, $merchantCart['order']['useCouponIds']); $allUseCoupon = array_merge($allUseCoupon, $merchantCart['order']['useCouponIds']);
$orderList[] = $_order; $orderList[] = $_order;

@ -80,7 +80,7 @@ class StoreOrderRepository extends BaseRepository
const TYPE_SN_PRESELL = 'wxp'; const TYPE_SN_PRESELL = 'wxp';
const TYPE_SN_USER_ORDER = 'wxs'; const TYPE_SN_USER_ORDER = 'wxs';
const TYPE_SN_USER_RECHARGE = 'wxu'; const TYPE_SN_USER_RECHARGE = 'wxu';
public $pay_type_2;
const TYPE_SN_REFUND = 'rwx'; const TYPE_SN_REFUND = 'rwx';
/** /**
@ -101,11 +101,11 @@ class StoreOrderRepository extends BaseRepository
* @author xaboy * @author xaboy
* @day 2020/10/22 * @day 2020/10/22
*/ */
public function pay(string $type, User $user, StoreGroupOrder $groupOrder, $return_url = '', $isApp = false) public function pay(string $type, User $user, StoreGroupOrder $groupOrder, $return_url = '', $isApp = false, $pay_type_2 = '')
{ {
if ($type === 'balance') { if ($type === 'balance') {
return $this->payBalance($user, $groupOrder); return $this->payBalance($user, $groupOrder, $pay_type_2);
} }
if (in_array($type, ['weixin', 'alipay'], true) && $isApp) { if (in_array($type, ['weixin', 'alipay'], true) && $isApp) {
@ -128,27 +128,34 @@ class StoreOrderRepository extends BaseRepository
* @author xaboy * @author xaboy
* @day 2020/6/9 * @day 2020/6/9
*/ */
public function payBalance(User $user, StoreGroupOrder $groupOrder) public function payBalance(User $user, StoreGroupOrder $groupOrder, $pay_type_2 = '')
{ {
$this->pay_type_2 = $pay_type_2;
if (!systemConfig('yue_pay_status')) if (!systemConfig('yue_pay_status'))
throw new ValidateException('未开启余额支付'); throw new ValidateException('未开启余额支付');
if ($user['now_money'] < $groupOrder['pay_price']) if ($user['now_money'] < $groupOrder['pay_price'] && $pay_type_2 != 1)
throw new ValidateException('余额不足,请更换支付方式'); throw new ValidateException('余额不足,请更换支付方式');
Db::transaction(function () use ($user, $groupOrder) { Db::transaction(function () use ($user, $groupOrder) {
$user->now_money = bcsub($user->now_money, $groupOrder['pay_price'], 2); $user->now_money = bcsub($user->now_money, $groupOrder['pay_price'], 2);
$user->save(); $user->save();
$userBillRepository = app()->make(UserBillRepository::class); $userBillRepository = app()->make(UserBillRepository::class);
$memo = '余额支付支付' . floatval($groupOrder['pay_price']) . '元购买商品';
if ($this->pay_type_2 == 1) {
$memo = '线下支付' . floatval($groupOrder['pay_price']) . '元购买商品';
}
$userBillRepository->decBill($user['uid'], 'now_money', 'pay_product', [ $userBillRepository->decBill($user['uid'], 'now_money', 'pay_product', [
'link_id' => $groupOrder['group_order_id'], 'link_id' => $groupOrder['group_order_id'],
'status' => 1, 'status' => 1,
'title' => '购买商品', 'title' => '购买商品',
'number' => $groupOrder['pay_price'], 'number' => $groupOrder['pay_price'],
'mark' => '余额支付支付' . floatval($groupOrder['pay_price']) . '元购买商品', 'mark' => $memo,
'balance' => $user->now_money 'balance' => $user->now_money
]); ]);
$this->paySuccess($groupOrder); $this->paySuccess($groupOrder);
}); });
return app('json')->status('success', '余额支付成功', ['order_id' => $groupOrder['group_order_id']]); return app('json')->status('success', '支付成功', ['order_id' => $groupOrder['group_order_id']]);
} }
public function changePayType(StoreGroupOrder $groupOrder, int $pay_type) public function changePayType(StoreGroupOrder $groupOrder, int $pay_type)
@ -193,6 +200,8 @@ class StoreOrderRepository extends BaseRepository
$groupOrder->paid = 1; $groupOrder->paid = 1;
$groupOrder->pay_time = $time; $groupOrder->pay_time = $time;
$groupOrder->is_combine = $is_combine; $groupOrder->is_combine = $is_combine;
$orderStatus = []; $orderStatus = [];
$groupOrder->append(['orderList.orderProduct']); $groupOrder->append(['orderList.orderProduct']);
$flag = true; $flag = true;

@ -71,7 +71,6 @@ class StoreOrder extends BaseController
public function v2CreateOrder(StoreCartRepository $cartRepository, StoreOrderCreateRepository $orderCreateRepository) public function v2CreateOrder(StoreCartRepository $cartRepository, StoreOrderCreateRepository $orderCreateRepository)
{ {
//是线下还是线上 //是线下还是线上
$cartId = (array)$this->request->param('cart_id', []); $cartId = (array)$this->request->param('cart_id', []);
$addressId = (int)$this->request->param('address_id'); $addressId = (int)$this->request->param('address_id');
$couponIds = (array)$this->request->param('use_coupon', []); $couponIds = (array)$this->request->param('use_coupon', []);
@ -104,7 +103,8 @@ class StoreOrder extends BaseController
// return app('json')->fail('请选择地址'); // return app('json')->fail('请选择地址');
$groupOrder = app()->make(LockService::class)->exec('order.create', function () use ($orderCreateRepository, $receipt_data, $mark, $extend, $cartId, $payType, $takes, $couponIds, $useIntegral, $addressId, $post) { $groupOrder = app()->make(LockService::class)->exec('order.create', function () use ($orderCreateRepository, $receipt_data, $mark, $extend, $cartId, $payType, $takes, $couponIds, $useIntegral, $addressId, $post) {
return $orderCreateRepository->v2CreateOrder(array_search($payType, StoreOrderRepository::PAY_TYPE), $this->request->userInfo(), $cartId, $extend, $mark, $receipt_data, $takes, $couponIds, $useIntegral, $addressId, $post); return $orderCreateRepository->v2CreateOrder(array_search($payType, StoreOrderRepository::PAY_TYPE), $this->request->userInfo(), $cartId, $extend,
$mark, $receipt_data, $takes, $couponIds, $useIntegral, $addressId, $post,$this->request->param('pay_image'),$this->request->param('pay_type_2'));
}); });
if ($groupOrder['pay_price'] == 0) { if ($groupOrder['pay_price'] == 0) {
@ -115,7 +115,8 @@ class StoreOrder extends BaseController
return app('json')->success(['order_id' => $groupOrder->group_order_id]); return app('json')->success(['order_id' => $groupOrder->group_order_id]);
} }
try { try {
return $this->repository->pay($payType, $this->request->userInfo(), $groupOrder, $this->request->param('return_url'), $this->request->isApp());
return $this->repository->pay($payType, $this->request->userInfo(), $groupOrder, $this->request->param('return_url'), $this->request->isApp(),$this->request->param('pay_type_2'));
} catch (\Exception $e) { } catch (\Exception $e) {
return app('json')->status('error', $e->getMessage(), ['order_id' => $groupOrder->group_order_id]); return app('json')->status('error', $e->getMessage(), ['order_id' => $groupOrder->group_order_id]);
} }

@ -413,7 +413,7 @@ class User extends BaseController
'image' => $this->request->param('image'), 'image' => $this->request->param('image'),
'price' => $price, 'price' => $price,
'ctime' => date('Y-m-d H:i:s'), 'ctime' => date('Y-m-d H:i:s'),
'memo' => '发起提现申请' .$price.'贡献值', 'memo' => '发起提现申请' . $price . '贡献值',
'user_id' => $this->user->uid, 'user_id' => $this->user->uid,
]); ]);
@ -434,18 +434,43 @@ class User extends BaseController
//获取提现记录 //获取提现记录
public function getAreaList() public function getAreaList()
{ {
$type = ','.$this->request->param('type').','; $type = ',' . $this->request->param('type') . ',';
$product_list = Product::getDB()->alias('a') $info = Product::getDB()->alias('a')
->leftJoin('StoreSpu b', 'a.product_id = b.product_id') ->leftJoin('StoreSpu b', 'a.product_id = b.product_id')
->field('a.*,b.mer_labels') ->field('a.*,b.mer_labels')
->where('b.is_del',0) ->where('b.is_del', 0)
->where('a.is_del',0) ->where('a.is_del', 0)
->where('a.is_show',1) ->where('a.is_show', 1)
->where('a.status',1) ->where('a.status', 1)
->where('a.is_used',1) ->where('a.is_used', 1)
->where('b.mer_labels',$type) ->where('b.mer_labels', $type);
->page((int)$this->request->param('page'), $this->request->param('limit'))->select()->toArray();
if(!empty($this->request->param('priceSort'))){
if($this->request->param('priceSort') == 1){
$info->order('a.price asc');
}
if($this->request->param('priceSort') == 2){
$info->order('a.price desc');
}
}
if(!empty($this->request->param('timeSort'))){
if($this->request->param('timeSort') == 1){
$info->order('a.create_time asc');
}
if($this->request->param('timeSort') == 2){
$info->order('a.create_time desc');
}
}
if(!empty($this->request->param('keyword'))){
$info->whereLike('a.store_name', "%{$this->request->param('keyword')}%");
}
$product_list = $info->page((int)$this->request->param('page'), $this->request->param('limit'))->select()->toArray();
return app('json')->success($product_list); return app('json')->success($product_list);

Loading…
Cancel
Save