|
|
@@ -7,7 +7,6 @@ import com.uas.sso.dao.UserspaceDao;
|
|
|
import com.uas.sso.dao.UserspaceValidDao;
|
|
|
import com.uas.sso.entity.App;
|
|
|
import com.uas.sso.entity.User;
|
|
|
-import com.uas.sso.entity.UserAccount;
|
|
|
import com.uas.sso.entity.Userspace;
|
|
|
import com.uas.sso.entity.UserspaceValid;
|
|
|
import com.uas.sso.sso.backend.dao.AdminChangeRecordDao;
|
|
|
@@ -16,7 +15,7 @@ import com.uas.sso.sso.backend.entity.AdminChangeRecord;
|
|
|
import com.uas.sso.sso.backend.entity.AdminChangeType;
|
|
|
import com.uas.sso.sso.backend.exceptions.ValidationFailedException;
|
|
|
import com.uas.sso.sso.backend.service.UserSpaceService;
|
|
|
-import com.uas.sso.support.SystemSession;
|
|
|
+import com.uas.sso.sso.backend.util.JacksonUtils;
|
|
|
import java.text.SimpleDateFormat;
|
|
|
import java.util.ArrayList;
|
|
|
import java.util.Collections;
|
|
|
@@ -32,9 +31,12 @@ import org.hibernate.jpa.criteria.OrderImpl;
|
|
|
import org.springframework.beans.factory.annotation.Autowired;
|
|
|
import org.springframework.data.domain.Page;
|
|
|
import org.springframework.data.domain.Pageable;
|
|
|
+import org.springframework.data.domain.Sort;
|
|
|
+import org.springframework.data.domain.Sort.Direction;
|
|
|
import org.springframework.data.jpa.domain.Specification;
|
|
|
import org.springframework.stereotype.Service;
|
|
|
import org.springframework.transaction.annotation.Transactional;
|
|
|
+import org.springframework.util.Assert;
|
|
|
import org.springframework.util.CollectionUtils;
|
|
|
import org.springframework.util.StringUtils;
|
|
|
|
|
|
@@ -198,36 +200,44 @@ public class UserSpaceServiceImpl implements UserSpaceService {
|
|
|
|
|
|
@Override
|
|
|
@Transactional(rollbackFor = RuntimeException.class)
|
|
|
- public Userspace authEnterpriseInfo(@NotNull Long spaceUu, @NotNull Boolean isPass,
|
|
|
+ public Userspace authEnterpriseInfo(@NotNull Long spaceUu, @NotNull Long validId, @NotNull Boolean isPass,
|
|
|
String reason) {
|
|
|
Userspace space = assertSpaceExist(spaceUu);
|
|
|
- // UserAccount account = SystemSession.getUserAccount();
|
|
|
-
|
|
|
- if (isPass) {
|
|
|
- space.setValidCode((short) Status.AUTHENTICATED.getCode());
|
|
|
- } else {
|
|
|
- space.setValidCode((short) Status.NOT_PASSED.getCode());
|
|
|
- }
|
|
|
-
|
|
|
- // 更新企业认证日志信息
|
|
|
- List<UserspaceValid> validList = spaceValidDao.findBySpaceUUAndValidCode(spaceUu, (short) 1);
|
|
|
- if (CollectionUtils.isEmpty(validList)) {
|
|
|
- throw new ValidationFailedException("当前企业没有发起认证申请");
|
|
|
- }
|
|
|
-
|
|
|
- for (UserspaceValid valid : validList) {
|
|
|
- valid.setAuditor("系统管理员");
|
|
|
-
|
|
|
- SimpleDateFormat dateFormat = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
|
|
|
- valid.setValidDate(dateFormat.format(new Date()));
|
|
|
- valid.setValidCode(space.getValidCode());
|
|
|
- if (!isPass) {
|
|
|
- valid.setInvalidReason(reason);
|
|
|
- }
|
|
|
+ UserspaceValid spaceValid = spaceValidDao.findOne(validId);
|
|
|
+ Assert.notNull(spaceValid, "企业认证信息不能为空");
|
|
|
+ Assert.isTrue(spaceValid.getValidCode() == 1, "企业认证必须为待认证状态");
|
|
|
+
|
|
|
+ SimpleDateFormat dateFormat = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
|
|
|
+ String authDate = dateFormat.format(new Date());
|
|
|
+
|
|
|
+ spaceValid.setValidCode(isPass ? (short) Status.AUTHENTICATED.getCode() : (short) Status.NOT_PASSED.getCode());
|
|
|
+ spaceValid.setValidDate(authDate);
|
|
|
+
|
|
|
+ // When admin disapproves, only handle space valid info.
|
|
|
+ if (!isPass) {
|
|
|
+ Assert.hasText(reason, "企业认证不通过时,不通过原因不能为空");
|
|
|
+ spaceValid.setInvalidReason(reason);
|
|
|
+ spaceValidDao.save(spaceValid);
|
|
|
+ return space;
|
|
|
}
|
|
|
- spaceValidDao.save(validList);
|
|
|
|
|
|
- return userspaceDao.save(space);
|
|
|
+ // Handle space valid and space info.
|
|
|
+ Userspace newSpace = JacksonUtils.fromJson(spaceValid.getSubmitInfo(), Userspace.class);
|
|
|
+ Assert.notNull(newSpace, "企业认证的企业信息不能为空");
|
|
|
+
|
|
|
+ space.setSpaceName(newSpace.getSpaceName());
|
|
|
+ space.setBusinessCode(newSpace.getBusinessCode());
|
|
|
+ space.setBusinessCodeImage(newSpace.getBusinessCodeImage());
|
|
|
+ space.setCorporation(newSpace.getCorporation());
|
|
|
+ space.setRegProvince(newSpace.getRegProvince());
|
|
|
+ space.setRegCity(newSpace.getRegCity());
|
|
|
+ space.setRegDistrict(newSpace.getRegDistrict());
|
|
|
+ space.setRegStreet(newSpace.getRegStreet());
|
|
|
+ space.setRegAddress(newSpace.getRegAddress());
|
|
|
+ userspaceDao.save(space);
|
|
|
+
|
|
|
+ spaceValidDao.save(spaceValid);
|
|
|
+ return space;
|
|
|
}
|
|
|
|
|
|
@Override
|
|
|
@@ -268,6 +278,14 @@ public class UserSpaceServiceImpl implements UserSpaceService {
|
|
|
return space;
|
|
|
}
|
|
|
|
|
|
+ @Override
|
|
|
+ public UserspaceValid loadSpaceValid(Long spaceUU) {
|
|
|
+ Sort sort = new Sort(Direction.DESC, "submitDate");
|
|
|
+
|
|
|
+ List<UserspaceValid> validList = spaceValidDao.findBySpaceUUAndValidCode(spaceUU, (short) 1, sort);
|
|
|
+ return CollectionUtils.isEmpty(validList) ? null : validList.get(0);
|
|
|
+ }
|
|
|
+
|
|
|
/**
|
|
|
* 业务逻辑校验-企业UU对应企业是否存在
|
|
|
*
|