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.
		
		
		
		
		
			
		
			
				
					
					
						
							237 lines
						
					
					
						
							10 KiB
						
					
					
				
			
		
		
		
			
			
			
				
					
				
				
					
				
			
		
		
	
	
							237 lines
						
					
					
						
							10 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.
							 | 
						|
								 */
							 | 
						|
								
							 | 
						|
								
							 | 
						|
								class modifyAction extends PluginAction
							 | 
						|
								{
							 | 
						|
								    public function getDefaultView()
							 | 
						|
								    {
							 | 
						|
								        $db = DBAction::getInstance();
							 | 
						|
								        $request = $this->getContext()->getRequest();
							 | 
						|
								        $id = addslashes(trim($request->getParameter('id'))); // 商品id
							 | 
						|
								        $product_class = $request->getParameter('cid'); // 分类名称
							 | 
						|
								        $appConfig = $this->getAppInfo();
							 | 
						|
								        $img = $appConfig['imageRootUrl'];
							 | 
						|
								
							 | 
						|
								
							 | 
						|
								        $sql = "select MIN(b.group_title) AS group_title,MIN(b.id) AS id,MIN(b.g_status) AS g_status,b.group_id, MIN(b.group_data) AS group_data, MIN(b.group_level) AS group_level,min(b.is_show) as is_show,min(c.price) price,min(c.num) num,min(c.attribute) attribute,min(p.product_title) product_title, min(b.product_id) product_id from lkt_group_product as b 
							 | 
						|
								                    left join lkt_configure as c on b.attr_id=c.id 
							 | 
						|
								                    left join lkt_product_list as p on b.product_id=p.id 
							 | 
						|
								                    where b.group_id=$id group by group_id";
							 | 
						|
								        $res = $db->select($sql);
							 | 
						|
								
							 | 
						|
								        $msg = $res[0];
							 | 
						|
								        $pid = $msg->product_id;
							 | 
						|
								        $group_data = unserialize($msg->group_data);
							 | 
						|
								
							 | 
						|
								        if ($group_data->endtime == 'changqi') {
							 | 
						|
								            $dt = $group_data->starttime;
							 | 
						|
								            $dt = date('Y-m-d H:i:s', strtotime("$dt+1year"));
							 | 
						|
								            $group_data->endtime = $dt;
							 | 
						|
								        }
							 | 
						|
								
							 | 
						|
								        $group_level = unserialize($msg->group_level);
							 | 
						|
								
							 | 
						|
								        $g_status = $msg->g_status;
							 | 
						|
								        $is_show = $msg->is_show;
							 | 
						|
								        $firstkey = array_keys($group_level)[0];
							 | 
						|
								        $lastset = reset($group_level);
							 | 
						|
								        $lastset = explode('~', $lastset);
							 | 
						|
								        $lastset[] = $firstkey;
							 | 
						|
								        unset($group_level[$firstkey]);
							 | 
						|
								
							 | 
						|
								        $levelstr = '';
							 | 
						|
								        if (count($group_level) > 0) {
							 | 
						|
								            foreach ($group_level as $k => $v) {
							 | 
						|
								                $num = $k;
							 | 
						|
								                $price = explode('~', $v);
							 | 
						|
								                if ($g_status == 2 && $is_show == 1) {
							 | 
						|
								                    $levelstr .= '
							 | 
						|
								<div class="manlevel">
							 | 
						|
								<input type="number" max="50" min="1" class="input-text ct-rs" value="' . $num . '" name="min_man" style="width:60px;" onkeyup="onkeyup1(this)" disabled >  人团  <span style="margin-left:17px;">折扣价: 参团</span>
							 | 
						|
								<input type="number" class="input-text" value="' . $price[0] . '"  name="canprice" style="width:80px;margin-left:5px;" onkeyup="onkeyup1(this)" disabled > %<span style="margin-left: 5px;">开团</span>
							 | 
						|
								<input type="number" class="input-text" value="' . $price[1] . '"  name="memberprice" style="width:80px;margin-left:5px;" onkeyup="onkeyup1(this)" disabled > %<input class="btn btn-primary radius" type="button" onclick="removepro(event)" value="删除" style="margin-left:10px;height: 36px!important;" disabled>
							 | 
						|
								</div>';
							 | 
						|
								                } else {
							 | 
						|
								                    $levelstr .= '
							 | 
						|
								<div class="manlevel">
							 | 
						|
								<input type="number" max="50" min="1" class="input-text ct-rs" value="' . $num . '" name="min_man" style="width:60px;" onkeyup="onkeyup1(this)">  人团  <span style="margin-left:17px;">折扣价: 参团</span>
							 | 
						|
								<input type="number" class="input-text" value="' . $price[0] . '"  name="canprice" style="width:80px;margin-left:5px;" onkeyup="onkeyup1(this)"> %<span style="margin-left: 5px;">开团</span>
							 | 
						|
								<input type="number" class="input-text" value="' . $price[1] . '"  name="memberprice" style="width:80px;margin-left:5px;" onkeyup="onkeyup1(this)"> %<input class="btn btn-primary radius" type="button" onclick="removepro(event)" value="删除" style="margin-left:10px;height: 36px!important;">
							 | 
						|
								</div>';
							 | 
						|
								                }
							 | 
						|
								
							 | 
						|
								            }
							 | 
						|
								        }
							 | 
						|
								        $prosql = "select a.num,a.attribute,a.price,a.id as attr_id,b.id,b.product_title,b.imgurl
							 | 
						|
								        from lkt_configure as a 
							 | 
						|
								        left join lkt_product_list as b on a.pid = b.id 
							 | 
						|
								        where b.recycle = 0 and b.num >0 and a.num > 0 and b.id = $pid and a.recycle = 0 ";
							 | 
						|
								
							 | 
						|
								        $proattr = $db->select($prosql);
							 | 
						|
								        if (!empty($proattr)) {
							 | 
						|
								            foreach ($proattr as $k => $v) {
							 | 
						|
								                $attrtype1 = unserialize($v->attribute);
							 | 
						|
								                $attrtype1 = array_values($attrtype1);
							 | 
						|
								                $attrtype1 = implode(' ', $attrtype1);
							 | 
						|
								
							 | 
						|
								                $proattr[$k]->attrtype = $attrtype1;
							 | 
						|
								                $proattr[$k]->imgurl = $img . $v->imgurl;
							 | 
						|
								                //查询是否有这个属性
							 | 
						|
								                $sel_hava_attr_sql = "select * from lkt_group_product where  attr_id = $v->attr_id";
							 | 
						|
								                $sel_hava_attr_res = $db->select($sel_hava_attr_sql);
							 | 
						|
								                if ($sel_hava_attr_res) {
							 | 
						|
								                    $proattr[$k]->select = true;
							 | 
						|
								                } else {
							 | 
						|
								                    $proattr[$k]->select = false;
							 | 
						|
								                }
							 | 
						|
								            }
							 | 
						|
								        }
							 | 
						|
								
							 | 
						|
								
							 | 
						|
								        $sql01 = "select cid,pname from lkt_product_class where sid = 0 and recycle = 0";
							 | 
						|
								        $rr = $db->select($sql01);
							 | 
						|
								        $res_ = '';
							 | 
						|
								        foreach ($rr as $key => $value) {
							 | 
						|
								            $c = '-' . $value->cid . '-';
							 | 
						|
								            //判断所属类别 添加默认标签
							 | 
						|
								            if ($product_class == $c) {
							 | 
						|
								                $res_ .= '<option selected="selected" value="' . $c . '">' . $value->pname . '</option>';
							 | 
						|
								            } else {
							 | 
						|
								                $res_ .= '<option  value="' . $c . '">' . $value->pname . '</option>';
							 | 
						|
								            }
							 | 
						|
								            //循环第一层
							 | 
						|
								            $sql_e = "select cid,pname from lkt_product_class where sid = $value->cid and recycle = 0 ";
							 | 
						|
								            $r_e = $db->select($sql_e);
							 | 
						|
								            if ($r_e) {
							 | 
						|
								                $hx = '-----';
							 | 
						|
								                foreach ($r_e as $ke => $ve) {
							 | 
						|
								                    $cone = $c . $ve->cid . '-';
							 | 
						|
								                    //判断所属类别 添加默认标签
							 | 
						|
								                    if ($product_class == $cone) {
							 | 
						|
								                        $res_ .= '<option selected="selected" value="' . $cone . '">' . $hx . $ve->pname . '</option>';
							 | 
						|
								                    } else {
							 | 
						|
								                        $res_ .= '<option  value="' . $cone . '">' . $hx . $ve->pname . '</option>';
							 | 
						|
								                    }
							 | 
						|
								                    //循环第二层
							 | 
						|
								                    $sql_t = "select cid,pname from lkt_product_class where sid = $ve->cid and recycle = 0";
							 | 
						|
								                    $r_t = $db->select($sql_t);
							 | 
						|
								                    if ($r_t) {
							 | 
						|
								                        $hxe = $hx . '-----';
							 | 
						|
								                        foreach ($r_t as $k => $v) {
							 | 
						|
								                            $ctow = $cone . $v->cid . '-';
							 | 
						|
								                            //判断所属类别 添加默认标签
							 | 
						|
								                            if ($product_class == $ctow) {
							 | 
						|
								                                $res_ .= '<option selected="selected" value="' . $ctow . '">' . $hxe . $v->pname . '</option>';
							 | 
						|
								                            } else {
							 | 
						|
								                                $res_ .= '<option  value="' . $ctow . '">' . $hxe . $v->pname . '</option>';
							 | 
						|
								                            }
							 | 
						|
								                        }
							 | 
						|
								                    }
							 | 
						|
								                }
							 | 
						|
								            }
							 | 
						|
								        }
							 | 
						|
								
							 | 
						|
								
							 | 
						|
								        $brandsql = "select brand_id,brand_name from lkt_brand_class where  recycle = 0";
							 | 
						|
								        $brandres = $db->select($brandsql);
							 | 
						|
								        $request->setAttribute("brandres", $brandres);
							 | 
						|
								        $request->setAttribute("class", $res_);
							 | 
						|
								        $request->setAttribute("group_data", $group_data);
							 | 
						|
								        $request->setAttribute("g_status", $g_status);
							 | 
						|
								        $request->setAttribute("is_show", $is_show);
							 | 
						|
								        $request->setAttribute("list", $res);
							 | 
						|
								        $request->setAttribute("proattr", $proattr);
							 | 
						|
								        $request->setAttribute("lastset", $lastset);
							 | 
						|
								        $request->setAttribute("levelstr", $levelstr);
							 | 
						|
								        $request->setAttribute("goods_id", $id);
							 | 
						|
								        return View :: INPUT;
							 | 
						|
								
							 | 
						|
								    }
							 | 
						|
								
							 | 
						|
								    public function execute()
							 | 
						|
								    {
							 | 
						|
								        $db = DBAction::getInstance();
							 | 
						|
								        $request = $this->getContext()->getRequest();
							 | 
						|
								        // 接收信息
							 | 
						|
								        $gdata = json_decode($request->getParameter('gdata'));
							 | 
						|
								        $goods_id = $request->getParameter('goods_id');
							 | 
						|
								        $glevel = $request->getParameter('glevel');
							 | 
						|
								        $old_goods_id = $request->getParameter('old_goods_id');
							 | 
						|
								        $g_status = $request->getParameter('g_status');
							 | 
						|
								        $group_title = $request->getParameter('group_title');
							 | 
						|
								        $tuanZ = json_decode($request->getParameter('tuanZ'));
							 | 
						|
								        if ($gdata->endtime == '') {
							 | 
						|
								            $gdata->endtime = date('Y-m-d H:i:s', strtotime("+1years"));
							 | 
						|
								        }
							 | 
						|
								        if ($group_title == '') {
							 | 
						|
								            $goods_sql = "select product_title from lkt_product_list where id=$goods_id";
							 | 
						|
								            $goods_res = $db->select($goods_sql);
							 | 
						|
								            $group_title = $goods_res[0]->product_title;
							 | 
						|
								        }
							 | 
						|
								        if ($g_status == 3) $g_status = 1;
							 | 
						|
								        $gdata = serialize($gdata);
							 | 
						|
								        $glevel = serialize($glevel);
							 | 
						|
								
							 | 
						|
								        $time = date('Y-m-d H:i:s');
							 | 
						|
								        $db->begin();
							 | 
						|
								
							 | 
						|
								        $delsql = "delete from lkt_group_product where group_id=$old_goods_id ";
							 | 
						|
								        $delres = $db->delete($delsql);
							 | 
						|
								
							 | 
						|
								        $str = '';
							 | 
						|
								        $code = true;
							 | 
						|
								        $nu = $db->select("select max(group_id) as a from lkt_group_product ");
							 | 
						|
								        if ($nu) {
							 | 
						|
								            $group_id = $nu[0]->a + 1;
							 | 
						|
								        } else {
							 | 
						|
								            $group_id = 1;
							 | 
						|
								        }
							 | 
						|
								        if ($delres > 0) {
							 | 
						|
								            $str = 'insert into lkt_group_product(attr_id,product_id,group_level,group_data,group_title,group_id) values';
							 | 
						|
								            foreach ($tuanZ as $k => $v) {
							 | 
						|
								                $str .= "($k,$goods_id,'$glevel','$gdata','$group_title','$group_id'),";
							 | 
						|
								            }
							 | 
						|
								
							 | 
						|
								            $str = substr($str, 0, strlen($str) - 1);
							 | 
						|
								            $respro = $db->insert($str);
							 | 
						|
								
							 | 
						|
								            if ($respro < 0) {
							 | 
						|
								                $db->rollback();
							 | 
						|
								                echo json_encode(array('code' => 0));
							 | 
						|
								                exit;
							 | 
						|
								            } else {
							 | 
						|
								                $db->commit();
							 | 
						|
								                echo json_encode(array('code' => 1));
							 | 
						|
								                exit;
							 | 
						|
								            }
							 | 
						|
								        } else {
							 | 
						|
								            $db->rollback();
							 | 
						|
								            $code = false;
							 | 
						|
								        }
							 | 
						|
								
							 | 
						|
								        if ($code) {
							 | 
						|
								            $db->commit();
							 | 
						|
								            echo json_encode(array('code' => 1));
							 | 
						|
								            exit;
							 | 
						|
								        } else {
							 | 
						|
								
							 | 
						|
								            echo json_encode(array('code' => 0));
							 | 
						|
								            exit;
							 | 
						|
								        }
							 | 
						|
								
							 | 
						|
								
							 | 
						|
								    }
							 | 
						|
								
							 | 
						|
								    public function getRequestMethods()
							 | 
						|
								    {
							 | 
						|
								        return Request :: POST;
							 | 
						|
								    }
							 | 
						|
								
							 | 
						|
								
							 | 
						|
								}
							 | 
						|
								
							 | 
						|
								?>
							 |