Commit 5f70e1fe authored by Administrator's avatar Administrator

创建项目

parent 3aac1d6d
......@@ -10,7 +10,10 @@ import cn.quant.baa.pay.jpa.entity.AccountIds;
import cn.quant.baa.pay.jpa.entity.EntityBuilder;
import cn.quant.baa.pay.jpa.repository.AccountRepository;
import cn.quant.baa.pay.model.AssertUtils;
import cn.quant.spring.IllegalParameterException;
import cn.quant.spring.NullException;
import cn.quant.spring.context.ContextLoader;
import cn.quant.spring.context.ServerApplicationContext;
import cn.quant.spring.util.DateUtils;
import cn.quant.spring.util.StringUtils;
import org.slf4j.Logger;
......@@ -20,9 +23,12 @@ import org.springframework.data.jpa.repository.JpaRepository;
import org.springframework.transaction.annotation.Propagation;
import org.springframework.transaction.annotation.Transactional;
import javax.validation.ConstraintViolation;
import javax.validation.Validator;
import java.math.BigDecimal;
import java.time.LocalDate;
import java.util.Date;
import java.util.Set;
import static cn.quant.baa.pay.Constant.MINI_LOCAL_DATE;
import static cn.quant.baa.pay.dict.MessageEnum.*;
......@@ -34,6 +40,25 @@ public abstract class BusinessService {
private static final Logger logger = LoggerFactory.getLogger(BusinessService.class);
@Autowired
private Validator validator;
public <T> void validate(T t) {
if (t == null) {
throw new NullException();
}
Set<ConstraintViolation<T>> validate = validator.validate(t);
if (validate.size() > 0) {
ConstraintViolation<T> next = validate.iterator().next();
String s = next.getPropertyPath().toString();
String template = next.getMessageTemplate();
ServerApplicationContext applicationContext = ContextLoader.getCurrentApplicationContext();
String message = applicationContext.getMessage(template, "{0}-Illegal request parameter", (Object) s);
throw new IllegalParameterException(message);
}
}
public TransactionSession prepare(String institutionId, String productId, String buyerId, TransactionSession session) {
......
......@@ -40,6 +40,9 @@ public class TransactionService extends BusinessService {
@Transactional
public void pay(PayRequestData data) {
validate(data);
String chanId = data.getChanId();
MerchantAcquirerProfile profile = merchantAcquirerBuilder.get(Long.valueOf(chanId));
if (profile == null) {
......
......@@ -19,23 +19,4 @@ import static cn.quant.baa.pay.dict.MessageEnum.EMPTY_REQ_DATA;
*/
public abstract class BusinessController extends AbstractController {
@Autowired
private Validator validator;
public <T> void validate(T t) {
if (t == null) {
throw new NullException();
}
Set<ConstraintViolation<T>> validate = validator.validate(t);
if (validate.size() > 0) {
ConstraintViolation<T> next = validate.iterator().next();
String s = next.getPropertyPath().toString();
String template = next.getMessageTemplate();
ServerApplicationContext applicationContext = ContextLoader.getCurrentApplicationContext();
String message = applicationContext.getMessage(template, "{0}-Illegal request parameter", (Object) s);
throw new IllegalParameterException(message);
}
}
}
......@@ -31,7 +31,7 @@ public class TransactionController extends BusinessController {
PayRequestData data = request.getData();
validate(data);
transactionService.pay(data);
......
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