Răsfoiți Sursa

Merge remote-tracking branch 'origin/master'

785834757 1 an în urmă
părinte
comite
2e601f72c8
26 a modificat fișierele cu 658 adăugiri și 255 ștergeri
  1. 2 1
      authentication/src/main/java/com/jzg/config/JzgAuthenticationProvider.java
  2. 8 0
      authentication/src/main/java/com/jzg/mapper/SysUserMapper.java
  3. 8 0
      authentication/src/main/java/com/jzg/service/SysUserService.java
  4. 6 0
      authentication/src/main/java/com/jzg/service/impl/SysUserServiceImpl.java
  5. 13 1
      authentication/src/main/resources/mapper/SysUserMapper.xml
  6. 43 0
      commons/src/main/java/com/jzg/commons/entity/dto/SysOrganizationAdd.java
  7. 40 0
      commons/src/main/java/com/jzg/commons/entity/dto/SysOrganizationEnd.java
  8. 22 0
      commons/src/main/java/com/jzg/commons/entity/dto/SysOrganizationParam.java
  9. 21 0
      commons/src/main/java/com/jzg/commons/entity/dto/SysOrganizationSetPerson.java
  10. 21 0
      commons/src/main/java/com/jzg/commons/entity/dto/SysOrganizationUserLinkAdd.java
  11. 0 73
      commons/src/main/java/com/jzg/commons/entity/po/SysOperLog.java
  12. 37 0
      commons/src/main/java/com/jzg/commons/entity/po/SysOrganization.java
  13. 21 0
      commons/src/main/java/com/jzg/commons/entity/po/SysOrganizationUserLink.java
  14. 24 0
      commons/src/main/java/com/jzg/commons/entity/vo/LeftSysOrganizationVo.java
  15. 35 0
      commons/src/main/java/com/jzg/commons/entity/vo/SysOrganizationVo.java
  16. 0 52
      platform/src/main/java/com/jzg/mapper/SysOperLogMapper.java
  17. 0 49
      platform/src/main/java/com/jzg/service/SysOperLogService.java
  18. 0 79
      platform/src/main/java/com/jzg/service/impl/SysOperLogServiceImpl.java
  19. 124 0
      tenant/organization/src/main/java/com/jzg/organization/controller/SysOrganizationController.java
  20. 20 0
      tenant/organization/src/main/java/com/jzg/organization/mapper/SysOrganizationMapper.java
  21. 8 0
      tenant/organization/src/main/java/com/jzg/organization/mapper/SysOrganizationUserLinkServiceMapper.java
  22. 27 0
      tenant/organization/src/main/java/com/jzg/organization/service/SysOrganizationService.java
  23. 9 0
      tenant/organization/src/main/java/com/jzg/organization/service/SysOrganizationUserLinkService.java
  24. 117 0
      tenant/organization/src/main/java/com/jzg/organization/service/impl/SysOrganizationServiceImpl.java
  25. 44 0
      tenant/organization/src/main/java/com/jzg/organization/service/impl/SysOrganizationUserLinkServiceImpl.java
  26. 8 0
      tenant/organization/src/main/resources/application.yml

+ 2 - 1
authentication/src/main/java/com/jzg/config/JzgAuthenticationProvider.java

@@ -68,7 +68,8 @@ public class JzgAuthenticationProvider implements AuthenticationProvider {
 //            throw new SystemException("验证码错误,请重新输入");
 //        }
 
-        SysUser byId = sysUserService.getById(username);
+
+        SysUser byId = sysUserService.getByUserName(username);
         String salt = byId.getSalt();
 
         // 加密密码和盐值

+ 8 - 0
authentication/src/main/java/com/jzg/mapper/SysUserMapper.java

@@ -4,6 +4,7 @@ import com.baomidou.mybatisplus.core.mapper.BaseMapper;
 import com.jzg.entity.SysUser;
 import com.jzg.entity.vo.SysUserJzgVo;
 import org.apache.ibatis.annotations.Mapper;
+import org.apache.ibatis.annotations.Param;
 
 @Mapper
 public interface SysUserMapper extends BaseMapper<SysUser> {
@@ -13,4 +14,11 @@ public interface SysUserMapper extends BaseMapper<SysUser> {
      * @return
      */
     public SysUserJzgVo getJzgUserInfo(String userId);
+
+    /**
+     * 获取用户信息
+     * @param username
+     * @return
+     */
+    public SysUser selectByUserName(@Param("username") String username);
 }

+ 8 - 0
authentication/src/main/java/com/jzg/service/SysUserService.java

@@ -22,4 +22,12 @@ public interface SysUserService extends IService<SysUser> {
      * @return
      */
     public SysUserJzgVo getJzgUserInfo(String userId);
+
+
+    /**
+     *
+     * @param username
+     * @return
+     */
+    SysUser getByUserName(String username);
 }

+ 6 - 0
authentication/src/main/java/com/jzg/service/impl/SysUserServiceImpl.java

@@ -1,5 +1,6 @@
 package com.jzg.service.impl;
 
+import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
 import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
 import com.jzg.entity.SysUser;
 import com.jzg.entity.vo.SysUserJzgVo;
@@ -21,4 +22,9 @@ public class SysUserServiceImpl extends ServiceImpl<SysUserMapper, SysUser> impl
         SysUserJzgVo jzgUserInfo = baseMapper.getJzgUserInfo(userId);
         return jzgUserInfo;
     }
+
+    @Override
+    public SysUser getByUserName(String username) {
+        return baseMapper.selectByUserName(username);
+    }
 }

+ 13 - 1
authentication/src/main/resources/mapper/SysUserMapper.xml

@@ -13,4 +13,16 @@
         WHERE
             su.id = #{userId}
     </select>
-</mapper>
+
+    <select id="selectByUserName" resultType="com.jzg.entity.SysUser">
+        SELECT
+            su.*
+        FROM
+            sys_user su
+        WHERE
+        account_status = 1 AND is_delete = 0
+        <if test="username != null and username != ''">
+           AND (su.username = #{username} or su.mobile = #{username})
+        </if>
+    </select>
+</mapper>

+ 43 - 0
commons/src/main/java/com/jzg/commons/entity/dto/SysOrganizationAdd.java

@@ -0,0 +1,43 @@
+package com.jzg.commons.entity.dto;
+
+
+import com.jzg.commons.core.base.BaseModel;
+import io.swagger.v3.oas.annotations.media.Schema;
+import jakarta.validation.constraints.NotNull;
+import jakarta.validation.constraints.Size;
+import lombok.Data;
+
+@Schema(description = "团队_渠道_电销组管理新增dto")
+@Data
+public class SysOrganizationAdd extends BaseModel {
+
+
+    private Long id;
+
+    @Schema(description = "租户code")
+    @NotNull(message = "租户编码不能为空")
+    private String systemCode;
+
+    @Schema(description = "角色名称")
+    @NotNull(message = "角色名称不能为空")
+    @Size(min=1,max=20,message = "角色名称长度不能大于20")
+    private String name;
+
+    @Schema(description = "所属机构ID")
+    @NotNull(message = "所属机构不能为空")
+    private Long deptId;
+
+    @Schema(description = "管理人ID")
+    @NotNull(message = "管理人不能为空")
+    private Long managerId;
+
+    @Schema(description = "角色描述")
+    private String describeInformation;
+
+    @Schema(description = "组织属性  1 团队  2 渠道  3 电销")
+    @NotNull(message = "组织属性不能为空")
+    private int attribute;
+
+
+
+}

+ 40 - 0
commons/src/main/java/com/jzg/commons/entity/dto/SysOrganizationEnd.java

@@ -0,0 +1,40 @@
+package com.jzg.commons.entity.dto;
+
+import io.swagger.v3.oas.annotations.media.Schema;
+import jakarta.validation.constraints.NotNull;
+import jakarta.validation.constraints.Size;
+import lombok.Data;
+
+@Schema(description = "团队_渠道_电销组管理修改dto")
+@Data
+public class SysOrganizationEnd {
+
+    @Schema(description = "ID")
+    @NotNull(message = "ID不能为空")
+    private Long id;
+
+    @Schema(description = "租户code")
+    @NotNull(message = "租户编码不能为空")
+    private String systemCode;
+
+    @Schema(description = "角色名称")
+    @NotNull(message = "角色名称不能为空")
+    @Size(min=1,max=20,message = "角色名称长度不能大于20")
+    private String name;
+
+    @Schema(description = "所属机构ID")
+    @NotNull(message = "所属机构不能为空")
+    private Long deptId;
+
+    @Schema(description = "管理人ID")
+    @NotNull(message = "管理人不能为空")
+    private Long managerId;
+
+    @Schema(description = "角色描述")
+    private String describeInformation;
+
+    @Schema(description = "组织属性  1 团队  2 渠道  3 电销")
+    @NotNull(message = "组织属性不能为空")
+    private int attribute;
+
+}

+ 22 - 0
commons/src/main/java/com/jzg/commons/entity/dto/SysOrganizationParam.java

@@ -0,0 +1,22 @@
+package com.jzg.commons.entity.dto;
+
+
+import com.jzg.commons.core.base.PageRequest;
+import io.swagger.v3.oas.annotations.media.Schema;
+import lombok.Data;
+
+
+@Schema(description = "团队、渠道、电销组 分页查询dto")
+@Data
+public class SysOrganizationParam extends PageRequest {
+
+    /**
+     * 搜索参数 输入姓名,手机号,工号查找
+     */
+    @Schema(description = "搜索参数 输入姓名,手机号,工号查找")
+    private String param;
+
+
+
+
+}

+ 21 - 0
commons/src/main/java/com/jzg/commons/entity/dto/SysOrganizationSetPerson.java

@@ -0,0 +1,21 @@
+package com.jzg.commons.entity.dto;
+
+
+import io.swagger.v3.oas.annotations.media.Schema;
+import jakarta.validation.constraints.NotNull;
+import lombok.Data;
+
+@Data
+@Schema(description = "设置团队、渠道、电销组负责人")
+public class SysOrganizationSetPerson {
+
+    @Schema(description = "团队、渠道、电销组id")
+    @NotNull(message = "团队、渠道、电销组id不能为空")
+    private Long id;
+
+    @Schema(description = "管理人id")
+    @NotNull(message = "管理人不能为空")
+    private Long managerId;
+
+
+}

+ 21 - 0
commons/src/main/java/com/jzg/commons/entity/dto/SysOrganizationUserLinkAdd.java

@@ -0,0 +1,21 @@
+package com.jzg.commons.entity.dto;
+
+
+import io.swagger.v3.oas.annotations.media.Schema;
+import lombok.Data;
+
+@Data
+@Schema(description = "团队_渠道_电销组管理用户新增dto")
+public class SysOrganizationUserLinkAdd {
+
+
+
+    @Schema(description = "团队_渠道_电销组管理ID")
+    private Long organizationId;
+
+    @Schema(description = "用户ID")
+    private Long userId;
+
+
+
+}

+ 0 - 73
commons/src/main/java/com/jzg/commons/entity/po/SysOperLog.java

@@ -1,73 +0,0 @@
-package com.jzg.commons.entity.po;
-
-import com.fasterxml.jackson.annotation.JsonFormat;
-import lombok.Data;
-
-import java.util.Date;
-
-/**
- * 操作日志记录表 oper_log
- * 
- * @author dongxin
- */
-@Data
-public class SysOperLog {
-
-    /** 日志主键 */
-    private String Id;
-
-    /** 操作模块 */
-    private String title;
-
-    /** 业务类型(0其它 1新增 2修改 3删除) */
-    private Integer businessType;
-
-    /** 业务类型数组 */
-    private Integer[] businessTypes;
-
-    /** 请求方法 */
-    private String method;
-
-    /** 请求方式 */
-    private String requestMethod;
-
-    /** 操作类别(0其它 1后台用户 2手机端用户) */
-    private Integer operatorType;
-
-    /** 操作人员 */
-    private String operName;
-
-    /** 部门名称 */
-    private String deptName;
-
-    /** 租户CODE */
-    private String sysCode;
-
-    /** 请求url */
-    private String operUrl;
-
-    /** 操作地址 */
-    private String operIp;
-
-    /** 操作地点 */
-    private String operLocation;
-
-    /** 请求参数 */
-    private String operParam;
-
-    /** 返回参数 */
-    private String jsonResult;
-
-    /** 操作状态(0正常 1异常) */
-    private Integer status;
-
-    /** 错误消息 */
-    private String errorMsg;
-
-    /** 操作时间 */
-    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
-    private Date operTime;
-
-    /** 消耗时间 */
-    private Long costTime;
-}

+ 37 - 0
commons/src/main/java/com/jzg/commons/entity/po/SysOrganization.java

@@ -0,0 +1,37 @@
+package com.jzg.commons.entity.po;
+
+
+import com.baomidou.mybatisplus.annotation.IdType;
+import com.baomidou.mybatisplus.annotation.TableField;
+import com.baomidou.mybatisplus.annotation.TableId;
+import com.baomidou.mybatisplus.annotation.TableName;
+import com.jzg.commons.core.base.BaseModel;
+import io.swagger.v3.oas.annotations.media.Schema;
+import lombok.Data;
+
+
+@Data
+@TableName(value ="sys_organization")
+public class SysOrganization extends BaseModel {
+
+    @TableId(type = IdType.ASSIGN_ID)
+    private Long id;
+
+    private String systemCode;
+
+    private String name;
+
+    private Long deptId;
+
+    private Long managerId;
+
+    private String describeInformation;
+
+    private int attribute;
+
+
+    @TableField(exist = false)
+    @Schema(description = "关联人数")
+    private int memberNumber;
+
+}

+ 21 - 0
commons/src/main/java/com/jzg/commons/entity/po/SysOrganizationUserLink.java

@@ -0,0 +1,21 @@
+package com.jzg.commons.entity.po;
+
+
+import com.baomidou.mybatisplus.annotation.IdType;
+import com.baomidou.mybatisplus.annotation.TableId;
+import io.swagger.v3.oas.annotations.media.Schema;
+import lombok.Data;
+
+
+@Schema(description = "团队、渠道、电销组关联用户表")
+@Data
+public class SysOrganizationUserLink {
+
+    @TableId(type = IdType.ASSIGN_ID)
+    private Long id;
+
+    private Long userId;
+
+    private Long organizationId;
+
+}

+ 24 - 0
commons/src/main/java/com/jzg/commons/entity/vo/LeftSysOrganizationVo.java

@@ -0,0 +1,24 @@
+package com.jzg.commons.entity.vo;
+
+
+import io.swagger.v3.oas.annotations.media.Schema;
+import lombok.Data;
+
+@Data
+@Schema(description = "左侧组织机构VO")
+public class LeftSysOrganizationVo {
+
+    @Schema(description = "id")
+    private Long id;
+
+    @Schema(description = "系统code")
+    private Long systemCode;
+
+    @Schema(description = "名称")
+    private Long name;
+
+    @Schema(description = "机构id")
+    private Long deptId;
+
+
+}

+ 35 - 0
commons/src/main/java/com/jzg/commons/entity/vo/SysOrganizationVo.java

@@ -0,0 +1,35 @@
+package com.jzg.commons.entity.vo;
+
+
+import io.swagger.v3.oas.annotations.media.Schema;
+import lombok.Data;
+
+@Schema(description = "组织机构VO")
+@Data
+public class SysOrganizationVo {
+
+    @Schema(description = "主键")
+    private Long id;
+
+    @Schema(description = "系统code")
+    private Long systemCode;
+
+    @Schema(description = "名称")
+    private Long name;
+
+    @Schema(description = "机构id")
+    private Long deptId;
+
+    @Schema(description = "负责人id")
+    private Long managerId;
+
+    @Schema(description = "描述信息")
+    private Long describeInformation;
+
+    @Schema(description = "属性")
+    private Long attribute;
+
+    @Schema(description = "关联人数")
+    private int memberNumber;
+
+}

+ 0 - 52
platform/src/main/java/com/jzg/mapper/SysOperLogMapper.java

@@ -1,52 +0,0 @@
-package com.jzg.mapper;
-
-import com.baomidou.mybatisplus.core.mapper.BaseMapper;
-import com.jzg.commons.entity.po.SysOperLog;
-import org.apache.ibatis.annotations.Mapper;
-
-import java.util.List;
-
-/**
- * 操作日志 数据层
- * 
- * @author dongxin
- */
-@Mapper
-public interface SysOperLogMapper extends BaseMapper<SysOperLog>
-{
-    /**
-     * 新增操作日志
-     * 
-     * @param operLog 操作日志对象
-     */
-    public void insertOperlog(SysOperLog operLog);
-
-    /**
-     * 查询系统操作日志集合
-     * 
-     * @param operLog 操作日志对象
-     * @return 操作日志集合
-     */
-    public List<SysOperLog> selectOperLogList(SysOperLog operLog);
-
-    /**
-     * 批量删除系统操作日志
-     * 
-     * @param operIds 需要删除的操作日志ID
-     * @return 结果
-     */
-    public int deleteOperLogByIds(Long[] operIds);
-
-    /**
-     * 查询操作日志详细
-     * 
-     * @param operId 操作ID
-     * @return 操作日志对象
-     */
-    public SysOperLog selectOperLogById(Long operId);
-
-    /**
-     * 清空操作日志
-     */
-    public void cleanOperLog();
-}

+ 0 - 49
platform/src/main/java/com/jzg/service/SysOperLogService.java

@@ -1,49 +0,0 @@
-package com.jzg.service;
-import com.baomidou.mybatisplus.extension.service.IService;
-import com.jzg.commons.entity.po.SysOperLog;
-
-import java.util.List;
-
-/**
- * 操作日志 服务层
- *
- * @author dongxin
- */
-public interface SysOperLogService extends IService<SysOperLog>
-{
-    /**
-     * 新增操作日志
-     *
-     * @param operLog 操作日志对象
-     */
-    public void insertOperlog(SysOperLog operLog);
-
-    /**
-     * 查询系统操作日志集合
-     *
-     * @param operLog 操作日志对象
-     * @return 操作日志集合
-     */
-    public List<SysOperLog> selectOperLogList(SysOperLog operLog);
-
-    /**
-     * 批量删除系统操作日志
-     *
-     * @param operIds 需要删除的操作日志ID
-     * @return 结果
-     */
-    public int deleteOperLogByIds(Long[] operIds);
-
-    /**
-     * 查询操作日志详细
-     *
-     * @param operId 操作ID
-     * @return 操作日志对象
-     */
-    public SysOperLog selectOperLogById(Long operId);
-
-    /**
-     * 清空操作日志
-     */
-    public void cleanOperLog();
-}

+ 0 - 79
platform/src/main/java/com/jzg/service/impl/SysOperLogServiceImpl.java

@@ -1,79 +0,0 @@
-package com.jzg.service.impl;
-
-import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
-import com.jzg.commons.entity.po.SysOperLog;
-import com.jzg.mapper.SysOperLogMapper;
-import com.jzg.service.SysOperLogService;
-import org.springframework.beans.factory.annotation.Autowired;
-import org.springframework.stereotype.Service;
-
-import java.util.List;
-
-/**
- * 操作日志 服务层处理
- * 
- * @author dongxin
- */
-@Service
-public class SysOperLogServiceImpl extends ServiceImpl<SysOperLogMapper, SysOperLog>
-        implements SysOperLogService
-{
-    @Autowired
-    private SysOperLogMapper sysOperLogMapper;
-
-    /**
-     * 新增操作日志
-     * 
-     * @param operLog 操作日志对象
-     */
-    @Override
-    public void insertOperlog(SysOperLog operLog)
-    {
-        sysOperLogMapper.insertOperlog(operLog);
-    }
-
-    /**
-     * 查询系统操作日志集合
-     * 
-     * @param operLog 操作日志对象
-     * @return 操作日志集合
-     */
-    @Override
-    public List<SysOperLog> selectOperLogList(SysOperLog operLog)
-    {
-        return sysOperLogMapper.selectOperLogList(operLog);
-    }
-
-    /**
-     * 批量删除系统操作日志
-     * 
-     * @param operIds 需要删除的操作日志ID
-     * @return 结果
-     */
-    @Override
-    public int deleteOperLogByIds(Long[] operIds)
-    {
-        return sysOperLogMapper.deleteOperLogByIds(operIds);
-    }
-
-    /**
-     * 查询操作日志详细
-     * 
-     * @param operId 操作ID
-     * @return 操作日志对象
-     */
-    @Override
-    public SysOperLog selectOperLogById(Long operId)
-    {
-        return sysOperLogMapper.selectOperLogById(operId);
-    }
-
-    /**
-     * 清空操作日志
-     */
-    @Override
-    public void cleanOperLog()
-    {
-        sysOperLogMapper.cleanOperLog();
-    }
-}

+ 124 - 0
tenant/organization/src/main/java/com/jzg/organization/controller/SysOrganizationController.java

@@ -0,0 +1,124 @@
+package com.jzg.organization.controller;
+
+
+import com.jzg.commons.core.page.HttpResult;
+import com.jzg.commons.entity.dto.*;
+import com.jzg.commons.entity.po.SysOrganization;
+import com.jzg.organization.service.SysOrganizationService;
+import io.swagger.v3.oas.annotations.Operation;
+import io.swagger.v3.oas.annotations.media.Schema;
+import org.springframework.beans.BeanUtils;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.validation.annotation.Validated;
+import org.springframework.web.bind.annotation.*;
+
+@RestController
+@RequestMapping("/sysOrganization")
+public class SysOrganizationController {
+
+
+    @Autowired
+    private SysOrganizationService sysOrganizationService;
+
+    /**
+     * 列表
+     * @param sysOrganizationParam
+     * @return
+     */
+    @Operation(summary = "团队、渠道、电销组 分页查询", description = "列表页面")
+    @PostMapping("queryPageList")
+    public HttpResult queryPageList(@RequestBody SysOrganizationParam sysOrganizationParam){
+        return sysOrganizationService.queryPageList(sysOrganizationParam);
+    }
+
+
+    /**
+     * 列表
+     * @param sysOrganizationParam
+     * @return
+     */
+    @Operation(summary = "团队、渠道、电销组", description = "左侧列表页面")
+    @PostMapping("leftList")
+    public HttpResult leftList(@RequestBody SysOrganizationParam sysOrganizationParam){
+        return sysOrganizationService.leftList(sysOrganizationParam);
+    }
+
+    /**
+     * 新增
+     * @param organizationAdd
+     * @return
+     */
+    @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("团队、渠道、电销组名称已存在");
+        }
+        BeanUtils.copyProperties(organizationAdd, sysOrganization);
+        return HttpResult.ok(sysOrganizationService.save(sysOrganization));
+    }
+
+    /**
+     * 修改
+     * @param organizationEnd
+     * @return
+     */
+    @Operation(summary = "团队、渠道、电销组 修改", description = "修改")
+    @PostMapping("update")
+    public HttpResult update(@Validated  @RequestBody SysOrganizationEnd organizationEnd){
+        SysOrganization sysOrganization = new SysOrganization();
+        BeanUtils.copyProperties(organizationEnd, sysOrganization);
+        return HttpResult.ok(sysOrganizationService.updateById(sysOrganization));
+    }
+
+    /**
+     * 团队、电销、渠道 通过ID删除
+     * @param id
+     * @return
+     */
+    @Operation(summary = "团队、渠道、电销组 通过ID删除", description = "通过ID删除")
+    @GetMapping("deleteById")
+    public HttpResult deleteById(@RequestParam("id") Long id){
+        return sysOrganizationService.deleteById(id);
+    }
+
+
+    /**
+     * 删除团队、电销、渠道关联的用户
+     * @param id
+     * @return
+     */
+//    @Operation(summary = "团队、渠道、电销组 通过ID删除", description = "通过ID删除")
+//    @GetMapping("deleteById")
+//    public HttpResult deleteById(@RequestParam("id") Long id){
+//        return sysOrganizationService.deleteById(id);
+//    }
+
+
+    /**
+     * 新增团队、渠道、电销组用户
+     * @param
+     * @return
+     */
+    @Schema(description = "新增团队、渠道、电销组用户")
+    @PostMapping("addTeamUsers")
+    public HttpResult addTeamUsers(@RequestBody SysOrganizationUserLinkAdd organizationUserLinkAdd){
+        return sysOrganizationService.addTeamUsers(organizationUserLinkAdd);
+    }
+
+
+    /**
+     * 新增团队、渠道、电销组用户
+     * @param
+     * @return
+     */
+    @Schema(description = "设置团队、渠道、电销组负责人")
+    @PostMapping("setResponsiblePerson")
+    public HttpResult setResponsiblePerson(@RequestBody SysOrganizationSetPerson setPerson){
+        return sysOrganizationService.setResponsiblePerson(setPerson);
+    }
+
+}

