/** * 账户充值 */ public function recharge() { if (IS_POST) { $data['order_sn'] = 'S1_' . order_sn(); $data['seller_id'] = $this->mid; $data['buyer_name'] = get_seller_nickname($data['seller_id']); $data['order_type'] = 1; $data['payment_id'] = intval($_POST['payment_id']); $data['payment_name'] = M('Payment')->where(array('payment_id' => $data['payment_id']))->getField('payment_name'); $data['payment_code'] = M('Payment')->where(array('payment_id' => $data['payment_id']))->getField('payment_code'); $data['payment_time'] = 0; $data['shipping_express_id'] = 0; $data['goods_amount'] = price_format($_POST['amount']); $data['order_title'] = '在线充值' . $data['goods_amount'] . '金币'; if ($data['goods_amount'] < 1) { $this->error('充值的金额不正确.'); die; } $data['discount'] = 0; $data['order_amount'] = $data['goods_amount'] - $data['discount']; $data['order_state'] = 10; $data['add_time'] = NOW_TIME; $res = $this->orderModel->add($data); if ($res) { $this->success('订单生成成功,正在跳转支付页面.', U('Pay/alipay', array('order_sn' => $data['order_sn']))); } else { $this->error('订单生成失败'); } } elseif (IS_GET) { $this->h3_title = '账户充值'; $this->display(); } }
/** * 生成唯一的order_sn,并验证数据库中不存在此order_sn * @return order_sn */ protected function _orderSn() { $map = array(); $map['order_sn'] = order_sn(); if ($this->where($map)->find()) { return $this->_orderSn(); } else { return $map['order_sn']; } }
/** * 生成10位order_sn */ function order_sn() { static $seed = array(); $rs = mt_rand(1000000000, 9999999999); if (in_array($rs, $seed)) { return order_sn(); } else { $seed[] = $rs; return $rs; } }
public function apply_success() { if (IS_POST) { if ($_SESSION['Repair']) { $data['rp_sn'] = order_sn(); $data['goods_id'] = intval($_SESSION['Repair']['goods_id']); $data['spec_id'] = intval($_SESSION['Repair']['spec_id']); $data['bd_id'] = intval($_SESSION['Repair']['bd_id']); $data['machine_code'] = str_rp($_SESSION['Repair']['machine_code'], 1); $data['spec_name'] = str_rp($_SESSION['Repair']['spec_name'], 1); $data['content'] = str_rp($_SESSION['Repair']['content']); $data['member_id'] = $this->mid; $data['addtime'] = NOW_TIME; $data['express_style'] = intval($_POST['style']); if (empty(str_rp($_POST['express2'], 1))) { $data['express'] = str_rp($_POST['express'], 1); } else { $data['express'] = str_rp($_POST['express2'], 1); } $data['express_sn'] = trim($_POST['express_sn']); $data['rp_status'] = 0; } else { $this->error('申请表单验证失败', U('apply')); } $res = $this->model->add($data); if ($res) { unset($_SESSION['Repair']); $log['rp_id'] = $res; $log['log_content'] = '会员申请维修机器号' . $data['machine_code']; $log['log_time'] = NOW_TIME; $log['is_view'] = 1; M('RepairLog')->add($log); $this->display(); } else { $this->error('申请维修失败.'); } } }
/** * 未支付订单完成支付 */ public function payTask() { $where['goods_id'] = intval($_GET['id']); if ($where['goods_id']) { $where['seller_id'] = $this->mid; $task = $this->model->where($where)->find; if ($task['pay_result'] == 10) { $predeposit = M('Seller')->where(array('seller_id' => $this->mid))->getField('predeposit'); $amount = $task['goods_amount']; if ($predeposit < $amount) { $this->error('预存款不足,请进行充值', U('Member/recharge', array('price' => $amount - $predeposit))); } else { $pay['predeposit'] = $predeposit - $amount; $frozen = M('Seller')->where(array('seller_id' => $this->mid))->getField('frozen'); $pay['frozen'] = $frozen + $amount; $result = M('Seller')->where(array('seller' => $this->mid))->save($pay); $res = $task['goods_id']; $this->model->where(array('goods_id' => $res, 'seller_id' => $this->mid))->setInc('frozen_amount', $amount); if ($result) { $crs = $this->model->where(array('goods_id' => $res, 'seller_id' => $this->mid))->setField('pay_result', 20); //生成账单日志 $data['order_sn'] = 'S2_' . order_sn(); $data['seller_id'] = $this->mid; $data['buyer_name'] = get_seller_nickname($data['seller_id']); $data['order_type'] = 2; $data['payment_id'] = 0; $data['payment_name'] = '预存款转入冻结款'; $data['payment_time'] = NOW_TIME; $data['shipping_express_id'] = 0; $data['goods_amount'] = price_format($_POST['amount']); $data['order_title'] = '任务id:' . $res . '冻结' . $data['goods_amount'] . '金币'; $data['discount'] = 0; $data['order_amount'] = $data['goods_amount'] - $data['discount']; $data['order_state'] = 10; $data['add_time'] = NOW_TIME; $rc = $this->orderModel->add($data); if ($crs) { $bill_data['seller_id'] = $this->mid; $bill_data['bill_log'] = '发布普通任务,任务号:' . $res . '冻结' . $amount; $bill_data['amount'] = $amount; $bill_data['balance'] = $pay['predeposit']; $bill_data['addtime'] = NOW_TIME; $bill_data['bill_type'] = -2; //冻结 M('SellerBill')->add($bill_data); } } $this->success('任务支付成功'); } } else { $this->error('非法操作'); } } else { $this->error('非法操作'); } }
public function getPurchase() { if (IS_AJAX) { $goods_id = intval($_POST['id']); if ($goods_id) { $info = M('Goods')->where(array('goods_id' => $goods_id, 'goods_status' => 1, 'pay_result' => 20))->find(); if (!empty($info)) { if ($info['goods_storage'] == 0) { $this->error('该商品已经没有库存啦.'); } if ($info['start_time'] > NOW_TIME) { $this->error('该活动还没开启.'); } if ($info['end_time'] < NOW_TIME) { $this->error('该活动已经结束.'); } //购买限制. if ($info['buy_limit']) { $limit_where['member_id'] = $this->mid; $limit_where['goods_id'] = $goods_id; $limit_where['order_state'] = array('neq', -2); $limit_where['goods_type_id'] = 3; $limit_where['add_time'] = array('gt', NOW_TIME - $info['buy_limit'] * 24 * 60 * 60); $order_count = M('Order')->where($limit_where)->count(); if ($order_count) { $this->error('该订单在' . $info['buy_limit'] . '日内只能购买一次.'); } } $rms = M('Member')->where(array('member_id' => $this->mid))->setDec('predeposit', MSC('gain_purchase_cost')); $predeposit = M('Member')->where(array('member_id' => $this->mid))->getField('predeposit'); //写入流水账单 $bill['member_id'] = $this->mid; $bill['bill_log'] = '获取资格花费金币'; $bill['amount'] = MSC('gain_purchase_cost'); $bill['balance'] = $predeposit; $bill['addtime'] = NOW_TIME; $bill['bill_type'] = -1; M('MemberBill')->add($bill); if ($rms) { //扣去库存 M('Goods')->where(array('goods_id' => $goods_id, 'goods_status' => 1, 'pay_result' => 20))->setDec('goods_storage'); M('Goods')->where(array('goods_id' => intval($_POST['goods_id']), 'goods_status' => 1, 'pay_result' => 20))->setInc('goods_sales'); //生成订单 $data['goods_type_id'] = 3; $data['order_sn'] = order_sn(); $data['seller_id'] = $info['seller_id']; $data['member_id'] = $this->mid; $data['buyer_name'] = M('Member')->where(array('member_id' => $data['member_id']))->getField('nickname'); $data['goods_amount'] = $info['goods_o_price']; $data['discount'] = 0; $data['order_amount'] = $info['goods_o_price']; $data['order_state'] = 1; $data['add_time'] = NOW_TIME; $data['goods_id'] = $goods_id; $order_id = M('Order')->add($data); if ($order_id) { //写入订单日志 $order_log['order_id'] = $order_id; $order_log['order_state'] = '接取分享购任务'; $order_log['step_id'] = 1; $order_log['log_content'] = '接取分享购任务'; $order_log['log_time'] = NOW_TIME; $order_log['operator'] = '会员' . $data['member_id']; M('OrderLog')->add($order_log); echo true; } else { echo false; } } else { echo false; } } } } }
public function editOrder() { if (IS_POST) { $order_id = intval($_POST['order_id']); $issuper = M('Admin')->where(array('admin_id' => AID))->getField('admin_issuper'); if (!$issuper) { $order_where['creat_admin_id'] = array('in', '0,' . AID); } $order_where['order_id'] = $order_id; $order = $this->model->where($order_where)->find(); if (empty($order)) { $this->error('非法操作'); } $data['order_sn'] = order_sn(); $data['out_sn'] = str_rp($_POST['out_sn'], 1); $data['buyer_name'] = str_rp($_POST['true_name'], 1); $data['payment_time'] = strtotime($_POST['payment_time']); $data['add_time'] = strtotime($_POST['add_time']); $data['discount'] = floatval($_POST['discount']); $data['order_amount'] = floatval($_POST['order_amount']); $data['email'] = str_rp($_POST['email'], 1); if ($data['email']) { saveContact($data['email'], 'email', '订单'); $member_id = M('Member')->where(array('email' => $data['email']))->getField('member_id'); } $data['mobile'] = str_rp($_POST['mob_phone'], 1); if ($data['mobile']) { saveContact($data['mobile'], 'mobile', '订单'); $member_id = M('Member')->where(array('mobile' => $data['mobile']))->getField('member_id'); } if ($member_id) { $data['member_id'] = $member_id; } else { $data['member_id'] = 0; } $data['source'] = str_rp($_POST['source'], 1); $data['creat_admin_id'] = AID; $data['customer_id'] = intval($_POST['customer_id']); $res = $this->model->where($order_where)->save($data); $data['OrderAddress']['company_name'] = str_rp($_POST['company_name'], 1); $data['OrderAddress']['true_name'] = $data['buyer_name']; $data['OrderAddress']['buyer_id'] = $data['member_id']; $data['OrderAddress']['prov_id'] = intval($_POST['province_id']); $data['OrderAddress']['city_id'] = intval($_POST['city_id']); $data['OrderAddress']['area_id'] = intval($_POST['area_id']); $data['OrderAddress']['address'] = str_rp($_POST['address'], 1); $data['OrderAddress']['zip_code'] = intval($_POST['zip_code']); $data['OrderAddress']['mob_phone'] = $data['mobile']; $data['OrderAddress']['email'] = $data['email']; $data['OrderAddress']['add_time'] = $data['add_time']; M('OrderAddress')->where(array('order_id' => $order_id))->save($data['OrderAddress']); $data['OrderLog'][0]['order_state'] = '订单完成'; $data['OrderLog'][0]['log_time'] = $data['add_time']; $data['OrderLog'][0]['state_info'] = '管理员录入订单'; $data['OrderLog'][0]['operator'] = '管理员-' . get_admin_nickname(AID); M('OrderLog')->where(array('order_id' => $order_id))->add($data['OrderLog'][0]); foreach ($_POST['goods'] as $key => $val) { $goods = M('Goods')->where(array('goods_id' => $val['goods_id']))->find(); if (!empty($goods)) { $data['OrderGoods'][$key]['order_id'] = $order_id; $data['OrderGoods'][$key]['goods_id'] = $goods['goods_id']; $data['OrderGoods'][$key]['goods_price'] = $val['goods_price']; $data['OrderGoods'][$key]['goods_mkprice'] = $val['goods_mktprice']; $data['OrderGoods'][$key]['goods_num'] = $val['goods_num']; $data['OrderGoods'][$key]['goods_name'] = $goods['goods_name']; $data['OrderGoods'][$key]['goods_image'] = $goods['goods_pic']; } } M('OrderGoods')->where(array('order_id' => $order_id))->delete(); M('OrderGoods')->addAll($data['OrderGoods']); if (empty(intval($_POST['customer_id']))) { $customer['company_name'] = str_rp($_POST['company_name'], 1); $customer['customer_name'] = $data['buyer_name']; $customer['province_id'] = intval($_POST['province_id']); $customer['city_id'] = intval($_POST['city_id']); $customer['district_id'] = intval($_POST['area_id']); $customer['address'] = str_rp($_POST['address'], 1); $customer['zip_code'] = intval($_POST['zip_code']); $customer['mobile'] = $data['mobile']; $customer['email'] = $data['email']; $customer['creat_admin_id'] = AID; $customer['create_time'] = NOW_TIME; $customer['status'] = 1; $customer['remark'] = '来自订单录入'; $customer['sort'] = 0; if (!empty($customer['company_name']) || !empty($customer['customer_name'])) { M('Customer')->add($customer); } } if ($res) { $this->success('录入订单成功', U('order')); } else { $this->error('录入订单失败'); } } elseif (IS_GET) { $order_id = intval($_GET['order_id']); $order_where['order_id'] = $order_id; $issuper = M('Admin')->where(array('admin_id' => AID))->getField('admin_issuper'); if (!$issuper) { $order_where['creat_admin_id'] = array('in', '0,' . AID); } $order = $this->model->relation(true)->where($order_where)->find(); if (empty($order)) { $this->error('非法操作'); } else { $this->order = $order; } $province = M('District')->where(array('level' => 1, 'status' => 1))->order('d_sort')->select(); $city = M('District')->where(array('level' => 2, 'status' => 1, 'upid' => $order['prov_id']))->order('d_sort')->select(); $area = M('District')->where(array('level' => 3, 'status' => 1, 'upid' => $order['city_id']))->order('d_sort')->select(); $this->assign('province', $province); $this->assign('city', $city); $this->assign('area', $area); $this->display('addOrder'); } }
public function autoPublish() { $this->orderModel = D('SellerOrder'); $where['plan_status'] = 1; $where['next_publish_time'] = array('elt', NOW_TIME); $list = M('PublishPlan')->where($where)->select(); foreach ($list as $key => $val) { if ($val['goods_id']) { $map['goods_id'] = $val['goods_id']; $plan_goods = M('Goods')->where($map)->find(); unset($plan_goods['goods_id']); if ($plan_goods['goods_status'] != -1) { $plan_goods['goods_status'] = 1; $plan_goods['frozen_amount'] = 0; $plan_goods['pay_result'] = 20; $plan_goods['temp_name'] = ''; $amount = $plan_goods['goods_amount']; $predeposit = M('Seller')->where(array('seller_id' => $plan_goods['seller_id']))->getField('predeposit'); if ($predeposit < $amount) { $res = $this->model->add($plan_goods); if ($res) { $plan['plan_finish_num'] = $val['plan_finish_num'] + 1; $plan['last_publish_time'] = NOW_TIME; if ($plan['plan_finish_num'] < $val['plan_days'] * $val['plan_publish_num']) { } else { $plan['plan_status'] = 0; } $plan['next_publish_time'] = M('PublishPlan')->where(array('plan_id' => $val['plan_id']))->save($plan); //图片保存 $goods_pic = M('GoodsPic')->where(array('goods_id' => $plan_goods['goods_id']))->select(); if (!empty($goods_pic)) { foreach ($goods_pic as $key => $vo) { $pic[$key]['goods_id'] = $res; $pic[$key]['pic'] = $vo['pic']; $pic[$key]['p_sort'] = 0; } $gpr = M('GoodsPic')->addAll($pic); } //vip $goods_option = M('GoodsOption')->where(array('goods_id' => $plan_goods['goods_id']))->select(); if (!empty($goods_option)) { if (is_array($goods_option)) { foreach ($goods_option as $key => $vo) { $option_data['goods_id'] = $res; $option_data['option_id'] = $vo['option_id']; M('GoodsOption')->add($option_data); } } } $pay['predeposit'] = $predeposit - $amount; $frozen = M('Seller')->where(array('seller_id' => $plan_goods['seller_id']))->getField('frozen'); $pay['frozen'] = $frozen + $amount; $result = M('Seller')->where(array('seller_id' => $plan_goods['seller_id']))->save($pay); $this->model->where(array('goods_id' => $res, 'seller_id' => $plan_goods['seller_id']))->setInc('frozen_amount', $amount); if ($result) { $crs = $this->model->where(array('goods_id' => $res, 'seller_id' => $plan_goods['seller_id']))->setField('pay_result', 20); //生成账单日志 $data['order_sn'] = 'S2_' . order_sn(); $data['seller_id'] = $plan_goods['seller_id']; $data['buyer_name'] = get_seller_nickname($plan_goods['seller_id']); $data['order_type'] = 2; $data['payment_id'] = 0; $data['payment_name'] = '预存款转入冻结款'; $data['payment_time'] = NOW_TIME; $data['shipping_express_id'] = 0; $data['goods_amount'] = price_format($amount); $data['order_title'] = '任务id:' . $res . '冻结' . $data['goods_amount'] . '金币'; $data['discount'] = 0; $data['order_amount'] = $data['goods_amount'] - $data['discount']; $data['order_state'] = 10; $data['add_time'] = NOW_TIME; $rc = $this->orderModel->add($data); if ($crs) { $bill_data['seller_id'] = $this->mid; $bill_data['bill_log'] = '定时发布普通任务,任务号:' . $res . '冻结' . $amount; $bill_data['amount'] = $amount; $bill_data['balance'] = $pay['predeposit']; $bill_data['addtime'] = NOW_TIME; $bill_data['bill_type'] = -2; //冻结 $bres = M('SellerBill')->add($bill_data); } else { } } else { } } else { } } else { } } else { } } } }
public function reserve() { if (!$this->mid) { // json_return(300,'请先登录.',array(),U('Login/index')); $this->error('请先登录', U('Login/index')); } $goods_id = intval($_POST['goods_id']); $spec_id = intval($_POST['spec_id']); $num = intval($_POST['num']); if ($num) { if ($spec_id) { $goods_id = M('GoodsSpec')->where(array('spec_id' => $spec_id))->getField('goods_id'); } $goods = M('Goods')->where(array('goods_id' => $goods_id))->find(); if (get_distributor($this->mid)) { $cdisc = MSC('distributor_discount'); } else { $cdisc = 1; } $data['order_sn'] = order_sn(); $data['member_id'] = $this->mid; $data['order_type'] = 2; $data['goods_amount'] = $cdisc * get_discount($num) * $num * $goods['goods_price']; $data['discount'] = 0; $data['order_amount'] = $data['goods_amount'] - $data['discount']; $data['order_state'] = 0; $data['add_time'] = NOW_TIME; $data['goods_id'] = $goods_id; $data['spec_id'] = $spec_id; $data['reserve_num'] = $num; $res = M('Reserve')->add($data); if ($res) { $this->success('预订成功', $_SERVER['HTTP_REFERER']); // json_return(200,'预订成功.'); } else { $this->error('预订失败'); // json_return(300,'预定失败.'); } } else { $this->error('预订数量不能为空'); json_return(300, '预订数量不能为空'); } }
/** * 浏览收藏任务 */ public function browse() { if (IS_POST) { //计算所需价格 $vip = vip_level($this->mid); $goods_o_price = intval($_POST['goods_o_price'] * 100) / 100; $tax_rate = MSC('tax_rate'); $goods_storage = intval($_POST['goods_storage']); $freight = intval($_POST['freight'] * 100) / 100; $goods_min_num = intval($_POST['goods_min_num']); $goods_price = ($goods_o_price * $goods_min_num + $freight) * $tax_rate; $add_bounty = intval($_POST['add_bounty'] * 100) / 100; $amount = ($goods_o_price * $goods_min_num + $freight) * $goods_storage + $goods_price * $goods_storage + $add_bounty * $goods_storage; $option = $_POST['vip_select']; //vip服务 if (intval($_POST['vip_service'])) { $data['limit_id'] = intval($_POST['limit_id']); if (!empty($option)) { $vip_discount = get_vip_discount($vip); if (is_array($option)) { foreach ($option as $key => $val) { $amount += M('VipOption')->where(array('option_id' => $val))->getField('option_price') * $goods_storage * $vip_discount; } } } if (intval($_POST['limit_id'])) { $amount += M('GoodsLimit')->where(array('limit_id' => intval($_POST['limit_id']), 'status' => 1))->getField('price'); } $data['add_comment'] = str_rp(trim($_POST['add_comment'])); } //计划任务 if (intval($_POST['plan']) && intval($_POST['plan_days']) && intval($_POST['plan_publish_num']) && intval($_POST['interval_time'])) { $plan_click = intval($_POST['plan_days']) * intval($_POST['plan_publish_num']); $amount += $plan_click * MSC('plan_cost'); } //保存主图 if (!empty($_POST['pic'])) { $data['goods_pic'] = $_POST['pic'][0]; } //数据整合处理 $data['seller_id'] = $this->mid; $data['goods_name'] = str_rp(trim($_POST['goods_name'])); $data['goods_url'] = str_rp(trim($_POST['goods_url'])); $data['goods_o_price'] = $goods_o_price; $data['goods_storage'] = $goods_storage; $data['goods_price'] = $goods_price; //$data['goods_price'] = $goods_price*(1-(MSC('website_bonus')/100)); $data['goods_min_num'] = $goods_min_num; $data['freight'] = $freight; $data['goods_amount'] = $amount; $data['add_bounty'] = $add_bounty; $data['search_key'] = str_rp(trim($_POST['search_key'])); $data['search_tip'] = str_rp(trim($_POST['search_tip'])); $data['comment'] = str_rp(trim($_POST['comment'])); $data['pf_id'] = intval($_POST['web_platform']); $data['web_platform'] = M('Platform')->where(array('pf_id' => $data['pf_id']))->getField('pf_name'); $data['account_id'] = M('SellerAccount')->where(array('account_id' => intval($_POST['account_id']), 'seller_id' => $this->mid, 'status' => 1))->getField('account_id'); $data['goods_type_id'] = 4; $data['pay_result'] = 10; $data['goods_status'] = 1; $data['add_time'] = NOW_TIME; $data['has_word'] = $_POST['zi']; $device_id = intval($_POST['device_id']); if ($device_id == 1) { $data['goods_device'] = '手机'; } elseif ($device_id == 2) { $data['goods_device'] = '电脑'; } //保存模板 if (intval($_POST['save_temp'])) { $data['temp_name'] = str_rp(trim($_POST['temp_name'])); } $res = $this->model->add($data); if ($res) { //图片保存(上传) if (!empty($_POST['pic'])) { foreach ($_POST['pic'] as $key => $val) { $pic[$key]['goods_id'] = $res; $pic[$key]['pic'] = $val; $pic[$key]['p_sort'] = 0; } $gpr = M('GoodsPic')->addAll($pic); } //计划任务 if (intval($_POST['plan']) && intval($_POST['plan_days']) && intval($_POST['plan_publish_num']) && intval($_POST['interval_time'])) { $plan_data['goods_id'] = $res; $plan_data['plan_days'] = intval($_POST['plan_days']); $plan_data['plan_publish_num'] = intval($_POST['plan_publish_num']); $plan_data['plan_interval'] = intval($_POST['interval_time']) * 60; $plan_data['plan_days_start'] = intval($_POST['hours']) * 60 * 60 + intval($_POST['minute']) * 60; $rpd = M('PublishPlan')->add($plan_data); } //vip if (!empty($option)) { if (is_array($option)) { foreach ($option as $key => $val) { $option_data['goods_id'] = $res; $option_data['option_id'] = $val; M('GoodsOption')->add($option_data); } } } $predeposit = M('Seller')->where(array('seller_id' => $this->mid))->getField('predeposit'); if ($predeposit < $amount) { $this->error('预存款不足,请进行充值', U('Member/recharge', array('price' => $amount - $predeposit))); } else { $pay['predeposit'] = $predeposit - $amount; $frozen = M('Seller')->where(array('seller_id' => $this->mid))->getField('frozen'); $pay['frozen'] = $frozen + $amount; $result = M('Seller')->where(array('seller' => $this->mid))->save($pay); $this->model->where(array('goods_id' => $res, 'seller_id' => $this->mid))->setInc('frozen_amount', $amount); if ($result) { $crs = $this->model->where(array('goods_id' => $res, 'seller_id' => $this->mid))->setField('pay_result', 20); //生成账单日志 $data['order_sn'] = 'S2_' . order_sn(); $data['seller_id'] = $this->mid; $data['buyer_name'] = get_seller_nickname($data['seller_id']); $data['order_type'] = 2; $data['payment_id'] = 0; $data['payment_name'] = '预存款转入冻结款'; $data['payment_time'] = NOW_TIME; $data['shipping_express_id'] = 0; $data['goods_amount'] = price_format($amount); $data['order_title'] = '任务id:' . $res . '冻结' . $data['goods_amount'] . '金币'; $data['discount'] = 0; $data['order_amount'] = $data['goods_amount'] - $data['discount']; $data['order_state'] = 10; $data['add_time'] = NOW_TIME; $rc = $this->orderModel->add($data); if ($crs) { $bill_data['seller_id'] = $this->mid; $bill_data['bill_log'] = '发布浏览收藏任务,任务号:' . $res . '冻结' . $amount; $bill_data['amount'] = $amount; $bill_data['balance'] = $pay['predeposit']; $bill_data['addtime'] = NOW_TIME; $bill_data['bill_type'] = -2; //冻结 M('SellerBill')->add($bill_data); } } $this->success('发布任务成功'); } } else { $this->error('发布任务失败'); } } elseif (IS_GET) { $where['select_status'] = 1; $vip_option = $this->vipOptionModel->relation(true)->where($where)->order($this->order)->select(); $platform = M('Platform')->order('pf_sort desc')->select(); $map['temp_name'] = array('neq', ''); $map['seller_id'] = $this->mid; $template = $this->model->where($map)->order('add_time desc')->select(); $this->assign('template', $template); $this->assign('platform', $platform); $this->assign('vip_option', $vip_option); $this->h3_title = '浏览收藏任务'; $this->display('publish'); } }
/** * 生成订单 */ public function creatOrder() { $addr_id = intval($_POST['addr_id']); $addr_info = M('MemberAddrs')->where(array('addr_id' => $addr_id))->find(); $goods_list = M('OrderGoods')->where(array('order_id' => 0, 'member_id' => $this->mid))->select(); if (!empty($addr_info)) { $data['order_sn'] = order_sn(); $data['member_id'] = $this->mid; $data['buyer_name'] = get_member_nickname($this->mid); switch (trim($_POST['pay_type'])) { case 1: $data['payment_name'] = 'alipay'; break; case 2: $data['payment_name'] = 'bdpay'; break; } $data['shipping_fee'] = 0; $data['goods_amount'] = 0; $data['discount'] = 0; $data['order_amount'] = 0; if (empty($goods_list)) { $this->error('您还没有选择好商品哦.', U('Cart/index')); } foreach ($goods_list as $key => $val) { //计算价格同时清除购物车里的商品 $Cart = new Cart(); $Cart->delItem($val['goods_id']); $goods_price = M('Goods')->where(array('goods_id' => $val['goods_id']))->getField('goods_price'); if (get_distributor($this->mid)) { $goods_price = $goods_price * MSC('distributor_discount'); } $data['goods_amount'] += $goods_price * $val['goods_num']; $data['discount'] += $data['goods_amount'] * (1 - get_discount($val['goods_num'])); //冻结库存 M('Goods')->where(array('goods_id' => $val['goods_id']))->setDec('goods_storage', $val['goods_num']); M('Goods')->where(array('goods_id' => $val['goods_id']))->setInc('goods_freez', $val['goods_num']); } $data['order_amount'] = $data['goods_amount'] - $data['discount']; $data['order_message'] = str_rp($_POST['order_message'], 1); $member = M('Member')->where(array('member_id' => $this->mid))->field('mobile,email')->find(); $data['mobile'] = $member['mobile']; $data['email'] = $member['email']; $data['order_state'] = 10; $data['add_time'] = NOW_TIME; $order_id = M('Order')->add($data); if ($order_id) { //认领订单商品 已从购物车页面写入 M('OrderGoods')->where(array('order_id' => 0, 'member_id' => $this->mid))->setField('order_id', $order_id); //生成物流地址 $address_data['order_id'] = $order_id; $address_data['buyer_id'] = $this->mid; $address_data['true_name'] = $addr_info['name']; $address_data['prov_id'] = $addr_info['province_id']; $address_data['city_id'] = $addr_info['city_id']; $address_data['area_id'] = $addr_info['area_id']; $address_data['address'] = $addr_info['addr']; $address_data['zip_code'] = $addr_info['zip']; $address_data['mob_phone'] = $addr_info['mobile']; $address_data['add_time'] = NOW_TIME; M('OrderAddress')->add($address_data); //订单日志 $log_data['order_id'] = $order_id; $log_data['order_state'] = get_order_state_name(10); $log_data['change_state'] = get_order_state_name(20); $log_data['state_info'] = '会员确认订单'; $log_data['log_time'] = NOW_TIME; $log_data['operator'] = '会员'; M('OrderLog')->add($log_data); //进行支付跳转 switch (trim($_POST['pay_type'])) { case 1: $this->success('订单生成成功', U('Pay/alipay', array('order_sn' => $data['order_sn']))); break; case 2: $this->success('订单生成成功', U('Pay/bdpay', array('order_sn' => $data['order_sn']))); break; } } } else { $this->error('请选择收货地址'); } }