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.
119 lines
4.9 KiB
119 lines
4.9 KiB
<?php
|
|
require_once(MO_LIB_DIR . '/DBAction.class.php');
|
|
require_once(MO_LIB_DIR . '/Tools.class.php');
|
|
|
|
class addAction extends Action {
|
|
/**
|
|
* <p>Copyright (c) 2018-2019</p>
|
|
* <p>Company: www.laiketui.com</p>
|
|
* @author 段宏波
|
|
* @date 2018/12/12 16:07
|
|
* @version 1.0
|
|
*/
|
|
public function getDefaultView() {
|
|
$db = DBAction::getInstance();
|
|
$request = $this->getContext()->getRequest();
|
|
$id = $request->getParameter('id'); // 商品属性id
|
|
$pid = $request->getParameter('pid'); // 商品id
|
|
$sql0 = "select a.product_title,a.product_class,a.brand_id,c.total_num,c.num,c.attribute from lkt_configure as c,lkt_product_list as a where c.pid = a.id and c.id = '$id' and c.pid = '$pid'";
|
|
$r0 = $db->select($sql0);
|
|
if($r0){
|
|
$product_class = rtrim($r0[0]->product_class, "-");
|
|
$product_class_id = trim(strrchr($product_class, '-'),'-');
|
|
$brand_id = $r0[0]->brand_id;
|
|
$product_title = $r0[0]->product_title;
|
|
$total_num = $r0[0]->total_num;
|
|
$num = $r0[0]->num;
|
|
$attribute = unserialize($r0[0]->attribute);
|
|
$specifications = '';
|
|
foreach ($attribute as $ke => $va){
|
|
$specifications .= $ke .':'.$va.',';
|
|
}
|
|
$specifications = rtrim($specifications, ",");
|
|
|
|
$sql1 = "select pname from lkt_product_class where cid = '$product_class_id'";
|
|
$r1 = $db->select($sql1);
|
|
if($r1){
|
|
$product_class_name = $r1[0]->pname;
|
|
}
|
|
$sql2 = "select brand_name from lkt_brand_class where brand_id = '$brand_id'";
|
|
$r2 = $db->select($sql2);
|
|
if($r2){
|
|
$brand_name = $r2[0]->brand_name;
|
|
}
|
|
}
|
|
|
|
$request->setAttribute("id",$id);
|
|
$request->setAttribute("pid",$pid);
|
|
$request->setAttribute("product_class_name",$product_class_name);
|
|
$request->setAttribute("brand_name",$brand_name);
|
|
$request->setAttribute("product_title",$product_title);
|
|
$request->setAttribute("total_num",$total_num);
|
|
$request->setAttribute("num",$num);
|
|
$request->setAttribute("specifications",$specifications);
|
|
return View :: INPUT;
|
|
}
|
|
/**
|
|
* <p>Copyright (c) 2018-2019</p>
|
|
* <p>Company: www.laiketui.com</p>
|
|
* @author 段宏波
|
|
* @date 2018/12/12 16:07
|
|
* @version 1.0
|
|
*/
|
|
public function execute(){
|
|
$db = DBAction::getInstance();
|
|
$request = $this->getContext()->getRequest();
|
|
$admin_name = $this->getContext()->getStorage()->read('admin_name');
|
|
$id = addslashes(trim($request->getParameter('id'))); // 商品属性id
|
|
$pid = addslashes(trim($request->getParameter('pid'))); // 商品id
|
|
$total_num = addslashes(trim($request->getParameter('total_num'))); // 总库存
|
|
$num = addslashes(trim($request->getParameter('num'))); // 剩余库存
|
|
$add_num = addslashes(trim($request->getParameter('add_num'))); // 增加库存
|
|
|
|
if (floor($add_num) != $add_num){
|
|
echo json_encode(array('status' =>'增加库存请填写整数!' ));exit;
|
|
}else{
|
|
if($add_num <= 0){
|
|
echo json_encode(array('status' =>'增加库存请填写正整数!' ));exit;
|
|
}
|
|
$total_num = $total_num + $add_num; // 总库存
|
|
$x_num = $add_num + $num; // 剩余库存
|
|
}
|
|
|
|
$sql0 = "select num from lkt_product_list where id = '$pid'";
|
|
$r0 = $db->select($sql0);
|
|
$z_num = $r0[0]->num + $add_num;
|
|
// 开启事务
|
|
$db->begin();
|
|
$sql4 = "update lkt_product_list set num='$z_num' where id = '$pid'";
|
|
$r4 = $db->update($sql4);
|
|
if($r4 == -1){
|
|
$db->rollback();
|
|
$db->admin_record($admin_name,'增加商品规格ID为'.$id.'的库存失败',2);
|
|
echo json_encode(array('status' =>'未知原因,增加失败!' ));exit;
|
|
}
|
|
|
|
$sql1 = "update lkt_configure set total_num = '$total_num',num = '$x_num' where id = '$id' and pid = '$pid'";
|
|
$r1 = $db->update($sql1);
|
|
|
|
$sql2 = "insert into lkt_stock(product_id,attribute_id,flowing_num,type,add_date) values('$pid','$id','$add_num',0,CURRENT_TIMESTAMP)";
|
|
$r2 = $db->insert($sql2,'last_insert_id');
|
|
if($r1 != -1 && $r2 > 0){
|
|
$db->commit();
|
|
$db->admin_record($admin_name,'增加商品规格ID为'.$id.'的库存'.$add_num,2);
|
|
echo json_encode(array('status' =>'增加成功!' ,'suc'=>'1'));exit;
|
|
}else{
|
|
$db->rollback();
|
|
$db->admin_record($admin_name,'增加商品规格ID为'.$id.'的库存失败',2);
|
|
echo json_encode(array('status' =>'未知原因,增加失败!' ));exit;
|
|
}
|
|
return;
|
|
}
|
|
|
|
public function getRequestMethods(){
|
|
return Request :: POST;
|
|
}
|
|
|
|
}
|
|
|
|
?>
|