+ 20 - 0
tenant/organization/src/main/java/com/jzg/organization/mapper/SysOrganizationMapper.java

@@ -0,0 +1,20 @@
+package com.jzg.organization.mapper;
+
+import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+import com.jzg.commons.entity.dto.SysOrganizationParam;
+import com.jzg.commons.entity.po.SysOrganization;
+import com.jzg.commons.entity.vo.SysOrganizationVo;
+import org.apache.ibatis.annotations.Select;
+
+import java.util.List;
+
+
+public interface SysOrganizationMapper extends BaseMapper<SysOrganization> {
+
+
+
+
+    @Select("select * from  sys_organization")
+    List<SysOrganizationVo> queryPageList(SysOrganizationParam sysOrganizationParam);
+
+}

+ 8 - 0
tenant/organization/src/main/java/com/jzg/organization/mapper/SysOrganizationUserLinkServiceMapper.java

@@ -0,0 +1,8 @@
+package com.jzg.organization.mapper;
+
+
+import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+import com.jzg.commons.entity.po.SysOrganizationUserLink;
+
+public interface SysOrganizationUserLinkServiceMapper extends BaseMapper<SysOrganizationUserLink> {
+}

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

@@ -0,0 +1,27 @@
+package com.jzg.organization.service;
+
+import com.baomidou.mybatisplus.extension.service.IService;
+import com.jzg.commons.core.page.HttpResult;
+import com.jzg.commons.entity.dto.SysOrganizationAdd;
+import com.jzg.commons.entity.dto.SysOrganizationParam;
+import com.jzg.commons.entity.dto.SysOrganizationSetPerson;
+import com.jzg.commons.entity.dto.SysOrganizationUserLinkAdd;
+import com.jzg.commons.entity.po.SysOrganization;
+import com.jzg.commons.entity.vo.SysOrganizationVo;
+
+public interface SysOrganizationService extends IService<SysOrganization> {
+
+
+
+    HttpResult queryPageList(SysOrganizationParam sysOrganizationParam);
+
+    HttpResult deleteById(Long id);
+
+    boolean nameExists(SysOrganizationAdd organizationAdd);
+
+    HttpResult leftList(SysOrganizationParam sysOrganizationParam);
+
+    HttpResult addTeamUsers(SysOrganizationUserLinkAdd organizationUserLinkAdd);
+
+    HttpResult setResponsiblePerson(SysOrganizationSetPerson setPerson);
+}

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

