You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
159 lines
5.8 KiB
159 lines
5.8 KiB
<?php
|
|
|
|
/**
|
|
* [Laike System] Copyright (c) 2017-2020 laiketui.com
|
|
* Laike is not a free software, it under the license terms, visited http://www.laiketui.com/ for more details.
|
|
*/
|
|
|
|
require_once(MO_WEBAPP_DIR . "/plugins/PluginAction.class.php");
|
|
|
|
class distributionAction extends PluginAction
|
|
{
|
|
|
|
public function home()
|
|
{
|
|
$db = DBAction::getInstance();
|
|
$request = $this->getContext()->getRequest();
|
|
$paegr = addslashes(trim($request->getParameter('page'))); // '页面'
|
|
|
|
$select = addslashes(trim($request->getParameter('select'))); // 选中的方式 0 默认 1 销量 2价格
|
|
if ($select == 0) {
|
|
$select = 'a.add_date';
|
|
} elseif ($select == 1) {
|
|
$select = 'a.volume';
|
|
} else {
|
|
$select = 'a.price';
|
|
}
|
|
|
|
$sort = addslashes(trim($request->getParameter('sort'))); // 排序方式 1 asc 升序 0 desc 降序
|
|
if ($sort) {
|
|
$sort = ' asc ';
|
|
} else {
|
|
$sort = ' desc ';
|
|
}
|
|
|
|
$appConfig = $this->getAppInfo();
|
|
$img = $appConfig['imageRootUrl'];
|
|
|
|
if (!$paegr) {
|
|
$paegr = 1;
|
|
}
|
|
$start = ($paegr - 1) * 10;
|
|
$end = 10;
|
|
$sql = "select a.*,b.leve1 from lkt_product_list AS a,lkt_detailed_pro AS b where a.id = b.pro_id AND a.num > 0 AND b.status=1 order by $select $sort LIMIT $start,$end ";
|
|
$r = $db->select($sql);
|
|
if ($r) {
|
|
$product = [];
|
|
foreach ($r as $k => $v) {
|
|
$imgurl = $img . $v->imgurl;
|
|
$pid = $v->id;
|
|
$sql_ttt = "select price,yprice from lkt_configure where pid ='$pid' order by price asc ";
|
|
$r_ttt = $db->select($sql_ttt);
|
|
$price = $r_ttt[0]->yprice;
|
|
$price_yh = $r_ttt[0]->price;
|
|
|
|
$attr = unserialize($v->initial);
|
|
$attr = array_values($attr);
|
|
if ($attr) {
|
|
if (gettype($attr[0]) != 'string') unset($attr[0]);
|
|
}
|
|
$product[$k] = array('id' => $v->id, 'name' => $v->product_title, 'price' => $price, 'price_yh' => $price_yh, 'imgurl' => $imgurl, 'volume' => $v->volume, 's_type' => $v->s_type, 'fan' => $price*$v->leve1/100);
|
|
}
|
|
echo json_encode(array('status' => 1, 'pro' => $product));
|
|
exit;
|
|
} else {
|
|
echo json_encode(array('status' => 0, 'err' => '没有了!'));
|
|
exit;
|
|
}
|
|
|
|
}
|
|
|
|
|
|
//分销中心
|
|
public function user()
|
|
{
|
|
$db = DBAction::getInstance();
|
|
$request = $this->getContext()->getRequest();
|
|
$openid = addslashes($request->getParameter('openid'));
|
|
$user = $db->selectOne("select * from lkt_user where wx_id = '$openid' ");
|
|
if ($user) {
|
|
$user_id = $user->user_id;
|
|
|
|
//累计收益
|
|
$sql = "select sum(s_money) ss from lkt_detailed_commission where userid='$user_id' ";
|
|
$rs = $db->selectOne($sql);
|
|
$ljyj = $rs->ss;
|
|
$user->ljyj = $ljyj?$ljyj:0;
|
|
$sql = "select * from lkt_user where Referee='$user_id' order by id desc ";
|
|
$list_1 = $db->select($sql);
|
|
|
|
//收益记录
|
|
$sql = "select a.*,b.wx_name parent_name from lkt_detailed_commission as a,lkt_user as b where a.userid='$user_id' and a.Referee=b.user_id order by a.id desc";
|
|
$list_2 = $db->select($sql);
|
|
|
|
$list_3 = $list_2;
|
|
echo json_encode(array('status'=>1,'user'=>$user,'list_1'=>$list_1,'list_2'=>$list_2,'list_3'=>$list_3));
|
|
|
|
}
|
|
|
|
exit();
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
//确认收货接口,在这里面加上分销的核心算法
|
|
public function okOrder($order=null){
|
|
$oid = $order->id;
|
|
$db = DBAction::getInstance();
|
|
$order = $db->selectOne("select * from lkt_order where id=$oid and plugin='distribution' ");
|
|
if ($order){
|
|
$user_id = $order->user_id;
|
|
$sNo = $order->sNo;
|
|
$sql = "select a.*,b.leve,b.leve1,b.leve2,b.leve3,b.commissions from lkt_order_details as a,lkt_detailed_pro as b where a.r_sNo='$sNo' and a.p_id = b.pro_id ";
|
|
$details = $db->select($sql);
|
|
foreach ($details as $key => $values) {
|
|
$p_price = $values->p_price;
|
|
$num = $values->num;
|
|
$leve = $values->leve;
|
|
$leve1 = $values->leve1;
|
|
$leve2 = $values->leve2;
|
|
$leve3 = $values->leve3;
|
|
$commissions = $values->commissions;
|
|
$bili = array($leve1,$leve2,$leve3);
|
|
$total = $p_price*$num;
|
|
//进行返回积分
|
|
$i=0;
|
|
$uid = $user_id;
|
|
while ($leve>0 && $i<$leve){
|
|
$money = $total*$bili[$i]/100;
|
|
$s_money = $money - $money*$commissions/100;
|
|
if ($money>0){
|
|
$sql = "select * from lkt_user where user_id='$uid' ";
|
|
$user = $db->selectOne($sql);
|
|
$pid = $user->Referee;
|
|
if ($pid) {
|
|
$creattime = date('Y-m-d H:i:s');
|
|
$sql = "insert into lkt_detailed_commission(userid,sNo,money,s_money,status,addtime,type,Referee) values('$pid',$sNo,$money,$s_money,2,'$creattime',1,'$user_id')";
|
|
$db->insert($sql);
|
|
//充值积分
|
|
$sql = "update lkt_user set score=score+$s_money where user_id='$pid' ";
|
|
$db->update($sql);
|
|
}
|
|
$uid = $pid;
|
|
}
|
|
$i++;
|
|
}
|
|
|
|
|
|
}
|
|
|
|
}
|
|
|
|
return $order;
|
|
}
|
|
|
|
}
|
|
|
|
?>
|