Ver código fonte

add project

master
xiaohanzi 3 anos atrás
pai
commit
0e029e6e16
100 arquivos alterados com 17385 adições e 0 exclusões
  1. +87
    -0
      service-fumao/pom.xml
  2. +20
    -0
      service-fumao/src/main/java/com/neusoft/smart/pos/fumao/ServiceFumaoApplication.java
  3. +19
    -0
      service-fumao/src/main/java/com/neusoft/smart/pos/fumao/constants/FumaoConstants.java
  4. +38
    -0
      service-fumao/src/main/java/com/neusoft/smart/pos/fumao/constants/FumaoErrorCode.java
  5. +71
    -0
      service-fumao/src/main/java/com/neusoft/smart/pos/fumao/controller/FumaoController.java
  6. +24
    -0
      service-fumao/src/main/java/com/neusoft/smart/pos/fumao/persistent/domain/FumaoTenantInfo.java
  7. +591
    -0
      service-fumao/src/main/java/com/neusoft/smart/pos/fumao/persistent/domain/FumaoTenantInfoExample.java
  8. +23
    -0
      service-fumao/src/main/java/com/neusoft/smart/pos/fumao/persistent/ext/domain/FumaoMerchantQueryRequest.java
  9. +15
    -0
      service-fumao/src/main/java/com/neusoft/smart/pos/fumao/persistent/mapper/FumaoPayChannelMapper.java
  10. +350
    -0
      service-fumao/src/main/java/com/neusoft/smart/pos/fumao/persistent/repository/FumaoBusinessActionRepository.java
  11. +182
    -0
      service-fumao/src/main/java/com/neusoft/smart/pos/fumao/service/FumaoBusinessService.java
  12. +13
    -0
      service-fumao/src/main/java/com/neusoft/smart/pos/fumao/service/IBusinessService.java
  13. +103
    -0
      service-fumao/src/main/java/com/neusoft/smart/pos/fumao/utils/AmountUtils.java
  14. +175
    -0
      service-fumao/src/main/java/com/neusoft/smart/pos/fumao/utils/HttpClientUtils.java
  15. +10
    -0
      service-fumao/src/main/resources/bootstrap.yml
  16. +91
    -0
      service-fumao/src/main/resources/mybatis/mapping/FumaoPayChannelMapper.xml
  17. +6
    -0
      service-payment/Dockerfile
  18. +100
    -0
      service-payment/pom.xml
  19. +14
    -0
      service-payment/src/main/java/com/neusoft/smart/pos/ServicePaymentApplication.java
  20. +17
    -0
      service-payment/src/main/java/com/neusoft/smart/pos/payment/constants/AliPayConstants.java
  21. +68
    -0
      service-payment/src/main/java/com/neusoft/smart/pos/payment/constants/ChinaumsPayConstants.java
  22. +40
    -0
      service-payment/src/main/java/com/neusoft/smart/pos/payment/constants/FumaoPayConstants.java
  23. +13
    -0
      service-payment/src/main/java/com/neusoft/smart/pos/payment/constants/PaymentConstants.java
  24. +97
    -0
      service-payment/src/main/java/com/neusoft/smart/pos/payment/constants/PaymentErrorCode.java
  25. +43
    -0
      service-payment/src/main/java/com/neusoft/smart/pos/payment/constants/UnionPayConstants.java
  26. +12
    -0
      service-payment/src/main/java/com/neusoft/smart/pos/payment/constants/WFTPayConstants.java
  27. +53
    -0
      service-payment/src/main/java/com/neusoft/smart/pos/payment/constants/WXPayConstants.java
  28. +37
    -0
      service-payment/src/main/java/com/neusoft/smart/pos/payment/constants/WXUsPayConstants.java
  29. +25
    -0
      service-payment/src/main/java/com/neusoft/smart/pos/payment/constants/XYHFPayConstants.java
  30. +30
    -0
      service-payment/src/main/java/com/neusoft/smart/pos/payment/controller/AliGrantPayNotifyController.java
  31. +30
    -0
      service-payment/src/main/java/com/neusoft/smart/pos/payment/controller/AliPayNotifyController.java
  32. +46
    -0
      service-payment/src/main/java/com/neusoft/smart/pos/payment/controller/ChinaumsPayNotifyController.java
  33. +45
    -0
      service-payment/src/main/java/com/neusoft/smart/pos/payment/controller/ChinaumsPayServiceNotifyController.java
  34. +60
    -0
      service-payment/src/main/java/com/neusoft/smart/pos/payment/controller/FumaoPayController.java
  35. +69
    -0
      service-payment/src/main/java/com/neusoft/smart/pos/payment/controller/GrantPayController.java
  36. +32
    -0
      service-payment/src/main/java/com/neusoft/smart/pos/payment/controller/MchController.java
  37. +51
    -0
      service-payment/src/main/java/com/neusoft/smart/pos/payment/controller/MchPayChannelController.java
  38. +63
    -0
      service-payment/src/main/java/com/neusoft/smart/pos/payment/controller/PayController.java
  39. +33
    -0
      service-payment/src/main/java/com/neusoft/smart/pos/payment/controller/UnionPayNotifyController.java
  40. +45
    -0
      service-payment/src/main/java/com/neusoft/smart/pos/payment/controller/WXPayNotifyController.java
  41. +43
    -0
      service-payment/src/main/java/com/neusoft/smart/pos/payment/controller/WXUsPayNotifyController.java
  42. +31
    -0
      service-payment/src/main/java/com/neusoft/smart/pos/payment/controller/XYHFPayNotifyController.java
  43. +308
    -0
      service-payment/src/main/java/com/neusoft/smart/pos/payment/persistent/domain/GrantPayOrder.java
  44. +2229
    -0
      service-payment/src/main/java/com/neusoft/smart/pos/payment/persistent/domain/GrantPayOrderExample.java
  45. +208
    -0
      service-payment/src/main/java/com/neusoft/smart/pos/payment/persistent/domain/MchPayChannel.java
  46. +1519
    -0
      service-payment/src/main/java/com/neusoft/smart/pos/payment/persistent/domain/MchPayChannelExample.java
  47. +118
    -0
      service-payment/src/main/java/com/neusoft/smart/pos/payment/persistent/domain/MchPayInfo.java
  48. +959
    -0
      service-payment/src/main/java/com/neusoft/smart/pos/payment/persistent/domain/MchPayInfoExample.java
  49. +108
    -0
      service-payment/src/main/java/com/neusoft/smart/pos/payment/persistent/domain/MchPaymentTradeLog.java
  50. +899
    -0
      service-payment/src/main/java/com/neusoft/smart/pos/payment/persistent/domain/MchPaymentTradeLogExample.java
  51. +27
    -0
      service-payment/src/main/java/com/neusoft/smart/pos/payment/persistent/domain/MchPaymentTradeLogWithBLOBs.java
  52. +258
    -0
      service-payment/src/main/java/com/neusoft/smart/pos/payment/persistent/domain/PayOrder.java
  53. +1929
    -0
      service-payment/src/main/java/com/neusoft/smart/pos/payment/persistent/domain/PayOrderExample.java
  54. +178
    -0
      service-payment/src/main/java/com/neusoft/smart/pos/payment/persistent/domain/PayRefundOrder.java
  55. +1359
    -0
      service-payment/src/main/java/com/neusoft/smart/pos/payment/persistent/domain/PayRefundOrderExample.java
  56. +149
    -0
      service-payment/src/main/java/com/neusoft/smart/pos/payment/persistent/domain/PayTypeDict.java
  57. +1160
    -0
      service-payment/src/main/java/com/neusoft/smart/pos/payment/persistent/domain/PayTypeDictExample.java
  58. +108
    -0
      service-payment/src/main/java/com/neusoft/smart/pos/payment/persistent/domain/PaymentTradeLog.java
  59. +899
    -0
      service-payment/src/main/java/com/neusoft/smart/pos/payment/persistent/domain/PaymentTradeLogExample.java
  60. +27
    -0
      service-payment/src/main/java/com/neusoft/smart/pos/payment/persistent/domain/PaymentTradeLogWithBLOBs.java
  61. +138
    -0
      service-payment/src/main/java/com/neusoft/smart/pos/payment/persistent/domain/UserPayInfo.java
  62. +1109
    -0
      service-payment/src/main/java/com/neusoft/smart/pos/payment/persistent/domain/UserPayInfoExample.java
  63. +43
    -0
      service-payment/src/main/java/com/neusoft/smart/pos/payment/persistent/ext/domain/AliGrantPayNotify.java
  64. +14
    -0
      service-payment/src/main/java/com/neusoft/smart/pos/payment/persistent/ext/domain/AliPayCreateOrder.java
  65. +37
    -0
      service-payment/src/main/java/com/neusoft/smart/pos/payment/persistent/ext/domain/AliPayNotify.java
  66. +18
    -0
      service-payment/src/main/java/com/neusoft/smart/pos/payment/persistent/ext/domain/BizGrantPayNotify.java
  67. +16
    -0
      service-payment/src/main/java/com/neusoft/smart/pos/payment/persistent/ext/domain/BizPayNotify.java
  68. +18
    -0
      service-payment/src/main/java/com/neusoft/smart/pos/payment/persistent/ext/domain/BizPayRefundNotify.java
  69. +17
    -0
      service-payment/src/main/java/com/neusoft/smart/pos/payment/persistent/ext/domain/ChinaumsBscPayCreateOrder.java
  70. +13
    -0
      service-payment/src/main/java/com/neusoft/smart/pos/payment/persistent/ext/domain/ChinaumsBscPayQueryOrder.java
  71. +15
    -0
      service-payment/src/main/java/com/neusoft/smart/pos/payment/persistent/ext/domain/ChinaumsBscPayRefundOrder.java
  72. +14
    -0
      service-payment/src/main/java/com/neusoft/smart/pos/payment/persistent/ext/domain/ChinaumsBscPayReverseOrder.java
  73. +12
    -0
      service-payment/src/main/java/com/neusoft/smart/pos/payment/persistent/ext/domain/ChinaumsBscPayVoidOrder.java
  74. +18
    -0
      service-payment/src/main/java/com/neusoft/smart/pos/payment/persistent/ext/domain/ChinaumsPayCannelOrder.java
  75. +21
    -0
      service-payment/src/main/java/com/neusoft/smart/pos/payment/persistent/ext/domain/ChinaumsPayCreateOrder.java
  76. +19
    -0
      service-payment/src/main/java/com/neusoft/smart/pos/payment/persistent/ext/domain/ChinaumsPayQueryOrder.java
  77. +19
    -0
      service-payment/src/main/java/com/neusoft/smart/pos/payment/persistent/ext/domain/ChinaumsPayRefundOrder.java
  78. +18
    -0
      service-payment/src/main/java/com/neusoft/smart/pos/payment/persistent/ext/domain/ChinaumsPayServiceCannelOrder.java
  79. +20
    -0
      service-payment/src/main/java/com/neusoft/smart/pos/payment/persistent/ext/domain/ChinaumsPayServiceCreateOrder.java
  80. +18
    -0
      service-payment/src/main/java/com/neusoft/smart/pos/payment/persistent/ext/domain/ChinaumsPayServiceQueryOrder.java
  81. +18
    -0
      service-payment/src/main/java/com/neusoft/smart/pos/payment/persistent/ext/domain/ChinaumsPayServiceRefundOrder.java
  82. +14
    -0
      service-payment/src/main/java/com/neusoft/smart/pos/payment/persistent/ext/domain/ThirdPlatformCancelOrder.java
  83. +16
    -0
      service-payment/src/main/java/com/neusoft/smart/pos/payment/persistent/ext/domain/ThirdPlatformCreateOrder.java
  84. +14
    -0
      service-payment/src/main/java/com/neusoft/smart/pos/payment/persistent/ext/domain/ThirdPlatformCreateScanOrder.java
  85. +19
    -0
      service-payment/src/main/java/com/neusoft/smart/pos/payment/persistent/ext/domain/ThirdPlatformFreezePay.java
  86. +20
    -0
      service-payment/src/main/java/com/neusoft/smart/pos/payment/persistent/ext/domain/ThirdPlatformGrantToPay.java
  87. +15
    -0
      service-payment/src/main/java/com/neusoft/smart/pos/payment/persistent/ext/domain/ThirdPlatformInitFacePay.java
  88. +15
    -0
      service-payment/src/main/java/com/neusoft/smart/pos/payment/persistent/ext/domain/ThirdPlatformQueryOrder.java
  89. +34
    -0
      service-payment/src/main/java/com/neusoft/smart/pos/payment/persistent/ext/domain/ThirdPlatformQueryPayGrant.java
  90. +16
    -0
      service-payment/src/main/java/com/neusoft/smart/pos/payment/persistent/ext/domain/ThirdPlatformRefundOrder.java
  91. +14
    -0
      service-payment/src/main/java/com/neusoft/smart/pos/payment/persistent/ext/domain/ThirdPlatformReverseOrder.java
  92. +14
    -0
      service-payment/src/main/java/com/neusoft/smart/pos/payment/persistent/ext/domain/ThirdPlatformReversePayGrant.java
  93. +16
    -0
      service-payment/src/main/java/com/neusoft/smart/pos/payment/persistent/ext/domain/ThirdPlatformUnFreezePayGrant.java
  94. +28
    -0
      service-payment/src/main/java/com/neusoft/smart/pos/payment/persistent/ext/domain/UnionPayCreateOrder.java
  95. +29
    -0
      service-payment/src/main/java/com/neusoft/smart/pos/payment/persistent/ext/domain/UnionPayCreateOrderScan.java
  96. +60
    -0
      service-payment/src/main/java/com/neusoft/smart/pos/payment/persistent/ext/domain/UnionPayNotify.java
  97. +25
    -0
      service-payment/src/main/java/com/neusoft/smart/pos/payment/persistent/ext/domain/UnionPayQueryOrder.java
  98. +31
    -0
      service-payment/src/main/java/com/neusoft/smart/pos/payment/persistent/ext/domain/UnionPayRefundOrder.java
  99. +18
    -0
      service-payment/src/main/java/com/neusoft/smart/pos/payment/persistent/ext/domain/WFTPayCreateOrder.java
  100. +15
    -0
      service-payment/src/main/java/com/neusoft/smart/pos/payment/persistent/ext/domain/WFTPayQueryOrder.java

+ 87
- 0
service-fumao/pom.xml Ver arquivo

@@ -0,0 +1,87 @@
<?xml version="1.0" encoding="UTF-8"?>
<project xmlns="http://maven.apache.org/POM/4.0.0"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
<modelVersion>4.0.0</modelVersion>

<groupId>com.neusoft.smart.pos</groupId>
<artifactId>service-fumao</artifactId>
<version>1.0-SNAPSHOT</version>

<properties>
<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
<project.reporting.outputEncoding>UTF-8</project.reporting.outputEncoding>
<java.version>1.8</java.version>
<spring-cloud.version>Edgware.RELEASE</spring-cloud.version>
</properties>

<parent>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-parent</artifactId>
<version>1.5.9.RELEASE</version>
<relativePath/> <!-- lookup parent from repository -->
</parent>

<dependencies>
<dependency>
<groupId>org.springframework.cloud</groupId>
<artifactId>spring-cloud-starter-netflix-eureka-client</artifactId>
</dependency>
<dependency>
<groupId>org.springframework.cloud</groupId>
<artifactId>spring-cloud-starter-config</artifactId>
</dependency>
<dependency>
<groupId>org.springframework.cloud</groupId>
<artifactId>spring-cloud-starter-zuul</artifactId>
</dependency>
<dependency>
<groupId>org.springframework.cloud</groupId>
<artifactId>spring-cloud-starter-feign</artifactId>
</dependency>
<dependency>
<groupId>com.alibaba</groupId>
<artifactId>fastjson</artifactId>
<version>1.2.36</version>
</dependency>
<dependency>
<groupId>com.neusoft.smart.pos</groupId>
<artifactId>framework</artifactId>
<version>1.0-SNAPSHOT</version>
</dependency>
<dependency>
<groupId>com.neusoft.smart.pos</groupId>
<artifactId>common</artifactId>
<version>1.0-SNAPSHOT</version>
</dependency>
<dependency>
<groupId>net.sf.json-lib</groupId>
<artifactId>json-lib</artifactId>
<version>2.4</version>
<classifier>jdk15</classifier>
</dependency>
</dependencies>


<dependencyManagement>
<dependencies>
<dependency>
<groupId>org.springframework.cloud</groupId>
<artifactId>spring-cloud-dependencies</artifactId>
<version>${spring-cloud.version}</version>
<type>pom</type>
<scope>import</scope>
</dependency>
</dependencies>
</dependencyManagement>


<build>
<plugins>
<plugin>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-maven-plugin</artifactId>
</plugin>
</plugins>
</build>
</project>

+ 20
- 0
service-fumao/src/main/java/com/neusoft/smart/pos/fumao/ServiceFumaoApplication.java Ver arquivo

@@ -0,0 +1,20 @@
package com.neusoft.smart.pos.fumao;

import org.mybatis.spring.annotation.MapperScan;
import org.springframework.boot.SpringApplication;
import org.springframework.cloud.client.SpringCloudApplication;
import org.springframework.cloud.netflix.feign.EnableFeignClients;
import org.springframework.cloud.netflix.zuul.EnableZuulProxy;
import org.springframework.context.annotation.ComponentScan;

@EnableZuulProxy
@SpringCloudApplication
@EnableFeignClients
@MapperScan("com.neusoft.smart.pos.*.persistent.mapper")
@ComponentScan("com.neusoft.smart.pos")
public class ServiceFumaoApplication {
public static void main(String[] args) {
SpringApplication.run(ServiceFumaoApplication.class, args);
}
}

+ 19
- 0
service-fumao/src/main/java/com/neusoft/smart/pos/fumao/constants/FumaoConstants.java Ver arquivo

@@ -0,0 +1,19 @@
package com.neusoft.smart.pos.fumao.constants;

/**
* 常量
*/
public class FumaoConstants {

public static final String ACTION_NAME_CONSUME_GENERATE = "Consume_generate"; // 支付订单生成
public static final String ACTION_NAME_CONSUME_QUERY = "Consume_query"; // 支付查询
public static final String ACTION_NAME_CONSUME_SUCCESS = "Consume_success"; // 支付成功
public static final String ACTION_NAME_REFUND = "Refund"; // 退款


public static final String STEP_NAME_KEEP = "Keep"; //继续当前步骤,例如上一个步骤为支付,如果返回keep,继续进入支付环节
public static final String STEP_NAME_NEXT = "Next"; //下一个步骤,例如支付完成进入Complete步骤
public static final String STEP_NAME_EXIT = "Exit"; //退出整个流程,例如订单完成退出一个业务流程

}


+ 38
- 0
service-fumao/src/main/java/com/neusoft/smart/pos/fumao/constants/FumaoErrorCode.java Ver arquivo

@@ -0,0 +1,38 @@
package com.neusoft.smart.pos.fumao.constants;


import com.neusoft.smart.pos.framework.constants.CommonCode;

public enum FumaoErrorCode implements CommonCode {
MEMBER_CARD_NOT_EXIST("20001", "会员卡不存在"),
PAYMENT_PROMOTION_DUPLICATION ("20002", "支付营销优惠重复"),
PAY_TYPE_EMPTY ("20003", "支付方式为空"),
CARD_PAY_CARD_ID_EMPTY ("20004", "消费卡号为空");
private String code;
private String message;
private FumaoErrorCode(String code, String message) {
this.code = code;
this.message = message;
}
public String getCode() {
return code;
}
public void setCode(String code) {
this.code = code;
}
public String getMessage() {
return message;
}
public void setMessage(String message) {
this.message = message;
}
}

+ 71
- 0
service-fumao/src/main/java/com/neusoft/smart/pos/fumao/controller/FumaoController.java Ver arquivo

@@ -0,0 +1,71 @@
package com.neusoft.smart.pos.fumao.controller;

import com.neusoft.smart.pos.dto.fumao.request.PostFumaoTradeOrderRequest;
import com.neusoft.smart.pos.dto.payment.response.FumaoMemberInfoRes;
import com.neusoft.smart.pos.dto.payment.response.FumaoParameterforNextStep;
import com.neusoft.smart.pos.dto.promotion.request.GetPreferentialPriceRequest;
import com.neusoft.smart.pos.dto.promotion.request.PromotionPayChannelQueryRequest;
import com.neusoft.smart.pos.dto.promotion.request.PromotionPayChannelRequest;
import com.neusoft.smart.pos.dto.promotion.response.GetPreferentialPriceResponse;
import com.neusoft.smart.pos.dto.promotion.response.PromotionPayChannelResponse;
import com.neusoft.smart.pos.framework.bean.PaginationExtendBean;
import com.neusoft.smart.pos.framework.dto.ResponseData;
import com.neusoft.smart.pos.framework.utils.SpringUtils;
import com.neusoft.smart.pos.fumao.service.FumaoBusinessService;
import com.neusoft.smart.pos.fumao.service.IBusinessService;

import io.swagger.annotations.Api;
import io.swagger.annotations.ApiOperation;
import lombok.val;
import lombok.extern.slf4j.Slf4j;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.*;

import javax.validation.Valid;

@CrossOrigin(origins = "*", maxAge = 3600)// TODO
@RestController("/fumao")
@Slf4j
@Api(value = "服务交易类接口", description = "服务交易类接口")
@RequestMapping(path = "/fumao")
public class FumaoController {
@ApiOperation(value = "环境准备/登录")
@PostMapping("/environmentPrepare/login")
public FumaoParameterforNextStep environmentPrepare() {
val fumaoService = SpringUtils.getBean("FumaoBusinessService",IBusinessService.class);
return (FumaoParameterforNextStep)fumaoService.environmentPrepare();
//return new ResponseData<>(fumaoService.getPreferentialPriceNew(getPreferentialPriceRequest));
}
@ApiOperation(value = "支付准备/会员及优惠券获取及试算")
@PostMapping("/executePrepare/checkMem")
public FumaoParameterforNextStep executePrepare(@RequestBody PostFumaoTradeOrderRequest postFumaoTradeOrderRequest) {
val fumaoService = SpringUtils.getBean("FumaoBusinessService",IBusinessService.class);
return (FumaoParameterforNextStep)fumaoService.executePrepare(postFumaoTradeOrderRequest);
}
@ApiOperation(value = "支付交易")
// @PutMapping("/execute/payment")
@PostMapping("/execute/payment")
public FumaoParameterforNextStep execute(@RequestBody PostFumaoTradeOrderRequest postFumaoTradeOrderRequest) {
val fumaoService = SpringUtils.getBean("FumaoBusinessService",IBusinessService.class);
return (FumaoParameterforNextStep)fumaoService.execute(postFumaoTradeOrderRequest);
}
@ApiOperation(value = "完成/订单同步")
// @DeleteMapping("/complete/syncOrder/{id}")
@PutMapping("/complete/syncOrder")
public FumaoParameterforNextStep complete(@RequestBody PostFumaoTradeOrderRequest postFumaoTradeOrderRequest) {
val fumaoService = SpringUtils.getBean("FumaoBusinessService",IBusinessService.class);
return (FumaoParameterforNextStep)fumaoService.complete(postFumaoTradeOrderRequest);
}

// @ApiOperation(value = "完成/订单同步")
// @PutMapping("/complete/syncOrder")
// public FumaoParameterforNextStep complete(@RequestBody PostFumaoTradeOrderRequest postFumaoTradeOrderRequest) {
// val fumaoService = SpringUtils.getBean("FumaoBusinessService",IBusinessService.class);
// return (FumaoParameterforNextStep)fumaoService.complete(postFumaoTradeOrderRequest);
// }

}

+ 24
- 0
service-fumao/src/main/java/com/neusoft/smart/pos/fumao/persistent/domain/FumaoTenantInfo.java Ver arquivo

@@ -0,0 +1,24 @@
package com.neusoft.smart.pos.fumao.persistent.domain;

import java.io.Serializable;
import java.math.BigDecimal;
import java.util.Date;

import lombok.Data;

@Data
public class FumaoTenantInfo implements Serializable {
private Integer id;

private String tenantId;

private String tenantName;

private String merchantId;

private Integer shopId;

private Date createdDate;

}

+ 591
- 0
service-fumao/src/main/java/com/neusoft/smart/pos/fumao/persistent/domain/FumaoTenantInfoExample.java Ver arquivo

@@ -0,0 +1,591 @@
package com.neusoft.smart.pos.fumao.persistent.domain;

import java.math.BigDecimal;
import java.util.ArrayList;
import java.util.Date;
import java.util.List;

public class FumaoTenantInfoExample {
protected String orderByClause;

protected boolean distinct;

protected List<Criteria> oredCriteria;

private Integer offset;

private Integer limit;

public FumaoTenantInfoExample() {
oredCriteria = new ArrayList<Criteria>();
}

public void setOrderByClause(String orderByClause) {
this.orderByClause = orderByClause;
}

public String getOrderByClause() {
return orderByClause;
}

public void setDistinct(boolean distinct) {
this.distinct = distinct;
}

public boolean isDistinct() {
return distinct;
}

public List<Criteria> getOredCriteria() {
return oredCriteria;
}

public void or(Criteria criteria) {
oredCriteria.add(criteria);
}

public Criteria or() {
Criteria criteria = createCriteriaInternal();
oredCriteria.add(criteria);
return criteria;
}

public Criteria createCriteria() {
Criteria criteria = createCriteriaInternal();
if (oredCriteria.size() == 0) {
oredCriteria.add(criteria);
}
return criteria;
}

protected Criteria createCriteriaInternal() {
Criteria criteria = new Criteria();
return criteria;
}

public void clear() {
oredCriteria.clear();
orderByClause = null;
distinct = false;
this.offset = null;
this.limit = null;
}

public Integer getOffset() {
return this.offset;
}

public void setOffset(Integer offset) {
this.offset = offset;
}

public Integer getLimit() {
return this.limit;
}

public void setLimit(Integer limit) {
this.limit = limit;
}

public FumaoTenantInfoExample page(int offset, int limit) {
this.offset = offset;
this.limit = limit;
return this;
}

protected abstract static class GeneratedCriteria {
protected List<Criterion> criteria;

protected GeneratedCriteria() {
super();
criteria = new ArrayList<Criterion>();
}

public boolean isValid() {
return criteria.size() > 0;
}

public List<Criterion> getAllCriteria() {
return criteria;
}

public List<Criterion> getCriteria() {
return criteria;
}

protected void addCriterion(String condition) {
if (condition == null) {
throw new RuntimeException("Value for condition cannot be null");
}
criteria.add(new Criterion(condition));
}

protected void addCriterion(String condition, Object value, String property) {
if (value == null) {
throw new RuntimeException("Value for " + property + " cannot be null");
}
criteria.add(new Criterion(condition, value));
}

protected void addCriterion(String condition, Object value1, Object value2, String property) {
if (value1 == null || value2 == null) {
throw new RuntimeException("Between values for " + property + " cannot be null");
}
criteria.add(new Criterion(condition, value1, value2));
}

public Criteria andIdIsNull() {
addCriterion("id is null");
return (Criteria) this;
}

public Criteria andIdIsNotNull() {
addCriterion("id is not null");
return (Criteria) this;
}

public Criteria andIdEqualTo(Integer value) {
addCriterion("id =", value, "id");
return (Criteria) this;
}

public Criteria andIdNotEqualTo(Integer value) {
addCriterion("id <>", value, "id");
return (Criteria) this;
}

public Criteria andIdGreaterThan(Integer value) {
addCriterion("id >", value, "id");
return (Criteria) this;
}

public Criteria andIdGreaterThanOrEqualTo(Integer value) {
addCriterion("id >=", value, "id");
return (Criteria) this;
}

public Criteria andIdLessThan(Integer value) {
addCriterion("id <", value, "id");
return (Criteria) this;
}

public Criteria andIdLessThanOrEqualTo(Integer value) {
addCriterion("id <=", value, "id");
return (Criteria) this;
}

public Criteria andIdIn(List<Integer> values) {
addCriterion("id in", values, "id");
return (Criteria) this;
}

public Criteria andIdNotIn(List<Integer> values) {
addCriterion("id not in", values, "id");
return (Criteria) this;
}

public Criteria andIdBetween(Integer value1, Integer value2) {
addCriterion("id between", value1, value2, "id");
return (Criteria) this;
}

public Criteria andIdNotBetween(Integer value1, Integer value2) {
addCriterion("id not between", value1, value2, "id");
return (Criteria) this;
}

public Criteria andTenantIdIsNull() {
addCriterion("tenant_id is null");
return (Criteria) this;
}

public Criteria andTenantIdIsNotNull() {
addCriterion("tenant_id is not null");
return (Criteria) this;
}

public Criteria andTenantIdEqualTo(String value) {
addCriterion("tenant_id =", value, "TenantId");
return (Criteria) this;
}

public Criteria andTenantIdNotEqualTo(String value) {
addCriterion("tenant_id <>", value, "TenantId");
return (Criteria) this;
}

public Criteria andTenantIdGreaterThan(String value) {
addCriterion("tenant_id >", value, "TenantId");
return (Criteria) this;
}

public Criteria andTenantIdGreaterThanOrEqualTo(String value) {
addCriterion("tenant_id >=", value, "TenantId");
return (Criteria) this;
}

public Criteria andTenantIdLessThan(String value) {
addCriterion("tenant_id <", value, "TenantId");
return (Criteria) this;
}

public Criteria andTenantIdLessThanOrEqualTo(String value) {
addCriterion("tenant_id <=", value, "TenantId");
return (Criteria) this;
}

public Criteria andTenantIdIn(List<String> values) {
addCriterion("tenant_id in", values, "TenantId");
return (Criteria) this;
}

public Criteria andTenantIdNotIn(List<String> values) {
addCriterion("tenant_id not in", values, "TenantId");
return (Criteria) this;
}

public Criteria andTenantIdBetween(String value1, String value2) {
addCriterion("tenant_id between", value1, value2, "TenantId");
return (Criteria) this;
}

public Criteria andTenantIdNotBetween(String value1, String value2) {
addCriterion("tenant_id not between", value1, value2, "TenantId");
return (Criteria) this;
}

public Criteria andTenantNameIsNull() {
addCriterion("tenant_name is null");
return (Criteria) this;
}

public Criteria andTenantNameIsNotNull() {
addCriterion("tenant_name is not null");
return (Criteria) this;
}

public Criteria andTenantNameEqualTo(String value) {
addCriterion("tenant_name =", value, "tenantName");
return (Criteria) this;
}

public Criteria andTenantNameNotEqualTo(String value) {
addCriterion("tenant_name <>", value, "tenantName");
return (Criteria) this;
}

public Criteria andTenantNameGreaterThan(String value) {
addCriterion("tenant_name >", value, "tenantName");
return (Criteria) this;
}

public Criteria andTenantNameGreaterThanOrEqualTo(String value) {
addCriterion("tenant_name >=", value, "tenantName");
return (Criteria) this;
}

public Criteria andTenantNameLessThan(String value) {
addCriterion("tenant_name <", value, "tenantName");
return (Criteria) this;
}

public Criteria andTenantNameLessThanOrEqualTo(String value) {
addCriterion("tenant_name <=", value, "tenantName");
return (Criteria) this;
}

public Criteria andTenantNameIn(List<String> values) {
addCriterion("tenant_name in", values, "tenantName");
return (Criteria) this;
}

public Criteria andTenantNameNotIn(List<String> values) {
addCriterion("tenant_name not in", values, "tenantName");
return (Criteria) this;
}

public Criteria andTenantNameBetween(String value1, String value2) {
addCriterion("tenant_name between", value1, value2, "tenantName");
return (Criteria) this;
}

public Criteria andTenantNameNotBetween(String value1, String value2) {
addCriterion("tenant_name not between", value1, value2, "tenantName");
return (Criteria) this;
}

public Criteria andMerchantIdIsNull() {
addCriterion("merchant_id is null");
return (Criteria) this;
}

public Criteria andMerchantIdIsNotNull() {
addCriterion("merchant_id is not null");
return (Criteria) this;
}

public Criteria andMerchantIdEqualTo(String value) {
addCriterion("merchant_id =", value, "MerchantId");
return (Criteria) this;
}

public Criteria andMerchantIdNotEqualTo(String value) {
addCriterion("merchant_id <>", value, "MerchantId");
return (Criteria) this;
}

public Criteria andMerchantIdGreaterThan(String value) {
addCriterion("merchant_id >", value, "MerchantId");
return (Criteria) this;
}

public Criteria andMerchantIdGreaterThanOrEqualTo(String value) {
addCriterion("merchant_id >=", value, "MerchantId");
return (Criteria) this;
}

public Criteria andMerchantIdLessThan(String value) {
addCriterion("merchant_id <", value, "MerchantId");
return (Criteria) this;
}

public Criteria andMerchantIdLessThanOrEqualTo(String value) {
addCriterion("merchant_id <=", value, "MerchantId");
return (Criteria) this;
}

public Criteria andMerchantIdIn(List<String> values) {
addCriterion("merchant_id in", values, "MerchantId");
return (Criteria) this;
}

public Criteria andMerchantIdNotIn(List<String> values) {
addCriterion("merchant_id not in", values, "MerchantId");
return (Criteria) this;
}

public Criteria andMerchantIdBetween(String value1, String value2) {
addCriterion("merchant_id between", value1, value2, "MerchantId");
return (Criteria) this;
}

public Criteria andMerchantIdNotBetween(String value1, String value2) {
addCriterion("merchant_id not between", value1, value2, "MerchantId");
return (Criteria) this;
}

public Criteria andShopIdIsNull() {
addCriterion("shop_id is null");
return (Criteria) this;
}

public Criteria andShopIdIsNotNull() {
addCriterion("shop_id is not null");
return (Criteria) this;
}

public Criteria andShopIdEqualTo(Integer value) {
addCriterion("shop_id =", value, "ShopId");
return (Criteria) this;
}

public Criteria andShopIdNotEqualTo(Integer value) {
addCriterion("shop_id <>", value, "ShopId");
return (Criteria) this;
}

public Criteria andShopIdGreaterThan(Integer value) {
addCriterion("shop_id >", value, "ShopId");
return (Criteria) this;
}

public Criteria andShopIdGreaterThanOrEqualTo(Integer value) {
addCriterion("shop_id >=", value, "ShopId");
return (Criteria) this;
}

public Criteria andShopIdLessThan(Integer value) {
addCriterion("shop_id <", value, "ShopId");
return (Criteria) this;
}

public Criteria andShopIdLessThanOrEqualTo(Integer value) {
addCriterion("shop_id <=", value, "ShopId");
return (Criteria) this;
}

public Criteria andShopIdIn(List<Integer> values) {
addCriterion("shop_id in", values, "ShopId");
return (Criteria) this;
}

public Criteria andShopIdNotIn(List<Integer> values) {
addCriterion("shop_id not in", values, "ShopId");
return (Criteria) this;
}

public Criteria andShopIdBetween(Integer value1, Integer value2) {
addCriterion("shop_id between", value1, value2, "ShopId");
return (Criteria) this;
}

public Criteria andShopIdNotBetween(Integer value1, Integer value2) {
addCriterion("shop_id not between", value1, value2, "ShopId");
return (Criteria) this;
}

public Criteria andCreatedDateIsNull() {
addCriterion("created_date is null");
return (Criteria) this;
}

public Criteria andCreatedDateIsNotNull() {
addCriterion("created_date is not null");
return (Criteria) this;
}

public Criteria andCreatedDateEqualTo(Date value) {
addCriterion("created_date =", value, "createdDate");
return (Criteria) this;
}

public Criteria andCreatedDateNotEqualTo(Date value) {
addCriterion("created_date <>", value, "createdDate");
return (Criteria) this;
}

public Criteria andCreatedDateGreaterThan(Date value) {
addCriterion("created_date >", value, "createdDate");
return (Criteria) this;
}

public Criteria andCreatedDateGreaterThanOrEqualTo(Date value) {
addCriterion("created_date >=", value, "createdDate");
return (Criteria) this;
}

public Criteria andCreatedDateLessThan(Date value) {
addCriterion("created_date <", value, "createdDate");
return (Criteria) this;
}

public Criteria andCreatedDateLessThanOrEqualTo(Date value) {
addCriterion("created_date <=", value, "createdDate");
return (Criteria) this;
}

public Criteria andCreatedDateIn(List<Date> values) {
addCriterion("created_date in", values, "createdDate");
return (Criteria) this;
}

public Criteria andCreatedDateNotIn(List<Date> values) {
addCriterion("created_date not in", values, "createdDate");
return (Criteria) this;
}

public Criteria andCreatedDateBetween(Date value1, Date value2) {
addCriterion("created_date between", value1, value2, "createdDate");
return (Criteria) this;
}

public Criteria andCreatedDateNotBetween(Date value1, Date value2) {
addCriterion("created_date not between", value1, value2, "createdDate");
return (Criteria) this;
}
}

public static class Criteria extends GeneratedCriteria {

protected Criteria() {
super();
}
}

public static class Criterion {
private String condition;

private Object value;

private Object secondValue;

private boolean noValue;

private boolean singleValue;

private boolean betweenValue;

private boolean listValue;

private String typeHandler;

public String getCondition() {
return condition;
}

public Object getValue() {
return value;
}

public Object getSecondValue() {
return secondValue;
}

public boolean isNoValue() {
return noValue;
}

public boolean isSingleValue() {
return singleValue;
}

public boolean isBetweenValue() {
return betweenValue;
}

public boolean isListValue() {
return listValue;
}

public String getTypeHandler() {
return typeHandler;
}

protected Criterion(String condition) {
super();
this.condition = condition;
this.typeHandler = null;
this.noValue = true;
}

protected Criterion(String condition, Object value, String typeHandler) {
super();
this.condition = condition;
this.value = value;
this.typeHandler = typeHandler;
if (value instanceof List<?>) {
this.listValue = true;
} else {
this.singleValue = true;
}
}

protected Criterion(String condition, Object value) {
this(condition, value, null);
}

protected Criterion(String condition, Object value, Object secondValue, String typeHandler) {
super();
this.condition = condition;
this.value = value;
this.secondValue = secondValue;
this.typeHandler = typeHandler;
this.betweenValue = true;
}

protected Criterion(String condition, Object value, Object secondValue) {
this(condition, value, secondValue, null);
}
}
}