@@ -0,0 +1,9 @@
+package com.jzg.organization.service;
+
+
+import com.baomidou.mybatisplus.extension.service.IService;
+import com.jzg.commons.entity.po.SysOrganizationUserLink;
+
+public interface SysOrganizationUserLinkService extends IService<SysOrganizationUserLink>{
+    boolean selectByOrgId(Long id);
+}

+ 117 - 0
tenant/organization/src/main/java/com/jzg/organization/service/impl/SysOrganizationServiceImpl.java

@@ -0,0 +1,117 @@
+package com.jzg.organization.service.impl;
+
+
+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.extension.service.impl.ServiceImpl;
+import com.jzg.commons.core.page.HttpResult;
+import com.jzg.commons.entity.dto.SysOrganizationAdd;
+import com.jzg.commons.entity.dto.SysOrganizationParam;
+import com.jzg.commons.entity.dto.SysOrganizationSetPerson;
+import com.jzg.commons.entity.dto.SysOrganizationUserLinkAdd;
+import com.jzg.commons.entity.po.SysOrganization;
+import com.jzg.commons.entity.po.SysOrganizationUserLink;
+import com.jzg.commons.entity.vo.LeftSysOrganizationVo;
+import com.jzg.commons.util.StringUtils;
+import com.jzg.organization.mapper.SysOrganizationMapper;
+import com.jzg.organization.service.SysOrganizationService;
+import com.jzg.organization.service.SysOrganizationUserLinkService;
+import org.springframework.beans.BeanUtils;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.stereotype.Service;
+
+import java.util.List;
+
+
+@Service
+public class SysOrganizationServiceImpl extends ServiceImpl<SysOrganizationMapper, SysOrganization> implements SysOrganizationService {
+
+
+    @Autowired
+    private SysOrganizationMapper sysOrganizationMapper;
+
+    @Autowired
+    private SysOrganizationUserLinkService sysOrganizationUserLinkService;
+
+    @Override
+    public HttpResult queryPageList(SysOrganizationParam sysOrganizationParam) {
+        QueryWrapper<SysOrganization> queryWrapper = new QueryWrapper<>();
+        queryWrapper.select("id, system_code, name, dept_id, manager_id, describe_information, attribute, is_delete, create_by, create_time, update_by, update_time," +
+                "(SELECT COUNT(1) FROM sys_organization_user_link WHERE sys_organization_user_link.organization_id = sys_organization.id) memberNumber");
+        queryWrapper.like("name", sysOrganizationParam.getParam());
+        List<SysOrganization> list = null;
+        if (ObjectUtil.isNotEmpty(sysOrganizationParam.getPage())){
+            list = sysOrganizationMapper.selectList(sysOrganizationParam.getPage(), queryWrapper);
+        }else {
+            sysOrganizationMapper.selectList( queryWrapper);
+        }
+        return HttpResult.ok(list);
+    }
+
+
+    public LambdaQueryWrapper getLambdaQueryWrapper(SysOrganizationParam sysOrganizationParam) {
+        LambdaQueryWrapper<SysOrganization> lambdaQueryWrapper = new LambdaQueryWrapper<>();
+        if (ObjectUtil.isEmpty(sysOrganizationParam)){
+            return lambdaQueryWrapper;
+        }
+        if (StringUtils.isNotEmpty(sysOrganizationParam.getParam())){
+            lambdaQueryWrapper.like(SysOrganization::getName, sysOrganizationParam.getParam());
+        }
+        lambdaQueryWrapper.orderByDesc(SysOrganization::getCreateTime);
+        return lambdaQueryWrapper;
+    }
+
+
+
+
+
+    @Override
+    public HttpResult deleteById(Long 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)
+                .last("limit 1");
+        boolean exists = sysOrganizationMapper.exists(last);
+        return exists;
+    }
+
+    @Override
+    public HttpResult leftList(SysOrganizationParam sysOrganizationParam) {
+        QueryWrapper<SysOrganization> queryWrapper = new QueryWrapper<>();
+        queryWrapper.select("name,id,system_code, (SELECT COUNT(1) FROM sys_organization_user_link WHERE sys_organization_user_link.organization_id = sys_organization.id) memberNumber");
+        queryWrapper.groupBy("name,id");
+        List<SysOrganization> sysOrganizations = sysOrganizationMapper.selectList(queryWrapper);
+        List<LeftSysOrganizationVo> list = JSONObject.parseObject(JSONObject.toJSONString(sysOrganizations), List.class);
+        return HttpResult.ok(list);
+    }
+
+    @Override
+    public HttpResult addTeamUsers(SysOrganizationUserLinkAdd organizationUserLinkAdd) {
+        SysOrganizationUserLink organizationUserLink = new SysOrganizationUserLink();
+        BeanUtils.copyProperties(organizationUserLinkAdd, organizationUserLink);
+        return sysOrganizationUserLinkService.save(organizationUserLink) ? HttpResult.ok("添加成功") : HttpResult.error("添加失败");
+    }
+
+    @Override
+    public HttpResult setResponsiblePerson(SysOrganizationSetPerson setPerson) {
+        SysOrganization sysOrganization = sysOrganizationMapper.selectById(setPerson.getId());
+        if (ObjectUtil.isNotEmpty(sysOrganization)){
+            sysOrganization.setManagerId(setPerson.getManagerId());
+            return sysOrganizationMapper.updateById(sysOrganization) > 1 ? HttpResult.ok("设置成功") : HttpResult.error("设置失败");
+        }
+        return HttpResult.error("所选团队、渠道、电销组不存在或以删除,请刷新");
+    }
+}

+ 44 - 0
tenant/organization/src/main/java/com/jzg/organization/service/impl/SysOrganizationUserLinkServiceImpl.java

@@ -0,0 +1,44 @@
+package com.jzg.organization.service.impl;
+
+import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
+import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
+import com.jzg.commons.entity.po.SysOrganizationUserLink;
+import com.jzg.organization.mapper.SysOrganizationUserLinkServiceMapper;
+import com.jzg.organization.service.SysOrganizationUserLinkService;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.stereotype.Service;
+import org.springframework.util.CollectionUtils;
+
+import java.util.List;
+
+
+@Service
+public class SysOrganizationUserLinkServiceImpl extends ServiceImpl<SysOrganizationUserLinkServiceMapper, SysOrganizationUserLink> implements SysOrganizationUserLinkService{
+
+
+    @Autowired
+    private SysOrganizationUserLinkServiceMapper sysOrganizationUserLinkServiceMapper;
+
+    @Override
+    public boolean selectByOrgId(Long id) {
+        SysOrganizationUserLink sysOrganizationUserLink = new SysOrganizationUserLink();
+        sysOrganizationUserLink.setOrganizationId(id);
+        List<SysOrganizationUserLink> sysOrganizationUserLinks = sysOrganizationUserLinkServiceMapper.selectList(getWrapper(sysOrganizationUserLink));
+        if (CollectionUtils.isEmpty(sysOrganizationUserLinks)){
+            return true;
+        }
+        return false;
+    }
+
+
+    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;
+    }
+
+}

+ 8 - 0
tenant/organization/src/main/resources/application.yml

@@ -27,6 +27,13 @@ mybatis-plus:
 config:
   sso: 1
 
+minio:
+  url: http://192.168.0.250:9000
+  access-key: v7Zb8XhyLcYNcSHlxvyK
+  secret-key: 58YibMwpxGKtXcekPL065OM4GonC1hf2tFMjI9EN
+  bucket-name: jzg
+
+
 #多租户配置
 tenant:
   enable: true
@@ -38,6 +45,7 @@ tenant:
     - sys_area
     - sys_dict
     - sys_user
+    - sys_user_jzg_info_file
   ignoreLoginNames:
 
 data-scope: