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.
279 lines
11 KiB
279 lines
11 KiB
2 years ago
|
<?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_LIB_DIR . '/DBAction.class.php');
|
||
|
require_once(MO_LIB_DIR . '/ShowPager.class.php');
|
||
|
require_once(MO_LIB_DIR . '/Tools.class.php');
|
||
|
|
||
|
class seeAction extends Action {
|
||
|
|
||
|
public function getDefaultView() {
|
||
|
$db = DBAction::getInstance();
|
||
|
$request = $this->getContext()->getRequest();
|
||
|
|
||
|
// 接收信息
|
||
|
$id = intval($request->getParameter("id")); // 产品id
|
||
|
|
||
|
$sql = "select * from lkt_config where id = '1'";
|
||
|
$r = $db->select($sql);
|
||
|
$uploadImg = $r[0]->uploadImg; // 图片上传位置
|
||
|
// 根据产品id,查询产品产品信息
|
||
|
$sql = "select * from lkt_product_list where id = '$id'";
|
||
|
$r = $db->select($sql);
|
||
|
$status=0;
|
||
|
|
||
|
if($r){
|
||
|
$product_title = $r[0]->product_title; // 产品标题
|
||
|
$subtitle = $r[0]->subtitle; // 副标题
|
||
|
$product_class = $r[0]->product_class ; // 产品类别
|
||
|
$brand_class = $r[0]->brand_id ; // 产品品牌
|
||
|
$weight = $r[0]->weight ; // 重量
|
||
|
$content = $r[0]->content; // 产品内容
|
||
|
$num = $r[0]->num; //数量
|
||
|
$imgurl = $r[0]->imgurl; //图片
|
||
|
$s_type = $r[0]->s_type;
|
||
|
$volume = $r[0]->volume;//volume拟定销量
|
||
|
$freight_id = $r[0]->freight;
|
||
|
$status = $r[0]->status; // 上下架状态
|
||
|
$initial = $r[0]->initial;//初始值
|
||
|
}
|
||
|
|
||
|
$arr = explode(',',$s_type);
|
||
|
|
||
|
if (!empty($brand_class)) {
|
||
|
$sql01 = "select brand_id ,brand_name from lkt_brand_class where brand_id = $brand_class";
|
||
|
$r01 = $db->select($sql01);
|
||
|
$brand_name = $r01[0]->brand_name ; // 产品品牌
|
||
|
}
|
||
|
|
||
|
//运费
|
||
|
|
||
|
$sql = "select id,name from lkt_freight order by id ";
|
||
|
$r_freight = $db->select($sql);
|
||
|
$freight_list = '';
|
||
|
if($r_freight){
|
||
|
foreach ($r_freight as $key => $value) {
|
||
|
$freight_id1 = $value->id ; // 运费规则id
|
||
|
$freight_name = $value->name ; // 运费规则
|
||
|
if($freight_id1 ==$freight_id){
|
||
|
$freight_list .= "<option selected='selected' value='{$freight_id1}'>{$freight_name}</option>";
|
||
|
}else{
|
||
|
$freight_list .= "<option value='{$freight_id1}'>{$freight_name}</option>";
|
||
|
}
|
||
|
}
|
||
|
}
|
||
|
|
||
|
|
||
|
//绑定产品分类
|
||
|
$sql = "select cid,pname from lkt_product_class where recycle = 0 and sid = 0 order by sort desc";
|
||
|
$r = $db->select($sql);
|
||
|
$res = '';
|
||
|
foreach ($r 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>';
|
||
|
}
|
||
|
}
|
||
|
}
|
||
|
}
|
||
|
}
|
||
|
}
|
||
|
|
||
|
// 品牌
|
||
|
$sql01 = "select * from lkt_brand_class where recycle = 0 and status = 0 order by sort asc, brand_time desc";
|
||
|
$r01 = $db->select($sql01);
|
||
|
$brand = '';
|
||
|
$brand_num = 0;
|
||
|
if($r01){
|
||
|
if($brand_class){
|
||
|
foreach ($r01 as $k01 =>$v01){
|
||
|
if($v01->brand_id ==$brand_class ){
|
||
|
$brand .= '<option selected value="'.$v01->brand_id.'">'.$v01->brand_name.'</option>';
|
||
|
}else{
|
||
|
$brand .= '<option value="'.$v01->brand_id.'">'.$v01->brand_name.'</option>';
|
||
|
}
|
||
|
}
|
||
|
}else{
|
||
|
foreach ($r01 as $k2 =>$v2){
|
||
|
$brand .= '<option value="'.$v2->brand_id.'">'.$v2->brand_name.'</option>';
|
||
|
|
||
|
}
|
||
|
}
|
||
|
}
|
||
|
|
||
|
|
||
|
|
||
|
$imgs_sql = "select * from lkt_product_img where product_id = '$id'";
|
||
|
$imgurls = $db->select($imgs_sql);
|
||
|
|
||
|
//查询规格数据
|
||
|
$size = "select * from lkt_configure where pid = '$id' and recycle =0";
|
||
|
$res_size = $db->select($size);
|
||
|
$attr_group_list = [];
|
||
|
$checked_attr_list = [];
|
||
|
if ($res_size) {
|
||
|
|
||
|
$arrar_t = unserialize($res_size[0]->attribute);
|
||
|
foreach ($arrar_t as $key => $value) {
|
||
|
$attr_group_list[] = array('attr_group_name' => $key, 'attr_list' => [], 'attr_all' => []);
|
||
|
}
|
||
|
foreach ($res_size as $k => $v) {
|
||
|
$attribute = unserialize($v->attribute); // 属性
|
||
|
$attr_lists = [];
|
||
|
//列出属性名
|
||
|
foreach ($attribute as $key => $value) {
|
||
|
foreach ($attr_group_list as $keya => $valuea) {
|
||
|
if ($key == $valuea['attr_group_name']) {
|
||
|
|
||
|
if (!in_array($value, $attr_group_list[$keya]['attr_all'])) {
|
||
|
|
||
|
$attr_list = array('attr_name' => $value,'status' => true);
|
||
|
|
||
|
array_push($attr_group_list[$keya]['attr_list'], $attr_list);
|
||
|
array_push($attr_group_list[$keya]['attr_all'], $value);
|
||
|
}
|
||
|
}
|
||
|
}
|
||
|
$attr_lists[] = array('attr_id' => '', 'attr_group_name' => $key, 'attr_name' => $value);
|
||
|
}
|
||
|
$checked_attr_list[] = array('attr_list' => $attr_lists, 'costprice' => $v->costprice, 'yprice' => $v->yprice, 'price' => $v->price, 'num' => $v->num, 'unit' => $v->unit, 'img' => $uploadImg.'/'.$v->img, 'cid' => $v->id);
|
||
|
}
|
||
|
foreach ($attr_group_list as $key => $value) {
|
||
|
$attr_group_list[$key] = $this->array_key_remove($attr_group_list[$key], 'attr_all');
|
||
|
}
|
||
|
}
|
||
|
if($initial != ''){
|
||
|
$initial = unserialize($initial);
|
||
|
}else{
|
||
|
$initial = array();
|
||
|
}
|
||
|
$initial = (object)$initial;
|
||
|
$attr_group_list = json_encode($attr_group_list);
|
||
|
$checked_attr_list = json_encode($checked_attr_list);
|
||
|
$request->setAttribute("volume",$volume);
|
||
|
$request->setAttribute("status", $status);
|
||
|
$request->setAttribute("uploadImg",$uploadImg);
|
||
|
$request->setAttribute("checked_attr_list",$checked_attr_list);
|
||
|
$request->setAttribute("attr_group_list",$attr_group_list);
|
||
|
$request->setAttribute('initial', isset($initial) ? $initial : '');
|
||
|
$request->setAttribute('s_type', $arr);
|
||
|
$request->setAttribute("ctypes",$res);
|
||
|
$request->setAttribute('id', $id);
|
||
|
$request->setAttribute('r02', $brand);//所有品牌
|
||
|
$request->setAttribute('product_title', isset($product_title) ? $product_title : '');
|
||
|
$request->setAttribute('subtitle', isset($subtitle) ? $subtitle : '');
|
||
|
$request->setAttribute('weight', isset($weight) ? $weight : '');
|
||
|
$request->setAttribute('content', isset($content) ? $content : '');
|
||
|
$request->setAttribute('num', isset($num) ? $num : '');
|
||
|
$request->setAttribute('imgurl', isset($imgurl) ? $imgurl : '');
|
||
|
$request->setAttribute('imgurls', isset($imgurls) ? $imgurls : '');
|
||
|
$request->setAttribute('freight_list', $freight_list);// 运费
|
||
|
|
||
|
return View :: INPUT;
|
||
|
}
|
||
|
|
||
|
public static function array_key_remove($arr, $key)
|
||
|
{
|
||
|
if (!array_key_exists($key, $arr)) {
|
||
|
return $arr;
|
||
|
}
|
||
|
$keys = array_keys($arr);
|
||
|
$index = array_search($key, $keys);
|
||
|
if ($index !== FALSE) {
|
||
|
array_splice($arr, $index, 1);
|
||
|
}
|
||
|
return $arr;
|
||
|
}
|
||
|
|
||
|
public function execute() {
|
||
|
$db = DBAction::getInstance();
|
||
|
$request = $this->getContext()->getRequest();
|
||
|
$admin_id = $this->getContext()->getStorage()->read('admin_id');
|
||
|
|
||
|
$id = addslashes(trim($request->getParameter('id'))); // 产品id
|
||
|
$attribute_id = addslashes(trim($request->getParameter('attribute_id'))); // 属性id
|
||
|
$num = $request->getParameter('num'); // 数量
|
||
|
$nn = $db->select("select num from lkt_configure where pid = '$id' and id = '$attribute_id'");
|
||
|
$nn = $nn[0]->num;
|
||
|
if(floor($num) ==$nn){
|
||
|
echo 2;
|
||
|
exit;
|
||
|
}
|
||
|
if(floor($num) == $num){
|
||
|
if($num > 0){
|
||
|
$sql = "update lkt_configure set num = '$num' where pid = '$id' and id = '$attribute_id'";
|
||
|
$rr = $db->update($sql);
|
||
|
|
||
|
$sql = "select num from lkt_configure where pid = '$id'";
|
||
|
$r = $db->select($sql);
|
||
|
if($r){
|
||
|
$znum = 0;
|
||
|
foreach ($r as $k => $v){
|
||
|
$znum += $v->num;
|
||
|
}
|
||
|
$sql = "update lkt_product_list set num = '$znum' where id = '$id'";
|
||
|
$db->update($sql);
|
||
|
}
|
||
|
if($rr == -1) {
|
||
|
$db->admin_record($admin_id,' 修改属性id为 '.$attribute_id.' 的库存失败 ',2);
|
||
|
|
||
|
echo 0;
|
||
|
exit;
|
||
|
} else {
|
||
|
$db->admin_record($admin_id,' 修改属性id为 '.$attribute_id.' 的库存 ',2);
|
||
|
|
||
|
echo 1;
|
||
|
exit;
|
||
|
}
|
||
|
}else{
|
||
|
$db->admin_record($admin_id,' 修改属性id为 '.$attribute_id.' 的库存失败 ',2);
|
||
|
|
||
|
echo 0;
|
||
|
exit;
|
||
|
}
|
||
|
}else{
|
||
|
$db->admin_record($admin_id,' 修改属性id为 '.$attribute_id.' 的库存失败 ',2);
|
||
|
|
||
|
echo 0;
|
||
|
exit;
|
||
|
}
|
||
|
}
|
||
|
|
||
|
public function getRequestMethods(){
|
||
|
return Request :: POST;
|
||
|
}
|
||
|
|
||
|
}
|
||
|
|
||
|
?>
|