修改:兑换商品补齐差价支持在线支付
This commit is contained in:
parent
78a995c467
commit
309fdd9757
|
|
@ -50,7 +50,7 @@ class StoreGroupOrderDao extends BaseDao
|
||||||
$query = StoreGroupOrder::getDB()->when(isset($where['paid']) && $where['paid'] !== '', function ($query) use ($where) {
|
$query = StoreGroupOrder::getDB()->when(isset($where['paid']) && $where['paid'] !== '', function ($query) use ($where) {
|
||||||
$query->where('paid', $where['paid']);
|
$query->where('paid', $where['paid']);
|
||||||
})
|
})
|
||||||
->where('activity_type', '<>',30)
|
->whereNotIn('activity_type', [30,31])
|
||||||
->when(isset($where['paid']) && $where['paid'] !== '', function ($query) use ($where) {
|
->when(isset($where['paid']) && $where['paid'] !== '', function ($query) use ($where) {
|
||||||
$query->where('paid', $where['paid']);
|
$query->where('paid', $where['paid']);
|
||||||
})
|
})
|
||||||
|
|
|
||||||
|
|
@ -2808,7 +2808,7 @@ class StoreOrderCreateRepository extends StoreOrderRepository{
|
||||||
}*/
|
}*/
|
||||||
|
|
||||||
|
|
||||||
/****** 在线买单 ************************************/
|
// 在线买单 - 订单
|
||||||
public function onlinePayment($payType, $payInfo, $user){
|
public function onlinePayment($payType, $payInfo, $user){
|
||||||
$payMoney = abs((float)$payInfo['money']);
|
$payMoney = abs((float)$payInfo['money']);
|
||||||
$merId = (int)$payInfo['mer_id'];
|
$merId = (int)$payInfo['mer_id'];
|
||||||
|
|
@ -2912,7 +2912,110 @@ class StoreOrderCreateRepository extends StoreOrderRepository{
|
||||||
|
|
||||||
return $group;
|
return $group;
|
||||||
}
|
}
|
||||||
|
// 商品兑换 - 订单
|
||||||
|
public function exchangeGoods($payType, $payInfo, $user){
|
||||||
|
$payMoney = abs((float)$payInfo['money']);
|
||||||
|
$uid = $user->uid;
|
||||||
|
// 是否自购
|
||||||
|
$isSelfBuy = $user->is_promoter && systemConfig('extension_self') ? 1 : 0;
|
||||||
|
if($isSelfBuy){
|
||||||
|
$spreadUser = $user;
|
||||||
|
$topUser = $user->valid_spread;
|
||||||
|
}else{
|
||||||
|
$spreadUser = $user->valid_spread;
|
||||||
|
$topUser = $user->valid_top;
|
||||||
|
}
|
||||||
|
// 整理订单数据
|
||||||
|
$orderList[] = [
|
||||||
|
'cartInfo' => [],
|
||||||
|
'activity_type' => 31,// 31=兑换商品差价订单
|
||||||
|
'commission_rate' => 0,
|
||||||
|
'order_type' => 0,
|
||||||
|
'is_virtual' => 1,
|
||||||
|
'extension_one' => 0,
|
||||||
|
'extension_two' => 0,
|
||||||
|
'order_sn' => $this->getNewOrderId(StoreOrderRepository::TYPE_SN_ORDER).(0 + 1),
|
||||||
|
'uid' => $uid,
|
||||||
|
'spread_uid' => $spreadUser->uid ?? 0,
|
||||||
|
'top_uid' => $topUser->uid ?? 0,
|
||||||
|
'is_selfbuy' => $isSelfBuy,
|
||||||
|
'real_name' => $user->real_name ?? '',
|
||||||
|
'user_phone' => $user->phone ?? '',
|
||||||
|
'user_address' => $user->addres ?? '',
|
||||||
|
'cart_id' => '',
|
||||||
|
'total_num' => 1,
|
||||||
|
'total_price' => $payMoney,
|
||||||
|
'total_postage' => 0,
|
||||||
|
'pay_postage' => 0,
|
||||||
|
'svip_discount' => 0,
|
||||||
|
'pay_price' => $payMoney,
|
||||||
|
'integral' => 0,
|
||||||
|
'integral_price' => 0,
|
||||||
|
'give_integral' => 0,
|
||||||
|
'mer_id' => 0,
|
||||||
|
'cost' => 0,
|
||||||
|
'order_extend' => '',
|
||||||
|
'coupon_id' => '',
|
||||||
|
'mark' => '',
|
||||||
|
'coupon_price' => '',
|
||||||
|
'platform_coupon_price' => '',
|
||||||
|
'pay_type' => $payType,
|
||||||
|
'refund_switch' => 0,
|
||||||
|
'pickup_record_id' => $payInfo['pickup_record_id']
|
||||||
|
];
|
||||||
|
$groupOrder = [
|
||||||
|
'uid' => $uid,
|
||||||
|
'group_order_sn' => count($orderList) === 1 ? $orderList[0]['order_sn'] : ($this->getNewOrderId(StoreOrderRepository::TYPE_SN_ORDER).'0'),
|
||||||
|
'total_postage' => 0,
|
||||||
|
'total_price' => $payMoney,
|
||||||
|
'total_num' => 1,
|
||||||
|
'real_name' => $user->real_name ?? '',
|
||||||
|
'user_phone' => $user->phone ?? '',
|
||||||
|
'user_address' => $user->addres ?? '',
|
||||||
|
'pay_price' => $payMoney,
|
||||||
|
'coupon_price' => 0,
|
||||||
|
'pay_postage' => 0,
|
||||||
|
'cost' => 0,
|
||||||
|
'coupon_id' => '',
|
||||||
|
'pay_type' => $payType,
|
||||||
|
'give_coupon_ids' => '',
|
||||||
|
'integral' => 0,
|
||||||
|
'integral_price' => 0,
|
||||||
|
'give_integral' => 0,
|
||||||
|
'activity_type' => 31,// 31=兑换商品差价订单
|
||||||
|
];
|
||||||
|
$group = Db::transaction(function() use ($user,$groupOrder,$orderList){
|
||||||
|
$storeGroupOrderRepository = app()->make(StoreGroupOrderRepository::class);
|
||||||
|
$storeOrderStatusRepository = app()->make(StoreOrderStatusRepository::class);
|
||||||
|
//创建订单
|
||||||
|
$groupOrder = $storeGroupOrderRepository->create($groupOrder);
|
||||||
|
foreach($orderList as $k => $order){
|
||||||
|
$orderList[$k]['group_order_id'] = $groupOrder->group_order_id;
|
||||||
|
}
|
||||||
|
$orderStatus = [];
|
||||||
|
foreach($orderList as $order){
|
||||||
|
$cartInfo = $order['cartInfo'];
|
||||||
|
unset($order['cartInfo']);
|
||||||
|
//创建子订单
|
||||||
|
$_order = $this->dao->create($order);
|
||||||
|
$orderStatus[] = [
|
||||||
|
'order_id' => $_order->order_id,
|
||||||
|
'order_sn' => $_order->order_sn,
|
||||||
|
'type' => $storeOrderStatusRepository::TYPE_ORDER,
|
||||||
|
'change_message' => '订单生成',
|
||||||
|
'change_type' => $storeOrderStatusRepository::ORDER_STATUS_CREATE,
|
||||||
|
'uid' => $user->uid,
|
||||||
|
'nickname' => $user->nickname,
|
||||||
|
'user_type' => $storeOrderStatusRepository::U_TYPE_USER,
|
||||||
|
];
|
||||||
|
}
|
||||||
|
$storeOrderStatusRepository->batchCreateLog($orderStatus);
|
||||||
|
|
||||||
|
return $groupOrder;
|
||||||
|
});
|
||||||
|
|
||||||
|
return $group;
|
||||||
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -147,7 +147,11 @@ class StoreOrderRepository extends BaseRepository
|
||||||
if($groupOrder['activity_type'] == 30){
|
if($groupOrder['activity_type'] == 30){
|
||||||
$data['title'] = '在线买单';
|
$data['title'] = '在线买单';
|
||||||
$data['mark'] = '余额支付' . floatval($groupOrder['pay_price']) . '元';
|
$data['mark'] = '余额支付' . floatval($groupOrder['pay_price']) . '元';
|
||||||
|
}else if($groupOrder['activity_type'] == 31){
|
||||||
|
$data['title'] = '酒道馆差价补齐';
|
||||||
|
$data['mark'] = '余额支付' . floatval($groupOrder['pay_price']) . '元';
|
||||||
}
|
}
|
||||||
|
|
||||||
$userBillRepository->decBill($user['uid'], 'now_money', 'pay_product', $data);
|
$userBillRepository->decBill($user['uid'], 'now_money', 'pay_product', $data);
|
||||||
$this->paySuccess($groupOrder);
|
$this->paySuccess($groupOrder);
|
||||||
});
|
});
|
||||||
|
|
@ -248,15 +252,15 @@ class StoreOrderRepository extends BaseRepository
|
||||||
app()->make(ProductAssistSetRepository::class)->changStatus($order->orderProduct[0]['activity_id']);
|
app()->make(ProductAssistSetRepository::class)->changStatus($order->orderProduct[0]['activity_id']);
|
||||||
}
|
}
|
||||||
if ($order->order_type == 1 && $order->status != 10) $order->verify_code = $this->verifyCode();
|
if ($order->order_type == 1 && $order->status != 10) $order->verify_code = $this->verifyCode();
|
||||||
if ($order->activity_type != 30 && $order->orderProduct[0]->product->type == 2) {
|
if (!in_array($order->activity_type,[30,31]) && $order->orderProduct[0]->product->type == 2) {
|
||||||
$order->status = 2;
|
$order->status = 2;
|
||||||
$order->delivery_type = 6;
|
$order->delivery_type = 6;
|
||||||
$order->delivery_name = '自动发货';
|
$order->delivery_name = '自动发货';
|
||||||
$order->delivery_id = $this->sendCdkey($order);
|
$order->delivery_id = $this->sendCdkey($order);
|
||||||
$isPoints = true;
|
$isPoints = true;
|
||||||
}
|
}
|
||||||
// 判断:是否为在线买单 在线买单,订单支付则订单完成
|
// 判断:是否为在线买单、酒道馆补差价 在线买单,订单支付则订单完成
|
||||||
if($order->activity_type == 30){
|
if(in_array($order->activity_type,[30,31])){
|
||||||
$order->status = 3;
|
$order->status = 3;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -3,7 +3,13 @@
|
||||||
namespace app\common\repositories\user;
|
namespace app\common\repositories\user;
|
||||||
|
|
||||||
use app\common\dao\user\ExchangePickupPointDao;
|
use app\common\dao\user\ExchangePickupPointDao;
|
||||||
|
use app\common\model\user\ExchangeIntegralRecord;
|
||||||
|
use app\common\model\user\ExchangePickupRecord;
|
||||||
|
use app\common\model\user\ExchangeQuota;
|
||||||
|
use app\common\model\user\ExchangeQuotaRecord;
|
||||||
|
use app\common\model\user\User;
|
||||||
use app\common\repositories\BaseRepository;
|
use app\common\repositories\BaseRepository;
|
||||||
|
use think\facade\Db;
|
||||||
|
|
||||||
class ExchangePickupPointRepository extends BaseRepository{
|
class ExchangePickupPointRepository extends BaseRepository{
|
||||||
|
|
||||||
|
|
@ -106,7 +112,59 @@ class ExchangePickupPointRepository extends BaseRepository{
|
||||||
|
|
||||||
return $count > 0 ? 1 : 0;
|
return $count > 0 ? 1 : 0;
|
||||||
}
|
}
|
||||||
|
/**
|
||||||
|
* Common: 兑换成功处理
|
||||||
|
* Author: wu-hui
|
||||||
|
* Time: 2024/01/18 10:03
|
||||||
|
* @param $pickupRecordId
|
||||||
|
*/
|
||||||
|
public function exchangeSuccessHandle($pickupRecordId){
|
||||||
|
$pickupRecordInfo = app()->make(ExchangePickupRecordRepository::class)
|
||||||
|
->getSearch([])
|
||||||
|
->where('id',$pickupRecordId)
|
||||||
|
->findOrEmpty();
|
||||||
|
Db::transaction(function () use ($pickupRecordInfo) {
|
||||||
|
// 修改状态
|
||||||
|
ExchangePickupRecord::update(['status'=>1],['id'=>$pickupRecordInfo['id']]);
|
||||||
|
// 积分&额度变更数量
|
||||||
|
$changeNum = (float)sprintf("%.2f",$pickupRecordInfo['total_money'] - $pickupRecordInfo['diff_money_pay']);
|
||||||
|
// 变更额度
|
||||||
|
$userHoldInfo = ExchangeQuota::where('uid',$pickupRecordInfo['uid'])->findOrEmpty();
|
||||||
|
$changeFront = (float)$userHoldInfo->surplus_quota;
|
||||||
|
$userHoldInfo->use_quota += (float)$changeNum;
|
||||||
|
$userHoldInfo->surplus_quota -= (float)$changeNum;
|
||||||
|
$userHoldInfo->save();
|
||||||
|
ExchangeQuotaRecord::insert([
|
||||||
|
'uid' => $pickupRecordInfo['uid'],
|
||||||
|
'product_id' => 0,
|
||||||
|
'order_id' => 0,
|
||||||
|
'order_product_id' => 0,
|
||||||
|
'change_type' => 0,
|
||||||
|
'change_quantity' => (float)$changeNum,
|
||||||
|
'change_front' => $changeFront,
|
||||||
|
'change_after' => (float)$userHoldInfo->surplus_quota,
|
||||||
|
'remark' => "兑换消费",
|
||||||
|
'source' => 2,
|
||||||
|
]);
|
||||||
|
// 变更积分
|
||||||
|
$userInfo = User::where('uid',$pickupRecordInfo['uid'])->findOrEmpty();
|
||||||
|
$integralChangeFront = (float)$userInfo->exchange_integral;
|
||||||
|
$userInfo->exchange_integral -= (float)$changeNum;
|
||||||
|
$userInfo->exchange_integral = $userInfo->exchange_integral > 0 ? $userInfo->exchange_integral : 0;
|
||||||
|
$userInfo->save();
|
||||||
|
ExchangeIntegralRecord::insert([
|
||||||
|
'uid' => $pickupRecordInfo['uid'],
|
||||||
|
'product_id' => 0,
|
||||||
|
'order_id' => 0,
|
||||||
|
'order_product_id' => 0,
|
||||||
|
'change_type' => 0,
|
||||||
|
'change_quantity' => (float)$changeNum,
|
||||||
|
'change_front' => $integralChangeFront,
|
||||||
|
'change_after' => (float)$userInfo->exchange_integral,
|
||||||
|
'remark' => "兑换消费",
|
||||||
|
]);
|
||||||
|
});
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -8,6 +8,8 @@ use app\common\model\user\ExchangePickupRecord;
|
||||||
use app\common\model\user\ExchangeQuota;
|
use app\common\model\user\ExchangeQuota;
|
||||||
use app\common\model\user\ExchangeQuotaRecord;
|
use app\common\model\user\ExchangeQuotaRecord;
|
||||||
use app\common\model\user\User;
|
use app\common\model\user\User;
|
||||||
|
use app\common\repositories\store\order\StoreOrderCreateRepository;
|
||||||
|
use app\common\repositories\store\order\StoreOrderRepository;
|
||||||
use app\common\repositories\user\ExchangeIntegralRecordRepository;
|
use app\common\repositories\user\ExchangeIntegralRecordRepository;
|
||||||
use app\common\repositories\user\ExchangePickupPointRepository;
|
use app\common\repositories\user\ExchangePickupPointRepository;
|
||||||
use app\common\repositories\user\ExchangePickupRecordRepository;
|
use app\common\repositories\user\ExchangePickupRecordRepository;
|
||||||
|
|
@ -15,6 +17,7 @@ use app\common\repositories\user\ExchangeQuotaRecordRepository;
|
||||||
use app\common\repositories\user\ExchangeQuotaRepository;
|
use app\common\repositories\user\ExchangeQuotaRepository;
|
||||||
use app\common\repositories\user\UserRepository;
|
use app\common\repositories\user\UserRepository;
|
||||||
use crmeb\basic\BaseController;
|
use crmeb\basic\BaseController;
|
||||||
|
use crmeb\services\LockService;
|
||||||
use crmeb\services\QrcodeService;
|
use crmeb\services\QrcodeService;
|
||||||
use think\App;
|
use think\App;
|
||||||
use think\facade\Db;
|
use think\facade\Db;
|
||||||
|
|
@ -75,7 +78,7 @@ class Exchange extends BaseController{
|
||||||
* Time: 2024/01/14 18:02
|
* Time: 2024/01/14 18:02
|
||||||
* @return mixed
|
* @return mixed
|
||||||
*/
|
*/
|
||||||
public function exchangeHandle(){
|
public function exchangeHandle(StoreOrderCreateRepository $orderCreateRepository){
|
||||||
// 参数获取
|
// 参数获取
|
||||||
$uid = $this->request->uid();
|
$uid = $this->request->uid();
|
||||||
$data = $this->request->params(['total_money','use_integral','diff_money','diff_money_pay','point_id','staff_uid','consume_uid']);
|
$data = $this->request->params(['total_money','use_integral','diff_money','diff_money_pay','point_id','staff_uid','consume_uid']);
|
||||||
|
|
@ -85,11 +88,17 @@ class Exchange extends BaseController{
|
||||||
// 判断:是否存在指定消费者,不存在则使用当前登录用户
|
// 判断:是否存在指定消费者,不存在则使用当前登录用户
|
||||||
$uid = (int)$data['consume_uid'] > 0 ? (int)$data['consume_uid'] : $uid;
|
$uid = (int)$data['consume_uid'] > 0 ? (int)$data['consume_uid'] : $uid;
|
||||||
if ($data['staff_uid'] == $uid) return app('json')->fail('操作员和消费用户不能是同一人!');
|
if ($data['staff_uid'] == $uid) return app('json')->fail('操作员和消费用户不能是同一人!');
|
||||||
|
// 支付信息
|
||||||
|
$payInfo = $this->request->params(['pay_type', 'return_url']);
|
||||||
|
$payInfo['money'] = (float)$data['diff_money_pay'];
|
||||||
|
if((float)$payInfo['money'] > 0){
|
||||||
|
if (!in_array($payInfo['pay_type'], StoreOrderRepository::PAY_TYPE, true)) return app('json')->fail('请选择正确的支付方式');
|
||||||
|
}
|
||||||
// 添加兑换记录
|
// 添加兑换记录
|
||||||
try{
|
try{
|
||||||
Db::transaction(function () use ($data, $uid) {
|
return Db::transaction(function () use ($data, $uid, $payInfo, $orderCreateRepository) {
|
||||||
// 添加兑换记录
|
// 添加兑换记录
|
||||||
ExchangePickupRecord::insert([
|
$pickupRecordId = ExchangePickupRecord::insertGetId([
|
||||||
'uid' => $uid,
|
'uid' => $uid,
|
||||||
'point_id' => $data['point_id'],
|
'point_id' => $data['point_id'],
|
||||||
'staff_uid' => $data['staff_uid'],
|
'staff_uid' => $data['staff_uid'],
|
||||||
|
|
@ -98,46 +107,37 @@ class Exchange extends BaseController{
|
||||||
'diff_money' => $data['diff_money'],
|
'diff_money' => $data['diff_money'],
|
||||||
'diff_money_pay' => $data['diff_money_pay'],
|
'diff_money_pay' => $data['diff_money_pay'],
|
||||||
]);
|
]);
|
||||||
// 积分&额度变更数量
|
// 判断:如果【差价应支付金额】大于0 生成支付订单
|
||||||
$changeNum = (float)sprintf("%.2f",$data['total_money'] - $data['diff_money_pay']);
|
if((float)$payInfo['money'] > 0){
|
||||||
// 变更额度
|
$userInfo = User::where('uid',$uid)->findOrEmpty();
|
||||||
$userHoldInfo = ExchangeQuota::where('uid',$uid)->findOrEmpty();
|
$payInfo['pickup_record_id'] = $pickupRecordId;
|
||||||
$changeFront = (float)$userHoldInfo->surplus_quota;
|
// 发起支付
|
||||||
$userHoldInfo->use_quota += (float)$changeNum;
|
$groupOrder = app()->make(LockService::class)
|
||||||
$userHoldInfo->surplus_quota -= (float)$changeNum;
|
->exec('online_order.create',function() use ($payInfo,$orderCreateRepository, $userInfo){
|
||||||
$userHoldInfo->save();
|
$payType = array_search($payInfo['pay_type'],StoreOrderRepository::PAY_TYPE);
|
||||||
ExchangeQuotaRecord::insert([
|
|
||||||
'uid' => $uid,
|
|
||||||
'product_id' => 0,
|
|
||||||
'order_id' => 0,
|
|
||||||
'order_product_id' => 0,
|
|
||||||
'change_type' => 0,
|
|
||||||
'change_quantity' => (float)$changeNum,
|
|
||||||
'change_front' => $changeFront,
|
|
||||||
'change_after' => (float)$userHoldInfo->surplus_quota,
|
|
||||||
'remark' => "兑换消费",
|
|
||||||
'source' => 2,
|
|
||||||
]);
|
|
||||||
// 变更积分
|
|
||||||
$userInfo = User::where('uid',$uid)->findOrEmpty();
|
|
||||||
$integralChangeFront = (float)$userInfo->exchange_integral;
|
|
||||||
$userInfo->exchange_integral -= (float)$changeNum;
|
|
||||||
$userInfo->exchange_integral = $userInfo->exchange_integral > 0 ? $userInfo->exchange_integral : 0;
|
|
||||||
$userInfo->save();
|
|
||||||
ExchangeIntegralRecord::insert([
|
|
||||||
'uid' => $uid,
|
|
||||||
'product_id' => 0,
|
|
||||||
'order_id' => 0,
|
|
||||||
'order_product_id' => 0,
|
|
||||||
'change_type' => 0,
|
|
||||||
'change_quantity' => (float)$changeNum,
|
|
||||||
'change_front' => $integralChangeFront,
|
|
||||||
'change_after' => (float)$userInfo->exchange_integral,
|
|
||||||
'remark' => "兑换消费",
|
|
||||||
]);
|
|
||||||
});
|
|
||||||
|
|
||||||
return app('json')->success('success');
|
return $orderCreateRepository->exchangeGoods($payType,$payInfo,$userInfo);
|
||||||
|
});
|
||||||
|
|
||||||
|
if ($groupOrder['pay_price'] == 0) {
|
||||||
|
app()->make(StoreOrderRepository::class)->paySuccess($groupOrder);
|
||||||
|
return app('json')->status('success', '支付成功', ['order_id' => $groupOrder['group_order_id']]);
|
||||||
|
}
|
||||||
|
try {
|
||||||
|
|
||||||
|
return app()->make(StoreOrderRepository::class)
|
||||||
|
->pay($payInfo['pay_type'], $userInfo, $groupOrder, $payInfo['return_url'], $this->request->isApp());
|
||||||
|
} catch (\Exception $e) {
|
||||||
|
|
||||||
|
return app('json')->status('error', $e->getMessage(), ['order_id' => $groupOrder->group_order_id]);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
else{
|
||||||
|
app()->make(ExchangePickupPointRepository::class)->exchangeSuccessHandle($pickupRecordId);
|
||||||
|
|
||||||
|
return app('json')->success('success');
|
||||||
|
}
|
||||||
|
});
|
||||||
}catch(\Exception $e){
|
}catch(\Exception $e){
|
||||||
|
|
||||||
return app('json')->fail($e->getMessage());
|
return app('json')->fail($e->getMessage());
|
||||||
|
|
@ -225,10 +225,11 @@ class Exchange extends BaseController{
|
||||||
public function siteQrCode(){
|
public function siteQrCode(){
|
||||||
// 参数获取
|
// 参数获取
|
||||||
$uid = $this->request->uid();
|
$uid = $this->request->uid();
|
||||||
$params = $this->request->params(['point_id']);
|
$params = $this->request->params(['point_id',['total_money',0]]);
|
||||||
if((int)$params['point_id'] > 0){
|
if((int)$params['point_id'] > 0){
|
||||||
try{
|
try{
|
||||||
$valueData = 'staff_uid=' . $uid . '&point_id=' . $params['point_id'];
|
// 由于微信长度限制问题 suid=staff_id;pid=point_id;tmy=total_money
|
||||||
|
$valueData = 'suid=' . $uid . '&pid=' . $params['point_id'] . '&tmy=' . $params['total_money'];
|
||||||
$name = md5($valueData) . '.jpg';
|
$name = md5($valueData) . '.jpg';
|
||||||
// pages/users/online_payment/exchange/index
|
// pages/users/online_payment/exchange/index
|
||||||
$qrcode = app()->make(QrcodeService::class)->getRoutineQrcodePath($name, 'pages/users/online_payment/exchange/index', $valueData);
|
$qrcode = app()->make(QrcodeService::class)->getRoutineQrcodePath($name, 'pages/users/online_payment/exchange/index', $valueData);
|
||||||
|
|
|
||||||
|
|
@ -7,6 +7,7 @@ use app\common\model\user\ExchangeQuota;
|
||||||
use app\common\model\user\ExchangeQuotaRecord;
|
use app\common\model\user\ExchangeQuotaRecord;
|
||||||
use app\common\model\user\User;
|
use app\common\model\user\User;
|
||||||
use app\common\repositories\system\merchant\MerchantRepository;
|
use app\common\repositories\system\merchant\MerchantRepository;
|
||||||
|
use app\common\repositories\user\ExchangePickupPointRepository;
|
||||||
use think\facade\Log;
|
use think\facade\Log;
|
||||||
|
|
||||||
class OrderPaySuccessEvent{
|
class OrderPaySuccessEvent{
|
||||||
|
|
@ -15,10 +16,17 @@ class OrderPaySuccessEvent{
|
||||||
public function handle($groupOrder){
|
public function handle($groupOrder){
|
||||||
$groupOrder = $groupOrder['groupOrder'];
|
$groupOrder = $groupOrder['groupOrder'];
|
||||||
try{
|
try{
|
||||||
// Log::info('支付成功 - 赠送酒卡额度 - 开始: '.var_export(['uid'=>$groupOrder->uid,'group_order_id'=>$groupOrder->group_order_id],1));
|
// Log::info('支付成功 - 赠送酒卡额度 - 开始: '.var_export([
|
||||||
|
// 'uid' => $groupOrder->uid,
|
||||||
|
// 'group_order_id' => $groupOrder->group_order_id,
|
||||||
|
// 'activity_type' => $groupOrder->activity_type
|
||||||
|
// ],1));
|
||||||
if($groupOrder->activity_type == 30){
|
if($groupOrder->activity_type == 30){
|
||||||
// 在线支付订单
|
// 在线支付订单
|
||||||
$this->giveExchangeIntegral($groupOrder);
|
$this->giveExchangeIntegral($groupOrder);
|
||||||
|
}else if($groupOrder->activity_type == 31){
|
||||||
|
// 在线支付订单
|
||||||
|
$this->exchangeGoodsHandle($groupOrder);
|
||||||
}else{
|
}else{
|
||||||
// 其他订单
|
// 其他订单
|
||||||
$this->orderPaySuccessHandle($groupOrder);
|
$this->orderPaySuccessHandle($groupOrder);
|
||||||
|
|
@ -112,7 +120,14 @@ class OrderPaySuccessEvent{
|
||||||
|
|
||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
|
// 支付成功 - 兑换商品补差价处理
|
||||||
|
public function exchangeGoodsHandle($groupOrder){
|
||||||
|
foreach($groupOrder->orderList as $orderInfo){
|
||||||
|
app()->make(ExchangePickupPointRepository::class)->exchangeSuccessHandle($orderInfo->pickup_record_id);
|
||||||
|
}
|
||||||
|
|
||||||
|
return true;
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
}
|
}
|
||||||
Loading…
Reference in New Issue