1054 lines
30 KiB
PHP
1054 lines
30 KiB
PHP
<?php
|
|
defined('BASEPATH') or exit('No direct script access allowed');
|
|
|
|
use chriskacerguis\RestServer\RestController;
|
|
|
|
class Api extends RestController
|
|
{
|
|
public function __construct()
|
|
{
|
|
parent::__construct();
|
|
$this->load->model('keranjang_model');
|
|
$this->load->model('produk_model');
|
|
$this->load->model('menu_model');
|
|
$this->load->model('pengguna_model');
|
|
$this->load->model('ulasan_model');
|
|
$this->load->model('pembeli_model');
|
|
$this->load->model('penjualan_model');
|
|
$this->load->model('Chat_model');
|
|
}
|
|
|
|
public function chat_admin_get() {
|
|
$id_admin = $this->get('id');
|
|
$chats = $this->Chat_model->get_chat_by_admin($id_admin);
|
|
|
|
if ($chats)
|
|
{
|
|
$this->response([
|
|
'status' => true,
|
|
'data' => $chats,
|
|
], 200);
|
|
}
|
|
else
|
|
{
|
|
$this->response([
|
|
'status' => false,
|
|
'message' => 'Tidak ada chat'
|
|
], 200);
|
|
}
|
|
}
|
|
|
|
public function chat_all_pembeli_get() {
|
|
$id_pembeli = $this->get('id_pembeli');
|
|
$chats = $this->Chat_model->get_all_chat_by_pembeli($id_pembeli);
|
|
|
|
if ($chats)
|
|
{
|
|
$this->response([
|
|
'status' => true,
|
|
'data' => $chats,
|
|
], 200);
|
|
}
|
|
else
|
|
{
|
|
$this->response([
|
|
'status' => false,
|
|
'message' => 'Tidak ada chat'
|
|
], 200);
|
|
}
|
|
}
|
|
|
|
public function chat_pembeli_get() {
|
|
$id_pembeli = $this->get('id_pembeli');
|
|
$chats = $this->Chat_model->get_chat_by_pembeli($id_pembeli);
|
|
|
|
if ($chats)
|
|
{
|
|
$this->response([
|
|
'status' => true,
|
|
'data' => $chats,
|
|
], 200);
|
|
}
|
|
else
|
|
{
|
|
$this->response([
|
|
'status' => false,
|
|
'message' => 'Tidak ada chat'
|
|
], 200);
|
|
}
|
|
}
|
|
|
|
public function pesanan_get() {
|
|
$pesanan = $this->penjualan_model->get_new_penjualan();
|
|
|
|
if ($pesanan)
|
|
{
|
|
$this->response([
|
|
'status' => true,
|
|
'data' => $chats,
|
|
], 200);
|
|
}
|
|
else
|
|
{
|
|
$this->response([
|
|
'status' => false,
|
|
'message' => 'Tidak ada chat'
|
|
], 200);
|
|
}
|
|
}
|
|
|
|
public function sendChat_post() {
|
|
$data = array(
|
|
"id_admin" => $this->post("id_admin"),
|
|
"id_pembeli" => $this->post("id_pembeli"),
|
|
"pesan" => $this->post("pesan"),
|
|
"sender" => $this->post("sender"),
|
|
"timestamp" => date('Y-m-d H:i:s')
|
|
);
|
|
$result = $this->Chat_model->add_chat($data);
|
|
|
|
$this->response([
|
|
'status' => true,
|
|
'message' => 'Berhasil mengirimkan chat',
|
|
], 200);
|
|
}
|
|
|
|
public function kategori_get() {
|
|
$kategori = $this->produk_model->get_unique_kategori();
|
|
if (!empty($kategori)) {
|
|
$this->response($kategori, 200);
|
|
} else {
|
|
$this->response([
|
|
'status' => FALSE,
|
|
'message' => 'Data kategori tidak ditemukan'
|
|
], 404);
|
|
}
|
|
}
|
|
|
|
public function login_post()
|
|
{
|
|
$username = $this->post('username');
|
|
$password = $this->post('password');
|
|
|
|
$query = $this->pengguna_model->get_by_username($username);
|
|
|
|
if ($query->num_rows() > 0)
|
|
{
|
|
$result = $query->row_array();
|
|
if (password_verify($password, $result['password']))
|
|
{
|
|
|
|
$pembeli = [];
|
|
if ($result['role'] == 'Pembeli')
|
|
{
|
|
$pembeli = $this->pembeli_model->get_by_id_pengguna($result['id_pengguna'])->row_array();
|
|
}
|
|
|
|
$this->response([
|
|
'status' => true,
|
|
'data' => $result,
|
|
'pembeli' => $pembeli,
|
|
'message' => 'Login berhasil'
|
|
], 200);
|
|
}
|
|
else
|
|
{
|
|
$this->response([
|
|
'status' => false,
|
|
'message' => 'Username atau password salah'
|
|
], 200);
|
|
}
|
|
}
|
|
else
|
|
{
|
|
$this->response([
|
|
'status' => false,
|
|
'message' => 'Pengguna tidak terdaftar'
|
|
], 200);
|
|
}
|
|
}
|
|
|
|
public function kirimemail_post()
|
|
{
|
|
$email = $this->post('email');
|
|
$config = [
|
|
'protocol' => 'smtp',
|
|
'smtp_host' => 'ssl://smtp.googlemail.com',
|
|
'smtp_user' => 'ridhoriyadi335@gmail.com',
|
|
'smtp_pass' => 'kmehfkecuzkknlhh',
|
|
'smtp_port' => 465,
|
|
'mailtype' => 'html',
|
|
'charset' => 'utf-8',
|
|
'newline' => "\r\n"
|
|
];
|
|
$token = base64_encode(random_bytes(3));
|
|
$this->email->initialize($config);
|
|
$this->email->from('ridhoriyadi335@gmail.com', 'Token Reset Password');
|
|
$this->email->to($email);
|
|
|
|
$user_token = [
|
|
'email' => $email,
|
|
'token' => $token,
|
|
'date_created' => time()
|
|
];
|
|
|
|
$this->db->insert('user_token', $user_token);
|
|
$this->email->subject('Reset Password');
|
|
$this->email->message('Masukan token ini pada aplikasi : ' . $token);
|
|
|
|
if ($this->email->send())
|
|
{
|
|
return true;
|
|
}
|
|
else
|
|
{
|
|
echo $this->email->print_debugger();
|
|
die;
|
|
}
|
|
}
|
|
|
|
public function resetpassword_post()
|
|
{
|
|
$params = array(
|
|
'password' => password_hash($this->post('password'), PASSWORD_DEFAULT),
|
|
);
|
|
$this->pengguna_model->update_byemail($this->post('email'), $params);
|
|
|
|
$this->response([
|
|
'status' => true,
|
|
'message' => 'Detail akun berhasil diubah'
|
|
], 200);
|
|
}
|
|
|
|
public function cektoken_post()
|
|
{
|
|
$result = $this->pengguna_model->cek_token($this->post('email'), $this->post('token'));
|
|
|
|
if ($result->num_rows() < 1)
|
|
{
|
|
$this->response([
|
|
'status' => false,
|
|
'message' => 'Token Salah'
|
|
], 200);
|
|
}
|
|
else
|
|
{
|
|
$this->response([
|
|
'status' => true,
|
|
'message' => 'Token Sesuai'
|
|
], 200);
|
|
}
|
|
}
|
|
|
|
public function pembeli_post()
|
|
{
|
|
$result = $this->pengguna_model->get_by_username($this->post('username'));
|
|
if ($result->num_rows() > 0)
|
|
{
|
|
$this->response([
|
|
'status' => false,
|
|
'message' => 'Username sudah digunakan'
|
|
], 200);
|
|
}
|
|
else
|
|
{
|
|
$params = array(
|
|
'nama_lengkap' => $this->post('nama_pembeli'),
|
|
'nama_belakang' => $this->post('nama_belakang'),
|
|
'username' => $this->post('username'),
|
|
'email' => $this->post('email'),
|
|
'password' => password_hash($this->post('password'), PASSWORD_DEFAULT),
|
|
'role' => 'Pembeli',
|
|
);
|
|
$id_pengguna = $this->pengguna_model->add_pengguna($params);
|
|
|
|
$params = array(
|
|
'nama_pembeli' => $this->post('nama_pembeli'),
|
|
'alamat' => $this->post('alamat'),
|
|
'no_hp' => $this->post('no_hp'),
|
|
'email' => $this->post('email'),
|
|
'id_pengguna' => $id_pengguna,
|
|
);
|
|
$this->pembeli_model->add_pembeli($params);
|
|
|
|
$this->response([
|
|
'status' => true,
|
|
'message' => 'Registrasi berhasil'
|
|
], 200);
|
|
}
|
|
}
|
|
|
|
public function produk_get()
|
|
{
|
|
$id = $this->get('id');
|
|
|
|
if ($id === null)
|
|
{
|
|
$produk = $this->produk_model->get_all_produk_api()->result_array();
|
|
if ($produk)
|
|
{
|
|
$this->response([
|
|
'status' => true,
|
|
'data' => $produk,
|
|
], 200);
|
|
}
|
|
else
|
|
{
|
|
$this->response([
|
|
'status' => false,
|
|
'message' => 'Tidak ada produk'
|
|
], 200);
|
|
}
|
|
}
|
|
else
|
|
{
|
|
$produk = $this->produk_model->get_produk($id)->row_array();
|
|
if ($produk)
|
|
{
|
|
$this->response([
|
|
'status' => true,
|
|
'data' => $produk,
|
|
], 200);
|
|
}
|
|
else
|
|
{
|
|
$this->response([
|
|
'status' => false,
|
|
'message' => 'Tidak ada produk'
|
|
], 200);
|
|
}
|
|
}
|
|
}
|
|
|
|
public function add_produk_post()
|
|
{
|
|
$nama_file = rand() . "_" . time() . ".jpg";
|
|
|
|
$nama_produk = $this->post('nama_produk');
|
|
$harga = $this->post('harga');
|
|
$kategori = $this->post('kategori');
|
|
$deskripsi = $this->post('deskripsi');
|
|
$foto = $this->post('foto');
|
|
|
|
$params = array(
|
|
'nama_produk' => $nama_produk,
|
|
'kategori' => $kategori,
|
|
'harga' => $harga,
|
|
'deskripsi' => $deskripsi,
|
|
'foto' => $nama_file,
|
|
);
|
|
|
|
if ($foto !== null) {
|
|
if (file_put_contents('assets/images/produk/' . $nama_file, base64_decode($foto))) {
|
|
$this->produk_model->add_produk($params);
|
|
|
|
$this->response([
|
|
'status' => true,
|
|
'message' => 'Produk berhasil ditambahkan',
|
|
], 200);
|
|
} else {
|
|
$this->response([
|
|
'status' => false,
|
|
'message' => 'Gagal menyimpan foto produk',
|
|
], 200);
|
|
}
|
|
} else {
|
|
$this->response([
|
|
'status' => false,
|
|
'message' => 'Foto produk tidak diterima',
|
|
], 200);
|
|
}
|
|
}
|
|
|
|
public function menu_post()
|
|
{
|
|
$id_prod = $this->post('id_produk');
|
|
$date = date('Y-m-d');
|
|
|
|
$params = array(
|
|
'id_produk' => $id_prod,
|
|
'date_created' => $date,
|
|
);
|
|
|
|
$this->menu_model->add_menu($params);
|
|
|
|
$this->response([
|
|
'status' => true,
|
|
'message' => 'Berhasil ditambahkan',
|
|
], 200);
|
|
}
|
|
|
|
public function menu_get()
|
|
{
|
|
$date = date("Y-m-d");
|
|
$produk = $this->menu_model->get_all_menu($date)->result_array();
|
|
|
|
if ($produk)
|
|
{
|
|
$this->response([
|
|
'status' => true,
|
|
'data' => $produk,
|
|
], 200);
|
|
}
|
|
else
|
|
{
|
|
$this->response([
|
|
'status' => false,
|
|
'message' => 'Tidak ada menu'
|
|
], 200);
|
|
}
|
|
}
|
|
|
|
public function delete_menu_post()
|
|
{
|
|
$this->menu_model->delete_menu($this->post('id_menu'));
|
|
|
|
$this->response([
|
|
'status' => true,
|
|
'message' => 'Menu berhasil dihapus',
|
|
], 200);
|
|
}
|
|
|
|
public function edit_post()
|
|
{
|
|
$id_produk = $this->post('id_produk');
|
|
$nama_produk = $this->post('nama_produk');
|
|
$harga = $this->post('harga');
|
|
$deskripsi = $this->post('deskripsi');
|
|
$foto = $this->post('foto');
|
|
|
|
if (empty($foto))
|
|
{
|
|
$params = array(
|
|
'nama_produk' => $nama_produk,
|
|
'harga' => $harga,
|
|
'deskripsi' => $deskripsi,
|
|
);
|
|
|
|
$this->produk_model->update_produk($id_produk, $params);
|
|
|
|
$this->response([
|
|
'status' => true,
|
|
'message' => 'Produk berhasil diubah',
|
|
], 200);
|
|
}
|
|
else
|
|
{
|
|
$nama_file = rand() . "_" . time() . ".jpg";
|
|
|
|
$params = array(
|
|
'nama_produk' => $nama_produk,
|
|
'harga' => $harga,
|
|
'deskripsi' => $deskripsi,
|
|
'foto' => $nama_file,
|
|
);
|
|
|
|
if (file_put_contents('assets/images/produk/' . $nama_file, base64_decode($foto)))
|
|
{
|
|
$produk = $this->produk_model->get_produk($id_produk)->row_array();
|
|
if (!empty($produk['foto']))
|
|
{
|
|
unlink('assets/images/produk/' . $produk['foto']);
|
|
}
|
|
|
|
$this->produk_model->update_produk($id_produk, $params);
|
|
|
|
$this->response([
|
|
'status' => true,
|
|
'message' => 'Produk berhasil diubah',
|
|
], 200);
|
|
}
|
|
else
|
|
{
|
|
$this->response([
|
|
'status' => false,
|
|
'message' => 'Produk gagal diubah',
|
|
], 200);
|
|
}
|
|
}
|
|
}
|
|
|
|
public function delete_post()
|
|
{
|
|
$produk = $this->produk_model->get_produk($this->post('id_produk'))->row_array();
|
|
if (!empty($produk['foto']))
|
|
{
|
|
unlink('assets/images/produk/' . $produk['foto']);
|
|
}
|
|
|
|
$this->produk_model->delete_produk($this->post('id_produk'));
|
|
|
|
$this->response([
|
|
'status' => true,
|
|
'message' => 'Produk berhasil dihapus',
|
|
], 200);
|
|
}
|
|
|
|
public function ulasan_get()
|
|
{
|
|
$rate = $this->ulasan_model->get_all()->result_array();
|
|
|
|
if ($rate)
|
|
{
|
|
$this->response([
|
|
'status' => true,
|
|
'data' => $rate,
|
|
], 200);
|
|
}
|
|
else
|
|
{
|
|
$this->response([
|
|
'status' => false,
|
|
'message' => 'Tidak ada Ulasan'
|
|
], 200);
|
|
}
|
|
}
|
|
|
|
public function produk_rate_get()
|
|
{
|
|
$avg = $this->ulasan_model->get_avg($this->get('id'))->result_array();
|
|
$sum = array_sum(array_column($avg, 'avg'));
|
|
$result = $sum / count($avg);
|
|
$result = number_format($result, 1, '.', '');
|
|
|
|
$rate_1 = $this->ulasan_model->get_rate($this->get('id'), 1);
|
|
$rate_2 = $this->ulasan_model->get_rate($this->get('id'), 2);
|
|
$rate_3 = $this->ulasan_model->get_rate($this->get('id'), 3);
|
|
$rate_4 = $this->ulasan_model->get_rate($this->get('id'), 4);
|
|
$rate_5 = $this->ulasan_model->get_rate($this->get('id'), 5);
|
|
|
|
$params = array(
|
|
'avg' => $result,
|
|
'rate_1' => $rate_1,
|
|
'rate_2' => $rate_2,
|
|
'rate_3' => $rate_3,
|
|
'rate_4' => $rate_4,
|
|
'rate_5' => $rate_5,
|
|
);
|
|
|
|
if ($avg)
|
|
{
|
|
$this->response([
|
|
'status' => true,
|
|
'data' => $params,
|
|
|
|
], 200);
|
|
}
|
|
else
|
|
{
|
|
$this->response([
|
|
'status' => false,
|
|
'message' => 'Tidak ada Rate'
|
|
], 200);
|
|
}
|
|
}
|
|
|
|
public function produk_ulasan_get()
|
|
{
|
|
$ulasan = $this->ulasan_model->get_ulasan($this->get('id'))->result_array();
|
|
|
|
if ($ulasan)
|
|
{
|
|
$this->response([
|
|
'status' => true,
|
|
'ulasan' => $ulasan,
|
|
], 200);
|
|
}
|
|
else
|
|
{
|
|
$this->response([
|
|
'status' => false,
|
|
'message' => 'Tidak ada Ulasan'
|
|
], 200);
|
|
}
|
|
}
|
|
|
|
public function ulasan_post()
|
|
{
|
|
$id_produk = $this->post('id_produk');
|
|
$id_pembeli = $this->post('id_pembeli');
|
|
$rating = $this->post('rating');
|
|
$keterangan = $this->post('keterangan');
|
|
$date = date('Y-m-d');
|
|
|
|
$params = array(
|
|
'id_produk' => $id_produk,
|
|
'id_pembeli' => $id_pembeli,
|
|
'rating' => $rating,
|
|
'keterangan' => $keterangan,
|
|
'date_created' => $date,
|
|
);
|
|
|
|
$this->ulasan_model->add_ulasan($params);
|
|
|
|
$this->response([
|
|
'status' => true,
|
|
'message' => 'Berhasil menambahkan',
|
|
], 200);
|
|
}
|
|
|
|
public function search_get()
|
|
{
|
|
$kata_kunci = $this->get('kata_kunci');
|
|
$result = $this->produk_model->search_produk($kata_kunci)->result_array();
|
|
|
|
if ($result)
|
|
{
|
|
$this->response([
|
|
'status' => true,
|
|
'data' => $result
|
|
], 200);
|
|
}
|
|
else
|
|
{
|
|
$this->response([
|
|
'status' => false,
|
|
'message' => 'Produk tidak ditemukan'
|
|
], 200);
|
|
}
|
|
}
|
|
|
|
public function keranjang_post()
|
|
{
|
|
if ($this->post('date') == null) {
|
|
$params = array(
|
|
'id_pembeli' => $this->post('id_pembeli'),
|
|
'id_produk' => $this->post('id_produk'),
|
|
'jumlah' => $this->post('jumlah'),
|
|
'date' => date("Y-m-d", strtotime("tomorrow")) . ' ' . $this->post('time'),
|
|
'harga' => $this->post('harga'),
|
|
'subtotal' => $this->post('subtotal'),
|
|
);
|
|
} else {
|
|
$params = array(
|
|
'id_pembeli' => $this->post('id_pembeli'),
|
|
'id_produk' => $this->post('id_produk'),
|
|
'jumlah' => $this->post('jumlah'),
|
|
'date' => $this->post('date'),
|
|
'harga' => $this->post('harga'),
|
|
'subtotal' => $this->post('subtotal'),
|
|
);
|
|
}
|
|
$this->keranjang_model->add_keranjang($params);
|
|
|
|
$this->response([
|
|
'status' => true,
|
|
'message' => 'Produk berhasil ditambahkan ke keranjang'
|
|
], 200);
|
|
}
|
|
|
|
public function data_pembeli_get()
|
|
{
|
|
$id = $this->get('id');
|
|
|
|
$pembeli = $this->pembeli_model->get_pembeli($id)->row_array();
|
|
if ($pembeli)
|
|
{
|
|
$this->response([
|
|
'status' => true,
|
|
'data' => $pembeli,
|
|
], 200);
|
|
}
|
|
else
|
|
{
|
|
$this->response([
|
|
'status' => false,
|
|
'message' => 'Tidak ada data pembeli'
|
|
], 200);
|
|
}
|
|
}
|
|
|
|
public function keranjang_get()
|
|
{
|
|
$id_pembeli = $this->get('id');
|
|
|
|
$keranjang = $this->keranjang_model->get_keranjang($id_pembeli)->result_array();
|
|
if ($keranjang)
|
|
{
|
|
$this->response([
|
|
'status' => true,
|
|
'data' => $keranjang,
|
|
], 200);
|
|
}
|
|
else
|
|
{
|
|
$this->response([
|
|
'status' => false,
|
|
'message' => 'Keranjang belanja kosong'
|
|
], 200);
|
|
}
|
|
}
|
|
|
|
public function akun_post()
|
|
{
|
|
$result = $this->pengguna_model->cek_unik_username_lama($this->post('username'), $this->post('username_lama'));
|
|
|
|
if ($result->num_rows() > 0)
|
|
{
|
|
$this->response([
|
|
'status' => false,
|
|
'message' => 'Username sudah digunakan'
|
|
], 200);
|
|
}
|
|
else
|
|
{
|
|
|
|
$params = array(
|
|
'nama_pembeli' => $this->post('nama_pembeli'),
|
|
'alamat' => $this->post('alamat'),
|
|
'no_hp' => $this->post('no_hp'),
|
|
'email' => $this->post('email'),
|
|
);
|
|
$this->pembeli_model->update_pembeli($this->post('id_pembeli'), $params);
|
|
|
|
$pembeli = $this->pembeli_model->get_pembeli($this->post('id_pembeli'))->row_array();
|
|
|
|
if (empty($this->post('password')))
|
|
{
|
|
$params = array(
|
|
'nama_lengkap' => $this->post('nama_pembeli'),
|
|
'username' => $this->post('username'),
|
|
'email' => $this->post('email'),
|
|
);
|
|
$this->pengguna_model->update_pengguna($pembeli['id_pengguna'], $params);
|
|
}
|
|
else
|
|
{
|
|
$params = array(
|
|
'nama_lengkap' => $this->post('nama_pembeli'),
|
|
'username' => $this->post('username'),
|
|
'email' => $this->post('email'),
|
|
'password' => password_hash($this->post('password'), PASSWORD_DEFAULT),
|
|
);
|
|
$this->pengguna_model->update_pengguna($pembeli['id_pengguna'], $params);
|
|
}
|
|
|
|
$this->response([
|
|
'status' => true,
|
|
'message' => 'Detail akun berhasil diubah'
|
|
], 200);
|
|
}
|
|
}
|
|
|
|
public function pengguna_get()
|
|
{
|
|
$id = $this->get('id');
|
|
|
|
$pengguna = $this->pengguna_model->get_pengguna($id)->row_array();
|
|
if ($pengguna)
|
|
{
|
|
$this->response([
|
|
'status' => true,
|
|
'data' => $pengguna,
|
|
], 200);
|
|
}
|
|
else
|
|
{
|
|
$this->response([
|
|
'status' => false,
|
|
'message' => 'Tidak ada data pengguna'
|
|
], 200);
|
|
}
|
|
}
|
|
|
|
public function pengguna_data_post()
|
|
{
|
|
$result = $this->pengguna_model->cek_unik_username_lama($this->post('username'), $this->post('username_lama'));
|
|
|
|
if ($result->num_rows() > 0)
|
|
{
|
|
$this->response([
|
|
'status' => false,
|
|
'message' => 'Username sudah digunakan'
|
|
], 200);
|
|
}
|
|
else
|
|
{
|
|
|
|
if (empty($this->post('password')))
|
|
{
|
|
$params = array(
|
|
'nama_lengkap' => $this->post('nama_lengkap'),
|
|
'username' => $this->post('username'),
|
|
);
|
|
$this->pengguna_model->update_pengguna($this->post('id_pengguna'), $params);
|
|
}
|
|
else
|
|
{
|
|
$params = array(
|
|
'nama_lengkap' => $this->post('nama_lengkap'),
|
|
'username' => $this->post('username'),
|
|
'password' => password_hash($this->post('password'), PASSWORD_DEFAULT),
|
|
);
|
|
$this->pengguna_model->update_pengguna($this->post('id_pengguna'), $params);
|
|
}
|
|
|
|
$this->response([
|
|
'status' => true,
|
|
'message' => 'Detail akun berhasil diubah'
|
|
], 200);
|
|
}
|
|
}
|
|
|
|
public function data_keranjang_get()
|
|
{
|
|
$id_pembeli = $this->get('id');
|
|
|
|
$keranjang = $this->keranjang_model->get_keranjang($id_pembeli)->result_array();
|
|
if ($keranjang)
|
|
{
|
|
$this->response([
|
|
'status' => true,
|
|
'data' => $keranjang,
|
|
], 200);
|
|
}
|
|
else
|
|
{
|
|
$this->response([
|
|
'status' => false,
|
|
'message' => 'Keranjang belanja kosong'
|
|
], 200);
|
|
}
|
|
}
|
|
|
|
public function hapuskeranjang_get()
|
|
{
|
|
$this->keranjang_model->delete_keranjang($this->get('id_pembeli'));
|
|
$this->response([
|
|
'status' => true,
|
|
'message' => 'Keranjang belanja sudah dihapus',
|
|
], 200);
|
|
}
|
|
|
|
public function hapus_get()
|
|
{
|
|
$this->keranjang_model->delete_keranjang_item($this->get('id_keranjang'));
|
|
$this->response([
|
|
'status' => true,
|
|
'message' => 'Produk berhasil dihapus dari keranjang',
|
|
], 200);
|
|
}
|
|
|
|
public function penjualan_add_post()
|
|
{
|
|
$no_invoice = $this->post('no_invoice');
|
|
$tanggal = date('Y-m-d');
|
|
$result = $this->post('ongkir');
|
|
$status = $this->post('status_pembayaran');
|
|
$total = $this->post('total');
|
|
$keterangan = $this->post('keterangan');
|
|
if ($status == 1) {
|
|
$status_pesanan = "menunggu konfirmasi";
|
|
if (empty($keterangan))
|
|
{
|
|
$params = array(
|
|
'no_invoice' => $no_invoice,
|
|
'tanggal' => $tanggal,
|
|
'tanggal_pembayaran' => $tanggal,
|
|
'id_pembeli' => $this->post('id_pembeli'),
|
|
'total_ongkir' => $result,
|
|
'total' => $total,
|
|
'status_pembayaran' => $status,
|
|
'status_pesanan' => $status_pesanan
|
|
);
|
|
}
|
|
else
|
|
{
|
|
$params = array(
|
|
'no_invoice' => $no_invoice,
|
|
'tanggal' => $tanggal,
|
|
'tanggal_pembayaran' => $tanggal,
|
|
'id_pembeli' => $this->post('id_pembeli'),
|
|
'total_ongkir' => $result,
|
|
'total' => $total,
|
|
'keterangan' => $keterangan,
|
|
'status_pembayaran' => $status,
|
|
'status_pesanan' => $status_pesanan
|
|
);
|
|
}
|
|
} else {
|
|
$status_pesanan = "menunggu pembayaran";
|
|
if (empty($keterangan))
|
|
{
|
|
$params = array(
|
|
'no_invoice' => $no_invoice,
|
|
'tanggal' => $tanggal,
|
|
'id_pembeli' => $this->post('id_pembeli'),
|
|
'total_ongkir' => $result,
|
|
'total' => $total,
|
|
'status_pembayaran' => $status,
|
|
'status_pesanan' => $status_pesanan
|
|
);
|
|
}
|
|
else
|
|
{
|
|
$params = array(
|
|
'no_invoice' => $no_invoice,
|
|
'tanggal' => $tanggal,
|
|
'id_pembeli' => $this->post('id_pembeli'),
|
|
'total_ongkir' => $result,
|
|
'total' => $total,
|
|
'keterangan' => $keterangan,
|
|
'status_pembayaran' => $status,
|
|
'status_pesanan' => $status_pesanan
|
|
);
|
|
}
|
|
}
|
|
$id_penjualan = $this->penjualan_model->add_penjualan($params);
|
|
|
|
$keranjang = $this->keranjang_model->get_keranjang($this->post('id_pembeli'))->result();
|
|
foreach ($keranjang as $row)
|
|
{
|
|
$params2 = array(
|
|
'id_penjualan' => $id_penjualan,
|
|
'id_produk' => $row->id_produk,
|
|
'harga' => $row->harga,
|
|
'date_pemesanan' => $row->date,
|
|
'jumlah' => $row->jumlah,
|
|
'subtotal' => $row->subtotal,
|
|
);
|
|
$this->penjualan_model->add_penjualan_produk($params2);
|
|
}
|
|
$this->keranjang_model->delete_keranjang($this->post('id_pembeli'));
|
|
|
|
$params3 = array(
|
|
'alamat' => $this->post('alamat'),
|
|
'no_hp' => $this->post('no_hp'),
|
|
);
|
|
$this->pembeli_model->update_pembeli($this->post('id_pembeli'), $params3);
|
|
|
|
$this->response([
|
|
'status' => true,
|
|
'message' => 'Pesanan berhasil disimpan',
|
|
'data' => $id_penjualan
|
|
], 200);
|
|
}
|
|
|
|
public function penjualan_get()
|
|
{
|
|
$id_pembeli = $this->get('id');
|
|
$penjualan = $this->penjualan_model->get_penjualan($id_pembeli)->result_array();
|
|
|
|
if ($penjualan)
|
|
{
|
|
$this->response([
|
|
'status' => true,
|
|
'data' => $penjualan,
|
|
], 200);
|
|
}
|
|
else
|
|
{
|
|
$this->response([
|
|
'status' => false,
|
|
'message' => 'Tidak ada pesanan'
|
|
], 200);
|
|
}
|
|
}
|
|
|
|
public function allpenjualan_get()
|
|
{
|
|
$penjualan = $this->penjualan_model->get_all_penjualan()->result_array();
|
|
|
|
if ($penjualan)
|
|
{
|
|
$this->response([
|
|
'status' => true,
|
|
'data' => $penjualan,
|
|
], 200);
|
|
}
|
|
else
|
|
{
|
|
$this->response([
|
|
'status' => false,
|
|
'message' => 'Tidak ada pesanan'
|
|
], 200);
|
|
}
|
|
}
|
|
|
|
public function penjualandetail_get()
|
|
{
|
|
$id_penjualan = $this->get('id');
|
|
$penjualan_detail = $this->penjualan_model->get_penjualan_detail($id_penjualan)->result_array();
|
|
|
|
if ($penjualan_detail)
|
|
{
|
|
$this->response([
|
|
'status' => true,
|
|
'data' => $penjualan_detail,
|
|
], 200);
|
|
}
|
|
else
|
|
{
|
|
$this->response([
|
|
'status' => false,
|
|
'message' => 'Tidak ada detail penjualan'
|
|
], 200);
|
|
}
|
|
}
|
|
|
|
public function konfirmasipembayaran_post()
|
|
{
|
|
$nama_file = rand() . "_" . time() . ".jpg";
|
|
$id_penjualan = $this->post('id');
|
|
$foto = $this->post('foto');
|
|
|
|
$params = array(
|
|
'tanggal_pembayaran' => date('Y-m-d'),
|
|
'status_pembayaran' => 1,
|
|
'status_pesanan' => "menunggu konfirmasi",
|
|
'bukti_pembayaran' => $nama_file,
|
|
);
|
|
|
|
if (file_put_contents('assets/images/pembayaran/' . $nama_file, base64_decode($foto)))
|
|
{
|
|
$this->penjualan_model->update_penjualan($id_penjualan, $params);
|
|
|
|
$this->response([
|
|
'status' => true,
|
|
'message' => 'Berhasil mengunggah bukti pembayaran',
|
|
], 200);
|
|
}
|
|
else
|
|
{
|
|
$this->response([
|
|
'status' => false,
|
|
'message' => 'Bukti pembayaran gagal diunggah',
|
|
], 200);
|
|
}
|
|
}
|
|
|
|
public function status_post()
|
|
{
|
|
$id_penjualan = $this->post('id_penjualan');
|
|
$status = $this->post('status');
|
|
|
|
$params = array(
|
|
'status_pesanan' => $status,
|
|
);
|
|
|
|
$this->penjualan_model->update_penjualan($id_penjualan, $params);
|
|
|
|
$this->response([
|
|
'status' => true,
|
|
'message' => 'Status pesanan berhasil diubah',
|
|
], 200);
|
|
}
|
|
|
|
public function add_ulasan_post()
|
|
{
|
|
$params = array(
|
|
'id_pembeli' => $this->post('id_pembeli'),
|
|
'id_produk' => $this->post('id_produk'),
|
|
'rating' => $this->post('rating'),
|
|
'keterangan' => $this->post('keterangan'),
|
|
'date_created' => date('Y-m-d H:i:s'),
|
|
);
|
|
$this->ulasan_model->add_ulasan($params);
|
|
|
|
$this->response([
|
|
'status' => true,
|
|
'message' => 'Ulasan berhasil disimpan',
|
|
], 200);
|
|
}
|
|
}
|
|
?>
|