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;
@RestController
@RequestMapping("/payback")
public class PayBackServiceController {
public class PayBackController {
@Autowired
private PayBackService payBackService;
......
package com.edgec.browserbackend.browser.controller;
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.LoginHistoryDto;
import com.edgec.browserbackend.browser.dto.OperationHistoryDto;
import com.edgec.browserbackend.browser.service.HistoryService;
import com.edgec.browserbackend.common.commons.error.ClientRequestException;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.RequestBody;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RequestMethod;
import org.springframework.web.bind.annotation.RestController;
import org.springframework.web.bind.annotation.*;
import java.security.Principal;
import java.time.Instant;
import java.util.HashMap;
import java.util.Map;
......@@ -71,6 +70,12 @@ public class HistoryController {
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) {
resultDto.setStatus(-1);
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;
import com.edgec.browserbackend.browser.domain.LoginHistory;
import com.edgec.browserbackend.browser.domain.OperationHistory;
import com.edgec.browserbackend.browser.domain.WinHistory;
import com.edgec.browserbackend.browser.dto.HistoryListRequestDto;
import com.edgec.browserbackend.browser.dto.HistoryPageResultDto;
import com.edgec.browserbackend.browser.dto.LoginHistoryDto;
import com.edgec.browserbackend.browser.dto.OperationHistoryDto;
import org.springframework.data.domain.Page;
import java.util.List;
public interface HistoryService {
......@@ -20,4 +16,6 @@ public interface HistoryService {
HistoryPageResultDto getOperationHistories(String username, HistoryListRequestDto historyListRequestDto);
void addBrowserWinLog(String username, WinHistory winHistory);
}
......@@ -5,7 +5,9 @@ import com.edgec.browserbackend.account.exception.AccountErrorCode;
import com.edgec.browserbackend.account.repository.AccountRepository;
import com.edgec.browserbackend.browser.domain.LoginHistory;
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.repository.BrowserWinLogRepository;
import com.edgec.browserbackend.browser.repository.LoginHistoryRepository;
import com.edgec.browserbackend.browser.repository.OperationHistoryRepository;
import com.edgec.browserbackend.browser.service.HistoryService;
......@@ -33,6 +35,9 @@ public class HistoryServiceImpl implements HistoryService {
@Autowired
private OperationHistoryRepository operationHistoryRepository;
@Autowired
private BrowserWinLogRepository browserWinLogRepository;
@Override
public void addLoginHistory(String username, LoginHistoryDto loginHistoryDto) {
......@@ -140,4 +145,9 @@ public class HistoryServiceImpl implements HistoryService {
historyPageResultDto.setHistoryPage(pageInfo);
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