浏览代码

增加测评机构对资源和能力的操作

guochao 6 年之前
父节点
当前提交
b7c64b8965

文件差异内容过多而无法显示
+ 0 - 0
core/src/main/java/com/mooctest/crowd/domain/controller/TestUserController.java


+ 27 - 0
core/src/main/java/com/mooctest/crowd/domain/dao/EvaluationAgencyAbilityDao.java

@@ -0,0 +1,27 @@
+package com.mooctest.crowd.domain.dao;
+
+import com.mooctest.crowd.domain.model.EvaluationAgencyAbilityPO;
+import org.springframework.data.jpa.repository.JpaSpecificationExecutor;
+import org.springframework.data.repository.PagingAndSortingRepository;
+
+import javax.transaction.Transactional;
+import java.util.List;
+import java.util.Optional;
+
+@Transactional
+public interface EvaluationAgencyAbilityDao extends PagingAndSortingRepository<EvaluationAgencyAbilityPO, Long>, JpaSpecificationExecutor<EvaluationAgencyAbilityPO> {
+
+    Optional<EvaluationAgencyAbilityPO> findById(Long Id);
+
+    List<EvaluationAgencyAbilityPO> findByEvaluationAgencyId(Long evaluationAgencyId);
+
+    List<EvaluationAgencyAbilityPO> findAll();
+
+//    void deleteAll(List<EvaluationAgencyAbilityPO> evaluationAgencyAbilityPOList);
+
+    @Override
+    void deleteAll(Iterable<? extends EvaluationAgencyAbilityPO> iterable);
+
+    EvaluationAgencyAbilityPO save(EvaluationAgencyAbilityPO evaluationAgencyPO);
+
+}

+ 24 - 0
core/src/main/java/com/mooctest/crowd/domain/dao/EvaluationAgencyResourceDao.java

@@ -0,0 +1,24 @@
+package com.mooctest.crowd.domain.dao;
+
+import com.mooctest.crowd.domain.model.EvaluationAgencyResourcePO;
+import org.springframework.data.jpa.repository.JpaSpecificationExecutor;
+import org.springframework.data.repository.PagingAndSortingRepository;
+
+import javax.transaction.Transactional;
+import java.util.List;
+import java.util.Optional;
+
+@Transactional
+public interface EvaluationAgencyResourceDao extends PagingAndSortingRepository<EvaluationAgencyResourcePO, Long>, JpaSpecificationExecutor<EvaluationAgencyResourcePO> {
+
+    Optional<EvaluationAgencyResourcePO> findById(Long Id);
+
+    EvaluationAgencyResourcePO findByEvaluationAgencyId(Long evaluationAgencyId);
+
+    List<EvaluationAgencyResourcePO> findByProfessionalsFreeCountGreaterThanEqual(int professionalsFreeCount);
+
+    List<EvaluationAgencyResourcePO> findAll();
+
+    EvaluationAgencyResourcePO save(EvaluationAgencyResourcePO evaluationAgencyPO);
+
+}

+ 5 - 4
core/src/main/java/com/mooctest/crowd/domain/domainobject/EvaluationAgency.java

@@ -3,6 +3,7 @@ package com.mooctest.crowd.domain.domainobject;
 import lombok.Data;
 
 import java.sql.Timestamp;
+import java.util.List;
 
 /**
  * @author guochao
@@ -15,8 +16,8 @@ public class EvaluationAgency {
     private String evaluationAgencyName;
     private String bankAccount;
     private String address;
-    private String abilities;
-    private String resources;
+    private List<EvaluationAgencyAbility> evaluationAgencyAbilityList;
+    private EvaluationAgencyResource evaluationAgencyResource;
     private String agencyPhoto;
     private int isAuthentication;
     private int isDeleted;
@@ -32,8 +33,8 @@ public class EvaluationAgency {
                 ", evaluationAgencyName='" + evaluationAgencyName + '\'' +
                 ", bankAccount='" + bankAccount + '\'' +
                 ", address='" + address + '\'' +
-                ", abilities='" + abilities + '\'' +
-                ", resources='" + resources + '\'' +
+                ", evaluationAgencyAbilityList='" + evaluationAgencyAbilityList + '\'' +
+                ", evaluationAgencyResource='" + evaluationAgencyResource + '\'' +
                 ", agencyPhoto='" + agencyPhoto + '\'' +
                 ", isAuthentication=" + isAuthentication +
                 ", isDeleted=" + isDeleted +

+ 24 - 0
core/src/main/java/com/mooctest/crowd/domain/domainobject/EvaluationAgencyAbility.java

@@ -0,0 +1,24 @@
+package com.mooctest.crowd.domain.domainobject;
+
+import lombok.Data;
+
+/**
+ * @author guochao
+ * @date 2019/8/12 14:16
+ */
+@Data
+public class EvaluationAgencyAbility {
+
+    private Long id;
+    private Long evaluationAgencyId;
+    private String abilityName;
+
+    @Override
+    public String toString() {
+        return "EvaluationAgencyAbility{" +
+                "id=" + id +
+                ", evaluationAgencyId=" + evaluationAgencyId +
+                ", abilityName='" + abilityName + '\'' +
+                '}';
+    }
+}

