Commit 232aea23 by yink

refactor: 优化代码逻辑和样式,修复错误

- 移除 `UserController` 中不必要的 `env('IMAGE_URL')` 拼接,直接使用 `cover_img`
- 调整 `OrderInfoController` 中订单状态颜色,禁用删除和编辑按钮
- 修复 `OrderDivideRecord` 中 `whereNotNull` 错误,改为 `whereNull`
- 优化 `OrderController` 中支付逻辑,修复订单状态和积分处理问题
parent 60a190ca
......@@ -125,10 +125,15 @@ protected function grid()
0 => 'primary', // 待付款 - 蓝色
1 => 'warning', // 待发货 - 橙色
2 => 'info', // 待到货 - 青色
3 => 'warning', // 待评价 - 橙
3 => 'pink', // 待评价 - 粉
4 => 'success', // 已完成 - 绿色
7 => 'danger', // 已取消 - 红色
8 => 'dark' // 已退款 - 灰色
8 => 'dark' // 已退款 - 黑色
// - purple (紫色)
// - teal (蓝绿色)
// - indigo (靛蓝色)
// - yellow (黄色)
// - gray (灰色)
])->if(function ($column) {
return $column->getValue() == 1;
})->display('点击生成核销码')->modal(function (Grid\Displayers\Modal $modal) {
......@@ -144,6 +149,8 @@ protected function grid()
//$grid->column('updated_at')->sortable();
//$grid->disableActions();
$grid->disableDeleteButton();
$grid->disableEditButton();
$grid->disableCreateButton();
$grid->disableViewButton();
......
......@@ -303,7 +303,7 @@ private function getOrderSn()
return $order_sn;
}
//订单支付-微信
//订单【支付】-微信
public function pay(Request $request)
{
$order_id = $request->order_id ?? 0;
......@@ -314,35 +314,35 @@ public function pay(Request $request)
try {
// 订单不存在直接返回错误
$order = OrderInfoModel::find($order_id);
if (!$order) {
return $this->JsonResponse('', '订单不存在', 404);
}
// 订单状态必须为待支付(0)
if ($order->order_status != 0) {
return $this->JsonResponse('', '请勿重复支付!', 500);
}
$pay_type = $order->pay_type;
if (!$pay_type) {
$pay_type = $request->pay_type; //支付方式 1:微信 2:积分 3:混合
if ($order->pay_cs > 0) {
//第二次支付不用选择,从订单查询支付方式,
$pay_type = $request->pay_type; //支付方式 1:微信 2:积分 3:混合
$pay_type = $order->pay_type;
if ($pay_type == '3') { //混合支付后的二次支付,不用在扣除余额了
$pay_type = 4;
}
} else {
if (!in_array($pay_type, [1, 2, 3])) {
return $this->JsonResponse('', '请选择支付方式', 500);
}
} else {
$pay_type = 4;
}
if ($order->pay_cs < 20) {//微信每次支付需要重新生成订单号
if ($order->pay_cs < 20) { //微信每次支付需要重新生成订单号
$order_record = $order->order_record ?? $order->order_sn;
$order->order_sn = $this->getOrderSn();
$order->order_record = $order_record . "|" . $order->order_sn;
$order->save();
}else{
} else {
return $this->JsonResponse('', '支付次数达到上限!', 500);
}
......@@ -551,21 +551,19 @@ public static function canceOrderFunc($order)
$order->save();
// 先获取结果集再操作,通过这笔订单增加的积分,并且状态为冻结中的记录
$userPointChangeRecs = UserPointChangeRec::where([
'order_id' => $order->id,
'point_state' => '<>1',
'change_type' => 1
])->get();
$userPointChangeRecs = UserPointChangeRec::where('order_id', $order->id)
->where('point_state', '!=', 1)
->where('change_type', 1)
->get();
//后期可以把这些记录存入数据库,方便后续操作
Log::Add('canceOrderFunc', '冻结积分删除记录:' . json_encode($userPointChangeRecs->toArray()));
// 批量删除冻结中的积分
UserPointChangeRec::where([
'order_id' => $order->id,
'point_state' => '<>1',
'change_type' => 1
])->delete();
UserPointChangeRec::where('order_id', $order->id)
->where('point_state', '!=', 1)
->where('change_type', 1)
->delete();
//查询是否需要退用户积分
......@@ -586,7 +584,7 @@ public static function canceOrderFunc($order)
}
}
$order->order_status = 7;
$order->order_status = 8;
$order->save();
DB::commit();
......
......@@ -106,7 +106,7 @@ public function showShoppingCart(Request $request)
$tmp['catKey'] = $item['goods_id'] . "_" . $item['attr_sn'];
$tmp['goods_id'] = $item['goods_id'];
$tmp['goods_name'] = $goodsObj->goods_name;
$tmp['cover_img'] = isset($goodsObj->cover_img) ? env('IMAGE_URL') . $goodsObj->cover_img : '';
$tmp['cover_img'] = $goodsObj->cover_img ;
$tmp['num'] = $item['num'];
$tmp['attr_sn'] = $item['attr_sn'];
$tmp['goods_price'] = $item['goods_price'];
......
......@@ -74,13 +74,13 @@ public static function divide($order_id, $payconfirm_no = '')
//打印分账员工
Log::add('divide', "订单ID:{$order_id},分账员工:{$employeeObj->name}");
$hfEmployeeMObj = HfSettleAccount::whereNotNull('deleted_at')
$hfEmployeeMObj = HfSettleAccount::whereNull('deleted_at')
->where('mid', $employeeObj->id)
->first();
$isEmployeeRealName = ($hfEmployeeMObj) ? 1 : 0;
}
Log::add('divide',"实名情况:isMerchantRealName:{$isMerchantRealName};isEmployeeRealName:{$isEmployeeRealName}");
Log::add('divide', "实名情况:isMerchantRealName:{$isMerchantRealName};isEmployeeRealName:{$isEmployeeRealName}");
$ogList = OrderGoods::where("order_id", $order_id)->get(); //订单商品
......@@ -97,7 +97,7 @@ public static function divide($order_id, $payconfirm_no = '')
$cash_ratio = number_format(($orderObj->order_amount / $orderGoodCash) * 100, 4); //保留4位小数
}
Log::add('divide',"订单ID:{$order_id},支付类型:{$orderObj->pay_type},现金支付比例:{$cash_ratio}");
Log::add('divide', "订单ID:{$order_id},支付类型:{$orderObj->pay_type},现金支付比例:{$cash_ratio}");
foreach ($ogList as $kk => $item) {
$goods_amount = $item->goods_price * $item->goods_number;
......@@ -113,14 +113,14 @@ public static function divide($order_id, $payconfirm_no = '')
$employee_divide_price = 0;
$employee_divide_price_log = $merchant_divide_price;
//应该分给商家的金额
Log::add('divide', "员工分佣:{$employeeObj->employee_commission}");
//应该分给商家的金额
Log::add('divide', "员工分佣:{$employeeObj->employee_commission}");
//员工分佣记录
if ($employee && $employeeObj->employee_commission >= 1 && $employeeObj->employee_commission < 100) {
//应该分给商家的金额
Log::add('divide', "员工分佣:{$employeeObj->employee_commission}, 员工分佣记录:{$employee_divide_price}, 商户分佣记录:{$merchant_divide_price}");
//应该分给商家的金额
Log::add('divide', "员工分佣:{$employeeObj->employee_commission}, 员工分佣记录:{$employee_divide_price}, 商户分佣记录:{$merchant_divide_price}");
// 基于商家分到佣金计算员工分佣
$employee_divide_price = number_format($merchant_divide_price * ($employeeObj->employee_commission / 100), 2);
$employeePreData['employee_amount'] += $employee_divide_price;
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment