tangxiangan 9 bulan lalu
induk
melakukan
b2e9dad92d

+ 2 - 0
pdf-tech-core/src/main/java/cn/kdan/pdf/tech/core/constant/VppTeamConstant.java

@@ -14,6 +14,8 @@ public interface VppTeamConstant {
 
     String THE_DEFAULT_TEAM_CANNOT_BE_DELETED = "The default team cannot be deleted";
 
+    String THE_DEFAULT_SSO_TEAM_CANNOT_BE_DELETED = "The directory team cannot be deleted";
+
     String INSUFFICIENT_PERMISSIONS = "Insufficient permissions";
 
     String ACTIVATED_LICENSE_CODE_EXCEEDED = "Activated License Code Exceeded";

+ 2 - 2
pdf-tech-core/src/main/java/cn/kdan/pdf/tech/core/controller/DomainController.java

@@ -117,8 +117,8 @@ public class DomainController {
      * @return string
      */
     @PostMapping("/verify")
-    public ResultMap<String> verify(@RequestParam String domainId) {
-        domainService.verify(domainId);
+    public ResultMap<String> verify(@RequestParam String domainId,@RequestParam String type) {
+        domainService.verify(domainId,type);
         return new ResultMap<>(CommonConstant.SUCCESS, CommonConstant.RESULT_SUCCESS);
     }
 

+ 1 - 1
pdf-tech-core/src/main/java/cn/kdan/pdf/tech/core/controller/VppMemberController.java

@@ -156,7 +156,7 @@ public class VppMemberController {
         if (ObjectUtils.isEmpty(member)) {
             throw new BackendRuntimeException(SSOConstant.EXCEPTION_MSG_MEMBER_NOT_EXIST);
         }
-        if (member.getValidFlag().equals(ValidStatusEnum.REVOKED.value())||member.getIsSso().equals(ValidStatusEnum.INVALID.value())) {
+        if (member.getValidFlag().equals(ValidStatusEnum.REVOKED.value())||member.getValidFlag().equals(ValidStatusEnum.INVALID.value())) {
             throw new BackendRuntimeException(SSOConstant.EXCEPTION_MSG_MEMBER_REVOKED);
         }
         Directory directory = directoryService.getById(member.getDirectoryId());

+ 9 - 19
pdf-tech-core/src/main/java/cn/kdan/pdf/tech/core/controller/VppRTeamMemberRoleController.java

@@ -69,14 +69,14 @@ public class VppRTeamMemberRoleController {
                                                               @RequestParam(required = false) String status,
                                                               @RequestParam(required = false) String productCode,
                                                               @RequestParam(required = false) String queryString) {
-        return new ResultMap<>(CommonConstant.SUCCESS, CommonConstant.RESULT_SUCCESS, vppRTeamMemberRoleService.pageForMember(page, pageSize, teamId, status, productCode, queryString, null));
+        return new ResultMap<>(CommonConstant.SUCCESS, CommonConstant.RESULT_SUCCESS, vppRTeamMemberRoleService.pageForMember(page, pageSize, teamId, status, productCode, queryString, null,null ));
     }
 
     /**
      * 目录用户查询
      * @param page 页码
      * @param pageSize 每页最大数量
-     * @param directoryId 目录id
+     * @param domain 目录id
      * @param status 0是删除用户 1是有效访问用户 3是吊销用户
      * @param queryString 用户名或者邮箱
      * @return PageInfo<VppTeamMemberVO>
@@ -84,14 +84,10 @@ public class VppRTeamMemberRoleController {
     @GetMapping("/pageForSSOMember")
     public ResultMap<PageInfo<VppTeamMemberVO>> pageForSSOMember(@RequestParam(required = false, defaultValue = "1") Integer page,
                                                                  @RequestParam(required = false, defaultValue = "10") Integer pageSize,
-                                                                 @RequestParam(required = false) String directoryId,
+                                                                 @RequestParam(required = false) String domain,
                                                                  @RequestParam(required = false) String status,
                                                                  @RequestParam(required = false) String queryString) {
-        if (!StringUtils.isEmpty(directoryId)) {
-            String teamId = directoryService.getById(directoryId).getTeamId();
-            return new ResultMap<>(CommonConstant.SUCCESS, CommonConstant.RESULT_SUCCESS, vppRTeamMemberRoleService.pageForMember(page, pageSize, teamId, status, null, queryString, SyncUserEnum.SSO.value()));
-        }
-        return new ResultMap<>(CommonConstant.SUCCESS, CommonConstant.RESULT_SUCCESS, vppRTeamMemberRoleService.pageForMember(page, pageSize, null, status, null, queryString, SyncUserEnum.SSO.value()));
+            return new ResultMap<>(CommonConstant.SUCCESS, CommonConstant.RESULT_SUCCESS, vppRTeamMemberRoleService.pageForMember(page, pageSize, null, status, null, queryString, SyncUserEnum.SSO.value(), domain));
     }
 
 
@@ -115,7 +111,7 @@ public class VppRTeamMemberRoleController {
                     .sheet("模板")
                     .doWrite(() -> {
                         // 分页查询数据
-                        return vppRTeamMemberRoleService.listForMember(teamId, status, productCode, queryString, null);
+                        return vppRTeamMemberRoleService.listForMember(teamId, status, productCode, queryString, null, null);
                     });
         } catch (Exception e) {
             // 重置response
@@ -131,13 +127,13 @@ public class VppRTeamMemberRoleController {
 
     /**
      * 导出sso用户
-     * @param directoryId 目录id
+     * @param domain 目录id
      * @param status 用户状态
      * @param queryString 用户名或者邮箱
      */
     @GetMapping("/downloadSSOMember")
     public void downloadSSOMember(HttpServletResponse response,
-                                  @RequestParam(required = false) String directoryId,
+                                  @RequestParam(required = false) String domain,
                                   @RequestParam(required = false) String status,
                                   @RequestParam(required = false) String queryString) throws IOException {
         // 这里注意 有同学反应使用swagger 会导致各种问题,请直接用浏览器或者用postman
@@ -154,13 +150,7 @@ public class VppRTeamMemberRoleController {
                     .sheet("模板")
                     .doWrite(() -> {
                         List<VppTeamMemberVO> list;
-                        if (!StringUtils.isEmpty(directoryId)) {
-                            String teamId = directoryService.getById(directoryId).getTeamId();
-                            list = vppRTeamMemberRoleService.listForMember(teamId, status, null, queryString, SyncUserEnum.SSO.value());
-
-                        } else {
-                            list = vppRTeamMemberRoleService.listForMember(null, status, null, queryString, SyncUserEnum.SSO.value());
-                        }
+                            list = vppRTeamMemberRoleService.listForMember(null, status, null, queryString, SyncUserEnum.SSO.value(), domain);
                         List<SSOMemberVO> ssoMemberVOList = new ArrayList<>();
                         list.forEach(item -> {
                             if (!StringUtils.isEmpty(item.getEmail())) {
@@ -206,7 +196,7 @@ public class VppRTeamMemberRoleController {
                     .autoCloseStream(Boolean.FALSE)
                     .sheet("模板")
                     .doWrite(() -> {
-                        List<VppTeamMemberVO> list = vppRTeamMemberRoleService.listForMember(null, ValidStatusEnum.INVALID.value(), null, queryString, SyncUserEnum.SSO.value());
+                        List<VppTeamMemberVO> list = vppRTeamMemberRoleService.listForMember(null, ValidStatusEnum.INVALID.value(), null, queryString, SyncUserEnum.SSO.value(), null);
                         List<SSODeletedMemberVO> ssoMemberVOList = new ArrayList<>();
                         list.forEach(item -> {
                             if (!StringUtils.isEmpty(item.getEmail())) {

+ 2 - 1
pdf-tech-core/src/main/java/cn/kdan/pdf/tech/core/mapper/ext/ExtVppRTeamMemberRoleMapper.java

@@ -41,9 +41,10 @@ public interface ExtVppRTeamMemberRoleMapper extends VppRTeamMemberRoleMapper {
      * @param email
      * @param queryString
      * @param status
+     * @param domain
      * @return
      */
-    List<VppTeamMemberVO> listForMember(@Param("teamIds") List<String> teamIds, @Param("email") String email, @Param("queryString") String queryString, @Param("status") String status, @Param("productCode") String productCode,@Param("isSso") String isSso);
+    List<VppTeamMemberVO> listForMember(@Param("teamIds") List<String> teamIds, @Param("email") String email, @Param("queryString") String queryString, @Param("status") String status, @Param("productCode") String productCode, @Param("isSso") String isSso, String domain);
 
 
     /**

+ 2 - 0
pdf-tech-core/src/main/java/cn/kdan/pdf/tech/core/pojo/dto/CreateTeamDTO.java

@@ -49,4 +49,6 @@ public class CreateTeamDTO {
          */
         private Integer licenseNumber;
     }
+
+    private Integer type;
 }

+ 1 - 1
pdf-tech-core/src/main/java/cn/kdan/pdf/tech/core/service/DomainService.java

@@ -48,7 +48,7 @@ public interface DomainService {
      *
      * @param domainId    域名id
      */
-    void verify(String domainId);
+    void verify(String domainId,String type);
     /**
      * 绑定域名
      *

+ 10 - 7
pdf-tech-core/src/main/java/cn/kdan/pdf/tech/core/service/VppRTeamMemberRoleService.java

@@ -135,25 +135,28 @@ public interface VppRTeamMemberRoleService {
     /**
      * 分页查询团队里的成员
      *
-     * @param page 页数
-     * @param pageSize 条数
-     * @param teamId 团队id
-     * @param status 团队状态
+     * @param page        页数
+     * @param pageSize    条数
+     * @param teamId      团队id
+     * @param status      团队状态
      * @param productCode 产品code
      * @param queryString queryString
+     * @param domain
      * @return PageInfo
      */
-    PageInfo<VppTeamMemberVO> pageForMember(Integer page, Integer pageSize, String teamId, String status, String productCode, String queryString, String isSso);
+    PageInfo<VppTeamMemberVO> pageForMember(Integer page, Integer pageSize, String teamId, String status, String productCode, String queryString, String isSso, String domain);
 
     /**
-     *  列表用于导出
+     * 列表用于导出
+     *
      * @param teamId
      * @param status
      * @param productCode
      * @param queryString
+     * @param domain
      * @return
      */
-    List<VppTeamMemberVO> listForMember(String teamId, String status, String productCode, String queryString, String isSso);
+    List<VppTeamMemberVO> listForMember(String teamId, String status, String productCode, String queryString, String isSso, String domain);
 
     /**
      * 获取成员所在团队id

+ 1 - 0
pdf-tech-core/src/main/java/cn/kdan/pdf/tech/core/service/impl/DirectorySyncServiceImpl.java

@@ -20,6 +20,7 @@ public class DirectorySyncServiceImpl implements DirectorySyncService {
     public List<DirectorySync> listByDirectoryId(String directoryId) {
         DirectorySyncExample syncExample = new DirectorySyncExample();
         syncExample.createCriteria().andDirectoryIdEqualTo(directoryId);
+        syncExample.setOrderByClause("sync_time desc");
         List<DirectorySync> list = directorySyncMapper.selectByExample(syncExample);
         return CollectionUtils.isEmpty(list) ? new ArrayList<>() : list;
     }

+ 5 - 2
pdf-tech-core/src/main/java/cn/kdan/pdf/tech/core/service/impl/DomainServiceImpl.java

@@ -100,15 +100,18 @@ public class DomainServiceImpl implements DomainService {
     }
 
     @Override
-    public void verify(String domainId) {
+    public void verify(String domainId,String type) {
         Domain domain = getById(domainId);
+        domain.setVerifyType(type);
+        domainMapper.updateByPrimaryKey(domain);
         //DNS处理方式
-        if (DomainVerifyTypeEnum.DNS.code().equals(domain.getVerifyType())) {
+        if (DomainVerifyTypeEnum.DNS.code().equals(type)) {
             String txt = "PDF-Tech-Editor" + "-domain-verification=" + domain.getCompanyId();
             checkDns(domain.getDomain(), txt);
         }else{
             checkHttp(domain.getDomain(), "PDF-Tech-Editor-domain-verification.txt", "PDF-Tech-Editor-domain-verification=" + domain.getCompanyId());
         }
+        domain.setVerifyType(type);
         domain.setVerified(DomainVerifiedEnum.VERIFIED.code());
         domainMapper.updateByPrimaryKey(domain);
     }

+ 2 - 2
pdf-tech-core/src/main/java/cn/kdan/pdf/tech/core/service/impl/SyncServiceImpl.java

@@ -78,6 +78,7 @@ public class SyncServiceImpl implements SyncService {
             dto.setTeamDescription("sync");
             dto.setProductList(syncDTO.getProductList());
             dto.setTeamId(teamId);
+            dto.setType(3);
             //创建团队
             teamService.createTeam(dto);
             //绑定目录和团队
@@ -236,7 +237,6 @@ public class SyncServiceImpl implements SyncService {
             String email = user.getUserPrincipalName();
             String name = user.getDisplayName();
             String id = user.getId();
-
             VppMember member = vppMemberService.getByAccountSSO(email);
 
             if (ObjectUtils.isEmpty(member)) {
@@ -265,7 +265,7 @@ public class SyncServiceImpl implements SyncService {
             }
         }
 
-        List<VppTeamMemberVO> localMembers = vppRTeamMemberRoleService.listForMember(teamId, null, null, null, "1");
+        List<VppTeamMemberVO> localMembers = vppRTeamMemberRoleService.listForMember(teamId, null, null, null, "1", null);
         localMembers.stream()
                 .filter(member -> !microsoftEmails.contains(member.getEmail()))
                 .forEach(member -> vppRTeamMemberRoleService.deleteMember(member.getId()));

+ 4 - 4
pdf-tech-core/src/main/java/cn/kdan/pdf/tech/core/service/impl/VppRTeamMemberRoleServiceImpl.java

@@ -533,7 +533,7 @@ public class VppRTeamMemberRoleServiceImpl implements VppRTeamMemberRoleService
 
 
     @Override
-    public PageInfo<VppTeamMemberVO> pageForMember(Integer page, Integer pageSize, String teamId, String status, String productCode, String queryString, String isSso) {
+    public PageInfo<VppTeamMemberVO> pageForMember(Integer page, Integer pageSize, String teamId, String status, String productCode, String queryString, String isSso, String domain) {
         List<String> teamIds = new ArrayList<>();
         VppMember member = vppMemberService.getCurrentUser();
         if(ObjectUtils.isEmpty(teamId)){
@@ -547,11 +547,11 @@ public class VppRTeamMemberRoleServiceImpl implements VppRTeamMemberRoleService
             throw new BackendRuntimeException(VppDeviceConstant.EXCEPTION_MSG_NO_TEAM);
         }
         PageHelper.startPage(page, pageSize);
-        return new PageInfo<>(vppRTeamMemberRoleMapper.listForMember(teamIds, null, queryString, status, productCode, isSso));
+        return new PageInfo<>(vppRTeamMemberRoleMapper.listForMember(teamIds, null, queryString, status, productCode, isSso,null ));
     }
 
     @Override
-    public List<VppTeamMemberVO> listForMember(String teamId, String status, String productCode, String queryString,String isSso) {
+    public List<VppTeamMemberVO> listForMember(String teamId, String status, String productCode, String queryString, String isSso, String domain) {
         List<String> teamIds = new ArrayList<>();
         if(ObjectUtils.isEmpty(teamId)){
             VppMember member = vppMemberService.getCurrentUser();
@@ -564,7 +564,7 @@ public class VppRTeamMemberRoleServiceImpl implements VppRTeamMemberRoleService
         if(CollectionUtils.isEmpty(teamIds)){
             throw new BackendRuntimeException(VppDeviceConstant.EXCEPTION_MSG_NO_TEAM);
         }
-        List<VppTeamMemberVO> vppTeamMemberVOS = vppRTeamMemberRoleMapper.listForMember(teamIds, null, queryString, status, productCode, isSso);
+        List<VppTeamMemberVO> vppTeamMemberVOS = vppRTeamMemberRoleMapper.listForMember(teamIds, null, queryString, status, productCode, isSso, domain);
 
         for (VppTeamMemberVO vppTeamMemberVO : vppTeamMemberVOS) {
             if (StringUtils.isEmpty(vppTeamMemberVO.getProductNames())) {

+ 5 - 1
pdf-tech-core/src/main/java/cn/kdan/pdf/tech/core/service/impl/VppTeamServiceImpl.java

@@ -252,7 +252,7 @@ public class VppTeamServiceImpl implements VppTeamService {
         newVppTeam.setDescription(null != dto.getTeamDescription() ? dto.getTeamDescription() : StringUtils.EMPTY);
         newVppTeam.setLicenseAmount(sum);
         newVppTeam.setLicenseRemain(newVppTeam.getLicenseAmount());
-        newVppTeam.setType(2);
+        newVppTeam.setType(ObjectUtils.isEmpty(dto.getType())?2:dto.getType());
         vppTeamMapper.insert(newVppTeam);
 
         if (!CollectionUtils.isEmpty(dto.getProductList())) {
@@ -582,6 +582,10 @@ public class VppTeamServiceImpl implements VppTeamService {
         if (vppTeam.getType() == 1) {
             throw new BackendRuntimeException(VppTeamConstant.THE_DEFAULT_TEAM_CANNOT_BE_DELETED);
         }
+        // 判断是否目录默认团队
+        if (vppTeam.getType() == 3) {
+            throw new BackendRuntimeException(VppTeamConstant.THE_DEFAULT_SSO_TEAM_CANNOT_BE_DELETED);
+        }
         VppMember member = vppMemberService.getCurrentUser();
         // 判断当前登录用户是否超管,如果团管判断权限是否足够
         if (!member.getRole().contains("1")) {

+ 1 - 1
pdf-tech-core/src/main/java/cn/kdan/pdf/tech/core/utils/QuartzUtils.java

@@ -70,7 +70,7 @@ public class QuartzUtils {
     public static void rescheduleJob(String triggerName, String triggerGroupName, String cronExpression, ScheduleSetting scheduleSetting) {
         try {
             if (scheduleSetting.getType().equals(ScheduleSettingTypeEnum.PER_HOUR.value())) {
-                cronExpression = "0 * * * *";
+                cronExpression = "0 * * * * ?";
             } else if (scheduleSetting.getType().equals(ScheduleSettingTypeEnum.SPECIFIED_TIME_EVERY_DAY.value())) {
                 cronExpression = generateCronExpression(scheduleSetting.getTime());
             }

+ 6 - 0
pdf-tech-core/src/main/resources/sqlmap/ext/ExtVppRTeamMemberRoleMapper.xml

@@ -96,6 +96,9 @@
     <if test="queryString != null and queryString != ''">
       and (vm.email like '%'||#{queryString}|| '%' or vm.full_name like '%'||#{queryString}|| '%')
     </if>
+    <if test="domain != null and domain != ''">
+      and (vm.email like '%'||#{queryString}|| '%' )
+    </if>
     <if test="teamIds != null and teamIds.size > 0 ">
       and vt.id in
       <foreach item="item" index="index" collection="teamIds" open="(" separator="," close=")">
@@ -111,6 +114,9 @@
         and vm.valid_flag != '0'
       </if>
     </if>
+    <if test="isSso == null or isSso == ''">
+      and vm.is_sso IS NULL
+    </if>
     <if test="status != null and status != ''">
       and vm.valid_flag = #{status}
     </if>