Commit 4f14c5ed authored by xuxin's avatar xuxin

用户打开店铺记录在保存记录的同时删除过期的记录

parent d3b6e6d7
...@@ -9,4 +9,6 @@ import com.edgec.browserbackend.browser.domain.WinHistory; ...@@ -9,4 +9,6 @@ import com.edgec.browserbackend.browser.domain.WinHistory;
*/ */
public interface BrowserWinLogRepositoryCustom { public interface BrowserWinLogRepositoryCustom {
void addWinLog(String username, WinHistory winHistory); void addWinLog(String username, WinHistory winHistory);
void deleteBeforeWinLog(String username, int daysBefore);
} }
...@@ -6,8 +6,13 @@ import org.bson.Document; ...@@ -6,8 +6,13 @@ import org.bson.Document;
import org.springframework.beans.factory.annotation.Autowired; import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.data.mongodb.core.MongoTemplate; import org.springframework.data.mongodb.core.MongoTemplate;
import org.springframework.data.mongodb.core.query.BasicQuery; import org.springframework.data.mongodb.core.query.BasicQuery;
import org.springframework.data.mongodb.core.query.Criteria;
import org.springframework.data.mongodb.core.query.Query;
import org.springframework.data.mongodb.core.query.Update; import org.springframework.data.mongodb.core.query.Update;
import java.time.Instant;
import java.time.temporal.ChronoUnit;
import static org.springframework.data.mongodb.core.query.Criteria.where; import static org.springframework.data.mongodb.core.query.Criteria.where;
/** /**
...@@ -26,8 +31,18 @@ public class BrowserWinLogRepositoryCustomImpl implements BrowserWinLogRepositor ...@@ -26,8 +31,18 @@ public class BrowserWinLogRepositoryCustomImpl implements BrowserWinLogRepositor
basicQuery.addCriteria(where("_id").is(username)); basicQuery.addCriteria(where("_id").is(username));
Update update = new Update(); Update update = new Update();
update.set("_id", username); update.addToSet("list", winHistory);
update.push("list", winHistory); mongoTemplate.upsert(basicQuery, update, BrowserWinLog.class);
}
@Override
public void deleteBeforeWinLog(String username, int daysBefore) {
Document doc = new Document();
BasicQuery basicQuery = new BasicQuery(doc);
basicQuery.addCriteria(where("_id").is(username));
Update update = new Update();
update.pull("list", Query.query(Criteria.where("time").lte(Instant.now().minus(daysBefore, ChronoUnit.DAYS).toEpochMilli())));
mongoTemplate.upsert(basicQuery, update, BrowserWinLog.class); mongoTemplate.upsert(basicQuery, update, BrowserWinLog.class);
} }
} }
...@@ -148,6 +148,7 @@ public class HistoryServiceImpl implements HistoryService { ...@@ -148,6 +148,7 @@ public class HistoryServiceImpl implements HistoryService {
@Override @Override
public void addBrowserWinLog(String username, WinHistory winHistory) { public void addBrowserWinLog(String username, WinHistory winHistory) {
browserWinLogRepository.deleteBeforeWinLog(username, 7);
browserWinLogRepository.addWinLog(username, winHistory); browserWinLogRepository.addWinLog(username, winHistory);
} }
} }
...@@ -88,7 +88,7 @@ public class VpsServiceImpl implements VpsService { ...@@ -88,7 +88,7 @@ public class VpsServiceImpl implements VpsService {
"use redirection server name:i:0\n" + "use redirection server name:i:0\n" +
"rdgiskdcproxy:i:0\n" + "rdgiskdcproxy:i:0\n" +
"kdcproxyname:s:\n" + "kdcproxyname:s:\n" +
"drivestoredirect:s:C:\\:s:D:\\\n" + "drivestoredirect:s:C:\\;D:\\\n" +
"username:s:#VPS_USER#\n" + "username:s:#VPS_USER#\n" +
"password 51:b:#VPS_PASSWORD#\n"; "password 51:b:#VPS_PASSWORD#\n";
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment