12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485868788899091 |
- <?php
- namespace app\api\model;
- use think\Db;
- use think\Model;
- class OrderModel extends Model
- {
- protected $name = 'order';
- /*
- * 用户余额支付
- */
- public function userMoneyPay($params)
- {
- $userInfo = UsersModel::where('user_id', $params['user_id'])->find();
- if (!$userInfo) {
- return json(['code' => 100, 'msg' => '网络错误', 'data' => '']);
- }
- //对照金额书否正确的
- $isMoney = Db::name('order_pre')->where('pre_id', $params['pre_id'])->where('money', $params['money'])->find();
- if (!$isMoney) {
- return json(['code' => 100, 'msg' => '金额不对', 'data' => '']);
- }
- if ($userInfo['user_money'] < $params['money']) {
- return json(['code' => 100, 'msg' => '您的余额不足', 'data' => '']);
- }
- Db::startTrans();
- try{
- //扣除用户余额
- $updUserMoney = UsersModel::where('user_id',$params['user_id'])->setDec('user_money',$params['money']);
- Db::commit();
- } catch (\Exception $e) {
- Db::rollback();
- }
- if (!$updUserMoney) {
- return json(['code' => 100, 'msg' => '扣款失败', 'data' => '']);
- }
- //创建订单信息
- $orderdata = array(
- 'user_id' => $params['user_id'],
- 'money' => $params['money'],
- 'freight' => $params['freight'],
- 'number' => $params['number'],
- 'create_time' => $params['create_time'],
- 'pay_time' => date("Y-m-d H:i:s",time()),
- 'state' => 1,
- );
- //生成已支付订单
- $addOrderId = Db::name('order')->insertGetId($orderdata);
- if (!$addOrderId) {
- return json(['code' => 100, 'msg' => '订单生成失败', 'data' => '']);
- }
- $list = $params['list'];
- //创建订单商品信息
- foreach ($list as &$v) {
- $order_commodity_data = array(
- 'c_id' => $v['c_id'],
- 'p_id' => $v['p_id'],
- 'colorid' => $v['colorid'],
- 'name' => $v['name'],
- 'p_name' => $v['p_name'],
- 'color' => $v['color'],
- 'buy_number' => $v['buy_number'],
- 'o_id' => $addOrderId,
- );
- //循环插入订单商品信息
- $add_order_commodity = Db::name('order_commodity')->insert($order_commodity_data);
- }
- if (!$add_order_commodity) {
- return json(['code' => 100, 'msg' => '网络错误', 'data' => '']);
- }
- //创建地址信息
- $order_address = array(
- 'a_id' => $params['a_id'],
- 'a_name' => $params['a_name'],
- 'a_tel' => $params['a_tel'],
- 'a_city' => $params['city'],
- 'a_area' => $params['area'],
- 'o_id' => $addOrderId
- );
- //订单地址添加
- $add_order_address = Db::name('order_address')->insert($order_address);
- if ($add_order_address) {
- return json(['code' => 200, 'msg' => '下单成功', 'data' => $addOrderId]);
- } else {
- return json(['code' => 200, 'msg' => '下单失败', 'data' => $addOrderId]);
- }
- }
- }
|