|
@@ -0,0 +1,91 @@
|
|
|
+/*
|
|
|
+ * Copyright (c) 2025 GaoKunW
|
|
|
+ *
|
|
|
+ */
|
|
|
+
|
|
|
+package org.eco.vip.auth.service.org;
|
|
|
+
|
|
|
+
|
|
|
+import com.mybatisflex.core.paginate.Page;
|
|
|
+import com.mybatisflex.core.query.QueryWrapper;
|
|
|
+import org.eco.vip.auth.domain.org.Org;
|
|
|
+import org.eco.vip.auth.domain.org.vo.OrgBO;
|
|
|
+import org.eco.vip.auth.domain.org.vo.OrgVO;
|
|
|
+import org.eco.vip.auth.mapper.OrgMapper;
|
|
|
+import org.eco.vip.orm.constant.Constants;
|
|
|
+import org.eco.vip.orm.domain.PageQuery;
|
|
|
+import org.eco.vip.orm.exception.BusinessException;
|
|
|
+import org.eco.vip.orm.pojo.PageResult;
|
|
|
+import org.eco.vip.orm.service.BaseService;
|
|
|
+import org.eco.vip.orm.utils.MapstructUtils;
|
|
|
+import org.eco.vip.orm.utils.ObjUtils;
|
|
|
+import org.eco.vip.orm.utils.RandomUtils;
|
|
|
+import org.eco.vip.orm.utils.StrUtils;
|
|
|
+import org.springframework.stereotype.Service;
|
|
|
+
|
|
|
+import java.util.List;
|
|
|
+
|
|
|
+import static org.eco.vip.auth.domain.org.table.OrgTableDef.ORG;
|
|
|
+
|
|
|
+/**
|
|
|
+ * @description OrgService
|
|
|
+ *
|
|
|
+ * @author GaoKunW
|
|
|
+ * @date 2025/3/10 21:01
|
|
|
+ */
|
|
|
+@Service
|
|
|
+public class OrgService extends BaseService<OrgMapper, Org> implements IOrgService {
|
|
|
+ private QueryWrapper buildQueryWrapper() {
|
|
|
+ QueryWrapper queryWrapper = super.buildBaseQueryWrapper();
|
|
|
+ return queryWrapper;
|
|
|
+ }
|
|
|
+
|
|
|
+ @Override
|
|
|
+ public PageResult<OrgVO> selectPage(OrgBO orgBO) {
|
|
|
+ QueryWrapper queryWrapper = buildQueryWrapper();
|
|
|
+ Page<OrgVO> page = this.pageAs(PageQuery.build(), queryWrapper, OrgVO.class);
|
|
|
+ return PageResult.build(page);
|
|
|
+ }
|
|
|
+
|
|
|
+ @Override
|
|
|
+ public boolean insert(OrgBO orgBO) {
|
|
|
+ OrgVO orgVO = selectById(orgBO.getParentId());
|
|
|
+ if (ObjUtils.isNotNull(orgVO) && StrUtils.equals(Constants.NORMAL, orgVO.getStatus())) {
|
|
|
+ throw new BusinessException("父组织停用,不允许新增");
|
|
|
+ }
|
|
|
+ Org org = MapstructUtils.convert(orgBO, Org.class);
|
|
|
+ if (ObjUtils.isNotNull(org)) {
|
|
|
+ org.setCode(RandomUtils.randomString(10));
|
|
|
+ }
|
|
|
+ return this.save(org);
|
|
|
+ }
|
|
|
+
|
|
|
+ @Override
|
|
|
+ public boolean delete(List<String> orgIds) {
|
|
|
+ return false;
|
|
|
+ }
|
|
|
+
|
|
|
+ @Override
|
|
|
+ public OrgVO selectById(String orgId) {
|
|
|
+ QueryWrapper queryWrapper = query().where(ORG.ID.eq(orgId));
|
|
|
+ return this.getOneAs(queryWrapper, OrgVO.class);
|
|
|
+ }
|
|
|
+
|
|
|
+ @Override
|
|
|
+ public boolean checkNameUnique(OrgBO orgBO) {
|
|
|
+ String orgId = StrUtils.isBlank(orgBO.getOrgId()) ? "-1" : orgBO.getOrgId();
|
|
|
+
|
|
|
+ QueryWrapper queryWrapper = query().where(ORG.NAME.eq(orgBO.getName()));
|
|
|
+ queryWrapper.and(ORG.PARENT_ID.eq(orgBO.getParentId()));
|
|
|
+ OrgVO orgVO = this.getOneAs(queryWrapper, OrgVO.class);
|
|
|
+ if (ObjUtils.isNotNull(orgVO) && !StrUtils.equals(orgVO.getId(), orgId)) {
|
|
|
+ return Constants.NOT_UNIQUE;
|
|
|
+ }
|
|
|
+ return Constants.UNIQUE;
|
|
|
+ }
|
|
|
+
|
|
|
+ @Override
|
|
|
+ public boolean hasChildByDeptId(List<String> orgIds) {
|
|
|
+ return false;
|
|
|
+ }
|
|
|
+}
|