+ 23
- 0
service-fumao/src/main/java/com/neusoft/smart/pos/fumao/persistent/ext/domain/FumaoMerchantQueryRequest.java Ver arquivo

@@ -0,0 +1,23 @@
package com.neusoft.smart.pos.fumao.persistent.ext.domain;

import java.util.Date;

import com.neusoft.smart.pos.dto.AbstractQuery;
import lombok.Data;

@Data
public class FumaoMerchantQueryRequest extends AbstractQuery {
private Integer id;
private String tenant_id;
private String tenant_name;
private String merchant_id;
private Integer shop_id;
private Date created_date;
}

+ 15
- 0
service-fumao/src/main/java/com/neusoft/smart/pos/fumao/persistent/mapper/FumaoPayChannelMapper.java Ver arquivo

@@ -0,0 +1,15 @@
package com.neusoft.smart.pos.fumao.persistent.mapper;

import com.neusoft.smart.pos.fumao.persistent.domain.FumaoTenantInfo;
import com.neusoft.smart.pos.fumao.persistent.domain.FumaoTenantInfoExample;
import org.apache.ibatis.annotations.Param;
import org.springframework.stereotype.Component;

import java.util.List;

@Component
public interface FumaoPayChannelMapper {

List<FumaoTenantInfo> selectByExample(FumaoTenantInfoExample example);

}

+ 350
- 0
service-fumao/src/main/java/com/neusoft/smart/pos/fumao/persistent/repository/FumaoBusinessActionRepository.java Ver arquivo

@@ -0,0 +1,350 @@
package com.neusoft.smart.pos.fumao.persistent.repository;

import java.math.BigDecimal;
import java.util.ArrayList;
import java.util.List;
import java.util.Map;
import javax.validation.constraints.NotNull;
import com.neusoft.smart.pos.constants.DictionaryConstant;
import com.neusoft.smart.pos.dto.payment.response.*;
import com.neusoft.smart.pos.dto.trade.request.PostPayOrderRequest;
import com.neusoft.smart.pos.dto.trade.request.PostRefundRequest;
import com.neusoft.smart.pos.dto.trade.request.PostTradeOrderRequest;
import com.neusoft.smart.pos.dto.trade.response.PostOrderResponse;
import com.neusoft.smart.pos.dto.trade.response.PostPayOrderResponse;
import com.neusoft.smart.pos.dto.trade.response.PostRefundResponse;
import com.neusoft.smart.pos.fumao.constants.FumaoConstants;
import com.neusoft.smart.pos.fumao.constants.FumaoErrorCode;
import com.neusoft.smart.pos.fumao.utils.AmountUtils;
import net.sf.json.JSONObject;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Component;
import com.alibaba.fastjson.JSON;
import com.neusoft.smart.pos.dto.fumao.request.PostFumaoTradeOrderRequest;
import com.neusoft.smart.pos.dto.payment.request.FumaoPayRequest;
import com.neusoft.smart.pos.framework.exception.BusinessCommonException;
import com.neusoft.smart.pos.fumao.persistent.domain.FumaoTenantInfo;
import com.neusoft.smart.pos.fumao.persistent.domain.FumaoTenantInfoExample;
import com.neusoft.smart.pos.fumao.persistent.ext.domain.FumaoMerchantQueryRequest;
import com.neusoft.smart.pos.fumao.persistent.mapper.FumaoPayChannelMapper;
import com.neusoft.smart.pos.fumao.utils.HttpClientUtils;

import lombok.val;

@Component
public class FumaoBusinessActionRepository {
private final static Logger logger = LoggerFactory.getLogger(FumaoBusinessActionRepository.class);
//会员查询
//试算
//支付核销
//支付完成状态同步
//退款

@Autowired
private FumaoPayChannelMapper fumaoPayChannelMapper;

//试算
public FumaoMemberInfoRes queryAndCalc(PostFumaoTradeOrderRequest postFumaoTradeOrderRequest){
val fumaoPayRequest = new FumaoPayRequest();
fumaoPayRequest.setDeviceSN(postFumaoTradeOrderRequest.getNeuInfo().getSn());
fumaoPayRequest.setMemPhone(postFumaoTradeOrderRequest.getThirdPartyInfo().getMemberPhoneNumber());
fumaoPayRequest.setOrderNumber(postFumaoTradeOrderRequest.getParameterforNextStep().getOrderNumber());
fumaoPayRequest.setOrderAmount(AmountUtils.changeY2F(postFumaoTradeOrderRequest.getParameterforNextStep().getTotalAmount()));
if(postFumaoTradeOrderRequest.getParameterforNextStep().getPaymentPredictionofTotal() != null
&& postFumaoTradeOrderRequest.getParameterforNextStep().getPaymentPredictionofTotal().getOrder_amount_left() != null) {
fumaoPayRequest.setOrderAmountLeft(AmountUtils.changeY2F(postFumaoTradeOrderRequest.getParameterforNextStep().getPaymentPredictionofTotal().getAmount_left_after_pay()));
} else {
fumaoPayRequest.setOrderAmountLeft(AmountUtils.changeY2F(postFumaoTradeOrderRequest.getParameterforNextStep().getTotalAmount()));
}
fumaoPayRequest.setMerchantId(postFumaoTradeOrderRequest.getThirdPartyInfo().getMerchantID());
fumaoPayRequest.setTenantId(postFumaoTradeOrderRequest.getThirdPartyInfo().getTenantID());
fumaoPayRequest.setOrderOperatorId(postFumaoTradeOrderRequest.getThirdPartyInfo().getOperatorID());
if(postFumaoTradeOrderRequest.getThirdPartyInfo().getBusinessType() != null) {
fumaoPayRequest.setBusinessType(postFumaoTradeOrderRequest.getThirdPartyInfo().getBusinessType());
} else {
fumaoPayRequest.setBusinessType("1");
}
List<String> couponList = new ArrayList<>();
if(postFumaoTradeOrderRequest.getParameterforNextStep().getPaymentTypeList() != null
&& postFumaoTradeOrderRequest.getParameterforNextStep().getPaymentTypeList().size() > 0) {
for(int i = 0; i < postFumaoTradeOrderRequest.getParameterforNextStep().getPaymentTypeList().size(); i++) {
FumaoPaymentType paymentType = postFumaoTradeOrderRequest.getParameterforNextStep().getPaymentTypeList().get(i);
if(paymentType.getPaymentTypeId().equals(DictionaryConstant.PAY_TYPE_DISCOUNT.getCode())) {
for(int j = 0; j < paymentType.getPaymentData().size(); j++) {
FumaoPaymentData paymentData = paymentType.getPaymentData().get(j);
if(paymentData.getIsSelected().equals("1") && paymentData.getCuponID() != null) {
couponList.add(paymentData.getCuponID());
}
}
break;
}
}
}
fumaoPayRequest.setCouponOrderIdList(couponList);

val resultData = HttpClientUtils.postData("http://localhost:2018/fumaoPay/" + "queryAndCalc", JSON.toJSONString(fumaoPayRequest));//TODO
logger.info("queryAndCalc response:" + resultData);
Map resultMap = (Map)JSON.parse(resultData);

FumaoMemberInfoRes result;

if(("200").equals(resultMap.get("code").toString())){
JSONObject jsonObject = JSONObject.fromObject(resultMap.get("result"));
result = (FumaoMemberInfoRes) JSONObject.toBean(jsonObject, FumaoMemberInfoRes.class);
}else{
logger.error( "queryAndCalc error:" + resultData);
// result.setReturn_code(resultMap.get("code").toString());
// result.setReturn_msg(resultMap.get("message").toString());
throw new BusinessCommonException(resultMap.get("code").toString(),resultMap.get("message").toString());
}
return result;
}
public List<FumaoTenantInfo> getList(FumaoMerchantQueryRequest req) {
FumaoTenantInfoExample fumaoTenantInfoExample = this.FumaoTenantInfoExampleProvider(req);
return fumaoPayChannelMapper.selectByExample(fumaoTenantInfoExample);
}
private FumaoTenantInfoExample FumaoTenantInfoExampleProvider(@NotNull FumaoMerchantQueryRequest req) {
FumaoTenantInfoExample fumaoExample = new FumaoTenantInfoExample();
FumaoTenantInfoExample.Criteria criteria = fumaoExample.createCriteria();
if (null != req.getShop_id()) {
criteria.andShopIdEqualTo(req.getShop_id());
}
return fumaoExample;
}

//支付核销
public FumaoParameterforNextStep consume(PostFumaoTradeOrderRequest postFumaoTradeOrderRequest) {
FumaoParameterforNextStep parameterforNextStepBean = postFumaoTradeOrderRequest.getParameterforNextStep();
String orderNumber = parameterforNextStepBean.getOrderNumber();

// 生成订单
if(null == orderNumber) {
PostTradeOrderRequest postTradeOrderRequest = new PostTradeOrderRequest();
postTradeOrderRequest.setSerialNo(postFumaoTradeOrderRequest.getNeuInfo().getSn());
postTradeOrderRequest.setOrderAmount(new BigDecimal(parameterforNextStepBean.getTotalAmount()));
List<FumaoPaymentType> paymentTypeList = postFumaoTradeOrderRequest.getParameterforNextStep().getPaymentTypeList();
if(paymentTypeList != null) {
if(paymentTypeList.size() > 1) {
postTradeOrderRequest.setPayType(DictionaryConstant.PAY_TYPE_MULTY_COMBINED.getCode()); // 组合支付
} else {
postTradeOrderRequest.setPayType(paymentTypeList.get(0).getPaymentTypeId());
}
} else {
throw new BusinessCommonException(FumaoErrorCode.PAY_TYPE_EMPTY);
}
val resultData = HttpClientUtils.postData("http://localhost:2008/order/" + "order", JSON.toJSONString(postTradeOrderRequest));//TODO
logger.info("orderResultData:"+resultData);
Map resultMap = (Map)JSON.parse(resultData);
PostOrderResponse orderResponse;
if(("200").equals(resultMap.get("code").toString())){
JSONObject jsonObject = JSONObject.fromObject(resultMap.get("result"));
orderResponse = (PostOrderResponse) JSONObject.toBean(jsonObject, PostOrderResponse.class);
}else{
logger.error( "postOrder error:" + resultData);
throw new BusinessCommonException(resultMap.get("code").toString(),resultMap.get("message").toString());
}
orderNumber = orderResponse.getOrderNumber();
parameterforNextStepBean.setOrderNumber(orderNumber);
logger.info("orderNum:"+parameterforNextStepBean.getOrderNumber());
}

// 生成预付单
List<FumaoPaymentType> paymentTypeList = parameterforNextStepBean.getPaymentTypeList();
Long totalPayAmount = 0L;
for (int i = 0; i < paymentTypeList.size(); i++) {
PostPayOrderRequest postPayOrderRequest = new PostPayOrderRequest();
postPayOrderRequest.setSerialNo(postFumaoTradeOrderRequest.getNeuInfo().getSn());
postPayOrderRequest.setOrderNumber(orderNumber);
postPayOrderRequest.setPayType(paymentTypeList.get(i).getPaymentTypeId());
List<FumaoPaymentData> paymentDataList = paymentTypeList.get(i).getPaymentData();
if (paymentDataList != null && paymentDataList.size() > 0) {
postPayOrderRequest.setScanCode(paymentDataList.get(0).getScanCode());
}
FumaoPaymentPrediction paymentPredictionbyType = paymentTypeList.get(i).getPaymentPredictionbyType();
if (paymentPredictionbyType != null && paymentPredictionbyType.getPromotion_amount() != null) { // 若请求中没有支付金额,参数不填
postPayOrderRequest.setPayAmount(AmountUtils.changeF2YDouble(paymentPredictionbyType.getPromotion_amount()));//单位:元
}
JSONObject payInfoJsonObject = new JSONObject();
if(paymentTypeList.get(i).getPaymentTypeId().equals(DictionaryConstant.PAY_TYPE_DISCOUNT.getCode())
|| paymentTypeList.get(i).getPaymentTypeId().equals(DictionaryConstant.PAY_TYPE_FM_COUPON.getCode())) {
payInfoJsonObject.put("merchant_id",postFumaoTradeOrderRequest.getThirdPartyInfo().getMerchantID());
payInfoJsonObject.put("tenant_id",postFumaoTradeOrderRequest.getThirdPartyInfo().getTenantID());
payInfoJsonObject.put("order_amount",AmountUtils.changeY2F(parameterforNextStepBean.getTotalAmount()));// 单位:分
payInfoJsonObject.put("order_operator_id", postFumaoTradeOrderRequest.getThirdPartyInfo().getOperatorID());
String memPhoneNum = postFumaoTradeOrderRequest.getThirdPartyInfo().getMemberPhoneNumber()==null ? "" : postFumaoTradeOrderRequest.getThirdPartyInfo().getMemberPhoneNumber();
payInfoJsonObject.put("mem_phone_number", memPhoneNum);
String memId = postFumaoTradeOrderRequest.getThirdPartyInfo().getMemberID()==null ? "" : postFumaoTradeOrderRequest.getThirdPartyInfo().getMemberID();
payInfoJsonObject.put("mem_id", memId);
if (postFumaoTradeOrderRequest.getThirdPartyInfo().getBusinessType() != null) {
payInfoJsonObject.put("business_type", postFumaoTradeOrderRequest.getThirdPartyInfo().getBusinessType());
} else {
payInfoJsonObject.put("business_type", "1");
}
List<String> couponList = new ArrayList<>();
if (paymentTypeList.get(i).getPaymentTypeId().equals(DictionaryConstant.PAY_TYPE_DISCOUNT.getCode())) { // 优惠券参数
for (int j = 0; j < paymentTypeList.get(i).getPaymentData().size(); j++) {
FumaoPaymentData paymentData = paymentTypeList.get(i).getPaymentData().get(j);
if (paymentData.getIsSelected().equals("1") && paymentData.getCuponID() != null) {
couponList.add(paymentData.getCuponID());
}
}
payInfoJsonObject.put("coupon_list",couponList);
} else { // 消费卡参数
List<FumaoPaymentData> paymentDataListC = paymentTypeList.get(i).getPaymentData();
if(paymentDataListC == null || paymentDataListC.size() < 1 || paymentDataListC.get(0).getScanCode() == null) {
throw new BusinessCommonException(FumaoErrorCode.CARD_PAY_CARD_ID_EMPTY);
}
payInfoJsonObject.put("card_id",paymentDataListC.get(0).getScanCode());
}
}
postPayOrderRequest.setPayInfoJsonString(payInfoJsonObject.toString());

val payResultData = HttpClientUtils.postData("http://localhost:2008/order/" + "payOrder", JSON.toJSONString(postPayOrderRequest));//TODO
logger.info("payResultData:" + payResultData);
Map resultMap = (Map) JSON.parse(payResultData);
PostPayOrderResponse postPayOrderResponse;
if (("200").equals(resultMap.get("code").toString())) {
JSONObject jsonObject = JSONObject.fromObject(resultMap.get("result"));
postPayOrderResponse = (PostPayOrderResponse) JSONObject.toBean(jsonObject, PostPayOrderResponse.class);
} else {
logger.error("postPayOrder error:" + payResultData);
throw new BusinessCommonException(resultMap.get("code").toString(), resultMap.get("message").toString());
}
logger.info("PayCode:" + postPayOrderResponse.getPayCode());
logger.info("orderNumber" + postPayOrderResponse.getOrderNumber());
logger.info("PayStatus" + postPayOrderResponse.getPayStatus());
logger.info("OrderAmount" + postPayOrderResponse.getOrderAmount());
logger.info("RealPayAmount" + postPayOrderResponse.getRealPayAmount());
logger.info("PaidTime" + postPayOrderResponse.getPaidTime());
// .....赋值
parameterforNextStepBean.getPaymentTypeList().get(i).setPaymentStatus(postPayOrderResponse.getPayStatus());
parameterforNextStepBean.getPaymentTypeList().get(i).setTradeId(postPayOrderResponse.getTradeId());
totalPayAmount += postPayOrderResponse.getOrderAmount().longValue();
}
FumaoPaymentPrediction predictionTotal = new FumaoPaymentPrediction();
predictionTotal.setOrder_amount(Long.parseLong(AmountUtils.changeY2F(parameterforNextStepBean.getTotalAmount())));
predictionTotal.setOrder_amount_left(parameterforNextStepBean.getPaymentTypeList().get(0).getPaymentPredictionbyType().getOrder_amount_left());
predictionTotal.setPromotion_amount(totalPayAmount);//TODO 填支付成功的金额,还是该请求所带的所有金额??
long leftAmount = parameterforNextStepBean.getPaymentTypeList().get(0).getPaymentPredictionbyType().getOrder_amount_left() - totalPayAmount;
predictionTotal.setAmount_left_after_pay(leftAmount);
if(leftAmount == 0) {
parameterforNextStepBean.setNextStep(FumaoConstants.STEP_NAME_NEXT);
} else {
parameterforNextStepBean.setNextStep(FumaoConstants.STEP_NAME_KEEP);
}
return parameterforNextStepBean;
}

//支付完成
public FumaoParameterforNextStep paySuccess(PostFumaoTradeOrderRequest postFumaoTradeOrderRequest) {
FumaoParameterforNextStep parameterforNextStepBean = postFumaoTradeOrderRequest.getParameterforNextStep();
String orderNumber = parameterforNextStepBean.getOrderNumber();
// TODO
return parameterforNextStepBean;
}

//支付状态查询
public FumaoParameterforNextStep queryPayStatus(PostFumaoTradeOrderRequest postFumaoTradeOrderRequest) {
FumaoParameterforNextStep parameterforNextStepBean = postFumaoTradeOrderRequest.getParameterforNextStep();
String orderNumber = parameterforNextStepBean.getOrderNumber();
// TODO
return parameterforNextStepBean;
}

//退款
public FumaoParameterforNextStep refund(PostFumaoTradeOrderRequest postFumaoTradeOrderRequest) {
FumaoParameterforNextStep parameterforNextStepBean = postFumaoTradeOrderRequest.getParameterforNextStep();

PostRefundRequest postRefundRequest = new PostRefundRequest();
postRefundRequest.setOrderNumber(parameterforNextStepBean.getOrderNumber());
postRefundRequest.setSerialNo(postFumaoTradeOrderRequest.getNeuInfo().getSn());
JSONObject payInfoJsonObject = new JSONObject();
payInfoJsonObject.put("merchant_id",postFumaoTradeOrderRequest.getThirdPartyInfo().getMerchantID());
payInfoJsonObject.put("tenant_id",postFumaoTradeOrderRequest.getThirdPartyInfo().getTenantID());
// payInfoJsonObject.put("order_amount",AmountUtils.changeY2F(parameterforNextStepBean.getTotalAmount()));// 单位:分
payInfoJsonObject.put("order_operator_id", postFumaoTradeOrderRequest.getThirdPartyInfo().getOperatorID());
String memPhoneNum = postFumaoTradeOrderRequest.getThirdPartyInfo().getMemberPhoneNumber()==null ? "" : postFumaoTradeOrderRequest.getThirdPartyInfo().getMemberPhoneNumber();
payInfoJsonObject.put("mem_phone_number", memPhoneNum);
String memId = postFumaoTradeOrderRequest.getThirdPartyInfo().getMemberID()==null ? "" : postFumaoTradeOrderRequest.getThirdPartyInfo().getMemberID();
payInfoJsonObject.put("mem_id", memId);
if (postFumaoTradeOrderRequest.getThirdPartyInfo().getBusinessType() != null) {
payInfoJsonObject.put("business_type", postFumaoTradeOrderRequest.getThirdPartyInfo().getBusinessType());
} else {
payInfoJsonObject.put("business_type", "1");
}
if (parameterforNextStepBean.getPaymentTypeList().get(0).getPaymentTypeId().equals(DictionaryConstant.PAY_TYPE_FM_COUPON.getCode())) { // 优惠券参数
payInfoJsonObject.put("coupon_id", parameterforNextStepBean.getPaymentTypeList().get(0).getPaymentData().get(0).getCuponID()); //TODO for循环遍历PaymentData??
}
postRefundRequest.setThirdPartyInfoJsonString(payInfoJsonObject.toString());
val resultData = HttpClientUtils.postData("http://localhost:2008/orderRefund/" + "refund", JSON.toJSONString(postRefundRequest)); //TODO
logger.info("orderRefundResultData:"+resultData);
Map resultMap = (Map)JSON.parse(resultData);
PostRefundResponse orderRefundResponse;
if(("200").equals(resultMap.get("code").toString())){
JSONObject jsonObject = JSONObject.fromObject(resultMap.get("result"));
orderRefundResponse = (PostRefundResponse) JSONObject.toBean(jsonObject, PostRefundResponse.class);
}else{
logger.error( "postOrderRefund error:" + resultData);
throw new BusinessCommonException(resultMap.get("code").toString(),resultMap.get("message").toString());
}
// TODO 返回值??
return parameterforNextStepBean;
}

//订单同步
public FumaoParameterforNextStep complete(PostFumaoTradeOrderRequest postFumaoTradeOrderRequest) {
FumaoParameterforNextStep parameterforNextStepBean = postFumaoTradeOrderRequest.getParameterforNextStep();
// TODO
return parameterforNextStepBean;
}


// /**
// * 富茂POS订单同步数据整理方法
// * @param payOrder 订单同步请求
// * @return String
// */
// private String fumaoCouponOrderRequestDataHandle(PayOrder payOrder){
// Map<String, String> reqObj = new HashMap<>();
// reqObj.put("dev_id", FumaoPayConstants.BUSINESS_ID);
// reqObj.put("nonce_str", WXPayUtils.generateNonceStr());//"123456789");
// String payInfoString = payOrder.getPayInfoJsonString();
// logger.info("fumaoCouponOrderRequestDataHandle::payInfoString="+payInfoString);
// JSONObject payInfoJsonObject = JSONObject.fromObject(payInfoString);
// try {
// reqObj.put("merchant_id", payInfoJsonObject.getString("merchant_id"));
// reqObj.put("tenant_id", payInfoJsonObject.getString("tenant_id"));
// reqObj.put("order_amount", payInfoJsonObject.getString("order_amount"));
// reqObj.put("order_operation_id", payInfoJsonObject.getString("order_operator_id"));
// if(!payInfoJsonObject.getString("mem_phone_number").equals("")) {
// reqObj.put("mem_phone_number", payInfoJsonObject.getString("mem_phone_number"));
// }
// if(!payInfoJsonObject.getString("mem_id").equals("")) {
// reqObj.put("mem_id", payInfoJsonObject.getString("mem_id"));
// }
// reqObj.put("business_type", payInfoJsonObject.getString("business_type"));
// List<String> couponList = (List<String>)payInfoJsonObject.get("coupon_list");
// if(couponList != null) {
// reqObj.put("coupon_list", "[".concat(String.join(",", couponList)).concat("]"));
// } else {
// reqObj.put("coupon_list", "[]");
// }
// } catch (Exception e) {
// throw new BusinessCommonException(PaymentErrorCode.PAY_TYPE_INFO_NOT_EMPTY);
// }
// reqObj.put("order_amount_left", payOrder.getLeftAmount().toString());
// reqObj.put("order_number_of_platform", payOrder.getmOrderNumber());
// reqObj.put("order_create_sn", payOrder.getDeviceId());
// reqObj.put("sign", WXPayUtils.generateSignature(reqObj, FumaoPayConstants.DEV_REQ_KEY, SignType.HMACSHA256));
// JSONObject jsonObject = JSONObject.fromObject(reqObj);
// return jsonObject.toString();
// }
}

+ 182
- 0
service-fumao/src/main/java/com/neusoft/smart/pos/fumao/service/FumaoBusinessService.java Ver arquivo

@@ -0,0 +1,182 @@
package com.neusoft.smart.pos.fumao.service;

import java.util.*;

import com.alibaba.fastjson.JSON;
import com.neusoft.smart.pos.dto.fumao.bean.MemberDiscount;
import com.neusoft.smart.pos.dto.payment.response.*;
import com.neusoft.smart.pos.dto.trade.request.GetPosPayChannelsRequest;
import com.neusoft.smart.pos.dto.trade.response.GetPayChannelsResponse;
import com.neusoft.smart.pos.framework.exception.BusinessCommonException;
import com.neusoft.smart.pos.fumao.utils.HttpClientUtils;
import lombok.val;
import net.sf.json.JSONObject;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import com.neusoft.smart.pos.constants.DictionaryConstant;
import com.neusoft.smart.pos.dto.fumao.request.PostFumaoTradeOrderRequest;
import com.neusoft.smart.pos.fumao.persistent.domain.FumaoTenantInfo;
import com.neusoft.smart.pos.fumao.persistent.ext.domain.FumaoMerchantQueryRequest;
import com.neusoft.smart.pos.fumao.persistent.repository.FumaoBusinessActionRepository;
import com.neusoft.smart.pos.fumao.constants.FumaoConstants;

@Service("FumaoBusinessService")
public class FumaoBusinessService implements IBusinessService<PostFumaoTradeOrderRequest, FumaoParameterforNextStep>{
private final static Logger logger = LoggerFactory.getLogger(FumaoBusinessService.class);

@Autowired
private FumaoBusinessActionRepository fumaoBusinessActionRepository;
@Override
public FumaoParameterforNextStep environmentPrepare() {
return new FumaoParameterforNextStep();
}
@Override
public FumaoParameterforNextStep executePrepare(PostFumaoTradeOrderRequest postFumaoTradeOrderRequest) {
FumaoMemberInfoRes memberInfo = fumaoBusinessActionRepository.queryAndCalc(postFumaoTradeOrderRequest);
if(!memberInfo.getReturn_code().equals("0")) {
throw new BusinessCommonException(memberInfo.getReturn_code(),memberInfo.getReturn_msg());
}
FumaoParameterforNextStep result = new FumaoParameterforNextStep();
result.setActionName(FumaoConstants.ACTION_NAME_CONSUME_GENERATE);
result.setTotalAmount(postFumaoTradeOrderRequest.getParameterforNextStep().getTotalAmount());
// 构建predictionTotal
FumaoPaymentPrediction predictionTotal = new FumaoPaymentPrediction();
predictionTotal.setOrder_amount(Long.parseLong(memberInfo.getOrder_amount()));
predictionTotal.setOrder_amount_left(Long.parseLong(memberInfo.getOrder_amount_left()));
//解析第三方试算返回的结果
FumaoPromotionData promotionData = memberInfo.getPromotionData();
FumaoPromotionInfo promotionInfo = promotionData.getPromotion_info();
FumaoPaymentPrediction paymentPrediction = promotionData.getPayment_prediction();
MemberDiscount memberDiscount = promotionInfo.getMember_discount();
FumaoCouponData coupon = promotionInfo.getCoupon() ;
List<FumaoCouponInfo> couponList = coupon.getCoupon_list();

//构建PaymentTypeList
int sequence = 1;//TODO sequence 怎么赋值??
List<FumaoPaymentType> paymentTypeList = new ArrayList<FumaoPaymentType>();
if(memberDiscount != null || (couponList != null && couponList.size() > 0)) { //富茂优惠
FumaoPaymentType paymentType = new FumaoPaymentType();
paymentType.setSequence(sequence++);
paymentType.setPaymentTypeId(DictionaryConstant.PAY_TYPE_DISCOUNT.getCode());
paymentType.setPaymentTypeName(DictionaryConstant.PAY_TYPE_DISCOUNT.getValue());
paymentType.setSelectType("1");
paymentType.setIsPaymentTypeSelected("1");
paymentType.setActionName(FumaoConstants.ACTION_NAME_CONSUME_GENERATE);

FumaoPaymentPrediction predictionType = new FumaoPaymentPrediction();
predictionType.setOrder_amount(paymentPrediction.getOrder_amount());
predictionType.setOrder_amount_left(paymentPrediction.getOrder_amount_left());
predictionType.setPromotion_amount(paymentPrediction.getPromotion_amount());
predictionType.setAmount_left_after_pay(paymentPrediction.getAmount_left_after_pay());
paymentType.setPaymentPredictionbyType(predictionType);

List<FumaoPaymentData> paymentDataList = new ArrayList<FumaoPaymentData>();
//富茂会员折扣
if (memberDiscount != null) {
FumaoPaymentData paymentData = new FumaoPaymentData();
paymentData.setMerchantID(memberInfo.getMerchant_id());
paymentData.setMemberID(memberInfo.getMem_id());
paymentData.setL1Title(memberDiscount.getDiscount_description());
paymentData.setIsSelected("1");
FumaoPaymentPrediction prediction = new FumaoPaymentPrediction();
prediction.setOrder_amount(memberDiscount.getOrder_amount());
prediction.setOrder_amount_left(memberDiscount.getOrder_amount_left());
prediction.setPromotion_amount(memberDiscount.getDiscount_amount());
prediction.setAmount_left_after_pay(Long.parseLong(memberDiscount.getRemain_amount()));
paymentData.setPaymentPrediction(prediction);
paymentDataList.add(paymentData);
}
//富茂优惠券
if (couponList != null && couponList.size() > 0) {
for (int i = 0; i < couponList.size(); i++) {
FumaoCouponInfo couponInfo = couponList.get(i);
FumaoPaymentData paymentData = new FumaoPaymentData();
paymentData.setCuponID(couponInfo.getCoupon_id());
paymentData.setCuponDescription(couponInfo.getCoupon_description());
paymentData.setIsSelected(couponInfo.getIs_selected()+"");
// FumaoPaymentPrediction prediction = new FumaoPaymentPrediction();
// prediction.setOrder_amount(orderAmount);
// prediction.setOrder_amount_left(orderAmount - memberDiscount.getRemain_amount());
// prediction.setPayment_amount(couponInfo.get);
// prediction.setAmount_left_after_pay(couponInfo.get);
// paymentData.setPaymentPrediction(prediction);
paymentDataList.add(paymentData);
}
}
paymentType.setPaymentData(paymentDataList);
paymentTypeList.add(paymentType);
}
predictionTotal.setPromotion_amount(paymentPrediction.getPromotion_amount());
predictionTotal.setAmount_left_after_pay(Long.parseLong(coupon.getRemain_amount()));
result.setPaymentPredictionofTotal(predictionTotal);

//获取支付渠道
GetPosPayChannelsRequest payChannelsRequest = new GetPosPayChannelsRequest();
payChannelsRequest.setSerialNo(postFumaoTradeOrderRequest.getNeuInfo().getSn());
val resultData = HttpClientUtils.getData("http://localhost:2008/payChannel/posPayChannels?serialNo=" + postFumaoTradeOrderRequest.getNeuInfo().getSn());//TODO url???
logger.info("payChannel resultData:"+resultData);
Map resultMap = (Map)JSON.parse(resultData);

GetPayChannelsResponse payChannelsResponseResponse = null;
if(("200").equals(resultMap.get("code").toString())){
JSONObject jsonObject = JSONObject.fromObject(resultMap.get("result"));
Map<String, Class> classMap = new HashMap<String, Class>();
classMap.put("payChannels", GetPayChannelsResponse.PayChannel.class);
payChannelsResponseResponse = (GetPayChannelsResponse) JSONObject.toBean(jsonObject, GetPayChannelsResponse.class, classMap);
}else{
logger.error( "payChannels error:" + resultData);
throw new BusinessCommonException(resultMap.get("code").toString(),resultMap.get("message").toString());
}
List<GetPayChannelsResponse.PayChannel> payChannelList = payChannelsResponseResponse.getPayChannels();
for(int i = 0; i < payChannelList.size(); i++) {
if(payChannelList.get(i).getPayType().equals(DictionaryConstant.PAY_TYPE_DISCOUNT.getCode())) {
continue;
}
FumaoPaymentType paymentType = new FumaoPaymentType();
paymentType.setSequence(sequence);
paymentType.setPaymentTypeId(payChannelList.get(i).getPayType());
paymentType.setPaymentTypeName(payChannelList.get(i).getName());
paymentType.setSelectType("0");
paymentType.setIsPaymentTypeSelected("0");
paymentTypeList.add(paymentType);
}
result.setPaymentTypeList(paymentTypeList);
result.setNextStep("Next");

return result;
}
@Override
public FumaoParameterforNextStep execute(PostFumaoTradeOrderRequest postFumaoTradeOrderRequest) {
String actionName = postFumaoTradeOrderRequest.getParameterforNextStep().getActionName();
FumaoParameterforNextStep result = new FumaoParameterforNextStep();
switch(actionName) {
case FumaoConstants.ACTION_NAME_CONSUME_GENERATE:
return fumaoBusinessActionRepository.consume(postFumaoTradeOrderRequest);
case FumaoConstants.ACTION_NAME_CONSUME_SUCCESS:
return fumaoBusinessActionRepository.paySuccess(postFumaoTradeOrderRequest);
case FumaoConstants.ACTION_NAME_CONSUME_QUERY:
return fumaoBusinessActionRepository.queryPayStatus(postFumaoTradeOrderRequest);
case FumaoConstants.ACTION_NAME_REFUND:
return fumaoBusinessActionRepository.refund(postFumaoTradeOrderRequest);
}
return result;
}
@Override
public FumaoParameterforNextStep complete(PostFumaoTradeOrderRequest postFumaoTradeOrderRequest) {
return fumaoBusinessActionRepository.complete(postFumaoTradeOrderRequest);
}
private List<FumaoTenantInfo> getFumaoTenantInfo() {
FumaoMerchantQueryRequest req = new FumaoMerchantQueryRequest();
req.setShop_id(1);
List<FumaoTenantInfo> result = fumaoBusinessActionRepository.getList(req);
return result;
}

}

