|
@@ -459,6 +459,7 @@ class WholeController extends Curd
|
|
|
}
|
|
|
$amount = $account->member_account_surplus + $account->member_account_added;
|
|
|
if (!$account || $params['order_sheet_pay'] > $amount) {
|
|
|
+ Db::rollBack();
|
|
|
return json_fail('账户余额不足');
|
|
|
}
|
|
|
if ($params['order_sheet_pay'] > $account->member_account_surplus) {
|
|
@@ -470,12 +471,31 @@ class WholeController extends Curd
|
|
|
}
|
|
|
$account->member_account_expend = $account->member_account_expend + $params['order_sheet_pay'];
|
|
|
$account->save();
|
|
|
+ }else if ($params['pay_category'] == 'WELFARE') { // 福利账户
|
|
|
+ $account = MemberAccount::where('join_account_member_id', $params['join_order_member_id'])
|
|
|
+ ->where('member_account_classify', 'WELFARE')
|
|
|
+ ->where('member_account_status', 'ACTIVED')
|
|
|
+ ->first();
|
|
|
+ if (!$account) {
|
|
|
+ Db::rollBack();
|
|
|
+ return json_fail('账户异常');
|
|
|
+ }
|
|
|
+ $account->member_account_surplus = floatval($account->member_account_surplus);
|
|
|
+ if ($params['order_sheet_pay'] > $account->member_account_surplus) {
|
|
|
+ Db::rollBack();
|
|
|
+ return json_fail('账户余额不足');
|
|
|
+ }
|
|
|
+
|
|
|
+ $account->member_account_surplus = $account->member_account_surplus - $params['order_sheet_pay'];
|
|
|
+ $account->member_account_expend = $account->member_account_expend + $params['order_sheet_pay'];
|
|
|
+ $account->save();
|
|
|
}
|
|
|
|
|
|
$goods = Goods::where('goods_id', $params['join_sheet_goods_id'])
|
|
|
->select('goods_id', 'goods_name', 'goods_classify')
|
|
|
->first();
|
|
|
if (!$goods) {
|
|
|
+ Db::rollBack();
|
|
|
return json_fail('产品数据异常');
|
|
|
}
|
|
|
$goods = $goods->toArray();
|
|
@@ -663,13 +683,18 @@ class WholeController extends Curd
|
|
|
public function insertPayDetail($params)
|
|
|
{
|
|
|
try {
|
|
|
+ if(in_array($params['pay_category'],['WXPAY','ALIPAY'])){
|
|
|
+ $payPrepayid = $params['pay_category'];
|
|
|
+ }else{
|
|
|
+ $payPrepayid = $params['join_order_member_id'] . '-' . $params['pay_category'];
|
|
|
+ }
|
|
|
$data = [
|
|
|
'join_pay_member_id' => $params['join_order_member_id'],
|
|
|
'join_pay_order_id' => $params['orderGroupId'],
|
|
|
'pay_status' => 'SUCCESS',
|
|
|
'pay_category' => $params['pay_category'],
|
|
|
'pay_amount' => $params['order_sheet_pay'],
|
|
|
- 'pay_prepayid' => $params['join_order_member_id'] . '-' . $params['pay_category'],
|
|
|
+ 'pay_prepayid' => $payPrepayid,
|
|
|
'pay_paytimes' => date('Y-m-d H:i:s'),
|
|
|
'pay_remark' => $params['order_remark'] ?? '',
|
|
|
'pay_addtimes' => time()
|
|
@@ -1219,6 +1244,25 @@ class WholeController extends Curd
|
|
|
'status' => 'SUCCESS'
|
|
|
]);
|
|
|
}
|
|
|
+ // 员工福利支付
|
|
|
+ if (isset($payType[1]) && $payType[1] == 'WELFARE') {
|
|
|
+ $account = MemberAccount::where('join_account_member_id', $order->join_order_member_id)
|
|
|
+ ->where('member_account_classify', 'WELFARE')
|
|
|
+ ->first();
|
|
|
+ $account->member_account_expend = $account->member_account_expend - $amount;
|
|
|
+ $account->member_account_surplus = $account->member_account_surplus + $amount;
|
|
|
+ $account->save();
|
|
|
+
|
|
|
+ $data = [
|
|
|
+ 'type' => 'REFUND',
|
|
|
+ 'member_id' => $order->join_order_member_id,
|
|
|
+ 'order_id' => $return->join_return_order_id,
|
|
|
+ 'return_id' => $return->orders_return_id
|
|
|
+ ];
|
|
|
+ $res = json_encode([
|
|
|
+ 'status' => 'SUCCESS'
|
|
|
+ ]);
|
|
|
+ }
|
|
|
// 卡支付
|
|
|
if (count($payType) == 1 && !in_array($payDetail->pay_prepayid, ['W06', 'A01'])) {
|
|
|
$account = MemberAccount::where('join_account_member_id', $order->join_order_member_id)
|