From d32500cf63cc73cdc850c94897932efd8f4691b9 Mon Sep 17 00:00:00 2001 From: luqingyang <lqy5492@163.com> Date: 星期三, 25 十月 2023 09:21:52 +0800 Subject: [PATCH] Merge remote-tracking branch 'origin/master' --- consum-base/src/main/java/com/consum/base/service/FinSysTenantServiceImpl.java | 132 ++++++++++++++++++++++++++++++++++++++++++++ 1 files changed, 132 insertions(+), 0 deletions(-) diff --git a/consum-base/src/main/java/com/consum/base/service/FinSysTenantServiceImpl.java b/consum-base/src/main/java/com/consum/base/service/FinSysTenantServiceImpl.java new file mode 100644 index 0000000..d916f93 --- /dev/null +++ b/consum-base/src/main/java/com/consum/base/service/FinSysTenantServiceImpl.java @@ -0,0 +1,132 @@ +package com.consum.base.service; + +import com.consum.base.pojo.FinSysTenantParam; +import com.consum.model.po.FinSysTenant; +import com.iplatform.model.po.S_user_core; +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 org.springframework.stereotype.Service; + +import java.util.HashMap; +import java.util.List; +import java.util.Map; + +/** + * @Description 绯荤粺鏈烘瀯 + * @Author 鍗㈠簡闃� + * @Date 2023/10/23 + */ +@Service +public class FinSysTenantServiceImpl extends BaseServiceImpl { + + private static final String QUERY_BY_PARENT_CODE = "SELECT * FROM fin_sys_tenant WHERE CODE = ?"; + + /** + * @Description 鏍规嵁鏈烘瀯id鏌ヨ鏈烘瀯 + * @Author 鍗㈠簡闃� + * @Date 2023/10/23 + */ + public FinSysTenant selectByTenantId(String code) { + List<FinSysTenant> select = this.select(QUERY_BY_PARENT_CODE, new Object[]{code}, new FinSysTenant()); + if (StringUtils.isEmptyList(select)) { + return null; + } else { + return select.get(0); + } + } + + /** + * 娣诲姞鏈烘瀯 + * @author 鍗㈠簡闃� + * @date 2023/10/4 + */ + public int addSysTenant(FinSysTenantParam param, S_user_core currentUser, int lv) { + FinSysTenant sysTenant = new FinSysTenant(); + + //id鍜宼empId + StringBuilder sql = new StringBuilder("SELECT max(id) FROM fin_sys_tenant WHERE 1=1"); + HashMap<String, Object> paramts = new HashMap<>(); + + sql.append(" and parent_id =:parent_id"); + paramts.put("parent_id", param.getParentId()); + + 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; + } else { + id = param.getParentId() * 1000 + 1; + } + sysTenant.setTempId(id); + sysTenant.setId(id); + sysTenant.setStatus(param.getStatus()); + + sysTenant.setParentId(param.getParentId()); + sysTenant.setCode(param.getCode()); + sysTenant.setName(param.getName()); + sysTenant.setCreateTime(DateUtils.getDateTimeNumber(System.currentTimeMillis())); + sysTenant.setSummary(param.getSummary()); + sysTenant.setCreateBy(currentUser.getUser_name()); + //璁剧疆鍚勫眰绾d鍙婂悕绉� + sysTenant.setLv(lv); + setLvIdAndName(param, sysTenant, id, lv); + + return this.insert(sysTenant); + } + + /** + * 璁剧疆鍚勫眰绾d鍙婂悕绉� + * + * @author 鍗㈠簡闃� + * @date 2023/10/4 + */ + private void setLvIdAndName(FinSysTenantParam param, FinSysTenant sysTenant, long id, int lv) { + if (lv == 2) { //鏂板甯傜骇鏈烘瀯 + //鏌ヨ涓婁竴绾� - 鐪佺骇 + FinSysTenant finSysTenant1 = this.get(new FinSysTenant(param.getParentId())); + if (finSysTenant1 != null) { + sysTenant.setLv1Id(finSysTenant1.getId()); + sysTenant.setLv1Name(finSysTenant1.getName()); + sysTenant.setLv2Id(id); + sysTenant.setLv2Name(param.getName()); + } + } else if (lv == 3) { //鏂板鍘跨骇鏈烘瀯 + //鏌ヨ涓婁竴绾� - 甯傜骇 + FinSysTenant finSysTenant2 = this.get(new FinSysTenant(param.getParentId())); + if (finSysTenant2 != null) { + //鏌ヨ涓婁竴绾� - 鐪佺骇 + FinSysTenant finSysTenant1 = this.get(new FinSysTenant(finSysTenant2.getParentId())); + + sysTenant.setLv1Id(finSysTenant1.getId()); + sysTenant.setLv1Name(finSysTenant1.getName()); + sysTenant.setLv2Id(finSysTenant2.getId()); + sysTenant.setLv2Name(finSysTenant2.getName()); + sysTenant.setLv3Id(id); + sysTenant.setLv3Name(param.getName()); + } + } 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) { + sysTenant.setLv1Id(sysTenant1.getId()); + sysTenant.setLv1Name(sysTenant1.getName()); + sysTenant.setLv2Id(finSysTenant2.getId()); + sysTenant.setLv2Name(finSysTenant2.getName()); + sysTenant.setLv3Id(finSysTenant3.getId()); + sysTenant.setLv3Name(finSysTenant3.getName()); + sysTenant.setLv4Id(id); + sysTenant.setLv4Name(param.getName()); + } + } + } + } + } +} -- Gitblit v1.9.1