futian.liu
2023-12-05 ceecebe477faf5a45b19f3b258f7add8f93b4583
consum-base/src/main/java/com/consum/base/service/FinSysTenantServiceImpl.java
@@ -7,27 +7,24 @@
import com.walker.infrastructure.utils.DateUtils;
import com.walker.infrastructure.utils.StringUtils;
import com.walker.jdbc.service.BaseServiceImpl;
import org.springframework.stereotype.Service;
import java.text.ParseException;
import java.text.SimpleDateFormat;
import java.util.*;
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 {
    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_BY_PARENT_ID = "SELECT * FROM FIN_SYS_TENANT WHERE parent_id = ?";
    private static final String QUERY_BY_PARENT_CODE = "SELECT * FROM FIN_SYS_TENANT WHERE CODE = ?";
    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_LIST_BY_PARENT_ID = "SELECT * FROM FIN_SYS_TENANT WHERE PARENT_ID = ? ORDER BY LV ASC";
    private static final String QUERY_LV2_ALL = "SELECT * FROM FIN_SYS_TENANT WHERE LV < 3 ORDER BY CODE ASC";
    /**
     * @Author :power
     * @Date : 2023/7/20 20:41
     * 获取区划信息 主要用于缓存
     * @Date : 2023/7/20 20:41 获取区划信息 主要用于缓存
     */
    public FinSysTenant queryOneByCode(String code) {
        FinSysTenant tenant = new FinSysTenant();
@@ -40,8 +37,6 @@
    }
    private static final String QUERY_LV2_ALL = "SELECT * FROM FIN_SYS_TENANT WHERE LV < 3 ORDER BY CODE ASC";
    public List<FinSysTenant> queryForTree() {
        // 展示全部节点
        return this.select(QUERY_TREE_ALL, new Object[]{}, new FinSysTenant());
@@ -49,8 +44,7 @@
    /**
     * @Author :power
     * @Date : 2023/7/20 16:34
     * 根据id 查询下级所有节点 地市查询自己 省查询所有地市
     * @Date : 2023/7/20 16:34 根据id 查询下级所有节点 地市查询自己 省查询所有地市
     */
    public List<FinSysTenant> queryTreeById(Long id, Integer lv) {
        if (lv == 3) {
@@ -71,8 +65,7 @@
    /**
     * @Author :power
     * @Date : 2023/7/21 14:46
     * 特殊数据 禁止其他接口使用
     * @Date : 2023/7/21 14:46 特殊数据 禁止其他接口使用
     */
    public Map<Long, List<FinSysTenant>> queryCountyByCityCode(Long id, Integer lv) {
        Map<String, Object> parameter = new HashMap<>(5);
@@ -101,40 +94,10 @@
        return this.select(QUERY_LV2_ALL, new Object[]{}, new FinSysTenant());
    }
    /**
     * @Description 根据父级id获取下级列表
     * @Author wh
     * @Date 2023/7/25 13:53
     */
    public List<FinSysTenant> getByParentId(Long parentId) {
        return this.select(QUERY_LIST_BY_PARENT_ID, new Object[]{parentId}, new FinSysTenant());
    }
    /**
     * @Description 根据区划CODE查询区划信息
     * @Author wh
     * @Date 2023/9/11 19:16
     */
    public FinSysTenant selectByParentId(String parentId) {
        List<FinSysTenant> select = this.select(QUERY_BY_PARENT_ID, new Object[]{parentId}, new FinSysTenant());
        if (StringUtils.isEmptyList(select)) {
            return null;
        } else {
            return select.get(0);
        }
    }
    public FinSysTenant selectByTenantId(String tenantCode) {
        List<FinSysTenant> select = this.select(QUERY_BY_PARENT_CODE, new Object[]{tenantCode}, new FinSysTenant());
        if (StringUtils.isEmptyList(select)) {
            return null;
        } else {
            return select.get(0);
        }
    }
    /**
     * 删除
     *
     * @author 卢庆阳
     * @date 2023/10/4
     */
@@ -143,16 +106,16 @@
        finSysTenant.setTempId(param.getId());
        finSysTenant.setStatus(0);
        finSysTenant.setIsDelete(1);
        finSysTenant.setModified(getCurrentDate());
        finSysTenant.setModified(DateUtils.getDate("yyyy-MM-dd HH:mm:ss"));
        finSysTenant.setUpdateTime(DateUtils.getDateTimeNumber(System.currentTimeMillis()));
        finSysTenant.setUpdateBy(sysInfo.getUserName());
        return this.update(finSysTenant);
    }
    /**
     * 添加机构
     *
     * @author 卢庆阳
     * @date 2023/10/4
     */
@@ -181,7 +144,7 @@
        finSysTenant.setCode(param.getCode());
        //设置详细地址及经纬度
        finSysTenant.setName(param.getName());
        finSysTenant.setCreateTime3(getCurrentDate());
        finSysTenant.setCreateTime3(DateUtils.getDate("yyyy-MM-dd HH:mm:ss"));
        finSysTenant.setCreateTime(DateUtils.getDateTimeNumber(System.currentTimeMillis()));
        finSysTenant.setSummary(param.getSummary());
        finSysTenant.setCreateBy(sysInfo.getUserName());
@@ -249,37 +212,20 @@
    /**
     * 批量添加机构
     *
     * @author jlq
     * @date 2023/10/9
     */
    public void insertFinSysTenantBatch(List<FinSysTenantParam> params, FinSysTenantUser sysInfo, int lv){
    public void insertFinSysTenantBatch(List<FinSysTenantParam> params, FinSysTenantUser sysInfo, int lv) {
        for (FinSysTenantParam param : params) {
            addFinSysTenant(param,sysInfo,lv);
            addFinSysTenant(param, sysInfo, lv);
        }
    }
    /**
     * 获取当前日期
     *
     * @author 卢庆阳
     * @date 2023/10/4
     */
    private Date getCurrentDate() {
        Date currentDate = new Date();
        SimpleDateFormat dateFormat = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
        String formattedDate = dateFormat.format(currentDate);
        try {
            Date convertedDate = dateFormat.parse(formattedDate);
        } catch (ParseException e) {
            e.printStackTrace();
        }
        return currentDate;
    }
    /**
     * 编辑
     *
     * @author 卢庆阳
     * @date 2023/10/6
     */
@@ -292,9 +238,15 @@
        } else {
            finSysTenant.setLv3Name(finSysTenant.getName());
        }
        finSysTenant.setModified(getCurrentDate());
        finSysTenant.setModified(DateUtils.getDate("yyyy-MM-dd HH:mm:ss"));
        finSysTenant.setUpdateTime(DateUtils.getDateTimeNumber(System.currentTimeMillis()));
        finSysTenant.setUpdateBy(sysInfo.getUserName());
        return this.update(finSysTenant);
    }
    public FinSysTenant selectById(Long id) {
        FinSysTenant tenant = new FinSysTenant();
        tenant.setTempId(id);
        return this.get(tenant);
    }
}