select currval('lf.sys_publish_id_seq'::regclass) as id
insert into lf.sys_publish
(layerid,serviceid,eventid,name,url,path,type,status,dirid,depid,enhance_type,min,max,epsg,ct_type,ct_json,json,create_user,create_time,geom,bak)
values
(#{layerid},#{serviceid},#{eventid},#{name},#{url},#{path},#{type},#{status},#{dirid},#{depid},#{enhanceType},#{min},#{max},#{epsg},#{ctType},#{ctJson},#{json},#{createUser},now(),${geom},#{bak})
insert into lf.sys_pub_down (pubid, downid, create_user) values (#{pubid}, #{downid}, #{createUser})
insert into lf.sys_meta_pub(metaid, pubid, create_user, create_time)
values
(#{metaid}, #{pubid}, #{createUser}, now());
insert into lf.sys_publish
(layerid,serviceid,eventid,name,url,path,type,status,dirid,depid,enhance_type,min,max,epsg,ct_type,ct_json,json,create_user,create_time,geom,bak)
values
(#{item.layerid},#{item.serviceid},#{item.eventid},#{item.name},#{item.url},#{item.path},#{item.type},#{item.status},#{item.dirid},#{item.depid},#{item.enhanceType},#{item.min},#{item.max},#{item.epsg},#{item.ctType},#{item.ctJson},#{item.json},#{item.createUser},now(),${item.geom},#{item.bak})
delete from lf.sys_role_layer where layerid in (select a.id from lf.sys_layer a inner join lf.sys_res b on a.resid = b.id where b.pubid = #{id});
delete from lf.sys_role_res where resid in (select id from lf.sys_res where pubid = #{id});
delete from lf.sys_layer where resid in (select id from lf.sys_res where pubid = #{id});
delete from lf.sys_res where pubid = #{id};
delete from lf.sys_meta_pub where pubid = #{id};
delete from lf.sys_publish where id = #{id};
delete from lf.sys_role_layer where layerid in (select a.id from lf.sys_layer a inner join lf.sys_res b on a.resid = b.id where b.pubid in (${ids}));
delete from lf.sys_role_res where resid in (select id from lf.sys_res where pubid in (${ids}));
delete from lf.sys_layer where is_layer = 1 and resid in (select id from lf.sys_res where pubid in (${ids}));
delete from lf.sys_res where pubid in (${ids});
delete from lf.sys_meta_pub where pubid in (${ids});
delete from lf.sys_publish where id in (${ids});
update lf.sys_publish
set layerid=#{layerid},serviceid=#{serviceid},eventid=#{eventid},name=#{name},url=#{url},path=#{path},type=#{type},status=#{status},dirid=#{dirid},depid=#{depid},enhance_type=#{enhanceType},min=#{min},max=#{max},epsg=#{epsg},ct_type=#{ctType},ct_json=#{ctJson},json=#{json},update_user=#{updateUser},update_time=now(),geom=${geom},bak=#{bak}
where id=#{id}
update lf.sys_publish
set layerid=#{item.layerid},serviceid=#{item.serviceid},eventid=#{item.eventid},name=#{item.name},url=#{item.url},path=#{item.path},type=#{item.type},status=#{item.status},dirid=#{item.dirid},depid=#{item.depid},enhance_type=#{item.enhanceType},min=#{item.min},max=#{item.max},epsg=#{item.epsg},ct_type=#{item.ctType},ct_json=#{item.ctJson},json=#{item.json},update_user=#{item.updateUser},update_time=now(),geom=${item.geom},bak=#{item.bak}
where id = #{item.id}