基本信息
源码名称:微信小程序后台api接口源码
源码大小:2.06M
文件格式:.rar
开发语言:PHP
更新时间:2018-04-16
友情提示:(无需注册或充值,赞助后即可获取资源下载链接)
嘿,亲!知识可是无价之宝呢,但咱这精心整理的资料也耗费了不少心血呀。小小地破费一下,绝对物超所值哦!如有下载和支付问题,请联系我们QQ(微信同号):813200300
本次赞助数额为: 1 元×
微信扫码支付:1 元
×
请留下您的邮箱,我们将在2小时内将文件发到您的邮箱
源码介绍
defined('BASEPATH') OR exit('No direct script access allowed');
use \QCloud_WeApp_SDK\Auth\LoginService as LoginService;
use QCloud_WeApp_SDK\Constants as Constants;
class Orders extends MY_Controller {
public function __construct() {
parent::__construct();
$this->load->driver('cache', array('adapter' => 'file'));
}
/**
* orders
*/
public function index() {
$get = $this->input->get(NULL, TRUE);
$act = isset($get['act']) ? $get['act'] : '';
if ($act == 'list') {
$this->get_list();
} else if ($act == 'add') {
$this->add();
} else if ($act == 'info') {
$this->info();
} else {
$this->json([
'code' => -1,
'msg' => '参数异常!',
'data' => []
]);
}
}
/**
* 订单列表
*/
public function get_list() {
$get = $this->input->get(NULL, TRUE);
$session3rd = isset($get['session3rd']) ? $get['session3rd'] : '';
$sessionid = $this->cache->get($session3rd);
$page = isset($get['page']) ? $get['page'] : 1;
$status = isset($get['status']) ? $get['status'] : 'all';
$limit = isset($get['limit']) ? $get['limit'] : 10;
if ($sessionid) {
$dat = explode('-', $sessionid);
$openid = $dat[0];
switch ($status){
case 'submitted': //已提交
$map=array('openid' => $openid,'status'=>1);
break;
case 'confirmed': //已确认,
$map=array('openid' => $openid,'status'=>2);
break;
case 'finished': //已完成
$map=array('openid' => $openid,'status'=>3);
break;
case 'canceled': //已取消
$map=array('openid' => $openid,'status'=>4);
break;
default:
$map=array('openid' => $openid);
}
$this->db->where($map);
$result['total'] = $this->db->count_all_results('orders');
if ($limit > 0) {
$this->db->limit($limit, ($page - 1) * $limit);
}
$result['items']=array();
$items= $this->db->get('orders')->result_array();
$result['totalPage'] = ceil($result['total'] / $limit);
foreach($items as $key=>$v){
$result['items'][$key]=$v;
$result['items'][$key]['goods']=$this->getOrderGood($v['orderid']);
}
$this->json([
'code' => 0,
'msg' => '成功!',
'data' => $result
]);
} else {
$this->json([
'code' => -4,
'msg' => '登录过期!',
'data' => []
]);
}
}
/**
* 提交订单
* @return booleant
*/
public function add() {
$get = $this->input->get(NULL, TRUE);
$address_id = isset($get['address_id']) ? $get['address_id'] : '';
$session3rd = isset($get['session3rd']) ? $get['session3rd'] : '';
$sessionid = $this->cache->get($session3rd);
if ($sessionid) {
$totalprice = 0;
$dat = explode('-', $sessionid);
$params = $this->db->where(array('openid' => $dat[0], 'selected' => 1))->get('cart')->result_array();
if ($params) {
foreach ($params as $v) {
$totalprice = abs($v['price'] * $v['num']);
$result = $this->db->where(array('id' => $v['good_id']))->get('product')->row_array();
if (empty($result)) {
$this->json([ 'code' => -1, 'msg' => '产品不存在!', 'data' => []]);
return false;
}
}
$address = $this->getAddress($address_id, $dat[0]);
$order = array(
'ordersn' => time() . rand(10000, 99999),
'openid' => $dat[0],
'username' => $dat[0],
'totalprice' => $totalprice,
'address_id' => $address_id,
'address' => $address,
'status' =>1,
'addtime' => time()
);
$insert=$this->db->insert('orders', $order);
$insertid=$this->db->insert_id();
if ($insert) {
$this->addGoods($insertid,$params);
$this->json([
'code' => 0,
'msg' => '成功!',
'data' => array('id' =>$insertid)
]);
} else {
$this->json([
'code' => -1,
'msg' => '失败!',
'data' => []
]);
}
} else {
$this->json([
'code' => -1,
'msg' => '失败!',
'data' => []
]);
}
} else {
$this->json([
'code' => -4,
'msg' => '登录过期!',
'data' => []
]);
}
}
/**
* 订单详情
*/
public function info() {
$get = $this->input->get(NULL, TRUE);
$orderid = isset($get['id']) ? $get['id'] : '';
$session3rd = isset($get['session3rd']) ? $get['session3rd'] : '';
$sessionid = $this->cache->get($session3rd);
if ($sessionid) {
$dat = explode('-', $sessionid);
$result = $this->db->where(array('openid' => $dat[0], 'orderid' => $orderid))->get('orders')->row_array();
if ($result) {
$address = $this->db->where(array('openid' => $dat[0], 'id' => $result['address_id']))->get('address')->row_array();
$result['address'] = $address;
$result['items'] = $this->getOrderGood($orderid);
$this->json([
'code' => 0,
'msg' => '成功!',
'data' => $result
]);
} else {
$this->json([
'code' => -1,
'msg' => '失败!',
'data' => []
]);
}
} else {
$this->json([
'code' => -4,
'msg' => '登录过期!',
'data' => []
]);
}
}
/**
* 收货地址
* @param type $address_id
* @param type $openid
* @return type
*/
protected function getAddress($address_id,$openid) {
$data = $this->db->where(array('id' => $address_id,'openid'=>$openid))->get('address')->row_array();
if($data){
return $data['name'].'---'.$data['tel'].'---'.$data['address'];
}else{
return '';
}
}
/**
* 订单商品
* @param type $address_id
* @param type $openid
* @return type
*/
protected function getOrderGood($orderid) {
$data = $this->db->where(array('orderid' => $orderid))->get('order_info')->result_array();
return $data;
}
/**
* 订单商品添加
* @param type $orderid 订单id
* @param type $params 订单商品
*/
protected function addGoods($orderid, $params) {
foreach ($params as $v) {
$data = array(
'orderid' => $orderid,
'good_id' => $v['good_id'],
'good_name' => $v['good_name'],
'image' => $v['image'],
'price' => $v['price'],
'num' => $v['num'],
'totalprice' => abs($v['price'] * $v['num'])
);
$this->db->insert('order_info', $data);
$this->db->where(array('openid' => $v['openid'], 'good_id' => $v['good_id']))->delete('cart');
}
}
}
此实例为小程序的后端api接口,前端程序在这里 http://www.haolizi.net/example/view_14959.html
appid 数据库名称修改成自己的 就可以了
orders.php
<?php
defined('BASEPATH') OR exit('No direct script access allowed');
use \QCloud_WeApp_SDK\Auth\LoginService as LoginService;
use QCloud_WeApp_SDK\Constants as Constants;
class Orders extends MY_Controller {
public function __construct() {
parent::__construct();
$this->load->driver('cache', array('adapter' => 'file'));
}
/**
* orders
*/
public function index() {
$get = $this->input->get(NULL, TRUE);
$act = isset($get['act']) ? $get['act'] : '';
if ($act == 'list') {
$this->get_list();
} else if ($act == 'add') {
$this->add();
} else if ($act == 'info') {
$this->info();
} else {
$this->json([
'code' => -1,
'msg' => '参数异常!',
'data' => []
]);
}
}
/**
* 订单列表
*/
public function get_list() {
$get = $this->input->get(NULL, TRUE);
$session3rd = isset($get['session3rd']) ? $get['session3rd'] : '';
$sessionid = $this->cache->get($session3rd);
$page = isset($get['page']) ? $get['page'] : 1;
$status = isset($get['status']) ? $get['status'] : 'all';
$limit = isset($get['limit']) ? $get['limit'] : 10;
if ($sessionid) {
$dat = explode('-', $sessionid);
$openid = $dat[0];
switch ($status){
case 'submitted': //已提交
$map=array('openid' => $openid,'status'=>1);
break;
case 'confirmed': //已确认,
$map=array('openid' => $openid,'status'=>2);
break;
case 'finished': //已完成
$map=array('openid' => $openid,'status'=>3);
break;
case 'canceled': //已取消
$map=array('openid' => $openid,'status'=>4);
break;
default:
$map=array('openid' => $openid);
}
$this->db->where($map);
$result['total'] = $this->db->count_all_results('orders');
if ($limit > 0) {
$this->db->limit($limit, ($page - 1) * $limit);
}
$result['items']=array();
$items= $this->db->get('orders')->result_array();
$result['totalPage'] = ceil($result['total'] / $limit);
foreach($items as $key=>$v){
$result['items'][$key]=$v;
$result['items'][$key]['goods']=$this->getOrderGood($v['orderid']);
}
$this->json([
'code' => 0,
'msg' => '成功!',
'data' => $result
]);
} else {
$this->json([
'code' => -4,
'msg' => '登录过期!',
'data' => []
]);
}
}
/**
* 提交订单
* @return booleant
*/
public function add() {
$get = $this->input->get(NULL, TRUE);
$address_id = isset($get['address_id']) ? $get['address_id'] : '';
$session3rd = isset($get['session3rd']) ? $get['session3rd'] : '';
$sessionid = $this->cache->get($session3rd);
if ($sessionid) {
$totalprice = 0;
$dat = explode('-', $sessionid);
$params = $this->db->where(array('openid' => $dat[0], 'selected' => 1))->get('cart')->result_array();
if ($params) {
foreach ($params as $v) {
$totalprice = abs($v['price'] * $v['num']);
$result = $this->db->where(array('id' => $v['good_id']))->get('product')->row_array();
if (empty($result)) {
$this->json([ 'code' => -1, 'msg' => '产品不存在!', 'data' => []]);
return false;
}
}
$address = $this->getAddress($address_id, $dat[0]);
$order = array(
'ordersn' => time() . rand(10000, 99999),
'openid' => $dat[0],
'username' => $dat[0],
'totalprice' => $totalprice,
'address_id' => $address_id,
'address' => $address,
'status' =>1,
'addtime' => time()
);
$insert=$this->db->insert('orders', $order);
$insertid=$this->db->insert_id();
if ($insert) {
$this->addGoods($insertid,$params);
$this->json([
'code' => 0,
'msg' => '成功!',
'data' => array('id' =>$insertid)
]);
} else {
$this->json([
'code' => -1,
'msg' => '失败!',
'data' => []
]);
}
} else {
$this->json([
'code' => -1,
'msg' => '失败!',
'data' => []
]);
}
} else {
$this->json([
'code' => -4,
'msg' => '登录过期!',
'data' => []
]);
}
}
/**
* 订单详情
*/
public function info() {
$get = $this->input->get(NULL, TRUE);
$orderid = isset($get['id']) ? $get['id'] : '';
$session3rd = isset($get['session3rd']) ? $get['session3rd'] : '';
$sessionid = $this->cache->get($session3rd);
if ($sessionid) {
$dat = explode('-', $sessionid);
$result = $this->db->where(array('openid' => $dat[0], 'orderid' => $orderid))->get('orders')->row_array();
if ($result) {
$address = $this->db->where(array('openid' => $dat[0], 'id' => $result['address_id']))->get('address')->row_array();
$result['address'] = $address;
$result['items'] = $this->getOrderGood($orderid);
$this->json([
'code' => 0,
'msg' => '成功!',
'data' => $result
]);
} else {
$this->json([
'code' => -1,
'msg' => '失败!',
'data' => []
]);
}
} else {
$this->json([
'code' => -4,
'msg' => '登录过期!',
'data' => []
]);
}
}
/**
* 收货地址
* @param type $address_id
* @param type $openid
* @return type
*/
protected function getAddress($address_id,$openid) {
$data = $this->db->where(array('id' => $address_id,'openid'=>$openid))->get('address')->row_array();
if($data){
return $data['name'].'---'.$data['tel'].'---'.$data['address'];
}else{
return '';
}
}
/**
* 订单商品
* @param type $address_id
* @param type $openid
* @return type
*/
protected function getOrderGood($orderid) {
$data = $this->db->where(array('orderid' => $orderid))->get('order_info')->result_array();
return $data;
}
/**
* 订单商品添加
* @param type $orderid 订单id
* @param type $params 订单商品
*/
protected function addGoods($orderid, $params) {
foreach ($params as $v) {
$data = array(
'orderid' => $orderid,
'good_id' => $v['good_id'],
'good_name' => $v['good_name'],
'image' => $v['image'],
'price' => $v['price'],
'num' => $v['num'],
'totalprice' => abs($v['price'] * $v['num'])
);
$this->db->insert('order_info', $data);
$this->db->where(array('openid' => $v['openid'], 'good_id' => $v['good_id']))->delete('cart');
}
}
}