+ 13
- 0
service-fumao/src/main/java/com/neusoft/smart/pos/fumao/service/IBusinessService.java Ver arquivo

@@ -0,0 +1,13 @@
package com.neusoft.smart.pos.fumao.service;

public interface IBusinessService<T, E> {
E environmentPrepare();
E executePrepare(T postPara);

E execute(T postPara);
E complete(T postPara);

}

+ 103
- 0
service-fumao/src/main/java/com/neusoft/smart/pos/fumao/utils/AmountUtils.java Ver arquivo

@@ -0,0 +1,103 @@
package com.neusoft.smart.pos.fumao.utils;

import java.math.BigDecimal;

public class AmountUtils {

/**金额为分的格式 */
public static final String CURRENCY_FEN_REGEX = "\\-?[0-9]+";

/**
* 将分为单位的转换为元并返回金额格式的字符串 (除100)
*
* @param amount
* @return
* @throws Exception
*/
public static String changeF2Y(Long amount) throws Exception{
if(!amount.toString().matches(CURRENCY_FEN_REGEX)) {
throw new Exception("金额格式有误");
}

int flag = 0;
String amString = amount.toString();
if(amString.charAt(0)=='-'){
flag = 1;
amString = amString.substring(1);
}
StringBuffer result = new StringBuffer();
if(amString.length()==1){
result.append("0.0").append(amString);
}else if(amString.length() == 2){
result.append("0.").append(amString);
}else{
String intString = amString.substring(0,amString.length()-2);
for(int i=1; i<=intString.length();i++){
if( (i-1)%3 == 0 && i !=1){
result.append(",");
}
result.append(intString.substring(intString.length()-i,intString.length()-i+1));
}
result.reverse().append(".").append(amString.substring(amString.length()-2));
}
if(flag == 1){
return "-"+result.toString();
}else{
return result.toString();
}
}

public static double changeF2YDouble(double amount) {
double a = amount/100;
BigDecimal b = new BigDecimal(a);
a = b.setScale(2, BigDecimal.ROUND_HALF_UP).doubleValue();
return a;
}

/**
* 将分为单位的转换为元 (除100)
*
* @param amount
* @return
* @throws Exception
*/
public static String changeF2Y(String amount) throws Exception{
if(!amount.matches(CURRENCY_FEN_REGEX)) {
throw new Exception("金额格式有误");
}
return BigDecimal.valueOf(Long.valueOf(amount)).divide(new BigDecimal(100)).toString();
}

/**
* 将元为单位的转换为分 (乘100)
*
* @param amount
* @return
*/
public static String changeY2F(Long amount){
return BigDecimal.valueOf(amount).multiply(new BigDecimal(100)).toString();
}

/**
* 将元为单位的转换为分 替换小数点,支持以逗号区分的金额
*
* @param amount
* @return
*/
public static String changeY2F(String amount){
String currency = amount.replaceAll("\\$|\\¥|\\,", ""); //处理包含, ¥ 或者$的金额
int index = currency.indexOf(".");
int length = currency.length();
Long amLong = 0l;
if(index == -1){
amLong = Long.valueOf(currency+"00");
}else if(length - index >= 3){
amLong = Long.valueOf((currency.substring(0, index+3)).replace(".", ""));
}else if(length - index == 2){
amLong = Long.valueOf((currency.substring(0, index+2)).replace(".", "")+0);
}else{
amLong = Long.valueOf((currency.substring(0, index+1)).replace(".", "")+"00");
}
return amLong.toString();
}
}

+ 175
- 0
service-fumao/src/main/java/com/neusoft/smart/pos/fumao/utils/HttpClientUtils.java Ver arquivo

@@ -0,0 +1,175 @@
package com.neusoft.smart.pos.fumao.utils;

import org.apache.http.HttpEntity;
import org.apache.http.HttpResponse;
import org.apache.http.NameValuePair;
import org.apache.http.client.HttpClient;
import org.apache.http.client.methods.HttpDelete;
import org.apache.http.client.methods.HttpGet;
import org.apache.http.client.methods.HttpPost;
import org.apache.http.client.methods.HttpPut;
import org.apache.http.client.utils.URLEncodedUtils;
import org.apache.http.entity.StringEntity;
import org.apache.http.impl.client.HttpClients;
import org.apache.http.message.BasicNameValuePair;
import org.apache.http.util.EntityUtils;

import javax.servlet.http.HttpServletRequest;
import java.io.BufferedReader;
import java.io.IOException;
import java.util.ArrayList;
import java.util.List;
import java.util.Map;

public class HttpClientUtils {

public static final String CONTENT_TYPE_XML = "application/xml";
public static final String DEFAULT_CONTENT_TYPE = "application/json";
public static final String DEFAULT_CHARSET = "UTF-8";

public static String postXMLData(String url, String data){
return postData(url,data,CONTENT_TYPE_XML);
}

public static String postData(String url, String data){
return postData(url,data,DEFAULT_CONTENT_TYPE);
}

/**
* 发送xml格式数据请求方法
* @param url
* @param data
* @return
*/
public static String postData(String url, String data,String contentType){
HttpClient httpclient = HttpClients.createDefault();
HttpPost httpPost = new HttpPost(url);
StringEntity requestEntity = new StringEntity(data, DEFAULT_CHARSET);
httpPost.addHeader("Content-Type", contentType);
httpPost.setEntity(requestEntity);
String result = null;
try {
HttpResponse response = httpclient.execute(httpPost);
HttpEntity responseEntity = response.getEntity();
result = EntityUtils.toString(responseEntity, DEFAULT_CHARSET);
} catch (IOException e) {
e.printStackTrace();
}
return result;
}

/**
* 根据request对象获取数据信息
* @param request
* @return
*/
public static String getStringDataFromRequest(HttpServletRequest request){
String dataString = null;
try {
BufferedReader reader = request.getReader();
String line;
StringBuffer inputString = new StringBuffer();
while ((line = reader.readLine()) != null) {
inputString.append(line);
}
dataString = inputString.toString();
request.getReader().close();
} catch (IOException e) {
e.printStackTrace();
return dataString;
}
return dataString;
}

public static String putData(String url, String data){
return putData(url,data,DEFAULT_CONTENT_TYPE);
}

/**
* 发送xml格式数据请求方法
* @param url
* @param data
* @return
*/
public static String putData(String url, String data,String contentType){
HttpClient httpclient = HttpClients.createDefault();
HttpPut httpPut = new HttpPut(url);
StringEntity requestEntity = new StringEntity(data, DEFAULT_CHARSET);
httpPut.addHeader("Content-Type", contentType);
httpPut.setEntity(requestEntity);
String result = null;
try {
HttpResponse response = httpclient.execute(httpPut);
HttpEntity responseEntity = response.getEntity();
result = EntityUtils.toString(responseEntity, DEFAULT_CHARSET);
} catch (IOException e) {
e.printStackTrace();
}
return result;
}

public static String deleteData(String url, Map<String, String> params){
return deleteData(url,params,DEFAULT_CONTENT_TYPE);
}

/**
* 发送xml格式数据请求方法
* @param url
* @return
*/
public static String deleteData(String url, Map<String, String> params,String contentType){
HttpClient httpclient = HttpClients.createDefault();
List<NameValuePair> qparams = getParamsList(params);
if (qparams != null && qparams.size() > 0) {
String formatParams = URLEncodedUtils.format(qparams, DEFAULT_CHARSET);
url = (url.indexOf("?")) < 0 ? (url + "?" + formatParams)
: (url.substring(0, url.indexOf("?") + 1) + formatParams);
}
HttpDelete httpDelete = new HttpDelete(url);
httpDelete.addHeader("Content-Type", contentType);
String result = null;
try {
HttpResponse response = httpclient.execute(httpDelete);
HttpEntity responseEntity = response.getEntity();
result = EntityUtils.toString(responseEntity, DEFAULT_CHARSET);
} catch (IOException e) {
e.printStackTrace();
}
return result;
}

public static String getData(String url){
return getData(url,DEFAULT_CONTENT_TYPE);
}

/**
* 发送xml格式数据请求方法
* @param url
* @return
*/
public static String getData(String url,String contentType){
HttpClient httpclient = HttpClients.createDefault();
HttpGet httpGet = new HttpGet(url);
httpGet.addHeader("Content-Type", contentType);
String result = null;
try {
HttpResponse response = httpclient.execute(httpGet);
HttpEntity responseEntity = response.getEntity();
result = EntityUtils.toString(responseEntity, DEFAULT_CHARSET);
} catch (IOException e) {
e.printStackTrace();
}
return result;
}

private static List<NameValuePair> getParamsList(Map<String, String> paramsMap) {
if (paramsMap == null || paramsMap.size() == 0) {
return null;
}
List<NameValuePair> params = new ArrayList<NameValuePair>();
for (Map.Entry<String, String> map : paramsMap.entrySet()) {
params.add(new BasicNameValuePair(map.getKey(), map.getValue()));
}
return params;
}
}

+ 10
- 0
service-fumao/src/main/resources/bootstrap.yml Ver arquivo

@@ -0,0 +1,10 @@
spring:
application:
name: service-fumao
cloud:
config:
uri: http://config:1001/
profile: dev
name: service-fumao
server:
port: 2210

+ 91
- 0
service-fumao/src/main/resources/mybatis/mapping/FumaoPayChannelMapper.xml Ver arquivo

@@ -0,0 +1,91 @@
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper namespace="com.neusoft.smart.pos.fumao.persistent.mapper.FumaoPayChannelMapper">
<resultMap id="BaseResultMap" type="com.neusoft.smart.pos.fumao.persistent.domain.FumaoTenantInfo">
<id column="id" jdbcType="INTEGER" property="id" />
<result column="tenant_id" jdbcType="VARCHAR" property="tenantId" />
<result column="tenant_name" jdbcType="VARCHAR" property="tenantName" />
<result column="merchant_id" jdbcType="VARCHAR" property="merchantId" />
<result column="shop_id" jdbcType="INTEGER" property="shopId" />
<result column="created_date" jdbcType="TIMESTAMP" property="createdDate" />
</resultMap>
<sql id="Example_Where_Clause">
<where>
<foreach collection="oredCriteria" item="criteria" separator="or">
<if test="criteria.valid">
<trim prefix="(" prefixOverrides="and" suffix=")">
<foreach collection="criteria.criteria" item="criterion">
<choose>
<when test="criterion.noValue">
and ${criterion.condition}
</when>
<when test="criterion.singleValue">
and ${criterion.condition} #{criterion.value}
</when>
<when test="criterion.betweenValue">
and ${criterion.condition} #{criterion.value} and #{criterion.secondValue}
</when>
<when test="criterion.listValue">
and ${criterion.condition}
<foreach close=")" collection="criterion.value" item="listItem" open="(" separator=",">
#{listItem}
</foreach>
</when>
</choose>
</foreach>
</trim>
</if>
</foreach>
</where>
</sql>
<sql id="Update_By_Example_Where_Clause">
<where>
<foreach collection="example.oredCriteria" item="criteria" separator="or">
<if test="criteria.valid">
<trim prefix="(" prefixOverrides="and" suffix=")">
<foreach collection="criteria.criteria" item="criterion">
<choose>
<when test="criterion.noValue">
and ${criterion.condition}
</when>
<when test="criterion.singleValue">
and ${criterion.condition} #{criterion.value}
</when>
<when test="criterion.betweenValue">
and ${criterion.condition} #{criterion.value} and #{criterion.secondValue}
</when>
<when test="criterion.listValue">
and ${criterion.condition}
<foreach close=")" collection="criterion.value" item="listItem" open="(" separator=",">
#{listItem}
</foreach>
</when>
</choose>
</foreach>
</trim>
</if>
</foreach>
</where>
</sql>
<sql id="Base_Column_List">
id, tenant_id, tenant_name, merchant_id, shop_id, created_date
</sql>
<select id="selectByExample" parameterType="com.neusoft.smart.pos.fumao.persistent.domain.FumaoTenantInfo" resultMap="BaseResultMap">
select
<if test="distinct">
distinct
</if>
<include refid="Base_Column_List" />
from fumao_tenant_info
<if test="_parameter != null">
<include refid="Example_Where_Clause" />
</if>
<if test="orderByClause != null">
order by ${orderByClause}
</if>
<if test="offset != null and limit != null">
limit ${offset}, ${limit}
</if>
</select>
</mapper>

+ 6
- 0
service-payment/Dockerfile Ver arquivo

@@ -0,0 +1,6 @@
FROM openjdk:8-jdk-alpine
VOLUME /tmp
ARG JAR_FILE
ADD ${JAR_FILE} app.jar
RUN ln -sf /usr/share/zoneinfo/Asia/Shanghai /etc/localtime
ENTRYPOINT ["java","-Djava.security.egd=file:/dev/./urandom","-Dspring.cloud.config.profile=prod","-jar","-Xms200M","-Xmx512M","/app.jar"]

+ 100
- 0
service-payment/pom.xml Ver arquivo

@@ -0,0 +1,100 @@
<?xml version="1.0" encoding="UTF-8"?>
<project xmlns="http://maven.apache.org/POM/4.0.0"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
<modelVersion>4.0.0</modelVersion>

<groupId>com.neusoft.smart.pos</groupId>
<artifactId>service-payment</artifactId>
<version>1.0-SNAPSHOT</version>

<properties>
<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
<project.reporting.outputEncoding>UTF-8</project.reporting.outputEncoding>
<java.version>1.8</java.version>
<spring-cloud.version>Edgware.RELEASE</spring-cloud.version>
</properties>

<parent>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-parent</artifactId>
<version>1.5.9.RELEASE</version>
<relativePath/> <!-- lookup parent from repository -->
</parent>

<dependencies>
<dependency>
<groupId>com.neusoft.smart.pos</groupId>
<artifactId>framework</artifactId>
<version>1.0-SNAPSHOT</version>
</dependency>
<dependency>
<groupId>com.neusoft.smart.pos</groupId>
<artifactId>common</artifactId>
<version>1.0-SNAPSHOT</version>
</dependency>
<dependency>
<groupId>org.springframework.cloud</groupId>
<artifactId>spring-cloud-starter-eureka</artifactId>
</dependency>
<dependency>
<groupId>org.springframework.cloud</groupId>
<artifactId>spring-cloud-starter-config</artifactId>
</dependency>
<dependency>
<groupId>org.springframework.cloud</groupId>
<artifactId>spring-cloud-starter-ribbon</artifactId>
</dependency>
<dependency>
<groupId>org.springframework.cloud</groupId>
<artifactId>spring-cloud-starter-hystrix</artifactId>
</dependency>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-web</artifactId>
</dependency>
<dependency>
<groupId>com.alipay.sdk</groupId>
<artifactId>alipay-sdk-java</artifactId>
<version>3.4.49.ALL</version>
</dependency>
<!--<dependency>-->
<!--<groupId>com.github.1991wangliang</groupId>-->
<!--<artifactId>alipay-sdk</artifactId>-->
<!--<version>1.0.0</version>-->
<!--</dependency>-->
<dependency>
<groupId>net.sf.json-lib</groupId>
<artifactId>json-lib</artifactId>
<version>2.4</version>
<classifier>jdk15</classifier>
</dependency>
<dependency>
<groupId>org.json</groupId>
<artifactId>json</artifactId>
<version>20180813</version>
</dependency>
</dependencies>

<dependencyManagement>
<dependencies>
<dependency>
<groupId>org.springframework.cloud</groupId>
<artifactId>spring-cloud-dependencies</artifactId>
<version>${spring-cloud.version}</version>
<type>pom</type>
<scope>import</scope>
</dependency>
</dependencies>
</dependencyManagement>


<build>
<plugins>
<plugin>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-maven-plugin</artifactId>
</plugin>
</plugins>
</build>
</project>

+ 14
- 0
service-payment/src/main/java/com/neusoft/smart/pos/ServicePaymentApplication.java Ver arquivo

@@ -0,0 +1,14 @@
package com.neusoft.smart.pos;

import org.mybatis.spring.annotation.MapperScan;
import org.springframework.boot.SpringApplication;
import org.springframework.cloud.client.SpringCloudApplication;

@SpringCloudApplication
@MapperScan("com.neusoft.smart.pos.payment.persistent.mapper")
public class ServicePaymentApplication {

public static void main(String[] args) {
SpringApplication.run(ServicePaymentApplication.class, args);
}
}

+ 17
- 0
service-payment/src/main/java/com/neusoft/smart/pos/payment/constants/AliPayConstants.java Ver arquivo

@@ -0,0 +1,17 @@
package com.neusoft.smart.pos.payment.constants;

/**
* 常量
*/
public class AliPayConstants {

public static final String URL = "https://openapi.alipay.com/gateway.do"; //支付宝网关
// public static final String URL = "https://openapi.alipaydev.com/gateway.do"; //支付宝沙箱网关

public static final String FORMAT = "json"; //参数格式
public static final String CHARSET = "UTF-8"; //字符集
public static final String SIGN_TYPE = "RSA2"; //加密方式
}


+ 68
- 0
service-payment/src/main/java/com/neusoft/smart/pos/payment/constants/ChinaumsPayConstants.java Ver arquivo

@@ -0,0 +1,68 @@
package com.neusoft.smart.pos.payment.constants;

/**
* 常量
*/
public class ChinaumsPayConstants {

/**
* 微信及支付宝内支付
*/
//测试地址
public static final String DOMAIN_API = "https://qr-test2.chinaums.com/netpay-route-server/api/";
//生产地址
// public static final String DOMAIN_API = "https://qr.chinaums.com/netpay-route-server/api/";

public static final String FIELD_SIGN = "sign";

public static final String ORDER_NUMBER_PREFIX = "3194";

/**
* 公众号支付
*/
//测试地址
//下单接口
public static final String DOMAIN_API_PAY = "https://qr-test2.chinaums.com/netpay-portal/webpay/pay.do";
//生产地址
//下单接口
// public static final String DOMAIN_API_PAY = "https://qr.chinaums.com/netpay-portal/webpay/pay.do";
/**
* 银商B扫C支付
*/
//B扫C支付地址
public static final String DOMAIN_BSC_PAY = "http://58.247.0.18:29015/v2/poslink/transaction/pay"; //测试地址
//public static final String DOMAIN_BSC_PAY = "https://api-mop.chinaums.com/v2/poslink/transaction/pay"; //生产地址
//B扫C冲正地址
public static final String DOMAIN_BSC_REVERSE = "http://58.247.0.18:29015/v2/poslink/transaction/reversepayment"; //测试地址
//public static final String DOMAIN_BSC_REVERSE = "https://api-mop.chinaums.com/v2/poslink/transaction/reversepayment"; //生产地址
//B扫C支付撤消地址
public static final String DOMAIN_BSC_VOID = "http://58.247.0.18:29015/v2/poslink/transaction/voidpayment"; //测试地址
//public static final String DOMAIN_BSC_VOID = "https://api-mop.chinaums.com/v2/poslink/transaction/voidpayment"; //生产地址
//B扫C交易退款
public static final String DOMAIN_BSC_REFUND = "http://58.247.0.18:29015/v2/poslink/transaction/refund"; //测试地址
//public static final String DOMAIN_BSC_REFUND = "https://api-mop.chinaums.com/v2/poslink/transaction/refund"; //生产地址
//B扫C交易状态查询
public static final String DOMAIN_BSC_QUERY = "http://58.247.0.18:29015/v2/poslink/transaction/query"; //测试地址
//public static final String DOMAIN_BSC_QUERY = "https://api-mop.chinaums.com/v2/poslink/transaction/query"; //生产地址
//商户标记
public static final String MCH_REMARK = "Neusoft";
//B扫C支付方式
public static final String PAY_MODE = "CODE_SCAN";
//货币代码
public static final String CURRENCY_CODE = "156";
//返回结果成功标志
public static final String BSC_SUCCESS = "00";
//返回结果成功标志
public static final String QUERY_SUCCESS = "0";
}


+ 40
- 0
service-payment/src/main/java/com/neusoft/smart/pos/payment/constants/FumaoPayConstants.java Ver arquivo

@@ -0,0 +1,40 @@
package com.neusoft.smart.pos.payment.constants;

/**
* 富茂常量
*/
public class FumaoPayConstants {

public static final String DOMAIN_API = "https://ptest.malls.iformall.com";//"https://ptest.malls.iformall.com/api";
public static final String FIELD_SIGN = "sign";
public static final String DEV_REQ_KEY = "qVH2YDmXJ$ok4a95";
public static final String DEV_RES_KEY = "VE#1fB2PhUe@&3Of";

public static final String BUSINESS_ID = "neupos";
public static final String TENANT_ID = "789";
public static final String MERCHANT_ID = "387135542874869760";
public static final String BU_USER_ID = "387136487880921088";

/**
* 富茂接口
*/
public static final String QUERY_AND_CALC_SUFFIX = "/queryAndCalc"; //查询及试算接口
public static final String COUPON_VERIFY_URL_SUFFIX = "/couponOrderVerify"; //优惠券预核销接口

public static final String COUPON_VERIFY_CANCEL_URL_SUFFIX = "/couponOrderVerifyCancel"; //优惠券核销取消接口

public static final String CARD_PAY_PRE_URL_SUFFIX = "/cardPayPre"; //消费卡支付接口

public static final String CARD_PAY_PRE_CANCEL_URL_SUFFIX = "/cardPayPreCancel"; //消费卡支付取消

public static final String POS_ORDER_SYNC = "/posOrderSync"; // POS订单同步接口
}


+ 13
- 0
service-payment/src/main/java/com/neusoft/smart/pos/payment/constants/PaymentConstants.java Ver arquivo

@@ -0,0 +1,13 @@
package com.neusoft.smart.pos.payment.constants;

/**
* 常量
*/
public class PaymentConstants {

/**
* 订单默认失效时间,默认为2小时,单位为分
*/
public static final Long DEFAULT_TIME_EXPIRE = 48*60L;
}


+ 97
- 0
service-payment/src/main/java/com/neusoft/smart/pos/payment/constants/PaymentErrorCode.java Ver arquivo

@@ -0,0 +1,97 @@
package com.neusoft.smart.pos.payment.constants;

import com.neusoft.smart.pos.framework.constants.CommonCode;

/**
* @author zcf
* @date 2017-08-13 10:43
* @description 业务错误信息使用枚举类
*/
public enum PaymentErrorCode implements CommonCode {

MCH_INFO_NOT_EXIST("08001", "商户信息不存在"),
SIGN_VALID_ERROR("08002", "签名校验失败"),
MCH_THIRD_PLATFORM_NOT_CONFIG("08003", "商户未配置第三方支付平台支付信息"),
MCH_NOTIFY_URL_EMPTY("08004", "商户未配置支付成功回调URL"),
MCH_ORDER_GENERATE_ERROR("08005", "第三方支付平台预付单生成失败"),
MCH_ORDER_TIME_EXPIRE_TOO_SHORT("08006", "time_expire时间过短,订单失效时间距当前时间至少5分钟"),
MCH_ORDER_REPEAT("08007", "业务系统订单号重复,请重新生成"),
MCH_NAME_NOT_EMPTY("08008", "商户名称不能为空"),
MCH_APPLY_TYPE_NOT_EMPTY("08009", "商户申请类型不能为空"),
PAY_TYPE_ERROR("08010", "支付类型错误,请重新输入"),
PAY_TYPE_NOT_EMPTY("08011", "支付类型不能为空"),
PAY_TYPE_APPID_NOT_EMPTY("08012", "AppId不能为空"),
PAY_TYPE_MCHID_NOT_EMPTY("08013", "第三方支付平台商户号不能为空"),
PAY_TYPE_SECRETKEY_NOT_EMPTY("08014", "第三方支付平台密钥不能为空"),
PAY_CHANNEL_IS_EXISTS("08015", "该支付渠道信息已经存在,无法重复添加"),
MCODE_NOT_EMPTY("08016", "商户号不能为空"),
PAY_CHANNEL_IS_EMPTY("08017", "支付渠道信息不存在"),
PAY_TYPE_PRIVATE_KEY_NOT_EMPTY("08018", "私钥不能为空"),
PAY_TYPE_PUBILC_KEY_NOT_EMPTY("08019", "公钥不能为空"),
MCH_ORDER_NOT_EXIST("08020", "商户订单信息不存在"),
MCH_ORDER_REFUND_ERROR("08021", "第三方支付平台退款申请失败"),
WX_AUTH_CODE_INVALID("08022", "微信支付授权码错误或失效"),
WX_PAY_NOT_ALLOW("08023", "订单撤销只支持商户主扫订单"),
ALIPAY_INIT_FACE_PAY_ERROR("08024", "支付宝人脸支付初始化失败"),
WEIXIN_PAY_INIT_FACE_PAY_ERROR("08025", "微信人脸支付初始化失败"),

ALIPAY_SIGN_ERROR("08201", "支付宝签名错误,私KEY有误"),
ALIPAY_PRECREATE_ERROR("08202", "请检查支付参数配置信息"),
ALIPAY_PRECREATE_RESPONSE_ERROR("08203", "请检查支付参数配置信息"),
ALIPAY_QUERY_ERROR("08204", "支付宝查询错误"),
ALIPAY_QUERY_RESPONSE_ERROR("08205", "支付宝查询返回错误"),
ALIPAY_CANCEL_ERROR("08206", "支付宝交易撤销错误"),
ALIPAY_CANCEL_RESPONSE_ERROR("08207", "支付宝交易撤销返回错误"),
ALIPAY_CLOSE_ERROR("08213", "支付宝交易关闭错误"),
ALIPAY_CLOSE_RESPONSE_ERROR("08214", "支付宝交易关闭返回错误"),
ALIPAY_PAY_ERROR("08215", "支付宝预支付错误"),
ALIPAY_PAY_RESPONSE_ERROR("08216", "请检查支付参数配置信息"),
ALIPAY_PAYORDER_IS_NOT_EXIST("08208", "返回的商户订单号不存在"),
ALIPAY_CHANNEL_IS_NOT_EXIST("08209", "返回的商户订单号对应的商户没有支付宝支付渠道"),
ALIPAY_CHECK_SIGN_ERROR("08210", "同步订单状态的参数验签错误"),
ALIPAY_AMOUNT_ERROR("08211", "同步订单状态的金额不一致"),
ALIPAY_REFUND_ERROR("08212", "支付宝退款返回错误"),
ALIPAY_FACE_PAY_ERROR("08213", "请检查支付参数配置信息"),

XYHF_CREATE_ORDER_SUCCESS("08217", "支付成功"),
XYHF_CREATE_ORDER_ERROR("08218", "错误"),
XYHF_CREATE_ORDER_AUTH_CODE_INVALID("08219", "二维码已过期,请刷新再试"),
XYHF_CREATE_ORDER_USERPAYING("08220", "等待客户验证密码"),
XYHF_CREATE_ORDER_TRADE_ERROR("08221", "暂无可用的支付方式,请绑定其它银行卡完成支付"),
XYHF_CREATE_ORDER_REFUND("08222", "转入退款"),
XYHF_CREATE_ORDER_NOTPAY("08223", "未支付"),
XYHF_CREATE_ORDER_CLOSED("08224", "已关闭"),
XYHF_CREATE_ORDER_REVOKED("08225", "已撤销"),
WFT_PAY_TYPE_NOT_SUPPORT("08226", "威富通暂不支持用户扫码支付"),
FREEZE_AMOUNT_LESS("08227", "剩余授权金额少于解冻金额,无法解冻"),

PAY_TYPE_INFO_NOT_EMPTY("08228", "第三方支付平台支付参数不能为空"),
;

private String code;
private String message;

PaymentErrorCode(String code, String message) {
this.code = code;
this.message = message;
}

public String getCode() {
return code;
}

public void setCode(String code) {
this.code = code;
}

public String getMessage() {
return message;
}

public void setMessage(String message) {
this.message = message;
}

}

+ 43
- 0
service-payment/src/main/java/com/neusoft/smart/pos/payment/constants/UnionPayConstants.java Ver arquivo

@@ -0,0 +1,43 @@
package com.neusoft.smart.pos.payment.constants;

/**
* 常量
*/
public class UnionPayConstants {

//测试环境
public static final String DOMAIN_API = "https://gateway.test.95516.com";
//正式环境
// public static final String DOMAIN_API = "https://gateway.95516.com";

public static final String FIELD_SIGN = "sign";

/**
* 银联预付单生成接口
*/
public static final String UNIFIEDORDER_URL_SUFFIX = "/gateway/api/backTransReq.do";
/**
* 银联预付单信息查询接口
*/
public static final String ORDER_QUERY_URL_SUFFIX = "/gateway/api/queryTrans.do";
/**
* 银联预付单信息取消接口
*/
public static final String ORDER_CANNEL_URL_SUFFIX = "";
/**
* 银联预付单退款接口
*/
public static final String ORDER_REFUND_URL_SUFFIX = "/gateway/api/backTransReq.do";
/**
* 银联预付单信息撤销接口
*/
public static final String ORDER_REVERSE_URL_SUFFIX = "";
/**
* 商户主动扫码支付接口
*/
public static final String MICROPAY_URL_SUFFIX = "/gateway/api/backTransReq.do";


public static final String secureKey = "";
}


+ 12
- 0
service-payment/src/main/java/com/neusoft/smart/pos/payment/constants/WFTPayConstants.java Ver arquivo

@@ -0,0 +1,12 @@
package com.neusoft.smart.pos.payment.constants;

/**
* 威富通常量
*/
public class WFTPayConstants {


public static final String DOMAIN_API = "https://pay.swiftpass.cn/pay/gateway";

}


+ 53
- 0
service-payment/src/main/java/com/neusoft/smart/pos/payment/constants/WXPayConstants.java Ver arquivo

@@ -0,0 +1,53 @@
package com.neusoft.smart.pos.payment.constants;

/**
* 常量
*/
public class WXPayConstants {

public static final String DOMAIN_API = "https://api.mch.weixin.qq.com";
public static final String FACE_DOMAIN_API = "https://payapp.weixin.qq.com";
public static final String FIELD_SIGN = "sign";

/**
* 微信预付单生成接口
*/
public static final String UNIFIEDORDER_URL_SUFFIX = "/pay/unifiedorder";
/**
* 微信预付单信息查询接口
*/
public static final String ORDER_QUERY_URL_SUFFIX = "/pay/orderquery";
/**
* 微信预付单信息取消接口
*/
public static final String ORDER_CANNEL_URL_SUFFIX = "/pay/closeorder";
/**
* 微信预付单退款接口
*/
public static final String ORDER_REFUND_URL_SUFFIX = "/secapi/pay/refund";
/**
* 微信预付单信息撤销接口
*/
public static final String ORDER_REVERSE_URL_SUFFIX = "/secapi/pay/reverse";
/**
* 商户主动扫码支付接口
*/
public static final String MICROPAY_URL_SUFFIX = "/pay/micropay";
/**
* 人脸支付初始化接口
*/
public static final String INIT_PAY_FACE_SUFFIX = "/face/get_wxpayface_authinfo";
/**
* 人脸支付付款接口
*/
public static final String FACE_PAY_SUFFIX = "/pay/facepay";
/**
* 人脸支付付款查询接口
*/
public static final String FACE_PAY_QUERY_SUFFIX = "/pay/facepayquery";
}


