futian.liu
2023-12-11 2c706a5d58e8315980ea92d6b82e0e4959bad8ca
consum-base/src/main/java/com/consum/base/service/impl/FinSysTenantServiceImpl.java
File was renamed from consum-base/src/main/java/com/consum/base/service/FinSysTenantServiceImpl.java
@@ -1,31 +1,36 @@
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);
@@ -36,7 +41,7 @@
        return null;
    }
    @Override
    public List<FinSysTenant> queryForTree() {
        // 展示全部节点
        return this.select(QUERY_TREE_ALL, new Object[]{}, new FinSysTenant());
@@ -46,6 +51,7 @@
     * @Author :power
     * @Date : 2023/7/20 16:34 根据id 查询下级所有节点 地市查询自己 省查询所有地市
     */
    @Override
    public List<FinSysTenant> queryTreeById(Long id, Integer lv) {
        if (lv == 3) {
            return new ArrayList<>();
@@ -67,6 +73,7 @@
     * @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);
@@ -80,20 +87,10 @@
        }
        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());
    }
    /**
     * 删除
@@ -101,6 +98,7 @@
     * @author 卢庆阳
     * @date 2023/10/4
     */
    @Override
    public int updateById(FinSysTenantParam param, FinSysTenantUser sysInfo) {
        FinSysTenant finSysTenant = new FinSysTenant();
        finSysTenant.setTempId(param.getId());
@@ -112,13 +110,13 @@
        return this.update(finSysTenant);
    }
    /**
     * 添加机构
     *
     * @author 卢庆阳
     * @date 2023/10/4
     */
    @Override
    public int addFinSysTenant(FinSysTenantParam param, FinSysTenantUser sysInfo, int lv) {
        FinSysTenant finSysTenant = new FinSysTenant();
@@ -161,7 +159,8 @@
     * @author 卢庆阳
     * @date 2023/10/4
     */
    private void setLvIdAndName(FinSysTenantParam param, FinSysTenant finSysTenant, long id, int lv) {
    @Override
    public void setLvIdAndName(FinSysTenantParam param, FinSysTenant finSysTenant, long id, int lv) {
        if (lv == 2) {    //新增市级机构
            //查询上一级 - 省级
            FinSysTenant finSysTenant1 = this.get(new FinSysTenant(param.getParentId()));
@@ -209,19 +208,18 @@
        }
    }
    /**
     * 批量添加机构
     *
     * @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);
        }
    }
    /**
     * 编辑
@@ -229,6 +227,7 @@
     * @author 卢庆阳
     * @date 2023/10/6
     */
    @Override
    public int updateFinSysTenant(FinSysTenant finSysTenant, FinSysTenantUser sysInfo) {
        Integer lv = finSysTenant.getLv();
        if (lv == 1) {
@@ -244,9 +243,17 @@
        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);
    }
}