/** * @title 装修店铺 * @param plate_id 是 int 店铺装修样式ID * @param type 是 int 模板样式子板块类型(4-海景、6-二宫格、8-三宫格、9-四宫格) * @param sort 是 int 模块排序位置 * @param sku_id 是 string 商品sku_id * @param index 是 int 商品sku排序位置 * @param operate_type 是 int 1-替换商品、2-删除商品 * @param type_id 否 int 装修商品的类型(1-平台商品、2-特色商品) * @example FlagShipShopDecorate.decorateShop? 调试参数:{"operate_type":"1","username":"17721355485","check_code":"123456","method":"FlagShipShopDecorate.decorateShop","plate_id":1,"type":8,"sort":"3","sku_id": "8032717999","index":"1","type_id":"1"} * @return {"status":"0","errorCode":"0","msg":"成功","result":true} * @method POST * @author 邹柯 */ public function decorateShop($res){ $user_id=session("user.user_id"); $plate_id=$res[\'plate_id\']; if(empty($plate_id)){ E(\'700401\'); } $type=$res[\'type\']; if($type !=4 && $type !=6 && $type !=8 && $type !=9){ E(\'700405\'); } $type_id=$res[\'type_id\']; if($type_id !=1 && $type_id !=2){ E(\'700416\'); } $sort=$res[\'sort\']; if(!is_numeric($sort) || $sort <= 0){ E(\'700406\'); } $sku_id=$res[\'sku_id\']; if(empty($sku_id)){ E(\'700402\'); } $index=$res[\'index\']; if(!is_numeric($index) || $index <= 0){ E(\'700407\'); } $operate_type=$res[\'operate_type\']; if($operate_type !=1 && $operate_type !=2){ E(\'700414\'); } $user_shop_decorate=M(\'user_shop_decorate\'); $where[\'flagship_shop\']=1; $where[\'create_id\']=$user_id; $usd_info=$user_shop_decorate->field(\'id,plate_id,plate_content_draft,plate_content_draft_features,select_status\')->where($where)->order(\'create_time desc\')->find(); if($type_id==1){ if(empty($usd_info[\'plate_content_draft\'])){ $plate_content_draft=$this->getDefaultStyleByPlateId($plate_id,$type_id); }else{ $plate_content_draft=json_decode($usd_info[\'plate_content_draft\'],true); } }else{ if(empty($usd_info[\'plate_content_draft_features\'])){ $plate_content_draft=$this->getDefaultStyleByPlateId($plate_id,$type_id); }else{ $plate_content_draft=json_decode($usd_info[\'plate_content_draft_features\'],true); } } foreach($plate_content_draft as $k=>$v){ if($v[\'type\']==$type && $v[\'sort\']==$sort){ foreach($v[\'goods\'] as $k2=>$v2){ if($v2[\'index\']==$index){ $plate_content_draft[$k][\'goods\'][$k2][\'sku_id\']=$sku_id; $plate_content_draft[$k][\'goods\'][$k2][\'operate_type\']=$operate_type; } } } } $plate_content_draft_arr=json_encode($plate_content_draft); $time=date("Y-m-d H:i:s",time()); if(!empty($usd_info)){ //修改 $u_where[\'id\']=$usd_info[\'id\']; if($type_id==1){ $data=array( \'plate_id\' => $plate_id, \'plate_content_draft\'=>$plate_content_draft_arr, \'status\'=>1, \'update_time\'=>$time, \'update_id\'=>$user_id, \'select_status\'=>2, ); }else{ $data=array( \'plate_id_features\' => $plate_id, \'plate_content_draft_features\'=>$plate_content_draft_arr, \'status\'=>1, \'update_time\'=>$time, \'update_id\'=>$user_id, \'select_status\'=>2, ); } $res=$user_shop_decorate->data($data)->where($u_where)->save(); if(!$res && $res !=0){ E(\'700403\'); } }else{ //添加 if($type_id==1) { $data = array( \'plate_id\' => $plate_id, \'plate_content_draft\' => $plate_content_draft_arr, \'status\' => 1, \'create_time\' => $time, \'create_id\' => $user_id, \'update_time\' => $time, \'update_id\' => $user_id, \'use_status\' => 1, \'select_status\' => 2 ); }else{ $data = array( \'plate_id_features\' => $plate_id, \'plate_content_draft_features\' => $plate_content_draft_arr, \'status\' => 1, \'create_time\' => $time, \'create_id\' => $user_id, \'update_time\' => $time, \'update_id\' => $user_id, \'use_status\' => 1, \'select_status\' => 2 ); } $res=$user_shop_decorate->data($data)->add(); if(!$res){ E(\'700404\'); } } $usd_where[\'plate_id\']=array("neq",$plate_id); $usd_where[\'create_id\']=$user_id; $res_info=$user_shop_decorate->data([\'select_status\'=>1])->where($usd_where)->save(); if(!$res_info && $res_info !=0){ E(\'700404\'); } return true; }
//根据指定样式id获取样式下的默认商品信息 public function getDefaultStyleByPlateId($plate_id,$type_id){ $shop_decorate_template=M(\'shop_decorate_template\'); $sd_where[\'id\']=$plate_id; $sd_where[\'is_deleted\']=0; $sdt_info=$shop_decorate_template->field(\'id,plate_content,goods_nums\')->where($sd_where)->find(); $plate_content=json_decode($sdt_info[\'plate_content\'],true); if($type_id==1){ $goods_info=$this->getDefaultGoodsInfo($sdt_info[\'goods_nums\'],"sell_nums desc",null,null,null,null,null,null,null,true,$plate_id); foreach($goods_info as $k=>$v){ unset($goods_info[$k][\'activity_info\']); unset($goods_info[$k][\'store_id\']); unset($goods_info[$k][\'sell_nums\']); unset($goods_info[$k][\'sell_price\']); unset($goods_info[$k][\'img\']); unset($goods_info[$k][\'title\']); unset($goods_info[$k][\'sku_no\']); unset($goods_info[$k][\'short_name\']); unset($goods_info[$k][\'search_name\']); unset($goods_info[$k][\'product_id\']); unset($goods_info[$k][\'imgs\']); unset($goods_info[$k][\'seascapes\']); $goods_info[$k][\'index\']=$k+1; } $total_nums=0; foreach($plate_content as $k=>$v){ $at=array_slice($goods_info,$total_nums,$v[\'goods_nums\']); $plate_content[$k][\'goods\']=$at; $total_nums +=$v[\'goods_nums\']; unset($plate_content[$k][\'goods_nums\']); } }else{ $goods_info=$this->getDefaultGoodsNull($sdt_info[\'goods_nums\'],$type_id); $total_nums=0; foreach($plate_content as $k=>$v){ $at=array_slice($goods_info,$total_nums,$v[\'goods_nums\']); $plate_content[$k][\'goods\']=$at; $total_nums +=$v[\'goods_nums\']; } } return $plate_content; } //获取默认空商品 public function getDefaultGoodsNull($goods_nums,$type_id){ $user_id=session("user.user_id"); $store=M(\'store\'); $s_where[\'user_id\']=$user_id; $store_id=$store->where($s_where)->getField(\'id\'); $store_goods=M(\'store_goods\'); $gs_where[\'is_deleted\']=1; $gs_where[\'is_open\']=1; if($type_id==1){ $gs_where[\'pt_cats\']="0/1"; }else{ $gs_where[\'store_id\']=$store_id; } $gs_info=$store_goods->where($gs_where)->field(\'sku_id\')->find(); for($i=0;$i<$goods_nums;$i++){ $goods[]=[ \'sku_id\'=>$gs_info[\'sku_id\'], \'operate_type\'=>2, \'index\'=>$i+1 ]; } return $goods; }