+ 37
- 0
service-payment/src/main/java/com/neusoft/smart/pos/payment/constants/WXUsPayConstants.java Ver arquivo

@@ -0,0 +1,37 @@
package com.neusoft.smart.pos.payment.constants;

/**
* 常量
*/
public class WXUsPayConstants {

public static final String DOMAIN_API = "https://apius.mch.weixin.qq.com/";

public static final String FIELD_SIGN = "sign";

/**
* 微信预付单生成接口
*/
public static final String UNIFIEDORDER_URL_SUFFIX = "/pay/unifiedorder";
/**
* 微信预付单信息查询接口
*/
public static final String ORDER_QUERY_URL_SUFFIX = "/pay/orderquery";
/**
* 微信预付单信息取消接口
*/
public static final String ORDER_CANNEL_URL_SUFFIX = "/pay/closeorder";
/**
* 微信预付单退款接口
*/
public static final String ORDER_REFUND_URL_SUFFIX = "/secapi/pay/refund";
/**
* 微信预付单信息撤销接口
*/
public static final String ORDER_REVERSE_URL_SUFFIX = "/secapi/pay/reverse";
/**
* 商户主动扫码支付接口
*/
public static final String MICROPAY_URL_SUFFIX = "/pay/micropay";
}


+ 25
- 0
service-payment/src/main/java/com/neusoft/smart/pos/payment/constants/XYHFPayConstants.java Ver arquivo

@@ -0,0 +1,25 @@
package com.neusoft.smart.pos.payment.constants;

/**
* 西银惠付常量
*/
public class XYHFPayConstants {


//生产环境
// public static final String DOMAIN_API = "https://c.xacbank.com:8000";
//测试环境
public static final String DOMAIN_API = "http://weixintest.xacbank.com.cn:9998";

/**
* 商户主动扫码支付接口
*/
public static final String MCH_SCAN_URL_SUFFIX = "/api/OpenPlatForm/isScaned";
//订单查询
public static final String QUERY_ORDER_URL_SUFFIX = "/api/OpenPlatForm/getDealInfo";
//订单关闭
public static final String REVERSE_ORDER_URL_SUFFIX = "/api/OpenPlatForm/businessOrderClosed";
//订单退款
public static final String REFUND_ORDER_URL_SUFFIX = "/api/OpenPlatForm/tradeRefund";
}


+ 30
- 0
service-payment/src/main/java/com/neusoft/smart/pos/payment/controller/AliGrantPayNotifyController.java Ver arquivo

@@ -0,0 +1,30 @@
package com.neusoft.smart.pos.payment.controller;

import com.neusoft.smart.pos.payment.service.AliGrantPayNotifyService;
import com.neusoft.smart.pos.payment.service.AliPayNotifyService;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;
import springfox.documentation.annotations.ApiIgnore;

import javax.servlet.http.HttpServletRequest;

@RestController
@RequestMapping(path = "/aliGrantPayNotify")
public class AliGrantPayNotifyController {

@Autowired
private AliGrantPayNotifyService aliGrantPayNotifyService;

/**
* 支付宝支付成功回调方法
* @return
*/
@ApiIgnore
@RequestMapping(value = "payNotify")
public String aliPayNotify(HttpServletRequest request){
return aliGrantPayNotifyService.aliPayNotifyDataHandle(request);
}

}

+ 30
- 0
service-payment/src/main/java/com/neusoft/smart/pos/payment/controller/AliPayNotifyController.java Ver arquivo

@@ -0,0 +1,30 @@
package com.neusoft.smart.pos.payment.controller;

import com.neusoft.smart.pos.payment.service.AliPayNotifyService;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;

import springfox.documentation.annotations.ApiIgnore;

import javax.servlet.http.HttpServletRequest;

@RestController
@RequestMapping(path = "/aliPayNotify")
public class AliPayNotifyController {

@Autowired
private AliPayNotifyService aliPayNotifyService;

/**
* 支付宝支付成功回调方法
* @return
*/
@ApiIgnore
@RequestMapping(value = "payNotify")
public String aliPayNotify(HttpServletRequest request){
return aliPayNotifyService.aliPayNotifyDataHandle(request);
}

}

+ 46
- 0
service-payment/src/main/java/com/neusoft/smart/pos/payment/controller/ChinaumsPayNotifyController.java Ver arquivo

@@ -0,0 +1,46 @@
package com.neusoft.smart.pos.payment.controller;

import com.neusoft.smart.pos.framework.constants.ApplicationConstants;
import com.neusoft.smart.pos.payment.service.ChinaumsPayNotifyService;
import com.neusoft.smart.pos.payment.service.WXPayNotifyService;
import com.neusoft.smart.pos.payment.utils.ChinaumsUtils;
import com.neusoft.smart.pos.payment.utils.HttpClientUtils;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;
import springfox.documentation.annotations.ApiIgnore;

import javax.servlet.http.HttpServletRequest;
import java.util.Map;

@RestController
@RequestMapping(path = "/chinaumsPayNotify")
public class ChinaumsPayNotifyController {

@Autowired
private ChinaumsPayNotifyService chinaumsPayNotifyService;

/**
* 银联商务支付成功回调方法
* @return
*/
@ApiIgnore
@RequestMapping(value = "payNotify")
public String chinaumsPayNotify(HttpServletRequest request){
Map<String,String> notifyDataMap = ChinaumsUtils.getRequestParams(request);
return chinaumsPayNotifyService.chinaumsNotifyDataHandle(notifyDataMap);
}

/**
* 银联商务支付退款成功回调方法
* @return
*/
@ApiIgnore
@RequestMapping(value = "refundNotify")
public String weixinRefundNotify(HttpServletRequest request){
String notifyXmlData = HttpClientUtils.getStringDataFromRequest(request);
return chinaumsPayNotifyService.chinaumsRefundNotifyDataHandle(notifyXmlData);
}

}

+ 45
- 0
service-payment/src/main/java/com/neusoft/smart/pos/payment/controller/ChinaumsPayServiceNotifyController.java Ver arquivo

@@ -0,0 +1,45 @@
package com.neusoft.smart.pos.payment.controller;

import com.neusoft.smart.pos.payment.service.ChinaumsPayNotifyService;
import com.neusoft.smart.pos.payment.service.ChinaumsPayServiceNotifyService;
import com.neusoft.smart.pos.payment.utils.ChinaumsUtils;
import com.neusoft.smart.pos.payment.utils.HttpClientUtils;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;
import springfox.documentation.annotations.ApiIgnore;

import javax.servlet.http.HttpServletRequest;
import java.util.Map;

@RestController
@RequestMapping(path = "/chinaumsPayServiceNotify")
public class ChinaumsPayServiceNotifyController {

@Autowired
private ChinaumsPayServiceNotifyService chinaumsPayServiceNotifyService;

/**
* 银联商务公众号支付成功回调方法
* @return
*/
@ApiIgnore
@RequestMapping(value = "payNotify")
public String chinaumsPayNotify(HttpServletRequest request){
Map<String,String> notifyDataMap = ChinaumsUtils.getRequestParams(request);
return chinaumsPayServiceNotifyService.chinaumsNotifyDataHandle(notifyDataMap);
}

/**
* 银联商务支付退款成功回调方法
* @return
*/
@ApiIgnore
@RequestMapping(value = "refundNotify")
public String weixinRefundNotify(HttpServletRequest request){
String notifyXmlData = HttpClientUtils.getStringDataFromRequest(request);
return chinaumsPayServiceNotifyService.chinaumsRefundNotifyDataHandle(notifyXmlData);
}

}

+ 60
- 0
service-payment/src/main/java/com/neusoft/smart/pos/payment/controller/FumaoPayController.java Ver arquivo

@@ -0,0 +1,60 @@
package com.neusoft.smart.pos.payment.controller;

import com.neusoft.smart.pos.dto.payment.request.*;
import com.neusoft.smart.pos.dto.payment.response.*;
import com.neusoft.smart.pos.framework.dto.ResponseData;
import com.neusoft.smart.pos.payment.service.FumaoPayService;

import io.swagger.annotations.Api;
import io.swagger.annotations.ApiOperation;

import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.validation.annotation.Validated;
import org.springframework.web.bind.annotation.PostMapping;
import org.springframework.web.bind.annotation.RequestBody;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;

@Api(value = "富茂支付管理使用rest接口", description = "富茂支付管理使用rest接口")
@RestController
@RequestMapping(path = "/fumaoPay")
@Validated
public class FumaoPayController {

@Autowired
private FumaoPayService fumaoPayService;


// @ApiOperation(value = "富茂", notes = "第三方支付单生成接口")
// @PostMapping("/generateOrder")
// public ResponseData<PostGenerateOrderResponse> generateOrder(@RequestBody PostGenerateOrderRequest generateOrderRequest) {
// return new ResponseData<>(fumaoPayService.createPayOrder(generateOrderRequest));
// }
@ApiOperation(value = "富茂查询试算接口", notes = "富茂查询试算接口")
@PostMapping("/queryAndCalc")
public ResponseData<FumaoMemberInfoRes> checkMem(@RequestBody FumaoPayRequest fumaoPayRequest) {
return new ResponseData<>(fumaoPayService.queryAndCalc(fumaoPayRequest));
}
// @ApiOperation(value = "富茂优惠券核销检查接口", notes = "富茂优惠券核销检查接口")
// @PostMapping("/checkCouponOrderForVerify")
// public ResponseData<FumaoCheckCouponRes> checkCouponOrderForVerify(@RequestBody FumaoPayRequest fumaoPayRequest) {
// return new ResponseData<>(fumaoPayService.checkCouponOrderForVerify(fumaoPayRequest));
// }
// @ApiOperation(value = "富茂优惠券核销接口", notes = "富茂优惠券核销接口")
// @PostMapping("/couponOrderVerify")
// public ResponseData<FumaoCouponVerifyRes> couponOrderVerify(@RequestBody FumaoPayRequest fumaoPayRequest) {
// return new ResponseData<>(fumaoPayService.couponOrderVerify(fumaoPayRequest));
// }


// @ApiOperation(value = "富茂消费卡支付接口", notes = "富茂消费卡支付接口")
// @PostMapping("/cardPayPre")
// public ResponseData<FumaoCardPayRes> cardPayPre(@RequestBody FumaoPayRequest fumaoPayRequest) {
// return new ResponseData<>(fumaoPayService.cardPayPre(fumaoPayRequest));
// }
}

+ 69
- 0
service-payment/src/main/java/com/neusoft/smart/pos/payment/controller/GrantPayController.java Ver arquivo

@@ -0,0 +1,69 @@
package com.neusoft.smart.pos.payment.controller;


import com.neusoft.smart.pos.dto.payment.request.*;
import com.neusoft.smart.pos.dto.payment.response.*;
import com.neusoft.smart.pos.framework.dto.ResponseData;
import com.neusoft.smart.pos.payment.service.GrantPayService;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiOperation;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.PostMapping;
import org.springframework.web.bind.annotation.RequestBody;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;

@Api(value = "资金授权支付管理使用rest接口", description = "资金授权支付管理使用rest接口")
@RestController
@RequestMapping(path = "/grantPay")
public class GrantPayController {

@Autowired
private GrantPayService grantPayService;


@ApiOperation(value = "资金授权冻结使用方法(含主扫与被扫)", notes = "资金授权冻结使用方法(含主扫与被扫)")
@PostMapping("/freezePay")
public ResponseData<PostFreePayResponse> freezePay(@RequestBody PostFreePayRequest freePayRequest) {
return new ResponseData<>(grantPayService.freezePay(freePayRequest));
}
@ApiOperation(value = "第三方支付单撤销接口", notes = "根据商户号订单编号撤销预付单信息方法")
@PostMapping("/reversePayGrant")
public ResponseData<PostReversePayGrantResponse> reversePayGrant(@RequestBody PostReversePayGrantRequest reversePayGrantRequest) {
return new ResponseData<>(grantPayService.reversePayGrant(reversePayGrantRequest));
}
@ApiOperation(value = "资金授权解冻使用方法", notes = "资金授权解冻使用方法")
@PostMapping("/unFreezePay")
public ResponseData<PostUnFreezePayGrantResponse> unFreezePay(@RequestBody PostUnFreezePayGrantRequest unFreePayRequest) {
return new ResponseData<>(grantPayService.unFreezePay(unFreePayRequest));
}
@ApiOperation(value = "第三方支付预授权订单信息查询接口", notes = "第三方支付预授权订单信息查询接口")
@PostMapping("/queryPayGrant")
public ResponseData<PostQueryPayGrantResponse> queryPayGrant(@RequestBody PostQueryPayGrantRequest queryPayGrantRequest) {
return new ResponseData<>(grantPayService.queryPayGrant(queryPayGrantRequest));
}
@ApiOperation(value = "第三方支付预授权转支付接口", notes = "第三方支付预授权转支付接口")
@PostMapping("/grantToPay")
public ResponseData<PostGrantToPayResponse> grantToPay(@RequestBody PostGrantToPayRequest grantToPayRequest) {
return new ResponseData<>(grantPayService.grantToPay(grantToPayRequest));
}
@ApiOperation(value = "第三方支付单退款申请接口", notes = "根据商户号订申请退款方法")
@PostMapping("/grantPayRefund")
public ResponseData<PostGrantPayRefundResponse> grantPayRefund(@RequestBody PostGrantPayRefundRequest grantPayRefundRequest) {
return new ResponseData<>(grantPayService.grantPayRefund(grantPayRefundRequest));
}
// @ApiOperation(value = "第三方支付单取消接口", notes = "根据商户号订单编号取消预付单信息方法")
// @PostMapping("/cancelOrder")
// public ResponseData<PostCancelOrderResponse> cancelOrder(@RequestBody PostCancelOrderRequest cannelOrderRequest) {
// return new ResponseData<>(payService.cancelOrder(cannelOrderRequest));
// }


}

+ 32
- 0
service-payment/src/main/java/com/neusoft/smart/pos/payment/controller/MchController.java Ver arquivo

@@ -0,0 +1,32 @@
package com.neusoft.smart.pos.payment.controller;


import com.neusoft.smart.pos.constants.DictionaryConstant;
import com.neusoft.smart.pos.dto.payment.request.PostMchInfoRequest;
import com.neusoft.smart.pos.dto.payment.response.PostMchInfoResponse;
import com.neusoft.smart.pos.framework.dto.ResponseData;
import com.neusoft.smart.pos.payment.service.MchService;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiOperation;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.PostMapping;
import org.springframework.web.bind.annotation.RequestBody;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;

@Api(value = "商户管理使用rest接口", description = "商户管理使用rest接口")
@RestController
@RequestMapping(path = "/mch")
public class MchController {

@Autowired
private MchService mchService;

@ApiOperation(value = "商户号申请内部接口", notes = "商户号申请内部接口")
@PostMapping("/applyMchByPrivate")
public ResponseData<PostMchInfoResponse> applyMchByPrivate(@RequestBody PostMchInfoRequest mchInfoRequest) {
return new ResponseData<>(mchService.createMchInfo(mchInfoRequest.getMchName(), DictionaryConstant.PAYMENT_APPLY_TYPE_NB.getCode()));
}

}

+ 51
- 0
service-payment/src/main/java/com/neusoft/smart/pos/payment/controller/MchPayChannelController.java Ver arquivo

@@ -0,0 +1,51 @@
package com.neusoft.smart.pos.payment.controller;


import com.neusoft.smart.pos.dto.payment.request.DeletePayChannelRequest;
import com.neusoft.smart.pos.dto.payment.request.GetPayChannelRequest;
import com.neusoft.smart.pos.dto.payment.request.PostApplyPayChannelRequest;
import com.neusoft.smart.pos.dto.payment.request.PutPayChannelRequest;
import com.neusoft.smart.pos.dto.payment.response.DeletePayChannelResponse;
import com.neusoft.smart.pos.dto.payment.response.GetPayChannelResponse;
import com.neusoft.smart.pos.dto.payment.response.PostApplyPayChannelResponse;
import com.neusoft.smart.pos.dto.payment.response.PutPayChannelResponse;
import com.neusoft.smart.pos.framework.dto.ResponseData;
import com.neusoft.smart.pos.payment.service.MchPayChannelService;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiOperation;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.*;

@Api(value = "商户支付渠道管理使用rest接口", description = "商户支付渠道管理使用rest接口")
@RestController
@RequestMapping(path = "/mchPayChannel")
public class MchPayChannelController {

@Autowired
private MchPayChannelService mchPayChannelService;

@ApiOperation(value = "商户支付渠道申请接口", notes = "商户支付渠道申请接口")
@PostMapping("/applyPayChannel")
public ResponseData<PostApplyPayChannelResponse> applyPayChannel(@RequestBody PostApplyPayChannelRequest applyPayChannelRequest) {
return new ResponseData<>(mchPayChannelService.applyPayChannel(applyPayChannelRequest));
}

@ApiOperation(value = "商户支付渠道信息查询接口", notes = "商户支付渠道信息查询接口")
@GetMapping("/payChannel")
public ResponseData<GetPayChannelResponse> queryPayChannel(GetPayChannelRequest payChannelRequest) {
return new ResponseData<>(mchPayChannelService.queryPayChannel(payChannelRequest.getMcode(),payChannelRequest.getPayType()));
}

@ApiOperation(value = "商户支付渠道信息删除接口", notes = "商户支付渠道信息删除接口")
@DeleteMapping("/payChannel")
public ResponseData<DeletePayChannelResponse> deletePayChannel(DeletePayChannelRequest payChannelRequest) {
return new ResponseData<>(mchPayChannelService.deletePayChannel(payChannelRequest.getMcode(),payChannelRequest.getPayType()));
}

@ApiOperation(value = "商户支付渠道信息修改接口", notes = "商户支付渠道信息修改接口")
@PutMapping("/payChannel")
public ResponseData<PutPayChannelResponse> updatePayChannel(@RequestBody PutPayChannelRequest payChannelRequest) {
return new ResponseData<>(mchPayChannelService.updatePayChannel(payChannelRequest));
}
}

+ 63
- 0
service-payment/src/main/java/com/neusoft/smart/pos/payment/controller/PayController.java Ver arquivo

@@ -0,0 +1,63 @@
package com.neusoft.smart.pos.payment.controller;


import com.neusoft.smart.pos.dto.payment.request.*;
import com.neusoft.smart.pos.dto.payment.response.*;
import com.neusoft.smart.pos.framework.dto.ResponseData;
import com.neusoft.smart.pos.payment.service.PayService;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiOperation;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.PostMapping;
import org.springframework.web.bind.annotation.RequestBody;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;

@Api(value = "支付管理使用rest接口", description = "支付管理使用rest接口")
@RestController
@RequestMapping(path = "/pay")
public class PayController {

@Autowired
private PayService payService;


@ApiOperation(value = "第三方支付单生成接口(支付二维码生成接口)", notes = "第三方支付单生成接口")
@PostMapping("/generateOrder")
public ResponseData<PostGenerateOrderResponse> generateOrder(@RequestBody PostGenerateOrderRequest generateOrderRequest) {
return new ResponseData<>(payService.createPayOrder(generateOrderRequest));
}

@ApiOperation(value = "第三方支付单信息查询接口", notes = "根据商户号订单编号查询预付单信息方法")
@PostMapping("/queryOrder")
public ResponseData<PostQueryOrderResponse> queryOrder(@RequestBody PostQueryOrderRequest queryOrderRequest) {
return new ResponseData<>(payService.queryOrder(queryOrderRequest));
}

@ApiOperation(value = "第三方支付单取消接口", notes = "根据商户号订单编号取消预付单信息方法")
@PostMapping("/cancelOrder")
public ResponseData<PostCancelOrderResponse> cancelOrder(@RequestBody PostCancelOrderRequest cannelOrderRequest) {
return new ResponseData<>(payService.cancelOrder(cannelOrderRequest));
}

@ApiOperation(value = "第三方支付单退款申请接口", notes = "根据商户号订申请退款方法")
@PostMapping("/refundOrder")
public ResponseData<PostRefundOrderResponse> refundOrder(@RequestBody PostRefundOrderRequest refundOrderRequest) {
return new ResponseData<>(payService.refundOrder(refundOrderRequest));
}

@ApiOperation(value = "第三方支付单撤销接口", notes = "根据商户号订单编号撤销预付单信息方法")
@PostMapping("/reverseOrder")
public ResponseData<PostReverseOrderResponse> reverseOrder(@RequestBody PostReverseOrderRequest reverseOrderRequest) {
return new ResponseData<>(payService.reverseOrder(reverseOrderRequest));
}
@ApiOperation(value = "第三方人脸支付初始化接口", notes = "人脸支付初始化方法")
@PostMapping("/initFacePay")
public ResponseData<PostInitFacePayResponse> initFacePay(@RequestBody PostInitFacePayRequest initFacePayRequest){
return new ResponseData<>(payService.initFacePay(initFacePayRequest));
}
}

+ 33
- 0
service-payment/src/main/java/com/neusoft/smart/pos/payment/controller/UnionPayNotifyController.java Ver arquivo

@@ -0,0 +1,33 @@
package com.neusoft.smart.pos.payment.controller;

import com.neusoft.smart.pos.payment.service.UnionPayNotifyService;
import com.neusoft.smart.pos.payment.utils.HttpClientUtils;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;
import springfox.documentation.annotations.ApiIgnore;

import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import java.util.Map;

@RestController
@RequestMapping(path = "/unionPayNotify")
public class UnionPayNotifyController {

@Autowired
private UnionPayNotifyService unionPayNotifyService;

/**
* 微信支付成功回调方法
* @return
*/
@ApiIgnore
@RequestMapping(value = "payNotify")
public String weixinPayNotify(HttpServletRequest request){
Map<String,String> notifyMapData = HttpClientUtils.getUnionPayDataFromRequest(request);
return unionPayNotifyService.unionPayNotifyDataHandle(notifyMapData);
}

}

+ 45
- 0
service-payment/src/main/java/com/neusoft/smart/pos/payment/controller/WXPayNotifyController.java Ver arquivo

@@ -0,0 +1,45 @@
package com.neusoft.smart.pos.payment.controller;

import com.google.common.collect.Maps;
import com.neusoft.smart.pos.payment.service.WXPayNotifyService;
import com.neusoft.smart.pos.payment.utils.HttpClientUtils;
import com.neusoft.smart.pos.payment.utils.WXPayUtils;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;
import springfox.documentation.annotations.ApiIgnore;

import javax.servlet.http.HttpServletRequest;
import java.util.Map;

@RestController
@RequestMapping(path = "/wxPayNotify")
public class WXPayNotifyController {

@Autowired
private WXPayNotifyService wxPayNotifyService;

/**
* 微信支付成功回调方法
* @return
*/
@ApiIgnore
@RequestMapping(value = "payNotify")
public String weixinPayNotify(HttpServletRequest request){
String notifyXmlData = HttpClientUtils.getStringDataFromRequest(request);
return wxPayNotifyService.weixinNotifyDataHandle(notifyXmlData);
}

/**
* 微信支付退款成功回调方法
* @return
*/
@ApiIgnore
@RequestMapping(value = "refundNotify")
public String weixinRefundNotify(HttpServletRequest request){
String notifyXmlData = HttpClientUtils.getStringDataFromRequest(request);
return wxPayNotifyService.weixinRefundNotifyDataHandle(notifyXmlData);
}

}

+ 43
- 0
service-payment/src/main/java/com/neusoft/smart/pos/payment/controller/WXUsPayNotifyController.java Ver arquivo

@@ -0,0 +1,43 @@
package com.neusoft.smart.pos.payment.controller;

import com.neusoft.smart.pos.payment.service.WXPayNotifyService;
import com.neusoft.smart.pos.payment.service.WXUsPayNotifyService;
import com.neusoft.smart.pos.payment.utils.HttpClientUtils;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;
import springfox.documentation.annotations.ApiIgnore;

import javax.servlet.http.HttpServletRequest;

@RestController
@RequestMapping(path = "/wxUsPayNotify")
public class WXUsPayNotifyController {

@Autowired
private WXUsPayNotifyService wxPayNotifyService;

/**
* 微信支付成功回调方法
* @return
*/
@ApiIgnore
@RequestMapping(value = "payNotify")
public String weixinPayNotify(HttpServletRequest request){
String notifyXmlData = HttpClientUtils.getStringDataFromRequest(request);
return wxPayNotifyService.weixinNotifyDataHandle(notifyXmlData);
}

/**
* 微信支付退款成功回调方法
* @return
*/
@ApiIgnore
@RequestMapping(value = "refundNotify")
public String weixinRefundNotify(HttpServletRequest request){
String notifyXmlData = HttpClientUtils.getStringDataFromRequest(request);
return wxPayNotifyService.weixinRefundNotifyDataHandle(notifyXmlData);
}

}

+ 31
- 0
service-payment/src/main/java/com/neusoft/smart/pos/payment/controller/XYHFPayNotifyController.java Ver arquivo

@@ -0,0 +1,31 @@
package com.neusoft.smart.pos.payment.controller;

import com.neusoft.smart.pos.payment.service.XYHFPayNotifyService;
import com.neusoft.smart.pos.payment.utils.HttpClientUtils;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;
import springfox.documentation.annotations.ApiIgnore;

import javax.servlet.http.HttpServletRequest;

@RestController
@RequestMapping(path = "/xyhfPayNotify")
public class XYHFPayNotifyController {

@Autowired
private XYHFPayNotifyService xyhfPayNotifyService;

/**
* 银联商务支付成功回调方法
* @return
*/
@ApiIgnore
@RequestMapping(value = "payNotify")
public String xyhfPayNotify(HttpServletRequest request){
String requestStr = HttpClientUtils.getStringDataFromRequest(request);
return xyhfPayNotifyService.xyhfNotifyDataHandle(requestStr);
}

}

+ 308
- 0
service-payment/src/main/java/com/neusoft/smart/pos/payment/persistent/domain/GrantPayOrder.java Ver arquivo

@@ -0,0 +1,308 @@
package com.neusoft.smart.pos.payment.persistent.domain;

import java.io.Serializable;
import java.util.Date;

public class GrantPayOrder implements Serializable {
private Integer id;

private String mcode;

private String mOrderNumber;

private String mPayOrderNumber;

private String tradeId;

private String outerOrderNumber;

private String outerPayOrderNumber;

private String authNo;

private String payerUserId;

private String description;

private String payType;

private Long payAmount;

private Long grantAmount;

private Long unfreezeAmount;

private String notifyUrl;

private String grantStatus;

private String timeExpire;

private Date payTime;

private String scanCode;

private String codeUrl;

private String payIp;

private String openId;

private String tradeType;

private Date grantTime;

private Date ungrantTime;

private Date reverseTime;

private Date createdAt;

private String createdBy;

private String updatedBy;

private Date updatedAt;

private static final long serialVersionUID = 1L;

public Integer getId() {
return id;
}

public void setId(Integer id) {
this.id = id;
}

public String getMcode() {
return mcode;
}

public void setMcode(String mcode) {
this.mcode = mcode == null ? null : mcode.trim();
}

public String getmOrderNumber() {
return mOrderNumber;
}

public void setmOrderNumber(String mOrderNumber) {
this.mOrderNumber = mOrderNumber == null ? null : mOrderNumber.trim();
}

public String getmPayOrderNumber() {
return mPayOrderNumber;
}

public void setmPayOrderNumber(String mPayOrderNumber) {
this.mPayOrderNumber = mPayOrderNumber == null ? null : mPayOrderNumber.trim();
}

public String getTradeId() {
return tradeId;
}

public void setTradeId(String tradeId) {
this.tradeId = tradeId == null ? null : tradeId.trim();
}

public String getOuterOrderNumber() {
return outerOrderNumber;
}

public void setOuterOrderNumber(String outerOrderNumber) {
this.outerOrderNumber = outerOrderNumber == null ? null : outerOrderNumber.trim();
}

public String getOuterPayOrderNumber() {
return outerPayOrderNumber;
}

public void setOuterPayOrderNumber(String outerPayOrderNumber) {
this.outerPayOrderNumber = outerPayOrderNumber == null ? null : outerPayOrderNumber.trim();
}

public String getAuthNo() {
return authNo;
}

public void setAuthNo(String authNo) {
this.authNo = authNo == null ? null : authNo.trim();
}

public String getPayerUserId() {
return payerUserId;
}

public void setPayerUserId(String payerUserId) {
this.payerUserId = payerUserId == null ? null : payerUserId.trim();
}

public String getDescription() {
return description;
}

public void setDescription(String description) {
this.description = description == null ? null : description.trim();
}

public String getPayType() {
return payType;
}

public void setPayType(String payType) {
this.payType = payType == null ? null : payType.trim();
}

public Long getPayAmount() {
return payAmount;
}

public void setPayAmount(Long payAmount) {
this.payAmount = payAmount;
}

public Long getGrantAmount() {
return grantAmount;
}

public void setGrantAmount(Long grantAmount) {
this.grantAmount = grantAmount;
}

public Long getUnfreezeAmount() {
return unfreezeAmount;
}

public void setUnfreezeAmount(Long unfreezeAmount) {
this.unfreezeAmount = unfreezeAmount;
}

public String getNotifyUrl() {
return notifyUrl;
}

public void setNotifyUrl(String notifyUrl) {
this.notifyUrl = notifyUrl == null ? null : notifyUrl.trim();
}

public String getGrantStatus() {
return grantStatus;
}

public void setGrantStatus(String grantStatus) {
this.grantStatus = grantStatus == null ? null : grantStatus.trim();
}

public String getTimeExpire() {
return timeExpire;
}

public void setTimeExpire(String timeExpire) {
this.timeExpire = timeExpire == null ? null : timeExpire.trim();
}

public Date getPayTime() {
return payTime;
}

public void setPayTime(Date payTime) {
this.payTime = payTime;
}

public String getScanCode() {
return scanCode;
}

public void setScanCode(String scanCode) {
this.scanCode = scanCode == null ? null : scanCode.trim();
}

public String getCodeUrl() {
return codeUrl;
}

public void setCodeUrl(String codeUrl) {
this.codeUrl = codeUrl == null ? null : codeUrl.trim();
}

public String getPayIp() {
return payIp;
}

public void setPayIp(String payIp) {
this.payIp = payIp == null ? null : payIp.trim();
}

public String getOpenId() {
return openId;
}

public void setOpenId(String openId) {
this.openId = openId == null ? null : openId.trim();
}

public String getTradeType() {
return tradeType;
}

public void setTradeType(String tradeType) {
this.tradeType = tradeType == null ? null : tradeType.trim();
}

public Date getGrantTime() {
return grantTime;
}

public void setGrantTime(Date grantTime) {
this.grantTime = grantTime;
}

public Date getUngrantTime() {
return ungrantTime;
}

public void setUngrantTime(Date ungrantTime) {
this.ungrantTime = ungrantTime;
}

public Date getReverseTime() {
return reverseTime;
}

public void setReverseTime(Date reverseTime) {
this.reverseTime = reverseTime;
}

public Date getCreatedAt() {
return createdAt;
}

public void setCreatedAt(Date createdAt) {
this.createdAt = createdAt;
}

public String getCreatedBy() {
return createdBy;
}

public void setCreatedBy(String createdBy) {
this.createdBy = createdBy == null ? null : createdBy.trim();
}

public String getUpdatedBy() {
return updatedBy;
}

public void setUpdatedBy(String updatedBy) {
this.updatedBy = updatedBy == null ? null : updatedBy.trim();
}

public Date getUpdatedAt() {
return updatedAt;
}

public void setUpdatedAt(Date updatedAt) {
this.updatedAt = updatedAt;
}
}

+ 2229
- 0
service-payment/src/main/java/com/neusoft/smart/pos/payment/persistent/domain/GrantPayOrderExample.java
Diferenças do arquivo suprimidas por serem muito extensas
Ver arquivo


+ 208
- 0
service-payment/src/main/java/com/neusoft/smart/pos/payment/persistent/domain/MchPayChannel.java Ver arquivo

@@ -0,0 +1,208 @@
package com.neusoft.smart.pos.payment.persistent.domain;

import java.io.Serializable;
import java.util.Date;

public class MchPayChannel implements Serializable {
private Integer id;

private Integer userNumber;

private String mcode;

private String payType;

private String appid;

private String mchId;

private String subAppid;

private String subMchId;

private String secretKey;

private String appSecretKey;

private String privateKey;

private String publicKey;

private String notifyUrl;

private String refundNotifyUrl;

private String isEnable;

private Date createdAt;

private String createdBy;

private String updatedBy;

private Date updatedAt;

private byte[] cert;

private static final long serialVersionUID = 1L;

public Integer getId() {
return id;
}

public void setId(Integer id) {
this.id = id;
}

public Integer getUserNumber() {
return userNumber;
}

public void setUserNumber(Integer userNumber) {
this.userNumber = userNumber;
}

public String getMcode() {
return mcode;
}

public void setMcode(String mcode) {
this.mcode = mcode == null ? null : mcode.trim();
}

public String getPayType() {
return payType;
}

public void setPayType(String payType) {
this.payType = payType == null ? null : payType.trim();
}

public String getAppid() {
return appid;
}

public void setAppid(String appid) {
this.appid = appid == null ? null : appid.trim();
}

public String getMchId() {
return mchId;
}

public void setMchId(String mchId) {
this.mchId = mchId == null ? null : mchId.trim();
}

public String getSubAppid() {
return subAppid;
}

public void setSubAppid(String subAppid) {
this.subAppid = subAppid == null ? null : subAppid.trim();
}

public String getSubMchId() {
return subMchId;
}

public void setSubMchId(String subMchId) {
this.subMchId = subMchId == null ? null : subMchId.trim();
}

public String getSecretKey() {
return secretKey;
}

public void setSecretKey(String secretKey) {
this.secretKey = secretKey == null ? null : secretKey.trim();
}

public String getAppSecretKey() {
return appSecretKey;
}

public void setAppSecretKey(String appSecretKey) {
this.appSecretKey = appSecretKey == null ? null : appSecretKey.trim();
}

public String getPrivateKey() {
return privateKey;
}

public void setPrivateKey(String privateKey) {
this.privateKey = privateKey == null ? null : privateKey.trim();
}

public String getPublicKey() {
return publicKey;
}

public void setPublicKey(String publicKey) {
this.publicKey = publicKey == null ? null : publicKey.trim();
}

public String getNotifyUrl() {
return notifyUrl;
}

public void setNotifyUrl(String notifyUrl) {
this.notifyUrl = notifyUrl == null ? null : notifyUrl.trim();
}

public String getRefundNotifyUrl() {
return refundNotifyUrl;
}

public void setRefundNotifyUrl(String refundNotifyUrl) {
this.refundNotifyUrl = refundNotifyUrl == null ? null : refundNotifyUrl.trim();
}

public String getIsEnable() {
return isEnable;
}

public void setIsEnable(String isEnable) {
this.isEnable = isEnable == null ? null : isEnable.trim();
}

public Date getCreatedAt() {
return createdAt;
}

public void setCreatedAt(Date createdAt) {
this.createdAt = createdAt;
}

public String getCreatedBy() {
return createdBy;
}

public void setCreatedBy(String createdBy) {
this.createdBy = createdBy == null ? null : createdBy.trim();
}

public String getUpdatedBy() {
return updatedBy;
}

public void setUpdatedBy(String updatedBy) {
this.updatedBy = updatedBy == null ? null : updatedBy.trim();
}

public Date getUpdatedAt() {
return updatedAt;
}

public void setUpdatedAt(Date updatedAt) {
this.updatedAt = updatedAt;
}

public byte[] getCert() {
return cert;
}

public void setCert(byte[] cert) {
this.cert = cert;
}
}

