Commit 358ce5c8 authored by Administrator's avatar Administrator

Merge branch 'staging' into 'master'

Staging

See merge request !169
parents 66826d80 651181c8
...@@ -17,7 +17,7 @@ import java.util.List; ...@@ -17,7 +17,7 @@ import java.util.List;
@RestController @RestController
@RequestMapping("/payback") @RequestMapping("/payback")
public class PayBackServiceController { public class PayBackController {
@Autowired @Autowired
private PayBackService payBackService; private PayBackService payBackService;
......
package com.edgec.browserbackend.browser.controller; package com.edgec.browserbackend.browser.controller;
import com.edgec.browserbackend.account.dto.ResultDto; import com.edgec.browserbackend.account.dto.ResultDto;
import com.edgec.browserbackend.browser.domain.WinHistory;
import com.edgec.browserbackend.browser.dto.HistoryListRequestDto; import com.edgec.browserbackend.browser.dto.HistoryListRequestDto;
import com.edgec.browserbackend.browser.dto.LoginHistoryDto; import com.edgec.browserbackend.browser.dto.LoginHistoryDto;
import com.edgec.browserbackend.browser.dto.OperationHistoryDto; import com.edgec.browserbackend.browser.dto.OperationHistoryDto;
import com.edgec.browserbackend.browser.service.HistoryService; import com.edgec.browserbackend.browser.service.HistoryService;
import com.edgec.browserbackend.common.commons.error.ClientRequestException; import com.edgec.browserbackend.common.commons.error.ClientRequestException;
import org.springframework.beans.factory.annotation.Autowired; import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.RequestBody; import org.springframework.web.bind.annotation.*;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RequestMethod;
import org.springframework.web.bind.annotation.RestController;
import java.security.Principal; import java.security.Principal;
import java.time.Instant;
import java.util.HashMap; import java.util.HashMap;
import java.util.Map; import java.util.Map;
...@@ -71,6 +70,12 @@ public class HistoryController { ...@@ -71,6 +70,12 @@ public class HistoryController {
return resultDto; return resultDto;
} }
@PostMapping("/url/add")
public void addWinlog(Principal principal, @RequestBody String urlRecord) {
WinHistory winHistory = new WinHistory(Instant.now().toEpochMilli(), urlRecord);
historyService.addBrowserWinLog(principal.getName(), winHistory);
}
private void dealClientRequestException(ResultDto resultDto, ClientRequestException e) { private void dealClientRequestException(ResultDto resultDto, ClientRequestException e) {
resultDto.setStatus(-1); resultDto.setStatus(-1);
Map<String, Object> statusInfo = new HashMap<>(); Map<String, Object> statusInfo = new HashMap<>();
......
package com.edgec.browserbackend.browser.domain;
import lombok.Data;
import org.springframework.data.annotation.Id;
import org.springframework.data.mongodb.core.mapping.Document;
import java.util.List;
/**
* @author xuxin
* @date 2020/9/4 15:40
* @description
*/
@Data
@Document(collection = "browserwinlog")
public class BrowserWinLog {
@Id
private String userId;
private List<WinHistory> list;
}
package com.edgec.browserbackend.browser.domain;
import lombok.AllArgsConstructor;
import lombok.Data;
import lombok.NoArgsConstructor;
/**
* @author xuxin
* @date 2020/9/4 15:42
* @description
*/
@Data
@NoArgsConstructor
@AllArgsConstructor
public class WinHistory {
private long time;
private String record;
}
package com.edgec.browserbackend.browser.repository;
import com.edgec.browserbackend.browser.domain.BrowserWinLog;
import org.springframework.data.mongodb.repository.MongoRepository;
/**
* @author xuxin
* @date 2020/9/4 15:55
* @description
*/
public interface BrowserWinLogRepository extends MongoRepository<BrowserWinLog, String>, BrowserWinLogRepositoryCustom {
}
package com.edgec.browserbackend.browser.repository;
import com.edgec.browserbackend.browser.domain.WinHistory;
/**
* @author xuxin
* @date 2020/9/4 15:56
* @description
*/
public interface BrowserWinLogRepositoryCustom {
void addWinLog(String username, WinHistory winHistory);
}
package com.edgec.browserbackend.browser.repository;
import com.edgec.browserbackend.browser.domain.BrowserWinLog;
import com.edgec.browserbackend.browser.domain.WinHistory;
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.Update;
import static org.springframework.data.mongodb.core.query.Criteria.where;
/**
* @author xuxin
* @date 2020/9/4 15:56
* @description
*/
public class BrowserWinLogRepositoryCustomImpl implements BrowserWinLogRepositoryCustom {
@Autowired
MongoTemplate mongoTemplate;
@Override
public void addWinLog(String username, WinHistory winHistory) {
Document doc = new Document();
BasicQuery basicQuery = new BasicQuery(doc);
basicQuery.addCriteria(where("_id").is(username));
Update update = new Update();
update.set("_id", username);
update.push("list", winHistory);
mongoTemplate.upsert(basicQuery, update, BrowserWinLog.class);
}
}
package com.edgec.browserbackend.browser.service; package com.edgec.browserbackend.browser.service;
import com.edgec.browserbackend.browser.domain.LoginHistory; import com.edgec.browserbackend.browser.domain.WinHistory;
import com.edgec.browserbackend.browser.domain.OperationHistory;
import com.edgec.browserbackend.browser.dto.HistoryListRequestDto; import com.edgec.browserbackend.browser.dto.HistoryListRequestDto;
import com.edgec.browserbackend.browser.dto.HistoryPageResultDto; import com.edgec.browserbackend.browser.dto.HistoryPageResultDto;
import com.edgec.browserbackend.browser.dto.LoginHistoryDto; import com.edgec.browserbackend.browser.dto.LoginHistoryDto;
import com.edgec.browserbackend.browser.dto.OperationHistoryDto; import com.edgec.browserbackend.browser.dto.OperationHistoryDto;
import org.springframework.data.domain.Page;
import java.util.List;
public interface HistoryService { public interface HistoryService {
...@@ -20,4 +16,6 @@ public interface HistoryService { ...@@ -20,4 +16,6 @@ public interface HistoryService {
HistoryPageResultDto getOperationHistories(String username, HistoryListRequestDto historyListRequestDto); HistoryPageResultDto getOperationHistories(String username, HistoryListRequestDto historyListRequestDto);
void addBrowserWinLog(String username, WinHistory winHistory);
} }
...@@ -5,7 +5,9 @@ import com.edgec.browserbackend.account.exception.AccountErrorCode; ...@@ -5,7 +5,9 @@ import com.edgec.browserbackend.account.exception.AccountErrorCode;
import com.edgec.browserbackend.account.repository.AccountRepository; import com.edgec.browserbackend.account.repository.AccountRepository;
import com.edgec.browserbackend.browser.domain.LoginHistory; import com.edgec.browserbackend.browser.domain.LoginHistory;
import com.edgec.browserbackend.browser.domain.OperationHistory; import com.edgec.browserbackend.browser.domain.OperationHistory;
import com.edgec.browserbackend.browser.domain.WinHistory;
import com.edgec.browserbackend.browser.dto.*; import com.edgec.browserbackend.browser.dto.*;
import com.edgec.browserbackend.browser.repository.BrowserWinLogRepository;
import com.edgec.browserbackend.browser.repository.LoginHistoryRepository; import com.edgec.browserbackend.browser.repository.LoginHistoryRepository;
import com.edgec.browserbackend.browser.repository.OperationHistoryRepository; import com.edgec.browserbackend.browser.repository.OperationHistoryRepository;
import com.edgec.browserbackend.browser.service.HistoryService; import com.edgec.browserbackend.browser.service.HistoryService;
...@@ -33,6 +35,9 @@ public class HistoryServiceImpl implements HistoryService { ...@@ -33,6 +35,9 @@ public class HistoryServiceImpl implements HistoryService {
@Autowired @Autowired
private OperationHistoryRepository operationHistoryRepository; private OperationHistoryRepository operationHistoryRepository;
@Autowired
private BrowserWinLogRepository browserWinLogRepository;
@Override @Override
public void addLoginHistory(String username, LoginHistoryDto loginHistoryDto) { public void addLoginHistory(String username, LoginHistoryDto loginHistoryDto) {
...@@ -140,4 +145,9 @@ public class HistoryServiceImpl implements HistoryService { ...@@ -140,4 +145,9 @@ public class HistoryServiceImpl implements HistoryService {
historyPageResultDto.setHistoryPage(pageInfo); historyPageResultDto.setHistoryPage(pageInfo);
return historyPageResultDto; return historyPageResultDto;
} }
@Override
public void addBrowserWinLog(String username, WinHistory winHistory) {
browserWinLogRepository.addWinLog(username, winHistory);
}
} }
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