git 5 år sedan
förälder
incheckning
be6d6548d0

+ 18 - 0
core/src/main/java/com/mooctest/crowd/domain/dao/QualificationDao.java

@@ -0,0 +1,18 @@
+package com.mooctest.crowd.domain.dao;
+
+import com.mooctest.crowd.domain.model.QualificationPO;
+import org.springframework.data.jpa.repository.JpaRepository;
+import org.springframework.data.jpa.repository.JpaSpecificationExecutor;
+import org.springframework.data.repository.CrudRepository;
+import org.springframework.data.repository.PagingAndSortingRepository;
+
+import javax.transaction.Transactional;
+import java.util.List;
+
+
+@Transactional
+public interface QualificationDao extends PagingAndSortingRepository<QualificationPO, Long> ,CrudRepository<QualificationPO, Long>, JpaRepository<QualificationPO, Long> ,JpaSpecificationExecutor<QualificationPO>{
+
+    List<QualificationPO> findByUserId(Long userId);
+
+}

+ 37 - 0
core/src/main/java/com/mooctest/crowd/domain/model/QualificationPO.java

@@ -0,0 +1,37 @@
+package com.mooctest.crowd.domain.model;
+
+import lombok.Data;
+
+import javax.persistence.Column;
+import javax.persistence.Entity;
+import javax.persistence.Id;
+import javax.persistence.Table;
+import java.sql.Date;
+import java.sql.Timestamp;
+
+
+@Data
+@Entity
+@Table(name = "qualification")
+public class QualificationPO {
+
+    @Id
+    @Column(name = "Q_ID")
+    private Long id;
+
+    @Column(name = "Q_NAME")
+    private String name;
+
+    @Column(name = "Q_NUMBER")
+    private String  number;
+
+    @Column(name = "Q_LICENSING_AUTHORITY")
+    private String  LicensingAuthority;
+
+    @Column(name="Q_TIME")
+    private Date time;
+
+    @Column(name="Q_U_ID")
+    private Long userId;
+
+}

+ 13 - 2
site/src/main/java/com/mooctest/crowd/site/controller/PersonalDataController.java

@@ -1,6 +1,6 @@
 package com.mooctest.crowd.site.controller;
 
-
+import com.mooctest.crowd.site.data.dto.QualificationDTO;
 import com.mooctest.crowd.site.data.dto.UserDTO;
 import com.mooctest.crowd.site.data.vo.UserVO;
 import com.mooctest.crowd.site.service.PersonalDataService;
@@ -21,7 +21,18 @@ public class PersonalDataController {
     }
 
     @RequestMapping(value = "/update/{userId:\\d+}", method = RequestMethod.PUT)
-    public UserDTO addUserToGroup(@PathVariable("userId") long userId, @RequestBody UserVO userVO) {
+    public UserDTO updateInformation(@PathVariable("userId") long userId, @RequestBody UserVO userVO) {
         return  personalDataService.updateInformation(userId,userVO);
     }
+
+    @RequestMapping(value = "/displayqualification/{userId:\\d+}", method = RequestMethod.GET)
+    public QualificationDTO getQualification(@PathVariable("userId") long userId){
+        return  personalDataService.getQualification(userId);
+    }
+
+    public QualificationDTO addQualification(@PathVariable("userId") long userId){
+        return  personalDataService.addQualification(userId);
+    }
+
+
 }

+ 13 - 0
site/src/main/java/com/mooctest/crowd/site/data/dto/QualificationDTO.java

@@ -0,0 +1,13 @@
+package com.mooctest.crowd.site.data.dto;
+
+import com.mooctest.crowd.site.data.vo.QualificationVO;
+import lombok.Data;
+
+import java.util.List;
+
+@Data
+public class QualificationDTO {
+    private QualificationVO qualificationVO;
+    private List<QualificationVO> qualificationVOList;
+
+}

+ 18 - 0
site/src/main/java/com/mooctest/crowd/site/data/vo/QualificationVO.java

@@ -0,0 +1,18 @@
+package com.mooctest.crowd.site.data.vo;
+
+import lombok.Data;
+import lombok.NoArgsConstructor;
+import java.sql.Date;
+
+@Data
+@NoArgsConstructor
+public class QualificationVO{
+
+    private Long id;
+    private String name;
+    private String  number;
+    private String  LicensingAuthority;
+    private Date time;
+    private Long userId;
+
+}

+ 1 - 4
site/src/main/java/com/mooctest/crowd/site/data/vo/TechnicalArticlesVO.java

@@ -1,15 +1,12 @@
 package com.mooctest.crowd.site.data.vo;
 