+ 1519
- 0
service-payment/src/main/java/com/neusoft/smart/pos/payment/persistent/domain/MchPayChannelExample.java
Diferenças do arquivo suprimidas por serem muito extensas
Ver arquivo


+ 118
- 0
service-payment/src/main/java/com/neusoft/smart/pos/payment/persistent/domain/MchPayInfo.java Ver arquivo

@@ -0,0 +1,118 @@
package com.neusoft.smart.pos.payment.persistent.domain;

import java.io.Serializable;
import java.util.Date;

public class MchPayInfo implements Serializable {
private Integer id;

private Integer userNumber;

private String mcode;

private String secretKey;

private String mchName;

private String applyType;

private String mchStatus;

private Date createdAt;

private String createdBy;

private String updatedBy;

private Date updatedAt;

private static final long serialVersionUID = 1L;

public Integer getId() {
return id;
}

public void setId(Integer id) {
this.id = id;
}

public Integer getUserNumber() {
return userNumber;
}

public void setUserNumber(Integer userNumber) {
this.userNumber = userNumber;
}

public String getMcode() {
return mcode;
}

public void setMcode(String mcode) {
this.mcode = mcode == null ? null : mcode.trim();
}

public String getSecretKey() {
return secretKey;
}

public void setSecretKey(String secretKey) {
this.secretKey = secretKey == null ? null : secretKey.trim();
}

public String getMchName() {
return mchName;
}

public void setMchName(String mchName) {
this.mchName = mchName == null ? null : mchName.trim();
}

public String getApplyType() {
return applyType;
}

public void setApplyType(String applyType) {
this.applyType = applyType == null ? null : applyType.trim();
}

public String getMchStatus() {
return mchStatus;
}

public void setMchStatus(String mchStatus) {
this.mchStatus = mchStatus == null ? null : mchStatus.trim();
}

public Date getCreatedAt() {
return createdAt;
}

public void setCreatedAt(Date createdAt) {
this.createdAt = createdAt;
}

public String getCreatedBy() {
return createdBy;
}

public void setCreatedBy(String createdBy) {
this.createdBy = createdBy == null ? null : createdBy.trim();
}

public String getUpdatedBy() {
return updatedBy;
}

public void setUpdatedBy(String updatedBy) {
this.updatedBy = updatedBy == null ? null : updatedBy.trim();
}

public Date getUpdatedAt() {
return updatedAt;
}

public void setUpdatedAt(Date updatedAt) {
this.updatedAt = updatedAt;
}
}

+ 959
- 0
service-payment/src/main/java/com/neusoft/smart/pos/payment/persistent/domain/MchPayInfoExample.java Ver arquivo

@@ -0,0 +1,959 @@
package com.neusoft.smart.pos.payment.persistent.domain;

import java.util.ArrayList;
import java.util.Date;
import java.util.List;

public class MchPayInfoExample {
protected String orderByClause;

protected boolean distinct;

protected List<Criteria> oredCriteria;

private Integer offset;

private Integer limit;

public MchPayInfoExample() {
oredCriteria = new ArrayList<Criteria>();
}

public void setOrderByClause(String orderByClause) {
this.orderByClause = orderByClause;
}

public String getOrderByClause() {
return orderByClause;
}

public void setDistinct(boolean distinct) {
this.distinct = distinct;
}

public boolean isDistinct() {
return distinct;
}

public List<Criteria> getOredCriteria() {
return oredCriteria;
}

public void or(Criteria criteria) {
oredCriteria.add(criteria);
}

public Criteria or() {
Criteria criteria = createCriteriaInternal();
oredCriteria.add(criteria);
return criteria;
}

public Criteria createCriteria() {
Criteria criteria = createCriteriaInternal();
if (oredCriteria.size() == 0) {
oredCriteria.add(criteria);
}
return criteria;
}

protected Criteria createCriteriaInternal() {
Criteria criteria = new Criteria();
return criteria;
}

public void clear() {
oredCriteria.clear();
orderByClause = null;
distinct = false;
this.offset = null;
this.limit = null;
}

public Integer getOffset() {
return this.offset;
}

public void setOffset(Integer offset) {
this.offset = offset;
}

public Integer getLimit() {
return this.limit;
}

public void setLimit(Integer limit) {
this.limit = limit;
}

public MchPayInfoExample page(int offset, int limit) {
this.offset = offset;
this.limit = limit;
return this;
}

protected abstract static class GeneratedCriteria {
protected List<Criterion> criteria;

protected GeneratedCriteria() {
super();
criteria = new ArrayList<Criterion>();
}

public boolean isValid() {
return criteria.size() > 0;
}

public List<Criterion> getAllCriteria() {
return criteria;
}

public List<Criterion> getCriteria() {
return criteria;
}

protected void addCriterion(String condition) {
if (condition == null) {
throw new RuntimeException("Value for condition cannot be null");
}
criteria.add(new Criterion(condition));
}

protected void addCriterion(String condition, Object value, String property) {
if (value == null) {
throw new RuntimeException("Value for " + property + " cannot be null");
}
criteria.add(new Criterion(condition, value));
}

protected void addCriterion(String condition, Object value1, Object value2, String property) {
if (value1 == null || value2 == null) {
throw new RuntimeException("Between values for " + property + " cannot be null");
}
criteria.add(new Criterion(condition, value1, value2));
}

public Criteria andIdIsNull() {
addCriterion("id is null");
return (Criteria) this;
}

public Criteria andIdIsNotNull() {
addCriterion("id is not null");
return (Criteria) this;
}

public Criteria andIdEqualTo(Integer value) {
addCriterion("id =", value, "id");
return (Criteria) this;
}

public Criteria andIdNotEqualTo(Integer value) {
addCriterion("id <>", value, "id");
return (Criteria) this;
}

public Criteria andIdGreaterThan(Integer value) {
addCriterion("id >", value, "id");
return (Criteria) this;
}

public Criteria andIdGreaterThanOrEqualTo(Integer value) {
addCriterion("id >=", value, "id");
return (Criteria) this;
}

public Criteria andIdLessThan(Integer value) {
addCriterion("id <", value, "id");
return (Criteria) this;
}

public Criteria andIdLessThanOrEqualTo(Integer value) {
addCriterion("id <=", value, "id");
return (Criteria) this;
}

public Criteria andIdIn(List<Integer> values) {
addCriterion("id in", values, "id");
return (Criteria) this;
}

public Criteria andIdNotIn(List<Integer> values) {
addCriterion("id not in", values, "id");
return (Criteria) this;
}

public Criteria andIdBetween(Integer value1, Integer value2) {
addCriterion("id between", value1, value2, "id");
return (Criteria) this;
}

public Criteria andIdNotBetween(Integer value1, Integer value2) {
addCriterion("id not between", value1, value2, "id");
return (Criteria) this;
}

public Criteria andUserNumberIsNull() {
addCriterion("user_number is null");
return (Criteria) this;
}

public Criteria andUserNumberIsNotNull() {
addCriterion("user_number is not null");
return (Criteria) this;
}

public Criteria andUserNumberEqualTo(Integer value) {
addCriterion("user_number =", value, "userNumber");
return (Criteria) this;
}

public Criteria andUserNumberNotEqualTo(Integer value) {
addCriterion("user_number <>", value, "userNumber");
return (Criteria) this;
}

public Criteria andUserNumberGreaterThan(Integer value) {
addCriterion("user_number >", value, "userNumber");
return (Criteria) this;
}

public Criteria andUserNumberGreaterThanOrEqualTo(Integer value) {
addCriterion("user_number >=", value, "userNumber");
return (Criteria) this;
}

public Criteria andUserNumberLessThan(Integer value) {
addCriterion("user_number <", value, "userNumber");
return (Criteria) this;
}

public Criteria andUserNumberLessThanOrEqualTo(Integer value) {
addCriterion("user_number <=", value, "userNumber");
return (Criteria) this;
}

public Criteria andUserNumberIn(List<Integer> values) {
addCriterion("user_number in", values, "userNumber");
return (Criteria) this;
}

public Criteria andUserNumberNotIn(List<Integer> values) {
addCriterion("user_number not in", values, "userNumber");
return (Criteria) this;
}

public Criteria andUserNumberBetween(Integer value1, Integer value2) {
addCriterion("user_number between", value1, value2, "userNumber");
return (Criteria) this;
}

public Criteria andUserNumberNotBetween(Integer value1, Integer value2) {
addCriterion("user_number not between", value1, value2, "userNumber");
return (Criteria) this;
}

public Criteria andMcodeIsNull() {
addCriterion("mcode is null");
return (Criteria) this;
}

public Criteria andMcodeIsNotNull() {
addCriterion("mcode is not null");
return (Criteria) this;
}

public Criteria andMcodeEqualTo(String value) {
addCriterion("mcode =", value, "mcode");
return (Criteria) this;
}

public Criteria andMcodeNotEqualTo(String value) {
addCriterion("mcode <>", value, "mcode");
return (Criteria) this;
}

public Criteria andMcodeGreaterThan(String value) {
addCriterion("mcode >", value, "mcode");
return (Criteria) this;
}

public Criteria andMcodeGreaterThanOrEqualTo(String value) {
addCriterion("mcode >=", value, "mcode");
return (Criteria) this;
}

public Criteria andMcodeLessThan(String value) {
addCriterion("mcode <", value, "mcode");
return (Criteria) this;
}

public Criteria andMcodeLessThanOrEqualTo(String value) {
addCriterion("mcode <=", value, "mcode");
return (Criteria) this;
}

public Criteria andMcodeLike(String value) {
addCriterion("mcode like", value, "mcode");
return (Criteria) this;
}

public Criteria andMcodeNotLike(String value) {
addCriterion("mcode not like", value, "mcode");
return (Criteria) this;
}

public Criteria andMcodeIn(List<String> values) {
addCriterion("mcode in", values, "mcode");
return (Criteria) this;
}

public Criteria andMcodeNotIn(List<String> values) {
addCriterion("mcode not in", values, "mcode");
return (Criteria) this;
}

public Criteria andMcodeBetween(String value1, String value2) {
addCriterion("mcode between", value1, value2, "mcode");
return (Criteria) this;
}

public Criteria andMcodeNotBetween(String value1, String value2) {
addCriterion("mcode not between", value1, value2, "mcode");
return (Criteria) this;
}

public Criteria andSecretKeyIsNull() {
addCriterion("secret_key is null");
return (Criteria) this;
}

public Criteria andSecretKeyIsNotNull() {
addCriterion("secret_key is not null");
return (Criteria) this;
}

public Criteria andSecretKeyEqualTo(String value) {
addCriterion("secret_key =", value, "secretKey");
return (Criteria) this;
}

public Criteria andSecretKeyNotEqualTo(String value) {
addCriterion("secret_key <>", value, "secretKey");
return (Criteria) this;
}

public Criteria andSecretKeyGreaterThan(String value) {
addCriterion("secret_key >", value, "secretKey");
return (Criteria) this;
}

public Criteria andSecretKeyGreaterThanOrEqualTo(String value) {
addCriterion("secret_key >=", value, "secretKey");
return (Criteria) this;
}

public Criteria andSecretKeyLessThan(String value) {
addCriterion("secret_key <", value, "secretKey");
return (Criteria) this;
}

public Criteria andSecretKeyLessThanOrEqualTo(String value) {
addCriterion("secret_key <=", value, "secretKey");
return (Criteria) this;
}

public Criteria andSecretKeyLike(String value) {
addCriterion("secret_key like", value, "secretKey");
return (Criteria) this;
}

public Criteria andSecretKeyNotLike(String value) {
addCriterion("secret_key not like", value, "secretKey");
return (Criteria) this;
}

public Criteria andSecretKeyIn(List<String> values) {
addCriterion("secret_key in", values, "secretKey");
return (Criteria) this;
}

public Criteria andSecretKeyNotIn(List<String> values) {
addCriterion("secret_key not in", values, "secretKey");
return (Criteria) this;
}

public Criteria andSecretKeyBetween(String value1, String value2) {
addCriterion("secret_key between", value1, value2, "secretKey");
return (Criteria) this;
}

public Criteria andSecretKeyNotBetween(String value1, String value2) {
addCriterion("secret_key not between", value1, value2, "secretKey");
return (Criteria) this;
}

public Criteria andMchNameIsNull() {
addCriterion("mch_name is null");
return (Criteria) this;
}

public Criteria andMchNameIsNotNull() {
addCriterion("mch_name is not null");
return (Criteria) this;
}

public Criteria andMchNameEqualTo(String value) {
addCriterion("mch_name =", value, "mchName");
return (Criteria) this;
}

public Criteria andMchNameNotEqualTo(String value) {
addCriterion("mch_name <>", value, "mchName");
return (Criteria) this;
}

public Criteria andMchNameGreaterThan(String value) {
addCriterion("mch_name >", value, "mchName");
return (Criteria) this;
}

public Criteria andMchNameGreaterThanOrEqualTo(String value) {
addCriterion("mch_name >=", value, "mchName");
return (Criteria) this;
}

public Criteria andMchNameLessThan(String value) {
addCriterion("mch_name <", value, "mchName");
return (Criteria) this;
}

public Criteria andMchNameLessThanOrEqualTo(String value) {
addCriterion("mch_name <=", value, "mchName");
return (Criteria) this;
}

public Criteria andMchNameLike(String value) {
addCriterion("mch_name like", value, "mchName");
return (Criteria) this;
}

public Criteria andMchNameNotLike(String value) {
addCriterion("mch_name not like", value, "mchName");
return (Criteria) this;
}

public Criteria andMchNameIn(List<String> values) {
addCriterion("mch_name in", values, "mchName");
return (Criteria) this;
}

public Criteria andMchNameNotIn(List<String> values) {
addCriterion("mch_name not in", values, "mchName");
return (Criteria) this;
}

public Criteria andMchNameBetween(String value1, String value2) {
addCriterion("mch_name between", value1, value2, "mchName");
return (Criteria) this;
}

public Criteria andMchNameNotBetween(String value1, String value2) {
addCriterion("mch_name not between", value1, value2, "mchName");
return (Criteria) this;
}

public Criteria andApplyTypeIsNull() {
addCriterion("apply_type is null");
return (Criteria) this;
}

public Criteria andApplyTypeIsNotNull() {
addCriterion("apply_type is not null");
return (Criteria) this;
}

public Criteria andApplyTypeEqualTo(String value) {
addCriterion("apply_type =", value, "applyType");
return (Criteria) this;
}

public Criteria andApplyTypeNotEqualTo(String value) {
addCriterion("apply_type <>", value, "applyType");
return (Criteria) this;
}

public Criteria andApplyTypeGreaterThan(String value) {
addCriterion("apply_type >", value, "applyType");
return (Criteria) this;
}

public Criteria andApplyTypeGreaterThanOrEqualTo(String value) {
addCriterion("apply_type >=", value, "applyType");
return (Criteria) this;
}

public Criteria andApplyTypeLessThan(String value) {
addCriterion("apply_type <", value, "applyType");
return (Criteria) this;
}

public Criteria andApplyTypeLessThanOrEqualTo(String value) {
addCriterion("apply_type <=", value, "applyType");
return (Criteria) this;
}

public Criteria andApplyTypeLike(String value) {
addCriterion("apply_type like", value, "applyType");
return (Criteria) this;
}

public Criteria andApplyTypeNotLike(String value) {
addCriterion("apply_type not like", value, "applyType");
return (Criteria) this;
}

public Criteria andApplyTypeIn(List<String> values) {
addCriterion("apply_type in", values, "applyType");
return (Criteria) this;
}

public Criteria andApplyTypeNotIn(List<String> values) {
addCriterion("apply_type not in", values, "applyType");
return (Criteria) this;
}

public Criteria andApplyTypeBetween(String value1, String value2) {
addCriterion("apply_type between", value1, value2, "applyType");
return (Criteria) this;
}

public Criteria andApplyTypeNotBetween(String value1, String value2) {
addCriterion("apply_type not between", value1, value2, "applyType");
return (Criteria) this;
}

public Criteria andMchStatusIsNull() {
addCriterion("mch_status is null");
return (Criteria) this;
}

public Criteria andMchStatusIsNotNull() {
addCriterion("mch_status is not null");
return (Criteria) this;
}

public Criteria andMchStatusEqualTo(String value) {
addCriterion("mch_status =", value, "mchStatus");
return (Criteria) this;
}

public Criteria andMchStatusNotEqualTo(String value) {
addCriterion("mch_status <>", value, "mchStatus");
return (Criteria) this;
}

public Criteria andMchStatusGreaterThan(String value) {
addCriterion("mch_status >", value, "mchStatus");
return (Criteria) this;
}

public Criteria andMchStatusGreaterThanOrEqualTo(String value) {
addCriterion("mch_status >=", value, "mchStatus");
return (Criteria) this;
}

public Criteria andMchStatusLessThan(String value) {
addCriterion("mch_status <", value, "mchStatus");
return (Criteria) this;
}

public Criteria andMchStatusLessThanOrEqualTo(String value) {
addCriterion("mch_status <=", value, "mchStatus");
return (Criteria) this;
}

public Criteria andMchStatusLike(String value) {
addCriterion("mch_status like", value, "mchStatus");
return (Criteria) this;
}

public Criteria andMchStatusNotLike(String value) {
addCriterion("mch_status not like", value, "mchStatus");
return (Criteria) this;
}

public Criteria andMchStatusIn(List<String> values) {
addCriterion("mch_status in", values, "mchStatus");
return (Criteria) this;
}

public Criteria andMchStatusNotIn(List<String> values) {
addCriterion("mch_status not in", values, "mchStatus");
return (Criteria) this;
}

public Criteria andMchStatusBetween(String value1, String value2) {
addCriterion("mch_status between", value1, value2, "mchStatus");
return (Criteria) this;
}

public Criteria andMchStatusNotBetween(String value1, String value2) {
addCriterion("mch_status not between", value1, value2, "mchStatus");
return (Criteria) this;
}

public Criteria andCreatedAtIsNull() {
addCriterion("created_at is null");
return (Criteria) this;
}

public Criteria andCreatedAtIsNotNull() {
addCriterion("created_at is not null");
return (Criteria) this;
}

public Criteria andCreatedAtEqualTo(Date value) {
addCriterion("created_at =", value, "createdAt");
return (Criteria) this;
}

public Criteria andCreatedAtNotEqualTo(Date value) {
addCriterion("created_at <>", value, "createdAt");
return (Criteria) this;
}

public Criteria andCreatedAtGreaterThan(Date value) {
addCriterion("created_at >", value, "createdAt");
return (Criteria) this;
}

public Criteria andCreatedAtGreaterThanOrEqualTo(Date value) {
addCriterion("created_at >=", value, "createdAt");
return (Criteria) this;
}

public Criteria andCreatedAtLessThan(Date value) {
addCriterion("created_at <", value, "createdAt");
return (Criteria) this;
}

public Criteria andCreatedAtLessThanOrEqualTo(Date value) {
addCriterion("created_at <=", value, "createdAt");
return (Criteria) this;
}

public Criteria andCreatedAtIn(List<Date> values) {
addCriterion("created_at in", values, "createdAt");
return (Criteria) this;
}

public Criteria andCreatedAtNotIn(List<Date> values) {
addCriterion("created_at not in", values, "createdAt");
return (Criteria) this;
}

public Criteria andCreatedAtBetween(Date value1, Date value2) {
addCriterion("created_at between", value1, value2, "createdAt");
return (Criteria) this;
}

public Criteria andCreatedAtNotBetween(Date value1, Date value2) {
addCriterion("created_at not between", value1, value2, "createdAt");
return (Criteria) this;
}

public Criteria andCreatedByIsNull() {
addCriterion("created_by is null");
return (Criteria) this;
}

public Criteria andCreatedByIsNotNull() {
addCriterion("created_by is not null");
return (Criteria) this;
}

public Criteria andCreatedByEqualTo(String value) {
addCriterion("created_by =", value, "createdBy");
return (Criteria) this;
}

public Criteria andCreatedByNotEqualTo(String value) {
addCriterion("created_by <>", value, "createdBy");
return (Criteria) this;
}

public Criteria andCreatedByGreaterThan(String value) {
addCriterion("created_by >", value, "createdBy");
return (Criteria) this;
}

public Criteria andCreatedByGreaterThanOrEqualTo(String value) {
addCriterion("created_by >=", value, "createdBy");
return (Criteria) this;
}

public Criteria andCreatedByLessThan(String value) {
addCriterion("created_by <", value, "createdBy");
return (Criteria) this;
}

public Criteria andCreatedByLessThanOrEqualTo(String value) {
addCriterion("created_by <=", value, "createdBy");
return (Criteria) this;
}

public Criteria andCreatedByLike(String value) {
addCriterion("created_by like", value, "createdBy");
return (Criteria) this;
}

public Criteria andCreatedByNotLike(String value) {
addCriterion("created_by not like", value, "createdBy");
return (Criteria) this;
}

public Criteria andCreatedByIn(List<String> values) {
addCriterion("created_by in", values, "createdBy");
return (Criteria) this;
}

public Criteria andCreatedByNotIn(List<String> values) {
addCriterion("created_by not in", values, "createdBy");
return (Criteria) this;
}

public Criteria andCreatedByBetween(String value1, String value2) {
addCriterion("created_by between", value1, value2, "createdBy");
return (Criteria) this;
}

public Criteria andCreatedByNotBetween(String value1, String value2) {
addCriterion("created_by not between", value1, value2, "createdBy");
return (Criteria) this;
}

public Criteria andUpdatedByIsNull() {
addCriterion("updated_by is null");
return (Criteria) this;
}

public Criteria andUpdatedByIsNotNull() {
addCriterion("updated_by is not null");
return (Criteria) this;
}

public Criteria andUpdatedByEqualTo(String value) {
addCriterion("updated_by =", value, "updatedBy");
return (Criteria) this;
}

public Criteria andUpdatedByNotEqualTo(String value) {
addCriterion("updated_by <>", value, "updatedBy");
return (Criteria) this;
}

public Criteria andUpdatedByGreaterThan(String value) {
addCriterion("updated_by >", value, "updatedBy");
return (Criteria) this;
}

public Criteria andUpdatedByGreaterThanOrEqualTo(String value) {
addCriterion("updated_by >=", value, "updatedBy");
return (Criteria) this;
}

public Criteria andUpdatedByLessThan(String value) {
addCriterion("updated_by <", value, "updatedBy");
return (Criteria) this;
}

public Criteria andUpdatedByLessThanOrEqualTo(String value) {
addCriterion("updated_by <=", value, "updatedBy");
return (Criteria) this;
}

public Criteria andUpdatedByLike(String value) {
addCriterion("updated_by like", value, "updatedBy");
return (Criteria) this;
}

public Criteria andUpdatedByNotLike(String value) {
addCriterion("updated_by not like", value, "updatedBy");
return (Criteria) this;
}

public Criteria andUpdatedByIn(List<String> values) {
addCriterion("updated_by in", values, "updatedBy");
return (Criteria) this;
}

public Criteria andUpdatedByNotIn(List<String> values) {
addCriterion("updated_by not in", values, "updatedBy");
return (Criteria) this;
}

public Criteria andUpdatedByBetween(String value1, String value2) {
addCriterion("updated_by between", value1, value2, "updatedBy");
return (Criteria) this;
}

public Criteria andUpdatedByNotBetween(String value1, String value2) {
addCriterion("updated_by not between", value1, value2, "updatedBy");
return (Criteria) this;
}

public Criteria andUpdatedAtIsNull() {
addCriterion("updated_at is null");
return (Criteria) this;
}

public Criteria andUpdatedAtIsNotNull() {
addCriterion("updated_at is not null");
return (Criteria) this;
}

public Criteria andUpdatedAtEqualTo(Date value) {
addCriterion("updated_at =", value, "updatedAt");
return (Criteria) this;
}

public Criteria andUpdatedAtNotEqualTo(Date value) {
addCriterion("updated_at <>", value, "updatedAt");
return (Criteria) this;
}

public Criteria andUpdatedAtGreaterThan(Date value) {
addCriterion("updated_at >", value, "updatedAt");
return (Criteria) this;
}

public Criteria andUpdatedAtGreaterThanOrEqualTo(Date value) {
addCriterion("updated_at >=", value, "updatedAt");
return (Criteria) this;
}

public Criteria andUpdatedAtLessThan(Date value) {
addCriterion("updated_at <", value, "updatedAt");
return (Criteria) this;
}

public Criteria andUpdatedAtLessThanOrEqualTo(Date value) {
addCriterion("updated_at <=", value, "updatedAt");
return (Criteria) this;
}

public Criteria andUpdatedAtIn(List<Date> values) {
addCriterion("updated_at in", values, "updatedAt");
return (Criteria) this;
}

public Criteria andUpdatedAtNotIn(List<Date> values) {
addCriterion("updated_at not in", values, "updatedAt");
return (Criteria) this;
}

public Criteria andUpdatedAtBetween(Date value1, Date value2) {
addCriterion("updated_at between", value1, value2, "updatedAt");
return (Criteria) this;
}

public Criteria andUpdatedAtNotBetween(Date value1, Date value2) {
addCriterion("updated_at not between", value1, value2, "updatedAt");
return (Criteria) this;
}
}

public static class Criteria extends GeneratedCriteria {

protected Criteria() {
super();
}
}

public static class Criterion {
private String condition;

private Object value;

private Object secondValue;

private boolean noValue;

private boolean singleValue;

private boolean betweenValue;

private boolean listValue;

private String typeHandler;

public String getCondition() {
return condition;
}

public Object getValue() {
return value;
}

public Object getSecondValue() {
return secondValue;
}

public boolean isNoValue() {
return noValue;
}

public boolean isSingleValue() {
return singleValue;
}

public boolean isBetweenValue() {
return betweenValue;
}

public boolean isListValue() {
return listValue;
}

public String getTypeHandler() {
return typeHandler;
}

protected Criterion(String condition) {
super();
this.condition = condition;
this.typeHandler = null;
this.noValue = true;
}

protected Criterion(String condition, Object value, String typeHandler) {
super();
this.condition = condition;
this.value = value;
this.typeHandler = typeHandler;
if (value instanceof List<?>) {
this.listValue = true;
} else {
this.singleValue = true;
}
}

protected Criterion(String condition, Object value) {
this(condition, value, null);
}

protected Criterion(String condition, Object value, Object secondValue, String typeHandler) {
super();
this.condition = condition;
this.value = value;
this.secondValue = secondValue;
this.typeHandler = typeHandler;
this.betweenValue = true;
}

protected Criterion(String condition, Object value, Object secondValue) {
this(condition, value, secondValue, null);
}
}
}

+ 108
- 0
service-payment/src/main/java/com/neusoft/smart/pos/payment/persistent/domain/MchPaymentTradeLog.java Ver arquivo

@@ -0,0 +1,108 @@
package com.neusoft.smart.pos.payment.persistent.domain;

import java.io.Serializable;
import java.util.Date;

public class MchPaymentTradeLog implements Serializable {
private Integer id;

private String mcode;

private String mOrderNumber;

private String payType;

private String description;

private String requestType;

private Date createdAt;

private String createdBy;

private String updatedBy;

private Date updatedAt;

private static final long serialVersionUID = 1L;

public Integer getId() {
return id;
}

public void setId(Integer id) {
this.id = id;
}

public String getMcode() {
return mcode;
}

public void setMcode(String mcode) {
this.mcode = mcode == null ? null : mcode.trim();
}

public String getmOrderNumber() {
return mOrderNumber;
}

public void setmOrderNumber(String mOrderNumber) {
this.mOrderNumber = mOrderNumber == null ? null : mOrderNumber.trim();
}

public String getPayType() {
return payType;
}

public void setPayType(String payType) {
this.payType = payType == null ? null : payType.trim();
}

public String getDescription() {
return description;
}

public void setDescription(String description) {
this.description = description == null ? null : description.trim();
}

public String getRequestType() {
return requestType;
}

public void setRequestType(String requestType) {
this.requestType = requestType == null ? null : requestType.trim();
}

public Date getCreatedAt() {
return createdAt;
}

public void setCreatedAt(Date createdAt) {
this.createdAt = createdAt;
}

public String getCreatedBy() {
return createdBy;
}

public void setCreatedBy(String createdBy) {
this.createdBy = createdBy == null ? null : createdBy.trim();
}

public String getUpdatedBy() {
return updatedBy;
}

public void setUpdatedBy(String updatedBy) {
this.updatedBy = updatedBy == null ? null : updatedBy.trim();
}

public Date getUpdatedAt() {
return updatedAt;
}

public void setUpdatedAt(Date updatedAt) {
this.updatedAt = updatedAt;
}
}

+ 899
- 0
service-payment/src/main/java/com/neusoft/smart/pos/payment/persistent/domain/MchPaymentTradeLogExample.java Ver arquivo

@@ -0,0 +1,899 @@
package com.neusoft.smart.pos.payment.persistent.domain;

import java.util.ArrayList;
import java.util.Date;
import java.util.List;

