Forráskód Böngészése

Merge branch 'feature-V2.0' of http://git.mooctest.com/crowd-2019/crowd-test-service-backend into feature-V2.0

xuxuan 5 éve
szülő
commit
98e64bc820

+ 5 - 0
core/src/main/java/com/mooctest/crowd/domain/dao/TechnicalArticlesDao.java

@@ -6,9 +6,11 @@ import org.springframework.data.domain.Pageable;
 import org.springframework.data.jpa.domain.Specification;
 import org.springframework.data.jpa.repository.JpaRepository;
 import org.springframework.data.jpa.repository.JpaSpecificationExecutor;
+import org.springframework.data.jpa.repository.Modifying;
 import org.springframework.data.jpa.repository.Query;
 import org.springframework.data.repository.CrudRepository;
 import org.springframework.data.repository.PagingAndSortingRepository;
+import org.springframework.data.repository.query.Param;
 
 import java.util.List;
 
@@ -27,4 +29,7 @@ public interface TechnicalArticlesDao extends PagingAndSortingRepository<Technic
     @Query(nativeQuery = true, value = "select * from technical_articles order by TA_READING DESC")
     List<TechnicalArticlesPO> findReading(Pageable pageable);
 
+    @Modifying
+    @Query(nativeQuery = true,value="update  technical_articles set TA_READING=TA_READING+1 where TA_ID=?")
+    int updateReading(@Param("id") long id);
 }

+ 5 - 0
site/src/main/java/com/mooctest/crowd/site/controller/TechnicalArticlesController.java

@@ -44,4 +44,9 @@ public class TechnicalArticlesController {
     public List<TechnicalArticlesVO> ranking(){
         return  technical.articlesRanking();
     }
+
+    @RequestMapping(value = "/updateranking/{id:\\d+}", method = RequestMethod.GET)
+    public  TechnicalArticlesDTO updateRanking(@PathVariable("id") long id){
+        return  technical.updateRanking(id);
+    }
 }

+ 1 - 0
site/src/main/java/com/mooctest/crowd/site/data/dto/TechnicalArticlesDTO.java

@@ -7,4 +7,5 @@ import org.springframework.data.domain.Page;
 @Data
 public class TechnicalArticlesDTO {
     Page<TechnicalArticlesVO>  technicalArticlespage;
+    int count;
 }

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

@@ -86,4 +86,6 @@ public interface ViewMediator {
     BankCardDTO addBankCard(long userId,BankCardVO bankCardVO);
 
     BankCardDTO deleteBankCard(long id,long userId);
+
+    TechnicalArticlesDTO  updateRanking(long id);
 }

+ 8 - 0
site/src/main/java/com/mooctest/crowd/site/mediator/impl/WebMediatorImpl.java

@@ -879,6 +879,14 @@ public class WebMediatorImpl implements ViewMediator {
         return this.getBankCard(userId);
     }
 
+    @Override
+    public TechnicalArticlesDTO updateRanking(long id) {
+        int i = technicalarticlesDao.updateReading(id);
+        TechnicalArticlesDTO technicalArticlesDTO=new TechnicalArticlesDTO();
+        technicalArticlesDTO.setCount(i);
+        return technicalArticlesDTO;
+    }
+
     private ProjectOperationControl initProjectPermission(CrowdTestProject project, User user) {
         ProjectOperationControl operationControl = new ProjectOperationControl();
         if (user == null)

+ 2 - 0
site/src/main/java/com/mooctest/crowd/site/service/TechnicalArticlesService.java

@@ -19,4 +19,6 @@ public interface TechnicalArticlesService {
     TechnicalArticlesDTO getArticles(Pageable pageable,String keyword);
 
     List<TechnicalArticlesVO> articlesRanking();
+
+    TechnicalArticlesDTO  updateRanking(long id);
 }

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

@@ -35,4 +35,9 @@ public class TechnicalArticlesServiceImpl implements TechnicalArticlesService{
     public List<TechnicalArticlesVO> articlesRanking() {
         return viewMediator.articlesRanking();
     }
+
+    @Override
+    public TechnicalArticlesDTO updateRanking(long id) {
+        return viewMediator.updateRanking(id);
+    }
 }