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() ...@@ -125,10 +125,15 @@ protected function grid()
0 => 'primary', // 待付款 - 蓝色 0 => 'primary', // 待付款 - 蓝色
1 => 'warning', // 待发货 - 橙色 1 => 'warning', // 待发货 - 橙色
2 => 'info', // 待到货 - 青色 2 => 'info', // 待到货 - 青色
3 => 'warning', // 待评价 - 橙 3 => 'pink', // 待评价 - 粉
4 => 'success', // 已完成 - 绿色 4 => 'success', // 已完成 - 绿色
7 => 'danger', // 已取消 - 红色 7 => 'danger', // 已取消 - 红色
8 => 'dark' // 已退款 - 灰色 8 => 'dark' // 已退款 - 黑色
// - purple (紫色)
// - teal (蓝绿色)
// - indigo (靛蓝色)
// - yellow (黄色)
// - gray (灰色)
])->if(function ($column) { ])->if(function ($column) {
return $column->getValue() == 1; return $column->getValue() == 1;
})->display('点击生成核销码')->modal(function (Grid\Displayers\Modal $modal) { })->display('点击生成核销码')->modal(function (Grid\Displayers\Modal $modal) {
...@@ -144,6 +149,8 @@ protected function grid() ...@@ -144,6 +149,8 @@ protected function grid()
//$grid->column('updated_at')->sortable(); //$grid->column('updated_at')->sortable();
//$grid->disableActions(); //$grid->disableActions();
$grid->disableDeleteButton();
$grid->disableEditButton();
$grid->disableCreateButton(); $grid->disableCreateButton();
$grid->disableViewButton(); $grid->disableViewButton();
......
...@@ -303,7 +303,7 @@ private function getOrderSn() ...@@ -303,7 +303,7 @@ private function getOrderSn()
return $order_sn; return $order_sn;
} }
//订单支付-微信 //订单【支付】-微信
public function pay(Request $request) public function pay(Request $request)
{ {
$order_id = $request->order_id ?? 0; $order_id = $request->order_id ?? 0;
...@@ -314,35 +314,35 @@ public function pay(Request $request) ...@@ -314,35 +314,35 @@ public function pay(Request $request)
try { try {
// 订单不存在直接返回错误 // 订单不存在直接返回错误
$order = OrderInfoModel::find($order_id); $order = OrderInfoModel::find($order_id);
if (!$order) { if (!$order) {
return $this->JsonResponse('', '订单不存在', 404); return $this->JsonResponse('', '订单不存在', 404);
} }
// 订单状态必须为待支付(0) // 订单状态必须为待支付(0)
if ($order->order_status != 0) { if ($order->order_status != 0) {
return $this->JsonResponse('', '请勿重复支付!', 500); return $this->JsonResponse('', '请勿重复支付!', 500);
} }
$pay_type = $order->pay_type;
if (!$pay_type) {
//第二次支付不用选择,从订单查询支付方式,
$pay_type = $request->pay_type; //支付方式 1:微信 2:积分 3:混合 $pay_type = $request->pay_type; //支付方式 1:微信 2:积分 3:混合
if ($order->pay_cs > 0) {
//第二次支付不用选择,从订单查询支付方式,
$pay_type = $order->pay_type;
if ($pay_type == '3') { //混合支付后的二次支付,不用在扣除余额了
$pay_type = 4;
}
} else {
if (!in_array($pay_type, [1, 2, 3])) { if (!in_array($pay_type, [1, 2, 3])) {
return $this->JsonResponse('', '请选择支付方式', 500); 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_record = $order->order_record ?? $order->order_sn;
$order->order_sn = $this->getOrderSn(); $order->order_sn = $this->getOrderSn();
$order->order_record = $order_record . "|" . $order->order_sn; $order->order_record = $order_record . "|" . $order->order_sn;
$order->save(); $order->save();
}else{ } else {
return $this->JsonResponse('', '支付次数达到上限!', 500); return $this->JsonResponse('', '支付次数达到上限!', 500);
} }
...@@ -551,21 +551,19 @@ public static function canceOrderFunc($order) ...@@ -551,21 +551,19 @@ public static function canceOrderFunc($order)
$order->save(); $order->save();
// 先获取结果集再操作,通过这笔订单增加的积分,并且状态为冻结中的记录 // 先获取结果集再操作,通过这笔订单增加的积分,并且状态为冻结中的记录
$userPointChangeRecs = UserPointChangeRec::where([ $userPointChangeRecs = UserPointChangeRec::where('order_id', $order->id)
'order_id' => $order->id, ->where('point_state', '!=', 1)
'point_state' => '<>1', ->where('change_type', 1)
'change_type' => 1 ->get();
])->get();
//后期可以把这些记录存入数据库,方便后续操作 //后期可以把这些记录存入数据库,方便后续操作
Log::Add('canceOrderFunc', '冻结积分删除记录:' . json_encode($userPointChangeRecs->toArray())); Log::Add('canceOrderFunc', '冻结积分删除记录:' . json_encode($userPointChangeRecs->toArray()));
// 批量删除冻结中的积分 // 批量删除冻结中的积分
UserPointChangeRec::where([ UserPointChangeRec::where('order_id', $order->id)
'order_id' => $order->id, ->where('point_state', '!=', 1)
'point_state' => '<>1', ->where('change_type', 1)
'change_type' => 1 ->delete();
])->delete();
//查询是否需要退用户积分 //查询是否需要退用户积分
...@@ -586,7 +584,7 @@ public static function canceOrderFunc($order) ...@@ -586,7 +584,7 @@ public static function canceOrderFunc($order)
} }
} }
$order->order_status = 7; $order->order_status = 8;
$order->save(); $order->save();
DB::commit(); DB::commit();
......
...@@ -106,7 +106,7 @@ public function showShoppingCart(Request $request) ...@@ -106,7 +106,7 @@ public function showShoppingCart(Request $request)
$tmp['catKey'] = $item['goods_id'] . "_" . $item['attr_sn']; $tmp['catKey'] = $item['goods_id'] . "_" . $item['attr_sn'];
$tmp['goods_id'] = $item['goods_id']; $tmp['goods_id'] = $item['goods_id'];
$tmp['goods_name'] = $goodsObj->goods_name; $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['num'] = $item['num'];
$tmp['attr_sn'] = $item['attr_sn']; $tmp['attr_sn'] = $item['attr_sn'];
$tmp['goods_price'] = $item['goods_price']; $tmp['goods_price'] = $item['goods_price'];
......
...@@ -74,13 +74,13 @@ public static function divide($order_id, $payconfirm_no = '') ...@@ -74,13 +74,13 @@ public static function divide($order_id, $payconfirm_no = '')
//打印分账员工 //打印分账员工
Log::add('divide', "订单ID:{$order_id},分账员工:{$employeeObj->name}"); Log::add('divide', "订单ID:{$order_id},分账员工:{$employeeObj->name}");
$hfEmployeeMObj = HfSettleAccount::whereNotNull('deleted_at') $hfEmployeeMObj = HfSettleAccount::whereNull('deleted_at')
->where('mid', $employeeObj->id) ->where('mid', $employeeObj->id)
->first(); ->first();
$isEmployeeRealName = ($hfEmployeeMObj) ? 1 : 0; $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(); //订单商品 $ogList = OrderGoods::where("order_id", $order_id)->get(); //订单商品
...@@ -97,7 +97,7 @@ public static function divide($order_id, $payconfirm_no = '') ...@@ -97,7 +97,7 @@ public static function divide($order_id, $payconfirm_no = '')
$cash_ratio = number_format(($orderObj->order_amount / $orderGoodCash) * 100, 4); //保留4位小数 $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) { foreach ($ogList as $kk => $item) {
$goods_amount = $item->goods_price * $item->goods_number; $goods_amount = $item->goods_price * $item->goods_number;
......
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