-import com.alibaba.fastjson.JSONArray;
-import com.mooctest.crowd.domain.domainobject.CrowdTestProject;
 import com.mooctest.crowd.domain.domainobject.TechnicalArticles;
 import com.mooctest.crowd.domain.model.TechnicalArticlesPO;
 import lombok.Data;
 import lombok.NoArgsConstructor;
 
 import java.sql.Timestamp;
-import java.util.HashMap;
-import java.util.List;
+
 @Data
 @NoArgsConstructor
 public class TechnicalArticlesVO {

+ 4 - 0
site/src/main/java/com/mooctest/crowd/site/mediator/ViewMediator.java

@@ -72,4 +72,8 @@ public interface ViewMediator {
     UserDTO getInformation(long userId);
 
     UserDTO updateInformation(long userId, UserVO userVO);
+
+    QualificationDTO getQualification(long userId);
+
+    QualificationDTO addQualification(long userId);
 }

+ 28 - 2
site/src/main/java/com/mooctest/crowd/site/mediator/impl/WebMediatorImpl.java

@@ -44,8 +44,7 @@ public class WebMediatorImpl implements ViewMediator {
     private CrowdTestProjectRepo projectRepo;
 
     @Autowired
-    private UserRepo
-            userRepo;
+    private UserRepo userRepo;
 
     @Autowired
     private EvaluationAgencyRepo evaluationAgencyRepo;
@@ -85,6 +84,9 @@ public class WebMediatorImpl implements ViewMediator {
     @Autowired
     private TechnicalArticlesDao technicalarticlesDao;
 
+    @Autowired
+    private QualificationDao qualificationDao;
+
     @Value("${agency}")
     private String agencyId;
 
@@ -780,6 +782,30 @@ public class WebMediatorImpl implements ViewMediator {
         return this.getInformation(userId);
     }
 
+    @Override
+    public QualificationDTO getQualification(long userId) {
+        QualificationDTO qualificationDTO=new QualificationDTO();
+        List<QualificationVO> qualificationVOList = new ArrayList<>();
+        qualificationDao.findByUserId(userId).forEach(qualificationPO ->{
+            QualificationVO qualificationVO = new QualificationVO();
+            qualificationVO.setId(qualificationPO.getId());
+            qualificationVO.setName(qualificationPO.getName());
+            qualificationVO.setNumber(qualificationPO.getNumber());
+            qualificationVO.setLicensingAuthority(qualificationPO.getLicensingAuthority());
+            qualificationVO.setTime(qualificationPO.getTime());
+            qualificationVOList.add(qualificationVO);
+        });
+        List<QualificationVO> results = qualificationVOList.stream().distinct().collect(Collectors.toList());
+        qualificationDTO.setQualificationVOList(results);
+        return qualificationDTO;
+    }
+
+    @Override
+    public QualificationDTO addQualification(long userId) {
+
+        return null;
+    }
+
     private ProjectOperationControl initProjectPermission(CrowdTestProject project, User user) {
         ProjectOperationControl operationControl = new ProjectOperationControl();
         if (user == null)

+ 5 - 0
site/src/main/java/com/mooctest/crowd/site/service/PersonalDataService.java

@@ -1,5 +1,6 @@
 package com.mooctest.crowd.site.service;
 
+import com.mooctest.crowd.site.data.dto.QualificationDTO;
 import com.mooctest.crowd.site.data.dto.UserDTO;
 import com.mooctest.crowd.site.data.vo.UserVO;
 
@@ -8,4 +9,8 @@ public interface PersonalDataService {
     UserDTO getInformation(long id);
 
     UserDTO  updateInformation(long userId,UserVO userVO);
+
+    QualificationDTO getQualification(long userId);
+
+    QualificationDTO addQualification(long userId);
 }

+ 11 - 0
site/src/main/java/com/mooctest/crowd/site/service/impl/PersonalDataServiceImpl.java

@@ -1,5 +1,6 @@
 package com.mooctest.crowd.site.service.impl;
 
+import com.mooctest.crowd.site.data.dto.QualificationDTO;
 import com.mooctest.crowd.site.data.dto.UserDTO;
 import com.mooctest.crowd.site.data.vo.UserVO;
 import com.mooctest.crowd.site.mediator.ViewMediator;
@@ -22,4 +23,14 @@ public class PersonalDataServiceImpl implements PersonalDataService {
     public UserDTO updateInformation(long userId, UserVO userVO) {
         return viewMediator.updateInformation(userId,userVO);
     }
+
+    @Override
+    public QualificationDTO getQualification(long userId) {
+        return viewMediator.getQualification(userId);
+    }
+
+    @Override
+    public QualificationDTO addQualification(long userId) {
+        return null;
+    }
 }