Commit 4f14c5ed authored by xuxin's avatar xuxin

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

parent d3b6e6d7
......@@ -9,4 +9,6 @@ import com.edgec.browserbackend.browser.domain.WinHistory;
*/
public interface BrowserWinLogRepositoryCustom {
void addWinLog(String username, WinHistory winHistory);
void deleteBeforeWinLog(String username, int daysBefore);
}
......@@ -6,8 +6,13 @@ import org.bson.Document;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.data.mongodb.core.MongoTemplate;
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 java.time.Instant;
import java.time.temporal.ChronoUnit;
import static org.springframework.data.mongodb.core.query.Criteria.where;
/**
......@@ -26,8 +31,18 @@ public class BrowserWinLogRepositoryCustomImpl implements BrowserWinLogRepositor
basicQuery.addCriteria(where("_id").is(username));
Update update = new Update();
update.set("_id", username);
update.push("list", winHistory);
update.addToSet("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);
}
}
......@@ -148,6 +148,7 @@ public class HistoryServiceImpl implements HistoryService {
@Override
public void addBrowserWinLog(String username, WinHistory winHistory) {
browserWinLogRepository.deleteBeforeWinLog(username, 7);
browserWinLogRepository.addWinLog(username, winHistory);
}
}
......@@ -88,7 +88,7 @@ public class VpsServiceImpl implements VpsService {
"use redirection server name:i:0\n" +
"rdgiskdcproxy:i:0\n" +
"kdcproxyname:s:\n" +
"drivestoredirect:s:C:\\:s:D:\\\n" +
"drivestoredirect:s:C:\\;D:\\\n" +
"username:s:#VPS_USER#\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