Browse Source

feat:0 支付工程

master
yang_shj 4 years ago
parent
commit
c893b8027c
  1. 19
      payment-base-app/src/main/java/com/base/springcloud/base/ReportResult.java
  2. 31
      payment-base-app/src/main/java/com/base/springcloud/bo/MerchantConfigBO.java
  3. 18
      payment-base-app/src/main/java/com/base/springcloud/bo/OrderBO.java
  4. 8
      payment-base-app/src/main/java/com/base/springcloud/controller/MerchantController.java
  5. 23
      payment-base-app/src/main/java/com/base/springcloud/controller/PaymentController.java
  6. 19
      payment-base-app/src/main/java/com/base/springcloud/dao/MerchantConfigMapper.java
  7. 22
      payment-base-app/src/main/java/com/base/springcloud/dao/SaleBillMapper.java
  8. 35
      payment-base-app/src/main/java/com/base/springcloud/dto/MerchantConfigDTO.java
  9. 9
      payment-base-app/src/main/java/com/base/springcloud/dto/NativePlaceOrderDTO.java
  10. 34
      payment-base-app/src/main/java/com/base/springcloud/entity/MerchantConfig.java
  11. 2
      payment-base-app/src/main/java/com/base/springcloud/entity/Order.java
  12. 426
      payment-base-app/src/main/java/com/base/springcloud/entity/SaleBill.java
  13. 12
      payment-base-app/src/main/java/com/base/springcloud/service/BillService.java
  14. 7
      payment-base-app/src/main/java/com/base/springcloud/service/MerchantService.java
  15. 4
      payment-base-app/src/main/java/com/base/springcloud/service/PaymentService.java
  16. 4
      payment-base-app/src/main/java/com/base/springcloud/service/WecPaymentService.java
  17. 34
      payment-base-app/src/main/java/com/base/springcloud/service/imp/BillServiceImp.java
  18. 5
      payment-base-app/src/main/java/com/base/springcloud/service/imp/MerchantServiceImp.java
  19. 18
      payment-base-app/src/main/java/com/base/springcloud/service/imp/OrderServiceImp.java
  20. 23
      payment-base-app/src/main/java/com/base/springcloud/service/imp/PaymentServiceImp.java
  21. 9
      payment-base-app/src/main/java/com/base/springcloud/service/imp/WecPaymentServiceImp.java
  22. 199
      payment-base-app/src/main/resources/com/base/payment/mapper/MerchantConfigMapper.xml
  23. 17
      payment-base-app/src/main/resources/com/base/payment/mapper/OrderMapper.xml
  24. 539
      payment-base-app/src/main/resources/com/base/payment/mapper/SaleBillMapper.xml
  25. 69
      payment-base-app/src/main/resources/generatorConfig.xml

19
payment-base-app/src/main/java/com/base/springcloud/base/ReportResult.java

@ -0,0 +1,19 @@
package com.base.springcloud.base;
import lombok.AllArgsConstructor;
import lombok.Data;
import lombok.NoArgsConstructor;
import lombok.experimental.Accessors;
@Data
@NoArgsConstructor
@Accessors(chain = true)
public class ReportResult<T> {
//返回的数据
private T data;
public ReportResult(T data) {
this.data = data;
}
}

31
payment-base-app/src/main/java/com/base/springcloud/bo/MerchantConfigBO.java

@ -0,0 +1,31 @@
package com.base.springcloud.bo;
import lombok.Data;
@Data
public class MerchantConfigBO {
private String appId;
private String appKey;
private String certPath;
private String merchantId;
private String merchantName;
private String cityStoreName;
private String storeBrandName;
private String signType;
private String privateKey;
private String deviceInfo;
private String spbillCreateIp;
private String notifyUrl;
}

18
payment-base-app/src/main/java/com/base/springcloud/bo/OrderBO.java

@ -0,0 +1,18 @@
package com.base.springcloud.bo;
import com.base.springcloud.entity.Order;
import com.base.springcloud.entity.SaleBill;
import lombok.Data;
@Data
public class OrderBO {
// 销售单据号
private String billNo;
// 销售单
private SaleBill saleBill;
// 支付订单
private Order order;
}

8
payment-base-app/src/main/java/com/base/springcloud/controller/MerchantController.java

@ -1,7 +1,10 @@
package com.base.springcloud.controller; package com.base.springcloud.controller;
import com.base.springcloud.base.CommonResult; import com.base.springcloud.base.CommonResult;
import com.base.springcloud.bo.MerchantConfigBO;
import com.base.springcloud.constant.ErrorConstant; import com.base.springcloud.constant.ErrorConstant;
import com.base.springcloud.dto.MerchantConfigDTO;
import com.base.springcloud.entity.MerchantConfig;
import com.base.springcloud.service.MerchantService; import com.base.springcloud.service.MerchantService;
import io.swagger.annotations.Api; import io.swagger.annotations.Api;
import io.swagger.annotations.ApiOperation; import io.swagger.annotations.ApiOperation;
@ -23,8 +26,9 @@ public class MerchantController {
@ApiOperation(value = "商户支付信息配置", notes = "商户信息配置接口") @ApiOperation(value = "商户支付信息配置", notes = "商户信息配置接口")
@PostMapping("/merchantConfig") @PostMapping("/merchantConfig")
public CommonResult create() { public CommonResult paymentConfigure(@RequestBody MerchantConfigDTO merchantConfigDTO) {
MerchantConfigBO merchantConfigBO = new MerchantConfigBO();
merchantService.paymentConfigure(merchantConfigBO);
return new CommonResult(ErrorConstant.NULL_OBJ.getCode(), ErrorConstant.NULL_OBJ.getMessage(), null); return new CommonResult(ErrorConstant.NULL_OBJ.getCode(), ErrorConstant.NULL_OBJ.getMessage(), null);
} }
} }

23
payment-base-app/src/main/java/com/base/springcloud/controller/PaymentController.java

@ -1,18 +1,25 @@
package com.base.springcloud.controller; package com.base.springcloud.controller;
import com.base.springcloud.base.CommonResult; import com.base.springcloud.base.CommonResult;
import com.base.springcloud.base.ReportResult;
import com.base.springcloud.bo.OrderBO;
import com.base.springcloud.constant.ErrorConstant; import com.base.springcloud.constant.ErrorConstant;
import com.base.springcloud.dto.NativePlaceOrderDTO;
import com.base.springcloud.entity.Order; import com.base.springcloud.entity.Order;
import com.base.springcloud.service.PaymentService; import com.base.springcloud.service.PaymentService;
import com.base.springcloud.util.DateUtil;
import io.swagger.annotations.Api; import io.swagger.annotations.Api;
import io.swagger.annotations.ApiOperation; import io.swagger.annotations.ApiOperation;
import lombok.extern.slf4j.Slf4j; import lombok.extern.slf4j.Slf4j;
import org.springframework.beans.factory.annotation.Autowired; import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.PostMapping; import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.RequestBody;
import org.springframework.web.bind.annotation.RequestMapping; import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RequestParam;
import org.springframework.web.bind.annotation.RestController; import org.springframework.web.bind.annotation.RestController;
import java.math.BigDecimal;
import java.util.Date;
@RestController @RestController
@Slf4j @Slf4j
@Api(tags="支付管理") @Api(tags="支付管理")
@ -23,9 +30,13 @@ public class PaymentController {
private PaymentService paymentService; private PaymentService paymentService;
@ApiOperation(value = "native下单", notes = "微信native下单") @ApiOperation(value = "native下单", notes = "微信native下单")
@PostMapping("/nativePlaceOrder") @GetMapping("/nativePlaceOrder")
public CommonResult nativePlaceOrder(@RequestBody Order order) { public ReportResult nativePlaceOrder(@RequestParam String salesBill) {
String codeUrl = paymentService.placeOrder(order); OrderBO orderBO = new OrderBO();
return new CommonResult(ErrorConstant.SUECCESS.getCode(), ErrorConstant.SUECCESS.getMessage(), codeUrl); orderBO.setBillNo(salesBill);
String codeUrl = paymentService.placeOrder(orderBO);
NativePlaceOrderDTO nativePlaceOrderDTO = new NativePlaceOrderDTO();
nativePlaceOrderDTO.setCodeUrl(codeUrl);
return new ReportResult(nativePlaceOrderDTO);
} }
} }

19
payment-base-app/src/main/java/com/base/springcloud/dao/MerchantConfigMapper.java

@ -0,0 +1,19 @@
package com.base.springcloud.dao;
import com.base.springcloud.entity.MerchantConfig;
import org.springframework.stereotype.Repository;
@Repository
public interface MerchantConfigMapper {
int deleteByPrimaryKey(String id);
int insert(MerchantConfig record);
int insertSelective(MerchantConfig record);
MerchantConfig selectByPrimaryKey(String id);
int updateByPrimaryKeySelective(MerchantConfig record);
int updateByPrimaryKey(MerchantConfig record);
}

22
payment-base-app/src/main/java/com/base/springcloud/dao/SaleBillMapper.java

@ -0,0 +1,22 @@
package com.base.springcloud.dao;
import com.base.springcloud.entity.SaleBill;
import org.springframework.stereotype.Repository;
@Repository
public interface SaleBillMapper {
int deleteByPrimaryKey(String id);
int insert(SaleBill record);
int insertSelective(SaleBill record);
SaleBill selectByPrimaryKey(String id);
int updateByPrimaryKeySelective(SaleBill record);
int updateByPrimaryKey(SaleBill record);
SaleBill queryBillInfo(SaleBill saleBill);
}

35
payment-base-app/src/main/java/com/base/springcloud/dto/MerchantConfigDTO.java

@ -0,0 +1,35 @@
package com.base.springcloud.dto;
import lombok.Data;
import java.io.File;
@Data
public class MerchantConfigDTO {
private File certFile;
private String appId;
private String appKey;
private String certPath;
private String merchantId;
private String merchantName;
private String cityStoreName;
private String storeBrandName;
private String signType;
private String privateKey;
private String deviceInfo;
private String spbillCreateIp;
private String notifyUrl;
}

9
payment-base-app/src/main/java/com/base/springcloud/dto/NativePlaceOrderDTO.java

@ -0,0 +1,9 @@
package com.base.springcloud.dto;
import lombok.Data;
@Data
public class NativePlaceOrderDTO {
private String codeUrl;
}

34
payment-base-app/src/main/java/com/base/springcloud/entity/MerchantConfig.java

@ -0,0 +1,34 @@
package com.base.springcloud.entity;
import com.base.springcloud.base.BaseEntity;
import lombok.Data;
@Data
public class MerchantConfig extends BaseEntity {
private String id;
private String appId;
private String appKey;
private String certPath;
private String merchantId;
private String merchantName;
private String cityStoreName;
private String storeBrandName;
private String signType;
private String privateKey;
private String deviceInfo;
private String spbillCreateIp;
private String notifyUrl;
}

2
payment-base-app/src/main/java/com/base/springcloud/entity/Order.java

