|
@@ -22,6 +22,7 @@ import com.mooctest.crowd.site.data.dto.*;
|
|
|
import com.mooctest.crowd.site.data.enums.RoleType;
|
|
|
import com.mooctest.crowd.site.data.vo.*;
|
|
|
import com.mooctest.crowd.site.mediator.ViewMediator;
|
|
|
+import com.mooctest.crowd.site.service.ThemeStatusService;
|
|
|
import lombok.extern.slf4j.Slf4j;
|
|
|
import org.codehaus.jettison.json.JSONException;
|
|
|
import org.jetbrains.annotations.NotNull;
|
|
@@ -120,6 +121,32 @@ public class WebMediatorImpl implements ViewMediator {
|
|
|
@Autowired
|
|
|
private UserToRoleDao userToRoleDao;
|
|
|
|
|
|
+ @Autowired
|
|
|
+ private ThemeStatusService themeStatusService;
|
|
|
+
|
|
|
+
|
|
|
+ @Override
|
|
|
+ public List<CrowdTestProjectVO> crowdTestProjects() {
|
|
|
+ List<CrowdTestProjectVO> authingList = new ArrayList<>();
|
|
|
+ authingList.addAll(projectDao.findAll().stream().map(crowdTestProjectPO -> {
|
|
|
+ CrowdTestProject crowdTestProject = new CrowdTestProject();
|
|
|
+ BeanUtils.copyProperties(crowdTestProjectPO, crowdTestProject);
|
|
|
+ return new CrowdTestProjectVO(crowdTestProject);
|
|
|
+ }).collect(Collectors.toList()));
|
|
|
+ return authingList;
|
|
|
+ }
|
|
|
+
|
|
|
+ @Override
|
|
|
+ public List<CrowdTaskVO> findIndexTask() {
|
|
|
+ List<CrowdTaskVO> authingList = new ArrayList<>();
|
|
|
+ authingList.addAll(taskDao.findindexTask().stream().map(crowdTestProjectPO -> {
|
|
|
+ CrowdTestTask crowdTestTask = new CrowdTestTask();
|
|
|
+ BeanUtils.copyProperties(crowdTestProjectPO, crowdTestTask);
|
|
|
+ return new CrowdTaskVO(crowdTestTask);
|
|
|
+ }).collect(Collectors.toList()));
|
|
|
+ return authingList;
|
|
|
+ }
|
|
|
+
|
|
|
@Override
|
|
|
public void saveEnterpriseRole(User user, ApplyEnterpriseAuthCommand applyEnterpriseAuthCommand) {
|
|
|
//如果是研发机构那么能发包
|
|
@@ -211,7 +238,6 @@ public class WebMediatorImpl implements ViewMediator {
|
|
|
|
|
|
@Override
|
|
|
public List<CrowdTaskVO> findMoreHotTasks() {
|
|
|
- List<CrowdTestTaskPO> list = taskDao.findMoreHotTasks();//已经根据创建时间排序好了。
|
|
|
List<CrowdTaskVO> hotMoreTestprojects = taskDao.findMoreHotTasks().stream().map(crowdTestTaskPO -> {
|
|
|
CrowdTestTask task = new CrowdTestTask();
|
|
|
BeanUtils.copyProperties(crowdTestTaskPO, task);
|
|
@@ -524,13 +550,25 @@ public class WebMediatorImpl implements ViewMediator {
|
|
|
CrowdTestProject project = new CrowdTestProject();
|
|
|
BeanUtils.copyProperties(crowdTestProjectPO, project);
|
|
|
CrowdProjectVO projectVO = new CrowdProjectVO(project);
|
|
|
+ themeStatusService.updateStatus(project);
|
|
|
if (project.getStatus() == CrowdTestProjectStatus.HAS_COMMITED)
|
|
|
projectVO.setNeedHandle(true);
|
|
|
// 应用类型值的转换
|
|
|
projectVO = changeApplicationType(projectVO);
|
|
|
return projectVO;
|
|
|
}).collect(Collectors.toList());
|
|
|
- //对于区域管理员
|
|
|
+ List<CrowdProjectVO> myProject=new ArrayList<>();
|
|
|
+ List<CrowdProjectVO> finishedProjects=new ArrayList<>();
|
|
|
+ for(int i=0;i<myProejcts.size();i++){
|
|
|
+ if(myProejcts.get(i).getStatus()<CrowdTestProjectStatus.HAS_FINISHED){
|
|
|
+ myProject.add(myProejcts.get(i));
|
|
|
+ myCrowdDTO.setMyProjects(myProject);
|
|
|
+ }else if(myProejcts.get(i).getStatus()>=CrowdTestProjectStatus.HAS_FINISHED){
|
|
|
+ finishedProjects.add(myProejcts.get(i));
|
|
|
+ myCrowdDTO.setFinishedProjects(finishedProjects);
|
|
|
+ }
|
|
|
+ }
|
|
|
+ //对于区域管理员crowdTestProjectPO -> crowdTestProjectPO.getStatus() > CrowdTestProjectStatus.HAS_RELEASED
|
|
|
if (user.getRoleList().stream().anyMatch(role -> role.getName().equals("RegionalManager"))) {
|
|
|
List<CrowdTestProjectPO> crowdTestProjectPOList = projectDao.findByRegionalManagerIdAndIsDeleted(userId, DeletedStatus.isNotDeleted)
|
|
|
.stream().sorted(Comparator.comparing(CrowdTestProjectPO::getCreateTime).thenComparing(CrowdTestProjectPO::getStatus).reversed()).collect(Collectors.toList());
|
|
@@ -567,7 +605,6 @@ public class WebMediatorImpl implements ViewMediator {
|
|
|
myCrowdDTO.setAcceptableProjectNoticeCount(Long.parseLong("" + acceptableProject.size()));
|
|
|
}
|
|
|
UserVO userVO = new UserVO(user);
|
|
|
- myCrowdDTO.setMyProjects(myProejcts);
|
|
|
myCrowdDTO.setUserVO(userVO);
|
|
|
myCrowdDTO.setMyProjectNoticeCount(myProejcts.stream().filter(CrowdProjectVO::getNeedHandle).count());
|
|
|
myCrowdDTO.setProcessProjectNoticeCount(myCrowdDTO.getHandlingProjects() == null ? 0 : myCrowdDTO
|
|
@@ -972,11 +1009,11 @@ public class WebMediatorImpl implements ViewMediator {
|
|
|
return new BaseAuthVO(personalAuthentication);
|
|
|
}).collect(Collectors.toList()));
|
|
|
|
|
|
- authingList.addAll(enterpriseAuthenticationDao.findByIsAuthentication(AuthenticationStatus.isAuthenIng).stream().map(enterpriseAuthenticationPO -> {
|
|
|
- EnterpriseAuthentication enterpriseAuthentication = new EnterpriseAuthentication();
|
|
|
- BeanUtils.copyProperties(enterpriseAuthenticationPO, enterpriseAuthentication);
|
|
|
- return new BaseAuthVO(enterpriseAuthentication);
|
|
|
- }).collect(Collectors.toList()));
|
|
|
+// authingList.addAll(enterpriseAuthenticationDao.findByIsAuthentication(AuthenticationStatus.isAuthenIng).stream().map(enterpriseAuthenticationPO -> {
|
|
|
+// EnterpriseAuthentication enterpriseAuthentication = new EnterpriseAuthentication();
|
|
|
+// BeanUtils.copyProperties(enterpriseAuthenticationPO, enterpriseAuthentication);
|
|
|
+// return new BaseAuthVO(enterpriseAuthentication);
|
|
|
+// }).collect(Collectors.toList()));
|
|
|
|
|
|
authingList.addAll(agencyDao.findByIsAuthentication(AuthenticationStatus.isAuthenIng).stream().map(evaluationAgencyPO -> {
|
|
|
EvaluationAgency agency = new EvaluationAgency();
|
|
@@ -1035,11 +1072,42 @@ public class WebMediatorImpl implements ViewMediator {
|
|
|
}
|
|
|
|
|
|
@Override
|
|
|
- public List<CrowdTestProjectVO> crowdTestProjects() {
|
|
|
+ public List<CrowdTestProjectVO> AllByPage() {
|
|
|
List<CrowdTestProjectVO> authingList = new ArrayList<>();
|
|
|
authingList.addAll(projectDao.findAll().stream().map(crowdTestProjectPO -> {
|
|
|
CrowdTestProject crowdTestProject = new CrowdTestProject();
|
|
|
BeanUtils.copyProperties(crowdTestProjectPO, crowdTestProject);
|
|
|
+ return new CrowdTestProjectVO(crowdTestProject);
|
|
|
+ }).collect(Collectors.toList()));
|
|
|
+ return authingList;
|
|
|
+ }
|
|
|
+
|
|
|
+ @Override
|
|
|
+ public List<CrowdTestProjectVO> hotCrowdTestProjects() {
|
|
|
+ List<CrowdTestProjectVO> authingList = new ArrayList<>();
|
|
|
+ authingList.addAll(projectDao.findall().stream().map(crowdTestProjectPO -> {
|
|
|
+ CrowdTestProject crowdTestProject = new CrowdTestProject();
|
|
|
+ BeanUtils.copyProperties(crowdTestProjectPO, crowdTestProject);
|
|
|
+ // 应用类型值的转换
|
|
|
+ Optional<ApplicationTypePO> applicationTypePO = applicationTypeDao.findByCode(crowdTestProject.getApplicationType());
|
|
|
+ if (applicationTypePO.isPresent()) {
|
|
|
+ crowdTestProject.setApplicationType(applicationTypePO.get().getName());
|
|
|
+ } else {
|
|
|
+ throw new HttpBadRequestException("请选择应用类型");
|
|
|
+ }
|
|
|
+ return new CrowdTestProjectVO(crowdTestProject);
|
|
|
+
|
|
|
+ }).collect(Collectors.toList()));
|
|
|
+ return authingList;
|
|
|
+ }
|
|
|
+
|
|
|
+ @Override
|
|
|
+ //众测广场首页6条项目
|
|
|
+ public List<CrowdTestProjectVO> indexCrowdTestProjects() {
|
|
|
+ List<CrowdTestProjectVO> authingList = new ArrayList<>();
|
|
|
+ authingList.addAll(projectDao.findindexProject().stream().map(crowdTestProjectPO -> {
|
|
|
+ CrowdTestProject crowdTestProject = new CrowdTestProject();
|
|
|
+ BeanUtils.copyProperties(crowdTestProjectPO, crowdTestProject);
|
|
|
// 应用类型值的转换
|
|
|
Optional<ApplicationTypePO> applicationTypePO = applicationTypeDao.findByCode(crowdTestProject.getApplicationType());
|
|
|
if (applicationTypePO.isPresent()) {
|
|
@@ -1073,9 +1141,9 @@ public class WebMediatorImpl implements ViewMediator {
|
|
|
}
|
|
|
|
|
|
@Override
|
|
|
- public List<CrowdTaskVO> crowdTaskVos() {
|
|
|
+ public List<CrowdTaskVO> crowdTaskVos(){
|
|
|
List<CrowdTaskVO> authingList = new ArrayList<>();
|
|
|
- authingList.addAll(taskDao.findAll().stream().map(crowdTestTaskPO -> {
|
|
|
+ authingList.addAll(taskDao.findindexTask().stream().map(crowdTestTaskPO -> {
|
|
|
//根据code值查询出来该任务的type
|
|
|
Optional<TestTypePO> serviceType = testTypeDao.findByCode(crowdTestTaskPO.getType());
|
|
|
CrowdTestTask crowdTestTask = new CrowdTestTask();
|
|
@@ -1192,6 +1260,14 @@ public class WebMediatorImpl implements ViewMediator {
|
|
|
|
|
|
@Override
|
|
|
public QualificationDTO updateQualification(long id, long userId, QualificationVO qualificationVO) {
|
|
|
+ String regex = "^[a-z0-9A-Z]+$";
|
|
|
+ if (!qualificationVO.getNumber().matches(regex)) {
|
|
|
+ throw new HttpBadRequestException("请输入正确的证书编号");
|
|
|
+ }
|
|
|
+ Date now = new Date();
|
|
|
+ if(qualificationVO.getTime().after(now)){
|
|
|
+ throw new HttpBadRequestException("请输入正确的发证时间");
|
|
|
+ }
|
|
|
Optional<QualificationPO> qualificationPO = qualificationDao.findById(id);
|
|
|
qualificationPO.get().setName(qualificationVO.getName());
|
|
|
qualificationPO.get().setNumber(qualificationVO.getNumber());
|
|
@@ -1254,7 +1330,7 @@ public class WebMediatorImpl implements ViewMediator {
|
|
|
}
|
|
|
String bank = String.valueOf(json.get("bank"));
|
|
|
Optional<BankLogoPO> bankLogoPO = bankLogoDao.findByName(bankCardVO.getName());
|
|
|
- if (!bank.equals(bankLogoPO.get().getName())) {
|
|
|
+ if (!bank.equals(bankLogoPO.get().getCode())) {
|
|
|
throw new HttpBadRequestException("请输入与选定银行一致的账号");
|
|
|
}
|
|
|
List<BankCardPO> bankCardPOList = bankCardDao.findByUserIdAndIsDeleted(userId, DeletedStatus.isNotDeleted);
|