File was renamed from consum-base/src/main/java/com/consum/base/service/FinSysTenantServiceImpl.java |
| | |
| | | package com.consum.base.service; |
| | | package com.consum.base.service.impl; |
| | | |
| | | import java.util.ArrayList; |
| | | import java.util.HashMap; |
| | | import java.util.List; |
| | | import java.util.Map; |
| | | import java.util.stream.Collectors; |
| | | |
| | | import org.springframework.stereotype.Service; |
| | | |
| | | import com.consum.base.pojo.FinSysTenantParam; |
| | | import com.consum.base.service.FinSysTenantService; |
| | | import com.consum.model.po.FinSysTenant; |
| | | import com.consum.model.po.FinSysTenantUser; |
| | | import com.walker.infrastructure.utils.CollectionUtils; |
| | | import com.walker.infrastructure.utils.DateUtils; |
| | | import com.walker.infrastructure.utils.StringUtils; |
| | | import com.walker.jdbc.service.BaseServiceImpl; |
| | | import java.util.ArrayList; |
| | | import java.util.HashMap; |
| | | import java.util.List; |
| | | import java.util.Map; |
| | | import java.util.stream.Collectors; |
| | | import org.springframework.stereotype.Service; |
| | | |
| | | @Service |
| | | public class FinSysTenantServiceImpl extends BaseServiceImpl { |
| | | public class FinSysTenantServiceImpl extends BaseServiceImpl implements FinSysTenantService { |
| | | |
| | | private static final String QUERY_TREE_ALL = "select * from FIN_SYS_TENANT where is_delete = 0 and status = 1 order by parent_id, LV ASC"; |
| | | private static final String QUERY_TREE_ALL = |
| | | "select * from FIN_SYS_TENANT where is_delete = 0 and status = 1 order by parent_id, LV ASC"; |
| | | private static final String QUERY_TREE_BY_CODE = "SELECT * FROM FIN_SYS_TENANT "; |
| | | private static final String QUERY_LIST_BY_CITY_CODE = "SELECT ID, NAME, CODE, CASE WHEN LV = 2 THEN ID ELSE PARENT_ID END AS PARENT_ID, LV, TENANT_TYPE, BELONG_PROVINCE FROM FIN_SYS_TENANT "; |
| | | private static final String QUERY_LV2_ALL = "SELECT * FROM FIN_SYS_TENANT WHERE LV < 3 ORDER BY CODE ASC"; |
| | | private static final String QUERY_LIST_BY_CITY_CODE = |
| | | "SELECT ID, NAME, CODE, CASE WHEN LV = 2 THEN ID ELSE PARENT_ID END AS PARENT_ID, LV, TENANT_TYPE, BELONG_PROVINCE FROM FIN_SYS_TENANT "; |
| | | |
| | | /** |
| | | * @Author :power |
| | | * @Date : 2023/7/20 20:41 获取区划信息 主要用于缓存 |
| | | */ |
| | | @Override |
| | | public FinSysTenant queryOneByCode(String code) { |
| | | FinSysTenant tenant = new FinSysTenant(); |
| | | tenant.setCode(code); |
| | |
| | | return null; |
| | | } |
| | | |
| | | |
| | | @Override |
| | | public List<FinSysTenant> queryForTree() { |
| | | // 展示全部节点 |
| | | return this.select(QUERY_TREE_ALL, new Object[]{}, new FinSysTenant()); |
| | | return this.select(QUERY_TREE_ALL, new Object[] {}, new FinSysTenant()); |
| | | } |
| | | |
| | | /** |
| | | * @Author :power |
| | | * @Date : 2023/7/20 16:34 根据id 查询下级所有节点 地市查询自己 省查询所有地市 |
| | | */ |
| | | @Override |
| | | public List<FinSysTenant> queryTreeById(Long id, Integer lv) { |
| | | if (lv == 3) { |
| | | return new ArrayList<>(); |
| | |
| | | * @Author :power |
| | | * @Date : 2023/7/21 14:46 特殊数据 禁止其他接口使用 |
| | | */ |
| | | @Override |
| | | public Map<Long, List<FinSysTenant>> queryCountyByCityCode(Long id, Integer lv) { |
| | | Map<String, Object> parameter = new HashMap<>(5); |
| | | StringBuilder sql = new StringBuilder(QUERY_LIST_BY_CITY_CODE); |
| | |
| | | } |
| | | sql.append(" ORDER BY PARENT_ID ,ID "); |
| | | List<FinSysTenant> list = this.select(sql.toString(), parameter, new FinSysTenant()); |
| | | // return list.stream().filter(tenant -> Objects.nonNull(tenant.getParentId())).collect(Collectors.groupingBy(FinSysTenant::getParentId)); |
| | | // return list.stream().filter(tenant -> |
| | | // Objects.nonNull(tenant.getParentId())).collect(Collectors.groupingBy(FinSysTenant::getParentId)); |
| | | return list.stream().collect(Collectors.groupingBy(FinSysTenant::getParentId)); |
| | | } |
| | | |
| | | |
| | | /** |
| | | * @Description 查询所有的市级带河南省的区划 |
| | | * @Author wh |
| | | * @Date 2023/7/20 15:29 |
| | | */ |
| | | public List<FinSysTenant> selectByLV2() { |
| | | return this.select(QUERY_LV2_ALL, new Object[]{}, new FinSysTenant()); |
| | | } |
| | | |
| | | |
| | | /** |
| | | * 删除 |
| | |
| | | * @author 卢庆阳 |
| | | * @date 2023/10/4 |
| | | */ |
| | | @Override |
| | | public int updateById(FinSysTenantParam param, FinSysTenantUser sysInfo) { |
| | | FinSysTenant finSysTenant = new FinSysTenant(); |
| | | finSysTenant.setTempId(param.getId()); |
| | |
| | | return this.update(finSysTenant); |
| | | } |
| | | |
| | | |
| | | /** |
| | | * 添加机构 |
| | | * |
| | | * @author 卢庆阳 |
| | | * @date 2023/10/4 |
| | | */ |
| | | @Override |
| | | public int addFinSysTenant(FinSysTenantParam param, FinSysTenantUser sysInfo, int lv) { |
| | | FinSysTenant finSysTenant = new FinSysTenant(); |
| | | |
| | | //id和tempId |
| | | // id和tempId |
| | | StringBuilder sql = new StringBuilder("SELECT max(id) FROM fin_sys_tenant WHERE 1=1"); |
| | | HashMap<String, Object> paramts = new HashMap<>(); |
| | | |
| | |
| | | List<Map<String, Object>> list = this.select(sql.toString(), paramts); |
| | | long id = 0L; |
| | | if (!CollectionUtils.isEmpty(list) && list.get(0).get("max(id)") != null) { |
| | | id = (Long) list.get(0).get("max(id)") + 1; |
| | | id = (Long)list.get(0).get("max(id)") + 1; |
| | | } else { |
| | | id = param.getParentId() * 1000 + 1; |
| | | } |
| | |
| | | |
| | | finSysTenant.setParentId(param.getParentId()); |
| | | finSysTenant.setCode(param.getCode()); |
| | | //设置详细地址及经纬度 |
| | | // 设置详细地址及经纬度 |
| | | finSysTenant.setName(param.getName()); |
| | | finSysTenant.setCreateTime3(DateUtils.getDate("yyyy-MM-dd HH:mm:ss")); |
| | | finSysTenant.setCreateTime(DateUtils.getDateTimeNumber(System.currentTimeMillis())); |
| | | finSysTenant.setSummary(param.getSummary()); |
| | | finSysTenant.setCreateBy(sysInfo.getUserName()); |
| | | //设置各层级id及名称 |
| | | // 设置各层级id及名称 |
| | | finSysTenant.setLv(lv); |
| | | setLvIdAndName(param, finSysTenant, id, lv); |
| | | |
| | |
| | | * @author 卢庆阳 |
| | | * @date 2023/10/4 |
| | | */ |
| | | private void setLvIdAndName(FinSysTenantParam param, FinSysTenant finSysTenant, long id, int lv) { |
| | | if (lv == 2) { //新增市级机构 |
| | | //查询上一级 - 省级 |
| | | @Override |
| | | public void setLvIdAndName(FinSysTenantParam param, FinSysTenant finSysTenant, long id, int lv) { |
| | | if (lv == 2) { // 新增市级机构 |
| | | // 查询上一级 - 省级 |
| | | FinSysTenant finSysTenant1 = this.get(new FinSysTenant(param.getParentId())); |
| | | if (finSysTenant1 != null) { |
| | | finSysTenant.setLv1Id(finSysTenant1.getId()); |
| | |
| | | finSysTenant.setLv2Id(id); |
| | | finSysTenant.setLv2Name(param.getName()); |
| | | } |
| | | } else if (lv == 3) { //新增县级机构 |
| | | //查询上一级 - 市级 |
| | | } else if (lv == 3) { // 新增县级机构 |
| | | // 查询上一级 - 市级 |
| | | FinSysTenant finSysTenant2 = this.get(new FinSysTenant(param.getParentId())); |
| | | if (finSysTenant2 != null) { |
| | | //查询上一级 - 省级 |
| | | // 查询上一级 - 省级 |
| | | FinSysTenant finSysTenant1 = this.get(new FinSysTenant(finSysTenant2.getParentId())); |
| | | |
| | | finSysTenant.setLv1Id(finSysTenant1.getId()); |
| | |
| | | finSysTenant.setLv3Id(id); |
| | | finSysTenant.setLv3Name(param.getName()); |
| | | } |
| | | } else if (lv == 4) { //新增支局机构 |
| | | //查询上一级 - 县级 |
| | | } else if (lv == 4) { // 新增支局机构 |
| | | // 查询上一级 - 县级 |
| | | FinSysTenant finSysTenant3 = this.get(new FinSysTenant(param.getParentId())); |
| | | if (finSysTenant3 != null) { |
| | | //查询上一级 - 市级 |
| | | // 查询上一级 - 市级 |
| | | FinSysTenant finSysTenant2 = this.get(new FinSysTenant(finSysTenant3.getParentId())); |
| | | if (finSysTenant2 != null) { |
| | | //查询上一级 - 省级 |
| | | // 查询上一级 - 省级 |
| | | FinSysTenant sysTenant1 = this.get(new FinSysTenant(finSysTenant2.getParentId())); |
| | | if (sysTenant1 != null) { |
| | | finSysTenant.setLv1Id(sysTenant1.getId()); |
| | |
| | | } |
| | | } |
| | | |
| | | |
| | | /** |
| | | * 批量添加机构 |
| | | * |
| | | * @author jlq |
| | | * @date 2023/10/9 |
| | | */ |
| | | @Override |
| | | public void insertFinSysTenantBatch(List<FinSysTenantParam> params, FinSysTenantUser sysInfo, int lv) { |
| | | for (FinSysTenantParam param : params) { |
| | | addFinSysTenant(param, sysInfo, lv); |
| | | } |
| | | } |
| | | |
| | | |
| | | /** |
| | | * 编辑 |
| | |
| | | * @author 卢庆阳 |
| | | * @date 2023/10/6 |
| | | */ |
| | | @Override |
| | | public int updateFinSysTenant(FinSysTenant finSysTenant, FinSysTenantUser sysInfo) { |
| | | Integer lv = finSysTenant.getLv(); |
| | | if (lv == 1) { |
| | |
| | | return this.update(finSysTenant); |
| | | } |
| | | |
| | | @Override |
| | | public FinSysTenant selectById(Long id) { |
| | | FinSysTenant tenant = new FinSysTenant(); |
| | | tenant.setTempId(id); |
| | | return this.get(tenant); |
| | | } |
| | | |
| | | @Override |
| | | public FinSysTenant selectByName(String tenantName) { |
| | | FinSysTenant tenant = new FinSysTenant(); |
| | | tenant.setName(tenantName); |
| | | return this.select(tenant).stream().findFirst().orElse(null); |
| | | } |
| | | } |