@ -15,12 +15,12 @@ public class Order extends BaseEntity {
private String orderNo; private String orderNo;
private String mchId;
@JsonFormat(timezone = "GMT+8", pattern = "yyyy-MM-dd HH:mm:ss") @JsonFormat(timezone = "GMT+8", pattern = "yyyy-MM-dd HH:mm:ss")
@DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss") @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
private Date createTime; private Date createTime;
@JsonFormat(timezone = "GMT+8", pattern = "yyyy-MM-dd HH:mm:ss") @JsonFormat(timezone = "GMT+8", pattern = "yyyy-MM-dd HH:mm:ss")
@DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss") @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
private Date expireTime; private Date expireTime;

426
payment-base-app/src/main/java/com/base/springcloud/entity/SaleBill.java

@ -0,0 +1,426 @@
package com.base.springcloud.entity;
import java.math.BigDecimal;
import java.util.Date;
public class SaleBill {
private String id;
private String billNo;
private String stockIoType;
private Integer isRubric;
private Date billDate;
private String sourceType;
private String sourceId;
private String clerkId;
private String handlerId;
private Integer hasRp;
private String supplierId;
private String customerId;
private String remark;
private String approverId;
private String flowId;
private Integer isApproved;
private Date effectiveTime;
private Integer isVoided;
private Integer isClosed;
private String sysOrgCode;
private String createBy;
private Date createTime;
private String updateBy;
private Date updateTime;
private Integer version;
private String ctCompanyId;
private String attachmentId;
private BigDecimal payAmount;
private String billStatus;
private BigDecimal totalAmount;
private BigDecimal lockAmount;
private String sourceNo;
private Integer isSameSettle;
private String isTurnSale;
private String logisticsNo;
private Integer isPlatformSupplier;
private String saleNo;
private Integer isDelivery;
private Integer isAuto;
private String attachment;
private String billProcStatus;
private Integer isRefStk;
public String getId() {
return id;
}
public void setId(String id) {
this.id = id;
}
public String getBillNo() {
return billNo;
}
public void setBillNo(String billNo) {
this.billNo = billNo;
}
public String getStockIoType() {
return stockIoType;
}
public void setStockIoType(String stockIoType) {
this.stockIoType = stockIoType;
}
public Integer getIsRubric() {
return isRubric;
}
public void setIsRubric(Integer isRubric) {
this.isRubric = isRubric;
}
public Date getBillDate() {
return billDate;
}
public void setBillDate(Date billDate) {
this.billDate = billDate;
}
public String getSourceType() {
return sourceType;
}
public void setSourceType(String sourceType) {
this.sourceType = sourceType;
}
public String getSourceId() {
return sourceId;
}
public void setSourceId(String sourceId) {
this.sourceId = sourceId;
}
public String getClerkId() {
return clerkId;
}
public void setClerkId(String clerkId) {
this.clerkId = clerkId;
}
public String getHandlerId() {
return handlerId;
}
public void setHandlerId(String handlerId) {
this.handlerId = handlerId;
}
public Integer getHasRp() {
return hasRp;
}
public void setHasRp(Integer hasRp) {
this.hasRp = hasRp;
}
public String getSupplierId() {
return supplierId;
}
public void setSupplierId(String supplierId) {
this.supplierId = supplierId;
}
public String getCustomerId() {
return customerId;
}
public void setCustomerId(String customerId) {
this.customerId = customerId;
}
public String getRemark() {
return remark;
}
public void setRemark(String remark) {
this.remark = remark;
}
public String getApproverId() {
return approverId;
}
public void setApproverId(String approverId) {
this.approverId = approverId;
}
public String getFlowId() {
return flowId;
}
public void setFlowId(String flowId) {
this.flowId = flowId;
}
public Integer getIsApproved() {
return isApproved;
}
public void setIsApproved(Integer isApproved) {
this.isApproved = isApproved;
}
public Date getEffectiveTime() {
return effectiveTime;
}
public void setEffectiveTime(Date effectiveTime) {
this.effectiveTime = effectiveTime;
}
public Integer getIsVoided() {
return isVoided;
}
public void setIsVoided(Integer isVoided) {
this.isVoided = isVoided;
}
public Integer getIsClosed() {
return isClosed;
}
public void setIsClosed(Integer isClosed) {
this.isClosed = isClosed;
}
public String getSysOrgCode() {
return sysOrgCode;
}
public void setSysOrgCode(String sysOrgCode) {
this.sysOrgCode = sysOrgCode;
}
public String getCreateBy() {
return createBy;
}
public void setCreateBy(String createBy) {
this.createBy = createBy;
}
public Date getCreateTime() {
return createTime;
}
public void setCreateTime(Date createTime) {
this.createTime = createTime;
}
public String getUpdateBy() {
return updateBy;
}
public void setUpdateBy(String updateBy) {
this.updateBy = updateBy;
}
public Date getUpdateTime() {
return updateTime;
}
public void setUpdateTime(Date updateTime) {
this.updateTime = updateTime;
}
public Integer getVersion() {
return version;
}
public void setVersion(Integer version) {
this.version = version;
}
public String getCtCompanyId() {
return ctCompanyId;
}
public void setCtCompanyId(String ctCompanyId) {
this.ctCompanyId = ctCompanyId;
}
public String getAttachmentId() {
return attachmentId;
}
public void setAttachmentId(String attachmentId) {
this.attachmentId = attachmentId;
}
public BigDecimal getPayAmount() {
return payAmount;
}
public void setPayAmount(BigDecimal payAmount) {
this.payAmount = payAmount;
}
public String getBillStatus() {
return billStatus;
}
public void setBillStatus(String billStatus) {
this.billStatus = billStatus;
}
public BigDecimal getTotalAmount() {
return totalAmount;
}
public void setTotalAmount(BigDecimal totalAmount) {
this.totalAmount = totalAmount;
}
public BigDecimal getLockAmount() {
return lockAmount;
}
public void setLockAmount(BigDecimal lockAmount) {
this.lockAmount = lockAmount;
}
public String getSourceNo() {
return sourceNo;
}
public void setSourceNo(String sourceNo) {
this.sourceNo = sourceNo;
}
public Integer getIsSameSettle() {
return isSameSettle;
}
public void setIsSameSettle(Integer isSameSettle) {
this.isSameSettle = isSameSettle;
}
public String getIsTurnSale() {
return isTurnSale;
}
public void setIsTurnSale(String isTurnSale) {
this.isTurnSale = isTurnSale;
}
public String getLogisticsNo() {
return logisticsNo;
}
public void setLogisticsNo(String logisticsNo) {
this.logisticsNo = logisticsNo;
}
public Integer getIsPlatformSupplier() {
return isPlatformSupplier;
}
public void setIsPlatformSupplier(Integer isPlatformSupplier) {
this.isPlatformSupplier = isPlatformSupplier;
}
public String getSaleNo() {
return saleNo;
}
public void setSaleNo(String saleNo) {
this.saleNo = saleNo;
}
public Integer getIsDelivery() {
return isDelivery;
}
public void setIsDelivery(Integer isDelivery) {
this.isDelivery = isDelivery;
}
public Integer getIsAuto() {
return isAuto;
}
public void setIsAuto(Integer isAuto) {
this.isAuto = isAuto;
}
public String getAttachment() {
return attachment;
}
public void setAttachment(String attachment) {
this.attachment = attachment;
}
public String getBillProcStatus() {
return billProcStatus;
}
public void setBillProcStatus(String billProcStatus) {
this.billProcStatus = billProcStatus;
}
public Integer getIsRefStk() {
return isRefStk;
}
public void setIsRefStk(Integer isRefStk) {
this.isRefStk = isRefStk;
}
}

12
payment-base-app/src/main/java/com/base/springcloud/service/BillService.java

@ -0,0 +1,12 @@
package com.base.springcloud.service;
import com.base.springcloud.bo.OrderBO;
public interface BillService {
/**
* 销售单据核查
* @param orderBO
*/
void billCheck(OrderBO orderBO);
}

7
payment-base-app/src/main/java/com/base/springcloud/service/MerchantService.java

@ -1,5 +1,12 @@
package com.base.springcloud.service; package com.base.springcloud.service;
import com.base.springcloud.bo.MerchantConfigBO;
public interface MerchantService { public interface MerchantService {
/**
* 支付信息配置
* @param merchantConfigBO
*/
void paymentConfigure(MerchantConfigBO merchantConfigBO);
} }

4
payment-base-app/src/main/java/com/base/springcloud/service/PaymentService.java

@ -1,9 +1,9 @@
package com.base.springcloud.service; package com.base.springcloud.service;
import com.base.springcloud.entity.Order; import com.base.springcloud.bo.OrderBO;
public interface PaymentService { public interface PaymentService {
// 下单 // 下单
String placeOrder(Order order); String placeOrder(OrderBO orderBO);
} }

4
payment-base-app/src/main/java/com/base/springcloud/service/WecPaymentService.java

@ -1,8 +1,8 @@
package com.base.springcloud.service; package com.base.springcloud.service;
import com.base.springcloud.entity.Order; import com.base.springcloud.bo.OrderBO;
public interface WecPaymentService { public interface WecPaymentService {
String nativePay(Order order); String nativePay(OrderBO orderBO);
} }

34
payment-base-app/src/main/java/com/base/springcloud/service/imp/BillServiceImp.java

@ -0,0 +1,34 @@
package com.base.springcloud.service.imp;
import com.base.springcloud.bo.OrderBO;
import com.base.springcloud.dao.SaleBillMapper;
import com.base.springcloud.entity.SaleBill;
import com.base.springcloud.service.BillService;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import java.math.BigDecimal;
import java.util.Optional;
@Service
public class BillServiceImp implements BillService {
Logger logger = LoggerFactory.getLogger(BillServiceImp.class);
@Autowired
private SaleBillMapper saleBillMapper;
@Override
public void billCheck(OrderBO orderBO) {
SaleBill saleBill = new SaleBill();
saleBill.setBillNo(orderBO.getBillNo());
SaleBill queryResult = saleBillMapper.queryBillInfo(saleBill);
if(!Optional.ofNullable(queryResult).isPresent()){
saleBill.setTotalAmount(new BigDecimal(1));
logger.warn("==================销售单据查询失败!=============================");
}
orderBO.setSaleBill(queryResult);
}
}

5
payment-base-app/src/main/java/com/base/springcloud/service/imp/MerchantServiceImp.java

@ -1,9 +1,14 @@
package com.base.springcloud.service.imp; package com.base.springcloud.service.imp;
import com.base.springcloud.bo.MerchantConfigBO;
import com.base.springcloud.service.MerchantService; import com.base.springcloud.service.MerchantService;
import org.springframework.stereotype.Service; import org.springframework.stereotype.Service;
@Service @Service
public class MerchantServiceImp implements MerchantService { public class MerchantServiceImp implements MerchantService {
@Override
public void paymentConfigure(MerchantConfigBO merchantConfigBO) {
}
} }

18
payment-base-app/src/main/java/com/base/springcloud/service/imp/OrderServiceImp.java

@ -1,9 +1,11 @@
package com.base.springcloud.service.imp; package com.base.springcloud.service.imp;
import com.base.springcloud.bo.OrderBO;
import com.base.springcloud.constant.PaymentConstant; import com.base.springcloud.constant.PaymentConstant;
import com.base.springcloud.dao.OrderMapper; import com.base.springcloud.dao.OrderMapper;
import com.base.springcloud.entity.Order; import com.base.springcloud.entity.Order;
import com.base.springcloud.service.OrderService; import com.base.springcloud.service.OrderService;
import com.base.springcloud.util.DateUtil;
import com.base.springcloud.util.DecimalUtils; import com.base.springcloud.util.DecimalUtils;
import org.springframework.beans.factory.annotation.Autowired; import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service; import org.springframework.stereotype.Service;
@ -19,11 +21,23 @@ public class OrderServiceImp implements OrderService {
private OrderMapper orderMapper; private OrderMapper orderMapper;
@Override @Override
public void registerOrder(Order order) { public void registerOrder(OrderBO orderBO) {
Order order = new Order();
order.setId(UUID.randomUUID().toString().replace("-", "")); order.setId(UUID.randomUUID().toString().replace("-", ""));
order.setCreateTime(new Date());
order.setExpireTime(new Date());
order.setTimeStamp(new Date()); order.setTimeStamp(new Date());
order.setGoodId("1142338242");
order.setGoodName("maomaogongzai");
order.setOrderNo(DateUtil.getDateString(new Date(),25));
order.setOrderType("AL");
order.setRequestNo(DateUtil.getDateString(new Date(),25));
order.setReserved("memo");
order.setTimeStamp(new Date());
order.setMchId("888027018000004");
order.setOrderState(PaymentConstant.WAIT); order.setOrderState(PaymentConstant.WAIT);
order.setOrderAmount(DecimalUtils.divide(order.getOrderAmount(),new BigDecimal(100))); order.setOrderAmount(DecimalUtils.divide(orderBO.getSaleBill().getTotalAmount(),new BigDecimal(100)));
orderMapper.insert(order); orderMapper.insert(order);
orderBO.setOrder(order);
} }
} }

23
payment-base-app/src/main/java/com/base/springcloud/service/imp/PaymentServiceImp.java

@ -1,34 +1,45 @@
package com.base.springcloud.service.imp; package com.base.springcloud.service.imp;
import com.base.springcloud.bo.OrderBO;
import com.base.springcloud.entity.Order; import com.base.springcloud.entity.Order;
import com.base.springcloud.service.BillService;
import com.base.springcloud.service.OrderService; import com.base.springcloud.service.OrderService;
import com.base.springcloud.service.PaymentService; import com.base.springcloud.service.PaymentService;
import com.base.springcloud.service.WecPaymentService; import com.base.springcloud.service.WecPaymentService;
import com.base.springcloud.util.DateUtil;
import org.springframework.beans.factory.annotation.Autowired; import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service; import org.springframework.stereotype.Service;
import java.math.BigDecimal;
import java.util.Date;
@Service @Service
public class PaymentServiceImp implements PaymentService { public class PaymentServiceImp implements PaymentService {
@Autowired @Autowired
private OrderService orderService; private OrderService orderService;
@Autowired
private BillService billService;
@Autowired @Autowired
private WecPaymentService wecPaymentService; private WecPaymentService wecPaymentService;
@Override @Override
public String placeOrder(Order order){ public String placeOrder(OrderBO orderBO){
Order order = new Order();
// 参数检查 // 参数检查
parameterCheck(order); parameterCheck(orderBO);
// 销售单据核查
billService.billCheck(orderBO);
// 登记订单 // 登记订单
orderService.registerOrder(order); orderService.registerOrder(orderBO);
// 请求微信生成二维码 // 请求微信生成二维码
String codeUrl = wecPaymentService.nativePay(order); String codeUrl = wecPaymentService.nativePay(orderBO);
return codeUrl; return codeUrl;
} }
// 参数检查 // 参数检查
private void parameterCheck(Order order) { private void parameterCheck(OrderBO orderBO) {
} }
} }

9
payment-base-app/src/main/java/com/base/springcloud/service/imp/WecPaymentServiceImp.java

