x1ongzhu 6 ani în urmă
părinte
comite
24bd27b45b

+ 1 - 1
src/main/java/com/izouma/walkchina/domain/Message.java

@@ -38,7 +38,7 @@ public class Message {
     private String content;
 
     @Enumerated(EnumType.STRING)
-    private MessageType type;
+    private MessageType msgType;
 
     @Column(columnDefinition = "bit default 0", nullable = false)
     @Builder.Default

+ 2 - 2
src/main/java/com/izouma/walkchina/repo/MessageRepository.java

@@ -22,7 +22,7 @@ public interface MessageRepository extends JpaRepository<Message, Long> {
     @Query("update Message m set m.isRead = true where m.userId = ?1")
     void readAll(Long userId);
 
-    Message findFirstByUserIdAndTypeOrderByCreatedAtDesc(Long userId, MessageType type);
+    Message findFirstByUserIdAndMsgTypeOrderByCreatedAtDesc(Long userId, MessageType type);
 
-    Message findFirstByUserIdAndSecondUserIdAndTypeOrderByCreatedAtDesc(Long userId, Long secondUserId, MessageType type);
+    Message findFirstByUserIdAndSecondUserIdAndMsgTypeOrderByCreatedAtDesc(Long userId, Long secondUserId, MessageType type);
 }

+ 11 - 0
src/main/java/com/izouma/walkchina/repo/WalkDataRepo.java

@@ -0,0 +1,11 @@
+package com.izouma.walkchina.repo;
+
+import com.izouma.walkchina.domain.WalkData;
+import org.springframework.data.jpa.repository.JpaRepository;
+
+import java.time.LocalDate;
+import java.util.List;
+
+public interface WalkDataRepo extends JpaRepository<WalkData, Long> {
+    List<WalkData> findAllByDateGreaterThanEqualAndDateLessThanEqualAndUserIdEquals(LocalDate date1, LocalDate date2,Long userId);
+}

+ 1 - 1
src/main/java/com/izouma/walkchina/service/CoinService.java

@@ -75,7 +75,7 @@ public class CoinService {
             Message msg = Message.builder()
                                  .userId(userInfo.getId())
                                  .content(message)
-                                 .type(MessageType.NORMAL)
+                                 .msgType(MessageType.NORMAL)
                                  .isRead(false)
                                  .active(true)
                                  .build();

+ 1 - 1
src/main/java/com/izouma/walkchina/service/FriendInfoService.java

@@ -49,7 +49,7 @@ public class FriendInfoService {
             messageRepository.save(Message.builder()
                                           .content(String.format(Strings.MSG_NEW_FRIEND, userInfo.getNickname()))
                                           .userId(userId)
-                                          .type(MessageType.NORMAL)
+                                          .msgType(MessageType.NORMAL)
                                           .build());
         }
     }

+ 1 - 1
src/main/java/com/izouma/walkchina/service/JourneyService.java

@@ -263,7 +263,7 @@ public class JourneyService {
             DAYS.between(latestStage.getCreatedAt().toLocalDate(), LocalDate.now()) + 1,
             currentSteps,
             Math.round(progress * 100));
-        Message lastMsg = messageRepository.findFirstByUserIdAndTypeOrderByCreatedAtDesc(userId, MessageType.PROGRESS_UPDATE);
+        Message lastMsg = messageRepository.findFirstByUserIdAndMsgTypeOrderByCreatedAtDesc(userId, MessageType.PROGRESS_UPDATE);
         if (lastMsg == null || !content.equals(lastMsg.getContent())) {
             applicationContext.publishEvent(new MessageEvent(this, userId, content, MessageType.PROGRESS_UPDATE));
         }

+ 1 - 1
src/main/java/com/izouma/walkchina/service/MessageService.java

@@ -39,7 +39,7 @@ public class MessageService {
         messageRepository.saveAndFlush(Message.builder()
                                       .userId(messageEvent.getUserId())
                                       .content(messageEvent.getContent())
-                                      .type(messageEvent.getType())
+                                      .msgType(messageEvent.getType())
                                       .isRead(false)
                                       .build());
     }

+ 1 - 1
src/main/resources/application.yaml

@@ -78,7 +78,7 @@ aliyun:
 spring:
     profiles: dev
     datasource:
-        url: jdbc:mysql://rm-bp1z3b42agv20b8qnao.mysql.rds.aliyuncs.com/walk_china_test?useUnicode=true&characterEncoding=UTF-8&zeroDateTimeBehavior=convertToNull&allowMultiQueries=true&useSSL=false&serverTimezone=GMT%2b8
+        url: jdbc:mysql://rm-bp1z3b42agv20b8qnao.mysql.rds.aliyuncs.com/walk_china?useUnicode=true&characterEncoding=UTF-8&zeroDateTimeBehavior=convertToNull&allowMultiQueries=true&useSSL=false&serverTimezone=GMT%2b8
 storage:
     local_path: /upload/
 wx:

+ 1 - 1
src/test/java/com/izouma/walkchina/repo/MessageRepositoryTest.java

@@ -30,7 +30,7 @@ public class MessageRepositoryTest {
         for (int i = 0; i < 50; i++) {
             messageRepository.save(Message.builder()
                                           .userId(890L)
-                                          .type(MessageType.NORMAL)
+                                          .msgType(MessageType.NORMAL)
                                           .content("test message " + i)
                                           .isRead(false)
                                           .active(true)

+ 41 - 0
src/test/java/com/izouma/walkchina/repo/StepRecordRepoTest.java

@@ -0,0 +1,41 @@
+package com.izouma.walkchina.repo;
+
+import com.izouma.walkchina.constant.StepRecordType;
+import com.izouma.walkchina.domain.StepRecord;
+import org.junit.Test;
+import org.junit.runner.RunWith;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.boot.test.context.SpringBootTest;
+import org.springframework.test.context.junit4.SpringRunner;
+
+import java.time.LocalDate;
+import java.util.List;
+
+@RunWith(SpringRunner.class)
+@SpringBootTest
+public class StepRecordRepoTest {
+    @Autowired
+    private StepRecordRepo stepRecordRepo;
+
+    @Test
+    public void findByUserIdAndDate() {
+    }
+
+    @Test
+    public void sumUserTotalStep() {
+    }
+
+    @Test
+    public void findByUserIdAndDateAndType() {
+        List<StepRecord> list = stepRecordRepo.findByUserIdAndDateAndType(902L, LocalDate.now(), StepRecordType.SELF);
+        System.out.println(list);
+    }
+
+    @Test
+    public void findByTimeRange() {
+    }
+
+    @Test
+    public void testFindByTimeRange() {
+    }
+}

+ 50 - 0
src/test/java/com/izouma/walkchina/repo/WalkDataRepoTest.java

@@ -0,0 +1,50 @@
+package com.izouma.walkchina.repo;
+
+import com.izouma.walkchina.constant.StepRecordType;
+import com.izouma.walkchina.domain.StepRecord;
+import org.junit.Test;
+import org.junit.runner.RunWith;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.boot.test.context.SpringBootTest;
+import org.springframework.test.context.junit4.SpringRunner;
+
+import static org.junit.Assert.*;
+
+@RunWith(SpringRunner.class)
+@SpringBootTest
+public class WalkDataRepoTest {
+    @Autowired
+    private WalkDataRepo         walkDataRepo;
+    @Autowired
+    private StepRecordRepo       stepRecordRepo;
+    @Autowired
+    private TeamMemberRepository teamMemberRepository;
+
+    @Test
+    public void test() {
+
+        walkDataRepo.findAll().stream().forEach(walkData -> {
+            stepRecordRepo.save(StepRecord.builder()
+                                          .userId(walkData.getUserId())
+                                          .fromUserId(walkData.getUserId())
+                                          .type(StepRecordType.SELF)
+                                          .date(walkData.getDate())
+                                          .step(Math.toIntExact(walkData.getSteps()))
+                                          .build());
+        });
+
+
+        teamMemberRepository.findAll().forEach(teamMember -> {
+            walkDataRepo.findAllByDateGreaterThanEqualAndDateLessThanEqualAndUserIdEquals(teamMember.getStartTime().toLocalDate(), teamMember.getEndTime().toLocalDate(), teamMember.getUserId())
+                        .forEach(walkData -> {
+                            stepRecordRepo.save(StepRecord.builder()
+                                                          .userId(teamMember.getLeader())
+                                                          .fromUserId(walkData.getUserId())
+                                                          .type(StepRecordType.TEAM)
+                                                          .date(walkData.getDate())
+                                                          .step(Math.toIntExact(walkData.getSteps()))
+                                                          .build());
+                        });
+        });
+    }
+}