Commit 434151c9 authored by renjie's avatar renjie

browser-backend

parent 2d4ae736
...@@ -129,6 +129,29 @@ ...@@ -129,6 +129,29 @@
<version>1.2.62</version> <version>1.2.62</version>
</dependency> </dependency>
<dependency>
<groupId>org.apache.httpcomponents</groupId>
<artifactId>httpclient</artifactId>
<version>4.5.3</version>
</dependency>
<dependency>
<groupId>joda-time</groupId>
<artifactId>joda-time</artifactId>
<version>2.10.3</version>
</dependency>
<dependency>
<groupId>org.elasticsearch.client</groupId>
<artifactId>elasticsearch-rest-high-level-client</artifactId>
<version>7.4.0</version>
<scope>provided</scope>
</dependency>
<dependency>
<groupId>org.elasticsearch</groupId>
<artifactId>elasticsearch</artifactId>
<version>7.4.0</version>
<scope>provided</scope>
</dependency>
</dependencies> </dependencies>
......
package com.edgec.browserbackend.controller.account; package com.edgec.browserbackend.account.controller;
import com.edgec.browserbackend.account.domain.*; import com.edgec.browserbackend.account.domain.*;
import com.edgec.browserbackend.domain.account.*; import com.edgec.browserbackend.account.dto.BillQueryCriteriaDto;
import com.edgec.browserbackend.dto.BillQueryCriteriaDto;
import com.edgec.browserbackend.common.auth.Securitys; import com.edgec.browserbackend.common.auth.Securitys;
import com.edgec.browserbackend.common.commons.utils.DateConverter; import com.edgec.browserbackend.common.commons.utils.DateConverter;
import com.edgec.browserbackend.service.account.AccountService; import com.edgec.browserbackend.account.service.AccountService;
import com.edgec.browserbackend.service.account.AlipayCertificationService; import com.edgec.browserbackend.account.service.EmailService;
import com.edgec.browserbackend.service.account.EmailService; import com.edgec.browserbackend.account.service.PaymentService;
import com.edgec.browserbackend.service.account.PaymentService;
import org.apache.commons.lang3.StringUtils; import org.apache.commons.lang3.StringUtils;
import org.apache.commons.lang3.time.DateUtils; import org.apache.commons.lang3.time.DateUtils;
import org.slf4j.Logger; import org.slf4j.Logger;
...@@ -47,9 +45,6 @@ public class AccountController { ...@@ -47,9 +45,6 @@ public class AccountController {
@Autowired @Autowired
private EmailService emailService; private EmailService emailService;
@Autowired
private AlipayCertificationService alipayCertificationService;
private static final Logger logger = LoggerFactory.getLogger(AccountController.class); private static final Logger logger = LoggerFactory.getLogger(AccountController.class);
@PreAuthorize("#oauth2.hasScope('server')") @PreAuthorize("#oauth2.hasScope('server')")
...@@ -282,13 +277,6 @@ public class AccountController { ...@@ -282,13 +277,6 @@ public class AccountController {
return accountService.getUserPayment(pageable, principal.getName()); return accountService.getUserPayment(pageable, principal.getName());
} }
@RequestMapping(path = "/queryauthresult", method = RequestMethod.GET)
public List<String> queryAuthResult(@RequestParam(value = "shortUrl") String shortUrl,
@RequestParam(value = "type") String type,
Principal principal) {
return alipayCertificationService.queryAuthenticationResults(principal.getName(), shortUrl, type);
}
@RequestMapping(path = "/wirteinvoice", method = RequestMethod.POST) @RequestMapping(path = "/wirteinvoice", method = RequestMethod.POST)
public boolean writeInvoice(Principal principal, @RequestBody Invoice invoice) { public boolean writeInvoice(Principal principal, @RequestBody Invoice invoice) {
......
package com.edgec.browserbackend.controller.account; package com.edgec.browserbackend.account.controller;
import com.edgec.browserbackend.exception.AccountErrorCode; import com.edgec.browserbackend.account.exception.AccountErrorCode;
import com.edgec.browserbackend.common.commons.error.ApiError; import com.edgec.browserbackend.common.commons.error.ApiError;
import com.edgec.browserbackend.common.commons.error.ClientRequestException; import com.edgec.browserbackend.common.commons.error.ClientRequestException;
import com.edgec.browserbackend.common.commons.error.InternalServerErrorException; import com.edgec.browserbackend.common.commons.error.InternalServerErrorException;
...@@ -17,7 +17,7 @@ import org.springframework.web.context.request.WebRequest; ...@@ -17,7 +17,7 @@ import org.springframework.web.context.request.WebRequest;
import org.springframework.web.servlet.mvc.method.annotation.ResponseEntityExceptionHandler; import org.springframework.web.servlet.mvc.method.annotation.ResponseEntityExceptionHandler;
@ControllerAdvice @ControllerAdvice
public class ErrorHandler extends ResponseEntityExceptionHandler { public class AccountErrorHandler extends ResponseEntityExceptionHandler {
private final Logger log = LoggerFactory.getLogger(getClass()); private final Logger log = LoggerFactory.getLogger(getClass());
......
package com.edgec.browserbackend.controller.account; package com.edgec.browserbackend.account.controller;
import com.edgec.browserbackend.account.service.*;
import com.edgec.browserbackend.account.domain.*; import com.edgec.browserbackend.account.domain.*;
import com.edgec.browserbackend.domain.account.*;
import com.edgec.browserbackend.common.auth.Securitys; import com.edgec.browserbackend.common.auth.Securitys;
import com.edgec.browserbackend.service.account.*;
import org.springframework.beans.factory.annotation.Autowired; import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.data.domain.Page; import org.springframework.data.domain.Page;
import org.springframework.data.domain.PageRequest; import org.springframework.data.domain.PageRequest;
......
package com.edgec.browserbackend.controller.account; package com.edgec.browserbackend.account.controller;
import com.edgec.browserbackend.exception.AccountErrorCode; import com.edgec.browserbackend.account.exception.AccountErrorCode;
import com.edgec.browserbackend.common.commons.error.ClientRequestException; import com.edgec.browserbackend.common.commons.error.ClientRequestException;
import org.apache.commons.lang3.StringUtils; import org.apache.commons.lang3.StringUtils;
......
package com.edgec.browserbackend.domain.account; package com.edgec.browserbackend.account.domain;
import com.fasterxml.jackson.annotation.JsonIgnoreProperties; import com.fasterxml.jackson.annotation.JsonIgnoreProperties;
import org.hibernate.validator.constraints.Length; import org.hibernate.validator.constraints.Length;
...@@ -42,8 +42,6 @@ public class Account { ...@@ -42,8 +42,6 @@ public class Account {
private boolean isPrePaid = true; private boolean isPrePaid = true;
private boolean isVpsUser = false;
private String token; private String token;
/** /**
...@@ -59,14 +57,6 @@ public class Account { ...@@ -59,14 +57,6 @@ public class Account {
isQualified = qualified; isQualified = qualified;
} }
public boolean isVpsUser() {
return isVpsUser;
}
public void setVpsUser(boolean vpsUser) {
isVpsUser = vpsUser;
}
public int getIprate() { public int getIprate() {
return iprate; return iprate;
} }
......
package com.edgec.browserbackend.domain.account; package com.edgec.browserbackend.account.domain;
import java.util.ArrayList; import java.util.ArrayList;
import java.util.Date; import java.util.Date;
...@@ -42,10 +42,6 @@ public class AccountDto { ...@@ -42,10 +42,6 @@ public class AccountDto {
private String parent; private String parent;
private String realName;
private String idCard;
private String token; private String token;
public AccountDto(){ public AccountDto(){
...@@ -59,14 +55,11 @@ public class AccountDto { ...@@ -59,14 +55,11 @@ public class AccountDto {
this.setCompanyName(account.getCompanyName()); this.setCompanyName(account.getCompanyName());
this.setCountry(account.getCountry()); this.setCountry(account.getCountry());
this.setEmail(account.getEmail()); this.setEmail(account.getEmail());
this.setFullname(account.getFullname());
this.setJobTitle(account.getJobTitle()); this.setJobTitle(account.getJobTitle());
this.setPhoneNumber(account.getPhoneNumber()); this.setPhoneNumber(account.getPhoneNumber());
this.setProvince(account.getProvince()); this.setProvince(account.getProvince());
this.setUserServices(account.getUserServices()); this.setUserServices(account.getUserServices());
this.setParent(account.getParent()); this.setParent(account.getParent());
this.setRealName(account.getRealName());
this.setIdCard(account.getIdCard());
this.setToken(account.getToken()); this.setToken(account.getToken());
} }
...@@ -225,21 +218,6 @@ public class AccountDto { ...@@ -225,21 +218,6 @@ public class AccountDto {
this.parent = parent; this.parent = parent;
} }
public String getRealName() {
return realName;
}
public void setRealName(String realName) {
this.realName = realName;
}
public String getIdCard() {
return idCard;
}
public void setIdCard(String idCard) {
this.idCard = idCard;
}
public String getToken() { public String getToken() {
return token; return token;
......
package com.edgec.browserbackend.domain.account; package com.edgec.browserbackend.account.domain;
public enum AccountServerUsingStatus { public enum AccountServerUsingStatus {
......
package com.edgec.browserbackend.domain.account; package com.edgec.browserbackend.account.domain;
import com.fasterxml.jackson.annotation.JsonIgnoreProperties; import com.fasterxml.jackson.annotation.JsonIgnoreProperties;
import org.springframework.data.annotation.Id; import org.springframework.data.annotation.Id;
......
package com.edgec.browserbackend.domain.account; package com.edgec.browserbackend.account.domain;
public enum BillStatus { public enum BillStatus {
NOTCREATED, NOTCREATED,
......
package com.edgec.browserbackend.domain.account; package com.edgec.browserbackend.account.domain;
public class CloudAccountDto { public class CloudAccountDto {
......
package com.edgec.browserbackend.domain.account; package com.edgec.browserbackend.account.domain;
import com.edgec.browserbackend.service.account.SmsUtils; import com.edgec.browserbackend.account.service.SmsUtils;
import com.fasterxml.jackson.annotation.JsonIgnoreProperties; import com.fasterxml.jackson.annotation.JsonIgnoreProperties;
import org.springframework.data.annotation.Id; import org.springframework.data.annotation.Id;
import org.springframework.data.mongodb.core.mapping.Document; import org.springframework.data.mongodb.core.mapping.Document;
......
package com.edgec.browserbackend.domain.account; package com.edgec.browserbackend.account.domain;
public class CompanyEarningsDto { public class CompanyEarningsDto {
......
package com.edgec.browserbackend.domain.account; package com.edgec.browserbackend.account.domain;
import org.springframework.data.mongodb.core.mapping.Document; import org.springframework.data.mongodb.core.mapping.Document;
......
package com.edgec.browserbackend.domain.account; package com.edgec.browserbackend.account.domain;
public class ContactUs { public class ContactUs {
......
package com.edgec.browserbackend.domain.account; package com.edgec.browserbackend.account.domain;
public enum Currency { public enum Currency {
......
package com.edgec.browserbackend.domain.account; package com.edgec.browserbackend.account.domain;
public class DeductionRecord { public class DeductionRecord {
......
package com.edgec.browserbackend.domain.account; package com.edgec.browserbackend.account.domain;
public enum EarningsStatus { public enum EarningsStatus {
......
package com.edgec.browserbackend.domain.account; package com.edgec.browserbackend.account.domain;
import org.springframework.data.mongodb.core.mapping.Document; import org.springframework.data.mongodb.core.mapping.Document;
......
package com.edgec.browserbackend.domain.account; package com.edgec.browserbackend.account.domain;
public enum InvoiceType { public enum InvoiceType {
......
package com.edgec.browserbackend.domain.account; package com.edgec.browserbackend.account.domain;
public class IpChargeRequestDto { public class IpChargeRequestDto {
private int period; private int period;
......
package com.edgec.browserbackend.domain.account; package com.edgec.browserbackend.account.domain;
public class IpChargeResultDto { public class IpChargeResultDto {
......
package com.edgec.browserbackend.domain.account; package com.edgec.browserbackend.account.domain;
import com.fasterxml.jackson.annotation.JsonIgnoreProperties; import com.fasterxml.jackson.annotation.JsonIgnoreProperties;
import org.springframework.data.annotation.Id; import org.springframework.data.annotation.Id;
......
package com.edgec.browserbackend.domain.account; package com.edgec.browserbackend.account.domain;
public enum PaymentMethod { public enum PaymentMethod {
......
package com.edgec.browserbackend.domain.account; package com.edgec.browserbackend.account.domain;
import com.fasterxml.jackson.annotation.JsonIgnoreProperties; import com.fasterxml.jackson.annotation.JsonIgnoreProperties;
import org.springframework.data.annotation.Id; import org.springframework.data.annotation.Id;
......
package com.edgec.browserbackend.domain.account; package com.edgec.browserbackend.account.domain;
import com.fasterxml.jackson.annotation.JsonIgnoreProperties; import com.fasterxml.jackson.annotation.JsonIgnoreProperties;
import org.springframework.data.annotation.Id; import org.springframework.data.annotation.Id;
......
package com.edgec.browserbackend.domain.account; package com.edgec.browserbackend.account.domain;
public enum ServiceType { public enum ServiceType {
TRIAL, TRIAL,
......
package com.edgec.browserbackend.domain.account; package com.edgec.browserbackend.account.domain;
public enum Services { public enum Services {
......
package com.edgec.browserbackend.domain.account; package com.edgec.browserbackend.account.domain;
public enum TimePeriod { public enum TimePeriod {
......
package com.edgec.browserbackend.domain.account; package com.edgec.browserbackend.account.domain;
import org.hibernate.validator.constraints.Length; import org.hibernate.validator.constraints.Length;
......
package com.edgec.browserbackend.domain.account; package com.edgec.browserbackend.account.domain;
import com.fasterxml.jackson.annotation.JsonIgnoreProperties; import com.fasterxml.jackson.annotation.JsonIgnoreProperties;
......
package com.edgec.browserbackend.domain.account; package com.edgec.browserbackend.account.domain;
public class UserBillDto { public class UserBillDto {
......
package com.edgec.browserbackend.domain.account; package com.edgec.browserbackend.account.domain;
import java.util.ArrayList; import java.util.ArrayList;
import java.util.List; import java.util.List;
......
package com.edgec.browserbackend.domain.account; package com.edgec.browserbackend.account.domain;
import com.fasterxml.jackson.annotation.JsonIgnoreProperties; import com.fasterxml.jackson.annotation.JsonIgnoreProperties;
import org.springframework.data.annotation.Id; import org.springframework.data.annotation.Id;
......
package com.edgec.browserbackend.domain.account; package com.edgec.browserbackend.account.domain;
import com.fasterxml.jackson.annotation.JsonIgnoreProperties; import com.fasterxml.jackson.annotation.JsonIgnoreProperties;
......
package com.edgec.browserbackend.domain.account; package com.edgec.browserbackend.account.domain;
import com.fasterxml.jackson.annotation.JsonIgnoreProperties; import com.fasterxml.jackson.annotation.JsonIgnoreProperties;
import org.springframework.data.annotation.Id; import org.springframework.data.annotation.Id;
......
package com.edgec.browserbackend.domain.account; package com.edgec.browserbackend.account.domain;
import org.codehaus.jackson.annotate.JsonIgnoreProperties;
import com.fasterxml.jackson.annotation.JsonIgnoreProperties;
import java.util.List; import java.util.List;
......
package com.edgec.browserbackend.domain.account; package com.edgec.browserbackend.account.domain;
import com.edgec.browserbackend.service.account.SmsUtils; import com.edgec.browserbackend.account.service.SmsUtils;
import com.fasterxml.jackson.annotation.JsonIgnoreProperties; import com.fasterxml.jackson.annotation.JsonIgnoreProperties;
import org.springframework.data.annotation.Id; import org.springframework.data.annotation.Id;
import org.springframework.data.mongodb.core.mapping.Document; import org.springframework.data.mongodb.core.mapping.Document;
......
package com.edgec.browserbackend.domain.account; package com.edgec.browserbackend.account.domain;
public class UserPaymentDto { public class UserPaymentDto {
......
package com.edgec.browserbackend.domain.account; package com.edgec.browserbackend.account.domain;
import com.fasterxml.jackson.annotation.JsonIgnoreProperties; import com.fasterxml.jackson.annotation.JsonIgnoreProperties;
import org.apache.commons.lang3.StringUtils; import org.apache.commons.lang3.StringUtils;
......
package com.edgec.browserbackend.domain.account; package com.edgec.browserbackend.account.domain;
public class UserPrePaidBillingDto { public class UserPrePaidBillingDto {
......
package com.edgec.browserbackend.domain.account; package com.edgec.browserbackend.account.domain;
import com.fasterxml.jackson.annotation.JsonIgnoreProperties; import com.fasterxml.jackson.annotation.JsonIgnoreProperties;
import org.springframework.data.annotation.Id; import org.springframework.data.annotation.Id;
......
package com.edgec.browserbackend.domain.account; package com.edgec.browserbackend.account.domain;
import java.util.Date; import java.util.Date;
......
package com.edgec.browserbackend.dto; package com.edgec.browserbackend.account.dto;
import com.edgec.browserbackend.account.domain.BillStatus;
import com.edgec.browserbackend.domain.account.BillStatus; import com.edgec.browserbackend.account.domain.Services;
import com.edgec.browserbackend.domain.account.Services;
import java.util.ArrayList; import java.util.ArrayList;
import java.util.Arrays; import java.util.Arrays;
......
package com.edgec.browserbackend.dto; package com.edgec.browserbackend.account.dto;
// 购买,续费云主机时参数 // 购买,续费云主机时参数
public class CvmChargeRegion { public class CvmChargeRegion {
......
package com.edgec.browserbackend.exception; package com.edgec.browserbackend.account.exception;
import com.edgec.browserbackend.common.commons.error.ErrorCode; import com.edgec.browserbackend.common.commons.error.ErrorCode;
import com.fasterxml.jackson.annotation.JsonValue; import com.fasterxml.jackson.annotation.JsonValue;
......
package com.edgec.browserbackend.repository; package com.edgec.browserbackend.account.repository;
import com.edgec.browserbackend.domain.account.Account; import com.edgec.browserbackend.account.domain.Account;
import org.springframework.data.domain.Page; import org.springframework.data.domain.Page;
import org.springframework.data.domain.Pageable; import org.springframework.data.domain.Pageable;
import org.springframework.data.mongodb.repository.MongoRepository; import org.springframework.data.mongodb.repository.MongoRepository;
...@@ -22,15 +22,7 @@ public interface AccountRepository extends MongoRepository<Account, String>, Acc ...@@ -22,15 +22,7 @@ public interface AccountRepository extends MongoRepository<Account, String>, Acc
Page<Account> findByParentIsNull(Pageable request); Page<Account> findByParentIsNull(Pageable request);
List<Account> findByAgencyID(String AgencyID);
Page<Account> findAllBySignupDateBetween(Pageable pageable, Date startDate, Date endDate); Page<Account> findAllBySignupDateBetween(Pageable pageable, Date startDate, Date endDate);
Page<Account> findAll(Pageable pageable); Page<Account> findAll(Pageable pageable);
Page<Account> findBySignupDateBetweenAndIsVpsUser(Pageable pageable, Date beginDate, Date endDate, boolean isVpsUser);
Account findByNameAndIsVpsUser(String name, boolean isVpsUser);
List<Account> findByIdCard(String idCard);
} }
package com.edgec.browserbackend.repository; package com.edgec.browserbackend.account.repository;
import java.util.List; import java.util.List;
......
package com.edgec.browserbackend.repository; package com.edgec.browserbackend.account.repository;
import com.edgec.browserbackend.domain.account.Account; import com.edgec.browserbackend.account.domain.Account;
import org.bson.Document; 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;
......
package com.edgec.browserbackend.repository; package com.edgec.browserbackend.account.repository;
import com.edgec.browserbackend.domain.account.Administrator; import com.edgec.browserbackend.account.domain.Administrator;
import org.springframework.data.mongodb.repository.MongoRepository; import org.springframework.data.mongodb.repository.MongoRepository;
import org.springframework.stereotype.Repository; import org.springframework.stereotype.Repository;
......
package com.edgec.browserbackend.repository; package com.edgec.browserbackend.account.repository;
import com.edgec.browserbackend.domain.account.CloudUserOrder; import com.edgec.browserbackend.account.domain.CloudUserOrder;
import org.springframework.data.mongodb.repository.MongoRepository; import org.springframework.data.mongodb.repository.MongoRepository;
import org.springframework.stereotype.Repository; import org.springframework.stereotype.Repository;
......
package com.edgec.browserbackend.repository; package com.edgec.browserbackend.account.repository;
import com.edgec.browserbackend.domain.account.Invoice; import com.edgec.browserbackend.account.domain.Invoice;
import org.springframework.data.mongodb.repository.MongoRepository; import org.springframework.data.mongodb.repository.MongoRepository;
import org.springframework.stereotype.Repository; import org.springframework.stereotype.Repository;
......
package com.edgec.browserbackend.repository; package com.edgec.browserbackend.account.repository;
import com.edgec.browserbackend.domain.account.CompanyMonthReport; import com.edgec.browserbackend.account.domain.CompanyMonthReport;
import org.springframework.data.domain.Page; import org.springframework.data.domain.Page;
import org.springframework.data.domain.Pageable; import org.springframework.data.domain.Pageable;
import org.springframework.data.mongodb.repository.MongoRepository; import org.springframework.data.mongodb.repository.MongoRepository;
......
package com.edgec.browserbackend.repository; package com.edgec.browserbackend.account.repository;
import com.edgec.browserbackend.domain.account.Otp; import com.edgec.browserbackend.account.domain.Otp;
import org.springframework.data.mongodb.repository.MongoRepository; import org.springframework.data.mongodb.repository.MongoRepository;
public interface OtpRepository extends MongoRepository<Otp, String> { public interface OtpRepository extends MongoRepository<Otp, String> {
......
package com.edgec.browserbackend.repository; package com.edgec.browserbackend.account.repository;
import com.edgec.browserbackend.domain.account.PreOrder; import com.edgec.browserbackend.account.domain.PreOrder;
import org.springframework.data.mongodb.repository.MongoRepository; import org.springframework.data.mongodb.repository.MongoRepository;
import org.springframework.stereotype.Repository; import org.springframework.stereotype.Repository;
......
package com.edgec.browserbackend.repository; package com.edgec.browserbackend.account.repository;
import com.edgec.browserbackend.domain.account.RealnameAuthRecord; import com.edgec.browserbackend.account.domain.RealnameAuthRecord;
import org.springframework.data.mongodb.repository.MongoRepository; import org.springframework.data.mongodb.repository.MongoRepository;
import org.springframework.stereotype.Repository; import org.springframework.stereotype.Repository;
......
package com.edgec.browserbackend.repository; package com.edgec.browserbackend.account.repository;
public interface RealnameAuthRecordRepositoryCustom { public interface RealnameAuthRecordRepositoryCustom {
......
package com.edgec.browserbackend.repository; package com.edgec.browserbackend.account.repository;
import com.edgec.browserbackend.domain.account.RealnameAuthRecord; import com.edgec.browserbackend.account.domain.RealnameAuthRecord;
import org.bson.Document; 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;
......
package com.edgec.browserbackend.repository; package com.edgec.browserbackend.account.repository;
import com.edgec.browserbackend.domain.account.UserBalance; import com.edgec.browserbackend.account.domain.UserBalance;
import org.springframework.data.mongodb.repository.MongoRepository; import org.springframework.data.mongodb.repository.MongoRepository;
import org.springframework.stereotype.Repository; import org.springframework.stereotype.Repository;
......
package com.edgec.browserbackend.repository; package com.edgec.browserbackend.account.repository;
import com.edgec.browserbackend.domain.account.UserBalance; import com.edgec.browserbackend.account.domain.UserBalance;
public interface UserBalanceRepositoryCustom { public interface UserBalanceRepositoryCustom {
......
package com.edgec.browserbackend.repository; package com.edgec.browserbackend.account.repository;
import com.edgec.browserbackend.domain.account.UserBalance; import com.edgec.browserbackend.account.domain.UserBalance;
import org.bson.Document; 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;
......
package com.edgec.browserbackend.repository; package com.edgec.browserbackend.account.repository;
import com.edgec.browserbackend.domain.account.UserBilling; import com.edgec.browserbackend.account.domain.UserBilling;
import org.springframework.data.mongodb.repository.MongoRepository; import org.springframework.data.mongodb.repository.MongoRepository;
import org.springframework.stereotype.Repository; import org.springframework.stereotype.Repository;
......
package com.edgec.browserbackend.repository; package com.edgec.browserbackend.account.repository;
import com.edgec.browserbackend.domain.account.UserLackMoney; import com.edgec.browserbackend.account.domain.UserLackMoney;
import org.springframework.data.mongodb.repository.MongoRepository; import org.springframework.data.mongodb.repository.MongoRepository;
public interface UserLackMoneyRepository extends MongoRepository<UserLackMoney, String>, UserLackMoneyRepositoryCustom { public interface UserLackMoneyRepository extends MongoRepository<UserLackMoney, String>, UserLackMoneyRepositoryCustom {
......
package com.edgec.browserbackend.repository; package com.edgec.browserbackend.account.repository;
import com.edgec.browserbackend.domain.account.UserLackMoney; import com.edgec.browserbackend.account.domain.UserLackMoney;
import java.util.List; import java.util.List;
......
package com.edgec.browserbackend.repository; package com.edgec.browserbackend.account.repository;
import com.edgec.browserbackend.domain.account.UserLackMoney; import com.edgec.browserbackend.account.domain.UserLackMoney;
import com.mongodb.client.result.UpdateResult; import com.mongodb.client.result.UpdateResult;
import org.bson.Document; import org.bson.Document;
import org.springframework.beans.factory.annotation.Autowired; import org.springframework.beans.factory.annotation.Autowired;
......
package com.edgec.browserbackend.repository; package com.edgec.browserbackend.account.repository;
import com.edgec.browserbackend.domain.account.UserPayment; import com.edgec.browserbackend.account.domain.UserPayment;
import org.springframework.data.domain.Page; import org.springframework.data.domain.Page;
import org.springframework.data.domain.Pageable; import org.springframework.data.domain.Pageable;
import org.springframework.data.mongodb.repository.MongoRepository; import org.springframework.data.mongodb.repository.MongoRepository;
......
package com.edgec.browserbackend.repository; package com.edgec.browserbackend.account.repository;
import com.edgec.browserbackend.domain.account.UserPayment; import com.edgec.browserbackend.account.domain.UserPayment;
public interface UserPaymentRepositoryCustom { public interface UserPaymentRepositoryCustom {
......
package com.edgec.browserbackend.repository; package com.edgec.browserbackend.account.repository;
import com.edgec.browserbackend.domain.account.UserPayment; import com.edgec.browserbackend.account.domain.UserPayment;
import com.mongodb.client.result.UpdateResult; import com.mongodb.client.result.UpdateResult;
import org.bson.Document; import org.bson.Document;
import org.springframework.beans.factory.annotation.Autowired; import org.springframework.beans.factory.annotation.Autowired;
......
package com.edgec.browserbackend.repository; package com.edgec.browserbackend.account.repository;
import com.edgec.browserbackend.domain.account.BillStatus; import com.edgec.browserbackend.account.domain.BillStatus;
import com.edgec.browserbackend.domain.account.UserPrePaidBilling; import com.edgec.browserbackend.account.domain.UserPrePaidBilling;
import org.springframework.data.domain.Page; import org.springframework.data.domain.Page;
import org.springframework.data.domain.Pageable; import org.springframework.data.domain.Pageable;
import org.springframework.data.mongodb.repository.MongoRepository; import org.springframework.data.mongodb.repository.MongoRepository;
......
package com.edgec.browserbackend.repository; package com.edgec.browserbackend.account.repository;
import com.edgec.browserbackend.domain.account.BillStatus; import com.edgec.browserbackend.account.domain.BillStatus;
import com.edgec.browserbackend.domain.account.DeductionRecord; import com.edgec.browserbackend.account.domain.DeductionRecord;
import com.edgec.browserbackend.domain.account.Services; import com.edgec.browserbackend.account.domain.Services;
import com.edgec.browserbackend.domain.account.UserPrePaidBilling; import com.edgec.browserbackend.account.domain.UserPrePaidBilling;
import com.edgec.browserbackend.dto.BillQueryCriteriaDto; import com.edgec.browserbackend.account.dto.BillQueryCriteriaDto;
import org.springframework.data.domain.Page; import org.springframework.data.domain.Page;
import org.springframework.data.domain.Pageable; import org.springframework.data.domain.Pageable;
......
package com.edgec.browserbackend.repository; package com.edgec.browserbackend.account.repository;
import com.edgec.browserbackend.domain.account.BillStatus; import com.edgec.browserbackend.account.domain.BillStatus;
import com.edgec.browserbackend.domain.account.DeductionRecord; import com.edgec.browserbackend.account.domain.DeductionRecord;
import com.edgec.browserbackend.domain.account.Services; import com.edgec.browserbackend.account.domain.Services;
import com.edgec.browserbackend.domain.account.UserPrePaidBilling; import com.edgec.browserbackend.account.domain.UserPrePaidBilling;
import com.edgec.browserbackend.dto.BillQueryCriteriaDto; import com.edgec.browserbackend.account.dto.BillQueryCriteriaDto;
import com.mongodb.client.result.UpdateResult; import com.mongodb.client.result.UpdateResult;
import org.bson.Document; import org.bson.Document;
import org.springframework.beans.factory.annotation.Autowired; import org.springframework.beans.factory.annotation.Autowired;
......
package com.edgec.browserbackend.repository; package com.edgec.browserbackend.account.repository;
import com.edgec.browserbackend.domain.account.UserRate; import com.edgec.browserbackend.account.domain.UserRate;
import org.springframework.data.domain.Page; import org.springframework.data.domain.Page;
import org.springframework.data.domain.Pageable; import org.springframework.data.domain.Pageable;
import org.springframework.data.mongodb.repository.MongoRepository; import org.springframework.data.mongodb.repository.MongoRepository;
......
package com.edgec.browserbackend.service.account; package com.edgec.browserbackend.account.service;
import com.edgec.browserbackend.account.domain.*; import com.edgec.browserbackend.account.domain.*;
import com.edgec.browserbackend.domain.account.*; import com.edgec.browserbackend.account.dto.BillQueryCriteriaDto;
import com.edgec.browserbackend.dto.BillQueryCriteriaDto;
import com.edgec.browserbackend.dto.CloudUserOrderDto;
import org.springframework.data.domain.Page; import org.springframework.data.domain.Page;
import org.springframework.data.domain.Pageable; import org.springframework.data.domain.Pageable;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import java.io.IOException;
import java.util.Date; import java.util.Date;
import java.util.List; import java.util.List;
...@@ -99,8 +94,6 @@ public interface AccountService { ...@@ -99,8 +94,6 @@ public interface AccountService {
String deletePreOrder(String userName); String deletePreOrder(String userName);
boolean isIdcardAuth(String idCard, String type);
List<Invoice> findByUsername(String username); List<Invoice> findByUsername(String username);
boolean writeInvoice(Invoice invoice); boolean writeInvoice(Invoice invoice);
...@@ -109,31 +102,4 @@ public interface AccountService { ...@@ -109,31 +102,4 @@ public interface AccountService {
void updateUserToken(String username, String token); void updateUserToken(String username, String token);
String createCloudUserOrder(String username, CloudUserOrderDto cloudUserOrderDto);
CloudUserOrder queryCloudUserOrder(String username, String tradeNo);
CloudUserOrderDto queryCloudUserOrderDto(String username, String tradeNo);
List<CloudUserOrder> queryAllCloudUserOrder(String username, String service, String status);
CloudUserOrder updateCloudUserOrder(String username, String tradeNo, String status);
void updateCloudUserOrder(String tradeNo, String status);
void payCloudUserOrderByAli(HttpServletRequest request, HttpServletResponse response, String tradeNo) throws IOException;
UserPaymentDto payCloudUserOrderByWx(String username, String tradeNo);
/**
* 查询是否具有免费试用资格
* @param username 用户名
* @return 是否有资格
*/
boolean queryQualified(String username);
boolean bingdOrderWithCloudUser(String tradeNo, String username);
void removeQualified(String username);
} }
package com.edgec.browserbackend.service.account; package com.edgec.browserbackend.account.service;
import com.edgec.browserbackend.account.domain.*; import com.edgec.browserbackend.account.domain.*;
import com.edgec.browserbackend.domain.account.*;
import org.springframework.data.domain.Page; import org.springframework.data.domain.Page;
import org.springframework.data.domain.Pageable; import org.springframework.data.domain.Pageable;
......
package com.edgec.browserbackend.service.account; package com.edgec.browserbackend.account.service;
import net.sf.ehcache.Cache; import net.sf.ehcache.Cache;
import net.sf.ehcache.CacheManager; import net.sf.ehcache.CacheManager;
......
package com.edgec.browserbackend.service.account; package com.edgec.browserbackend.account.service;
public interface EmailService { public interface EmailService {
......
package com.edgec.browserbackend.service.account; package com.edgec.browserbackend.account.service;
import com.edgec.browserbackend.domain.account.CompanyMonthReport; import com.edgec.browserbackend.account.domain.CompanyMonthReport;
import org.springframework.data.domain.Page; import org.springframework.data.domain.Page;
import org.springframework.data.domain.Pageable; import org.springframework.data.domain.Pageable;
......
package com.edgec.browserbackend.service.account; package com.edgec.browserbackend.account.service;
import com.edgec.browserbackend.domain.account.UserBalance; import com.edgec.browserbackend.account.domain.UserBalance;
import com.edgec.browserbackend.domain.account.UserPaymentDto; import com.edgec.browserbackend.account.domain.UserPaymentDto;
public interface PaymentService { public interface PaymentService {
......
package com.edgec.browserbackend.service.account; package com.edgec.browserbackend.account.service;
import com.aliyuncs.CommonRequest; import com.aliyuncs.CommonRequest;
import com.aliyuncs.CommonResponse; import com.aliyuncs.CommonResponse;
...@@ -8,7 +8,7 @@ import com.aliyuncs.exceptions.ClientException; ...@@ -8,7 +8,7 @@ import com.aliyuncs.exceptions.ClientException;
import com.aliyuncs.exceptions.ServerException; import com.aliyuncs.exceptions.ServerException;
import com.aliyuncs.http.MethodType; import com.aliyuncs.http.MethodType;
import com.aliyuncs.profile.DefaultProfile; import com.aliyuncs.profile.DefaultProfile;
import com.edgec.browserbackend.exception.AccountErrorCode; import com.edgec.browserbackend.account.exception.AccountErrorCode;
import com.edgec.browserbackend.common.commons.error.ClientRequestException; import com.edgec.browserbackend.common.commons.error.ClientRequestException;
import org.slf4j.Logger; import org.slf4j.Logger;
import org.slf4j.LoggerFactory; import org.slf4j.LoggerFactory;
......
package com.edgec.browserbackend.service.account; package com.edgec.browserbackend.account.service;
import com.edgec.browserbackend.domain.account.UserLackMoney; import com.edgec.browserbackend.account.domain.UserLackMoney;
import com.edgec.browserbackend.domain.account.UserPrePaidBilling; import com.edgec.browserbackend.account.domain.UserPrePaidBilling;
import java.util.List; import java.util.List;
......
package com.edgec.browserbackend.service.account; package com.edgec.browserbackend.account.service;
import com.edgec.browserbackend.domain.account.BillStatus; import com.edgec.browserbackend.account.domain.BillStatus;
import com.edgec.browserbackend.domain.account.UserPrePaidBilling; import com.edgec.browserbackend.account.domain.UserPrePaidBilling;
import java.util.List; import java.util.List;
......
package com.edgec.browserbackend.service.account; package com.edgec.browserbackend.account.service;
import com.edgec.browserbackend.domain.account.UserRate; import com.edgec.browserbackend.account.domain.UserRate;
import org.springframework.data.domain.Page; import org.springframework.data.domain.Page;
import org.springframework.data.domain.Pageable; import org.springframework.data.domain.Pageable;
......
package com.edgec.browserbackend.service.account.impl; package com.edgec.browserbackend.account.service.impl;
import com.alibaba.fastjson.JSONObject; import com.alibaba.fastjson.JSONObject;
import com.edgec.browserbackend.account.dto.CvmChargeRegion;
import com.edgec.browserbackend.account.service.AccountService;
import com.edgec.browserbackend.account.service.PaymentService;
import com.edgec.browserbackend.account.domain.*; import com.edgec.browserbackend.account.domain.*;
import com.edgec.browserbackend.domain.account.*; import com.edgec.browserbackend.account.dto.BillQueryCriteriaDto;
import com.edgec.browserbackend.dto.BillQueryCriteriaDto; import com.edgec.browserbackend.account.exception.AccountErrorCode;
import com.edgec.browserbackend.dto.CloudUserOrderDto; import com.edgec.browserbackend.account.repository.*;
import com.edgec.browserbackend.dto.CvmChargeRegion; import com.edgec.browserbackend.account.service.EmailService;
import com.edgec.browserbackend.exception.AccountErrorCode; import com.edgec.browserbackend.account.utils.AccountServicePool;
import com.edgec.browserbackend.repository.*; import com.edgec.browserbackend.auth.service.UserAuthService;
import com.edgec.browserbackend.service.account.AccountService;
import com.edgec.browserbackend.service.account.EmailService;
import com.edgec.browserbackend.service.account.PaymentService;
import com.edgec.browserbackend.utils.AccountServicePool;
import com.edgec.browserbackend.service.auth.UserAuthService;
import com.edgec.browserbackend.common.charge.ChargeType; import com.edgec.browserbackend.common.charge.ChargeType;
import com.edgec.browserbackend.common.commons.error.ClientRequestException; import com.edgec.browserbackend.common.commons.error.ClientRequestException;
import com.edgec.browserbackend.common.commons.utils.CommonStringUtils; import com.edgec.browserbackend.common.commons.utils.CommonStringUtils;
...@@ -20,6 +18,7 @@ import com.edgec.browserbackend.common.commons.utils.SmsUtils; ...@@ -20,6 +18,7 @@ import com.edgec.browserbackend.common.commons.utils.SmsUtils;
import org.slf4j.Logger; import org.slf4j.Logger;
import org.slf4j.LoggerFactory; import org.slf4j.LoggerFactory;
import org.springframework.beans.factory.annotation.Autowired; import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.context.annotation.ComponentScan;
import org.springframework.data.domain.Page; import org.springframework.data.domain.Page;
import org.springframework.data.domain.Pageable; import org.springframework.data.domain.Pageable;
import org.springframework.stereotype.Service; import org.springframework.stereotype.Service;
...@@ -27,9 +26,6 @@ import org.springframework.transaction.annotation.Transactional; ...@@ -27,9 +26,6 @@ import org.springframework.transaction.annotation.Transactional;
import org.springframework.util.Assert; import org.springframework.util.Assert;
import org.thymeleaf.util.StringUtils; import org.thymeleaf.util.StringUtils;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import java.io.IOException;
import java.time.Instant; import java.time.Instant;
import java.time.YearMonth; import java.time.YearMonth;
import java.time.ZoneOffset; import java.time.ZoneOffset;
...@@ -42,6 +38,7 @@ import java.util.stream.Collectors; ...@@ -42,6 +38,7 @@ import java.util.stream.Collectors;
@Service @Service
@Transactional @Transactional
@ComponentScan("com.edgec.browserbackend.account.repository")
public class AccountServiceImpl implements AccountService { public class AccountServiceImpl implements AccountService {
private static final int TRIVAL_MONTHS = 1; private static final int TRIVAL_MONTHS = 1;
...@@ -568,21 +565,12 @@ public class AccountServiceImpl implements AccountService { ...@@ -568,21 +565,12 @@ public class AccountServiceImpl implements AccountService {
account.setAllowedToCreateSubUser(true); account.setAllowedToCreateSubUser(true);
if (isVps) {
// account.setParent("vpsclient");
account.setVpsUser(true);
} else {
account.setAllowedToCreateCloudAccount(true); account.setAllowedToCreateCloudAccount(true);
UserService intelligroupService = new UserService();
intelligroupService.setServiceName(Services.INTELLIGROUP);
intelligroupService.setServiceType(ServiceType.FORMAL);
intelligroupService.setValidTo(Date.from(ZonedDateTime.now().plusMonths(TRIVAL_MONTHS).toInstant()));
account.addUserService(intelligroupService);
}
user.setEnabled(true); user.setEnabled(true);
userAuthService.create(new com.edgec.browserbackend.domain.auth.User(user)); userAuthService.create(new com.edgec.browserbackend.auth.domain.User(user));
repository.save(account); repository.save(account);
log.info("new account has been created: " + account.getName()); log.info("new account has been created: " + account.getName());
...@@ -636,7 +624,7 @@ public class AccountServiceImpl implements AccountService { ...@@ -636,7 +624,7 @@ public class AccountServiceImpl implements AccountService {
emailService.sendEmailVerification(user.getUsername(), user.getEmail(), user.getVerificationCode()); emailService.sendEmailVerification(user.getUsername(), user.getEmail(), user.getVerificationCode());
userAuthService.create(new com.edgec.browserbackend.domain.auth.User(user)); userAuthService.create(new com.edgec.browserbackend.auth.domain.User(user));
repository.save(account); repository.save(account);
log.info("new account has been created: " + account.getName()); log.info("new account has been created: " + account.getName());
...@@ -733,15 +721,12 @@ public class AccountServiceImpl implements AccountService { ...@@ -733,15 +721,12 @@ public class AccountServiceImpl implements AccountService {
authUser.setPhone(user.getPhoneNumber()); authUser.setPhone(user.getPhoneNumber());
authUser.setEmail(user.getEmail()); authUser.setEmail(user.getEmail());
authUser.setEnabled(true); authUser.setEnabled(true);
userAuthService.create(new com.edgec.browserbackend.domain.auth.User(authUser)); userAuthService.create(new com.edgec.browserbackend.auth.domain.User(authUser));
Account account = new Account(user); Account account = new Account(user);
account.setPhoneNumber(user.getPhoneNumber()); account.setPhoneNumber(user.getPhoneNumber());
account.setEmail(user.getEmail()); account.setEmail(user.getEmail());
account.setParent(name); account.setParent(name);
if (user.isVpsUser()) {
account.setVpsUser(true);
}
repository.save(account); repository.save(account);
...@@ -793,7 +778,7 @@ public class AccountServiceImpl implements AccountService { ...@@ -793,7 +778,7 @@ public class AccountServiceImpl implements AccountService {
User newuser = new User(); User newuser = new User();
newuser.setUsername(account.getName()); newuser.setUsername(account.getName());
newuser.setEmail(update.getEmail()); newuser.setEmail(update.getEmail());
userAuthService.updateUser(name, new com.edgec.browserbackend.domain.auth.User(newuser)); userAuthService.updateUser(name, new com.edgec.browserbackend.auth.domain.User(newuser));
} }
repository.save(account); repository.save(account);
return account; return account;
...@@ -816,7 +801,7 @@ public class AccountServiceImpl implements AccountService { ...@@ -816,7 +801,7 @@ public class AccountServiceImpl implements AccountService {
newuser.setUsername(account.getName()); newuser.setUsername(account.getName());
String code = UUID.randomUUID().toString() + System.currentTimeMillis(); String code = UUID.randomUUID().toString() + System.currentTimeMillis();
newuser.setVerificationCode(code); newuser.setVerificationCode(code);
userAuthService.reset(new com.edgec.browserbackend.domain.auth.User(newuser)); userAuthService.reset(new com.edgec.browserbackend.auth.domain.User(newuser));
emailService.sendResetPassword(account.getName(), account.getEmail(), code); emailService.sendResetPassword(account.getName(), account.getEmail(), code);
log.info("password has been reset for: " + user); log.info("password has been reset for: " + user);
...@@ -858,7 +843,7 @@ public class AccountServiceImpl implements AccountService { ...@@ -858,7 +843,7 @@ public class AccountServiceImpl implements AccountService {
client.setUsername(account.getName()); client.setUsername(account.getName());
client.setPassword(user.getPasswd()); client.setPassword(user.getPasswd());
userAuthService.resetUserPassword(new com.edgec.browserbackend.domain.auth.User(client)); userAuthService.resetUserPassword(new com.edgec.browserbackend.auth.domain.User(client));
} }
...@@ -871,7 +856,7 @@ public class AccountServiceImpl implements AccountService { ...@@ -871,7 +856,7 @@ public class AccountServiceImpl implements AccountService {
@Override @Override
public void sendSmsOtp(String phone, String by) { public void sendSmsOtp(String phone, String by) {
String code = com.edgec.browserbackend.service.SmsUtils.sendSmsOTP(phone, by); String code = com.edgec.browserbackend.account.service.SmsUtils.sendSmsOTP(phone, by);
Otp otp = new Otp(); Otp otp = new Otp();
otp.setPhone(phone); otp.setPhone(phone);
otp.setOtp(code); otp.setOtp(code);
...@@ -956,12 +941,12 @@ public class AccountServiceImpl implements AccountService { ...@@ -956,12 +941,12 @@ public class AccountServiceImpl implements AccountService {
@Override @Override
public Page<Account> listAccountBySingupDate(Pageable pageable, Date beginDate, Date endDate) { public Page<Account> listAccountBySingupDate(Pageable pageable, Date beginDate, Date endDate) {
return repository.findBySignupDateBetweenAndIsVpsUser(pageable, beginDate, endDate, true); return repository.findAllBySignupDateBetween(pageable, beginDate, endDate);
} }
@Override @Override
public Account findByName(String accountName, boolean isVpsUser) { public Account findByName(String accountName, boolean isVpsUser) {
return repository.findByNameAndIsVpsUser(accountName, true); return repository.findByName(accountName);
} }
@Override @Override
...@@ -979,23 +964,6 @@ public class AccountServiceImpl implements AccountService { ...@@ -979,23 +964,6 @@ public class AccountServiceImpl implements AccountService {
return userBillLists; return userBillLists;
} }
@Override
public boolean isIdcardAuth(String idCard, String type) {
List<Account> byIdCard = repository.findByIdCard(idCard);
List<String> products = Arrays.asList("cloudam", "vps");
if (byIdCard != null && byIdCard.size() != 0) {
if (byIdCard.size() == products.size()) {
return true;
}
for (String product : products) {
if (product.equals(type)) {
return true;
}
}
}
return false;
}
@Override @Override
public List<Invoice> findByUsername(String username) { public List<Invoice> findByUsername(String username) {
List<Invoice> invoices = invoiceRepository.findByUsernameOrderByDateDesc(username); List<Invoice> invoices = invoiceRepository.findByUsernameOrderByDateDesc(username);
...@@ -1031,165 +999,4 @@ public class AccountServiceImpl implements AccountService { ...@@ -1031,165 +999,4 @@ public class AccountServiceImpl implements AccountService {
repository.save(byName); repository.save(byName);
} }
@Override
public String createCloudUserOrder(String username, CloudUserOrderDto cloudUserOrderDto) {
CloudUserOrder cloudUserOrder = new CloudUserOrder();
cloudUserOrder.setRate(cloudUserOrderDto.getRate());
cloudUserOrder.setOrderTimeStamp(Instant.now().atZone(ZoneOffset.UTC).toString());
cloudUserOrder.setUsername(username);
cloudUserOrder.setChargeType(cloudUserOrderDto.getChargeType());
cloudUserOrder.setDetails(cloudUserOrderDto.getDetails());
cloudUserOrder.setStatus(CloudUserOrder.OrderStatus.UNPAID);
switch (cloudUserOrderDto.getService()) {
case "CVM":
cloudUserOrder.setService(Services.CVM);
cloudUserOrderRepository.save(cloudUserOrder);
return cloudUserOrder.getTradeNo();
case "C3IP":
cloudUserOrder.setService(Services.C3IP);
cloudUserOrderRepository.save(cloudUserOrder);
return cloudUserOrder.getTradeNo();
default: {
return null;
}
}
}
@Override
public CloudUserOrder queryCloudUserOrder(String username, String tradeNo) {
CloudUserOrder cloudUserOrder = cloudUserOrderRepository.findByTradeNoAndUsername(tradeNo, username);
if (Instant.parse(cloudUserOrder.getOrderTimeStamp()).plusSeconds(1800).compareTo(Instant.now().atOffset(ZoneOffset.UTC).toInstant()) < 0 && cloudUserOrder.getStatus() == CloudUserOrder.OrderStatus.UNPAID) {
updateCloudUserOrder(username, cloudUserOrder.getTradeNo(), "EXPIRED");
cloudUserOrder.setStatus(CloudUserOrder.OrderStatus.EXPIRED);
}
return cloudUserOrder;
}
@Override
public CloudUserOrderDto queryCloudUserOrderDto(String username, String tradeNo) {
CloudUserOrder cloudUserOrder = cloudUserOrderRepository.findByTradeNoAndUsername(tradeNo, username);
if (Instant.parse(cloudUserOrder.getOrderTimeStamp()).plusSeconds(1800).compareTo(Instant.now().atOffset(ZoneOffset.UTC).toInstant()) < 0 && cloudUserOrder.getStatus() == CloudUserOrder.OrderStatus.UNPAID) {
updateCloudUserOrder(username, cloudUserOrder.getTradeNo(), "EXPIRED");
cloudUserOrder.setStatus(CloudUserOrder.OrderStatus.EXPIRED);
}
return CloudUserOrderDto.of(cloudUserOrder);
}
@Override
public List<CloudUserOrder> queryAllCloudUserOrder(String username, String service, String status) {
List<CloudUserOrder> cloudUserOrders;
if (status.equals("undefined") && service.equals("undefined")) {
cloudUserOrders = cloudUserOrderRepository.findByUsernameOrderByOrderTimeStampDesc(username);
return cloudUserOrders;
} else if (service.equals("undefined") && !status.equals("undefined")){
cloudUserOrders = cloudUserOrderRepository.findByStatusAndUsernameOrderByOrderTimeStampDesc(status, username);
} else if (!service.equals("undefined") && status.equals("undefined")) {
cloudUserOrders = cloudUserOrderRepository.findByServiceAndUsernameOrderByOrderTimeStampDesc(service, username);
} else {
cloudUserOrders = cloudUserOrderRepository.findByServiceAndStatusAndUsernameOrderByOrderTimeStampDesc(service, status, username);
}
cloudUserOrders.forEach(x -> {
if (Instant.parse(x.getOrderTimeStamp()).plusSeconds(1800).compareTo(Instant.now().atOffset(ZoneOffset.UTC).toInstant()) < 0 && x.getStatus() == CloudUserOrder.OrderStatus.UNPAID){
updateCloudUserOrder(username, x.getTradeNo(), "EXPIRED");
x.setStatus(CloudUserOrder.OrderStatus.EXPIRED);
}
});
return cloudUserOrders;
}
@Override
public CloudUserOrder updateCloudUserOrder(String username, String tradeNo, String status) {
CloudUserOrder cloudUserOrder = cloudUserOrderRepository.findByTradeNoAndUsername(tradeNo, username);
cloudUserOrder.setStatus(CloudUserOrder.OrderStatus.valueOf(status));
cloudUserOrderRepository.save(cloudUserOrder);
return cloudUserOrder;
}
@Override
public void updateCloudUserOrder(String tradeNo, String status) {
CloudUserOrder cloudUserOrder = cloudUserOrderRepository.findByTradeNo(tradeNo);
cloudUserOrder.setStatus(CloudUserOrder.OrderStatus.valueOf(status));
cloudUserOrderRepository.save(cloudUserOrder);
}
@Override
public void payCloudUserOrderByAli(HttpServletRequest request, HttpServletResponse response, String tradeNo) throws IOException {
CloudUserOrder cloudUserOrder = cloudUserOrderRepository.findByTradeNoAndUsername(tradeNo, request.getUserPrincipal().getName());
if (cloudUserOrder.getStatus() == CloudUserOrder.OrderStatus.EXPIRED || cloudUserOrder.getStatus() == CloudUserOrder.OrderStatus.FAILURE)
return;
if (Instant.parse(cloudUserOrder.getOrderTimeStamp()).plusSeconds(1800).compareTo(Instant.now().atOffset(ZoneOffset.UTC).toInstant()) < 0 && cloudUserOrder.getStatus() == CloudUserOrder.OrderStatus.UNPAID) {
updateCloudUserOrder(request.getUserPrincipal().getName(), tradeNo, "EXPIRED");
} else {
String by = request.getParameter("by");
String form = paymentService.alipayPutPayOrder(request.getUserPrincipal().getName(), (int)(cloudUserOrder.getRate() + 0.5), by);
response.setContentType("text/html;charset=utf-8");
response.getWriter().println(form);
updateCloudUserOrder(request.getUserPrincipal().getName(), tradeNo, "PAYING");
}
}
@Override
public UserPaymentDto payCloudUserOrderByWx(String username, String tradeNo) {
CloudUserOrder cloudUserOrder = cloudUserOrderRepository.findByTradeNoAndUsername(tradeNo, username);
if (cloudUserOrder.getStatus() == CloudUserOrder.OrderStatus.EXPIRED || cloudUserOrder.getStatus() == CloudUserOrder.OrderStatus.FAILURE)
throw new ClientRequestException(AccountErrorCode.WECHATERROR, "Wechat payment order error");
if (Instant.parse(cloudUserOrder.getOrderTimeStamp()).plusSeconds(1800).compareTo(Instant.now().atOffset(ZoneOffset.UTC).toInstant()) < 0 && cloudUserOrder.getStatus() == CloudUserOrder.OrderStatus.UNPAID) {
updateCloudUserOrder(username, tradeNo, "EXPIRED");
throw new ClientRequestException(AccountErrorCode.WECHATERROR, "Wechat payment order error");
} else {
updateCloudUserOrder(username, tradeNo, "PAYING");
return paymentService.wxPutPayOrder(username, (int)(cloudUserOrder.getRate() + 0.5));
}
}
@Override
public boolean queryQualified(String username) {
Account account = repository.findByName(username);
Boolean qualified = account.isQualified();
return qualified == null || qualified;
}
@Override
public boolean bingdOrderWithCloudUser(String tradeNo, String username) {
CloudUserOrder cloudUserOrder = cloudUserOrderRepository.findByTradeNo(tradeNo);
if(cloudUserOrder == null){
return false;
}
String unit = cloudUserOrder.getDetails().get("unit");
String period = cloudUserOrder.getDetails().get("period");
if(cloudUserOrder.getUsername() != null) {
return false;
}
if("hour".equalsIgnoreCase(unit) && "2".equalsIgnoreCase(period)) {
if (!queryQualified(username)) {
return false;
}
List<CloudUserOrder> orders = cloudUserOrderRepository.findByUsernameOrderByOrderTimeStampDesc(username);
for (CloudUserOrder order : orders) {
String unit1 = order.getDetails().get("unit");
String period1 = order.getDetails().get("period");
if ("hour".equalsIgnoreCase(unit1) && "2".equalsIgnoreCase(period1) && order.getStatus() == CloudUserOrder.OrderStatus.UNPAID ) {
return false;
}
}
}
cloudUserOrder.setUsername(username);
cloudUserOrderRepository.save(cloudUserOrder);
if(cloudUserOrderRepository.findByTradeNoAndUsername(tradeNo,username) == null){
return false;
}
return true;
}
@Override
public void removeQualified(String username) {
Account account = repository.findByName(username);
account.setQualified(false);
repository.save(account);
}
} }
package com.edgec.browserbackend.service.account.impl; package com.edgec.browserbackend.account.service.impl;
import com.edgec.browserbackend.account.domain.*; import com.edgec.browserbackend.account.domain.*;
import com.edgec.browserbackend.domain.account.*; import com.edgec.browserbackend.account.exception.AccountErrorCode;
import com.edgec.browserbackend.exception.AccountErrorCode; import com.edgec.browserbackend.account.repository.*;
import com.edgec.browserbackend.repository.*; import com.edgec.browserbackend.account.service.AdministratorService;
import com.edgec.browserbackend.service.account.AdministratorService; import com.edgec.browserbackend.auth.service.UserAuthService;
import com.edgec.browserbackend.service.auth.UserAuthService;
import com.edgec.browserbackend.common.commons.error.ClientRequestException; import com.edgec.browserbackend.common.commons.error.ClientRequestException;
import org.apache.commons.lang3.StringUtils; import org.apache.commons.lang3.StringUtils;
import org.slf4j.Logger; import org.slf4j.Logger;
import org.slf4j.LoggerFactory; import org.slf4j.LoggerFactory;
import org.springframework.beans.factory.annotation.Autowired; import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.context.annotation.ComponentScan;
import org.springframework.data.domain.Page; import org.springframework.data.domain.Page;
import org.springframework.data.domain.Pageable; import org.springframework.data.domain.Pageable;
import org.springframework.stereotype.Service; import org.springframework.stereotype.Service;
...@@ -26,6 +26,7 @@ import java.util.StringTokenizer; ...@@ -26,6 +26,7 @@ import java.util.StringTokenizer;
@Service @Service
@ComponentScan("com.edgec.browserbackend.account.repository")
public class AdministratorServiceImpl implements AdministratorService { public class AdministratorServiceImpl implements AdministratorService {
private final Logger log = LoggerFactory.getLogger(getClass()); private final Logger log = LoggerFactory.getLogger(getClass());
...@@ -61,7 +62,7 @@ public class AdministratorServiceImpl implements AdministratorService { ...@@ -61,7 +62,7 @@ public class AdministratorServiceImpl implements AdministratorService {
newUser.setPassword(administrator.getPassword()); newUser.setPassword(administrator.getPassword());
newUser.setEnabled(true); newUser.setEnabled(true);
userAuthService.create(new com.edgec.browserbackend.domain.auth.User(newUser)); userAuthService.create(new com.edgec.browserbackend.auth.domain.User(newUser));
administrator1.setPassword(""); administrator1.setPassword("");
administratorRepository.save(administrator1); administratorRepository.save(administrator1);
...@@ -115,7 +116,7 @@ public class AdministratorServiceImpl implements AdministratorService { ...@@ -115,7 +116,7 @@ public class AdministratorServiceImpl implements AdministratorService {
User newUser = new User(); User newUser = new User();
newUser.setUsername(name); newUser.setUsername(name);
userAuthService.unlock(new com.edgec.browserbackend.domain.auth.User(newUser),"unlock"); userAuthService.unlock(new com.edgec.browserbackend.auth.domain.User(newUser),"unlock");
return newAccount; return newAccount;
} }
...@@ -130,7 +131,7 @@ public class AdministratorServiceImpl implements AdministratorService { ...@@ -130,7 +131,7 @@ public class AdministratorServiceImpl implements AdministratorService {
User abnormalUser = new User(); User abnormalUser = new User();
abnormalUser.setUsername(name); abnormalUser.setUsername(name);
userAuthService.lock(new com.edgec.browserbackend.domain.auth.User(abnormalUser),"lock"); userAuthService.lock(new com.edgec.browserbackend.auth.domain.User(abnormalUser),"lock");
accountRepository.save(abnormalAccount); accountRepository.save(abnormalAccount);
......
package com.edgec.browserbackend.service.account.impl; package com.edgec.browserbackend.account.service.impl;
import com.edgec.browserbackend.exception.AccountErrorCode; import com.edgec.browserbackend.account.exception.AccountErrorCode;
import com.edgec.browserbackend.service.account.EmailService; import com.edgec.browserbackend.account.service.EmailService;
import com.edgec.browserbackend.common.commons.error.ClientRequestException; import com.edgec.browserbackend.common.commons.error.ClientRequestException;
import org.slf4j.Logger; import org.slf4j.Logger;
import org.slf4j.LoggerFactory; import org.slf4j.LoggerFactory;
......
package com.edgec.browserbackend.service.account.impl; package com.edgec.browserbackend.account.service.impl;
import com.edgec.browserbackend.domain.account.CompanyMonthReport; import com.edgec.browserbackend.account.service.MonthReportService;
import com.edgec.browserbackend.repository.MonthReportRepository; import com.edgec.browserbackend.account.domain.CompanyMonthReport;
import com.edgec.browserbackend.service.account.MonthReportService; import com.edgec.browserbackend.account.repository.MonthReportRepository;
import org.springframework.beans.factory.annotation.Autowired; import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.data.domain.Page; import org.springframework.data.domain.Page;
import org.springframework.data.domain.Pageable; import org.springframework.data.domain.Pageable;
......
package com.edgec.browserbackend.service.account.impl; package com.edgec.browserbackend.account.service.impl;
import com.alibaba.fastjson.JSONObject; import com.alibaba.fastjson.JSONObject;
import com.alipay.api.AlipayClient; import com.alipay.api.AlipayClient;
...@@ -7,15 +7,14 @@ import com.alipay.api.request.AlipayTradePagePayRequest; ...@@ -7,15 +7,14 @@ import com.alipay.api.request.AlipayTradePagePayRequest;
import com.alipay.api.request.AlipayTradeQueryRequest; import com.alipay.api.request.AlipayTradeQueryRequest;
import com.alipay.api.response.AlipayTradePagePayResponse; import com.alipay.api.response.AlipayTradePagePayResponse;
import com.alipay.api.response.AlipayTradeQueryResponse; import com.alipay.api.response.AlipayTradeQueryResponse;
import com.edgec.browserbackend.account.exception.AccountErrorCode;
import com.edgec.browserbackend.account.repository.UserBalanceRepository;
import com.edgec.browserbackend.account.repository.UserPaymentRepository;
import com.edgec.browserbackend.account.service.AccountService;
import com.edgec.browserbackend.account.service.PaymentService;
import com.edgec.browserbackend.account.controller.AccountController;
import com.edgec.browserbackend.account.domain.*; import com.edgec.browserbackend.account.domain.*;
import com.edgec.browserbackend.controller.account.AccountController; import com.edgec.browserbackend.account.service.SmsUtils;
import com.edgec.browserbackend.domain.account.*;
import com.edgec.browserbackend.exception.AccountErrorCode;
import com.edgec.browserbackend.repository.UserBalanceRepository;
import com.edgec.browserbackend.repository.UserPaymentRepository;
import com.edgec.browserbackend.service.account.AccountService;
import com.edgec.browserbackend.service.account.PaymentService;
import com.edgec.browserbackend.service.account.SmsUtils;
import com.edgec.browserbackend.alipay.AlipayConfig; import com.edgec.browserbackend.alipay.AlipayConfig;
import com.edgec.browserbackend.alipay.CloudamAlipayConfig; import com.edgec.browserbackend.alipay.CloudamAlipayConfig;
import com.edgec.browserbackend.alipay.VpsAlipayConfig; import com.edgec.browserbackend.alipay.VpsAlipayConfig;
...@@ -24,6 +23,7 @@ import com.edgec.browserbackend.wxpay.*; ...@@ -24,6 +23,7 @@ import com.edgec.browserbackend.wxpay.*;
import org.slf4j.Logger; import org.slf4j.Logger;
import org.slf4j.LoggerFactory; import org.slf4j.LoggerFactory;
import org.springframework.beans.factory.annotation.Autowired; import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.context.annotation.ComponentScan;
import org.springframework.stereotype.Service; import org.springframework.stereotype.Service;
import java.util.HashMap; import java.util.HashMap;
...@@ -95,7 +95,7 @@ public class PaymentServiceImpl implements PaymentService { ...@@ -95,7 +95,7 @@ public class PaymentServiceImpl implements PaymentService {
if (byName == null) if (byName == null)
throw new ClientRequestException(AccountErrorCode.NAMENOTEXIST, "account does not exist: " + byTradeNo.getUsername()); throw new ClientRequestException(AccountErrorCode.NAMENOTEXIST, "account does not exist: " + byTradeNo.getUsername());
boolean isVpsClient = byName.isVpsUser(); boolean isVpsClient = true;
WXPayConfig ourWxPayConfig = isVpsClient ? new FGLWxConfig() : new CloudamWxConfig(); WXPayConfig ourWxPayConfig = isVpsClient ? new FGLWxConfig() : new CloudamWxConfig();
WXPay wxPay = new WXPay(ourWxPayConfig); WXPay wxPay = new WXPay(ourWxPayConfig);
...@@ -194,7 +194,7 @@ public class PaymentServiceImpl implements PaymentService { ...@@ -194,7 +194,7 @@ public class PaymentServiceImpl implements PaymentService {
if (byName == null) if (byName == null)
throw new ClientRequestException(AccountErrorCode.NAMENOTEXIST, "account does not exist: " + byTradeNo.getUsername()); throw new ClientRequestException(AccountErrorCode.NAMENOTEXIST, "account does not exist: " + byTradeNo.getUsername());
boolean isVpsClient = byName.isVpsUser(); boolean isVpsClient = true;
AlipayConfig alipayConfig = isVpsClient ? new VpsAlipayConfig() : new CloudamAlipayConfig(); AlipayConfig alipayConfig = isVpsClient ? new VpsAlipayConfig() : new CloudamAlipayConfig();
AlipayClient alipayClient = new DefaultAlipayClient(alipayConfig.getURL(), alipayConfig.getAPPID(), alipayConfig.getAPP_PRIVATE_KEY(), AlipayClient alipayClient = new DefaultAlipayClient(alipayConfig.getURL(), alipayConfig.getAPPID(), alipayConfig.getAPP_PRIVATE_KEY(),
...@@ -246,7 +246,7 @@ public class PaymentServiceImpl implements PaymentService { ...@@ -246,7 +246,7 @@ public class PaymentServiceImpl implements PaymentService {
if (byName == null) if (byName == null)
throw new ClientRequestException(AccountErrorCode.NAMENOTEXIST, "account does not exist: " + username); throw new ClientRequestException(AccountErrorCode.NAMENOTEXIST, "account does not exist: " + username);
boolean isVpsClient = byName.isVpsUser(); boolean isVpsClient = true;
UserPayment internalOrder = new UserPayment(); UserPayment internalOrder = new UserPayment();
internalOrder.setAmount(amount); internalOrder.setAmount(amount);
...@@ -299,7 +299,7 @@ public class PaymentServiceImpl implements PaymentService { ...@@ -299,7 +299,7 @@ public class PaymentServiceImpl implements PaymentService {
if (byName == null) if (byName == null)
throw new ClientRequestException(AccountErrorCode.NAMENOTEXIST, "account does not exist: " + username); throw new ClientRequestException(AccountErrorCode.NAMENOTEXIST, "account does not exist: " + username);
boolean isVpsClient = byName.isVpsUser(); boolean isVpsClient = true;
UserPayment internalOrder = new UserPayment(); UserPayment internalOrder = new UserPayment();
internalOrder.setAmount(amount); internalOrder.setAmount(amount);
...@@ -376,7 +376,7 @@ public class PaymentServiceImpl implements PaymentService { ...@@ -376,7 +376,7 @@ public class PaymentServiceImpl implements PaymentService {
if (byName == null) if (byName == null)
throw new ClientRequestException(AccountErrorCode.NAMENOTEXIST, "account does not exist: " + username); throw new ClientRequestException(AccountErrorCode.NAMENOTEXIST, "account does not exist: " + username);
boolean isVpsClient = byName.isVpsUser(); boolean isVpsClient = true;
UserPayment internalOrder = new UserPayment(); UserPayment internalOrder = new UserPayment();
internalOrder.setAmount(amount); internalOrder.setAmount(amount);
......
package com.edgec.browserbackend.service.account.impl; package com.edgec.browserbackend.account.service.impl;
import com.alibaba.fastjson.JSONObject; import com.alibaba.fastjson.JSONObject;
import com.edgec.browserbackend.account.domain.*; import com.edgec.browserbackend.account.domain.*;
import com.edgec.browserbackend.domain.account.*; import com.edgec.browserbackend.account.repository.AccountRepository;
import com.edgec.browserbackend.repository.AccountRepository; import com.edgec.browserbackend.account.repository.UserLackMoneyRepository;
import com.edgec.browserbackend.repository.UserLackMoneyRepository; import com.edgec.browserbackend.account.service.UserLackMoneyService;
import com.edgec.browserbackend.service.account.UserLackMoneyService;
import com.edgec.browserbackend.common.commons.utils.SmsUtils; import com.edgec.browserbackend.common.commons.utils.SmsUtils;
import org.springframework.beans.factory.annotation.Autowired; import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service; import org.springframework.stereotype.Service;
......
package com.edgec.browserbackend.service.account.impl; package com.edgec.browserbackend.account.service.impl;
import com.edgec.browserbackend.domain.account.BillStatus; import com.edgec.browserbackend.account.service.UserLackMoneyService;
import com.edgec.browserbackend.domain.account.DeductionRecord; import com.edgec.browserbackend.account.service.UserPrePaidBillingService;
import com.edgec.browserbackend.domain.account.UserBalance; import com.edgec.browserbackend.account.domain.BillStatus;
import com.edgec.browserbackend.domain.account.UserPrePaidBilling; import com.edgec.browserbackend.account.domain.DeductionRecord;
import com.edgec.browserbackend.repository.UserBalanceRepository; import com.edgec.browserbackend.account.domain.UserBalance;
import com.edgec.browserbackend.repository.UserPrePaidBillingRepository; import com.edgec.browserbackend.account.domain.UserPrePaidBilling;
import com.edgec.browserbackend.service.account.UserLackMoneyService; import com.edgec.browserbackend.account.repository.UserBalanceRepository;
import com.edgec.browserbackend.service.account.UserPrePaidBillingService; import com.edgec.browserbackend.account.repository.UserPrePaidBillingRepository;
import com.edgec.browserbackend.utils.AccountServicePool; import com.edgec.browserbackend.account.utils.AccountServicePool;
import org.springframework.beans.factory.annotation.Autowired; import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service; import org.springframework.stereotype.Service;
......
package com.edgec.browserbackend.service.account.impl; package com.edgec.browserbackend.account.service.impl;
import com.edgec.browserbackend.domain.account.UserRate; import com.edgec.browserbackend.account.service.UserRateService;
import com.edgec.browserbackend.exception.AccountErrorCode; import com.edgec.browserbackend.account.domain.UserRate;
import com.edgec.browserbackend.repository.UserRateRepository; import com.edgec.browserbackend.account.exception.AccountErrorCode;
import com.edgec.browserbackend.service.account.UserRateService; import com.edgec.browserbackend.account.repository.UserRateRepository;
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.data.domain.Page; import org.springframework.data.domain.Page;
......
package com.edgec.browserbackend.service.account.security; package com.edgec.browserbackend.account.service.security;
import com.edgec.browserbackend.exception.AccountErrorCode; import com.edgec.browserbackend.account.exception.AccountErrorCode;
import com.edgec.browserbackend.common.commons.error.IntelligroupOauthException; import com.edgec.browserbackend.common.commons.error.IntelligroupOauthException;
import org.apache.commons.logging.Log; import org.apache.commons.logging.Log;
import org.apache.commons.logging.LogFactory; import org.apache.commons.logging.LogFactory;
......
package com.edgec.browserbackend.utils; package com.edgec.browserbackend.account.utils;
import java.util.concurrent.ExecutorService; import java.util.concurrent.ExecutorService;
import java.util.concurrent.Executors; import java.util.concurrent.Executors;
......
package com.edgec.browserbackend.config; package com.edgec.browserbackend.auth.config;
import com.edgec.browserbackend.service.auth.security.MongoUserDetailsService; import com.edgec.browserbackend.auth.service.security.MongoUserDetailsService;
import org.springframework.beans.factory.annotation.Autowired; import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.beans.factory.annotation.Qualifier; import org.springframework.beans.factory.annotation.Qualifier;
import org.springframework.context.annotation.Configuration; import org.springframework.context.annotation.Configuration;
......
package com.edgec.browserbackend.config; package com.edgec.browserbackend.auth.config;
import com.edgec.browserbackend.error.AuthErrorCode; import com.edgec.browserbackend.auth.exception.AuthErrorCode;
import com.edgec.browserbackend.common.commons.error.ClientRequestException; import com.edgec.browserbackend.common.commons.error.ClientRequestException;
import com.edgec.browserbackend.common.commons.error.IntelligroupOauthException; import com.edgec.browserbackend.common.commons.error.IntelligroupOauthException;
import org.springframework.http.HttpHeaders; import org.springframework.http.HttpHeaders;
......
package com.edgec.browserbackend.config; package com.edgec.browserbackend.auth.config;
import com.edgec.browserbackend.service.auth.security.MongoUserDetailsService; import com.edgec.browserbackend.auth.service.security.MongoUserDetailsService;
import org.springframework.beans.factory.annotation.Autowired; import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.context.annotation.Bean; import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration; import org.springframework.context.annotation.Configuration;
......
package com.edgec.browserbackend.controller.auth; package com.edgec.browserbackend.auth.controller;
import com.edgec.browserbackend.error.AuthErrorCode; import com.edgec.browserbackend.auth.exception.AuthErrorCode;
import com.edgec.browserbackend.common.commons.error.ApiError; import com.edgec.browserbackend.common.commons.error.ApiError;
import com.edgec.browserbackend.common.commons.error.ClientRequestException; import com.edgec.browserbackend.common.commons.error.ClientRequestException;
import com.edgec.browserbackend.common.commons.error.InternalServerErrorException; import com.edgec.browserbackend.common.commons.error.InternalServerErrorException;
...@@ -17,7 +17,7 @@ import org.springframework.web.context.request.WebRequest; ...@@ -17,7 +17,7 @@ import org.springframework.web.context.request.WebRequest;
import org.springframework.web.servlet.mvc.method.annotation.ResponseEntityExceptionHandler; import org.springframework.web.servlet.mvc.method.annotation.ResponseEntityExceptionHandler;
@ControllerAdvice @ControllerAdvice
public class ErrorHandler extends ResponseEntityExceptionHandler { public class AuthErrorHandler extends ResponseEntityExceptionHandler {
private final Logger log = LoggerFactory.getLogger(getClass()); private final Logger log = LoggerFactory.getLogger(getClass());
......
package com.edgec.browserbackend.controller.auth; package com.edgec.browserbackend.auth.controller;
import com.edgec.browserbackend.domain.auth.User; import com.edgec.browserbackend.auth.domain.User;
import com.edgec.browserbackend.domain.auth.UserPasswordReset; import com.edgec.browserbackend.auth.domain.UserPasswordReset;
import com.edgec.browserbackend.service.auth.UserAuthService; import com.edgec.browserbackend.auth.service.UserAuthService;
import org.springframework.beans.factory.annotation.Autowired; import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.beans.factory.annotation.Qualifier; import org.springframework.beans.factory.annotation.Qualifier;
import org.springframework.security.access.prepost.PreAuthorize; import org.springframework.security.access.prepost.PreAuthorize;
......
package com.edgec.browserbackend.domain.auth; package com.edgec.browserbackend.auth.domain;
import org.springframework.data.annotation.Id; import org.springframework.data.annotation.Id;
......
package com.edgec.browserbackend.domain.auth; package com.edgec.browserbackend.auth.domain;
import org.apache.commons.lang3.StringUtils; import org.apache.commons.lang3.StringUtils;
import org.springframework.data.annotation.Id; import org.springframework.data.annotation.Id;
...@@ -101,7 +101,7 @@ public class User implements UserDetails { ...@@ -101,7 +101,7 @@ public class User implements UserDetails {
return enabled; return enabled;
} }
public User(com.edgec.browserbackend.domain.User user) { public User(com.edgec.browserbackend.account.domain.User user) {
if (StringUtils.isNotEmpty(user.getEmail())) if (StringUtils.isNotEmpty(user.getEmail()))
setEmail(user.getEmail()); setEmail(user.getEmail());
setPassword(user.getPassword()); setPassword(user.getPassword());
......
package com.edgec.browserbackend.domain.auth; package com.edgec.browserbackend.auth.domain;
import org.springframework.data.annotation.Id; import org.springframework.data.annotation.Id;
import org.springframework.data.mongodb.core.mapping.Document; import org.springframework.data.mongodb.core.mapping.Document;
......
package com.edgec.browserbackend.domain.auth; package com.edgec.browserbackend.auth.domain;
public class UserPasswordReset { public class UserPasswordReset {
......
package com.edgec.browserbackend.error; package com.edgec.browserbackend.auth.exception;
import com.edgec.browserbackend.common.commons.error.ErrorCode; import com.edgec.browserbackend.common.commons.error.ErrorCode;
import com.fasterxml.jackson.annotation.JsonValue; import com.fasterxml.jackson.annotation.JsonValue;
......
package com.edgec.browserbackend.repository; package com.edgec.browserbackend.auth.repository;
import com.edgec.browserbackend.domain.auth.Roles; import com.edgec.browserbackend.auth.domain.Roles;
import org.springframework.data.repository.CrudRepository; import org.springframework.data.repository.CrudRepository;
import org.springframework.stereotype.Repository; import org.springframework.stereotype.Repository;
......
package com.edgec.browserbackend.repository; package com.edgec.browserbackend.auth.repository;
import com.edgec.browserbackend.domain.auth.UserAttemptsLogin; import com.edgec.browserbackend.auth.domain.UserAttemptsLogin;
import org.springframework.data.mongodb.repository.MongoRepository; import org.springframework.data.mongodb.repository.MongoRepository;
public interface UserAttemptsLoginRepository extends MongoRepository<UserAttemptsLogin, String> { public interface UserAttemptsLoginRepository extends MongoRepository<UserAttemptsLogin, String> {
......
package com.edgec.browserbackend.repository; package com.edgec.browserbackend.auth.repository;
import com.edgec.browserbackend.domain.auth.User; import com.edgec.browserbackend.auth.domain.User;
import org.springframework.data.repository.CrudRepository; import org.springframework.data.repository.CrudRepository;
import org.springframework.stereotype.Repository; import org.springframework.stereotype.Repository;
......
package com.edgec.browserbackend.service.auth; package com.edgec.browserbackend.auth.service;
import com.edgec.browserbackend.domain.auth.User; import com.edgec.browserbackend.auth.domain.User;
import com.edgec.browserbackend.domain.auth.UserPasswordReset; import com.edgec.browserbackend.auth.domain.UserPasswordReset;
public interface UserAuthService { public interface UserAuthService {
......
package com.edgec.browserbackend.service.auth; package com.edgec.browserbackend.auth.service;
import com.edgec.browserbackend.domain.auth.Roles; import com.edgec.browserbackend.auth.domain.Roles;
import com.edgec.browserbackend.domain.auth.User; import com.edgec.browserbackend.auth.domain.User;
import com.edgec.browserbackend.domain.auth.UserPasswordReset; import com.edgec.browserbackend.auth.domain.UserPasswordReset;
import com.edgec.browserbackend.error.AuthErrorCode; import com.edgec.browserbackend.auth.exception.AuthErrorCode;
import com.edgec.browserbackend.repository.RolesRepository; import com.edgec.browserbackend.auth.repository.RolesRepository;
import com.edgec.browserbackend.repository.UserRepository; import com.edgec.browserbackend.auth.repository.UserRepository;
import com.edgec.browserbackend.common.commons.error.ClientRequestException; import com.edgec.browserbackend.common.commons.error.ClientRequestException;
import org.apache.commons.lang3.StringUtils; import org.apache.commons.lang3.StringUtils;
import org.slf4j.Logger; import org.slf4j.Logger;
......
package com.edgec.browserbackend.service.auth.security; package com.edgec.browserbackend.auth.service.security;
import com.edgec.browserbackend.domain.auth.User; import com.edgec.browserbackend.auth.domain.User;
import com.edgec.browserbackend.domain.auth.UserAttemptsLogin; import com.edgec.browserbackend.auth.domain.UserAttemptsLogin;
import com.edgec.browserbackend.error.AuthErrorCode; import com.edgec.browserbackend.auth.exception.AuthErrorCode;
import com.edgec.browserbackend.repository.UserAttemptsLoginRepository; import com.edgec.browserbackend.auth.repository.UserAttemptsLoginRepository;
import com.edgec.browserbackend.repository.UserRepository; import com.edgec.browserbackend.auth.repository.UserRepository;
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.context.ApplicationListener; import org.springframework.context.ApplicationListener;
......
package com.edgec.browserbackend.service.auth.security; package com.edgec.browserbackend.auth.service.security;
import com.edgec.browserbackend.domain.auth.User; import com.edgec.browserbackend.auth.domain.User;
import com.edgec.browserbackend.domain.auth.UserAttemptsLogin; import com.edgec.browserbackend.auth.domain.UserAttemptsLogin;
import com.edgec.browserbackend.error.AuthErrorCode; import com.edgec.browserbackend.auth.exception.AuthErrorCode;
import com.edgec.browserbackend.repository.UserAttemptsLoginRepository; import com.edgec.browserbackend.auth.repository.UserAttemptsLoginRepository;
import com.edgec.browserbackend.repository.UserRepository; import com.edgec.browserbackend.auth.repository.UserRepository;
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.context.ApplicationListener; import org.springframework.context.ApplicationListener;
......
package com.edgec.browserbackend.service.auth.security; package com.edgec.browserbackend.auth.service.security;
import com.edgec.browserbackend.domain.auth.Roles; import com.edgec.browserbackend.auth.domain.Roles;
import com.edgec.browserbackend.domain.auth.User; import com.edgec.browserbackend.auth.domain.User;
import com.edgec.browserbackend.repository.RolesRepository; import com.edgec.browserbackend.auth.repository.RolesRepository;
import com.edgec.browserbackend.repository.UserRepository; import com.edgec.browserbackend.auth.repository.UserRepository;
import org.apache.commons.lang3.StringUtils; import org.apache.commons.lang3.StringUtils;
import org.springframework.beans.factory.annotation.Autowired; import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.security.core.GrantedAuthority; import org.springframework.security.core.GrantedAuthority;
......
package com.edgec.browserbackend.browser.domain;
import org.springframework.data.annotation.Id;
import org.springframework.data.mongodb.core.mapping.Document;
import java.util.List;
@Document(collection = "group")
public class Group {
@Id
private String id;
private String groupName;
private String owner;
private List<String> shops;
}
package com.edgec.browserbackend.browser.domain;
import org.springframework.data.annotation.Id;
import java.util.List;
public class IpResource {
@Id
private String id;
private String ipAddr;
private IpType ipType;
private String ipProvider;
private String ipRegion;
private IpStatus ipStatus;
private long createdAt;
private long validTime;
private long leftTime;
private String details;
List<Long> bindHistory;
private boolean isDeleted;
}
package com.edgec.browserbackend.browser.domain;
public enum IpStatus {
NORMAL,
PROTECTION,
EXPIRED,
UNBIND;
}
package com.edgec.browserbackend.browser.domain;
public enum IpType {
LOCAL,
VENDOR;
}
package com.edgec.browserbackend.browser.domain;
import org.springframework.data.annotation.Id;
import org.springframework.data.mongodb.core.mapping.Document;
@Document(collection = "shop")
public class Shop {
@Id
private String id;
private String shopName;
private String owner;
private TransferStatus transferStatus;
private String groupId;
private String groupName;
private String link;
private String platform;
private String ipRegion;
private String ip;
private String ipId;
}
package com.edgec.browserbackend.browser.domain;
public enum TransferStatus {
PROCESSING,
END;
}
package com.edgec.browserbackend.browser.domain;
import org.springframework.data.annotation.Id;
import java.util.List;
public class UserShops {
@Id
private String username;
private List<String> shops;
}
package com.edgec.browserbackend.common.commons.error; package com.edgec.browserbackend.common.commons.error;
import com.edgec.commons.core.ApplicationContextProvider; import com.edgec.browserbackend.common.commons.core.ApplicationContextProvider;
import com.fasterxml.jackson.annotation.JsonFormat; import com.fasterxml.jackson.annotation.JsonFormat;
import org.springframework.context.MessageSource; import org.springframework.context.MessageSource;
import org.springframework.context.NoSuchMessageException; import org.springframework.context.NoSuchMessageException;
......
package com.edgec.browserbackend.common.commons.error; package com.edgec.browserbackend.common.commons.error;
import com.edgec.commons.core.ApplicationContextProvider; import com.edgec.browserbackend.common.commons.core.ApplicationContextProvider;
import com.fasterxml.jackson.core.JsonGenerator; import com.fasterxml.jackson.core.JsonGenerator;
import com.fasterxml.jackson.databind.SerializerProvider; import com.fasterxml.jackson.databind.SerializerProvider;
import com.fasterxml.jackson.databind.ser.std.StdSerializer; import com.fasterxml.jackson.databind.ser.std.StdSerializer;
......
package com.edgec.browserbackend.common.commons.utils; package com.edgec.browserbackend.common.commons.utils;
import com.alibaba.fastjson.JSONObject; import com.alibaba.fastjson.JSONObject;
import com.edgec.commons.core.ApplicationContextProvider; import com.edgec.browserbackend.common.commons.core.ApplicationContextProvider;
import com.edgec.commons.domain.WeixinMessage; import com.edgec.browserbackend.common.commons.domain.WeixinMessage;
import org.apache.http.client.methods.CloseableHttpResponse; import org.apache.http.client.methods.CloseableHttpResponse;
import org.apache.http.client.methods.HttpPost; import org.apache.http.client.methods.HttpPost;
import org.apache.http.entity.StringEntity; import org.apache.http.entity.StringEntity;
......
package com.edgec.browserbackend.domain.browser;
public class Group {
}
package com.edgec.browserbackend.domain.browser;
public class IpResource {
}
package com.edgec.browserbackend.domain.browser;
public class Shop {
}
package com.edgec.browserbackend.dto;
import com.edgec.browserbackend.domain.account.CloudUserOrder;
import java.util.HashMap;
/**
* @Desc
* @Author jason
* @CreateTime 2020/2/13 12:36 下午
**/
public class CloudUserOrderDto {
private String tradeNo;
private String username;
private String orderTimeStamp;
private String service;
//0 -- newip, 1 --renew, 2 --ipkeptfee, 3 --deleteip, 4 -- stopinstanceonly , 5 -- bindinstance, 6 -- refundipkeptfee
//7 -- newcvm , 8 -- renewcvm , 9 -- intelligroup, 10 -- resetcvm, 11 -- modifycvmspec
private int chargeType;
private String status;
private float rate;
private HashMap<String, String> details;
public String getUsername() {
return username;
}
public void setUsername(String username) {
this.username = username;
}
public String getOrderTimeStamp() {
return orderTimeStamp;
}
public void setOrderTimeStamp(String orderTimeStamp) {
this.orderTimeStamp = orderTimeStamp;
}
public int getChargeType() {
return chargeType;
}
public void setChargeType(int chargeType) {
this.chargeType = chargeType;
}
public float getRate() {
return rate;
}
public void setRate(float rate) {
this.rate = rate;
}
public String getTradeNo() {
return tradeNo;
}
public void setTradeNo(String tradeNo) {
this.tradeNo = tradeNo;
}
public HashMap<String, String> getDetails() {
return details;
}
public void setDetails(HashMap<String, String> details) {
this.details = details;
}
public String getService() {
return service;
}
public void setStatus(String status) {
this.status = status;
}
public String getStatus() {
return status;
}
public void setService(String service) {
this.service = service;
}
public static CloudUserOrderDto of(CloudUserOrder cloudUserOrder) {
CloudUserOrderDto cloudUserOrderDto = new CloudUserOrderDto();
cloudUserOrderDto.setChargeType(cloudUserOrder.getChargeType());
cloudUserOrderDto.setDetails(cloudUserOrder.getDetails());
cloudUserOrderDto.setOrderTimeStamp(cloudUserOrder.getOrderTimeStamp());
cloudUserOrderDto.setRate(cloudUserOrder.getRate());
cloudUserOrderDto.setStatus(cloudUserOrder.getStatus().toString());
cloudUserOrderDto.setService(cloudUserOrder.getService().name());
cloudUserOrderDto.setTradeNo(cloudUserOrder.getTradeNo());
cloudUserOrderDto.setUsername(cloudUserOrder.getUsername());
return cloudUserOrderDto;
}
}
package com.edgec.browserbackend.service.account;
import java.util.List;
public interface AlipayCertificationService {
String initializationDocuments(String certName, String certNo, String outerOrderNo, String username, String type);
String generateAuthenticationAddress(String certifyId, String username, String certName, String certNo, String type);
List<String> queryAuthenticationResults(String username, String shortUrl, String type);
}
...@@ -24,7 +24,7 @@ import java.net.UnknownHostException; ...@@ -24,7 +24,7 @@ import java.net.UnknownHostException;
import java.security.KeyStore; import java.security.KeyStore;
import java.security.SecureRandom; import java.security.SecureRandom;
import static com.edgec.wxpay.sdk.WXPayConstants.USER_AGENT; import static com.edgec.browserbackend.wxpay.WXPayConstants.USER_AGENT;
public class WXPayRequest { public class WXPayRequest {
private WXPayConfig config; private WXPayConfig config;
......
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