|
|
@@ -3,7 +3,9 @@ package com.izouma.zhirongip.web;
|
|
|
import cn.hutool.core.util.ObjectUtil;
|
|
|
import com.izouma.zhirongip.domain.Institution;
|
|
|
import com.izouma.zhirongip.domain.Personal;
|
|
|
+import com.izouma.zhirongip.domain.User;
|
|
|
import com.izouma.zhirongip.dto.InstitutionDTO;
|
|
|
+import com.izouma.zhirongip.dto.UserRegister;
|
|
|
import com.izouma.zhirongip.enums.ApplyStatus;
|
|
|
import com.izouma.zhirongip.enums.AuthorityName;
|
|
|
import com.izouma.zhirongip.repo.PersonalRepo;
|
|
|
@@ -13,17 +15,20 @@ import com.izouma.zhirongip.service.InstitutionService;
|
|
|
import com.izouma.zhirongip.dto.PageQuery;
|
|
|
import com.izouma.zhirongip.exception.BusinessException;
|
|
|
import com.izouma.zhirongip.repo.InstitutionRepo;
|
|
|
+import com.izouma.zhirongip.service.UserService;
|
|
|
import com.izouma.zhirongip.utils.ObjUtils;
|
|
|
import com.izouma.zhirongip.utils.SecurityUtils;
|
|
|
import com.izouma.zhirongip.utils.excel.ExcelUtils;
|
|
|
import io.swagger.annotations.ApiOperation;
|
|
|
import lombok.AllArgsConstructor;
|
|
|
+import org.apache.commons.lang3.RandomStringUtils;
|
|
|
import org.springframework.data.domain.Page;
|
|
|
import org.springframework.security.access.prepost.PreAuthorize;
|
|
|
import org.springframework.web.bind.annotation.*;
|
|
|
|
|
|
import javax.servlet.http.HttpServletResponse;
|
|
|
import java.io.IOException;
|
|
|
+import java.util.Collections;
|
|
|
import java.util.List;
|
|
|
import java.util.Set;
|
|
|
|
|
|
@@ -32,9 +37,10 @@ import java.util.Set;
|
|
|
@AllArgsConstructor
|
|
|
public class InstitutionController extends BaseController {
|
|
|
private final InstitutionService institutionService;
|
|
|
- private final InstitutionRepo institutionRepo;
|
|
|
- private final PersonalRepo personalRepo;
|
|
|
- private final UserRepo userRepo;
|
|
|
+ private final InstitutionRepo institutionRepo;
|
|
|
+ private final PersonalRepo personalRepo;
|
|
|
+ private final UserRepo userRepo;
|
|
|
+ private final UserService userService;
|
|
|
|
|
|
//@PreAuthorize("hasRole('ADMIN')")
|
|
|
@PostMapping("/save")
|
|
|
@@ -47,16 +53,28 @@ public class InstitutionController extends BaseController {
|
|
|
orig.setStatus(ApplyStatus.PENDING);
|
|
|
return institutionRepo.save(orig);
|
|
|
}
|
|
|
- Institution byUserId = institutionRepo.findByUserId(userId);
|
|
|
- if (ObjectUtil.isNotNull(byUserId)) {
|
|
|
- throw new BusinessException("已申请");
|
|
|
- }
|
|
|
- Personal personal = personalRepo.findByUserId(userId);
|
|
|
- if (ObjectUtil.isNotNull(personal)) {
|
|
|
- throw new BusinessException("已申请个人认证");
|
|
|
+
|
|
|
+ if (SecurityUtils.getAuthenticatedUser().getAuthorities().contains(Authority.get(AuthorityName.ROLE_ADMIN))) {
|
|
|
+ User user = userService.create(UserRegister.builder()
|
|
|
+ .authorities(Collections.singleton(Authority.get(AuthorityName.ROLE_INSTITUTION)))
|
|
|
+ .username(RandomStringUtils.randomAlphanumeric(16))
|
|
|
+ .nickname(RandomStringUtils.randomAlphanumeric(16))
|
|
|
+ .build());
|
|
|
+ record.setStatus(ApplyStatus.PASS);
|
|
|
+ record.setUserId(user.getId());
|
|
|
+ } else {
|
|
|
+ Institution byUserId = institutionRepo.findByUserId(userId);
|
|
|
+ if (ObjectUtil.isNotNull(byUserId)) {
|
|
|
+ throw new BusinessException("已申请");
|
|
|
+ }
|
|
|
+ Personal personal = personalRepo.findByUserId(userId);
|
|
|
+ if (ObjectUtil.isNotNull(personal)) {
|
|
|
+ throw new BusinessException("已申请个人认证");
|
|
|
+ }
|
|
|
+ record.setUserId(userId);
|
|
|
+ record.setStatus(ApplyStatus.PENDING);
|
|
|
}
|
|
|
- record.setUserId(userId);
|
|
|
- record.setStatus(ApplyStatus.PENDING);
|
|
|
+
|
|
|
return institutionRepo.save(record);
|
|
|
}
|
|
|
|