diff --git a/payment-base-app/payment-base-app.iml b/payment-base-app/payment-base-app.iml index b52b875..5a17eb0 100644 --- a/payment-base-app/payment-base-app.iml +++ b/payment-base-app/payment-base-app.iml @@ -44,6 +44,7 @@ + @@ -64,6 +65,7 @@ + @@ -113,14 +115,12 @@ + - - - @@ -132,31 +132,6 @@ - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/payment-base-app/pom.xml b/payment-base-app/pom.xml index 633edb4..6ed0cab 100644 --- a/payment-base-app/pom.xml +++ b/payment-base-app/pom.xml @@ -102,10 +102,6 @@ --> - - org.springframework.data - spring-data-redis - org.springframework.boot spring-boot-starter-data-redis @@ -125,25 +121,6 @@ org.springframework.boot spring-boot-starter-web - - org.springframework.cloud - spring-cloud-starter-feign - 1.4.7.RELEASE - - - org.springframework.cloud - spring-cloud-starter-openfeign - - - io.github.openfeign.form - feign-form-spring - 3.2.2 - - - io.github.openfeign.form - feign-form - 3.2.2 - org.apache.httpcomponents diff --git a/payment-base-app/src/main/java/com/base/springcloud/aspect/config/RedisConfig.java b/payment-base-app/src/main/java/com/base/springcloud/aspect/config/RedisConfig.java new file mode 100644 index 0000000..3a56a33 --- /dev/null +++ b/payment-base-app/src/main/java/com/base/springcloud/aspect/config/RedisConfig.java @@ -0,0 +1,51 @@ +package com.base.springcloud.aspect.config; + +import com.fasterxml.jackson.annotation.JsonAutoDetect.Visibility; +import com.fasterxml.jackson.annotation.PropertyAccessor; +import com.fasterxml.jackson.databind.ObjectMapper; +import com.fasterxml.jackson.databind.ObjectMapper.DefaultTyping; +import org.springframework.cache.annotation.CachingConfigurerSupport; +import org.springframework.cache.annotation.EnableCaching; +import org.springframework.context.annotation.Bean; +import org.springframework.context.annotation.Configuration; +import org.springframework.data.redis.connection.lettuce.LettuceConnectionFactory; +import org.springframework.data.redis.core.RedisTemplate; +import org.springframework.data.redis.serializer.Jackson2JsonRedisSerializer; +import org.springframework.data.redis.serializer.RedisSerializer; +import org.springframework.data.redis.serializer.StringRedisSerializer; + +import javax.annotation.Resource; + +@Configuration +@EnableCaching // 开启缓存支持 +public class RedisConfig extends CachingConfigurerSupport { + + @Resource + private LettuceConnectionFactory lettuceConnectionFactory; + + /** + * RedisTemplate配置 + * + * @param lettuceConnectionFactory + * @return + */ + @Bean + public RedisTemplate redisTemplate(LettuceConnectionFactory lettuceConnectionFactory) { + // 设置序列化 + Jackson2JsonRedisSerializer jackson2JsonRedisSerializer = new Jackson2JsonRedisSerializer(Object.class); + ObjectMapper om = new ObjectMapper(); + om.setVisibility(PropertyAccessor.ALL, Visibility.ANY); + om.enableDefaultTyping(DefaultTyping.NON_FINAL); + jackson2JsonRedisSerializer.setObjectMapper(om); + // 配置redisTemplate + RedisTemplate redisTemplate = new RedisTemplate(); + redisTemplate.setConnectionFactory(lettuceConnectionFactory); + RedisSerializer stringSerializer = new StringRedisSerializer(); + redisTemplate.setKeySerializer(stringSerializer);// key序列化 + redisTemplate.setValueSerializer(jackson2JsonRedisSerializer);// value序列化 + redisTemplate.setHashKeySerializer(stringSerializer);// Hash key序列化 + redisTemplate.setHashValueSerializer(jackson2JsonRedisSerializer);// Hash value序列化 + redisTemplate.afterPropertiesSet(); + return redisTemplate; + } +} diff --git a/payment-base-app/src/main/java/com/base/springcloud/bo/OrderBO.java b/payment-base-app/src/main/java/com/base/springcloud/bo/OrderBO.java index 76dafaf..4fc7232 100644 --- a/payment-base-app/src/main/java/com/base/springcloud/bo/OrderBO.java +++ b/payment-base-app/src/main/java/com/base/springcloud/bo/OrderBO.java @@ -12,17 +12,26 @@ import java.util.List; @Data public class OrderBO extends MchConfigEntity implements Serializable { + // 创建人ID + private String createId; + // 是否合并销售单据标志 private Boolean mergeFlag; // 销售单据号:可用逗号分隔 private String billIds; + // 销售单据编号List + private List billIdList; + + // 子销售单据编号List + private List childIdList; + // 订单金额 private BigDecimal amount; // 销售单 - private SaleBill saleBill; + private List saleBillList; // 支付订单 private Order order; diff --git a/payment-base-app/src/main/java/com/base/springcloud/client/PaymentClient.java b/payment-base-app/src/main/java/com/base/springcloud/client/PaymentClient.java index f8df011..42e8a4e 100644 --- a/payment-base-app/src/main/java/com/base/springcloud/client/PaymentClient.java +++ b/payment-base-app/src/main/java/com/base/springcloud/client/PaymentClient.java @@ -2,13 +2,11 @@ package com.base.springcloud.client; import com.base.springcloud.base.CommonResult; import com.base.springcloud.dto.MerchantConfigReqDTO; -import org.springframework.cloud.openfeign.FeignClient; import org.springframework.web.bind.annotation.PostMapping; import org.springframework.web.bind.annotation.RequestBody; -@FeignClient(value = "payment-service-client") public interface PaymentClient { - @PostMapping(value = "/merchant/merchantConfig") - CommonResult paymentConfigure(@RequestBody MerchantConfigReqDTO merchantConfigDTO); + /*@PostMapping(value = "/merchant/merchantConfig") + CommonResult paymentConfigure(@RequestBody MerchantConfigReqDTO merchantConfigDTO);*/ } \ No newline at end of file diff --git a/payment-base-app/src/main/java/com/base/springcloud/constant/ErrorConstant.java b/payment-base-app/src/main/java/com/base/springcloud/constant/ErrorConstant.java index 37fa6a0..aa674df 100644 --- a/payment-base-app/src/main/java/com/base/springcloud/constant/ErrorConstant.java +++ b/payment-base-app/src/main/java/com/base/springcloud/constant/ErrorConstant.java @@ -16,7 +16,8 @@ public enum ErrorConstant { MERCHANT_CONFIGURE_FAIL("RBS00011","商户支付信息配置失败!"), USER_DEPART_RELATION_NEED("RBS00012","请用户先关联部门信息!"), SAVE_PAY_DEPART_CONFIG_FAIL("RBS00013","添加部门商户支付配置信息失败!"), - SALE_BILL__INVALID("RBS00014","无有效销售单据!"); + SALE_BILL__INVALID("RBS00014","无有效销售单据!"), + MERCHANT_PAY_CERT_READ_FAIL("RBS00015","支付证书读取失败!"); private String code; private String message; diff --git a/payment-base-app/src/main/java/com/base/springcloud/controller/PaymentController.java b/payment-base-app/src/main/java/com/base/springcloud/controller/PaymentController.java index 96cb01c..ef0aca1 100644 --- a/payment-base-app/src/main/java/com/base/springcloud/controller/PaymentController.java +++ b/payment-base-app/src/main/java/com/base/springcloud/controller/PaymentController.java @@ -18,6 +18,7 @@ import org.springframework.web.bind.annotation.RequestMapping; import org.springframework.web.bind.annotation.RequestParam; import org.springframework.web.bind.annotation.RestController; +import javax.servlet.http.HttpServletRequest; import java.util.List; @RestController @@ -38,8 +39,9 @@ public class PaymentController { @ApiOperation(value = "native下单", notes = "微信native下单") @LoginRequired(department=true) @GetMapping("/nativePlaceOrder") - public ReportResult nativePlaceOrder(@RequestParam String salesBillId) { - OrderBO orderBO = parameterUtil.nativePlaceOrderBefore(salesBillId); + public ReportResult nativePlaceOrder(@RequestParam String salesBillId, HttpServletRequest request) { + String createId = (String)request.getAttribute("createId"); + OrderBO orderBO = parameterUtil.nativePlaceOrderBefore(salesBillId,createId); String codeUrl = paymentService.placeOrder(orderBO); return new ReportResult(parameterUtil.nativePlaceOrderAfter(codeUrl)); } @@ -47,8 +49,9 @@ public class PaymentController { @ApiOperation(value = "销售单合并native下单", notes = "销售单合并native下单") @LoginRequired(department=true) @GetMapping("/mergeNative") - public ReportResult mergeNative(@RequestParam String billIds) { - OrderBO orderBO = parameterUtil.mergeNativeBefore(billIds); + public ReportResult mergeNative(@RequestParam String billIds,HttpServletRequest request) { + String createId = (String)request.getAttribute("createId"); + OrderBO orderBO = parameterUtil.mergeNativeBefore(billIds,createId); String codeUrl = paymentService.placeOrder(orderBO); return new ReportResult(parameterUtil.mergeNativeAfter(codeUrl)); } diff --git a/payment-base-app/src/main/java/com/base/springcloud/dao/OrderBillMapper.java b/payment-base-app/src/main/java/com/base/springcloud/dao/OrderBillMapper.java new file mode 100644 index 0000000..822bf12 --- /dev/null +++ b/payment-base-app/src/main/java/com/base/springcloud/dao/OrderBillMapper.java @@ -0,0 +1,19 @@ +package com.base.springcloud.dao; + +import com.base.springcloud.entity.OrderBill; +import org.springframework.stereotype.Repository; + +@Repository +public interface OrderBillMapper { + int deleteByPrimaryKey(String id); + + int insert(OrderBill record); + + int insertSelective(OrderBill record); + + OrderBill selectByPrimaryKey(String id); + + int updateByPrimaryKeySelective(OrderBill record); + + int updateByPrimaryKey(OrderBill record); +} \ No newline at end of file diff --git a/payment-base-app/src/main/java/com/base/springcloud/dao/SaleBillMapper.java b/payment-base-app/src/main/java/com/base/springcloud/dao/SaleBillMapper.java index 7eb66c0..ccd9726 100644 --- a/payment-base-app/src/main/java/com/base/springcloud/dao/SaleBillMapper.java +++ b/payment-base-app/src/main/java/com/base/springcloud/dao/SaleBillMapper.java @@ -4,7 +4,6 @@ import com.base.springcloud.entity.SaleBill; import org.apache.ibatis.annotations.Param; import org.springframework.stereotype.Repository; -import java.math.BigDecimal; import java.util.List; @Repository @@ -27,5 +26,8 @@ public interface SaleBillMapper { int writeOffBill(SaleBill bill); // 合并销售单据金额 - List mergeBillAmount(@Param("ids") String[] billIdArray); + List mergeBill(@Param("ids") String[] billIdArray); + + // 获取子销售单据 + List childBill(@Param("ids") List billIdList); } \ No newline at end of file diff --git a/payment-base-app/src/main/java/com/base/springcloud/entity/MerchantConfig.java b/payment-base-app/src/main/java/com/base/springcloud/entity/MerchantConfig.java index eb1b6f8..d6bfff7 100644 --- a/payment-base-app/src/main/java/com/base/springcloud/entity/MerchantConfig.java +++ b/payment-base-app/src/main/java/com/base/springcloud/entity/MerchantConfig.java @@ -46,7 +46,7 @@ public class MerchantConfig extends BaseEntity { private String createId; /** - * 创建部门ID + * 创建公司ID */ private String createCompanyId; diff --git a/payment-base-app/src/main/java/com/base/springcloud/entity/OrderBill.java b/payment-base-app/src/main/java/com/base/springcloud/entity/OrderBill.java new file mode 100644 index 0000000..0b207ad --- /dev/null +++ b/payment-base-app/src/main/java/com/base/springcloud/entity/OrderBill.java @@ -0,0 +1,21 @@ +package com.base.springcloud.entity; + +import lombok.Data; + +import java.util.Date; + +@Data +public class OrderBill { + + private String id; + + private String orderId; + + private String billId; + + private String soureBillId; + + private String createId; + + private Date createTime; +} \ No newline at end of file diff --git a/payment-base-app/src/main/java/com/base/springcloud/service/BillService.java b/payment-base-app/src/main/java/com/base/springcloud/service/BillService.java index 810a0b7..d337a10 100644 --- a/payment-base-app/src/main/java/com/base/springcloud/service/BillService.java +++ b/payment-base-app/src/main/java/com/base/springcloud/service/BillService.java @@ -26,4 +26,10 @@ public interface BillService { * @param orderBO */ void mergeBillAmount(OrderBO orderBO); + + /** + * 获取子销售单据 + * @param orderBO + */ + void childBill(OrderBO orderBO,Boolean rootFlag); } diff --git a/payment-base-app/src/main/java/com/base/springcloud/service/OrderBillService.java b/payment-base-app/src/main/java/com/base/springcloud/service/OrderBillService.java new file mode 100644 index 0000000..5882f3f --- /dev/null +++ b/payment-base-app/src/main/java/com/base/springcloud/service/OrderBillService.java @@ -0,0 +1,13 @@ +package com.base.springcloud.service; + +import com.base.springcloud.bo.OrderBO; + +public interface OrderBillService { + + + /** + * 登记销售单据和订单关联 + * @param orderBO + */ + void registerOrderBill(OrderBO orderBO); +} diff --git a/payment-base-app/src/main/java/com/base/springcloud/service/imp/BillServiceImp.java b/payment-base-app/src/main/java/com/base/springcloud/service/imp/BillServiceImp.java index 19e4eb4..63375cc 100644 --- a/payment-base-app/src/main/java/com/base/springcloud/service/imp/BillServiceImp.java +++ b/payment-base-app/src/main/java/com/base/springcloud/service/imp/BillServiceImp.java @@ -14,6 +14,7 @@ import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; import java.math.BigDecimal; +import java.util.ArrayList; import java.util.List; import java.util.Optional; @@ -38,7 +39,9 @@ public class BillServiceImp implements BillService { throw new BusinessException(ErrorConstant.BILL_INVALID); } orderBO.setAmount(queryResult.getTotalAmount()); - orderBO.setSaleBill(queryResult); + List saleBillList = new ArrayList<>(); + saleBillList.add(queryResult); + orderBO.setSaleBillList(saleBillList); } /** @@ -67,11 +70,48 @@ public class BillServiceImp implements BillService { throw new BusinessException(ErrorConstant.NULL_OBJ); } String[] billIdArray = billIds.split(","); - List billAmountList = saleBillMapper.mergeBillAmount(billIdArray); + List billAmountList = saleBillMapper.mergeBill(billIdArray); if(!Optional.ofNullable(billAmountList).isPresent()) throw new BusinessException(ErrorConstant.SALE_BILL__INVALID); BigDecimal orderAmount = new BigDecimal(0); - billAmountList.forEach(amount-> orderAmount.add(amount)); + List billIdList = new ArrayList<>(); + billAmountList.forEach( + bill-> { + billIdList.add(bill.getId()); + orderAmount.add(bill.getTotalAmount()); + }); orderBO.setAmount(orderAmount); + orderBO.setSaleBillList(billAmountList); + orderBO.setBillIdList(billIdList); + } + + /** + * 获取子销售单据 + * @param orderBO + */ + @Override + public void childBill(OrderBO orderBO,Boolean rootFlag) { + List billIdList = orderBO.getBillIdList(); + List childBillIdList; + if(rootFlag) + childBillIdList = billIdList; + else + childBillIdList = orderBO.getChildIdList(); + BigDecimal amount = orderBO.getAmount(); + List saleBillList = saleBillMapper.childBill(childBillIdList); + // 查询结果不存在结束流程 + if(!Optional.ofNullable(saleBillList).isPresent()) return; + childBillIdList.clear(); + saleBillList.forEach(saleBill -> { + amount.add(saleBill.getTotalAmount()); + billIdList.add(saleBill.getId()); + childBillIdList.add(saleBill.getId()); + }); + // 所有的子单据编号需要存储 + orderBO.setBillIdList(billIdList); + // 重置需作为父节点查询的单据编号 + orderBO.setChildIdList(childBillIdList); + // 递归 + childBill(orderBO,false); } } diff --git a/payment-base-app/src/main/java/com/base/springcloud/service/imp/MerchantServiceImp.java b/payment-base-app/src/main/java/com/base/springcloud/service/imp/MerchantServiceImp.java index 96b8d0c..4e5da2d 100644 --- a/payment-base-app/src/main/java/com/base/springcloud/service/imp/MerchantServiceImp.java +++ b/payment-base-app/src/main/java/com/base/springcloud/service/imp/MerchantServiceImp.java @@ -18,6 +18,9 @@ import org.springframework.stereotype.Service; import org.springframework.web.multipart.MultipartFile; import java.io.*; +import java.nio.charset.StandardCharsets; +import java.nio.file.Files; +import java.nio.file.Paths; import java.util.Date; import java.util.List; import java.util.Optional; @@ -132,7 +135,8 @@ public class MerchantServiceImp implements MerchantService { } orderBO.setAppId(merchantConfig.getAppId()); orderBO.setMchPrivateKey(merchantConfig.getMchPrivateKey()); - orderBO.setCertificate(merchantConfig.getCertPath()); + String certificate = readCert(merchantConfig.getCertPath()); + orderBO.setCertificate(certificate); orderBO.setSerialNo(merchantConfig.getSerialNo()); } @@ -157,6 +161,21 @@ public class MerchantServiceImp implements MerchantService { return "文件上传失败!"; } + /** + * 文件读取 + * @throws IOException + */ + public String readCert(String certPath) { + byte[] bytes; + try{ + bytes = Files.readAllBytes(Paths.get(certPath)); + }catch (IOException e) { + throw new BusinessException(ErrorConstant.MERCHANT_PAY_CERT_READ_FAIL); + } + + return new String(bytes, StandardCharsets.UTF_8); + } + /** * 测试文件删除 * @param filePath diff --git a/payment-base-app/src/main/java/com/base/springcloud/service/imp/OrderBillServiceImp.java b/payment-base-app/src/main/java/com/base/springcloud/service/imp/OrderBillServiceImp.java new file mode 100644 index 0000000..3400967 --- /dev/null +++ b/payment-base-app/src/main/java/com/base/springcloud/service/imp/OrderBillServiceImp.java @@ -0,0 +1,46 @@ +package com.base.springcloud.service.imp; + +import com.base.springcloud.bo.OrderBO; +import com.base.springcloud.dao.OrderBillMapper; +import com.base.springcloud.entity.Order; +import com.base.springcloud.entity.OrderBill; +import com.base.springcloud.entity.SaleBill; +import com.base.springcloud.service.OrderBillService; +import org.slf4j.Logger; +import org.slf4j.LoggerFactory; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.stereotype.Service; + +import java.util.Date; +import java.util.List; +import java.util.UUID; + +@Service +public class OrderBillServiceImp implements OrderBillService { + + Logger logger = LoggerFactory.getLogger(OrderBillServiceImp.class); + + @Autowired + private OrderBillMapper orderBillMapper; + + /** + * 登记销售单据和订单关联 + * + * @param orderBO + */ + @Override + public void registerOrderBill(OrderBO orderBO) { + Order order = orderBO.getOrder(); + List saleBillList = orderBO.getSaleBillList(); + saleBillList.forEach(item -> { + OrderBill orderBill = new OrderBill(); + orderBill.setId(UUID.randomUUID().toString().replace("-", "")); + orderBill.setCreateTime(new Date()); + orderBill.setSoureBillId(item.getSourceId()); + orderBill.setBillId(item.getId()); + orderBill.setOrderId(order.getId()); + orderBillMapper.insert(orderBill); + }); + } + +} diff --git a/payment-base-app/src/main/java/com/base/springcloud/service/imp/OrderServiceImp.java b/payment-base-app/src/main/java/com/base/springcloud/service/imp/OrderServiceImp.java index da28630..717252f 100644 --- a/payment-base-app/src/main/java/com/base/springcloud/service/imp/OrderServiceImp.java +++ b/payment-base-app/src/main/java/com/base/springcloud/service/imp/OrderServiceImp.java @@ -27,7 +27,6 @@ public class OrderServiceImp implements OrderService { @Override public void registerOrder(OrderBO orderBO) { - SaleBill saleBill = orderBO.getSaleBill(); BigDecimal amount = orderBO.getAmount(); if(amount.compareTo(BigDecimal.ZERO) <= 0){ throw new BusinessException(ErrorConstant.BILL_AMOUNT_ERR); @@ -45,7 +44,6 @@ public class OrderServiceImp implements OrderService { order.setTimeStamp(new Date()); order.setMchId(orderBO.getMchId()); order.setOrderState(PaymentConstant.WAIT); - order.setSourceBillId(Optional.ofNullable(saleBill.getSourceId()).orElse(saleBill.getId())); order.setOrderAmount(DecimalUtil.multiply(amount,new BigDecimal(100)).setScale(0,BigDecimal.ROUND_DOWN)); orderMapper.insert(order); orderBO.setOrder(order); diff --git a/payment-base-app/src/main/java/com/base/springcloud/service/imp/PaymentServiceImp.java b/payment-base-app/src/main/java/com/base/springcloud/service/imp/PaymentServiceImp.java index d98eab7..f07c7c8 100644 --- a/payment-base-app/src/main/java/com/base/springcloud/service/imp/PaymentServiceImp.java +++ b/payment-base-app/src/main/java/com/base/springcloud/service/imp/PaymentServiceImp.java @@ -33,6 +33,9 @@ public class PaymentServiceImp implements PaymentService { @Autowired private WecPaymentService wecPaymentService; + @Autowired + private OrderBillService orderBillService; + @Override public String placeOrder(OrderBO orderBO){ // 参数检查 @@ -43,10 +46,14 @@ public class PaymentServiceImp implements PaymentService { else // 销售单据核查 billService.billCheck(orderBO); + // 获取子销售单据 + billService.childBill(orderBO,true); // 查询商户支付信息配置 merchantService.claimMerchantConfig(orderBO); // 登记订单 orderService.registerOrder(orderBO); + // 登记销售单据和订单关联 + orderBillService.registerOrderBill(orderBO); // 请求微信生成二维码 return wecPaymentService.wecNativePay(orderBO); } diff --git a/payment-base-app/src/main/java/com/base/springcloud/service/imp/WecPaymentServiceImp.java b/payment-base-app/src/main/java/com/base/springcloud/service/imp/WecPaymentServiceImp.java index 787a44e..7b4a10e 100644 --- a/payment-base-app/src/main/java/com/base/springcloud/service/imp/WecPaymentServiceImp.java +++ b/payment-base-app/src/main/java/com/base/springcloud/service/imp/WecPaymentServiceImp.java @@ -94,7 +94,7 @@ public class WecPaymentServiceImp implements WecPaymentService { return WxpayUtils.queryWxOrder(url,orderBO.getMchId(),orderBO.getMchPrivateKey(),orderBO.getCertificate(),orderBO.getSerialNo()); } - public static void main(String[] args) { + /*public static void main(String[] args) { OrderBO orderBO = new OrderBO(); orderBO.setAppId("wxe61ee6c21345d74d"); orderBO.setMchId("1537100771"); @@ -128,6 +128,6 @@ public class WecPaymentServiceImp implements WecPaymentService { orderBO.getSerialNo()); System.out.println("Native支付订单 :{} " + order.getOrderNo() + " 接收响应数据 :{} "+ objectNode.toString()); System.out.println(objectNode.toString()); - } + }*/ } diff --git a/payment-base-app/src/main/java/com/base/springcloud/util/ParameterUtil.java b/payment-base-app/src/main/java/com/base/springcloud/util/ParameterUtil.java index dbc0e63..5c47ab6 100644 --- a/payment-base-app/src/main/java/com/base/springcloud/util/ParameterUtil.java +++ b/payment-base-app/src/main/java/com/base/springcloud/util/ParameterUtil.java @@ -18,9 +18,10 @@ public class ParameterUtil { * @param billId * @return */ - public OrderBO nativePlaceOrderBefore(String billId){ + public OrderBO nativePlaceOrderBefore(String billId,String createId){ OrderBO orderBO = new OrderBO(); orderBO.setBillIds(billId); + orderBO.setCreateId(createId); orderBO.setMergeFlag(false); orderBO.setMchId(PaymentConstant.DEFAULT_MCH_ID); return orderBO; @@ -53,10 +54,11 @@ public class ParameterUtil { return refundBO; } - public OrderBO mergeNativeBefore(String billIds) { + public OrderBO mergeNativeBefore(String billIds,String createId) { OrderBO orderBO = new OrderBO(); orderBO.setMergeFlag(true); orderBO.setBillIds(billIds); + orderBO.setCreateId(createId); return orderBO; } diff --git a/payment-base-app/src/main/java/com/base/springcloud/util/TokenUtils.java b/payment-base-app/src/main/java/com/base/springcloud/util/TokenUtils.java index aa872f6..80394ac 100644 --- a/payment-base-app/src/main/java/com/base/springcloud/util/TokenUtils.java +++ b/payment-base-app/src/main/java/com/base/springcloud/util/TokenUtils.java @@ -50,7 +50,7 @@ public class TokenUtils { User user = userService.getUser(username); // 校验token是否超时失效 & 或者账号密码是否错误 - //this.TokenValidity(token,user); + TokenValidity(token,user); return user; } @@ -62,7 +62,8 @@ public class TokenUtils { * @param user */ public void TokenValidity(String token, User user) { - String redisToken = String.valueOf(redisService.get(PaymentConstant.TOKEN_PREFIX + token)); + String key = PaymentConstant.TOKEN_PREFIX + token; + String redisToken = String.valueOf(redisService.get(key)); if (StringUtils.isBlank(redisToken)) throw new BusinessException(ErrorConstant.TOKEN_EXPIRATION_DATE); if (!JwtUtil.verify(redisToken, user.getUserName(), user.getPassword())) diff --git a/payment-base-app/src/main/java/com/base/springcloud/wxsdk/WxpayUtils.java b/payment-base-app/src/main/java/com/base/springcloud/wxsdk/WxpayUtils.java index b550095..fbfe027 100644 --- a/payment-base-app/src/main/java/com/base/springcloud/wxsdk/WxpayUtils.java +++ b/payment-base-app/src/main/java/com/base/springcloud/wxsdk/WxpayUtils.java @@ -216,8 +216,9 @@ public class WxpayUtils { * @throws UnsupportedEncodingException */ public static CloseableHttpClient getClient(String mchid, String serialNo, PrivateKey privateKey, String certificate) throws CertificateException, IOException { - //byte[] bytes = certificate.getBytes(StandardCharsets.UTF_8); - ByteArrayInputStream base = new ByteArrayInputStream(new BASE64Decoder().decodeBuffer(certificate)); + byte[] bytes = certificate.getBytes(StandardCharsets.UTF_8); + // new BASE64Decoder().decodeBuffer(certificate) + ByteArrayInputStream base = new ByteArrayInputStream(bytes); List certs = new ArrayList<>(); CertificateFactory certificateFactory = CertificateFactory.getInstance("X.509"); X509Certificate cert = null; diff --git a/payment-base-app/src/main/resources/com/base/payment/mapper/MerchantConfigMapper.xml b/payment-base-app/src/main/resources/com/base/payment/mapper/MerchantConfigMapper.xml index 77a53d9..adc8ae2 100644 --- a/payment-base-app/src/main/resources/com/base/payment/mapper/MerchantConfigMapper.xml +++ b/payment-base-app/src/main/resources/com/base/payment/mapper/MerchantConfigMapper.xml @@ -10,7 +10,7 @@ - + @@ -19,7 +19,7 @@ id,app_id,api_key,cert_path,serial_no,mch_id,mch_private_key, - create_id,create_depart_id,create_time,update_id,update_time,time_stamp + create_id,create_company_id,create_time,update_id,update_time,time_stamp diff --git a/payment-base-app/src/main/resources/com/base/payment/mapper/OrderBillMapper.xml b/payment-base-app/src/main/resources/com/base/payment/mapper/OrderBillMapper.xml new file mode 100644 index 0000000..afb0a51 --- /dev/null +++ b/payment-base-app/src/main/resources/com/base/payment/mapper/OrderBillMapper.xml @@ -0,0 +1,106 @@ + + + + + + + + + + + + + id, order_id, bill_id, soure_bill_id, create_id, create_time + + + + delete from pay_order_bill + where id = #{id,jdbcType=VARCHAR} + + + insert into pay_order_bill (id, order_id, bill_id, + soure_bill_id, create_id, create_time + ) + values (#{id,jdbcType=VARCHAR}, #{orderId,jdbcType=VARCHAR}, #{billId,jdbcType=VARCHAR}, + #{soureBillId,jdbcType=VARCHAR}, #{createId,jdbcType=VARCHAR}, #{createTime,jdbcType=TIMESTAMP} + ) + + + insert into pay_order_bill + + + id, + + + order_id, + + + bill_id, + + + soure_bill_id, + + + create_id, + + + create_time, + + + + + #{id,jdbcType=VARCHAR}, + + + #{orderId,jdbcType=VARCHAR}, + + + #{billId,jdbcType=VARCHAR}, + + + #{soureBillId,jdbcType=VARCHAR}, + + + #{createId,jdbcType=VARCHAR}, + + + #{createTime,jdbcType=TIMESTAMP}, + + + + + update pay_order_bill + + + order_id = #{orderId,jdbcType=VARCHAR}, + + + bill_id = #{billId,jdbcType=VARCHAR}, + + + soure_bill_id = #{soureBillId,jdbcType=VARCHAR}, + + + create_id = #{createId,jdbcType=VARCHAR}, + + + create_time = #{createTime,jdbcType=TIMESTAMP}, + + + where id = #{id,jdbcType=VARCHAR} + + + update pay_order_bill + set order_id = #{orderId,jdbcType=VARCHAR}, + bill_id = #{billId,jdbcType=VARCHAR}, + soure_bill_id = #{soureBillId,jdbcType=VARCHAR}, + create_id = #{createId,jdbcType=VARCHAR}, + create_time = #{createTime,jdbcType=TIMESTAMP} + where id = #{id,jdbcType=VARCHAR} + + \ No newline at end of file diff --git a/payment-base-app/src/main/resources/com/base/payment/mapper/SaleBillMapper.xml b/payment-base-app/src/main/resources/com/base/payment/mapper/SaleBillMapper.xml index 7d98132..f5b5207 100644 --- a/payment-base-app/src/main/resources/com/base/payment/mapper/SaleBillMapper.xml +++ b/payment-base-app/src/main/resources/com/base/payment/mapper/SaleBillMapper.xml @@ -53,6 +53,9 @@ 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 + + id,total_amount,source_id + - select total_amount + + + \ No newline at end of file diff --git a/payment-base-app/src/main/resources/generatorConfig.xml b/payment-base-app/src/main/resources/generatorConfig.xml index b8c90af..d4f21c2 100644 --- a/payment-base-app/src/main/resources/generatorConfig.xml +++ b/payment-base-app/src/main/resources/generatorConfig.xml @@ -60,23 +60,18 @@ - - - + + + - - - - - -
\ No newline at end of file