Просмотр исходного кода

Merge remote-tracking branch 'origin/master'

dongxin 1 год назад
Родитель
Сommit
74ae2288ef

+ 4 - 5
commons/src/main/java/com/jzg/commons/entity/dto/SysOrganizationAdd.java

@@ -11,11 +11,10 @@ import lombok.Data;
 @Data
 public class SysOrganizationAdd extends BaseModel {
 
-
-    private Long id;
+    @Schema(description = "ID")
+    private String id;
 
     @Schema(description = "租户code")
-    @NotNull(message = "租户编码不能为空")
     private String systemCode;
 
     @Schema(description = "角色名称")
@@ -25,11 +24,11 @@ public class SysOrganizationAdd extends BaseModel {
 
     @Schema(description = "所属机构ID")
     @NotNull(message = "所属机构不能为空")
-    private Long deptId;
+    private String deptId;
 
     @Schema(description = "管理人ID")
     @NotNull(message = "管理人不能为空")
-    private Long managerId;
+    private String managerId;
 
     @Schema(description = "角色描述")
     private String describeInformation;

+ 3 - 4
commons/src/main/java/com/jzg/commons/entity/dto/SysOrganizationEnd.java

@@ -11,10 +11,9 @@ public class SysOrganizationEnd {
 
     @Schema(description = "ID")
     @NotNull(message = "ID不能为空")
-    private Long id;
+    private String id;
 
     @Schema(description = "租户code")
-    @NotNull(message = "租户编码不能为空")
     private String systemCode;
 
     @Schema(description = "角色名称")
@@ -24,11 +23,11 @@ public class SysOrganizationEnd {
 
     @Schema(description = "所属机构ID")
     @NotNull(message = "所属机构不能为空")
-    private Long deptId;
+    private String deptId;
 
     @Schema(description = "管理人ID")
     @NotNull(message = "管理人不能为空")
-    private Long managerId;
+    private String managerId;
 
     @Schema(description = "角色描述")
     private String describeInformation;

+ 3 - 1
commons/src/main/java/com/jzg/commons/entity/vo/LeftSysOrganizationVo.java

@@ -1,6 +1,8 @@
 package com.jzg.commons.entity.vo;
 
 
+import com.fasterxml.jackson.databind.annotation.JsonSerialize;
+import com.fasterxml.jackson.databind.ser.std.ToStringSerializer;
 import io.swagger.v3.oas.annotations.media.Schema;
 import lombok.Data;
 
@@ -18,7 +20,7 @@ public class LeftSysOrganizationVo implements Serializable {
 
     @Schema(description = "名称")
     private String name;
-
+    @JsonSerialize(using = ToStringSerializer.class)
     @Schema(description = "机构id")
     private String deptId;
 

+ 11 - 5
tenant/organization/src/main/java/com/jzg/organization/controller/SysOrganizationController.java

@@ -1,6 +1,7 @@
 package com.jzg.organization.controller;
 
 
+import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
 import com.jzg.commons.core.page.HttpResult;
 import com.jzg.commons.entity.dto.*;
 import com.jzg.commons.entity.po.SysOrganization;
@@ -58,14 +59,13 @@ public class SysOrganizationController {
     @Operation(summary = "团队、渠道、电销组 新增", description = "新增")
     @PostMapping("save")
     public HttpResult save(@Validated  @RequestBody SysOrganizationAdd organizationAdd){
-        SysOrganization sysOrganization = new SysOrganization();
-
         boolean nameExists = sysOrganizationService.nameExists(organizationAdd);
         if (nameExists){
             return HttpResult.error("团队、渠道、电销组名称已存在");
         }
+        SysOrganization sysOrganization = new SysOrganization();
         BeanUtils.copyProperties(organizationAdd, sysOrganization);
-        return HttpResult.ok(sysOrganizationService.save(sysOrganization));
+        return HttpResult.ok(sysOrganizationService.save(sysOrganization) ? HttpResult.ok("新增成功") : HttpResult.error("新增失败"));
     }
 
     /**
@@ -76,9 +76,15 @@ public class SysOrganizationController {
     @Operation(summary = "团队、渠道、电销组 修改", description = "修改")
     @PostMapping("update")
     public HttpResult update(@Validated  @RequestBody SysOrganizationEnd organizationEnd){
+        SysOrganizationAdd sysOrganizationAdd = new SysOrganizationAdd();
+        BeanUtils.copyProperties(organizationEnd, sysOrganizationAdd);
+        boolean nameExists = sysOrganizationService.nameExists(sysOrganizationAdd);
+        if (nameExists){
+            return HttpResult.error("团队、渠道、电销组名称已存在");
+        }
         SysOrganization sysOrganization = new SysOrganization();
         BeanUtils.copyProperties(organizationEnd, sysOrganization);
-        return HttpResult.ok(sysOrganizationService.updateById(sysOrganization));
+        return HttpResult.ok(sysOrganizationService.updateById(sysOrganization) ? HttpResult.ok("修改成功") : HttpResult.error("修改失败"));
     }
 
     /**
@@ -89,7 +95,7 @@ public class SysOrganizationController {
     @Operation(summary = "团队、渠道、电销组 通过ID删除", description = "通过ID删除")
     @GetMapping("deleteById")
     public HttpResult deleteById(@RequestParam("id") String id){
-        return sysOrganizationService.deleteById(id);
+        return sysOrganizationService.updateByIdDelete(id);
     }
 
 

+ 2 - 2
tenant/organization/src/main/java/com/jzg/organization/service/SysOrganizationService.java

@@ -12,8 +12,6 @@ public interface SysOrganizationService extends IService<SysOrganization> {
 
     HttpResult queryPageList(SysOrganizationParam sysOrganizationParam);
 
-    HttpResult deleteById(String id);
-
     boolean nameExists(SysOrganizationAdd organizationAdd);
 
     HttpResult leftList(SysOrganizationParam sysOrganizationParam);
@@ -25,4 +23,6 @@ public interface SysOrganizationService extends IService<SysOrganization> {
     HttpResult deleteAssociatedUsers(DeleteAssociatedUsers deleteAssociatedUsers);
 
     HttpResult getDetails(Long userId);
+
+    HttpResult updateByIdDelete(String id);
 }

+ 9 - 2
tenant/organization/src/main/java/com/jzg/organization/service/SysOrganizationUserLinkService.java

@@ -1,13 +1,20 @@
 package com.jzg.organization.service;
 
 
+import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
 import com.baomidou.mybatisplus.extension.service.IService;
+import com.jzg.commons.core.page.HttpResult;
 import com.jzg.commons.entity.dto.DeleteAssociatedUsers;
+import com.jzg.commons.entity.dto.SysOrganizationUserLinkAdd;
 import com.jzg.commons.entity.po.SysOrganizationUserLink;
 
 public interface SysOrganizationUserLinkService extends IService<SysOrganizationUserLink>{
-    boolean selectByOrgId(String id);
 
-    boolean deleteAssociatedUsers(DeleteAssociatedUsers deleteAssociatedUsers);
+
+    Long selectByOrgIdCount(String id);
+
+    HttpResult deleteAssociatedUsers(DeleteAssociatedUsers deleteAssociatedUsers);
+
+    SysOrganizationUserLink selectByOrgIdAndUserId(SysOrganizationUserLinkAdd organizationUserLinkAdd);
 
 }

+ 24 - 18
tenant/organization/src/main/java/com/jzg/organization/service/impl/SysOrganizationServiceImpl.java

@@ -5,6 +5,7 @@ import cn.hutool.core.util.ObjectUtil;
 import com.alibaba.fastjson2.JSONObject;
 import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
 import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
+import com.baomidou.mybatisplus.core.conditions.update.LambdaUpdateWrapper;
 import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
 import com.jzg.commons.core.page.HttpResult;
 import com.jzg.commons.entity.dto.*;
@@ -64,26 +65,15 @@ public class SysOrganizationServiceImpl extends ServiceImpl<SysOrganizationMappe
     }
 
 
-
-
-
-    @Override
-    public HttpResult deleteById(String id) {
-        boolean isExist = sysOrganizationUserLinkService.selectByOrgId(id);
-        if (isExist){
-            return HttpResult.error("该机构下还有用户,请先删除用户");
-        }
-        return sysOrganizationMapper.deleteById(id) > 1 ? HttpResult.ok("删除成功") : HttpResult.error("删除失败");
-    }
-
     @Override
     public boolean nameExists(SysOrganizationAdd organizationAdd) {
         LambdaQueryWrapper<SysOrganization> last = new LambdaQueryWrapper<SysOrganization>()
                 .eq(SysOrganization::getName, organizationAdd.getName())
-                .eq(SysOrganization::getSystemCode, organizationAdd.getSystemCode())
-                .eq(SysOrganization::getAttribute, organizationAdd.getAttribute())
-                .eq(SysOrganization::getIsDelete, 0)
+                .eq(SysOrganization::getDeptId, organizationAdd.getDeptId())
                 .last("limit 1");
+        if (StringUtils.isNotEmpty(organizationAdd.getId())){
+            last.ne(SysOrganization::getId, organizationAdd.getId());
+        }
         boolean exists = sysOrganizationMapper.exists(last);
         return exists;
     }
@@ -101,6 +91,11 @@ public class SysOrganizationServiceImpl extends ServiceImpl<SysOrganizationMappe
 
     @Override
     public HttpResult addTeamUsers(SysOrganizationUserLinkAdd organizationUserLinkAdd) {
+
+        SysOrganizationUserLink userLink = sysOrganizationUserLinkService.selectByOrgIdAndUserId(organizationUserLinkAdd);
+        if (ObjectUtil.isNotEmpty(userLink)){
+            return HttpResult.error("该团队、渠道、电销组已关联该用户,请勿重复关联");
+        }
         SysOrganizationUserLink organizationUserLink = new SysOrganizationUserLink();
         BeanUtils.copyProperties(organizationUserLinkAdd, organizationUserLink);
         return sysOrganizationUserLinkService.save(organizationUserLink) ? HttpResult.ok("添加成功") : HttpResult.error("添加失败");
@@ -111,19 +106,30 @@ public class SysOrganizationServiceImpl extends ServiceImpl<SysOrganizationMappe
         SysOrganization sysOrganization = sysOrganizationMapper.selectById(setPerson.getId());
         if (ObjectUtil.isNotEmpty(sysOrganization)){
             sysOrganization.setManagerId(setPerson.getManagerId());
-            return sysOrganizationMapper.updateById(sysOrganization) > 1 ? HttpResult.ok("设置成功") : HttpResult.error("设置失败");
+            return sysOrganizationMapper.updateById(sysOrganization) > 0 ? HttpResult.ok("设置成功") : HttpResult.error("设置失败");
         }
         return HttpResult.error("所选团队、渠道、电销组不存在或以删除,请刷新");
     }
 
     @Override
     public HttpResult deleteAssociatedUsers(DeleteAssociatedUsers deleteAssociatedUsers) {
-        boolean isDelete = sysOrganizationUserLinkService.deleteAssociatedUsers(deleteAssociatedUsers);
-        return isDelete ? HttpResult.ok("删除成功") : HttpResult.error("删除失败");
+        return sysOrganizationUserLinkService.deleteAssociatedUsers(deleteAssociatedUsers);
     }
 
     @Override
     public HttpResult getDetails(Long userId) {
         return HttpResult.ok(sysOrganizationMapper.getDetails(userId));
     }
+
+    @Override
+    public HttpResult updateByIdDelete(String id) {
+        Long idCount = sysOrganizationUserLinkService.selectByOrgIdCount(id);
+        if (null != idCount && idCount > 0){
+            return HttpResult.error("该机构下还有用户,请先删除用户");
+        }
+        LambdaUpdateWrapper<SysOrganization> updateWrapper = new LambdaUpdateWrapper<SysOrganization>()
+                .eq(SysOrganization::getId, id)
+                .set(SysOrganization::getIsDelete, 1);
+        return sysOrganizationMapper.update(updateWrapper) > 0 ? HttpResult.ok("删除成功") : HttpResult.error("删除失败");
+    }
 }

+ 15 - 19
tenant/organization/src/main/java/com/jzg/organization/service/impl/SysOrganizationUserLinkServiceImpl.java

@@ -3,7 +3,9 @@ package com.jzg.organization.service.impl;
 import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
 import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
 import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
+import com.jzg.commons.core.page.HttpResult;
 import com.jzg.commons.entity.dto.DeleteAssociatedUsers;
+import com.jzg.commons.entity.dto.SysOrganizationUserLinkAdd;
 import com.jzg.commons.entity.po.SysOrganizationUserLink;
 import com.jzg.organization.mapper.SysOrganizationUserLinkServiceMapper;
 import com.jzg.organization.service.SysOrganizationUserLinkService;
@@ -22,33 +24,27 @@ public class SysOrganizationUserLinkServiceImpl extends ServiceImpl<SysOrganizat
     private SysOrganizationUserLinkServiceMapper sysOrganizationUserLinkServiceMapper;
 
     @Override
-    public boolean selectByOrgId(String id) {
-        SysOrganizationUserLink sysOrganizationUserLink = new SysOrganizationUserLink();
-        sysOrganizationUserLink.setOrganizationId(id);
-        List<SysOrganizationUserLink> sysOrganizationUserLinks = sysOrganizationUserLinkServiceMapper.selectList(getWrapper(sysOrganizationUserLink));
-        if (CollectionUtils.isEmpty(sysOrganizationUserLinks)){
-            return true;
-        }
-        return false;
+    public Long selectByOrgIdCount(String id) {
+        LambdaQueryWrapper<SysOrganizationUserLink> lambdaQueryWrapper = new LambdaQueryWrapper<>();
+        lambdaQueryWrapper.eq(SysOrganizationUserLink::getOrganizationId, id);
+        return sysOrganizationUserLinkServiceMapper.selectCount(lambdaQueryWrapper);
     }
 
     @Override
-    public boolean deleteAssociatedUsers(DeleteAssociatedUsers deleteAssociatedUsers) {
+    public HttpResult deleteAssociatedUsers(DeleteAssociatedUsers deleteAssociatedUsers) {
         QueryWrapper<SysOrganizationUserLink> queryWrapper = new QueryWrapper<>();
         queryWrapper.eq("organization_id",deleteAssociatedUsers.getId());
         queryWrapper.in("user_id",deleteAssociatedUsers.getUserIds());
-        return sysOrganizationUserLinkServiceMapper.delete(queryWrapper) > 0 ? true : false;
+        return sysOrganizationUserLinkServiceMapper.delete(queryWrapper) > 0 ? HttpResult.ok("删除成功") : HttpResult.error("删除失败");
     }
 
-
-    public LambdaQueryWrapper<SysOrganizationUserLink> getWrapper(SysOrganizationUserLink sysOrganizationUserLink) {
-        LambdaQueryWrapper<SysOrganizationUserLink> wrapper = new LambdaQueryWrapper<>();
-        if (sysOrganizationUserLink != null) {
-            if (null !=  sysOrganizationUserLink.getId() ) {
-                wrapper.eq(SysOrganizationUserLink::getOrganizationId, sysOrganizationUserLink.getOrganizationId());
-            }
-        }
-        return wrapper;
+    @Override
+    public SysOrganizationUserLink selectByOrgIdAndUserId(SysOrganizationUserLinkAdd organizationUserLinkAdd) {
+        LambdaQueryWrapper<SysOrganizationUserLink> lambdaQueryWrapper = new LambdaQueryWrapper<>();
+        lambdaQueryWrapper.eq(SysOrganizationUserLink::getOrganizationId, organizationUserLinkAdd.getOrganizationId())
+                .eq(SysOrganizationUserLink::getUserId, organizationUserLinkAdd.getUserId());
+        return sysOrganizationUserLinkServiceMapper.selectOne(lambdaQueryWrapper);
     }
 
+
 }