|
@@ -1587,27 +1587,190 @@ class PublicRpcService implements PublicRpcServiceInterface
|
|
public function getSectorPlace(array $data): array
|
|
public function getSectorPlace(array $data): array
|
|
{
|
|
{
|
|
if(isset($data['sector_num']) && !empty($data['sector_num'])){
|
|
if(isset($data['sector_num']) && !empty($data['sector_num'])){
|
|
- $where['t.sector_num'] = $data['sector_num'];
|
|
|
|
- $template = DB::table(DB::raw('(
|
|
|
|
- SELECT
|
|
|
|
- sp.*,
|
|
|
|
- s.width,
|
|
|
|
- s.height,
|
|
|
|
- ROW_NUMBER() OVER (PARTITION BY sp.type ORDER BY sp.id DESC) as rn
|
|
|
|
- FROM sector_place sp
|
|
|
|
- LEFT JOIN size s ON sp.size_id = s.id
|
|
|
|
- ) as t'))
|
|
|
|
- ->where('rn', 1)
|
|
|
|
|
|
+ $where['sector_place.component_num'] = $data['sector_num'];
|
|
|
|
+ $template = SectorPlace::where('sector_place.type_id',1)
|
|
->where($where)
|
|
->where($where)
|
|
- ->select('t.*')
|
|
|
|
|
|
+ ->leftJoin('size','sector_place.size_id','=','size.id')
|
|
|
|
+ ->select('sector_place.*','size.width','size.height')
|
|
->get();
|
|
->get();
|
|
}
|
|
}
|
|
- if(isset($data['type']) && !empty($data['type'])){
|
|
|
|
- $template = SectorPlace::where('type', $data['type'])->get()->all();
|
|
|
|
- }
|
|
|
|
if(empty($template)){
|
|
if(empty($template)){
|
|
- return Result::error('未查询到通栏位置相关模版!');
|
|
|
|
|
|
+ return Result::error('未查询到相关通栏版式!');
|
|
}
|
|
}
|
|
return Result::success($template);
|
|
return Result::success($template);
|
|
}
|
|
}
|
|
|
|
+
|
|
|
|
+ /**
|
|
|
|
+ * 通栏版式管理-获取通栏版式列表
|
|
|
|
+ */
|
|
|
|
+ public function getSectorPlaceList(array $data): array
|
|
|
|
+ {
|
|
|
|
+ $where['sector_place.type_id'] = $data['type_id'];
|
|
|
|
+ if(isset($data['component_num']) && !empty($data['component_num'])){
|
|
|
|
+ $where['sector_place.component_num'] = $data['component_num'];
|
|
|
|
+ }
|
|
|
|
+ if(isset($data['sector_type']) && !empty($data['sector_type'])){
|
|
|
|
+ $where['sector_place.sector_type'] = $data['sector_type'];
|
|
|
|
+ }
|
|
|
|
+ if(isset($data['component_type']) && !empty($data['component_type'])){
|
|
|
|
+ $where['sector_place.component_type'] = $data['component_type'];
|
|
|
|
+ }
|
|
|
|
+ if(isset($data['name']) && !empty($data['name'])){
|
|
|
|
+ array_push($where,['sector_place.name', 'like', '%'.$data['name'].'%']);
|
|
|
|
+ }
|
|
|
|
+ if (isset($data['width']) && !empty($data['width']) && isset($data['height']) && !empty($data['height'])){
|
|
|
|
+ $size_id = Size::where('width','like','%' .$data['width'].'%')->where('height','like','%' .$data['height'].'%')->pluck('id');
|
|
|
|
+ } else if( isset($data['width']) && !empty($data['width'])){
|
|
|
|
+ $size_id = Size::where('width','like','%' .$data['width'].'%')->pluck('id');
|
|
|
|
+ }else if( isset($data['height']) && !empty($data['height'])){
|
|
|
|
+ $size_id = Size::where('height','like','%' .$data['height'].'%')->pluck('id');
|
|
|
|
+ }else{
|
|
|
|
+ $size_id = [];
|
|
|
|
+ }
|
|
|
|
+ $sector_place = SectorPlace::where($where)
|
|
|
|
+ ->when(!empty($size_id), function ($query) use ($size_id) {
|
|
|
|
+ $query->whereIn('sector_place.size_id', $size_id);
|
|
|
|
+ })
|
|
|
|
+ ->leftJoin('size','sector_place.size_id','=','size.id')
|
|
|
|
+ ->select('sector_place.*','size.width','size.height');
|
|
|
|
+ $result['count'] = $sector_place->count();
|
|
|
|
+ $result['row'] =$sector_place->paginate($data['page_size'], ['*'], 'page', $data['page']);
|
|
|
|
+ if(empty($result['count'])){
|
|
|
|
+ return Result::error("暂无相关版式数据!");
|
|
|
|
+ }
|
|
|
|
+ return Result::success($result);
|
|
|
|
+ }
|
|
|
|
+ /**
|
|
|
|
+ * 通栏版式管理-添加通栏版式
|
|
|
|
+ */
|
|
|
|
+ public function addSectorPlace(array $data): array
|
|
|
|
+ {
|
|
|
|
+ // 1:通栏;2:组件;
|
|
|
|
+ if($data['type_id'] == 1){
|
|
|
|
+ $sector_place = SectorPlace::where('sector_type', $data['type'])->first();
|
|
|
|
+ if(!empty($sector_place)){
|
|
|
|
+ return Result::error('通栏版式类别编号已存在!');
|
|
|
|
+ }
|
|
|
|
+ $data = [
|
|
|
|
+ 'name' => $data['name'],
|
|
|
|
+ 'component_num' => $data['component_num'],
|
|
|
|
+ 'size_id' => $data['size_id'],
|
|
|
|
+ 'sort_id' => $data['sort_id'],
|
|
|
|
+ 'sector_img' => $data['sector_img'],
|
|
|
|
+ 'sector_type' => $data['type'],
|
|
|
|
+ 'type_id' => $data['type_id'],
|
|
|
|
+ ];
|
|
|
|
+ }else{
|
|
|
|
+ $sector_type = SectorPlace::where('sector_type', $data['type'])->where('type_id',1)->first();
|
|
|
|
+ if(empty($sector_type)){
|
|
|
|
+ return Result::error('通栏版式类别不存在!');
|
|
|
|
+ }
|
|
|
|
+ $component_type = SectorPlace::where('component_type', $data['type'])->where('type_id',2)->first();
|
|
|
|
+ if(!empty($component_type)){
|
|
|
|
+ return Result::error('组件版式类别编号已存在!');
|
|
|
|
+ }
|
|
|
|
+ $data = [
|
|
|
|
+ 'name' => $data['name'],
|
|
|
|
+ 'component_num' => 0,
|
|
|
|
+ 'size_id' => $data['size_id'],
|
|
|
|
+ 'sort_id' => $data['sort_id'],
|
|
|
|
+ 'sector_img' => $data['sector_img'],
|
|
|
|
+ 'component_type' => $data['type'],
|
|
|
|
+ 'type_id' => $data['type_id'],
|
|
|
|
+ ];
|
|
|
|
+ }
|
|
|
|
+
|
|
|
|
+ $result = SectorPlace::insertGetId($data);
|
|
|
|
+ if(empty($result)){
|
|
|
|
+ return Result::error('添加失败!');
|
|
|
|
+ }
|
|
|
|
+ return Result::success('添加成功!',$result);
|
|
|
|
+ }
|
|
|
|
+ /**
|
|
|
|
+ * 通栏版式管理-修改通栏版式
|
|
|
|
+ */
|
|
|
|
+ public function upSectorPlace(array $data): array
|
|
|
|
+ {
|
|
|
|
+ // 1:通栏;2:组件;
|
|
|
|
+ if($data['type_id'] == 1){
|
|
|
|
+ $sector_place = SectorPlace::where('sector_type', $data['type'])->first();
|
|
|
|
+ if(!empty($sector_place)){
|
|
|
|
+ return Result::error('通栏版式类别编号已存在!');
|
|
|
|
+ }
|
|
|
|
+ $data = [
|
|
|
|
+ 'id' => $data['id'],
|
|
|
|
+ 'name' => $data['name'],
|
|
|
|
+ 'component_num' => $data['component_num'],
|
|
|
|
+ 'size_id' => $data['size_id'],
|
|
|
|
+ 'sort_id' => $data['sort_id'],
|
|
|
|
+ 'sector_img' => $data['sector_img'],
|
|
|
|
+ 'sector_type' => $data['type'],
|
|
|
|
+ 'type_id' => $data['type_id'],
|
|
|
|
+ ];
|
|
|
|
+ }else{
|
|
|
|
+ $sector_type = SectorPlace::where('sector_type', $data['type'])->where('type_id',1)->first();
|
|
|
|
+ if(empty($sector_type)){
|
|
|
|
+ return Result::error('通栏版式类别不存在!');
|
|
|
|
+ }
|
|
|
|
+ $component_type = SectorPlace::where('component_type', $data['type'])->where('type_id',2)->first();
|
|
|
|
+ if(!empty($component_type)){
|
|
|
|
+ return Result::error('组件版式类别编号已存在!');
|
|
|
|
+ }
|
|
|
|
+ $data = [
|
|
|
|
+ 'id' => $data['id'],
|
|
|
|
+ 'name' => $data['name'],
|
|
|
|
+ 'component_num' => 0,
|
|
|
|
+ 'size_id' => $data['size_id'],
|
|
|
|
+ 'sort_id' => $data['sort_id'],
|
|
|
|
+ 'sector_img' => $data['sector_img'],
|
|
|
|
+ 'component_type' => $data['type'],
|
|
|
|
+ 'type_id' => $data['type_id'],
|
|
|
|
+ ];
|
|
|
|
+ }
|
|
|
|
+ $result = SectorPlace::where('id',$data['id'])->update($data);
|
|
|
|
+ if(empty($result)){
|
|
|
|
+ return Result::error('修改失败!');
|
|
|
|
+ }
|
|
|
|
+ return Result::success('修改成功!',$result);
|
|
|
|
+ }
|
|
|
|
+ /**
|
|
|
|
+ * 通栏版式管理-删除通栏版式
|
|
|
|
+ */
|
|
|
|
+ public function delSectorPlace(array $data): array
|
|
|
|
+ {
|
|
|
|
+ $sector_place = SectorPlace::where('id',$data['id'])->first();
|
|
|
|
+ if(empty($sector_place)){
|
|
|
|
+ return Result::error('通栏版式不存在!');
|
|
|
|
+ }
|
|
|
|
+ if($sector_place['type_id'] == 1){
|
|
|
|
+ $sector = Sector::where('place_type', $sector_place['sector_type'])->first();
|
|
|
|
+ if(!empty($sector)){
|
|
|
|
+ return Result::error('通栏版式分类已应用,暂不可删除!');
|
|
|
|
+ }
|
|
|
|
+ }else{
|
|
|
|
+ $sector = Component::where('place_type', $sector_place['component_type'])->first();
|
|
|
|
+ if(!empty($sector)){
|
|
|
|
+ return Result::error('组件版式分类已应用,暂不可删除!');
|
|
|
|
+ }
|
|
|
|
+ }
|
|
|
|
+ $result = SectorPlace::where('id',$data['id'])->delete();
|
|
|
|
+ if(empty($result)){
|
|
|
|
+ return Result::error('删除失败!');
|
|
|
|
+ }
|
|
|
|
+ return Result::success('删除成功!');
|
|
|
|
+ }
|
|
|
|
+ /**
|
|
|
|
+ * 自助建站-通栏版式管理-获取通栏版式详情
|
|
|
|
+ */
|
|
|
|
+ public function getSectorPlaceInfo(array $data): array
|
|
|
|
+ {
|
|
|
|
+ $result = SectorPlace::where('sector_place.id',$data['id'])
|
|
|
|
+ ->leftJoin('size','sector_place.size_id','=','size.id')
|
|
|
|
+ ->select('sector_place.*','size.width','size.height')
|
|
|
|
+ ->first();
|
|
|
|
+ if(empty($result)){
|
|
|
|
+ return Result::error('通栏版式不存在!');
|
|
|
|
+ }
|
|
|
|
+ return Result::success($result);
|
|
|
|
+ }
|
|
}
|
|
}
|