Skip to content

Commit

Permalink
chore: add user activity dao
Browse files Browse the repository at this point in the history
QizhengMo committed Nov 13, 2024

Verified

This commit was created on GitHub.com and signed with GitHub’s verified signature.
1 parent 7754176 commit 21c5c57
Showing 3 changed files with 12 additions and 5 deletions.
Original file line number Diff line number Diff line change
@@ -1,7 +1,5 @@
package com.arextest.web.core.repository.mongo;

import com.arextest.web.model.dto.UserDto.Activity;
import com.arextest.web.model.dto.UserDto.Fields;
import java.util.List;
import java.util.stream.Collectors;

@@ -18,13 +16,13 @@
import com.arextest.web.model.dao.mongodb.ModelBase;
import com.arextest.web.model.dao.mongodb.UserCollection;
import com.arextest.web.model.dto.UserDto;
import com.arextest.web.model.dto.UserDto.Activity;
import com.arextest.web.model.enums.UserStatusType;
import com.arextest.web.model.mapper.UserMapper;
import com.mongodb.client.result.UpdateResult;

import jakarta.annotation.Resource;
import lombok.extern.slf4j.Slf4j;
import org.springframework.util.CollectionUtils;

@Slf4j
@Component
@@ -52,7 +50,7 @@ public Boolean saveUser(UserDto user) {
public Boolean pushUserActivity(String userName, Activity activity) {
Query query = Query.query(Criteria.where(UserDto.Fields.userName).is(userName));
Update update = MongoHelper.getUpdate();
update.push(UserDto.Fields.activities, activity);
update.push(UserDto.Fields.activities, UserMapper.INSTANCE.activityDaoFromDto(activity));
return mongoTemplate.upsert(query, update, UserCollection.class).getModifiedCount() > 0;
}

Original file line number Diff line number Diff line change
@@ -1,5 +1,6 @@
package com.arextest.web.model.dao.mongodb;

import java.util.Date;
import java.util.List;
import lombok.Data;
import lombok.experimental.FieldNameConstants;
@@ -9,11 +10,17 @@
@FieldNameConstants
@Document(collection = "User")
public class UserCollection extends ModelBase {

private String userName;
private String verificationCode;
private Long verificationTime;
private String profile;
private List<String> favoriteApps;
private Integer status;
private List<Activity> activities;

@Data
public static class Activity {
private Date date;
private String type;
}
}
Original file line number Diff line number Diff line change
@@ -23,4 +23,6 @@ public interface UserMapper {
QueryUserFavoriteAppResponseType queryUserFavoriteAppFromDto(UserDto dto);

UserDto dtoFromModifyUserFavoriteApp(ModifyUserFavoriteAppRequestType request);

UserCollection.Activity activityDaoFromDto(UserDto.Activity dto);
}

0 comments on commit 21c5c57

Please sign in to comment.