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;
							 | 
						|
								    }
							 | 
						|
								
							 | 
						|
								}
							 | 
						|
								
							 | 
						|
								?>
							 |