@ -1,9 +1,11 @@
package com.base.springcloud.service.imp; package com.base.springcloud.service.imp;
import com.base.springcloud.bo.OrderBO;
import com.base.springcloud.constant.PaymentConstant; import com.base.springcloud.constant.PaymentConstant;
import com.base.springcloud.entity.Order; import com.base.springcloud.entity.Order;
import com.base.springcloud.service.WecPaymentService; import com.base.springcloud.service.WecPaymentService;
import com.base.springcloud.util.DateUtil; import com.base.springcloud.util.DateUtil;
import com.base.springcloud.util.DecimalUtils;
import com.hisun.iposm.HiCASignUtil2; import com.hisun.iposm.HiCASignUtil2;
import com.hisun.iposm.HiiposmUtil; import com.hisun.iposm.HiiposmUtil;
import org.apache.commons.lang.StringUtils; import org.apache.commons.lang.StringUtils;
@ -18,7 +20,7 @@ public class WecPaymentServiceImp implements WecPaymentService {
Logger logger = LoggerFactory.getLogger(WecPaymentServiceImp.class); Logger logger = LoggerFactory.getLogger(WecPaymentServiceImp.class);
@Override @Override
public String nativePay(Order order) { public String nativePay(OrderBO orderBO) {
String res = ""; String res = "";
HiiposmUtil util = new HiiposmUtil(); HiiposmUtil util = new HiiposmUtil();
String merchantId = "888027018000004"; String merchantId = "888027018000004";
@ -34,6 +36,7 @@ public class WecPaymentServiceImp implements WecPaymentService {
// 签名数据 // 签名数据
Order order = orderBO.getOrder();
StringBuilder signDate = new StringBuilder(); StringBuilder signDate = new StringBuilder();
signDate.append(PaymentConstant.CHARACTER_SET); signDate.append(PaymentConstant.CHARACTER_SET);
signDate.append(PaymentConstant.CALLBACK_URL); signDate.append(PaymentConstant.CALLBACK_URL);
@ -43,7 +46,7 @@ public class WecPaymentServiceImp implements WecPaymentService {
signDate.append(PaymentConstant.SIGN_TYPE); signDate.append(PaymentConstant.SIGN_TYPE);
signDate.append(type); signDate.append(type);
signDate.append(version); signDate.append(version);
signDate.append(order.getOrderAmount()); signDate.append(DecimalUtils.stripTrailingZeros(orderBO.getSaleBill().getTotalAmount()));
signDate.append(createDate); signDate.append(createDate);
switch (order.getOrderType()){ switch (order.getOrderType()){
case PaymentConstant.WEC : signDate.append(PaymentConstant.QRCWC); break; case PaymentConstant.WEC : signDate.append(PaymentConstant.QRCWC); break;
@ -66,7 +69,7 @@ public class WecPaymentServiceImp implements WecPaymentService {
requestParam.append("&signType=").append(PaymentConstant.SIGN_TYPE); requestParam.append("&signType=").append(PaymentConstant.SIGN_TYPE);
requestParam.append("&type=").append(type); requestParam.append("&type=").append(type);
requestParam.append("&version=").append(version); requestParam.append("&version=").append(version);
requestParam.append("&amount=").append(order.getOrderAmount()); requestParam.append("&amount=").append(DecimalUtils.stripTrailingZeros(orderBO.getSaleBill().getTotalAmount()));
requestParam.append("&orderDate=").append(createDate); requestParam.append("&orderDate=").append(createDate);
requestParam.append("&payWay="); requestParam.append("&payWay=");
switch (order.getOrderType()){ switch (order.getOrderType()){

199
payment-base-app/src/main/resources/com/base/payment/mapper/MerchantConfigMapper.xml

@ -0,0 +1,199 @@
<?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.base.springcloud.dao.MerchantConfigMapper">
<resultMap id="BaseResultMap" type="com.base.springcloud.entity.MerchantConfig">
<id column="id" jdbcType="VARCHAR" property="id" />
<result column="app_id" jdbcType="VARCHAR" property="appId" />
<result column="api_key" jdbcType="VARCHAR" property="appKey" />
<result column="cert_path" jdbcType="VARCHAR" property="certPath" />
<result column="merchant_id" jdbcType="VARCHAR" property="merchantId" />
<result column="merchant_name" jdbcType="VARCHAR" property="merchantName" />
<result column="city_store_name" jdbcType="VARCHAR" property="cityStoreName" />
<result column="store_brand_name" jdbcType="VARCHAR" property="storeBrandName" />
<result column="sign_type" jdbcType="VARCHAR" property="signType" />
<result column="private_key" jdbcType="VARCHAR" property="privateKey" />
<result column="device_info" jdbcType="VARCHAR" property="deviceInfo" />
<result column="spbill_create_ip" jdbcType="VARCHAR" property="spbillCreateIp" />
<result column="notify_url" jdbcType="VARCHAR" property="notifyUrl" />
<result column="time_stamp" jdbcType="TIMESTAMP" property="timeStamp" />
</resultMap>
<sql id="Base_Column_List">
id, app_id, api_key, cert_path, merchant_id, merchant_name, city_store_name, store_brand_name,
sign_type, private_key, device_info, spbill_create_ip, notify_url, time_stamp
</sql>
<select id="selectByPrimaryKey" parameterType="java.lang.String" resultMap="BaseResultMap">
select
<include refid="Base_Column_List" />
from pay_merchant_config
where id = #{id,jdbcType=VARCHAR}
</select>
<delete id="deleteByPrimaryKey" parameterType="java.lang.String">
delete from pay_merchant_config
where id = #{id,jdbcType=VARCHAR}
</delete>
<insert id="insert" parameterType="com.base.springcloud.entity.MerchantConfig">
insert into pay_merchant_config (id, app_id, api_key,
cert_path, merchant_id, merchant_name,
city_store_name, store_brand_name, sign_type,
private_key, device_info, spbill_create_ip,
notify_url, time_stamp)
values (#{id,jdbcType=VARCHAR}, #{appId,jdbcType=VARCHAR}, #{appKey,jdbcType=VARCHAR},
#{certPath,jdbcType=VARCHAR}, #{merchantId,jdbcType=VARCHAR}, #{merchantName,jdbcType=VARCHAR},
#{cityStoreName,jdbcType=VARCHAR}, #{storeBrandName,jdbcType=VARCHAR}, #{signType,jdbcType=VARCHAR},
#{privateKey,jdbcType=VARCHAR}, #{deviceInfo,jdbcType=VARCHAR}, #{spbillCreateIp,jdbcType=VARCHAR},
#{notifyUrl,jdbcType=VARCHAR}, #{timeStamp,jdbcType=TIMESTAMP})
</insert>
<insert id="insertSelective" parameterType="com.base.springcloud.entity.MerchantConfig">
insert into pay_merchant_config
<trim prefix="(" suffix=")" suffixOverrides=",">
<if test="id != null">
id,
</if>
<if test="appId != null">
app_id,
</if>
<if test="appKey != null">
api_key,
</if>
<if test="certPath != null">
cert_path,
</if>
<if test="merchantId != null">
merchant_id,
</if>
<if test="merchantName != null">
merchant_name,
</if>
<if test="cityStoreName != null">
city_store_name,
</if>
<if test="storeBrandName != null">
store_brand_name,
</if>
<if test="signType != null">
sign_type,
</if>
<if test="privateKey != null">
private_key,
</if>
<if test="deviceInfo != null">
device_info,
</if>
<if test="spbillCreateIp != null">
spbill_create_ip,
</if>
<if test="notifyUrl != null">
notify_url,
</if>
<if test="timeStamp != null">
time_stamp,
</if>
</trim>
<trim prefix="values (" suffix=")" suffixOverrides=",">
<if test="id != null">
#{id,jdbcType=VARCHAR},
</if>
<if test="appId != null">
#{appId,jdbcType=VARCHAR},
</if>
<if test="appKey != null">
#{appKey,jdbcType=VARCHAR},
</if>
<if test="certPath != null">
#{certPath,jdbcType=VARCHAR},
</if>
<if test="merchantId != null">
#{merchantId,jdbcType=VARCHAR},
</if>
<if test="merchantName != null">
#{merchantName,jdbcType=VARCHAR},
</if>
<if test="cityStoreName != null">
#{cityStoreName,jdbcType=VARCHAR},
</if>
<if test="storeBrandName != null">
#{storeBrandName,jdbcType=VARCHAR},
</if>
<if test="signType != null">
#{signType,jdbcType=VARCHAR},
</if>
<if test="privateKey != null">
#{privateKey,jdbcType=VARCHAR},
</if>
<if test="deviceInfo != null">
#{deviceInfo,jdbcType=VARCHAR},
</if>
<if test="spbillCreateIp != null">
#{spbillCreateIp,jdbcType=VARCHAR},
</if>
<if test="notifyUrl != null">
#{notifyUrl,jdbcType=VARCHAR},
</if>
<if test="timeStamp != null">
#{timeStamp,jdbcType=TIMESTAMP},
</if>
</trim>
</insert>
<update id="updateByPrimaryKeySelective" parameterType="com.base.springcloud.entity.MerchantConfig">
update pay_merchant_config
<set>
<if test="appId != null">
app_id = #{appId,jdbcType=VARCHAR},
</if>
<if test="appKey != null">
api_key = #{appKey,jdbcType=VARCHAR},
</if>
<if test="certPath != null">
cert_path = #{certPath,jdbcType=VARCHAR},
</if>
<if test="merchantId != null">
merchant_id = #{merchantId,jdbcType=VARCHAR},
</if>
<if test="merchantName != null">
merchant_name = #{merchantName,jdbcType=VARCHAR},
</if>
<if test="cityStoreName != null">
city_store_name = #{cityStoreName,jdbcType=VARCHAR},
</if>
<if test="storeBrandName != null">
store_brand_name = #{storeBrandName,jdbcType=VARCHAR},
</if>
<if test="signType != null">
sign_type = #{signType,jdbcType=VARCHAR},
</if>
<if test="privateKey != null">
private_key = #{privateKey,jdbcType=VARCHAR},
</if>
<if test="deviceInfo != null">
device_info = #{deviceInfo,jdbcType=VARCHAR},
</if>
<if test="spbillCreateIp != null">
spbill_create_ip = #{spbillCreateIp,jdbcType=VARCHAR},
</if>
<if test="notifyUrl != null">
notify_url = #{notifyUrl,jdbcType=VARCHAR},
</if>
<if test="timeStamp != null">
time_stamp = #{timeStamp,jdbcType=TIMESTAMP},
</if>
</set>
where id = #{id,jdbcType=VARCHAR}
</update>
<update id="updateByPrimaryKey" parameterType="com.base.springcloud.entity.MerchantConfig">
update pay_merchant_config
set app_id = #{appId,jdbcType=VARCHAR},
api_key = #{appKey,jdbcType=VARCHAR},
cert_path = #{certPath,jdbcType=VARCHAR},
merchant_id = #{merchantId,jdbcType=VARCHAR},
merchant_name = #{merchantName,jdbcType=VARCHAR},
city_store_name = #{cityStoreName,jdbcType=VARCHAR},
store_brand_name = #{storeBrandName,jdbcType=VARCHAR},
sign_type = #{signType,jdbcType=VARCHAR},
private_key = #{privateKey,jdbcType=VARCHAR},
device_info = #{deviceInfo,jdbcType=VARCHAR},
spbill_create_ip = #{spbillCreateIp,jdbcType=VARCHAR},
notify_url = #{notifyUrl,jdbcType=VARCHAR},
time_stamp = #{timeStamp,jdbcType=TIMESTAMP}
where id = #{id,jdbcType=VARCHAR}
</update>
</mapper>

17
payment-base-app/src/main/resources/com/base/payment/mapper/OrderMapper.xml

@ -28,14 +28,13 @@
where id = #{id,jdbcType=VARCHAR} where id = #{id,jdbcType=VARCHAR}
</delete> </delete>
<insert id="insert" parameterType="com.base.springcloud.entity.Order"> <insert id="insert" parameterType="com.base.springcloud.entity.Order">
insert into pay_order (id, order_no, create_time, insert into pay_order (id, order_no, mch_id, create_time,
expire_time, request_no, order_amount, order_state expire_time, request_no, order_amount, order_state,
good_name, good_id, order_type, good_name, good_id, order_type, reserved,time_stamp)
reserved) values (#{id,jdbcType=VARCHAR}, #{orderNo,jdbcType=VARCHAR},#{mchId,jdbcType=VARCHAR},#{createTime,jdbcType=TIMESTAMP},
values (#{id,jdbcType=VARCHAR}, #{orderNo,jdbcType=VARCHAR}, #{createTime,jdbcType=TIMESTAMP},
#{expireTime,jdbcType=TIMESTAMP}, #{requestNo,jdbcType=VARCHAR}, #{orderAmount,jdbcType=VARCHAR}, #{expireTime,jdbcType=TIMESTAMP}, #{requestNo,jdbcType=VARCHAR}, #{orderAmount,jdbcType=VARCHAR},
#{orderState,jdbcType=VARCHAR},#{goodName,jdbcType=VARCHAR}, #{goodId,jdbcType=VARCHAR}, #{orderType,jdbcType=VARCHAR}, #{orderState,jdbcType=VARCHAR},#{goodName,jdbcType=VARCHAR}, #{goodId,jdbcType=VARCHAR}, #{orderType,jdbcType=VARCHAR},
#{reserved,jdbcType=VARCHAR}) #{reserved,jdbcType=VARCHAR},#{timeStamp,jdbcType=TIMESTAMP})
</insert> </insert>
<insert id="insertSelective" parameterType="com.base.springcloud.entity.Order"> <insert id="insertSelective" parameterType="com.base.springcloud.entity.Order">
insert into pay_order insert into pay_order
@ -46,6 +45,9 @@
<if test="orderNo != null"> <if test="orderNo != null">
order_no, order_no,
</if> </if>
<if test="mchId != null">
mch_id,
</if>
<if test="createTime != null"> <if test="createTime != null">
create_time, create_time,
</if> </if>
@ -78,6 +80,9 @@
<if test="orderNo != null"> <if test="orderNo != null">
#{orderNo,jdbcType=VARCHAR}, #{orderNo,jdbcType=VARCHAR},
</if> </if>
<if test="mchId != null">
#{mchId,jdbcType=VARCHAR},
</if>
<if test="createTime != null"> <if test="createTime != null">
#{createTime,jdbcType=TIMESTAMP}, #{createTime,jdbcType=TIMESTAMP},
</if> </if>

539
payment-base-app/src/main/resources/com/base/payment/mapper/SaleBillMapper.xml

@ -0,0 +1,539 @@
<?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.base.springcloud.dao.SaleBillMapper">
<resultMap id="BaseResultMap" type="com.base.springcloud.entity.SaleBill">
<id column="id" jdbcType="VARCHAR" property="id" />
<result column="bill_no" jdbcType="VARCHAR" property="billNo" />
<result column="stock_io_type" jdbcType="VARCHAR" property="stockIoType" />
<result column="is_rubric" jdbcType="VARCHAR" property="isRubric" />
<result column="bill_date" jdbcType="TIMESTAMP" property="billDate" />
<result column="source_type" jdbcType="VARCHAR" property="sourceType" />
<result column="source_id" jdbcType="VARCHAR" property="sourceId" />
<result column="clerk_id" jdbcType="VARCHAR" property="clerkId" />
<result column="handler_id" jdbcType="VARCHAR" property="handlerId" />
<result column="has_rp" jdbcType="INTEGER" property="hasRp" />
<result column="supplier_id" jdbcType="VARCHAR" property="supplierId" />
<result column="customer_id" jdbcType="VARCHAR" property="customerId" />
<result column="remark" jdbcType="VARCHAR" property="remark" />
<result column="approver_id" jdbcType="VARCHAR" property="approverId" />
<result column="flow_id" jdbcType="VARCHAR" property="flowId" />
<result column="is_approved" jdbcType="INTEGER" property="isApproved" />
<result column="effective_time" jdbcType="TIMESTAMP" property="effectiveTime" />
<result column="is_voided" jdbcType="INTEGER" property="isVoided" />
<result column="is_closed" jdbcType="INTEGER" property="isClosed" />
<result column="sys_org_code" jdbcType="VARCHAR" property="sysOrgCode" />
<result column="create_by" jdbcType="VARCHAR" property="createBy" />
<result column="create_time" jdbcType="TIMESTAMP" property="createTime" />
<result column="update_by" jdbcType="VARCHAR" property="updateBy" />
<result column="update_time" jdbcType="TIMESTAMP" property="updateTime" />
<result column="version" jdbcType="INTEGER" property="version" />
<result column="ct_company_id" jdbcType="VARCHAR" property="ctCompanyId" />
<result column="attachment_id" jdbcType="VARCHAR" property="attachmentId" />
<result column="pay_amount" jdbcType="DECIMAL" property="payAmount" />
<result column="bill_status" jdbcType="VARCHAR" property="billStatus" />
<result column="total_amount" jdbcType="DECIMAL" property="totalAmount" />
<result column="lock_amount" jdbcType="DECIMAL" property="lockAmount" />
<result column="source_no" jdbcType="VARCHAR" property="sourceNo" />
<result column="is_same_settle" jdbcType="INTEGER" property="isSameSettle" />
<result column="is_turn_sale" jdbcType="VARCHAR" property="isTurnSale" />
<result column="logistics_no" jdbcType="VARCHAR" property="logisticsNo" />
<result column="is_platform_supplier" jdbcType="INTEGER" property="isPlatformSupplier" />
<result column="sale_no" jdbcType="VARCHAR" property="saleNo" />
<result column="is_delivery" jdbcType="INTEGER" property="isDelivery" />
<result column="is_auto" jdbcType="INTEGER" property="isAuto" />
<result column="attachment" jdbcType="VARCHAR" property="attachment" />
<result column="bill_proc_status" jdbcType="VARCHAR" property="billProcStatus" />
<result column="is_ref_stk" jdbcType="INTEGER" property="isRefStk" />
</resultMap>
<sql id="Base_Column_List">
id, bill_no, stock_io_type, is_rubric, bill_date, source_type, source_id, clerk_id,
handler_id, has_rp, supplier_id, customer_id, remark, approver_id, flow_id, is_approved,
effective_time, is_voided, is_closed, sys_org_code, create_by, create_time, update_by,
update_time, version, ct_company_id, attachment_id, pay_amount, bill_status, total_amount,
lock_amount, source_no, is_same_settle, is_turn_sale, logistics_no, is_platform_supplier,
sale_no, is_delivery, is_auto, attachment, bill_proc_status, is_ref_stk
</sql>
<select id="selectByPrimaryKey" parameterType="java.lang.String" resultMap="BaseResultMap">
select
<include refid="Base_Column_List" />
from stk_io_bill
where id = #{id,jdbcType=VARCHAR}
</select>
<delete id="deleteByPrimaryKey" parameterType="java.lang.String">
delete from stk_io_bill
where id = #{id,jdbcType=VARCHAR}
</delete>
<insert id="insert" parameterType="com.base.springcloud.entity.SaleBill">
insert into stk_io_bill (id, bill_no, stock_io_type,
is_rubric, bill_date, source_type,
source_id, clerk_id, handler_id,
has_rp, supplier_id, customer_id,
remark, approver_id, flow_id,
is_approved, effective_time, is_voided,
is_closed, sys_org_code, create_by,
create_time, update_by, update_time,
version, ct_company_id, attachment_id,
pay_amount, bill_status, total_amount,
lock_amount, source_no, is_same_settle,
is_turn_sale, logistics_no, is_platform_supplier,
sale_no, is_delivery, is_auto,
attachment, bill_proc_status, is_ref_stk
)
values (#{id,jdbcType=VARCHAR}, #{billNo,jdbcType=VARCHAR}, #{stockIoType,jdbcType=VARCHAR},
#{isRubric,jdbcType=VARCHAR}, #{billDate,jdbcType=TIMESTAMP}, #{sourceType,jdbcType=VARCHAR},
#{sourceId,jdbcType=VARCHAR}, #{clerkId,jdbcType=VARCHAR}, #{handlerId,jdbcType=VARCHAR},
#{hasRp,jdbcType=INTEGER}, #{supplierId,jdbcType=VARCHAR}, #{customerId,jdbcType=VARCHAR},
#{remark,jdbcType=VARCHAR}, #{approverId,jdbcType=VARCHAR}, #{flowId,jdbcType=VARCHAR},
#{isApproved,jdbcType=INTEGER}, #{effectiveTime,jdbcType=TIMESTAMP}, #{isVoided,jdbcType=INTEGER},
#{isClosed,jdbcType=INTEGER}, #{sysOrgCode,jdbcType=VARCHAR}, #{createBy,jdbcType=VARCHAR},
#{createTime,jdbcType=TIMESTAMP}, #{updateBy,jdbcType=VARCHAR}, #{updateTime,jdbcType=TIMESTAMP},
#{version,jdbcType=INTEGER}, #{ctCompanyId,jdbcType=VARCHAR}, #{attachmentId,jdbcType=VARCHAR},
#{payAmount,jdbcType=DECIMAL}, #{billStatus,jdbcType=VARCHAR}, #{totalAmount,jdbcType=DECIMAL},
#{lockAmount,jdbcType=DECIMAL}, #{sourceNo,jdbcType=VARCHAR}, #{isSameSettle,jdbcType=INTEGER},
#{isTurnSale,jdbcType=VARCHAR}, #{logisticsNo,jdbcType=VARCHAR}, #{isPlatformSupplier,jdbcType=INTEGER},
#{saleNo,jdbcType=VARCHAR}, #{isDelivery,jdbcType=INTEGER}, #{isAuto,jdbcType=INTEGER},
#{attachment,jdbcType=VARCHAR}, #{billProcStatus,jdbcType=VARCHAR}, #{isRefStk,jdbcType=INTEGER}
)
</insert>
<insert id="insertSelective" parameterType="com.base.springcloud.entity.SaleBill">
insert into stk_io_bill
<trim prefix="(" suffix=")" suffixOverrides=",">
<if test="id != null">
id,
</if>
<if test="billNo != null">
bill_no,
</if>
<if test="stockIoType != null">
stock_io_type,
</if>
<if test="isRubric != null">
is_rubric,
</if>
<if test="billDate != null">
bill_date,
</if>
<if test="sourceType != null">
source_type,
</if>
<if test="sourceId != null">
source_id,
</if>
<if test="clerkId != null">
clerk_id,
</if>
<if test="handlerId != null">
handler_id,
</if>
<if test="hasRp != null">
has_rp,
</if>
<if test="supplierId != null">
supplier_id,
</if>
<if test="customerId != null">
customer_id,
</if>
<if test="remark != null">
remark,
</if>
<if test="approverId != null">
approver_id,
</if>
<if test="flowId != null">
flow_id,
</if>
<if test="isApproved != null">
is_approved,
</if>
<if test="effectiveTime != null">
effective_time,
</if>
<if test="isVoided != null">
is_voided,
</if>
<if test="isClosed != null">
is_closed,
</if>
<if test="sysOrgCode != null">
sys_org_code,
</if>
<if test="createBy != null">
create_by,
</if>
<if test="createTime != null">
create_time,
</if>
<if test="updateBy != null">
update_by,
</if>
<if test="updateTime != null">
update_time,
</if>
<if test="version != null">
version,
</if>
<if test="ctCompanyId != null">
ct_company_id,
</if>
<if test="attachmentId != null">
attachment_id,
</if>
<if test="payAmount != null">
pay_amount,
</if>
<if test="billStatus != null">
bill_status,
</if>
<if test="totalAmount != null">
total_amount,
</if>
<if test="lockAmount != null">
lock_amount,
</if>
<if test="sourceNo != null">
source_no,
</if>
<if test="isSameSettle != null">
is_same_settle,
</if>
<if test="isTurnSale != null">
is_turn_sale,
</if>
<if test="logisticsNo != null">
logistics_no,
</if>
<if test="isPlatformSupplier != null">
is_platform_supplier,
</if>
<if test="saleNo != null">
sale_no,
</if>
<if test="isDelivery != null">
is_delivery,
</if>
<if test="isAuto != null">
is_auto,
</if>
<if test="attachment != null">
attachment,
</if>
<if test="billProcStatus != null">
bill_proc_status,
</if>
<if test="isRefStk != null">
is_ref_stk,
</if>
</trim>
<trim prefix="values (" suffix=")" suffixOverrides=",">
<if test="id != null">
#{id,jdbcType=VARCHAR},
</if>
<if test="billNo != null">
#{billNo,jdbcType=VARCHAR},
</if>
<if test="stockIoType != null">
#{stockIoType,jdbcType=VARCHAR},
</if>
<if test="isRubric != null">
#{isRubric,jdbcType=VARCHAR},
</if>
<if test="billDate != null">
#{billDate,jdbcType=TIMESTAMP},
</if>
<if test="sourceType != null">
#{sourceType,jdbcType=VARCHAR},
</if>
<if test="sourceId != null">
#{sourceId,jdbcType=VARCHAR},
</if>
<if test="clerkId != null">
#{clerkId,jdbcType=VARCHAR},
</if>
<if test="handlerId != null">
#{handlerId,jdbcType=VARCHAR},
</if>
<if test="hasRp != null">
#{hasRp,jdbcType=INTEGER},
</if>
<if test="supplierId != null">
#{supplierId,jdbcType=VARCHAR},
</if>
<if test="customerId != null">
#{customerId,jdbcType=VARCHAR},
</if>
<if test="remark != null">
#{remark,jdbcType=VARCHAR},
</if>
<if test="approverId != null">
#{approverId,jdbcType=VARCHAR},
</if>
<if test="flowId != null">
#{flowId,jdbcType=VARCHAR},
</if>
<if test="isApproved != null">
#{isApproved,jdbcType=INTEGER},
</if>
<if test="effectiveTime != null">
#{effectiveTime,jdbcType=TIMESTAMP},
</if>
<if test="isVoided != null">
#{isVoided,jdbcType=INTEGER},
</if>
<if test="isClosed != null">
#{isClosed,jdbcType=INTEGER},
</if>
<if test="sysOrgCode != null">
#{sysOrgCode,jdbcType=VARCHAR},
</if>
<if test="createBy != null">
#{createBy,jdbcType=VARCHAR},
</if>
<if test="createTime != null">
#{createTime,jdbcType=TIMESTAMP},
</if>
<if test="updateBy != null">
#{updateBy,jdbcType=VARCHAR},
</if>
<if test="updateTime != null">
#{updateTime,jdbcType=TIMESTAMP},
</if>
<if test="version != null">
#{version,jdbcType=INTEGER},
</if>
<if test="ctCompanyId != null">
#{ctCompanyId,jdbcType=VARCHAR},
</if>
<if test="attachmentId != null">
#{attachmentId,jdbcType=VARCHAR},
</if>
<if test="payAmount != null">
#{payAmount,jdbcType=DECIMAL},
</if>
<if test="billStatus != null">
#{billStatus,jdbcType=VARCHAR},
</if>
<if test="totalAmount != null">
#{totalAmount,jdbcType=DECIMAL},
</if>
<if test="lockAmount != null">
#{lockAmount,jdbcType=DECIMAL},
</if>
<if test="sourceNo != null">
#{sourceNo,jdbcType=VARCHAR},
</if>
<if test="isSameSettle != null">
#{isSameSettle,jdbcType=INTEGER},
</if>
<if test="isTurnSale != null">
#{isTurnSale,jdbcType=VARCHAR},
</if>
<if test="logisticsNo != null">
#{logisticsNo,jdbcType=VARCHAR},
</if>
<if test="isPlatformSupplier != null">
#{isPlatformSupplier,jdbcType=INTEGER},
</if>
<if test="saleNo != null">
#{saleNo,jdbcType=VARCHAR},
</if>
<if test="isDelivery != null">
#{isDelivery,jdbcType=INTEGER},
</if>
<if test="isAuto != null">
#{isAuto,jdbcType=INTEGER},
</if>
<if test="attachment != null">
#{attachment,jdbcType=VARCHAR},
</if>
<if test="billProcStatus != null">
#{billProcStatus,jdbcType=VARCHAR},
</if>
<if test="isRefStk != null">
#{isRefStk,jdbcType=INTEGER},
</if>
</trim>
</insert>
<update id="updateByPrimaryKeySelective" parameterType="com.base.springcloud.entity.SaleBill">
update stk_io_bill
<set>
<if test="billNo != null">
bill_no = #{billNo,jdbcType=VARCHAR},
</if>
<if test="stockIoType != null">
stock_io_type = #{stockIoType,jdbcType=VARCHAR},
</if>
<if test="isRubric != null">
is_rubric = #{isRubric,jdbcType=VARCHAR},
</if>
<if test="billDate != null">
bill_date = #{billDate,jdbcType=TIMESTAMP},
</if>
<if test="sourceType != null">
source_type = #{sourceType,jdbcType=VARCHAR},
</if>
<if test="sourceId != null">
source_id = #{sourceId,jdbcType=VARCHAR},
</if>
<if test="clerkId != null">
clerk_id = #{clerkId,jdbcType=VARCHAR},
</if>
<if test="handlerId != null">
handler_id = #{handlerId,jdbcType=VARCHAR},
</if>
<if test="hasRp != null">
has_rp = #{hasRp,jdbcType=INTEGER},
</if>
<if test="supplierId != null">
supplier_id = #{supplierId,jdbcType=VARCHAR},
</if>
<if test="customerId != null">
customer_id = #{customerId,jdbcType=VARCHAR},
</if>
<if test="remark != null">
remark = #{remark,jdbcType=VARCHAR},
</if>
<if test="approverId != null">
approver_id = #{approverId,jdbcType=VARCHAR},
</if>
<if test="flowId != null">
flow_id = #{flowId,jdbcType=VARCHAR},
</if>
<if test="isApproved != null">
is_approved = #{isApproved,jdbcType=INTEGER},
</if>
<if test="effectiveTime != null">
effective_time = #{effectiveTime,jdbcType=TIMESTAMP},
</if>
<if test="isVoided != null">
is_voided = #{isVoided,jdbcType=INTEGER},
</if>
<if test="isClosed != null">
is_closed = #{isClosed,jdbcType=INTEGER},
</if>
<if test="sysOrgCode != null">
sys_org_code = #{sysOrgCode,jdbcType=VARCHAR},
</if>
<if test="createBy != null">
create_by = #{createBy,jdbcType=VARCHAR},
</if>
<if test="createTime != null">
create_time = #{createTime,jdbcType=TIMESTAMP},
</if>
<if test="updateBy != null">
update_by = #{updateBy,jdbcType=VARCHAR},
</if>
<if test="updateTime != null">
update_time = #{updateTime,jdbcType=TIMESTAMP},
</if>
<if test="version != null">
version = #{version,jdbcType=INTEGER},
</if>
<if test="ctCompanyId != null">
ct_company_id = #{ctCompanyId,jdbcType=VARCHAR},
</if>
<if test="attachmentId != null">
attachment_id = #{attachmentId,jdbcType=VARCHAR},
</if>
<if test="payAmount != null">
pay_amount = #{payAmount,jdbcType=DECIMAL},
</if>
<if test="billStatus != null">
bill_status = #{billStatus,jdbcType=VARCHAR},
</if>
<if test="totalAmount != null">
total_amount = #{totalAmount,jdbcType=DECIMAL},
</if>
<if test="lockAmount != null">
lock_amount = #{lockAmount,jdbcType=DECIMAL},
</if>
<if test="sourceNo != null">
source_no = #{sourceNo,jdbcType=VARCHAR},
</if>
<if test="isSameSettle != null">
is_same_settle = #{isSameSettle,jdbcType=INTEGER},
</if>
<if test="isTurnSale != null">
is_turn_sale = #{isTurnSale,jdbcType=VARCHAR},
</if>
<if test="logisticsNo != null">
logistics_no = #{logisticsNo,jdbcType=VARCHAR},
</if>
<if test="isPlatformSupplier != null">
is_platform_supplier = #{isPlatformSupplier,jdbcType=INTEGER},
</if>
<if test="saleNo != null">
sale_no = #{saleNo,jdbcType=VARCHAR},
</if>
<if test="isDelivery != null">
is_delivery = #{isDelivery,jdbcType=INTEGER},
</if>
<if test="isAuto != null">
is_auto = #{isAuto,jdbcType=INTEGER},
</if>
<if test="attachment != null">
attachment = #{attachment,jdbcType=VARCHAR},
</if>
<if test="billProcStatus != null">
bill_proc_status = #{billProcStatus,jdbcType=VARCHAR},
</if>
<if test="isRefStk != null">
is_ref_stk = #{isRefStk,jdbcType=INTEGER},
</if>
</set>
where id = #{id,jdbcType=VARCHAR}
</update>
<update id="updateByPrimaryKey" parameterType="com.base.springcloud.entity.SaleBill">
update stk_io_bill
set bill_no = #{billNo,jdbcType=VARCHAR},
stock_io_type = #{stockIoType,jdbcType=VARCHAR},
is_rubric = #{isRubric,jdbcType=VARCHAR},
bill_date = #{billDate,jdbcType=TIMESTAMP},
source_type = #{sourceType,jdbcType=VARCHAR},
source_id = #{sourceId,jdbcType=VARCHAR},
clerk_id = #{clerkId,jdbcType=VARCHAR},
handler_id = #{handlerId,jdbcType=VARCHAR},
has_rp = #{hasRp,jdbcType=INTEGER},
supplier_id = #{supplierId,jdbcType=VARCHAR},
customer_id = #{customerId,jdbcType=VARCHAR},
remark = #{remark,jdbcType=VARCHAR},
approver_id = #{approverId,jdbcType=VARCHAR},
flow_id = #{flowId,jdbcType=VARCHAR},
is_approved = #{isApproved,jdbcType=INTEGER},
effective_time = #{effectiveTime,jdbcType=TIMESTAMP},
is_voided = #{isVoided,jdbcType=INTEGER},
is_closed = #{isClosed,jdbcType=INTEGER},
sys_org_code = #{sysOrgCode,jdbcType=VARCHAR},
create_by = #{createBy,jdbcType=VARCHAR},
create_time = #{createTime,jdbcType=TIMESTAMP},
update_by = #{updateBy,jdbcType=VARCHAR},
update_time = #{updateTime,jdbcType=TIMESTAMP},
version = #{version,jdbcType=INTEGER},
ct_company_id = #{ctCompanyId,jdbcType=VARCHAR},
attachment_id = #{attachmentId,jdbcType=VARCHAR},
pay_amount = #{payAmount,jdbcType=DECIMAL},
bill_status = #{billStatus,jdbcType=VARCHAR},
total_amount = #{totalAmount,jdbcType=DECIMAL},
lock_amount = #{lockAmount,jdbcType=DECIMAL},
source_no = #{sourceNo,jdbcType=VARCHAR},
is_same_settle = #{isSameSettle,jdbcType=INTEGER},
is_turn_sale = #{isTurnSale,jdbcType=VARCHAR},
logistics_no = #{logisticsNo,jdbcType=VARCHAR},
is_platform_supplier = #{isPlatformSupplier,jdbcType=INTEGER},
sale_no = #{saleNo,jdbcType=VARCHAR},
is_delivery = #{isDelivery,jdbcType=INTEGER},
is_auto = #{isAuto,jdbcType=INTEGER},
attachment = #{attachment,jdbcType=VARCHAR},
bill_proc_status = #{billProcStatus,jdbcType=VARCHAR},
is_ref_stk = #{isRefStk,jdbcType=INTEGER}
where id = #{id,jdbcType=VARCHAR}
</update>
<!-- 销售单据查询 -->
<select id="queryBillInfo" parameterType="com.base.springcloud.entity.SaleBill" resultMap="BaseResultMap">
select
<include refid="Base_Column_List" />
from stk_io_bill
where bill_no = #{billNo,jdbcType=VARCHAR}
</select>
</mapper>

69
payment-base-app/src/main/resources/generatorConfig.xml

@ -60,40 +60,55 @@
<!-- tableName为对应的数据库表 --> <!-- tableName为对应的数据库表 -->
<!-- domainObjectName是要生成的实体类 --> <!-- domainObjectName是要生成的实体类 -->
<!-- enable*ByExample是否生成 example类 --> <!-- enable*ByExample是否生成 example类 -->
<table tableName="pay_merchant" domainObjectName="Merchant" <table tableName="stk_io_bill" domainObjectName="SaleBill"
enableCountByExample="false" enableDeleteByExample="false"
enableSelectByExample="false" enableUpdateByExample="false">
<!-- 忽略列,不生成bean 字段 -->
<!-- <ignoreColumn column="FRED" /> -->
<!-- 指定列的java数据类型 -->
<columnOverride column="merchant_id" property="merchantId" jdbcType="VARCHAR" />
<columnOverride column="merchant_name" property="merchantName" jdbcType="VARCHAR" />
<columnOverride column="city_store_name" property="cityStoreName" jdbcType="VARCHAR" />
<columnOverride column="store_brand_name" property="storeBrandName" jdbcType="VARCHAR" />
<columnOverride column="sign_type" property="signType" jdbcType="VARCHAR" />
<columnOverride column="private_key" property="privateKey" jdbcType="VARCHAR" />
<columnOverride column="device_info" property="deviceInfo" jdbcType="VARCHAR" />
<columnOverride column="spbill_create_ip" property="spbillCreateIp" jdbcType="VARCHAR" />
<columnOverride column="notify_url" property="notifyUrl" jdbcType="VARCHAR" />
<!--<columnOverride column="time_stamp" property="timeStamp" jdbcType="TIMESTAMP" /> -->
</table>
<table tableName="pay_order" domainObjectName="Order"
enableCountByExample="false" enableDeleteByExample="false" enableCountByExample="false" enableDeleteByExample="false"
enableSelectByExample="false" enableUpdateByExample="false"> enableSelectByExample="false" enableUpdateByExample="false">
<!-- 忽略列,不生成bean 字段 --> <!-- 忽略列,不生成bean 字段 -->
<!-- <ignoreColumn column="FRED" /> --> <!-- <ignoreColumn column="FRED" /> -->
<!-- 指定列的java数据类型 --> <!-- 指定列的java数据类型 -->
<columnOverride column="id" property="id" jdbcType="VARCHAR" /> <columnOverride column="id" property="id" jdbcType="VARCHAR" />
<columnOverride column="order_no" property="orderNo" jdbcType="VARCHAR" /> <columnOverride column="bill_no" property="billNo" jdbcType="VARCHAR" />
<columnOverride column="api_key" property="appKey" jdbcType="VARCHAR" />
<columnOverride column="stock_io_type" property="stockIoType" jdbcType="VARCHAR" />
<columnOverride column="is_rubric" property="isRubric" jdbcType="VARCHAR" />
<columnOverride column="bill_date" property="billDate" jdbcType="TIMESTAMP" />
<columnOverride column="source_id" property="sourceId" jdbcType="VARCHAR" />
<columnOverride column="source_type" property="sourceType" jdbcType="VARCHAR" />
<columnOverride column="clerk_id" property="clerkId" jdbcType="VARCHAR" />
<columnOverride column="handler_id" property="handlerId" jdbcType="VARCHAR" />
<columnOverride column="has_rp" property="hasRp" jdbcType="INTEGER" />
<columnOverride column="supplier_id" property="supplierId" jdbcType="VARCHAR" />
<columnOverride column="customer_id" property="customerId" jdbcType="VARCHAR" />
<columnOverride column="remark" property="remark" jdbcType="VARCHAR" />
<columnOverride column="approver_id" property="approverId" jdbcType="VARCHAR" />
<columnOverride column="flow_id" property="flowId" jdbcType="VARCHAR" />
<columnOverride column="is_approved" property="isApproved" jdbcType="INTEGER" />
<columnOverride column="effective_time" property="effectiveTime" jdbcType="TIMESTAMP" />
<columnOverride column="is_voided" property="isVoided" jdbcType="INTEGER" />
<columnOverride column="is_closed" property="isClosed" jdbcType="INTEGER" />
<columnOverride column="sys_org_code" property="sysOrgCode" jdbcType="VARCHAR" />
<columnOverride column="create_by" property="createBy" jdbcType="VARCHAR" />
<columnOverride column="create_time" property="createTime" jdbcType="TIMESTAMP" /> <columnOverride column="create_time" property="createTime" jdbcType="TIMESTAMP" />
<columnOverride column="expire_time" property="expireTime" jdbcType="TIMESTAMP" /> <columnOverride column="update_by" property="updateBy" jdbcType="VARCHAR" />
<columnOverride column="request_no" property="requestNo" jdbcType="VARCHAR" /> <columnOverride column="update_time" property="updateTime" jdbcType="TIMESTAMP" />
<columnOverride column="order_amount" property="orderAmount" jdbcType="VARCHAR" /> <columnOverride column="version" property="version" jdbcType="INTEGER" />
<columnOverride column="good_name" property="goodName" jdbcType="VARCHAR" /> <columnOverride column="ct_company_id" property="ctCompanyId" jdbcType="VARCHAR" />
<columnOverride column="good_id" property="goodId" jdbcType="VARCHAR" /> <columnOverride column="attachment_id" property="attachmentId" jdbcType="VARCHAR" />
<columnOverride column="order_type" property="orderType" jdbcType="VARCHAR" /> <columnOverride column="pay_amount" property="payAmount" jdbcType="DECIMAL" />
<columnOverride column="reserved" property="reserved" jdbcType="VARCHAR" /> <columnOverride column="billStatus" property="billStatus" jdbcType="VARCHAR" />
<!--<columnOverride column="time_stamp" property="timeStamp" jdbcType="TIMESTAMP" /> --> <columnOverride column="totalAmount" property="totalAmount" jdbcType="DECIMAL" />
<columnOverride column="lock_amount" property="lockAmount" jdbcType="DECIMAL" />
<columnOverride column="source_no" property="sourceNo" jdbcType="VARCHAR" />
<columnOverride column="is_same_settle" property="isSameSettle" jdbcType="INTEGER" />
<columnOverride column="is_turn_sale" property="isTurnSale" jdbcType="VARCHAR" />
<columnOverride column="logistics_no" property="logisticsNo" jdbcType="VARCHAR" />
<columnOverride column="is_platform_supplier" property="isPlatformSupplier" jdbcType="INTEGER" />
<columnOverride column="sale_no" property="saleNo" jdbcType="VARCHAR" />
<columnOverride column="is_delivery" property="isDelivery" jdbcType="INTEGER" />
<columnOverride column="is_auto" property="isAuto" jdbcType="INTEGER" />
<columnOverride column="attachment" property="attachment" jdbcType="VARCHAR" />
<columnOverride column="bill_proc_status" property="billProcStatus" jdbcType="VARCHAR" />
<columnOverride column="is_ref_stk" property="isRefStk" jdbcType="INTEGER" />
</table> </table>
</context> </context>
</generatorConfiguration> </generatorConfiguration>
Loading…
Cancel
Save