|
@@ -2,6 +2,7 @@
|
|
|
|
|
|
namespace app\admin\controller\order;
|
|
|
|
|
|
+use app\admin\service\coupon\CouponDetailService;
|
|
|
use app\admin\service\member\MemberService;
|
|
|
use app\admin\service\order\OrderService;
|
|
|
use app\admin\service\order\OrderSheetService;
|
|
@@ -235,7 +236,34 @@ class GoodsController extends Curd
|
|
|
if (!empty($params['dept_premises_id'])) {
|
|
|
$premises = SysDept::where('dept_name', $params['dept_premises_id'])->first();
|
|
|
}
|
|
|
+ try {
|
|
|
+ // 下单账户
|
|
|
+ if (empty($params['join_order_member_id']) && !empty($params['mobile'])) {
|
|
|
+ if (Member::where('member_mobile', $params['mobile'])->exists()) {
|
|
|
+ throw new BusinessException('会员已存在');
|
|
|
+ }
|
|
|
+ $params['join_order_member_id'] = $params['member_id'] = 'MR' . date('ymdHi') . random_string(4, 'up');
|
|
|
+ // 创建会员
|
|
|
+ MemberService::createMember($params);
|
|
|
+
|
|
|
+ } else if (empty($params['join_order_member_id']) && empty($params['mobile'])) {
|
|
|
+ $params['join_order_member_id'] = Member::where('member_mobile', '0000')->value('member_id');
|
|
|
+ }
|
|
|
+ if (empty($params['join_order_member_id'])) {
|
|
|
+ throw new BusinessException('检查下单账户');
|
|
|
+ }
|
|
|
+ // 带着优惠券,要发券
|
|
|
+ if (!empty($params['custom_member_id'])){
|
|
|
+ // 把券从000000加到真实账户
|
|
|
+ CouponDetailService::transCoupon('000000',$params['join_order_member_id']);
|
|
|
+ }
|
|
|
+ }catch (\Exception $e){
|
|
|
+ Db::rollBack();
|
|
|
+ Log::error('创建订单失败', ['msg' => $e->getMessage()]);
|
|
|
+ _syslog("订单", "创建订单失败");
|
|
|
+ return json_fail('创建订单失败');
|
|
|
|
|
|
+ }
|
|
|
$params['goods_classify'] = $goodsClassifys[0];
|
|
|
Db::beginTransaction();
|
|
|
try {
|
|
@@ -296,20 +324,6 @@ class GoodsController extends Curd
|
|
|
throw new BusinessException('密码错误,请重新输入');
|
|
|
}
|
|
|
}
|
|
|
- // 下单账户
|
|
|
- if (empty($params['join_order_member_id']) && !empty($params['mobile'])) {
|
|
|
- if (Member::where('member_mobile', $params['mobile'])->exists()) {
|
|
|
- throw new BusinessException('会员已存在');
|
|
|
- }
|
|
|
- $params['join_order_member_id'] = $params['member_id'] = 'MR' . date('ymdHi') . random_string(4, 'up');
|
|
|
- // 创建会员
|
|
|
- MemberService::createMember($params);
|
|
|
- } else if (empty($params['join_order_member_id']) && empty($params['mobile'])) {
|
|
|
- $params['join_order_member_id'] = Member::where('member_mobile', '0000')->value('member_id');
|
|
|
- }
|
|
|
- if (empty($params['join_order_member_id'])) {
|
|
|
- throw new BusinessException('检查下单账户');
|
|
|
- }
|
|
|
|
|
|
$qrcodePayAmount = 0;
|
|
|
$params['orderId'] = 'OD' . date('ymdHi') . random_string(4, 'up');
|
|
@@ -1793,7 +1807,7 @@ class GoodsController extends Curd
|
|
|
$params['order_extend_json']['referee'] = $params['referee'] ?? '';
|
|
|
$orderAmount = [];
|
|
|
foreach ($params['goodsContentList'] as $goods) {
|
|
|
- $amountPay = floatval($goods['goods_sales_price']) * $goods['nbr'];
|
|
|
+ $amountPay = round((floatval($goods['goods_sales_price']) * $goods['nbr'] / $params['order_amount_total']) * $params['order_amount_pay'], 2);
|
|
|
$discountJson = [];
|
|
|
if (!empty($params['order_discount_json'])) {
|
|
|
$discountJson = json_decode($params['order_discount_json'], true);
|