select supplier_id,
sum(system_level = 'L1') as l1_granted,
sum(system_level = 'L2') as l2_granted,
sum(system_level = 'L3') as l3_granted
from account_user
where del_flag = '0' and supplier_id is not null
group by supplier_id
insert into account_provider(
user_id,
company_name,
contact_name,
contact_phone,
credit_code,
legal_person,
region,
register_date,
address,
license_url,
l1_quota,
l2_quota,
l3_quota,
status,
remark,
create_by,
create_time
)values(
#{userId},
#{companyName},
#{contactName},
#{contactPhone},
#{creditCode},
#{legalPerson},
#{region},
#{registerDate},
#{address},
#{licenseUrl},
#{l1Quota},
#{l2Quota},
#{l3Quota},
#{status},
#{remark},
#{createBy},
sysdate()
)
update account_provider
company_name = #{companyName},
contact_name = #{contactName},
contact_phone = #{contactPhone},
credit_code = #{creditCode},
legal_person = #{legalPerson},
region = #{region},
register_date = #{registerDate},
address = #{address},
license_url = #{licenseUrl},
l1_quota = #{l1Quota},
l2_quota = #{l2Quota},
l3_quota = #{l3Quota},
status = #{status},
remark = #{remark},
update_by = #{updateBy},
update_time = sysdate()
where id = #{id} and del_flag = '0'