public class MchPaymentTradeLogExample {
protected String orderByClause;

protected boolean distinct;

protected List<Criteria> oredCriteria;

private Integer offset;

private Integer limit;

public MchPaymentTradeLogExample() {
oredCriteria = new ArrayList<Criteria>();
}

public void setOrderByClause(String orderByClause) {
this.orderByClause = orderByClause;
}

public String getOrderByClause() {
return orderByClause;
}

public void setDistinct(boolean distinct) {
this.distinct = distinct;
}

public boolean isDistinct() {
return distinct;
}

public List<Criteria> getOredCriteria() {
return oredCriteria;
}

public void or(Criteria criteria) {
oredCriteria.add(criteria);
}

public Criteria or() {
Criteria criteria = createCriteriaInternal();
oredCriteria.add(criteria);
return criteria;
}

public Criteria createCriteria() {
Criteria criteria = createCriteriaInternal();
if (oredCriteria.size() == 0) {
oredCriteria.add(criteria);
}
return criteria;
}

protected Criteria createCriteriaInternal() {
Criteria criteria = new Criteria();
return criteria;
}

public void clear() {
oredCriteria.clear();
orderByClause = null;
distinct = false;
this.offset = null;
this.limit = null;
}

public Integer getOffset() {
return this.offset;
}

public void setOffset(Integer offset) {
this.offset = offset;
}

public Integer getLimit() {
return this.limit;
}

public void setLimit(Integer limit) {
this.limit = limit;
}

public MchPaymentTradeLogExample page(int offset, int limit) {
this.offset = offset;
this.limit = limit;
return this;
}

protected abstract static class GeneratedCriteria {
protected List<Criterion> criteria;

protected GeneratedCriteria() {
super();
criteria = new ArrayList<Criterion>();
}

public boolean isValid() {
return criteria.size() > 0;
}

public List<Criterion> getAllCriteria() {
return criteria;
}

public List<Criterion> getCriteria() {
return criteria;
}

protected void addCriterion(String condition) {
if (condition == null) {
throw new RuntimeException("Value for condition cannot be null");
}
criteria.add(new Criterion(condition));
}

protected void addCriterion(String condition, Object value, String property) {
if (value == null) {
throw new RuntimeException("Value for " + property + " cannot be null");
}
criteria.add(new Criterion(condition, value));
}

protected void addCriterion(String condition, Object value1, Object value2, String property) {
if (value1 == null || value2 == null) {
throw new RuntimeException("Between values for " + property + " cannot be null");
}
criteria.add(new Criterion(condition, value1, value2));
}

public Criteria andIdIsNull() {
addCriterion("id is null");
return (Criteria) this;
}

public Criteria andIdIsNotNull() {
addCriterion("id is not null");
return (Criteria) this;
}

public Criteria andIdEqualTo(Integer value) {
addCriterion("id =", value, "id");
return (Criteria) this;
}

public Criteria andIdNotEqualTo(Integer value) {
addCriterion("id <>", value, "id");
return (Criteria) this;
}

public Criteria andIdGreaterThan(Integer value) {
addCriterion("id >", value, "id");
return (Criteria) this;
}

public Criteria andIdGreaterThanOrEqualTo(Integer value) {
addCriterion("id >=", value, "id");
return (Criteria) this;
}

public Criteria andIdLessThan(Integer value) {
addCriterion("id <", value, "id");
return (Criteria) this;
}

public Criteria andIdLessThanOrEqualTo(Integer value) {
addCriterion("id <=", value, "id");
return (Criteria) this;
}

public Criteria andIdIn(List<Integer> values) {
addCriterion("id in", values, "id");
return (Criteria) this;
}

public Criteria andIdNotIn(List<Integer> values) {
addCriterion("id not in", values, "id");
return (Criteria) this;
}

public Criteria andIdBetween(Integer value1, Integer value2) {
addCriterion("id between", value1, value2, "id");
return (Criteria) this;
}

public Criteria andIdNotBetween(Integer value1, Integer value2) {
addCriterion("id not between", value1, value2, "id");
return (Criteria) this;
}

public Criteria andMcodeIsNull() {
addCriterion("mcode is null");
return (Criteria) this;
}

public Criteria andMcodeIsNotNull() {
addCriterion("mcode is not null");
return (Criteria) this;
}

public Criteria andMcodeEqualTo(String value) {
addCriterion("mcode =", value, "mcode");
return (Criteria) this;
}

public Criteria andMcodeNotEqualTo(String value) {
addCriterion("mcode <>", value, "mcode");
return (Criteria) this;
}

public Criteria andMcodeGreaterThan(String value) {
addCriterion("mcode >", value, "mcode");
return (Criteria) this;
}

public Criteria andMcodeGreaterThanOrEqualTo(String value) {
addCriterion("mcode >=", value, "mcode");
return (Criteria) this;
}

public Criteria andMcodeLessThan(String value) {
addCriterion("mcode <", value, "mcode");
return (Criteria) this;
}

public Criteria andMcodeLessThanOrEqualTo(String value) {
addCriterion("mcode <=", value, "mcode");
return (Criteria) this;
}

public Criteria andMcodeLike(String value) {
addCriterion("mcode like", value, "mcode");
return (Criteria) this;
}

public Criteria andMcodeNotLike(String value) {
addCriterion("mcode not like", value, "mcode");
return (Criteria) this;
}

public Criteria andMcodeIn(List<String> values) {
addCriterion("mcode in", values, "mcode");
return (Criteria) this;
}

public Criteria andMcodeNotIn(List<String> values) {
addCriterion("mcode not in", values, "mcode");
return (Criteria) this;
}

public Criteria andMcodeBetween(String value1, String value2) {
addCriterion("mcode between", value1, value2, "mcode");
return (Criteria) this;
}

public Criteria andMcodeNotBetween(String value1, String value2) {
addCriterion("mcode not between", value1, value2, "mcode");
return (Criteria) this;
}

public Criteria andMOrderNumberIsNull() {
addCriterion("m_order_number is null");
return (Criteria) this;
}

public Criteria andMOrderNumberIsNotNull() {
addCriterion("m_order_number is not null");
return (Criteria) this;
}

public Criteria andMOrderNumberEqualTo(String value) {
addCriterion("m_order_number =", value, "mOrderNumber");
return (Criteria) this;
}

public Criteria andMOrderNumberNotEqualTo(String value) {
addCriterion("m_order_number <>", value, "mOrderNumber");
return (Criteria) this;
}

public Criteria andMOrderNumberGreaterThan(String value) {
addCriterion("m_order_number >", value, "mOrderNumber");
return (Criteria) this;
}

public Criteria andMOrderNumberGreaterThanOrEqualTo(String value) {
addCriterion("m_order_number >=", value, "mOrderNumber");
return (Criteria) this;
}

public Criteria andMOrderNumberLessThan(String value) {
addCriterion("m_order_number <", value, "mOrderNumber");
return (Criteria) this;
}

public Criteria andMOrderNumberLessThanOrEqualTo(String value) {
addCriterion("m_order_number <=", value, "mOrderNumber");
return (Criteria) this;
}

public Criteria andMOrderNumberLike(String value) {
addCriterion("m_order_number like", value, "mOrderNumber");
return (Criteria) this;
}

public Criteria andMOrderNumberNotLike(String value) {
addCriterion("m_order_number not like", value, "mOrderNumber");
return (Criteria) this;
}

public Criteria andMOrderNumberIn(List<String> values) {
addCriterion("m_order_number in", values, "mOrderNumber");
return (Criteria) this;
}

public Criteria andMOrderNumberNotIn(List<String> values) {
addCriterion("m_order_number not in", values, "mOrderNumber");
return (Criteria) this;
}

public Criteria andMOrderNumberBetween(String value1, String value2) {
addCriterion("m_order_number between", value1, value2, "mOrderNumber");
return (Criteria) this;
}

public Criteria andMOrderNumberNotBetween(String value1, String value2) {
addCriterion("m_order_number not between", value1, value2, "mOrderNumber");
return (Criteria) this;
}

public Criteria andPayTypeIsNull() {
addCriterion("pay_type is null");
return (Criteria) this;
}

public Criteria andPayTypeIsNotNull() {
addCriterion("pay_type is not null");
return (Criteria) this;
}

public Criteria andPayTypeEqualTo(String value) {
addCriterion("pay_type =", value, "payType");
return (Criteria) this;
}

public Criteria andPayTypeNotEqualTo(String value) {
addCriterion("pay_type <>", value, "payType");
return (Criteria) this;
}

public Criteria andPayTypeGreaterThan(String value) {
addCriterion("pay_type >", value, "payType");
return (Criteria) this;
}

public Criteria andPayTypeGreaterThanOrEqualTo(String value) {
addCriterion("pay_type >=", value, "payType");
return (Criteria) this;
}

public Criteria andPayTypeLessThan(String value) {
addCriterion("pay_type <", value, "payType");
return (Criteria) this;
}

public Criteria andPayTypeLessThanOrEqualTo(String value) {
addCriterion("pay_type <=", value, "payType");
return (Criteria) this;
}

public Criteria andPayTypeLike(String value) {
addCriterion("pay_type like", value, "payType");
return (Criteria) this;
}

public Criteria andPayTypeNotLike(String value) {
addCriterion("pay_type not like", value, "payType");
return (Criteria) this;
}

public Criteria andPayTypeIn(List<String> values) {
addCriterion("pay_type in", values, "payType");
return (Criteria) this;
}

public Criteria andPayTypeNotIn(List<String> values) {
addCriterion("pay_type not in", values, "payType");
return (Criteria) this;
}

public Criteria andPayTypeBetween(String value1, String value2) {
addCriterion("pay_type between", value1, value2, "payType");
return (Criteria) this;
}

public Criteria andPayTypeNotBetween(String value1, String value2) {
addCriterion("pay_type not between", value1, value2, "payType");
return (Criteria) this;
}

public Criteria andDescriptionIsNull() {
addCriterion("description is null");
return (Criteria) this;
}

public Criteria andDescriptionIsNotNull() {
addCriterion("description is not null");
return (Criteria) this;
}

public Criteria andDescriptionEqualTo(String value) {
addCriterion("description =", value, "description");
return (Criteria) this;
}

public Criteria andDescriptionNotEqualTo(String value) {
addCriterion("description <>", value, "description");
return (Criteria) this;
}

public Criteria andDescriptionGreaterThan(String value) {
addCriterion("description >", value, "description");
return (Criteria) this;
}

public Criteria andDescriptionGreaterThanOrEqualTo(String value) {
addCriterion("description >=", value, "description");
return (Criteria) this;
}

public Criteria andDescriptionLessThan(String value) {
addCriterion("description <", value, "description");
return (Criteria) this;
}

public Criteria andDescriptionLessThanOrEqualTo(String value) {
addCriterion("description <=", value, "description");
return (Criteria) this;
}

public Criteria andDescriptionLike(String value) {
addCriterion("description like", value, "description");
return (Criteria) this;
}

public Criteria andDescriptionNotLike(String value) {
addCriterion("description not like", value, "description");
return (Criteria) this;
}

public Criteria andDescriptionIn(List<String> values) {
addCriterion("description in", values, "description");
return (Criteria) this;
}

public Criteria andDescriptionNotIn(List<String> values) {
addCriterion("description not in", values, "description");
return (Criteria) this;
}

public Criteria andDescriptionBetween(String value1, String value2) {
addCriterion("description between", value1, value2, "description");
return (Criteria) this;
}

public Criteria andDescriptionNotBetween(String value1, String value2) {
addCriterion("description not between", value1, value2, "description");
return (Criteria) this;
}

public Criteria andRequestTypeIsNull() {
addCriterion("request_type is null");
return (Criteria) this;
}

public Criteria andRequestTypeIsNotNull() {
addCriterion("request_type is not null");
return (Criteria) this;
}

public Criteria andRequestTypeEqualTo(String value) {
addCriterion("request_type =", value, "requestType");
return (Criteria) this;
}

public Criteria andRequestTypeNotEqualTo(String value) {
addCriterion("request_type <>", value, "requestType");
return (Criteria) this;
}

public Criteria andRequestTypeGreaterThan(String value) {
addCriterion("request_type >", value, "requestType");
return (Criteria) this;
}

public Criteria andRequestTypeGreaterThanOrEqualTo(String value) {
addCriterion("request_type >=", value, "requestType");
return (Criteria) this;
}

public Criteria andRequestTypeLessThan(String value) {
addCriterion("request_type <", value, "requestType");
return (Criteria) this;
}

public Criteria andRequestTypeLessThanOrEqualTo(String value) {
addCriterion("request_type <=", value, "requestType");
return (Criteria) this;
}

public Criteria andRequestTypeLike(String value) {
addCriterion("request_type like", value, "requestType");
return (Criteria) this;
}

public Criteria andRequestTypeNotLike(String value) {
addCriterion("request_type not like", value, "requestType");
return (Criteria) this;
}

public Criteria andRequestTypeIn(List<String> values) {
addCriterion("request_type in", values, "requestType");
return (Criteria) this;
}

public Criteria andRequestTypeNotIn(List<String> values) {
addCriterion("request_type not in", values, "requestType");
return (Criteria) this;
}

public Criteria andRequestTypeBetween(String value1, String value2) {
addCriterion("request_type between", value1, value2, "requestType");
return (Criteria) this;
}

public Criteria andRequestTypeNotBetween(String value1, String value2) {
addCriterion("request_type not between", value1, value2, "requestType");
return (Criteria) this;
}

public Criteria andCreatedAtIsNull() {
addCriterion("created_at is null");
return (Criteria) this;
}

public Criteria andCreatedAtIsNotNull() {
addCriterion("created_at is not null");
return (Criteria) this;
}

public Criteria andCreatedAtEqualTo(Date value) {
addCriterion("created_at =", value, "createdAt");
return (Criteria) this;
}

public Criteria andCreatedAtNotEqualTo(Date value) {
addCriterion("created_at <>", value, "createdAt");
return (Criteria) this;
}

public Criteria andCreatedAtGreaterThan(Date value) {
addCriterion("created_at >", value, "createdAt");
return (Criteria) this;
}

public Criteria andCreatedAtGreaterThanOrEqualTo(Date value) {
addCriterion("created_at >=", value, "createdAt");
return (Criteria) this;
}

public Criteria andCreatedAtLessThan(Date value) {
addCriterion("created_at <", value, "createdAt");
return (Criteria) this;
}

public Criteria andCreatedAtLessThanOrEqualTo(Date value) {
addCriterion("created_at <=", value, "createdAt");
return (Criteria) this;
}

public Criteria andCreatedAtIn(List<Date> values) {
addCriterion("created_at in", values, "createdAt");
return (Criteria) this;
}

public Criteria andCreatedAtNotIn(List<Date> values) {
addCriterion("created_at not in", values, "createdAt");
return (Criteria) this;
}

public Criteria andCreatedAtBetween(Date value1, Date value2) {
addCriterion("created_at between", value1, value2, "createdAt");
return (Criteria) this;
}

public Criteria andCreatedAtNotBetween(Date value1, Date value2) {
addCriterion("created_at not between", value1, value2, "createdAt");
return (Criteria) this;
}

public Criteria andCreatedByIsNull() {
addCriterion("created_by is null");
return (Criteria) this;
}

public Criteria andCreatedByIsNotNull() {
addCriterion("created_by is not null");
return (Criteria) this;
}

public Criteria andCreatedByEqualTo(String value) {
addCriterion("created_by =", value, "createdBy");
return (Criteria) this;
}

public Criteria andCreatedByNotEqualTo(String value) {
addCriterion("created_by <>", value, "createdBy");
return (Criteria) this;
}

public Criteria andCreatedByGreaterThan(String value) {
addCriterion("created_by >", value, "createdBy");
return (Criteria) this;
}

public Criteria andCreatedByGreaterThanOrEqualTo(String value) {
addCriterion("created_by >=", value, "createdBy");
return (Criteria) this;
}

public Criteria andCreatedByLessThan(String value) {
addCriterion("created_by <", value, "createdBy");
return (Criteria) this;
}

public Criteria andCreatedByLessThanOrEqualTo(String value) {
addCriterion("created_by <=", value, "createdBy");
return (Criteria) this;
}

public Criteria andCreatedByLike(String value) {
addCriterion("created_by like", value, "createdBy");
return (Criteria) this;
}

public Criteria andCreatedByNotLike(String value) {
addCriterion("created_by not like", value, "createdBy");
return (Criteria) this;
}

public Criteria andCreatedByIn(List<String> values) {
addCriterion("created_by in", values, "createdBy");
return (Criteria) this;
}

public Criteria andCreatedByNotIn(List<String> values) {
addCriterion("created_by not in", values, "createdBy");
return (Criteria) this;
}

public Criteria andCreatedByBetween(String value1, String value2) {
addCriterion("created_by between", value1, value2, "createdBy");
return (Criteria) this;
}

public Criteria andCreatedByNotBetween(String value1, String value2) {
addCriterion("created_by not between", value1, value2, "createdBy");
return (Criteria) this;
}

public Criteria andUpdatedByIsNull() {
addCriterion("updated_by is null");
return (Criteria) this;
}

public Criteria andUpdatedByIsNotNull() {
addCriterion("updated_by is not null");
return (Criteria) this;
}

public Criteria andUpdatedByEqualTo(String value) {
addCriterion("updated_by =", value, "updatedBy");
return (Criteria) this;
}

public Criteria andUpdatedByNotEqualTo(String value) {
addCriterion("updated_by <>", value, "updatedBy");
return (Criteria) this;
}

public Criteria andUpdatedByGreaterThan(String value) {
addCriterion("updated_by >", value, "updatedBy");
return (Criteria) this;
}

public Criteria andUpdatedByGreaterThanOrEqualTo(String value) {
addCriterion("updated_by >=", value, "updatedBy");
return (Criteria) this;
}

public Criteria andUpdatedByLessThan(String value) {
addCriterion("updated_by <", value, "updatedBy");
return (Criteria) this;
}

public Criteria andUpdatedByLessThanOrEqualTo(String value) {
addCriterion("updated_by <=", value, "updatedBy");
return (Criteria) this;
}

public Criteria andUpdatedByLike(String value) {
addCriterion("updated_by like", value, "updatedBy");
return (Criteria) this;
}

public Criteria andUpdatedByNotLike(String value) {
addCriterion("updated_by not like", value, "updatedBy");
return (Criteria) this;
}

public Criteria andUpdatedByIn(List<String> values) {
addCriterion("updated_by in", values, "updatedBy");
return (Criteria) this;
}

public Criteria andUpdatedByNotIn(List<String> values) {
addCriterion("updated_by not in", values, "updatedBy");
return (Criteria) this;
}

public Criteria andUpdatedByBetween(String value1, String value2) {
addCriterion("updated_by between", value1, value2, "updatedBy");
return (Criteria) this;
}

public Criteria andUpdatedByNotBetween(String value1, String value2) {
addCriterion("updated_by not between", value1, value2, "updatedBy");
return (Criteria) this;
}

public Criteria andUpdatedAtIsNull() {
addCriterion("updated_at is null");
return (Criteria) this;
}

public Criteria andUpdatedAtIsNotNull() {
addCriterion("updated_at is not null");
return (Criteria) this;
}

public Criteria andUpdatedAtEqualTo(Date value) {
addCriterion("updated_at =", value, "updatedAt");
return (Criteria) this;
}

public Criteria andUpdatedAtNotEqualTo(Date value) {
addCriterion("updated_at <>", value, "updatedAt");
return (Criteria) this;
}

public Criteria andUpdatedAtGreaterThan(Date value) {
addCriterion("updated_at >", value, "updatedAt");
return (Criteria) this;
}

public Criteria andUpdatedAtGreaterThanOrEqualTo(Date value) {
addCriterion("updated_at >=", value, "updatedAt");
return (Criteria) this;
}

public Criteria andUpdatedAtLessThan(Date value) {
addCriterion("updated_at <", value, "updatedAt");
return (Criteria) this;
}

public Criteria andUpdatedAtLessThanOrEqualTo(Date value) {
addCriterion("updated_at <=", value, "updatedAt");
return (Criteria) this;
}

public Criteria andUpdatedAtIn(List<Date> values) {
addCriterion("updated_at in", values, "updatedAt");
return (Criteria) this;
}

public Criteria andUpdatedAtNotIn(List<Date> values) {
addCriterion("updated_at not in", values, "updatedAt");
return (Criteria) this;
}

public Criteria andUpdatedAtBetween(Date value1, Date value2) {
addCriterion("updated_at between", value1, value2, "updatedAt");
return (Criteria) this;
}

public Criteria andUpdatedAtNotBetween(Date value1, Date value2) {
addCriterion("updated_at not between", value1, value2, "updatedAt");
return (Criteria) this;
}
}

public static class Criteria extends GeneratedCriteria {

protected Criteria() {
super();
}
}

public static class Criterion {
private String condition;

private Object value;

private Object secondValue;

private boolean noValue;

private boolean singleValue;

private boolean betweenValue;

private boolean listValue;

private String typeHandler;

public String getCondition() {
return condition;
}

public Object getValue() {
return value;
}

public Object getSecondValue() {
return secondValue;
}

public boolean isNoValue() {
return noValue;
}

public boolean isSingleValue() {
return singleValue;
}

public boolean isBetweenValue() {
return betweenValue;
}

public boolean isListValue() {
return listValue;
}

public String getTypeHandler() {
return typeHandler;
}

protected Criterion(String condition) {
super();
this.condition = condition;
this.typeHandler = null;
this.noValue = true;
}

protected Criterion(String condition, Object value, String typeHandler) {
super();
this.condition = condition;
this.value = value;
this.typeHandler = typeHandler;
if (value instanceof List<?>) {
this.listValue = true;
} else {
this.singleValue = true;
}
}

protected Criterion(String condition, Object value) {
this(condition, value, null);
}

protected Criterion(String condition, Object value, Object secondValue, String typeHandler) {
super();
this.condition = condition;
this.value = value;
this.secondValue = secondValue;
this.typeHandler = typeHandler;
this.betweenValue = true;
}

protected Criterion(String condition, Object value, Object secondValue) {
this(condition, value, secondValue, null);
}
}
}

+ 27
- 0
service-payment/src/main/java/com/neusoft/smart/pos/payment/persistent/domain/MchPaymentTradeLogWithBLOBs.java Ver arquivo

@@ -0,0 +1,27 @@
package com.neusoft.smart.pos.payment.persistent.domain;

import java.io.Serializable;

public class MchPaymentTradeLogWithBLOBs extends MchPaymentTradeLog implements Serializable {
private String sendData;

private String receiveData;

private static final long serialVersionUID = 1L;

public String getSendData() {
return sendData;
}

public void setSendData(String sendData) {
this.sendData = sendData == null ? null : sendData.trim();
}

public String getReceiveData() {
return receiveData;
}

public void setReceiveData(String receiveData) {
this.receiveData = receiveData == null ? null : receiveData.trim();
}
}

+ 258
- 0
service-payment/src/main/java/com/neusoft/smart/pos/payment/persistent/domain/PayOrder.java Ver arquivo

@@ -0,0 +1,258 @@
package com.neusoft.smart.pos.payment.persistent.domain;

import java.io.Serializable;
import java.util.Date;

public class PayOrder implements Serializable {
private Integer id;

private String mcode;

private String mOrderNumber;

private String tradeId;

private String outerOrderNumber;

private String description;

private String payType;

private Long orderAmount;

private String notifyUrl;

private String orderStatus;

private String timeExpire;

private String payStatus;

private Date payTime;

private String scanCode;

private String codeUrl;

private String payIp;

private String openId;

private String tradeType;

private Date createdAt;

private String createdBy;

private String updatedBy;

private Date updatedAt;

private String deviceId;

private String storeId;

private String pid;

private static final long serialVersionUID = 1L;

public Integer getId() {
return id;
}

public void setId(Integer id) {
this.id = id;
}

public String getMcode() {
return mcode;
}

public void setMcode(String mcode) {
this.mcode = mcode == null ? null : mcode.trim();
}

public String getmOrderNumber() {
return mOrderNumber;
}

public void setmOrderNumber(String mOrderNumber) {
this.mOrderNumber = mOrderNumber == null ? null : mOrderNumber.trim();
}

public String getTradeId() {
return tradeId;
}

public void setTradeId(String tradeId) {
this.tradeId = tradeId == null ? null : tradeId.trim();
}

public String getOuterOrderNumber() {
return outerOrderNumber;
}

public void setOuterOrderNumber(String outerOrderNumber) {
this.outerOrderNumber = outerOrderNumber == null ? null : outerOrderNumber.trim();
}

public String getDescription() {
return description;
}

public void setDescription(String description) {
this.description = description == null ? null : description.trim();
}

public String getPayType() {
return payType;
}

public void setPayType(String payType) {
this.payType = payType == null ? null : payType.trim();
}

public Long getOrderAmount() {
return orderAmount;
}

public void setOrderAmount(Long orderAmount) {
this.orderAmount = orderAmount;
}

public String getNotifyUrl() {
return notifyUrl;
}

public void setNotifyUrl(String notifyUrl) {
this.notifyUrl = notifyUrl == null ? null : notifyUrl.trim();
}

public String getOrderStatus() {
return orderStatus;
}

public void setOrderStatus(String orderStatus) {
this.orderStatus = orderStatus == null ? null : orderStatus.trim();
}

public String getTimeExpire() {
return timeExpire;
}

public void setTimeExpire(String timeExpire) {
this.timeExpire = timeExpire == null ? null : timeExpire.trim();
}

public String getPayStatus() {
return payStatus;
}

public void setPayStatus(String payStatus) {
this.payStatus = payStatus == null ? null : payStatus.trim();
}

public Date getPayTime() {
return payTime;
}

public void setPayTime(Date payTime) {
this.payTime = payTime;
}

public String getScanCode() {
return scanCode;
}

public void setScanCode(String scanCode) {
this.scanCode = scanCode == null ? null : scanCode.trim();
}

public String getCodeUrl() {
return codeUrl;
}

public void setCodeUrl(String codeUrl) {
this.codeUrl = codeUrl == null ? null : codeUrl.trim();
}

public String getPayIp() {
return payIp;
}

public void setPayIp(String payIp) {
this.payIp = payIp == null ? null : payIp.trim();
}

public String getOpenId() {
return openId;
}

public void setOpenId(String openId) {
this.openId = openId == null ? null : openId.trim();
}

public String getTradeType() {
return tradeType;
}

public void setTradeType(String tradeType) {
this.tradeType = tradeType == null ? null : tradeType.trim();
}

public Date getCreatedAt() {
return createdAt;
}

public void setCreatedAt(Date createdAt) {
this.createdAt = createdAt;
}

public String getCreatedBy() {
return createdBy;
}

public void setCreatedBy(String createdBy) {
this.createdBy = createdBy == null ? null : createdBy.trim();
}

public String getUpdatedBy() {
return updatedBy;
}

public void setUpdatedBy(String updatedBy) {
this.updatedBy = updatedBy == null ? null : updatedBy.trim();
}

public Date getUpdatedAt() {
return updatedAt;
}

public void setUpdatedAt(Date updatedAt) {
this.updatedAt = updatedAt;
}

public String getDeviceId() {
return deviceId;
}

public void setDeviceId(String deviceId) {
this.deviceId = deviceId == null ? null : deviceId.trim();
}

public String getStoreId() {
return storeId;
}

public void setStoreId(String storeId) {
this.storeId = storeId == null ? null : storeId.trim();
}

public String getPid() {
return pid;
}

public void setPid(String pid) {
this.pid = pid == null ? null : pid.trim();
}
}

+ 1929
- 0
service-payment/src/main/java/com/neusoft/smart/pos/payment/persistent/domain/PayOrderExample.java
Diferenças do arquivo suprimidas por serem muito extensas
Ver arquivo


+ 178
- 0
service-payment/src/main/java/com/neusoft/smart/pos/payment/persistent/domain/PayRefundOrder.java Ver arquivo

@@ -0,0 +1,178 @@
package com.neusoft.smart.pos.payment.persistent.domain;

import java.io.Serializable;
import java.util.Date;

public class PayRefundOrder implements Serializable {
private Integer id;

private String mcode;

private String tradeId;

private String mOrderNumber;

private String outerOrderNumber;

private String payType;

private String refundNotifyUrl;

private String thirdRefundNumber;

private String refundNumber;

private String refundStatus;

private Long refundedAmount;

private Date refundedTime;

private Integer version;

private Date createdAt;

private String createdBy;

private String updatedBy;

private Date updatedAt;

private static final long serialVersionUID = 1L;

public Integer getId() {
return id;
}

public void setId(Integer id) {
this.id = id;
}

public String getMcode() {
return mcode;
}

public void setMcode(String mcode) {
this.mcode = mcode == null ? null : mcode.trim();
}

public String getTradeId() {
return tradeId;
}

public void setTradeId(String tradeId) {
this.tradeId = tradeId == null ? null : tradeId.trim();
}

public String getmOrderNumber() {
return mOrderNumber;
}

public void setmOrderNumber(String mOrderNumber) {
this.mOrderNumber = mOrderNumber == null ? null : mOrderNumber.trim();
}

public String getOuterOrderNumber() {
return outerOrderNumber;
}

public void setOuterOrderNumber(String outerOrderNumber) {
this.outerOrderNumber = outerOrderNumber == null ? null : outerOrderNumber.trim();
}

public String getPayType() {
return payType;
}

public void setPayType(String payType) {
this.payType = payType == null ? null : payType.trim();
}

public String getRefundNotifyUrl() {
return refundNotifyUrl;
}

public void setRefundNotifyUrl(String refundNotifyUrl) {
this.refundNotifyUrl = refundNotifyUrl == null ? null : refundNotifyUrl.trim();
}

public String getThirdRefundNumber() {
return thirdRefundNumber;
}

public void setThirdRefundNumber(String thirdRefundNumber) {
this.thirdRefundNumber = thirdRefundNumber == null ? null : thirdRefundNumber.trim();
}

public String getRefundNumber() {
return refundNumber;
}

public void setRefundNumber(String refundNumber) {
this.refundNumber = refundNumber == null ? null : refundNumber.trim();
}

public String getRefundStatus() {
return refundStatus;
}

public void setRefundStatus(String refundStatus) {
this.refundStatus = refundStatus == null ? null : refundStatus.trim();
}

public Long getRefundedAmount() {
return refundedAmount;
}

public void setRefundedAmount(Long refundedAmount) {
this.refundedAmount = refundedAmount;
}

public Date getRefundedTime() {
return refundedTime;
}

public void setRefundedTime(Date refundedTime) {
this.refundedTime = refundedTime;
}

public Integer getVersion() {
return version;
}

public void setVersion(Integer version) {
this.version = version;
}

public Date getCreatedAt() {
return createdAt;
}

public void setCreatedAt(Date createdAt) {
this.createdAt = createdAt;
}

public String getCreatedBy() {
return createdBy;
}

public void setCreatedBy(String createdBy) {
this.createdBy = createdBy == null ? null : createdBy.trim();
}

public String getUpdatedBy() {
return updatedBy;
}

public void setUpdatedBy(String updatedBy) {
this.updatedBy = updatedBy == null ? null : updatedBy.trim();
}

public Date getUpdatedAt() {
return updatedAt;
}

public void setUpdatedAt(Date updatedAt) {
this.updatedAt = updatedAt;
}
}

+ 1359
- 0
service-payment/src/main/java/com/neusoft/smart/pos/payment/persistent/domain/PayRefundOrderExample.java
Diferenças do arquivo suprimidas por serem muito extensas
Ver arquivo


+ 149
- 0
service-payment/src/main/java/com/neusoft/smart/pos/payment/persistent/domain/PayTypeDict.java Ver arquivo

@@ -0,0 +1,149 @@
package com.neusoft.smart.pos.payment.persistent.domain;

import java.io.Serializable;
import java.math.BigDecimal;
import java.util.Date;

public class PayTypeDict implements Serializable {
private Integer id;

private String payType;

private String name;

private String beanName;

private String description;

private BigDecimal payFeeRate;

private String notifyUrl;

private String refundNotifyUrl;

private String isEnable;

private Byte priority;

private Date createdAt;

private String createdBy;

private String updatedBy;

private Date updatedAt;

private static final long serialVersionUID = 1L;

public Integer getId() {
return id;
}

public void setId(Integer id) {
this.id = id;
}

public String getPayType() {
return payType;
}

public void setPayType(String payType) {
this.payType = payType == null ? null : payType.trim();
}

public String getName() {
return name;
}

public void setName(String name) {
this.name = name == null ? null : name.trim();
}

public String getBeanName() {
return beanName;
}

public void setBeanName(String beanName) {
this.beanName = beanName == null ? null : beanName.trim();
}

public String getDescription() {
return description;
}

public void setDescription(String description) {
this.description = description == null ? null : description.trim();
}

public BigDecimal getPayFeeRate() {
return payFeeRate;
}

public void setPayFeeRate(BigDecimal payFeeRate) {
this.payFeeRate = payFeeRate;
}

public String getNotifyUrl() {
return notifyUrl;
}

public void setNotifyUrl(String notifyUrl) {
this.notifyUrl = notifyUrl == null ? null : notifyUrl.trim();
}

public String getRefundNotifyUrl() {
return refundNotifyUrl;
}

public void setRefundNotifyUrl(String refundNotifyUrl) {
this.refundNotifyUrl = refundNotifyUrl == null ? null : refundNotifyUrl.trim();
}

public String getIsEnable() {
return isEnable;
}

public void setIsEnable(String isEnable) {
this.isEnable = isEnable == null ? null : isEnable.trim();
}

public Byte getPriority() {
return priority;
}

public void setPriority(Byte priority) {
this.priority = priority;
}

public Date getCreatedAt() {
return createdAt;
}

public void setCreatedAt(Date createdAt) {
this.createdAt = createdAt;
}

public String getCreatedBy() {
return createdBy;
}

public void setCreatedBy(String createdBy) {
this.createdBy = createdBy == null ? null : createdBy.trim();
}

public String getUpdatedBy() {
return updatedBy;
}

public void setUpdatedBy(String updatedBy) {
this.updatedBy = updatedBy == null ? null : updatedBy.trim();
}

public Date getUpdatedAt() {
return updatedAt;
}

public void setUpdatedAt(Date updatedAt) {
this.updatedAt = updatedAt;
}
}

+ 1160
- 0
service-payment/src/main/java/com/neusoft/smart/pos/payment/persistent/domain/PayTypeDictExample.java
Diferenças do arquivo suprimidas por serem muito extensas
Ver arquivo


+ 108
- 0
service-payment/src/main/java/com/neusoft/smart/pos/payment/persistent/domain/PaymentTradeLog.java Ver arquivo

@@ -0,0 +1,108 @@
package com.neusoft.smart.pos.payment.persistent.domain;

import java.io.Serializable;
import java.util.Date;

public class PaymentTradeLog implements Serializable {
private Integer id;

private String mcode;

private String mOrderNumber;

private String payType;

private String description;

private String requestType;

private Date createdAt;

private String createdBy;

private String updatedBy;

private Date updatedAt;

private static final long serialVersionUID = 1L;

public Integer getId() {
return id;
}

public void setId(Integer id) {
this.id = id;
}

public String getMcode() {
return mcode;
}

public void setMcode(String mcode) {
this.mcode = mcode == null ? null : mcode.trim();
}

public String getmOrderNumber() {
return mOrderNumber;
}

public void setmOrderNumber(String mOrderNumber) {
this.mOrderNumber = mOrderNumber == null ? null : mOrderNumber.trim();
}

public String getPayType() {
return payType;
}

public void setPayType(String payType) {
this.payType = payType == null ? null : payType.trim();
}

public String getDescription() {
return description;
}

public void setDescription(String description) {
this.description = description == null ? null : description.trim();
}

public String getRequestType() {
return requestType;
}

public void setRequestType(String requestType) {
this.requestType = requestType == null ? null : requestType.trim();
}

public Date getCreatedAt() {
return createdAt;
}

public void setCreatedAt(Date createdAt) {
this.createdAt = createdAt;
}

public String getCreatedBy() {
return createdBy;
}

public void setCreatedBy(String createdBy) {
this.createdBy = createdBy == null ? null : createdBy.trim();
}

public String getUpdatedBy() {
return updatedBy;
}

public void setUpdatedBy(String updatedBy) {
this.updatedBy = updatedBy == null ? null : updatedBy.trim();
}

public Date getUpdatedAt() {
return updatedAt;
}

public void setUpdatedAt(Date updatedAt) {
this.updatedAt = updatedAt;
}
}

+ 899
- 0
service-payment/src/main/java/com/neusoft/smart/pos/payment/persistent/domain/PaymentTradeLogExample.java Ver arquivo

@@ -0,0 +1,899 @@
package com.neusoft.smart.pos.payment.persistent.domain;

import java.util.ArrayList;
import java.util.Date;
import java.util.List;

public class PaymentTradeLogExample {
protected String orderByClause;

protected boolean distinct;

protected List<Criteria> oredCriteria;

private Integer offset;

private Integer limit;

public PaymentTradeLogExample() {
oredCriteria = new ArrayList<Criteria>();
}

public void setOrderByClause(String orderByClause) {
this.orderByClause = orderByClause;
}

public String getOrderByClause() {
return orderByClause;
}

public void setDistinct(boolean distinct) {
this.distinct = distinct;
}

public boolean isDistinct() {
return distinct;
}

public List<Criteria> getOredCriteria() {
return oredCriteria;
}

public void or(Criteria criteria) {
oredCriteria.add(criteria);
}

public Criteria or() {
Criteria criteria = createCriteriaInternal();
oredCriteria.add(criteria);
return criteria;
}

public Criteria createCriteria() {
Criteria criteria = createCriteriaInternal();
if (oredCriteria.size() == 0) {
oredCriteria.add(criteria);
}
return criteria;
}

protected Criteria createCriteriaInternal() {
Criteria criteria = new Criteria();
return criteria;
}

public void clear() {
oredCriteria.clear();
orderByClause = null;
distinct = false;
this.offset = null;
this.limit = null;
}

public Integer getOffset() {
return this.offset;
}

public void setOffset(Integer offset) {
this.offset = offset;
}

public Integer getLimit() {
return this.limit;
}

public void setLimit(Integer limit) {
this.limit = limit;
}

public PaymentTradeLogExample page(int offset, int limit) {
this.offset = offset;
this.limit = limit;
return this;
}

protected abstract static class GeneratedCriteria {
protected List<Criterion> criteria;

protected GeneratedCriteria() {
super();
criteria = new ArrayList<Criterion>();
}

public boolean isValid() {
return criteria.size() > 0;
}

public List<Criterion> getAllCriteria() {
return criteria;
}

public List<Criterion> getCriteria() {
return criteria;
}

protected void addCriterion(String condition) {
if (condition == null) {
throw new RuntimeException("Value for condition cannot be null");
}
criteria.add(new Criterion(condition));
}

protected void addCriterion(String condition, Object value, String property) {
if (value == null) {
throw new RuntimeException("Value for " + property + " cannot be null");
}
criteria.add(new Criterion(condition, value));
}

protected void addCriterion(String condition, Object value1, Object value2, String property) {
if (value1 == null || value2 == null) {
throw new RuntimeException("Between values for " + property + " cannot be null");
}
criteria.add(new Criterion(condition, value1, value2));
}

public Criteria andIdIsNull() {
addCriterion("id is null");
return (Criteria) this;
}

public Criteria andIdIsNotNull() {
addCriterion("id is not null");
return (Criteria) this;
}

public Criteria andIdEqualTo(Integer value) {
addCriterion("id =", value, "id");
return (Criteria) this;
}

public Criteria andIdNotEqualTo(Integer value) {
addCriterion("id <>", value, "id");
return (Criteria) this;
}

public Criteria andIdGreaterThan(Integer value) {
addCriterion("id >", value, "id");
return (Criteria) this;
}

public Criteria andIdGreaterThanOrEqualTo(Integer value) {
addCriterion("id >=", value, "id");
return (Criteria) this;
}

public Criteria andIdLessThan(Integer value) {
addCriterion("id <", value, "id");
return (Criteria) this;
}

public Criteria andIdLessThanOrEqualTo(Integer value) {
addCriterion("id <=", value, "id");
return (Criteria) this;
}

public Criteria andIdIn(List<Integer> values) {
addCriterion("id in", values, "id");
return (Criteria) this;
}

public Criteria andIdNotIn(List<Integer> values) {
addCriterion("id not in", values, "id");
return (Criteria) this;
}

public Criteria andIdBetween(Integer value1, Integer value2) {
addCriterion("id between", value1, value2, "id");
return (Criteria) this;
}

public Criteria andIdNotBetween(Integer value1, Integer value2) {
addCriterion("id not between", value1, value2, "id");
return (Criteria) this;
}

public Criteria andMcodeIsNull() {
addCriterion("mcode is null");
return (Criteria) this;
}

public Criteria andMcodeIsNotNull() {
addCriterion("mcode is not null");
return (Criteria) this;
}

public Criteria andMcodeEqualTo(String value) {
addCriterion("mcode =", value, "mcode");
return (Criteria) this;
}

public Criteria andMcodeNotEqualTo(String value) {
addCriterion("mcode <>", value, "mcode");
return (Criteria) this;
}

public Criteria andMcodeGreaterThan(String value) {
addCriterion("mcode >", value, "mcode");
return (Criteria) this;
}

public Criteria andMcodeGreaterThanOrEqualTo(String value) {
addCriterion("mcode >=", value, "mcode");
return (Criteria) this;
}

public Criteria andMcodeLessThan(String value) {
addCriterion("mcode <", value, "mcode");
return (Criteria) this;
}

public Criteria andMcodeLessThanOrEqualTo(String value) {
addCriterion("mcode <=", value, "mcode");
return (Criteria) this;
}

public Criteria andMcodeLike(String value) {
addCriterion("mcode like", value, "mcode");
return (Criteria) this;
}

public Criteria andMcodeNotLike(String value) {
addCriterion("mcode not like", value, "mcode");
return (Criteria) this;
}

public Criteria andMcodeIn(List<String> values) {
addCriterion("mcode in", values, "mcode");
return (Criteria) this;
}

public Criteria andMcodeNotIn(List<String> values) {
addCriterion("mcode not in", values, "mcode");
return (Criteria) this;
}

public Criteria andMcodeBetween(String value1, String value2) {
addCriterion("mcode between", value1, value2, "mcode");
return (Criteria) this;
}

public Criteria andMcodeNotBetween(String value1, String value2) {
addCriterion("mcode not between", value1, value2, "mcode");
return (Criteria) this;
}

public Criteria andMOrderNumberIsNull() {
addCriterion("m_order_number is null");
return (Criteria) this;
}

public Criteria andMOrderNumberIsNotNull() {
addCriterion("m_order_number is not null");
return (Criteria) this;
}

public Criteria andMOrderNumberEqualTo(String value) {
addCriterion("m_order_number =", value, "mOrderNumber");
return (Criteria) this;
}

public Criteria andMOrderNumberNotEqualTo(String value) {
addCriterion("m_order_number <>", value, "mOrderNumber");
return (Criteria) this;
}

public Criteria andMOrderNumberGreaterThan(String value) {
addCriterion("m_order_number >", value, "mOrderNumber");
return (Criteria) this;
}

public Criteria andMOrderNumberGreaterThanOrEqualTo(String value) {
addCriterion("m_order_number >=", value, "mOrderNumber");
return (Criteria) this;
}

public Criteria andMOrderNumberLessThan(String value) {
addCriterion("m_order_number <", value, "mOrderNumber");
return (Criteria) this;
}

public Criteria andMOrderNumberLessThanOrEqualTo(String value) {
addCriterion("m_order_number <=", value, "mOrderNumber");
return (Criteria) this;
}

public Criteria andMOrderNumberLike(String value) {
addCriterion("m_order_number like", value, "mOrderNumber");
return (Criteria) this;
}

public Criteria andMOrderNumberNotLike(String value) {
addCriterion("m_order_number not like", value, "mOrderNumber");
return (Criteria) this;
}

public Criteria andMOrderNumberIn(List<String> values) {
addCriterion("m_order_number in", values, "mOrderNumber");
return (Criteria) this;
}

public Criteria andMOrderNumberNotIn(List<String> values) {
addCriterion("m_order_number not in", values, "mOrderNumber");
return (Criteria) this;
}

public Criteria andMOrderNumberBetween(String value1, String value2) {
addCriterion("m_order_number between", value1, value2, "mOrderNumber");
return (Criteria) this;
}

public Criteria andMOrderNumberNotBetween(String value1, String value2) {
addCriterion("m_order_number not between", value1, value2, "mOrderNumber");
return (Criteria) this;
}

public Criteria andPayTypeIsNull() {
addCriterion("pay_type is null");
return (Criteria) this;
}

public Criteria andPayTypeIsNotNull() {
addCriterion("pay_type is not null");
return (Criteria) this;
}

public Criteria andPayTypeEqualTo(String value) {
addCriterion("pay_type =", value, "payType");
return (Criteria) this;
}

public Criteria andPayTypeNotEqualTo(String value) {
addCriterion("pay_type <>", value, "payType");
return (Criteria) this;
}

public Criteria andPayTypeGreaterThan(String value) {
addCriterion("pay_type >", value, "payType");
return (Criteria) this;
}

public Criteria andPayTypeGreaterThanOrEqualTo(String value) {
addCriterion("pay_type >=", value, "payType");
return (Criteria) this;
}

public Criteria andPayTypeLessThan(String value) {
addCriterion("pay_type <", value, "payType");
return (Criteria) this;
}

public Criteria andPayTypeLessThanOrEqualTo(String value) {
addCriterion("pay_type <=", value, "payType");
return (Criteria) this;
}

public Criteria andPayTypeLike(String value) {
addCriterion("pay_type like", value, "payType");
return (Criteria) this;
}

public Criteria andPayTypeNotLike(String value) {
addCriterion("pay_type not like", value, "payType");
return (Criteria) this;
}

public Criteria andPayTypeIn(List<String> values) {
addCriterion("pay_type in", values, "payType");
return (Criteria) this;
}

public Criteria andPayTypeNotIn(List<String> values) {
addCriterion("pay_type not in", values, "payType");
return (Criteria) this;
}

public Criteria andPayTypeBetween(String value1, String value2) {
addCriterion("pay_type between", value1, value2, "payType");
return (Criteria) this;
}

public Criteria andPayTypeNotBetween(String value1, String value2) {
addCriterion("pay_type not between", value1, value2, "payType");
return (Criteria) this;
}

public Criteria andDescriptionIsNull() {
addCriterion("description is null");
return (Criteria) this;
}

public Criteria andDescriptionIsNotNull() {
addCriterion("description is not null");
return (Criteria) this;
}

public Criteria andDescriptionEqualTo(String value) {
addCriterion("description =", value, "description");
return (Criteria) this;
}

public Criteria andDescriptionNotEqualTo(String value) {
addCriterion("description <>", value, "description");
return (Criteria) this;
}

public Criteria andDescriptionGreaterThan(String value) {
addCriterion("description >", value, "description");
return (Criteria) this;
}

public Criteria andDescriptionGreaterThanOrEqualTo(String value) {
addCriterion("description >=", value, "description");
return (Criteria) this;
}

public Criteria andDescriptionLessThan(String value) {
addCriterion("description <", value, "description");
return (Criteria) this;
}

public Criteria andDescriptionLessThanOrEqualTo(String value) {
addCriterion("description <=", value, "description");
return (Criteria) this;
}

public Criteria andDescriptionLike(String value) {
addCriterion("description like", value, "description");
return (Criteria) this;
}

public Criteria andDescriptionNotLike(String value) {
addCriterion("description not like", value, "description");
return (Criteria) this;
}

public Criteria andDescriptionIn(List<String> values) {
addCriterion("description in", values, "description");
return (Criteria) this;
}

public Criteria andDescriptionNotIn(List<String> values) {
addCriterion("description not in", values, "description");
return (Criteria) this;
}

public Criteria andDescriptionBetween(String value1, String value2) {
addCriterion("description between", value1, value2, "description");
return (Criteria) this;
}

public Criteria andDescriptionNotBetween(String value1, String value2) {
addCriterion("description not between", value1, value2, "description");
return (Criteria) this;
}

public Criteria andRequestTypeIsNull() {
addCriterion("request_type is null");
return (Criteria) this;
}

public Criteria andRequestTypeIsNotNull() {
addCriterion("request_type is not null");
return (Criteria) this;
}

public Criteria andRequestTypeEqualTo(String value) {
addCriterion("request_type =", value, "requestType");
return (Criteria) this;
}

public Criteria andRequestTypeNotEqualTo(String value) {
addCriterion("request_type <>", value, "requestType");
return (Criteria) this;
}

public Criteria andRequestTypeGreaterThan(String value) {
addCriterion("request_type >", value, "requestType");
return (Criteria) this;
}

public Criteria andRequestTypeGreaterThanOrEqualTo(String value) {
addCriterion("request_type >=", value, "requestType");
return (Criteria) this;
}

public Criteria andRequestTypeLessThan(String value) {
addCriterion("request_type <", value, "requestType");
return (Criteria) this;
}

public Criteria andRequestTypeLessThanOrEqualTo(String value) {
addCriterion("request_type <=", value, "requestType");
return (Criteria) this;
}

public Criteria andRequestTypeLike(String value) {
addCriterion("request_type like", value, "requestType");
return (Criteria) this;
}

public Criteria andRequestTypeNotLike(String value) {
addCriterion("request_type not like", value, "requestType");
return (Criteria) this;
}

public Criteria andRequestTypeIn(List<String> values) {
addCriterion("request_type in", values, "requestType");
return (Criteria) this;
}

public Criteria andRequestTypeNotIn(List<String> values) {
addCriterion("request_type not in", values, "requestType");
return (Criteria) this;
}

public Criteria andRequestTypeBetween(String value1, String value2) {
addCriterion("request_type between", value1, value2, "requestType");
return (Criteria) this;
}

public Criteria andRequestTypeNotBetween(String value1, String value2) {
addCriterion("request_type not between", value1, value2, "requestType");
return (Criteria) this;
}

public Criteria andCreatedAtIsNull() {
addCriterion("created_at is null");
return (Criteria) this;
}

public Criteria andCreatedAtIsNotNull() {
addCriterion("created_at is not null");
return (Criteria) this;
}

public Criteria andCreatedAtEqualTo(Date value) {
addCriterion("created_at =", value, "createdAt");
return (Criteria) this;
}

public Criteria andCreatedAtNotEqualTo(Date value) {
addCriterion("created_at <>", value, "createdAt");
return (Criteria) this;
}

public Criteria andCreatedAtGreaterThan(Date value) {
addCriterion("created_at >", value, "createdAt");
return (Criteria) this;
}

public Criteria andCreatedAtGreaterThanOrEqualTo(Date value) {
addCriterion("created_at >=", value, "createdAt");
return (Criteria) this;
}

public Criteria andCreatedAtLessThan(Date value) {
addCriterion("created_at <", value, "createdAt");
return (Criteria) this;
}

public Criteria andCreatedAtLessThanOrEqualTo(Date value) {
addCriterion("created_at <=", value, "createdAt");
return (Criteria) this;
}

public Criteria andCreatedAtIn(List<Date> values) {
addCriterion("created_at in", values, "createdAt");
return (Criteria) this;
}

public Criteria andCreatedAtNotIn(List<Date> values) {
addCriterion("created_at not in", values, "createdAt");
return (Criteria) this;
}

public Criteria andCreatedAtBetween(Date value1, Date value2) {
addCriterion("created_at between", value1, value2, "createdAt");
return (Criteria) this;
}

public Criteria andCreatedAtNotBetween(Date value1, Date value2) {
addCriterion("created_at not between", value1, value2, "createdAt");
return (Criteria) this;
}

public Criteria andCreatedByIsNull() {
addCriterion("created_by is null");
return (Criteria) this;
}

public Criteria andCreatedByIsNotNull() {
addCriterion("created_by is not null");
return (Criteria) this;
}

public Criteria andCreatedByEqualTo(String value) {
addCriterion("created_by =", value, "createdBy");
return (Criteria) this;
}

public Criteria andCreatedByNotEqualTo(String value) {
addCriterion("created_by <>", value, "createdBy");
return (Criteria) this;
}

public Criteria andCreatedByGreaterThan(String value) {
addCriterion("created_by >", value, "createdBy");
return (Criteria) this;
}

public Criteria andCreatedByGreaterThanOrEqualTo(String value) {
addCriterion("created_by >=", value, "createdBy");
return (Criteria) this;
}

public Criteria andCreatedByLessThan(String value) {
addCriterion("created_by <", value, "createdBy");
return (Criteria) this;
}

public Criteria andCreatedByLessThanOrEqualTo(String value) {
addCriterion("created_by <=", value, "createdBy");
return (Criteria) this;
}

public Criteria andCreatedByLike(String value) {
addCriterion("created_by like", value, "createdBy");
return (Criteria) this;
}

public Criteria andCreatedByNotLike(String value) {
addCriterion("created_by not like", value, "createdBy");
return (Criteria) this;
}

public Criteria andCreatedByIn(List<String> values) {
addCriterion("created_by in", values, "createdBy");
return (Criteria) this;
}

public Criteria andCreatedByNotIn(List<String> values) {
addCriterion("created_by not in", values, "createdBy");
return (Criteria) this;
}

public Criteria andCreatedByBetween(String value1, String value2) {
addCriterion("created_by between", value1, value2, "createdBy");
return (Criteria) this;
}

public Criteria andCreatedByNotBetween(String value1, String value2) {
addCriterion("created_by not between", value1, value2, "createdBy");
return (Criteria) this;
}

public Criteria andUpdatedByIsNull() {
addCriterion("updated_by is null");
return (Criteria) this;
}

public Criteria andUpdatedByIsNotNull() {
addCriterion("updated_by is not null");
return (Criteria) this;
}

public Criteria andUpdatedByEqualTo(String value) {
addCriterion("updated_by =", value, "updatedBy");
return (Criteria) this;
}

public Criteria andUpdatedByNotEqualTo(String value) {
addCriterion("updated_by <>", value, "updatedBy");
return (Criteria) this;
}

public Criteria andUpdatedByGreaterThan(String value) {
addCriterion("updated_by >", value, "updatedBy");
return (Criteria) this;
}

public Criteria andUpdatedByGreaterThanOrEqualTo(String value) {
addCriterion("updated_by >=", value, "updatedBy");
return (Criteria) this;
}

public Criteria andUpdatedByLessThan(String value) {
addCriterion("updated_by <", value, "updatedBy");
return (Criteria) this;
}

public Criteria andUpdatedByLessThanOrEqualTo(String value) {
addCriterion("updated_by <=", value, "updatedBy");
return (Criteria) this;
}

public Criteria andUpdatedByLike(String value) {
addCriterion("updated_by like", value, "updatedBy");
return (Criteria) this;
}

public Criteria andUpdatedByNotLike(String value) {
addCriterion("updated_by not like", value, "updatedBy");
return (Criteria) this;
}

public Criteria andUpdatedByIn(List<String> values) {
addCriterion("updated_by in", values, "updatedBy");
return (Criteria) this;
}

public Criteria andUpdatedByNotIn(List<String> values) {
addCriterion("updated_by not in", values, "updatedBy");
return (Criteria) this;
}

public Criteria andUpdatedByBetween(String value1, String value2) {
addCriterion("updated_by between", value1, value2, "updatedBy");
return (Criteria) this;
}

public Criteria andUpdatedByNotBetween(String value1, String value2) {
addCriterion("updated_by not between", value1, value2, "updatedBy");
return (Criteria) this;
}

public Criteria andUpdatedAtIsNull() {
addCriterion("updated_at is null");
return (Criteria) this;
}

public Criteria andUpdatedAtIsNotNull() {
addCriterion("updated_at is not null");
return (Criteria) this;
}

public Criteria andUpdatedAtEqualTo(Date value) {
addCriterion("updated_at =", value, "updatedAt");
return (Criteria) this;
}

public Criteria andUpdatedAtNotEqualTo(Date value) {
addCriterion("updated_at <>", value, "updatedAt");
return (Criteria) this;
}

public Criteria andUpdatedAtGreaterThan(Date value) {
addCriterion("updated_at >", value, "updatedAt");
return (Criteria) this;
}

public Criteria andUpdatedAtGreaterThanOrEqualTo(Date value) {
addCriterion("updated_at >=", value, "updatedAt");
return (Criteria) this;
}

public Criteria andUpdatedAtLessThan(Date value) {
addCriterion("updated_at <", value, "updatedAt");
return (Criteria) this;
}

public Criteria andUpdatedAtLessThanOrEqualTo(Date value) {
addCriterion("updated_at <=", value, "updatedAt");
return (Criteria) this;
}

public Criteria andUpdatedAtIn(List<Date> values) {
addCriterion("updated_at in", values, "updatedAt");
return (Criteria) this;
}

public Criteria andUpdatedAtNotIn(List<Date> values) {
addCriterion("updated_at not in", values, "updatedAt");
return (Criteria) this;
}

public Criteria andUpdatedAtBetween(Date value1, Date value2) {
addCriterion("updated_at between", value1, value2, "updatedAt");
return (Criteria) this;
}

public Criteria andUpdatedAtNotBetween(Date value1, Date value2) {
addCriterion("updated_at not between", value1, value2, "updatedAt");
return (Criteria) this;
}
}

public static class Criteria extends GeneratedCriteria {

protected Criteria() {
super();
}
}

public static class Criterion {
private String condition;

private Object value;

private Object secondValue;

private boolean noValue;

private boolean singleValue;

private boolean betweenValue;

private boolean listValue;

private String typeHandler;

public String getCondition() {
return condition;
}

public Object getValue() {
return value;
}

public Object getSecondValue() {
return secondValue;
}

public boolean isNoValue() {
return noValue;
}

public boolean isSingleValue() {
return singleValue;
}

public boolean isBetweenValue() {
return betweenValue;
}

public boolean isListValue() {
return listValue;
}

public String getTypeHandler() {
return typeHandler;
}

protected Criterion(String condition) {
super();
this.condition = condition;
this.typeHandler = null;
this.noValue = true;
}

protected Criterion(String condition, Object value, String typeHandler) {
super();
this.condition = condition;
this.value = value;
this.typeHandler = typeHandler;
if (value instanceof List<?>) {
this.listValue = true;
} else {
this.singleValue = true;
}
}

protected Criterion(String condition, Object value) {
this(condition, value, null);
}

protected Criterion(String condition, Object value, Object secondValue, String typeHandler) {
super();
this.condition = condition;
this.value = value;
this.secondValue = secondValue;
this.typeHandler = typeHandler;
this.betweenValue = true;
}

protected Criterion(String condition, Object value, Object secondValue) {
this(condition, value, secondValue, null);
}
}
}

+ 27
- 0
service-payment/src/main/java/com/neusoft/smart/pos/payment/persistent/domain/PaymentTradeLogWithBLOBs.java Ver arquivo

@@ -0,0 +1,27 @@
package com.neusoft.smart.pos.payment.persistent.domain;

import java.io.Serializable;

public class PaymentTradeLogWithBLOBs extends PaymentTradeLog implements Serializable {
private String sendData;

private String receiveData;

private static final long serialVersionUID = 1L;

public String getSendData() {
return sendData;
}

public void setSendData(String sendData) {
this.sendData = sendData == null ? null : sendData.trim();
}

public String getReceiveData() {
return receiveData;
}

public void setReceiveData(String receiveData) {
this.receiveData = receiveData == null ? null : receiveData.trim();
}
}

+ 138
- 0
service-payment/src/main/java/com/neusoft/smart/pos/payment/persistent/domain/UserPayInfo.java Ver arquivo

@@ -0,0 +1,138 @@
package com.neusoft.smart.pos.payment.persistent.domain;

import java.io.Serializable;
import java.util.Date;

public class UserPayInfo implements Serializable {
private Integer id;

private String loginName;

private String mobile;

private String email;

private String password;

private String nikeName;

private String status;

private String authType;

private String authStatus;

private Date createdAt;

private String createdBy;

private String updatedBy;

private Date updatedAt;

private static final long serialVersionUID = 1L;

public Integer getId() {
return id;
}

public void setId(Integer id) {
this.id = id;
}

public String getLoginName() {
return loginName;
}

public void setLoginName(String loginName) {
this.loginName = loginName == null ? null : loginName.trim();
}

public String getMobile() {
return mobile;
}

public void setMobile(String mobile) {
this.mobile = mobile == null ? null : mobile.trim();
}

public String getEmail() {
return email;
}

public void setEmail(String email) {
this.email = email == null ? null : email.trim();
}

public String getPassword() {
return password;
}

public void setPassword(String password) {
this.password = password == null ? null : password.trim();
}

public String getNikeName() {
return nikeName;
}

public void setNikeName(String nikeName) {
this.nikeName = nikeName == null ? null : nikeName.trim();
}

public String getStatus() {
return status;
}

public void setStatus(String status) {
this.status = status == null ? null : status.trim();
}

public String getAuthType() {
return authType;
}

public void setAuthType(String authType) {
this.authType = authType == null ? null : authType.trim();
}

public String getAuthStatus() {
return authStatus;
}

public void setAuthStatus(String authStatus) {
this.authStatus = authStatus == null ? null : authStatus.trim();
}

public Date getCreatedAt() {
return createdAt;
}

public void setCreatedAt(Date createdAt) {
this.createdAt = createdAt;
}

public String getCreatedBy() {
return createdBy;
}

public void setCreatedBy(String createdBy) {
this.createdBy = createdBy == null ? null : createdBy.trim();
}

public String getUpdatedBy() {
return updatedBy;
}

public void setUpdatedBy(String updatedBy) {
this.updatedBy = updatedBy == null ? null : updatedBy.trim();
}

public Date getUpdatedAt() {
return updatedAt;
}

public void setUpdatedAt(Date updatedAt) {
this.updatedAt = updatedAt;
}
}

+ 1109
- 0
service-payment/src/main/java/com/neusoft/smart/pos/payment/persistent/domain/UserPayInfoExample.java
Diferenças do arquivo suprimidas por serem muito extensas
Ver arquivo


+ 43
- 0
service-payment/src/main/java/com/neusoft/smart/pos/payment/persistent/ext/domain/AliGrantPayNotify.java Ver arquivo

@@ -0,0 +1,43 @@
package com.neusoft.smart.pos.payment.persistent.ext.domain;

import lombok.Data;

import java.io.Serializable;

@Data
public class AliGrantPayNotify implements Serializable {
private String notify_time;
private String notify_type;
private String notify_id;
private String sign_type;
private String sign;
private String auth_no; //支付宝资金授权订单号
private String out_order_no;//商户的资金授权订单号
private String operation_id;//支付宝的资金操作流水号
private String out_request_no;//商户资金操作流水号
private String operation_type;//资金操作类型,支持【FREEZE,UNFREEZE,PAY】
private float amount;//本次操作冻结的金额,单位为:元(人民币),精确到小数点后两位
private String status;//资金预授权明细的状态 目前支持: INIT:初始 SUCCESS: 成功 CLOSED:关闭
private String gmt_create;//操作创建时间
private String gmt_trans;//操作处理完成时间
private String payer_logon_id;//付款方支付宝账号登录号
private String payer_user_id;//付款方支付宝账号UID
private String payee_logon_id;//收款方支付宝账号登陆号
private String payee_user_id;//收款方支付宝账号UID
private float total_freeze_amount;//累计冻结金额
private float total_unfreeze_amount;//累计解冻金额
private float total_pay_amount;//累计支付金额
private float rest_amount;//剩余冻结金额
private float credit_amount;//本次操作中信用金额,单位为:元(人民币),精确到小数点后两位(信用授权场景返回)
private float fund_amount;//本次操作中自有资金金额,单位为:元(人民币),精确到小数点后两位(信用授权场景返回)
private float total_freeze_credit_amount;//累计冻结信用金额,单位为:元(人民币),精确到小数点后两位(信用授权场景返回)
private float total_freeze_fund_amount;//累计冻结自有资金金额,单位为:元(人民币),精确到小数点后两位 (信用授权场景返回)
private float total_unfreeze_credit_amount;//累计解冻信用金额,单位为:元(人民币),精确到小数点后两位(信用授权场景返回)
private float total_unfreeze_fund_amount;//累计解冻自有资金金额,单位为:元(人民币),精确到小数点后两位 (信用授权场景返回)
private float total_pay_credit_amount;//累计支付信用金额,单位为:元(人民币),精确到小数点后两位 (信用授权场景返回)
private float total_pay_fund_amount;//累计支付自有资金金额,单位为:元(人民币),精确到小数点后两位 (信用授权场景返回)
private float rest_credit_amount;//剩余冻结信用金额,单位为:元(人民币),精确到小数点后两位 (信用授权场景返回)
private float rest_fund_amount;//剩余冻结自有资金金额,单位为:元(人民币),精确到小数点后两位(信用授权场景返回)
private String pre_auth_type;//预授权类型,目前支持 CREDIT_AUTH(信用预授权); 商户可根据该标识来判断该笔预授权的类型,当返回值为"CREDIT_AUTH"表明该笔预授权为信用预授权,没有真实冻结资金;如果未返回,则表示普通资金预授权,会冻结用户资金。
private String trans_currency;
}

+ 14
- 0
service-payment/src/main/java/com/neusoft/smart/pos/payment/persistent/ext/domain/AliPayCreateOrder.java Ver arquivo

@@ -0,0 +1,14 @@
package com.neusoft.smart.pos.payment.persistent.ext.domain;

import lombok.Data;

import java.io.Serializable;

@Data
public class AliPayCreateOrder implements Serializable {
private String out_trade_no;
private String total_amount;
private String subject;
private String store_id;
private String timeout_express;
}

+ 37
- 0
service-payment/src/main/java/com/neusoft/smart/pos/payment/persistent/ext/domain/AliPayNotify.java Ver arquivo

@@ -0,0 +1,37 @@
package com.neusoft.smart.pos.payment.persistent.ext.domain;

import lombok.Data;

import java.io.Serializable;

@Data
public class AliPayNotify implements Serializable {
private String notify_time;
private String notify_type;
private String notify_id;
private String sign_type;
private String sign;
private String trade_no;
private String app_id;
private String out_trade_no;
private String out_biz_no;
private String buyer_id;
private String buyer_logon_id;
private String seller_id;
private String seller_email;
private String trade_status;
private float total_amount;
private float receipt_amount;
private float invoice_amount;
private float buyer_pay_amount;
private float point_amount;
private float refund_fee;
private float send_back_fee;
private String subject;
private String body;
private String gmt_create;
private String gmt_payment;
private String gmt_refund;
private String gmt_close;
private String fund_bill_list;
}

+ 18
- 0
service-payment/src/main/java/com/neusoft/smart/pos/payment/persistent/ext/domain/BizGrantPayNotify.java Ver arquivo

@@ -0,0 +1,18 @@
package com.neusoft.smart.pos.payment.persistent.ext.domain;

import lombok.Data;

import java.io.Serializable;

@Data
public class BizGrantPayNotify implements Serializable {
private String mcode; //商户号
private String orderNumber; //业务系统订单编号
private String outerOrderNumber; //第三方交易平台流水号
private String authNo; //第三方支付平台资金授权订单号
private String grantAmount; //授权金额(单位分)
private String payType; //支付方式@1:微信扫码支付 @2:支付宝扫码支付 @3:支付宝当面资金授权支付 @4:银联二维码支付
private String grantTime; //授权时间,格式为yyyyMMddHHmmss
private String tradeId; //支付平台交易流水ID
private String sign; //签名
}

+ 16
- 0
service-payment/src/main/java/com/neusoft/smart/pos/payment/persistent/ext/domain/BizPayNotify.java Ver arquivo

@@ -0,0 +1,16 @@
package com.neusoft.smart.pos.payment.persistent.ext.domain;

import lombok.Data;

import java.io.Serializable;

@Data
public class BizPayNotify implements Serializable {
private String mcode; //商户号
private String orderNumber; //业务系统订单编号
private String orderAmount; //订单金额(单位分)
private String payType; //支付方式@1:微信扫码支付 @2:支付宝扫码支付 @3:支付宝当面资金授权支付 @4:银联二维码支付
private String payTime; //用户支付时间,格式为yyyyMMddHHmmss
private String tradeId; //支付平台交易流水ID
private String sign; //签名
}

+ 18
- 0
service-payment/src/main/java/com/neusoft/smart/pos/payment/persistent/ext/domain/BizPayRefundNotify.java Ver arquivo

@@ -0,0 +1,18 @@
package com.neusoft.smart.pos.payment.persistent.ext.domain;

import lombok.Data;

import java.io.Serializable;

@Data
public class BizPayRefundNotify implements Serializable {
private String mcode; //商户号
private String orderNumber; //业务系统订单编号
private String refundNumber; //业务系统退款流水号
private String refundAmount; //退款金额(单位分)
private String payType; //支付方式@1:微信扫码支付 @2:支付宝扫码支付 @3:支付宝当面资金授权支付 @4:银联二维码支付
private String refundStatus; //退款状态1:成功
private String refundTime; //退款完成时间 资金退款至用户帐号的时间,格式2017-12-15 09:46:01
private String thirdRefundNumber; //第三方支付平台退款流水ID
private String sign; //签名
}

+ 17
- 0
service-payment/src/main/java/com/neusoft/smart/pos/payment/persistent/ext/domain/ChinaumsBscPayCreateOrder.java Ver arquivo

@@ -0,0 +1,17 @@
package com.neusoft.smart.pos.payment.persistent.ext.domain;

import lombok.Data;

import java.io.Serializable;

@Data
public class ChinaumsBscPayCreateOrder implements Serializable {
private String merchantCode; //商户号
private String terminalCode; //终端号
private Long transactionAmount; //交易金额 单位:分
private String transactionCurrencyCode; //交易币种 需填入156
private String merchantOrderId; //商户订单号
private String merchantRemark; //商户备注
private String payMode; //支付方式 CODE_SCAN – 扫码
private String payCode; //支付码
}

+ 13
- 0
service-payment/src/main/java/com/neusoft/smart/pos/payment/persistent/ext/domain/ChinaumsBscPayQueryOrder.java Ver arquivo

@@ -0,0 +1,13 @@
package com.neusoft.smart.pos.payment.persistent.ext.domain;

import lombok.Data;

import java.io.Serializable;

@Data
public class ChinaumsBscPayQueryOrder implements Serializable {
private String merchantCode; //商户号
private String terminalCode; //终端号
private String merchantOrderId; //商户订单号
private String originalOrderId; //银商订单号
}

+ 15
- 0
service-payment/src/main/java/com/neusoft/smart/pos/payment/persistent/ext/domain/ChinaumsBscPayRefundOrder.java Ver arquivo

@@ -0,0 +1,15 @@
package com.neusoft.smart.pos.payment.persistent.ext.domain;

import lombok.Data;

import java.io.Serializable;

@Data
public class ChinaumsBscPayRefundOrder implements Serializable {
private String merchantCode; //商户号
private String terminalCode; //终端号
private String merchantOrderId; //商户订单号
private String originalOrderId; //银商订单号
private String refundRequestId; //退款请求标识
private Long transactionAmount; //交易金额
}

+ 14
- 0
service-payment/src/main/java/com/neusoft/smart/pos/payment/persistent/ext/domain/ChinaumsBscPayReverseOrder.java Ver arquivo

@@ -0,0 +1,14 @@
package com.neusoft.smart.pos.payment.persistent.ext.domain;

import lombok.Data;

import java.io.Serializable;

@Data
public class ChinaumsBscPayReverseOrder implements Serializable {
private String merchantCode; //商户号
private String terminalCode; //终端号
private String merchantOrderId; //商户订单号
private Long transactionAmount; //交易金额 单位:分
private String transactionCurrencyCode; //交易币种 需填入156
}

+ 12
- 0
service-payment/src/main/java/com/neusoft/smart/pos/payment/persistent/ext/domain/ChinaumsBscPayVoidOrder.java Ver arquivo