+ 44 - 0
core/src/main/java/com/mooctest/crowd/domain/domainobject/EvaluationAgencyResource.java

@@ -0,0 +1,44 @@
+package com.mooctest.crowd.domain.domainobject;
+
+import lombok.Data;
+
+/**
+ * @author guochao
+ * @date 2019/8/12 14:16
+ */
+@Data
+public class EvaluationAgencyResource {
+
+    private Long id;
+    private Long evaluationAgencyId;
+    private int professionalsCount;
+    private int professionalsFreeCount;
+    private int serversCount;
+    private int serversFreeCount;
+    private int devicesCount;
+    private int devicesFreeCount;
+
+    @Override
+    public String toString() {
+        return "EvaluationAgencyResource{" +
+                "id=" + id +
+                "evaluationAgencyId=" + evaluationAgencyId +
+                ", professionalsCount=" + professionalsCount +
+                ", professionalsFreeCount=" + professionalsFreeCount +
+                ", serversCount=" + serversCount +
+                ", serversFreeCount=" + serversFreeCount +
+                ", devicesCount=" + devicesCount +
+                ", devicesFreeCount=" + devicesFreeCount +
+                '}';
+    }
+
+    public EvaluationAgencyResource updateEvaluationAgencyResource(int professionalsCount, int professionalsFreeCount, int serversCount, int serversFreeCount, int devicesCount, int devicesFreeCount){
+        this.professionalsCount = professionalsCount;
+        this.professionalsFreeCount = professionalsFreeCount;
+        this.serversCount = serversCount;
+        this.serversFreeCount = serversFreeCount;
+        this.devicesCount = devicesCount;
+        this.devicesFreeCount = devicesFreeCount;
+        return this;
+    }
+}

+ 34 - 0
core/src/main/java/com/mooctest/crowd/domain/model/EvaluationAgencyAbilityPO.java

@@ -0,0 +1,34 @@
+package com.mooctest.crowd.domain.model;
+
+import lombok.Data;
+
+import javax.persistence.*;
+
+/**
+ * @author guochao
+ * @date 2019/8/12 14:16
+ */
+@Data
+@Entity(name = "evaluation_agency_ability")
+public class EvaluationAgencyAbilityPO {
+
+    @Id
+    @Column(name = "EAA_ID")
+    @GeneratedValue(strategy = GenerationType.IDENTITY)
+    private Long id;
+
+    @Column(name = "EAA_EA_ID")
+    private Long evaluationAgencyId;
+
+    @Column(name = "EAA_ABILITY_NAME")
+    private String abilityName;
+
+    @Override
+    public String toString() {
+        return "EvaluationAgencyAbility{" +
+                "id=" + id +
+                ", evaluationAgencyId=" + evaluationAgencyId +
+                ", abilityName='" + abilityName + '\'' +
+                '}';
+    }
+}

+ 0 - 8
core/src/main/java/com/mooctest/crowd/domain/model/EvaluationAgencyPO.java

