소스 검색

Merge branch 'dev' of xiongzhu/raex_back into master

sunkean 3 년 전
부모
커밋
4135bc891f

+ 4 - 0
src/main/java/com/izouma/nineth/domain/User.java

@@ -194,4 +194,8 @@ public class User extends UserBaseEntity implements Serializable {
     private Boolean isPublicShow = Boolean.TRUE;
     private Boolean isPublicShow = Boolean.TRUE;
 
 
     private Long companyId;
     private Long companyId;
+
+    @ApiModelProperty("是否关注")
+    @Transient
+    private boolean follow;
 }
 }

+ 1 - 1
src/main/java/com/izouma/nineth/repo/TokenHistoryRepo.java

@@ -59,7 +59,7 @@ public interface TokenHistoryRepo extends JpaRepository<TokenHistory, Long>, Jpa
 
 
     List<TokenHistory> findByOperationAndCreatedAtBefore(String operation, LocalDateTime time);
     List<TokenHistory> findByOperationAndCreatedAtBefore(String operation, LocalDateTime time);
 
 
-    @Query(nativeQuery = true, value = "select to_user nickname, to_avatar avatar from token_history " +
+    @Query(nativeQuery = true, value = "select to_user nickname, to_avatar avatar, to_user_id id from token_history " +
             "where created_at > ?1 group by to_user_id order by sum(price) desc limit 10")
             "where created_at > ?1 group by to_user_id order by sum(price) desc limit 10")
     List<Map<String, String>> top(LocalDateTime time);
     List<Map<String, String>> top(LocalDateTime time);
 }
 }

+ 21 - 9
src/main/java/com/izouma/nineth/web/UserController.java

@@ -5,15 +5,13 @@ import com.alipay.api.AlipayApiException;
 import com.fasterxml.jackson.annotation.JsonView;
 import com.fasterxml.jackson.annotation.JsonView;
 import com.huifu.adapay.core.exception.BaseAdaPayException;
 import com.huifu.adapay.core.exception.BaseAdaPayException;
 import com.izouma.nineth.converter.EncryptConverter;
 import com.izouma.nineth.converter.EncryptConverter;
+import com.izouma.nineth.domain.Follow;
 import com.izouma.nineth.domain.IdentityAuth;
 import com.izouma.nineth.domain.IdentityAuth;
 import com.izouma.nineth.domain.User;
 import com.izouma.nineth.domain.User;
 import com.izouma.nineth.dto.*;
 import com.izouma.nineth.dto.*;
 import com.izouma.nineth.enums.AuthorityName;
 import com.izouma.nineth.enums.AuthorityName;
 import com.izouma.nineth.exception.BusinessException;
 import com.izouma.nineth.exception.BusinessException;
-import com.izouma.nineth.repo.IdentityAuthRepo;
-import com.izouma.nineth.repo.TokenHistoryRepo;
-import com.izouma.nineth.repo.UserBankCardRepo;
-import com.izouma.nineth.repo.UserRepo;
+import com.izouma.nineth.repo.*;
 import com.izouma.nineth.security.Authority;
 import com.izouma.nineth.security.Authority;
 import com.izouma.nineth.security.JwtTokenUtil;
 import com.izouma.nineth.security.JwtTokenUtil;
 import com.izouma.nineth.security.JwtUserFactory;
 import com.izouma.nineth.security.JwtUserFactory;
@@ -36,10 +34,7 @@ import org.springframework.web.bind.annotation.*;
 import javax.servlet.http.HttpServletResponse;
 import javax.servlet.http.HttpServletResponse;
 import java.io.IOException;
 import java.io.IOException;
 import java.time.LocalDateTime;
 import java.time.LocalDateTime;
-import java.util.Collections;
-import java.util.HashMap;
-import java.util.List;
-import java.util.Map;
+import java.util.*;
 
 
 @AllArgsConstructor
 @AllArgsConstructor
 @RestController
 @RestController
@@ -56,6 +51,8 @@ public class UserController extends BaseController {
 
 
     private TokenHistoryRepo tokenHistoryRepo;
     private TokenHistoryRepo tokenHistoryRepo;
 
 
+    private FollowRepo followRepo;
+
     @PostMapping("/register")
     @PostMapping("/register")
     public User register(@RequestParam String username,
     public User register(@RequestParam String username,
                          @RequestParam String password) {
                          @RequestParam String password) {
@@ -434,11 +431,26 @@ public class UserController extends BaseController {
 
 
     @GetMapping("/topTen")
     @GetMapping("/topTen")
     public List<User> topTen() {
     public List<User> topTen() {
+
         LocalDateTime time = LocalDateTime.now().plusDays(-7);
         LocalDateTime time = LocalDateTime.now().plusDays(-7);
         List<Map<String, String>> map = tokenHistoryRepo.top(time);
         List<Map<String, String>> map = tokenHistoryRepo.top(time);
         JSONArray jsonArray = new JSONArray();
         JSONArray jsonArray = new JSONArray();
         jsonArray.addAll(map);
         jsonArray.addAll(map);
-        return jsonArray.toJavaList(User.class);
+        List<User> users = jsonArray.toJavaList(User.class);
+        if (Objects.isNull(SecurityUtils.getAuthenticatedUser())) {
+            return users;
+        }
+        if (CollectionUtils.isEmpty(users)) {
+            return users;
+        }
+        Long id = SecurityUtils.getAuthenticatedUser().getId();
+        users.forEach(user -> {
+            List<Follow> follows = followRepo.findByUserIdAndFollowUserId(id, user.getId());
+            if (CollectionUtils.isNotEmpty(follows)) {
+                user.setFollow(true);
+            }
+        });
+        return users;
     }
     }
 }
 }