Commit 434151c9 authored by renjie's avatar renjie

browser-backend

parent 2d4ae736
......@@ -129,6 +129,29 @@
<version>1.2.62</version>
</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>
......
package com.edgec.browserbackend.controller.account;
package com.edgec.browserbackend.account.controller;
import com.edgec.browserbackend.account.domain.*;
import com.edgec.browserbackend.domain.account.*;
import com.edgec.browserbackend.dto.BillQueryCriteriaDto;
import com.edgec.browserbackend.account.dto.BillQueryCriteriaDto;
import com.edgec.browserbackend.common.auth.Securitys;
import com.edgec.browserbackend.common.commons.utils.DateConverter;
import com.edgec.browserbackend.service.account.AccountService;
import com.edgec.browserbackend.service.account.AlipayCertificationService;
import com.edgec.browserbackend.service.account.EmailService;
import com.edgec.browserbackend.service.account.PaymentService;
import com.edgec.browserbackend.account.service.AccountService;
import com.edgec.browserbackend.account.service.EmailService;
import com.edgec.browserbackend.account.service.PaymentService;
import org.apache.commons.lang3.StringUtils;
import org.apache.commons.lang3.time.DateUtils;
import org.slf4j.Logger;
......@@ -47,9 +45,6 @@ public class AccountController {
@Autowired
private EmailService emailService;
@Autowired
private AlipayCertificationService alipayCertificationService;
private static final Logger logger = LoggerFactory.getLogger(AccountController.class);
@PreAuthorize("#oauth2.hasScope('server')")
......@@ -282,13 +277,6 @@ public class AccountController {
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)
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.ClientRequestException;
import com.edgec.browserbackend.common.commons.error.InternalServerErrorException;
......@@ -17,7 +17,7 @@ import org.springframework.web.context.request.WebRequest;
import org.springframework.web.servlet.mvc.method.annotation.ResponseEntityExceptionHandler;
@ControllerAdvice
public class ErrorHandler extends ResponseEntityExceptionHandler {
public class AccountErrorHandler extends ResponseEntityExceptionHandler {
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.domain.account.*;
import com.edgec.browserbackend.common.auth.Securitys;
import com.edgec.browserbackend.service.account.*;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.data.domain.Page;
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 org.apache.commons.lang3.StringUtils;
......
package com.edgec.browserbackend.domain.account;
package com.edgec.browserbackend.account.domain;
import com.fasterxml.jackson.annotation.JsonIgnoreProperties;
import org.hibernate.validator.constraints.Length;
......@@ -42,8 +42,6 @@ public class Account {
private boolean isPrePaid = true;
private boolean isVpsUser = false;
private String token;
/**
......@@ -59,14 +57,6 @@ public class Account {
isQualified = qualified;
}
public boolean isVpsUser() {
return isVpsUser;
}
public void setVpsUser(boolean vpsUser) {
isVpsUser = vpsUser;
}
public int getIprate() {
return iprate;
}
......
package com.edgec.browserbackend.domain.account;
package com.edgec.browserbackend.account.domain;
import java.util.ArrayList;
import java.util.Date;
......@@ -42,10 +42,6 @@ public class AccountDto {
private String parent;
private String realName;
private String idCard;
private String token;
public AccountDto(){
......@@ -59,14 +55,11 @@ public class AccountDto {
this.setCompanyName(account.getCompanyName());
this.setCountry(account.getCountry());
this.setEmail(account.getEmail());
this.setFullname(account.getFullname());
this.setJobTitle(account.getJobTitle());
this.setPhoneNumber(account.getPhoneNumber());
this.setProvince(account.getProvince());
this.setUserServices(account.getUserServices());
this.setParent(account.getParent());
this.setRealName(account.getRealName());
this.setIdCard(account.getIdCard());
this.setToken(account.getToken());
}
......@@ -225,21 +218,6 @@ public class AccountDto {
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() {
return token;
......
package com.edgec.browserbackend.domain.account;
package com.edgec.browserbackend.account.domain;
public enum AccountServerUsingStatus {
......
package com.edgec.browserbackend.domain.account;
package com.edgec.browserbackend.account.domain;
import com.fasterxml.jackson.annotation.JsonIgnoreProperties;
import org.springframework.data.annotation.Id;
......
package com.edgec.browserbackend.domain.account;
package com.edgec.browserbackend.account.domain;
public enum BillStatus {
NOTCREATED,
......
package com.edgec.browserbackend.domain.account;
package com.edgec.browserbackend.account.domain;
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 org.springframework.data.annotation.Id;
import org.springframework.data.mongodb.core.mapping.Document;
......
package com.edgec.browserbackend.domain.account;
package com.edgec.browserbackend.account.domain;
public class CompanyEarningsDto {
......
package com.edgec.browserbackend.domain.account;
package com.edgec.browserbackend.account.domain;
import org.springframework.data.mongodb.core.mapping.Document;
......
package com.edgec.browserbackend.domain.account;
package com.edgec.browserbackend.account.domain;
public class ContactUs {
......
package com.edgec.browserbackend.domain.account;
package com.edgec.browserbackend.account.domain;
public enum Currency {
......
package com.edgec.browserbackend.domain.account;
package com.edgec.browserbackend.account.domain;
public class DeductionRecord {
......
package com.edgec.browserbackend.domain.account;
package com.edgec.browserbackend.account.domain;
public enum EarningsStatus {
......
package com.edgec.browserbackend.domain.account;
package com.edgec.browserbackend.account.domain;
import org.springframework.data.mongodb.core.mapping.Document;
......
package com.edgec.browserbackend.domain.account;
package com.edgec.browserbackend.account.domain;
public enum InvoiceType {
......
package com.edgec.browserbackend.domain.account;
package com.edgec.browserbackend.account.domain;
public class IpChargeRequestDto {
private int period;
......
package com.edgec.browserbackend.domain.account;
package com.edgec.browserbackend.account.domain;
public class IpChargeResultDto {
......
package com.edgec.browserbackend.domain.account;
package com.edgec.browserbackend.account.domain;
import com.fasterxml.jackson.annotation.JsonIgnoreProperties;
import org.springframework.data.annotation.Id;
......
package com.edgec.browserbackend.domain.account;
package com.edgec.browserbackend.account.domain;
public enum PaymentMethod {
......
package com.edgec.browserbackend.domain.account;
package com.edgec.browserbackend.account.domain;
import com.fasterxml.jackson.annotation.JsonIgnoreProperties;
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 org.springframework.data.annotation.Id;
......
package com.edgec.browserbackend.domain.account;
package com.edgec.browserbackend.account.domain;
public enum ServiceType {
TRIAL,
......
package com.edgec.browserbackend.domain.account;
package com.edgec.browserbackend.account.domain;
public enum Services {
......
package com.edgec.browserbackend.domain.account;
package com.edgec.browserbackend.account.domain;
public enum TimePeriod {
......
package com.edgec.browserbackend.domain.account;
package com.edgec.browserbackend.account.domain;
import org.hibernate.validator.constraints.Length;
......
package com.edgec.browserbackend.domain.account;
package com.edgec.browserbackend.account.domain;
import com.fasterxml.jackson.annotation.JsonIgnoreProperties;
......
package com.edgec.browserbackend.domain.account;
package com.edgec.browserbackend.account.domain;
public class UserBillDto {
......
package com.edgec.browserbackend.domain.account;
package com.edgec.browserbackend.account.domain;
import java.util.ArrayList;
import java.util.List;
......
package com.edgec.browserbackend.domain.account;
package com.edgec.browserbackend.account.domain;
import com.fasterxml.jackson.annotation.JsonIgnoreProperties;
import org.springframework.data.annotation.Id;
......
package com.edgec.browserbackend.domain.account;
package com.edgec.browserbackend.account.domain;
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 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;
......
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 org.springframework.data.annotation.Id;
import org.springframework.data.mongodb.core.mapping.Document;
......
package com.edgec.browserbackend.domain.account;
package com.edgec.browserbackend.account.domain;
public class UserPaymentDto {
......
package com.edgec.browserbackend.domain.account;
package com.edgec.browserbackend.account.domain;
import com.fasterxml.jackson.annotation.JsonIgnoreProperties;
import org.apache.commons.lang3.StringUtils;
......
package com.edgec.browserbackend.domain.account;
package com.edgec.browserbackend.account.domain;
public class UserPrePaidBillingDto {
......
package com.edgec.browserbackend.domain.account;
package com.edgec.browserbackend.account.domain;
import com.fasterxml.jackson.annotation.JsonIgnoreProperties;
import org.springframework.data.annotation.Id;
......
package com.edgec.browserbackend.domain.account;
package com.edgec.browserbackend.account.domain;
import java.util.Date;
......
package com.edgec.browserbackend.dto;
package com.edgec.browserbackend.account.dto;
import com.edgec.browserbackend.domain.account.BillStatus;
import com.edgec.browserbackend.domain.account.Services;
import com.edgec.browserbackend.account.domain.BillStatus;
import com.edgec.browserbackend.account.domain.Services;
import java.util.ArrayList;
import java.util.Arrays;
......
package com.edgec.browserbackend.dto;
package com.edgec.browserbackend.account.dto;
// 购买,续费云主机时参数
public class CvmChargeRegion {
......
package com.edgec.browserbackend.exception;
package com.edgec.browserbackend.account.exception;
import com.edgec.browserbackend.common.commons.error.ErrorCode;
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.Pageable;
import org.springframework.data.mongodb.repository.MongoRepository;
......@@ -22,15 +22,7 @@ public interface AccountRepository extends MongoRepository<Account, String>, Acc
Page<Account> findByParentIsNull(Pageable request);
List<Account> findByAgencyID(String AgencyID);
Page<Account> findAllBySignupDateBetween(Pageable pageable, Date startDate, Date endDate);
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;
......
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.springframework.beans.factory.annotation.Autowired;
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.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.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.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.Pageable;
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;
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.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.stereotype.Repository;
......
package com.edgec.browserbackend.repository;
package com.edgec.browserbackend.account.repository;
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.springframework.beans.factory.annotation.Autowired;
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.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 {
......
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.springframework.beans.factory.annotation.Autowired;
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.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;
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;
......
package com.edgec.browserbackend.repository;
import com.edgec.browserbackend.domain.account.UserLackMoney;
package com.edgec.browserbackend.account.repository;
import com.edgec.browserbackend.account.domain.UserLackMoney;
import com.mongodb.client.result.UpdateResult;
import org.bson.Document;
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.Pageable;
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 {
......
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 org.bson.Document;
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.domain.account.UserPrePaidBilling;
import com.edgec.browserbackend.account.domain.BillStatus;
import com.edgec.browserbackend.account.domain.UserPrePaidBilling;
import org.springframework.data.domain.Page;
import org.springframework.data.domain.Pageable;
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.domain.account.DeductionRecord;
import com.edgec.browserbackend.domain.account.Services;
import com.edgec.browserbackend.domain.account.UserPrePaidBilling;
import com.edgec.browserbackend.dto.BillQueryCriteriaDto;
import com.edgec.browserbackend.account.domain.BillStatus;
import com.edgec.browserbackend.account.domain.DeductionRecord;
import com.edgec.browserbackend.account.domain.Services;
import com.edgec.browserbackend.account.domain.UserPrePaidBilling;
import com.edgec.browserbackend.account.dto.BillQueryCriteriaDto;
import org.springframework.data.domain.Page;
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.domain.account.DeductionRecord;
import com.edgec.browserbackend.domain.account.Services;
import com.edgec.browserbackend.domain.account.UserPrePaidBilling;
import com.edgec.browserbackend.dto.BillQueryCriteriaDto;
import com.edgec.browserbackend.account.domain.BillStatus;
import com.edgec.browserbackend.account.domain.DeductionRecord;
import com.edgec.browserbackend.account.domain.Services;
import com.edgec.browserbackend.account.domain.UserPrePaidBilling;
import com.edgec.browserbackend.account.dto.BillQueryCriteriaDto;
import com.mongodb.client.result.UpdateResult;
import org.bson.Document;
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.Pageable;
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.domain.account.*;
import com.edgec.browserbackend.dto.BillQueryCriteriaDto;
import com.edgec.browserbackend.dto.CloudUserOrderDto;
import com.edgec.browserbackend.account.dto.BillQueryCriteriaDto;
import org.springframework.data.domain.Page;
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.List;
......@@ -99,8 +94,6 @@ public interface AccountService {
String deletePreOrder(String userName);
boolean isIdcardAuth(String idCard, String type);
List<Invoice> findByUsername(String username);
boolean writeInvoice(Invoice invoice);
......@@ -109,31 +102,4 @@ public interface AccountService {
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.domain.account.*;
import org.springframework.data.domain.Page;
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.CacheManager;
......
package com.edgec.browserbackend.service.account;
package com.edgec.browserbackend.account.service;
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.Pageable;
......
package com.edgec.browserbackend.service.account;
package com.edgec.browserbackend.account.service;
import com.edgec.browserbackend.domain.account.UserBalance;
import com.edgec.browserbackend.domain.account.UserPaymentDto;
import com.edgec.browserbackend.account.domain.UserBalance;
import com.edgec.browserbackend.account.domain.UserPaymentDto;
public interface PaymentService {
......
package com.edgec.browserbackend.service.account;
package com.edgec.browserbackend.account.service;
import com.aliyuncs.CommonRequest;
import com.aliyuncs.CommonResponse;
......@@ -8,7 +8,7 @@ import com.aliyuncs.exceptions.ClientException;
import com.aliyuncs.exceptions.ServerException;
import com.aliyuncs.http.MethodType;
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 org.slf4j.Logger;
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.domain.account.UserPrePaidBilling;
import com.edgec.browserbackend.account.domain.UserLackMoney;
import com.edgec.browserbackend.account.domain.UserPrePaidBilling;
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.domain.account.UserPrePaidBilling;
import com.edgec.browserbackend.account.domain.BillStatus;
import com.edgec.browserbackend.account.domain.UserPrePaidBilling;
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.Pageable;
......
package com.edgec.browserbackend.service.account.impl;
package com.edgec.browserbackend.account.service.impl;
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.domain.account.*;
import com.edgec.browserbackend.dto.BillQueryCriteriaDto;
import com.edgec.browserbackend.dto.CloudUserOrderDto;
import com.edgec.browserbackend.dto.CvmChargeRegion;
import com.edgec.browserbackend.exception.AccountErrorCode;
import com.edgec.browserbackend.repository.*;
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.account.dto.BillQueryCriteriaDto;
import com.edgec.browserbackend.account.exception.AccountErrorCode;
import com.edgec.browserbackend.account.repository.*;
import com.edgec.browserbackend.account.service.EmailService;
import com.edgec.browserbackend.account.utils.AccountServicePool;
import com.edgec.browserbackend.auth.service.UserAuthService;
import com.edgec.browserbackend.common.charge.ChargeType;
import com.edgec.browserbackend.common.commons.error.ClientRequestException;
import com.edgec.browserbackend.common.commons.utils.CommonStringUtils;
......@@ -20,6 +18,7 @@ import com.edgec.browserbackend.common.commons.utils.SmsUtils;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.context.annotation.ComponentScan;
import org.springframework.data.domain.Page;
import org.springframework.data.domain.Pageable;
import org.springframework.stereotype.Service;
......@@ -27,9 +26,6 @@ import org.springframework.transaction.annotation.Transactional;
import org.springframework.util.Assert;
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.YearMonth;
import java.time.ZoneOffset;
......@@ -42,6 +38,7 @@ import java.util.stream.Collectors;
@Service
@Transactional
@ComponentScan("com.edgec.browserbackend.account.repository")
public class AccountServiceImpl implements AccountService {
private static final int TRIVAL_MONTHS = 1;
......@@ -568,21 +565,12 @@ public class AccountServiceImpl implements AccountService {
account.setAllowedToCreateSubUser(true);
if (isVps) {
// account.setParent("vpsclient");
account.setVpsUser(true);
} else {
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);
userAuthService.create(new com.edgec.browserbackend.domain.auth.User(user));
userAuthService.create(new com.edgec.browserbackend.auth.domain.User(user));
repository.save(account);
log.info("new account has been created: " + account.getName());
......@@ -636,7 +624,7 @@ public class AccountServiceImpl implements AccountService {
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);
log.info("new account has been created: " + account.getName());
......@@ -733,15 +721,12 @@ public class AccountServiceImpl implements AccountService {
authUser.setPhone(user.getPhoneNumber());
authUser.setEmail(user.getEmail());
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.setPhoneNumber(user.getPhoneNumber());
account.setEmail(user.getEmail());
account.setParent(name);
if (user.isVpsUser()) {
account.setVpsUser(true);
}
repository.save(account);
......@@ -793,7 +778,7 @@ public class AccountServiceImpl implements AccountService {
User newuser = new User();
newuser.setUsername(account.getName());
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);
return account;
......@@ -816,7 +801,7 @@ public class AccountServiceImpl implements AccountService {
newuser.setUsername(account.getName());
String code = UUID.randomUUID().toString() + System.currentTimeMillis();
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);
log.info("password has been reset for: " + user);
......@@ -858,7 +843,7 @@ public class AccountServiceImpl implements AccountService {
client.setUsername(account.getName());
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 {
@Override
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.setPhone(phone);
otp.setOtp(code);
......@@ -956,12 +941,12 @@ public class AccountServiceImpl implements AccountService {
@Override
public Page<Account> listAccountBySingupDate(Pageable pageable, Date beginDate, Date endDate) {
return repository.findBySignupDateBetweenAndIsVpsUser(pageable, beginDate, endDate, true);
return repository.findAllBySignupDateBetween(pageable, beginDate, endDate);
}
@Override
public Account findByName(String accountName, boolean isVpsUser) {
return repository.findByNameAndIsVpsUser(accountName, true);
return repository.findByName(accountName);
}
@Override
......@@ -979,23 +964,6 @@ public class AccountServiceImpl implements AccountService {
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
public List<Invoice> findByUsername(String username) {
List<Invoice> invoices = invoiceRepository.findByUsernameOrderByDateDesc(username);
......@@ -1031,165 +999,4 @@ public class AccountServiceImpl implements AccountService {
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.domain.account.*;
import com.edgec.browserbackend.exception.AccountErrorCode;
import com.edgec.browserbackend.repository.*;
import com.edgec.browserbackend.service.account.AdministratorService;
import com.edgec.browserbackend.service.auth.UserAuthService;
import com.edgec.browserbackend.account.exception.AccountErrorCode;
import com.edgec.browserbackend.account.repository.*;
import com.edgec.browserbackend.account.service.AdministratorService;
import com.edgec.browserbackend.auth.service.UserAuthService;
import com.edgec.browserbackend.common.commons.error.ClientRequestException;
import org.apache.commons.lang3.StringUtils;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.context.annotation.ComponentScan;
import org.springframework.data.domain.Page;
import org.springframework.data.domain.Pageable;
import org.springframework.stereotype.Service;
......@@ -26,6 +26,7 @@ import java.util.StringTokenizer;
@Service
@ComponentScan("com.edgec.browserbackend.account.repository")
public class AdministratorServiceImpl implements AdministratorService {
private final Logger log = LoggerFactory.getLogger(getClass());
......@@ -61,7 +62,7 @@ public class AdministratorServiceImpl implements AdministratorService {
newUser.setPassword(administrator.getPassword());
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("");
administratorRepository.save(administrator1);
......@@ -115,7 +116,7 @@ public class AdministratorServiceImpl implements AdministratorService {
User newUser = new User();
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;
}
......@@ -130,7 +131,7 @@ public class AdministratorServiceImpl implements AdministratorService {
User abnormalUser = new User();
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);
......
package com.edgec.browserbackend.service.account.impl;
package com.edgec.browserbackend.account.service.impl;
import com.edgec.browserbackend.exception.AccountErrorCode;
import com.edgec.browserbackend.service.account.EmailService;
import com.edgec.browserbackend.account.exception.AccountErrorCode;
import com.edgec.browserbackend.account.service.EmailService;
import com.edgec.browserbackend.common.commons.error.ClientRequestException;
import org.slf4j.Logger;
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.repository.MonthReportRepository;
import com.edgec.browserbackend.service.account.MonthReportService;
import com.edgec.browserbackend.account.service.MonthReportService;
import com.edgec.browserbackend.account.domain.CompanyMonthReport;
import com.edgec.browserbackend.account.repository.MonthReportRepository;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.data.domain.Page;
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.alipay.api.AlipayClient;
......@@ -7,15 +7,14 @@ import com.alipay.api.request.AlipayTradePagePayRequest;
import com.alipay.api.request.AlipayTradeQueryRequest;
import com.alipay.api.response.AlipayTradePagePayResponse;
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.controller.account.AccountController;
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.account.service.SmsUtils;
import com.edgec.browserbackend.alipay.AlipayConfig;
import com.edgec.browserbackend.alipay.CloudamAlipayConfig;
import com.edgec.browserbackend.alipay.VpsAlipayConfig;
......@@ -24,6 +23,7 @@ import com.edgec.browserbackend.wxpay.*;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.context.annotation.ComponentScan;
import org.springframework.stereotype.Service;
import java.util.HashMap;
......@@ -95,7 +95,7 @@ public class PaymentServiceImpl implements PaymentService {
if (byName == null)
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();
WXPay wxPay = new WXPay(ourWxPayConfig);
......@@ -194,7 +194,7 @@ public class PaymentServiceImpl implements PaymentService {
if (byName == null)
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();
AlipayClient alipayClient = new DefaultAlipayClient(alipayConfig.getURL(), alipayConfig.getAPPID(), alipayConfig.getAPP_PRIVATE_KEY(),
......@@ -246,7 +246,7 @@ public class PaymentServiceImpl implements PaymentService {
if (byName == null)
throw new ClientRequestException(AccountErrorCode.NAMENOTEXIST, "account does not exist: " + username);
boolean isVpsClient = byName.isVpsUser();
boolean isVpsClient = true;
UserPayment internalOrder = new UserPayment();
internalOrder.setAmount(amount);
......@@ -299,7 +299,7 @@ public class PaymentServiceImpl implements PaymentService {
if (byName == null)
throw new ClientRequestException(AccountErrorCode.NAMENOTEXIST, "account does not exist: " + username);
boolean isVpsClient = byName.isVpsUser();
boolean isVpsClient = true;
UserPayment internalOrder = new UserPayment();
internalOrder.setAmount(amount);
......@@ -376,7 +376,7 @@ public class PaymentServiceImpl implements PaymentService {
if (byName == null)
throw new ClientRequestException(AccountErrorCode.NAMENOTEXIST, "account does not exist: " + username);
boolean isVpsClient = byName.isVpsUser();
boolean isVpsClient = true;
UserPayment internalOrder = new UserPayment();
internalOrder.setAmount(amount);
......
package com.edgec.browserbackend.service.account.impl;
package com.edgec.browserbackend.account.service.impl;
import com.alibaba.fastjson.JSONObject;
import com.edgec.browserbackend.account.domain.*;
import com.edgec.browserbackend.domain.account.*;
import com.edgec.browserbackend.repository.AccountRepository;
import com.edgec.browserbackend.repository.UserLackMoneyRepository;
import com.edgec.browserbackend.service.account.UserLackMoneyService;
import com.edgec.browserbackend.account.repository.AccountRepository;
import com.edgec.browserbackend.account.repository.UserLackMoneyRepository;
import com.edgec.browserbackend.account.service.UserLackMoneyService;
import com.edgec.browserbackend.common.commons.utils.SmsUtils;
import org.springframework.beans.factory.annotation.Autowired;
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.domain.account.DeductionRecord;
import com.edgec.browserbackend.domain.account.UserBalance;
import com.edgec.browserbackend.domain.account.UserPrePaidBilling;
import com.edgec.browserbackend.repository.UserBalanceRepository;
import com.edgec.browserbackend.repository.UserPrePaidBillingRepository;
import com.edgec.browserbackend.service.account.UserLackMoneyService;
import com.edgec.browserbackend.service.account.UserPrePaidBillingService;
import com.edgec.browserbackend.utils.AccountServicePool;
import com.edgec.browserbackend.account.service.UserLackMoneyService;
import com.edgec.browserbackend.account.service.UserPrePaidBillingService;
import com.edgec.browserbackend.account.domain.BillStatus;
import com.edgec.browserbackend.account.domain.DeductionRecord;
import com.edgec.browserbackend.account.domain.UserBalance;
import com.edgec.browserbackend.account.domain.UserPrePaidBilling;
import com.edgec.browserbackend.account.repository.UserBalanceRepository;
import com.edgec.browserbackend.account.repository.UserPrePaidBillingRepository;
import com.edgec.browserbackend.account.utils.AccountServicePool;
import org.springframework.beans.factory.annotation.Autowired;
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.exception.AccountErrorCode;
import com.edgec.browserbackend.repository.UserRateRepository;
import com.edgec.browserbackend.service.account.UserRateService;
import com.edgec.browserbackend.account.service.UserRateService;
import com.edgec.browserbackend.account.domain.UserRate;
import com.edgec.browserbackend.account.exception.AccountErrorCode;
import com.edgec.browserbackend.account.repository.UserRateRepository;
import com.edgec.browserbackend.common.commons.error.ClientRequestException;
import org.springframework.beans.factory.annotation.Autowired;
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 org.apache.commons.logging.Log;
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.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.Qualifier;
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.IntelligroupOauthException;
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.context.annotation.Bean;
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.ClientRequestException;
import com.edgec.browserbackend.common.commons.error.InternalServerErrorException;
......@@ -17,7 +17,7 @@ import org.springframework.web.context.request.WebRequest;
import org.springframework.web.servlet.mvc.method.annotation.ResponseEntityExceptionHandler;
@ControllerAdvice
public class ErrorHandler extends ResponseEntityExceptionHandler {
public class AuthErrorHandler extends ResponseEntityExceptionHandler {
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.domain.auth.UserPasswordReset;
import com.edgec.browserbackend.service.auth.UserAuthService;
import com.edgec.browserbackend.auth.domain.User;
import com.edgec.browserbackend.auth.domain.UserPasswordReset;
import com.edgec.browserbackend.auth.service.UserAuthService;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.beans.factory.annotation.Qualifier;
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;
......
package com.edgec.browserbackend.domain.auth;
package com.edgec.browserbackend.auth.domain;
import org.apache.commons.lang3.StringUtils;
import org.springframework.data.annotation.Id;
......@@ -101,7 +101,7 @@ public class User implements UserDetails {
return enabled;
}
public User(com.edgec.browserbackend.domain.User user) {
public User(com.edgec.browserbackend.account.domain.User user) {
if (StringUtils.isNotEmpty(user.getEmail()))
setEmail(user.getEmail());
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.mongodb.core.mapping.Document;
......
package com.edgec.browserbackend.domain.auth;
package com.edgec.browserbackend.auth.domain;
public class UserPasswordReset {
......
package com.edgec.browserbackend.error;
package com.edgec.browserbackend.auth.exception;
import com.edgec.browserbackend.common.commons.error.ErrorCode;
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.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;
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.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.domain.auth.UserPasswordReset;
import com.edgec.browserbackend.auth.domain.User;
import com.edgec.browserbackend.auth.domain.UserPasswordReset;
public interface UserAuthService {
......
package com.edgec.browserbackend.service.auth;
import com.edgec.browserbackend.domain.auth.Roles;
import com.edgec.browserbackend.domain.auth.User;
import com.edgec.browserbackend.domain.auth.UserPasswordReset;
import com.edgec.browserbackend.error.AuthErrorCode;
import com.edgec.browserbackend.repository.RolesRepository;
import com.edgec.browserbackend.repository.UserRepository;
package com.edgec.browserbackend.auth.service;
import com.edgec.browserbackend.auth.domain.Roles;
import com.edgec.browserbackend.auth.domain.User;
import com.edgec.browserbackend.auth.domain.UserPasswordReset;
import com.edgec.browserbackend.auth.exception.AuthErrorCode;
import com.edgec.browserbackend.auth.repository.RolesRepository;
import com.edgec.browserbackend.auth.repository.UserRepository;
import com.edgec.browserbackend.common.commons.error.ClientRequestException;
import org.apache.commons.lang3.StringUtils;
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.domain.auth.UserAttemptsLogin;
import com.edgec.browserbackend.error.AuthErrorCode;
import com.edgec.browserbackend.repository.UserAttemptsLoginRepository;
import com.edgec.browserbackend.repository.UserRepository;
import com.edgec.browserbackend.auth.domain.User;
import com.edgec.browserbackend.auth.domain.UserAttemptsLogin;
import com.edgec.browserbackend.auth.exception.AuthErrorCode;
import com.edgec.browserbackend.auth.repository.UserAttemptsLoginRepository;
import com.edgec.browserbackend.auth.repository.UserRepository;
import com.edgec.browserbackend.common.commons.error.ClientRequestException;
import org.springframework.beans.factory.annotation.Autowired;
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.domain.auth.UserAttemptsLogin;
import com.edgec.browserbackend.error.AuthErrorCode;
import com.edgec.browserbackend.repository.UserAttemptsLoginRepository;
import com.edgec.browserbackend.repository.UserRepository;
import com.edgec.browserbackend.auth.domain.User;
import com.edgec.browserbackend.auth.domain.UserAttemptsLogin;
import com.edgec.browserbackend.auth.exception.AuthErrorCode;
import com.edgec.browserbackend.auth.repository.UserAttemptsLoginRepository;
import com.edgec.browserbackend.auth.repository.UserRepository;
import com.edgec.browserbackend.common.commons.error.ClientRequestException;
import org.springframework.beans.factory.annotation.Autowired;
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.domain.auth.User;
import com.edgec.browserbackend.repository.RolesRepository;
import com.edgec.browserbackend.repository.UserRepository;
import com.edgec.browserbackend.auth.domain.Roles;
import com.edgec.browserbackend.auth.domain.User;
import com.edgec.browserbackend.auth.repository.RolesRepository;
import com.edgec.browserbackend.auth.repository.UserRepository;
import org.apache.commons.lang3.StringUtils;
import org.springframework.beans.factory.annotation.Autowired;
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;
import com.edgec.commons.core.ApplicationContextProvider;
import com.edgec.browserbackend.common.commons.core.ApplicationContextProvider;
import com.fasterxml.jackson.annotation.JsonFormat;
import org.springframework.context.MessageSource;
import org.springframework.context.NoSuchMessageException;
......
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.databind.SerializerProvider;
import com.fasterxml.jackson.databind.ser.std.StdSerializer;
......
package com.edgec.browserbackend.common.commons.utils;
import com.alibaba.fastjson.JSONObject;
import com.edgec.commons.core.ApplicationContextProvider;
import com.edgec.commons.domain.WeixinMessage;
import com.edgec.browserbackend.common.commons.core.ApplicationContextProvider;
import com.edgec.browserbackend.common.commons.domain.WeixinMessage;
import org.apache.http.client.methods.CloseableHttpResponse;
import org.apache.http.client.methods.HttpPost;
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;
import java.security.KeyStore;
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 {
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