@@ -27,12 +27,6 @@ public class EvaluationAgencyPO{
     @Column(name = "EA_BANK_ACCOUNT")
     private String bankAccount;
 
-    @Column(name = "EA_ADDRESS")
-    private String address;
-
-    @Column(name = "EA_ABILITIES")
-    private String abilities;
-
     @Column(name = "EA_RESOURCES")
     private String resources;
 
@@ -61,8 +55,6 @@ public class EvaluationAgencyPO{
                 ", userId=" + userId +
                 ", evaluationAgencyName='" + evaluationAgencyName + '\'' +
                 ", bankAccount='" + bankAccount + '\'' +
-                ", address='" + address + '\'' +
-                ", abilities='" + abilities + '\'' +
                 ", resources='" + resources + '\'' +
                 ", agencyPhoto='" + agencyPhoto + '\'' +
                 ", isAuthentication=" + isAuthentication +

+ 54 - 0
core/src/main/java/com/mooctest/crowd/domain/model/EvaluationAgencyResourcePO.java

@@ -0,0 +1,54 @@
+package com.mooctest.crowd.domain.model;
+
+import lombok.Data;
+
+import javax.persistence.*;
+
+/**
+ * @author guochao
+ * @date 2019/8/12 14:16
+ */
+@Data
+@Entity(name = "evaluation_agency_resource")
+public class EvaluationAgencyResourcePO {
+
+    @Id
+    @Column(name = "EAR_ID")
+    @GeneratedValue(strategy = GenerationType.IDENTITY)
+    private Long id;
+
+    @Column(name = "EAR_EA_ID")
+    private Long evaluationAgencyId;
+
+    @Column(name = "EAR_PROFESSIONALS_COUNT")
+    private int professionalsCount;
+
+    @Column(name = "EAR_PROFESSIONALS_FREE_COUNT")
+    private int professionalsFreeCount;
+
+    @Column(name = "EAR_SERVERS_COUNT")
+    private int serversCount;
+
+    @Column(name = "EAR_SERVERS_FREE_COUNT")
+    private int serversFreeCount;
+
+    @Column(name = "EAR_DEVICES_COUNT")
+    private int devicesCount;
+
+    @Column(name = "EAR_DEVICES_FREE_COUNT")
+    private int devicesFreeCount;
+
+    @Override
+    public String toString() {
+        return "EvaluationAgencyResource{" +
+                "id=" + id +
+                "evaluationAgencyId=" + evaluationAgencyId +
+                ", professionalsCount=" + professionalsCount +
+                ", professionalsFreeCount=" + professionalsFreeCount +
+                ", serversCount=" + serversCount +
+                ", serversFreeCount=" + serversFreeCount +
+                ", devicesCount=" + devicesCount +
+                ", devicesFreeCount=" + devicesFreeCount +
+                '}';
+    }
+}

+ 47 - 0
core/src/main/java/com/mooctest/crowd/domain/repository/EvaluationAgencyResourceRepo.java

@@ -0,0 +1,47 @@
+package com.mooctest.crowd.domain.repository;
+
+import com.mooctest.crowd.domain.dao.EvaluationAgencyAbilityDao;
+import com.mooctest.crowd.domain.dao.EvaluationAgencyResourceDao;
+import com.mooctest.crowd.domain.domainobject.EvaluationAgencyAbility;
+import com.mooctest.crowd.domain.domainobject.EvaluationAgencyResource;
+import com.mooctest.crowd.domain.model.EvaluationAgencyAbilityPO;
+import com.mooctest.crowd.domain.model.EvaluationAgencyResourcePO;
+import com.mooctest.crowd.domain.util.Converter;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.stereotype.Component;
+
+import java.util.List;
+import java.util.stream.Collectors;
+
+/**
+ * @author guochao
+ * @date 2019-08-14 09:51
+ */
+@Component
+public class EvaluationAgencyResourceRepo implements IEvaluationAgencyResourceRepo{
+    @Autowired
+    private EvaluationAgencyResourceDao evaluationAgencyResourceDao;
+
+    @Autowired
+    private EvaluationAgencyAbilityDao evaluationAgencyAbilityDao;
+
+    @Override
+    public EvaluationAgencyResource saveEvaluationAgencyResource(EvaluationAgencyResource evaluationAgencyResource){
+        EvaluationAgencyResourcePO evaluationAgencyResourceResult = evaluationAgencyResourceDao.save(Converter.convert(EvaluationAgencyResourcePO.class, evaluationAgencyResource));
+        return Converter.convert(EvaluationAgencyResource.class, evaluationAgencyResourceResult);
+    }
+
+    @Override
+    public EvaluationAgencyAbility saveEvaluationAgencyAbility(EvaluationAgencyAbility EvaluationAgencyAbility){
+        EvaluationAgencyAbilityPO evaluationAgencyAbilityPO = evaluationAgencyAbilityDao.save(Converter.convert(EvaluationAgencyAbilityPO.class, EvaluationAgencyAbility));
+        return Converter.convert(EvaluationAgencyAbility.class, evaluationAgencyAbilityPO);
+    }
+
+    @Override
+    public void moveEvaluationAgencyAbility(List<EvaluationAgencyAbility> evaluationAgencyAbilityList){
+        List<EvaluationAgencyAbilityPO> evaluationAgencyAbilityPOList = evaluationAgencyAbilityList.stream()
+                .map(evaluationAgencyAbility -> Converter.convert(EvaluationAgencyAbilityPO.class, evaluationAgencyAbility))
+                .collect(Collectors.toList());
+        evaluationAgencyAbilityDao.deleteAll(evaluationAgencyAbilityPOList);
+    }
+}

+ 19 - 0
core/src/main/java/com/mooctest/crowd/domain/repository/IEvaluationAgencyResourceRepo.java

@@ -0,0 +1,19 @@
+package com.mooctest.crowd.domain.repository;
+
+import com.mooctest.crowd.domain.domainobject.EvaluationAgencyAbility;
+import com.mooctest.crowd.domain.domainobject.EvaluationAgencyResource;
+
+import java.util.List;
+
+/**
+ * @author guochao
+ * @date 2019-08-14 09:55
+ */
+public interface IEvaluationAgencyResourceRepo {
+
+    EvaluationAgencyResource saveEvaluationAgencyResource(EvaluationAgencyResource evaluationAgencyResource);
+
+    EvaluationAgencyAbility saveEvaluationAgencyAbility(EvaluationAgencyAbility EvaluationAgencyAbility);
+
+    void moveEvaluationAgencyAbility(List<EvaluationAgencyAbility> evaluationAgencyAbilityList);
+}

+ 32 - 0
core/src/main/java/com/mooctest/crowd/domain/repository/UserRepo.java

@@ -49,6 +49,12 @@ public class UserRepo implements IUserRepo {
     @Autowired
     private RegionalDao regionalDao;
 
+    @Autowired
+    private EvaluationAgencyResourceDao evaluationAgencyResourceDao;
+
+    @Autowired
+    private EvaluationAgencyAbilityDao evaluationAgencyAbilityDao;
+
     private Timestamp currentTime = new Timestamp(System.currentTimeMillis());
 
     @Override
@@ -215,6 +221,14 @@ public class UserRepo implements IUserRepo {
             EvaluationAgencyPO evaluationAgencyPO = Converter.convert(EvaluationAgencyPO.class, evaluationAgency);
             evaluationAgencyPO.setUserId(userPO.getId());
             evaluationAgencyDao.save(evaluationAgencyPO);
+
+//            // save测评机构资源
+//            EvaluationAgencyResource evaluationAgencyResource = evaluationAgency.getEvaluationAgencyResource();
+//            if(evaluationAgencyResource != null){
+//                EvaluationAgencyResourcePO evaluationAgencyResourcePO = Converter.convert(EvaluationAgencyResourcePO.class, evaluationAgencyResource);
+//                evaluationAgencyResourcePO.setEvaluationAgencyId(evaluationAgencyPO.getId());
+//                evaluationAgencyResourceDao.save(evaluationAgencyResourcePO);
+//            }
         }
         return getByID(userPO.getId());
     }
@@ -283,6 +297,24 @@ public class UserRepo implements IUserRepo {
         EvaluationAgencyPO evaluationAgencyPO = evaluationAgencyDao.findByUserId(userPO.getId());
         if(evaluationAgencyPO != null){
             EvaluationAgency evaluationAgencyResult = Converter.convert(EvaluationAgency.class, evaluationAgencyPO);
+
+            /*获取测评机构能力*/
+            List<EvaluationAgencyAbilityPO> evaluationAgencyAbilityPOList = evaluationAgencyAbilityDao.findByEvaluationAgencyId(evaluationAgencyResult.getId());
+            List<EvaluationAgencyAbility> evaluationAgencyAbilityList = new ArrayList<>();
+            for(EvaluationAgencyAbilityPO evaluationAgencyAbilityPO : evaluationAgencyAbilityPOList){
+                EvaluationAgencyAbility evaluationAgencyAbility = Converter.convert(EvaluationAgencyAbility.class, evaluationAgencyAbilityPO);
+                evaluationAgencyAbilityList.add(evaluationAgencyAbility);
+            }
+            if(evaluationAgencyAbilityList.size() != 0){
+                evaluationAgencyResult.setEvaluationAgencyAbilityList(evaluationAgencyAbilityList);
+            }
+
+            /*获取测评机构资源*/
+            EvaluationAgencyResourcePO evaluationAgencyResourcePO = evaluationAgencyResourceDao.findByEvaluationAgencyId(evaluationAgencyResult.getId());
+            if(evaluationAgencyResourcePO != null){
+                evaluationAgencyResult.setEvaluationAgencyResource(Converter.convert(EvaluationAgencyResource.class, evaluationAgencyResourcePO));
+            }
+
             userResult.setEvaluationAgency(evaluationAgencyResult);
         }
 

部分文件因为文件数量过多而无法显示