@@ -0,0 +1,12 @@
package com.neusoft.smart.pos.payment.persistent.ext.domain;

import lombok.Data;

import java.io.Serializable;

@Data
public class ChinaumsBscPayVoidOrder implements Serializable {
private String merchantCode; //商户号
private String terminalCode; //终端号
private String originalOrderId; //银商订单号
}

+ 18
- 0
service-payment/src/main/java/com/neusoft/smart/pos/payment/persistent/ext/domain/ChinaumsPayCannelOrder.java Ver arquivo

@@ -0,0 +1,18 @@
package com.neusoft.smart.pos.payment.persistent.ext.domain;

import lombok.Data;

import java.io.Serializable;

@Data
public class ChinaumsPayCannelOrder implements Serializable {
private String msgSrc; //消息来源
private String msgType; //消息类型 bills.closeQRCode
private String requestTimestamp; //报文请求时间,格式yyyy-MM-dd HH:mm:ss
private String mid; //商户号
private String tid; //终端号
private String instMid; //业务类型 QRPAYDEFAULT
private String qrCodeId; //二维码ID
private String sign; //签名 C380BEC2BFD727A4B6845133519F3AD6 通过签名算法计算得出的签名值

}

+ 21
- 0
service-payment/src/main/java/com/neusoft/smart/pos/payment/persistent/ext/domain/ChinaumsPayCreateOrder.java Ver arquivo

@@ -0,0 +1,21 @@
package com.neusoft.smart.pos.payment.persistent.ext.domain;

import lombok.Data;

import java.io.Serializable;

@Data
public class ChinaumsPayCreateOrder implements Serializable {
private String msgSrc; //消息来源
private String msgType; //消息类型
private String requestTimestamp; //报文请求时间,格式yyyy-MM-dd HH:mm:ss
private String mid; //商户号
private String tid; //终端号
private String instMid; //业务类型
private String expireTime; //账单过期时间,为空则不过期,格式yyyy-MM-dd HH:mm:ss
private String notifyUrl; //支付结果通知地址
private String billNo; //账单号
private String billDate; //账单日期,格式yyyy-MM-dd
private String totalAmount; //支付总金额
private String sign; //签名 C380BEC2BFD727A4B6845133519F3AD6 通过签名算法计算得出的签名值
}

+ 19
- 0
service-payment/src/main/java/com/neusoft/smart/pos/payment/persistent/ext/domain/ChinaumsPayQueryOrder.java Ver arquivo

@@ -0,0 +1,19 @@
package com.neusoft.smart.pos.payment.persistent.ext.domain;

import lombok.Data;

import java.io.Serializable;

@Data
public class ChinaumsPayQueryOrder implements Serializable {
private String msgSrc; //消息来源
private String msgType; //消息类型 bills.query
private String requestTimestamp; //报文请求时间,格式yyyy-MM-dd HH:mm:ss
private String mid; //商户号
private String tid; //终端号
private String instMid; //业务类型 QRPAYDEFAULT
private String billNo; //账单号
private String billDate; //订单时间,格式yyyy-MM-dd
private String sign; //签名 C380BEC2BFD727A4B6845133519F3AD6 通过签名算法计算得出的签名值

}

+ 19
- 0
service-payment/src/main/java/com/neusoft/smart/pos/payment/persistent/ext/domain/ChinaumsPayRefundOrder.java Ver arquivo

@@ -0,0 +1,19 @@
package com.neusoft.smart.pos.payment.persistent.ext.domain;

import lombok.Data;

import java.io.Serializable;

@Data
public class ChinaumsPayRefundOrder implements Serializable {
private String msgSrc; //消息来源
private String msgType; //消息类型 bills.refund
private String requestTimestamp; //报文请求时间,格式yyyy-MM-dd HH:mm:ss
private String mid; //商户号
private String tid; //终端号
private String instMid; //业务类型 QRPAYDEFAULT
private String billNo; //账单号
private String billDate; //订单时间,格式yyyy-MM-dd
private String refundAmount; //退款金额
private String sign; //签名 C380BEC2BFD727A4B6845133519F3AD6 通过签名算法计算得出的签名值
}

+ 18
- 0
service-payment/src/main/java/com/neusoft/smart/pos/payment/persistent/ext/domain/ChinaumsPayServiceCannelOrder.java Ver arquivo

@@ -0,0 +1,18 @@
package com.neusoft.smart.pos.payment.persistent.ext.domain;

import lombok.Data;

import java.io.Serializable;

@Data
public class ChinaumsPayServiceCannelOrder implements Serializable {
private String msgSrc; //消息来源
private String msgType; //消息类型 bills.closeQRCode
private String requestTimestamp; //报文请求时间,格式yyyy-MM-dd HH:mm:ss
private String mid; //商户号
private String tid; //终端号
private String instMid; //业务类型 QRPAYDEFAULT
private String merOrderId; //业务订单号
private String sign; //签名 C380BEC2BFD727A4B6845133519F3AD6 通过签名算法计算得出的签名值

}

+ 20
- 0
service-payment/src/main/java/com/neusoft/smart/pos/payment/persistent/ext/domain/ChinaumsPayServiceCreateOrder.java Ver arquivo

@@ -0,0 +1,20 @@
package com.neusoft.smart.pos.payment.persistent.ext.domain;

import lombok.Data;

import java.io.Serializable;

@Data
public class ChinaumsPayServiceCreateOrder implements Serializable {
private String msgSrc; //消息来源
private String msgType; //消息类型
private String requestTimestamp; //报文请求时间,格式yyyy-MM-dd HH:mm:ss
private String merOrderId; //商户订单号
private String mid; //商户号
private String tid; //终端号
private String instMid; //业务类型
private String notifyUrl; //支付结果通知地址
private String returnUrl; //网页跳转地址
private String totalAmount; //支付总金额
private String sign; //签名 C380BEC2BFD727A4B6845133519F3AD6 通过签名算法计算得出的签名值
}

+ 18
- 0
service-payment/src/main/java/com/neusoft/smart/pos/payment/persistent/ext/domain/ChinaumsPayServiceQueryOrder.java Ver arquivo

@@ -0,0 +1,18 @@
package com.neusoft.smart.pos.payment.persistent.ext.domain;

import lombok.Data;

import java.io.Serializable;

@Data
public class ChinaumsPayServiceQueryOrder implements Serializable {
private String msgSrc; //消息来源
private String msgType; //消息类型 bills.query
private String requestTimestamp; //报文请求时间,格式yyyy-MM-dd HH:mm:ss
private String mid; //商户号
private String tid; //终端号
private String instMid; //业务类型 QRPAYDEFAULT
private String merOrderId; //账单号
private String sign; //签名 C380BEC2BFD727A4B6845133519F3AD6 通过签名算法计算得出的签名值

}

+ 18
- 0
service-payment/src/main/java/com/neusoft/smart/pos/payment/persistent/ext/domain/ChinaumsPayServiceRefundOrder.java Ver arquivo

@@ -0,0 +1,18 @@
package com.neusoft.smart.pos.payment.persistent.ext.domain;

import lombok.Data;

import java.io.Serializable;

@Data
public class ChinaumsPayServiceRefundOrder implements Serializable {
private String msgSrc; //消息来源
private String msgType; //消息类型 bills.refund
private String requestTimestamp; //报文请求时间,格式yyyy-MM-dd HH:mm:ss
private String mid; //商户号
private String tid; //终端号
private String instMid; //业务类型 QRPAYDEFAULT
private String merOrderId; //账单号
private String refundAmount; //退款金额
private String sign; //签名 C380BEC2BFD727A4B6845133519F3AD6 通过签名算法计算得出的签名值
}

+ 14
- 0
service-payment/src/main/java/com/neusoft/smart/pos/payment/persistent/ext/domain/ThirdPlatformCancelOrder.java Ver arquivo

@@ -0,0 +1,14 @@
package com.neusoft.smart.pos.payment.persistent.ext.domain;

import lombok.Data;

import java.io.Serializable;

@Data
public class ThirdPlatformCancelOrder implements Serializable {
private String mcode; //聚合支付平台商户号
private String mOrderNumber; //业务平台订单号
private String payType; //支付方式@1:微信扫码支付@2:支付宝扫码支付@3:支付宝当面资金授权支付@4:银联二维码支付
private String cancelStatus; //取消状态(@0:取消失败@1:取消成功)

}

+ 16
- 0
service-payment/src/main/java/com/neusoft/smart/pos/payment/persistent/ext/domain/ThirdPlatformCreateOrder.java Ver arquivo

@@ -0,0 +1,16 @@
package com.neusoft.smart.pos.payment.persistent.ext.domain;

import com.neusoft.smart.pos.constants.DictionaryConstant;
import lombok.Data;

import java.io.Serializable;

@Data
public class ThirdPlatformCreateOrder implements Serializable {
private String mcode; //聚合支付平台商户号
private String tradeId; //聚合支付平台交易流水
private String mOrderNumber; //业务平台订单号
private String outerOrderNumber; //第三方支付平台订单号
private String outerCodeUrl; //第三方支付平台返回支付二维码
private String payStatus = DictionaryConstant.PAY_STATUS_WFK.getCode(); //第三方支付平台返回支付结果@1:未支付@2:已支付
}

+ 14
- 0
service-payment/src/main/java/com/neusoft/smart/pos/payment/persistent/ext/domain/ThirdPlatformCreateScanOrder.java Ver arquivo

@@ -0,0 +1,14 @@
package com.neusoft.smart.pos.payment.persistent.ext.domain;

import lombok.Data;

import java.io.Serializable;

@Data
public class ThirdPlatformCreateScanOrder implements Serializable {
private String mcode; //聚合支付平台商户号
private String tradeId; //聚合支付平台交易流水
private String mOrderNumber; //业务平台订单号
private String outerOrderNumber; //第三方支付平台订单号
private String payStatus; //第三方支付平台返回支付结果@0:未支付@1:已支付
}

+ 19
- 0
service-payment/src/main/java/com/neusoft/smart/pos/payment/persistent/ext/domain/ThirdPlatformFreezePay.java Ver arquivo

@@ -0,0 +1,19 @@
package com.neusoft.smart.pos.payment.persistent.ext.domain;

import com.neusoft.smart.pos.constants.DictionaryConstant;
import lombok.Data;

import java.io.Serializable;

@Data
public class ThirdPlatformFreezePay implements Serializable {
private String mcode; //聚合支付平台商户号
private String tradeId; //聚合支付平台交易流水
private String mOrderNumber; //业务平台订单号
private String authNo; //第三方支付平台资金授权订单号
private String outerOrderNumber; //支付宝的资金操作流水号operationId
private String outerCodeUrl; //第三方支付平台返回支付二维码
private Long authAmount; //本次操作冻结的金额,单位为:分
private String grantTime; //资金授权成功时间 格式:YYYY-MM-DD HH:MM:SS
private String payFreezeStatus = DictionaryConstant.PAY_GRANT_STATUS_CLZ.getCode(); //第三方支付平台返回支付结果@1:冻结处理中@2:冻结成功@3:冻结失败
}

+ 20
- 0
service-payment/src/main/java/com/neusoft/smart/pos/payment/persistent/ext/domain/ThirdPlatformGrantToPay.java Ver arquivo

@@ -0,0 +1,20 @@
package com.neusoft.smart.pos.payment.persistent.ext.domain;

import com.neusoft.smart.pos.constants.DictionaryConstant;
import lombok.Data;

import java.io.Serializable;

@Data
public class ThirdPlatformGrantToPay implements Serializable {
private String mcode; //聚合支付平台商户号
private String tradeId; //聚合支付平台交易流水
private String mOrderNumber; //业务平台预授权订单号
private String mPayOrderNumber; //业务平台支付订单号
private String outerOrderNumber; //第三方支付平台预授权流水号
private String outerPayOrderNumber; //第三方支付平台支付交易流水号
private String authNo; //第三方支付平台资金授权订单号
private String paidTime; //支付完成时间2014-11-27 15:45:57
private Long payAmount; //支付交易金额,单位分
private String payStatus = DictionaryConstant.PAY_STATUS_WFK.getCode(); //第三方支付平台返回支付结果@1:未支付@2:已支付
}

+ 15
- 0
service-payment/src/main/java/com/neusoft/smart/pos/payment/persistent/ext/domain/ThirdPlatformInitFacePay.java Ver arquivo

@@ -0,0 +1,15 @@
package com.neusoft.smart.pos.payment.persistent.ext.domain;

import lombok.Data;

import java.io.Serializable;

@Data
public class ThirdPlatformInitFacePay implements Serializable {
private String mcode; //聚合支付平台商户号
private String initStatus; //初始化状态@0:初始化失败@1:初始化成功
private String zimId; //支付宝刷脸调用的标识
private String zimInitClientData; //刷脸的下发协议数据
private String authinfo; //微信SDK调用凭证。用于调用SDK的人脸识别接口。
private String expiresIn; //微信authinfo的有效时间, 单位秒。 例如: 3600
}

+ 15
- 0
service-payment/src/main/java/com/neusoft/smart/pos/payment/persistent/ext/domain/ThirdPlatformQueryOrder.java Ver arquivo

@@ -0,0 +1,15 @@
package com.neusoft.smart.pos.payment.persistent.ext.domain;

import lombok.Data;

import java.io.Serializable;

@Data
public class ThirdPlatformQueryOrder implements Serializable {
private String mcode; //聚合支付平台商户号
private String mOrderNumber; //业务平台订单号
private String outerTradeNumber; //第三方支付平台支付流水号(支付成功后会返回)
private String tradeStatus; //交易状态(@1:待支付@2:已支付@3:退款中@4:已退款@5交易关闭)
private String timeEnd; //支付完成时间

}

+ 34
- 0
service-payment/src/main/java/com/neusoft/smart/pos/payment/persistent/ext/domain/ThirdPlatformQueryPayGrant.java Ver arquivo

@@ -0,0 +1,34 @@
package com.neusoft.smart.pos.payment.persistent.ext.domain;

import lombok.Data;

import java.io.Serializable;

@Data
public class ThirdPlatformQueryPayGrant implements Serializable {
private String mcode; //聚合支付平台商户号
private String mOrderNumber; //业务平台订单号
private String authNo; //支付宝资金授权订单号
private Long totalFreezeAmount; //订单累计的冻结金额,单位为:分(人民币)
private Long restAmount; //订单总共剩余的冻结金额,单位为:分(人民币)
private Long totalPayAmount; //订单累计用于支付的金额,单位为:分(人民币)
private String orderTitle; //业务订单的简单描述,如商品名称等
private String payerLogonId; //付款方支付宝账号(Email或手机号),仅作展示使用,默认会加“*”号处理
private String payerUserId; //付款方支付宝账号对应的支付宝唯一用户号,以2088开头的16位纯数字组成
private String outerOrderNumber; //支付宝资金操作流水号
private String outRequestNo; //商户资金操作的请求流水号
private Long amount; //该笔资金操作流水opertion_id对应的操作金额,单位为:分(人民币)
private String operationType; //支付宝资金操作类型, 目前支持: FREEZE:冻结 UNFREEZE:解冻 PAY:支付
private String status; //资金操作流水的状态, 目前支持: INIT:初始 SUCCESS:成功 CLOSED:关闭
private String remark; //商户对本次操作的附言描述,长度不超过100个字母或50个汉字
private String gmtCreate; //资金授权单据操作流水创建时间, 格式:YYYY-MM-DD HH:MM:SS
private String gmtTrans; //支付宝账务处理成功时间, 格式:YYYY-MM-DD HH:MM:SS
// private Long totalFreezeCreditAmount; //累计冻结信用金额,单位为:分(人民币)
// private Long totalFreezeFundAmount; //累计冻结自有资金金额,单位为:分(人民币)
// private Long totalPayCreditAmount; //累计支付信用金额,单位为:分(人民币)
// private Long totalPayFundAmount; //累计支付自有资金金额,单位为:分(人民币)
// private Long restCreditAmount; //剩余冻结信用金额,单位为:分(人民币)
// private Long restFundAmount; //剩余冻结自有资金金额,单位为:分(人民币)
// private Long creditAmount; //该笔资金操作流水opertion_id对应的操作信用金额
// private Long fundAmount; //该笔资金操作流水opertion_id对应的操作自有资金金额
}

+ 16
- 0
service-payment/src/main/java/com/neusoft/smart/pos/payment/persistent/ext/domain/ThirdPlatformRefundOrder.java Ver arquivo

@@ -0,0 +1,16 @@
package com.neusoft.smart.pos.payment.persistent.ext.domain;

import lombok.Data;

import java.io.Serializable;

@Data
public class ThirdPlatformRefundOrder implements Serializable {
private String mcode; //聚合支付平台商户号
private String mOrderNumber; //业务平台订单号
private String payType; //支付方式@1:微信扫码支付@2:支付宝扫码支付@3:支付宝当面资金授权支付@4:银联二维码支付
private String refundStatus; //订单状态(@0:申请退款失败@1:退款中@2:退款完成@3:订单未支付无法申请退款
private String refundNumber; //商户退款单号
private String thirdRefundNumber; //第三方平台退款单号
private Long refundAmount; //退款金额
}

+ 14
- 0
service-payment/src/main/java/com/neusoft/smart/pos/payment/persistent/ext/domain/ThirdPlatformReverseOrder.java Ver arquivo

@@ -0,0 +1,14 @@
package com.neusoft.smart.pos.payment.persistent.ext.domain;

import lombok.Data;

import java.io.Serializable;

@Data
public class ThirdPlatformReverseOrder implements Serializable {
private String mcode; //聚合支付平台商户号
private String mOrderNumber; //业务平台订单号
private String payType; //支付方式@1:微信扫码支付@2:支付宝扫码支付@3:支付宝当面资金授权支付@4:银联二维码支付
private String reverseStatus; //撤销状态(@1:撤销失败@2:撤销成功)

}

+ 14
- 0
service-payment/src/main/java/com/neusoft/smart/pos/payment/persistent/ext/domain/ThirdPlatformReversePayGrant.java Ver arquivo

@@ -0,0 +1,14 @@
package com.neusoft.smart.pos.payment.persistent.ext.domain;

import lombok.Data;

import java.io.Serializable;

@Data
public class ThirdPlatformReversePayGrant implements Serializable {
private String mcode; //聚合支付平台商户号
private String mOrderNumber; //业务平台订单号
private String payType; //支付方式@1:微信扫码支付@2:支付宝扫码支付@3:支付宝当面资金授权支付@4:银联二维码支付
private String reverseStatus; //撤销状态(@1:撤销失败@2:撤销成功)

}

+ 16
- 0
service-payment/src/main/java/com/neusoft/smart/pos/payment/persistent/ext/domain/ThirdPlatformUnFreezePayGrant.java Ver arquivo

@@ -0,0 +1,16 @@
package com.neusoft.smart.pos.payment.persistent.ext.domain;

import lombok.Data;

import java.io.Serializable;

@Data
public class ThirdPlatformUnFreezePayGrant implements Serializable {
private String mcode; //聚合支付平台商户号
private String mOrderNumber; //业务平台订单号
private String payType; //支付方式@1:微信扫码支付@2:支付宝扫码支付@3:支付宝当面资金授权支付@4:银联二维码支付
private String unFreezeStatus; //解冻状态(@1:解冻失败@2:解冻成功)
private Long amount; //解冻金额单位是分
private String unFreezeTime; //解冻时间YYYY-MM-DD HH:MM:SS

}

+ 28
- 0
service-payment/src/main/java/com/neusoft/smart/pos/payment/persistent/ext/domain/UnionPayCreateOrder.java Ver arquivo

@@ -0,0 +1,28 @@
package com.neusoft.smart.pos.payment.persistent.ext.domain;

import lombok.Data;

import java.io.Serializable;

@Data
public class UnionPayCreateOrder implements Serializable {
private String version = "5.1.0"; //版本号 全渠道默认值
private String encoding = "UTF-8"; //字符集编码 可以使用UTF-8,GBK两种方式
private String signMethod = "01"; //签名方法
private String txnType = "01"; //交易类型 01:消费
private String txnSubType = "07"; //交易子类 07:申请消费二维码
private String bizType = "000000"; //填写000000
private String channelType = "08"; //渠道类型 08手机

/***商户接入参数***/
private String accessType = "0"; //接入类型,商户接入填0 ,不需修改(0:直连商户, 1: 收单机构 2:平台商户)
private String currencyCode = "156"; //境内商户固定 156 人民币
private String merId; //商户号码,请改成自己申请的商户号或者open上注册得来的777商户号测试
private String orderId; //商户订单号,8-40位数字字母,不能含“-”或“_”,可以自行定制规则
private String txnTime; //订单发送时间,取系统时间,格式为YYYYMMDDhhmmss,必须取当前时间,否则会报txnTime无效
private String txnAmt; //交易金额 单位为分,不能带小数点
private String backUrl; //支付成功回调URL
private String certId; //证书ID
private String signature; //签名

}

+ 29
- 0
service-payment/src/main/java/com/neusoft/smart/pos/payment/persistent/ext/domain/UnionPayCreateOrderScan.java Ver arquivo

@@ -0,0 +1,29 @@
package com.neusoft.smart.pos.payment.persistent.ext.domain;

import lombok.Data;

import java.io.Serializable;

@Data
public class UnionPayCreateOrderScan implements Serializable {
private String version = "5.1.0"; //版本号 全渠道默认值
private String encoding = "UTF-8"; //字符集编码 可以使用UTF-8,GBK两种方式
private String signMethod = "01"; //签名方法
private String txnType = "01"; //交易类型 01:消费
private String txnSubType = "06"; //交易子类 07:申请消费二维码
private String bizType = "000000"; //填写000000
private String channelType = "08"; //渠道类型 08手机

/***商户接入参数***/
private String accessType = "0"; //接入类型,商户接入填0 ,不需修改(0:直连商户, 1: 收单机构 2:平台商户)
private String currencyCode = "156"; //境内商户固定 156 人民币
private String merId; //商户号码,请改成自己申请的商户号或者open上注册得来的777商户号测试
private String orderId; //商户订单号,8-40位数字字母,不能含“-”或“_”,可以自行定制规则
private String txnTime; //订单发送时间,取系统时间,格式为YYYYMMDDhhmmss,必须取当前时间,否则会报txnTime无效
private String txnAmt; //交易金额 单位为分,不能带小数点
private String backUrl; //支付成功回调URL
private String certId; //证书ID
private String qrNo; //用户二维码
private String signature; //签名

}

+ 60
- 0
service-payment/src/main/java/com/neusoft/smart/pos/payment/persistent/ext/domain/UnionPayNotify.java Ver arquivo

@@ -0,0 +1,60 @@
package com.neusoft.smart.pos.payment.persistent.ext.domain;

import lombok.Data;

import java.io.Serializable;

@Data
public class UnionPayNotify implements Serializable {
private String bizType; //产品类型
private String signPubKeyCert; //签名公钥证书
private String orderId; //商户订单号
private String txnSubType; //交易子类
private String signature; //签名
private String traceNo; //系统跟踪号
private String issInsCode; //发卡机构代码
private String settleAmt; //清算金额
private String customerInfo; //银行卡验证信息及身份信息
private String settleCurrencyCode; //清算币种
private String settleDate; //清算日期
private String txnType; //交易类型
private String encoding; //编码方式
private String version; //版本号
private String queryId; //查询流水号
private String accessType; //接入类型
private String respMsg; //应答信息
private String traceTime; //交易传输时间
private String txnTime; //订单发送时间
private String merId; //商户代码
private String currencyCode; //交易币种
private String respCode; //应答码
private String signMethod; //签名方法
private String txnAmt; //交易金额
// {
// "bizType": "000000",
// "signPubKeyCert": "-----BEGIN CERTIFICATE-----\r\nMIIEQzCCAyugAwIBAgIFEBJJZVgwDQYJKoZIhvcNAQEFBQAwWDELMAkGA1UEBhMC\r\nQ04xMDAuBgNVBAoTJ0NoaW5hIEZpbmFuY2lhbCBDZXJ0aWZpY2F0aW9uIEF1dGhv\r\ncml0eTEXMBUGA1UEAxMOQ0ZDQSBURVNUIE9DQTEwHhcNMTcxMTAxMDcyNDA4WhcN\r\nMjAxMTAxMDcyNDA4WjB3MQswCQYDVQQGEwJjbjESMBAGA1UEChMJQ0ZDQSBPQ0Ex\r\nMQ4wDAYDVQQLEwVDVVBSQTEUMBIGA1UECxMLRW50ZXJwcmlzZXMxLjAsBgNVBAMU\r\nJTA0MUBaMjAxNy0xMS0xQDAwMDQwMDAwOlNJR05AMDAwMDAwMDEwggEiMA0GCSqG\r\nSIb3DQEBAQUAA4IBDwAwggEKAoIBAQDDIWO6AESrg+34HgbU9mSpgef0sl6avr1d\r\nbD/IjjZYM63SoQi3CZHZUyoyzBKodRzowJrwXmd+hCmdcIfavdvfwi6x+ptJNp9d\r\nEtpfEAnJk+4quriQFj1dNiv6uP8ARgn07UMhgdYB7D8aA1j77Yk1ROx7+LFeo7rZ\r\nDdde2U1opPxjIqOPqiPno78JMXpFn7LiGPXu75bwY2rYIGEEImnypgiYuW1vo9UO\r\nG47NMWTnsIdy68FquPSw5FKp5foL825GNX3oJSZui8d2UDkMLBasf06Jz0JKz5AV\r\nblaI+s24/iCfo8r+6WaCs8e6BDkaijJkR/bvRCQeQpbX3V8WoTLVAgMBAAGjgfQw\r\ngfEwHwYDVR0jBBgwFoAUz3CdYeudfC6498sCQPcJnf4zdIAwSAYDVR0gBEEwPzA9\r\nBghggRyG7yoBATAxMC8GCCsGAQUFBwIBFiNodHRwOi8vd3d3LmNmY2EuY29tLmNu\r\nL3VzL3VzLTE0Lmh0bTA5BgNVHR8EMjAwMC6gLKAqhihodHRwOi8vdWNybC5jZmNh\r\nLmNvbS5jbi9SU0EvY3JsMjQ4NzIuY3JsMAsGA1UdDwQEAwID6DAdBgNVHQ4EFgQU\r\nmQQLyuqYjES7qKO+zOkzEbvdFwgwHQYDVR0lBBYwFAYIKwYBBQUHAwIGCCsGAQUF\r\nBwMEMA0GCSqGSIb3DQEBBQUAA4IBAQAujhBuOcuxA+VzoUH84uoFt5aaBM3vGlpW\r\nKVMz6BUsLbIpp1ho5h+LaMnxMs6jdXXDh/du8X5SKMaIddiLw7ujZy1LibKy2jYi\r\nYYfs3tbZ0ffCKQtv78vCgC+IxUUurALY4w58fRLLdu8u8p9jyRFHsQEwSq+W5+bP\r\nMTh2w7cDd9h+6KoCN6AMI1Ly7MxRIhCbNBL9bzaxF9B5GK86ARY7ixkuDCEl4XCF\r\nJGxeoye9R46NqZ6AA/k97mJun//gmUjStmb9PUXA59fR5suAB5o/5lBySZ8UXkrI\r\npp/iLT8vIl1hNgLh0Ghs7DBSx99I+S3VuUzjHNxL6fGRhlix7Rb8\r\n-----END CERTIFICATE-----",
// "orderId": "20180528143329",
// "txnSubType": "07",
// "signature": "XfzvFp8yqea/ukNtzIVRD3JbrCs6nMYyc70dd9aGTpe1+deFzuKtuX3jwXMhEPLNJkN8SSaSL8T9U+R6aTCpw8DQOBsWZcB02lFY/pWRjvTPt0zRS+9LGRMBCxsOvB3GpnB1Z9k1ky/sYgfSGq1O5HZ1bcPuv08KMybaOm8UnzXfriEi73d6tOpjvUM6YXBj4dN/C0WTZrWSjEcb1ubrVgx4EANgJn/BkVcEyXbaWROMr5RzTHeQcA2ByaxSEIA3APh4BwK2aksKx1SdqAFGK/DpI080K3nlW3EGE3iS18mN5tXWYg81eVbmK4cbyexqazevN4lUB2smJasN1FkaQQ==",
// "traceNo": "378000",
// "issInsCode": "04100000",
// "settleAmt": "1",
// "customerInfo": "e2N1c3RvbWVyTm095a6L5bCPfQ==",
// "settleCurrencyCode": "156",
// "settleDate": "0528",
// "txnType": "01",
// "encoding": "UTF-8",
// "version": "5.1.0",
// "queryId": "20180528125632385617",
// "accessType": "0",
// "respMsg": "成功[0000000]",
// "traceTime": "0528102659",
// "txnTime": "20180528122645",
// "merId": "777290058159894",
// "currencyCode": "156",
// "respCode": "00",
// "signMethod": "01",
// "txnAmt": "1"
// }

}

+ 25
- 0
service-payment/src/main/java/com/neusoft/smart/pos/payment/persistent/ext/domain/UnionPayQueryOrder.java Ver arquivo

@@ -0,0 +1,25 @@
package com.neusoft.smart.pos.payment.persistent.ext.domain;

import lombok.Data;

import java.io.Serializable;

@Data
public class UnionPayQueryOrder implements Serializable {
private String version = "5.1.0"; //版本号 全渠道默认值
private String encoding = "UTF-8"; //字符集编码 可以使用UTF-8,GBK两种方式
private String signMethod = "01"; //签名方法
private String txnType = "00"; //交易类型 01:消费
private String txnSubType = "00"; //交易子类
private String bizType = "000000"; //填写000000
private String channelType = "08"; //渠道类型 08手机

/***商户接入参数***/
private String accessType = "0"; //接入类型,商户接入填0 ,不需修改(0:直连商户, 1: 收单机构 2:平台商户)
private String merId; //商户号码,请改成自己申请的商户号或者open上注册得来的777商户号测试
private String orderId; //商户订单号,8-40位数字字母,不能含“-”或“_”,可以自行定制规则
private String txnTime; //订单发送时间,取系统时间,格式为YYYYMMDDhhmmss,必须取当前时间,否则会报txnTime无效
private String certId; //证书ID
private String signature; //签名

}

+ 31
- 0
service-payment/src/main/java/com/neusoft/smart/pos/payment/persistent/ext/domain/UnionPayRefundOrder.java Ver arquivo

@@ -0,0 +1,31 @@
package com.neusoft.smart.pos.payment.persistent.ext.domain;

import lombok.Data;

import java.io.Serializable;

@Data
public class UnionPayRefundOrder implements Serializable {
private String version = "5.1.0"; //版本号 全渠道默认值
private String encoding = "UTF-8"; //字符集编码 可以使用UTF-8,GBK两种方式
private String signMethod = "01"; //签名方法
private String txnType = "04"; //交易类型 01:消费
private String txnSubType = "00"; //交易子类
private String bizType = "000000"; //填写000000
private String channelType = "08"; //渠道类型 08手机

/***商户接入参数***/
private String accessType = "0"; //接入类型,商户接入填0 ,不需修改(0:直连商户, 1: 收单机构 2:平台商户)
private String merId; //商户号码,请改成自己申请的商户号或者open上注册得来的777商户号测试
private String orderId; //商户订单号,8-40位数字字母,不能含“-”或“_”,可以自行定制规则
private String txnTime; //订单发送时间,取系统时间,格式为YYYYMMDDhhmmss,必须取当前时间,否则会报txnTime无效
private String currencyCode = "156"; //境内商户固定 156 人民币
private String txnAmt; //交易金额 单位为分,不能带小数点
private String certId; //证书ID
private String backUrl; //后台通知地址,后台通知参数详见open.unionpay.com帮助中心 下载 产品接口规范 网关支付产品接口规范 退货交易 商户通知,其他说明同消费交易的后台通知
private String origQryId; //原消费交易返回的的queryId,可以从消费交易后台通知接口中或者交易状态查询接口中获取
private String origOrderId; //原消费交易返回的的orderId
// private String origTxnTime; //原消费交易返回的的queryId,可以从消费交易后台通知接口中或者交易状态查询接口中获取
private String signature; //签名

}

+ 18
- 0
service-payment/src/main/java/com/neusoft/smart/pos/payment/persistent/ext/domain/WFTPayCreateOrder.java Ver arquivo

@@ -0,0 +1,18 @@
package com.neusoft.smart.pos.payment.persistent.ext.domain;

import lombok.Data;

import java.io.Serializable;

@Data
public class WFTPayCreateOrder implements Serializable {
private String service = "unified.trade.micropay"; //接口类型:unified.trade.micropay
private String mch_id; //商户号 1230000109 微信支付分配的商户号
private String out_trade_no; //商户系统内部的订单号 ,5到32个字符、 只能包含字母数字或者下划线,区分大小写,每次下单请求确保在商户系统唯一
private String body; //商品描述 商品简单描述
private String total_fee; //标价金额 订单总金额,单位为分
private String mch_create_ip; //订单生成的机器 IP
private String auth_code; //商户主扫授权码,设备读取用户微信中的条码或者二维码信息
private String nonce_str; //随机字符串
private String sign; //签名 C380BEC2BFD727A4B6845133519F3AD6 通过签名算法计算得出的签名值
}

+ 15
- 0
service-payment/src/main/java/com/neusoft/smart/pos/payment/persistent/ext/domain/WFTPayQueryOrder.java Ver arquivo

@@ -0,0 +1,15 @@
package com.neusoft.smart.pos.payment.persistent.ext.domain;

import lombok.Data;

import java.io.Serializable;

@Data
public class WFTPayQueryOrder implements Serializable {
private String service = "unified.trade.query"; //接口类型
private String mch_id; //商户号 1230000109 微信支付分配的商户号
private String out_trade_no; //商户系统内部的订单号 ,5到32个字符、 只能包含字母数字或者下划线,区分大小写,每次下单请求确保在商户系统唯一
private String nonce_str; //随机字符串 5K8264ILTKCH16CQ2502SI8ZNMTM67VS 随机字符串,长度要求在32位以内
private String sign; //签名 C380BEC2BFD727A4B6845133519F3AD6 通过签名算法计算得出的签名值

}

Alguns arquivos não foram mostrados porque muitos arquivos mudaram nesse diff

Carregando…
Cancelar
Salvar