记得上下班打卡 | git大法好,push需谨慎

Commit f869755f authored by wangyifan's avatar wangyifan

离线支付-绑定身份证下单数量限制

parent 760b03b7
package com.liquidnet.service.goblin.dto.vo; package com.liquidnet.service.goblin.dto.vo;
import com.liquidnet.service.goblin.entity.GoblinBraceletOrder;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data; import lombok.Data;
import lombok.EqualsAndHashCode;
import org.springframework.beans.BeanUtils;
import java.io.Serializable;
import java.math.BigDecimal; import java.math.BigDecimal;
import java.time.LocalDateTime; import java.time.LocalDateTime;
import java.util.List;
/** /**
* 手环-订单VO * 手环-订单VO
*/ */
@Data @Data
public class GoblinBraceletOrderVo { @EqualsAndHashCode(callSuper = false)
@ApiModel(value = "手环订单vo")
public class GoblinBraceletOrderVo implements Serializable, Cloneable {
private static final long serialVersionUID = 1L;
/** /**
* 订单ID * 订单ID
*/ */
@ApiModelProperty(value = "订单ID")
private String orderId; private String orderId;
/** /**
* 用户ID * 用户ID
*/ */
@ApiModelProperty(value = "用户ID")
private String userId; private String userId;
/** /**
* 绑定用户姓名 * 绑定用户姓名
*/ */
@ApiModelProperty(value = "绑定用户姓名")
private String bindName; private String bindName;
/** /**
* 绑定用户手机号 * 绑定用户手机号
*/ */
@ApiModelProperty(value = "绑定用户手机号")
private String bindMobile; private String bindMobile;
/** /**
* 绑定用户身份证号码 * 绑定用户身份证号码
*/ */
@ApiModelProperty(value = "绑定用户身份证号码")
private String bindIdcard; private String bindIdcard;
/** /**
* 请求日期 * 请求日期
*/ */
@ApiModelProperty(value = "请求日期")
private String reqDate; private String reqDate;
/** /**
* 商品描述 * 商品描述
*/ */
@ApiModelProperty(value = "商品描述")
private String goodsDesc; private String goodsDesc;
/** /**
* 手环ID * 手环ID
*/ */
@ApiModelProperty(value = "手环ID")
private String wristbandId; private String wristbandId;
/** /**
*手环金额 *手环金额
*/ */
@ApiModelProperty(value = "手环金额")
private BigDecimal wristbandPrice; private BigDecimal wristbandPrice;
/** /**
*充值金额ID *充值金额ID
*/ */
@ApiModelProperty(value = "充值金额ID")
private String amountId; private String amountId;
/** /**
*充值金额 *充值金额
*/ */
@ApiModelProperty(value = "充值金额")
private BigDecimal amountPrice; private BigDecimal amountPrice;
/** /**
* 请求流水号 * 请求流水号
*/ */
@ApiModelProperty(value = "请求流水号")
private String reqSeqId; private String reqSeqId;
/** /**
* 全局流水号 * 全局流水号
*/ */
@ApiModelProperty(value = "全局流水号")
private String hfSeqId; private String hfSeqId;
/** /**
...@@ -90,61 +112,73 @@ public class GoblinBraceletOrderVo { ...@@ -90,61 +112,73 @@ public class GoblinBraceletOrderVo {
* T_APP:微信APP支付 * T_APP:微信APP支付
* T_NATIVE:微信正扫 * T_NATIVE:微信正扫
*/ */
@ApiModelProperty(value = "交易类型")
private String tradeType; private String tradeType;
/** /**
* 用户账单上的交易订单号 * 用户账单上的交易订单号
*/ */
@ApiModelProperty(value = "用户账单上的交易订单号")
private String outTransId; private String outTransId;
/** /**
* 用户账单上的商户订单号 * 用户账单上的商户订单号
*/ */
@ApiModelProperty(value = "用户账单上的商户订单号")
private String partyOrderId; private String partyOrderId;
/** /**
* 支付完成时间 格式yyyyMMddHHmmss * 支付完成时间 格式yyyyMMddHHmmss
*/ */
@ApiModelProperty(value = "支付完成时间 格式yyyyMMddHHmmss")
private String endTime; private String endTime;
/** /**
* 入账时间 格式为yyyyMMdd * 入账时间 格式为yyyyMMdd
*/ */
@ApiModelProperty(value = "入账时间 格式为yyyyMMdd")
private String acctDate; private String acctDate;
/** /**
* 单价 * 单价
*/ */
@ApiModelProperty(value = "单价")
private BigDecimal price; private BigDecimal price;
/** /**
* 应付价格 * 应付价格
*/ */
@ApiModelProperty(value = "应付价格")
private BigDecimal priceTotal; private BigDecimal priceTotal;
/** /**
* 实付价格 * 实付价格
*/ */
@ApiModelProperty(value = "实付价格")
private BigDecimal priceActual; private BigDecimal priceActual;
/** /**
* 退款价格 * 退款价格
*/ */
@ApiModelProperty(value = "退款价格")
private BigDecimal priceRefund; private BigDecimal priceRefund;
/** /**
* 退款扣除的手续费金额 * 退款扣除的手续费金额
*/ */
@ApiModelProperty(value = "退款扣除的手续费金额")
private BigDecimal refundPriceCharges; private BigDecimal refundPriceCharges;
/** /**
* 退款数 * 退款数
*/ */
@ApiModelProperty(value = "退款数")
private Integer refundNumber; private Integer refundNumber;
/** /**
* 支付时间 * 支付时间
*/ */
@ApiModelProperty(value = "支付时间")
private String timePay; private String timePay;
/** /**
...@@ -158,6 +192,7 @@ public class GoblinBraceletOrderVo { ...@@ -158,6 +192,7 @@ public class GoblinBraceletOrderVo {
* 6 部分退款 * 6 部分退款
* 7 退款失败 * 7 退款失败
*/ */
@ApiModelProperty(value = "订单状态")
private Integer status; private Integer status;
/** /**
...@@ -166,37 +201,60 @@ public class GoblinBraceletOrderVo { ...@@ -166,37 +201,60 @@ public class GoblinBraceletOrderVo {
* 1 已支付 * 1 已支付
* 2 支付失败 * 2 支付失败
*/ */
@ApiModelProperty(value = "支付状态")
private Integer payStatus; private Integer payStatus;
/** /**
* 迈之的分订单号 * 迈之的分订单号
*/ */
@ApiModelProperty(value = "迈之的分订单号")
private String foutTradeNo; private String foutTradeNo;
/** /**
* 迈之的设备编号 * 迈之的设备编号
*/ */
@ApiModelProperty(value = "迈之的设备编号")
private String cardno; private String cardno;
/** /**
* 迈之的分订单号 * 迈之的分订单号
*/ */
@ApiModelProperty(value = "迈之的分订单号")
private Integer refundStatus; private Integer refundStatus;
/** /**
* 迈之的设备编号 * 迈之的设备编号
*/ */
@ApiModelProperty(value = "迈之的设备编号")
private String refundStatusNote; private String refundStatusNote;
/** /**
* 创建时间 * 创建时间
*/ */
@ApiModelProperty(value = "创建时间")
private LocalDateTime createdAt; private LocalDateTime createdAt;
/** /**
* 更新时间 * 更新时间
*/ */
@ApiModelProperty(value = "更新时间")
private LocalDateTime updatedAt; private LocalDateTime updatedAt;
private static final GoblinBraceletOrderVo obj = new GoblinBraceletOrderVo();
public static GoblinBraceletOrderVo getNew() {
try {
return (GoblinBraceletOrderVo) obj.clone();
} catch (CloneNotSupportedException e) {
e.printStackTrace();
}
return new GoblinBraceletOrderVo();
}
public GoblinBraceletOrderVo copy(GoblinBraceletOrder goblinBraceletOrder){
if (goblinBraceletOrder == null) return this;
BeanUtils.copyProperties(goblinBraceletOrder, this);
return this;
}
} }
...@@ -19,10 +19,10 @@ liquidnet: ...@@ -19,10 +19,10 @@ liquidnet:
lxpay: lxpay:
apps: apps:
dougong: dougong:
huifu-id: '6666000171841162' huifu-id: '6666000109133323'
sys-id: '6666000162031620' sys-id: '6666000108840829'
product-id: 'PAYUN' product-id: 'YYZY'
sub-app-id: 'wx4732efeaa2b08086' sub-app-id: 'wxdfe9a5d141f96685'
public-key: "MIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEArR8pqWsRMqiunn8uEZGF9AeizJK0vuWjlcNnTbw9Sb96dMVuYu3SRj+Dx4E4SgyEL4CYROou1xwY57kAKEqHdH7o1W41O9jYjXZG38BrtBR+D9Qh9OqGxCZ+e4Gi38XHGg6fn67iXefOqp1kWGd4qc8tIZO1lIDXS19R09D/mESNBMulQdVPyZF7gvd11A+7EEOfRlSOjrtqIoUWV0GIqhLPUtGJk8Uq/d9NLitJyvK3tgz8cvJ4RyK6UpGtRDrqiBiQxbvK9EqMd1sw3zkvM03szSWon4LHFNqvDr6RYfFyFUCvX9UPYmeritENnroEuTBlTFLLb68ed4HZEZDPTQIDAQAB" public-key: "MIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEAkmP0eyQVeGHVxk/4+Zq9R6tm8vmQZaMAvtvy5D/Ki3lvhfRn8T3R3vP5xTpp2zAtmZzFnc1k4DswYBsv7lsxwseoJ3sIM6of6NYnf+39CK+NhKSsdDNDET2KCxD5Gip3WJVtgP3P4w3P/U2jCi8Xzm9sxy3XZ3TSZuokvX77UnfBZTFMuGjCmZFcuM6VjDOxoaEtnYhAVLOQItb3Jr1vvIg4vrhCWBus9YVgl3Ua5qtTccmpspnFbY3ix0UFrmHczTaPWrxKMrnEIDurgmMPXPiyR67Z/AcvcJ8vgvaVHnINmDb0hlRUkI623P9dO/fPswaNIEj0ZeoZHcdLya07swIDAQAB"
private-key: "MIIEwAIBADANBgkqhkiG9w0BAQEFAASCBKowggSmAgEAAoIBAQDJAOaA1ikJzDL0vUuTyl3/vlHyuSod6/gFLLrSTD6EJkma5Ld34HHu82/5pEojEvbcU113L9j3fUJlpyjX6CFk6j2KjMIuyFxhgrVFi5WT5m74wYohoWNifkQrgwsO3oxI7cewWFu/w7/yCK9dzI4QxasGUKH9iPweI+26IR0DBbOfC9GVudOy2b2xLrGAevEEHdVTNqrQNdlrTzqAH7r3uk8s2vaBZX+O4gyf7eKdHdC4CVSWfYPLO1sA48MxNwI7OExxfGeV+0wmBMGRSoZ5FhWsqZs+f9jGcmfF+uEfAO71PqHjezXYxq7+oWDfDBPCTc5fo9w5v1HV0aZaYOe1AgMBAAECggEBAI4yR98fInse7XF8NOpBwIv6/QhEfAoc9CHdCfFaJOPiHjIo2a5BpvhPWYj288eqU998TmPSAqDbCUzWm6taOb2lhJHukDT+Y3RMPqcLX275Fsp+SJUQEjoMb3eExh7ny8CQDrOvXoDkH3c/M6ic3Gf7Hslh46dz8D/2VOhXIqoObPlSLzniwiMTDBEwB7IRc3Q+r4V6ZnKt8wjKQZpotBA3TlJlEBBj/h5SbWokwMQbTqFkjl7gVe0ase2WfV+cD4qhPZx6CWphPVyWelg+wpDqXOIQdnE8pgri5a9ZkzgPTOrKyCm+EOa9lZAp81tnb2iFhrlkKPSWUW8zLtZzxMECgYEA+sNyF0U9anyxeKxXtlGKKuMHJSnBpZeU6FSvZjTewFH2Sxh3QwZjg6h5BfvTLH1XfNerx3gdpAPJ+EyAZuEibDr47bp+j4CtT27dVolz5XQ5ugOadwzdNZkq6vhuq1aGATmS/mlNE1/pdMEP9F6hi2HYncER6BFOy0xSwMKCnRECgYEAzTNxhvZ0pb2hPKylxHUydkm3Uznq5Zkquv6II6W5aiKvceETHwdRZLoKc+I0kd0/4fBfJI2Jsjexy51ERiG+8y4wVrcrky6NLw6mnXSvnTSQCftbexheJTg9c5dpfKIj+rxtuBeZ3Sj1MJQ6OSBUYu3iTqstO0Rgp/1ofWQJ8GUCgYEAspxzr0+KJ0cZwbI/54S8vT9n33iWjbQiRDnNlScjYij/HQ4YJI1wZF6jlTeBerbskeesWy+bLS/ltA4Jhz3knuKCXBHyA5TL3UBCN1lAS7c1RuE6LIHlLkAi6ap6aV//ou+3W671T0+JobfB/XVJ61WOTQ8wCfQKA5QhfVsOXYECgYEAvzbm3Ysfm6qfazi+p9lGErASov1fhGA8T1AMcJtnsh1sO8Qu20UodaJfRylNL3dqphIltpwl6eq4RTLhgjDEDTvHU6cQdfB1I5qVbDhlxSpL5uFRl91XLXvA18wKQledC3M3Esr7V/loscIOl1knCaD+t6wPVCEdqK0dB2uHT3kCgYEA3p3rlmCmWzkZ/U8jE4087YEkJWV+r86YC63r4YZEqZtfHk4hNchAYke4jYPqkTtmRVZi2C6KuVr5M3ASHmGWorBY0VA9Abd3daniNocZCeMOt4Z7U6MIbqW7KYSrjx8V8HIsdH7HF97ofRuMH6oaz9bFMM6XwrEAMY+zTdH9A4Y=" private-key: "MIIEvgIBADANBgkqhkiG9w0BAQEFAASCBKgwggSkAgEAAoIBAQDFOYOjLTndQiYAiFQf4ZZ6UA1T5fg2PH16XboAORgLBz/SjeiIMmIdExP1NFDH6SNqcQk6ginqk+gW0CBojEE5Loj3ROqtBRnBehVavO89xnvezsj1NZDqw416GYPCU0n6198A73c3Kn0OWoiivF5BJDra88z/zcApNzAeiVw6loZEEvzNRpfuKzs6uH6NeFQnY2wtePQwTAW5d89gUyewJSzwPPVU8r/hiPVKSB0AEkGT85UOBzaEKyAEqPfLAS/uY49Qdq+/j6lszNpjWcb6vkIeoHD3wmZdoHR7uLc+VxSk7kvJyLUv6SBtH3/jTy4ghFLQWJHagLB2QCPy9ompAgMBAAECggEAcG4JDMyLYAaFg2g0DLic/70C3AENLl3tagRkNBxYCHFpgK5FEN8n70sg5XedVVkiR1uI10G8g20tsVOUJgVOaTqN+effoCJ4PENMSR3LhHvRwYJALQkMQ8iWrjQ9WFoComzNQ8s/OsON5tDVc2/Oi3QL2SWCh5DTKqu7Uq0bVonYUX2IT8x7zWbE+tgphjI76JRDp4gkjh5ebebNBhqsOjYelNNWF3g7rVAr4zB2TMRM6N/66z/qLRk+mQQEhShojS2c2pyAtNC+7C6VZiX+XxH4ArSbf6AQyaMmPj4d3rMAYG916WNfb9GkqFyZhRNbMwRsAIfErS46PDKpKhInwQKBgQDnu4vV2U7Sqc/ab3hXh8H6d1HvxvTb7634XNyT/qtJ4nMT9CCxZE88iesqJyXNxzEElpLJRlwNPgDaJfs8qEjJ9zF6N/7ip9VPxITd5/6jBuILiugJSa7epvdZAtyVo1xOf2BN7cX/4Ul/SE11YjgyjLr1b3U4SY/Bc8w01Pmb+wKBgQDZ4Nq8u+k4GQh6G9pFSwgDxMnPUGX4vnWew7zsyy6z45tXuzFZrvpuzWTUUtnGalzXYGaUqm5ivmmP9+CCZBWaxZkSTF8ONRm1OXTRCJlF57AzXZVVc4+inhM8WnX6KIN/FDu4nlTf7wN6J42BcqOkz8KS9N7twpYartJnTPG7qwKBgQDhqVUHLtL/erYadSqvslhH3CJCaXDRLJoxndx/kiSjko2WBMpBdPlkbro/FlhOB4fIfAj9UDMcAiE6TnpWG1qmsr3P0u+3MNEdGLZ6kgz6HR3LN722LbbIw7djStIcNjURjCDwQnfqMi0scfBcOwWW1EzL7XotEhWXwXg+ipd4OQKBgQCotysK7UQ6sX/T9s99yw1IxdE0nWBpTysLpy0b/HaMzFqVhBpCBXJd7OUAWavTrrd3/GlTA+r4wdRCrMMIlXH5aLwQ5FzTRqFCqVxhJhRygmf6TqR+CD+YwGnK2Y30Cf1RoZxhaRH2WkJKDGjSbbB0xoE4hTA/0uejf+7kGTwzgwKBgBgcuEy5fxR5O+HkV/Lay/rrHznbJxOEJ/EiV2WDKDi1Acp1QZAKb1aguqx15j7t9exGUr6Y5eCfAFOQfzlePJuLthe5APEsuzv9nslnVusamWKkxoWl6h36OYQjTf1FCgOD7QCjhaiKKQQLsZGigmMKy2D5utIWQdNoLnlhayan"
notify-url: 'https://testgoblin.zhengzai.tv/goblin/bracelet/callback' notify-url: 'https://testgoblin.zhengzai.tv/goblin/'
...@@ -15,4 +15,14 @@ liquidnet: ...@@ -15,4 +15,14 @@ liquidnet:
database-name: test_ln_scene database-name: test_ln_scene
mongodb: mongodb:
sslEnabled: false sslEnabled: false
database: test_ln_scene database: test_ln_scene
\ No newline at end of file lxpay:
apps:
dougong:
huifu-id: '6666000171841162'
sys-id: '6666000162031620'
product-id: 'PAYUN'
sub-app-id: 'wx4732efeaa2b08086'
public-key: "MIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEArR8pqWsRMqiunn8uEZGF9AeizJK0vuWjlcNnTbw9Sb96dMVuYu3SRj+Dx4E4SgyEL4CYROou1xwY57kAKEqHdH7o1W41O9jYjXZG38BrtBR+D9Qh9OqGxCZ+e4Gi38XHGg6fn67iXefOqp1kWGd4qc8tIZO1lIDXS19R09D/mESNBMulQdVPyZF7gvd11A+7EEOfRlSOjrtqIoUWV0GIqhLPUtGJk8Uq/d9NLitJyvK3tgz8cvJ4RyK6UpGtRDrqiBiQxbvK9EqMd1sw3zkvM03szSWon4LHFNqvDr6RYfFyFUCvX9UPYmeritENnroEuTBlTFLLb68ed4HZEZDPTQIDAQAB"
private-key: "MIIEwAIBADANBgkqhkiG9w0BAQEFAASCBKowggSmAgEAAoIBAQDJAOaA1ikJzDL0vUuTyl3/vlHyuSod6/gFLLrSTD6EJkma5Ld34HHu82/5pEojEvbcU113L9j3fUJlpyjX6CFk6j2KjMIuyFxhgrVFi5WT5m74wYohoWNifkQrgwsO3oxI7cewWFu/w7/yCK9dzI4QxasGUKH9iPweI+26IR0DBbOfC9GVudOy2b2xLrGAevEEHdVTNqrQNdlrTzqAH7r3uk8s2vaBZX+O4gyf7eKdHdC4CVSWfYPLO1sA48MxNwI7OExxfGeV+0wmBMGRSoZ5FhWsqZs+f9jGcmfF+uEfAO71PqHjezXYxq7+oWDfDBPCTc5fo9w5v1HV0aZaYOe1AgMBAAECggEBAI4yR98fInse7XF8NOpBwIv6/QhEfAoc9CHdCfFaJOPiHjIo2a5BpvhPWYj288eqU998TmPSAqDbCUzWm6taOb2lhJHukDT+Y3RMPqcLX275Fsp+SJUQEjoMb3eExh7ny8CQDrOvXoDkH3c/M6ic3Gf7Hslh46dz8D/2VOhXIqoObPlSLzniwiMTDBEwB7IRc3Q+r4V6ZnKt8wjKQZpotBA3TlJlEBBj/h5SbWokwMQbTqFkjl7gVe0ase2WfV+cD4qhPZx6CWphPVyWelg+wpDqXOIQdnE8pgri5a9ZkzgPTOrKyCm+EOa9lZAp81tnb2iFhrlkKPSWUW8zLtZzxMECgYEA+sNyF0U9anyxeKxXtlGKKuMHJSnBpZeU6FSvZjTewFH2Sxh3QwZjg6h5BfvTLH1XfNerx3gdpAPJ+EyAZuEibDr47bp+j4CtT27dVolz5XQ5ugOadwzdNZkq6vhuq1aGATmS/mlNE1/pdMEP9F6hi2HYncER6BFOy0xSwMKCnRECgYEAzTNxhvZ0pb2hPKylxHUydkm3Uznq5Zkquv6II6W5aiKvceETHwdRZLoKc+I0kd0/4fBfJI2Jsjexy51ERiG+8y4wVrcrky6NLw6mnXSvnTSQCftbexheJTg9c5dpfKIj+rxtuBeZ3Sj1MJQ6OSBUYu3iTqstO0Rgp/1ofWQJ8GUCgYEAspxzr0+KJ0cZwbI/54S8vT9n33iWjbQiRDnNlScjYij/HQ4YJI1wZF6jlTeBerbskeesWy+bLS/ltA4Jhz3knuKCXBHyA5TL3UBCN1lAS7c1RuE6LIHlLkAi6ap6aV//ou+3W671T0+JobfB/XVJ61WOTQ8wCfQKA5QhfVsOXYECgYEAvzbm3Ysfm6qfazi+p9lGErASov1fhGA8T1AMcJtnsh1sO8Qu20UodaJfRylNL3dqphIltpwl6eq4RTLhgjDEDTvHU6cQdfB1I5qVbDhlxSpL5uFRl91XLXvA18wKQledC3M3Esr7V/loscIOl1knCaD+t6wPVCEdqK0dB2uHT3kCgYEA3p3rlmCmWzkZ/U8jE4087YEkJWV+r86YC63r4YZEqZtfHk4hNchAYke4jYPqkTtmRVZi2C6KuVr5M3ASHmGWorBY0VA9Abd3daniNocZCeMOt4Z7U6MIbqW7KYSrjx8V8HIsdH7HF97ofRuMH6oaz9bFMM6XwrEAMY+zTdH9A4Y="
notify-url: 'https://testgoblin.zhengzai.tv/goblin/bracelet/callback'
\ No newline at end of file
package com.liquidnet.service.goblin.service.impl; package com.liquidnet.service.goblin.service.impl;
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import com.liquidnet.commons.lang.util.*; import com.liquidnet.commons.lang.util.*;
import com.liquidnet.service.base.ResponseDto; import com.liquidnet.service.base.ResponseDto;
...@@ -43,11 +45,22 @@ public class GoblinBraceletOrderServiceImpl extends ServiceImpl<GoblinBraceletOr ...@@ -43,11 +45,22 @@ public class GoblinBraceletOrderServiceImpl extends ServiceImpl<GoblinBraceletOr
private IGoblinDougongPayService dougongPayService; private IGoblinDougongPayService dougongPayService;
@Autowired @Autowired
private IGoblinRechargeWristbandService iGoblinRechargeWristbandService; private IGoblinRechargeWristbandService iGoblinRechargeWristbandService;
@Autowired
private GoblinBraceletOrderMapper braceletOrderMapper;
@Override @Override
public ResponseDto<GoblinBraceletPayResultVo> checkOrder(GoblinBraceletOrderPayParam payParam) { public ResponseDto<GoblinBraceletPayResultVo> checkOrder(GoblinBraceletOrderPayParam payParam) {
log.info("request param: {}.", JsonUtils.toJson(payParam)); log.info("request param: {}.", JsonUtils.toJson(payParam));
LambdaQueryWrapper<GoblinBraceletOrder> queryWrapper = new QueryWrapper<GoblinBraceletOrder>()
.lambda()
.eq(GoblinBraceletOrder::getBindIdcard, payParam.getIdCard());
List<GoblinBraceletOrder> goblinBraceletOrders = braceletOrderMapper.selectList(queryWrapper);
if (!goblinBraceletOrders.isEmpty()) {
log.info("不能重复购买");
return ResponseDto.failure("不能重复购买");
}
GoblinRechargeWristbandVo rechargeWristbandVo = rechargeWristbandService.getList(); GoblinRechargeWristbandVo rechargeWristbandVo = rechargeWristbandService.getList();
if (rechargeWristbandVo == null) { if (rechargeWristbandVo == null) {
log.error("查询商品为空"); log.error("查询商品为空");
...@@ -249,7 +262,7 @@ public class GoblinBraceletOrderServiceImpl extends ServiceImpl<GoblinBraceletOr ...@@ -249,7 +262,7 @@ public class GoblinBraceletOrderServiceImpl extends ServiceImpl<GoblinBraceletOr
orderVo.setOutTransId((String) callbackRespDataMap.get("out_trans_id")); orderVo.setOutTransId((String) callbackRespDataMap.get("out_trans_id"));
orderVo.setEndTime((String) callbackRespDataMap.get("end_time")); orderVo.setEndTime((String) callbackRespDataMap.get("end_time"));
orderVo.setAcctDate((String) callbackRespDataMap.get("acct_date")); orderVo.setAcctDate((String) callbackRespDataMap.getOrDefault("acct_date", callbackRespDataMap.get("end_time")));
orderVo.setPriceActual(new BigDecimal((String) callbackRespDataMap.get("pay_amt"))); orderVo.setPriceActual(new BigDecimal((String) callbackRespDataMap.get("pay_amt")));
orderVo.setTimePay((String) callbackRespDataMap.get("end_time")); orderVo.setTimePay((String) callbackRespDataMap.get("end_time"));
orderVo.setUpdatedAt(LocalDateTime.now()); orderVo.setUpdatedAt(LocalDateTime.now());
...@@ -288,7 +301,8 @@ public class GoblinBraceletOrderServiceImpl extends ServiceImpl<GoblinBraceletOr ...@@ -288,7 +301,8 @@ public class GoblinBraceletOrderServiceImpl extends ServiceImpl<GoblinBraceletOr
// 更新MySQL // 更新MySQL
queueUtils.sendMsgByRedis(MQConst.GoblinQueue.SQL_GOODS.getKey(), queueUtils.sendMsgByRedis(MQConst.GoblinQueue.SQL_GOODS.getKey(),
SqlMapping.get("gpblin_bracelet_order_update", orderVo.getOutTransId(), orderVo.getEndTime(), SqlMapping.get("gpblin_bracelet_order_update", orderVo.getOutTransId(), orderVo.getEndTime(),
orderVo.getAcctDate(), orderVo.getPriceActual(), orderVo.getTimePay(), orderVo.getUpdatedAt(), orderVo.getOrderId()) orderVo.getAcctDate(), orderVo.getPriceActual(), orderVo.getTimePay(), orderVo.getStatus(),
orderVo.getPayStatus(), orderVo.getUpdatedAt(), orderVo.getOrderId())
); );
return ResponseDto.success(Boolean.TRUE); return ResponseDto.success(Boolean.TRUE);
} catch (Exception e) { } catch (Exception e) {
......
package com.liquidnet.service.goblin.util; package com.liquidnet.service.goblin.util;
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.fasterxml.jackson.core.type.TypeReference; import com.fasterxml.jackson.core.type.TypeReference;
import com.fasterxml.jackson.databind.node.ObjectNode; import com.fasterxml.jackson.databind.node.ObjectNode;
import com.liquidnet.common.cache.redis.util.RedisUtil; import com.liquidnet.common.cache.redis.util.RedisUtil;
...@@ -18,9 +20,11 @@ import com.liquidnet.service.goblin.dto.GoblinUserSafeConfigDto; ...@@ -18,9 +20,11 @@ import com.liquidnet.service.goblin.dto.GoblinUserSafeConfigDto;
import com.liquidnet.service.goblin.dto.manage.vo.GoblinGoodsAnticipateValueVo; import com.liquidnet.service.goblin.dto.manage.vo.GoblinGoodsAnticipateValueVo;
import com.liquidnet.service.goblin.dto.manage.vo.GoblinMgtCategorySpecVo; import com.liquidnet.service.goblin.dto.manage.vo.GoblinMgtCategorySpecVo;
import com.liquidnet.service.goblin.dto.vo.*; import com.liquidnet.service.goblin.dto.vo.*;
import com.liquidnet.service.goblin.entity.GoblinBraceletOrder;
import com.liquidnet.service.goblin.entity.GoblinFrontBanner; import com.liquidnet.service.goblin.entity.GoblinFrontBanner;
import com.liquidnet.service.goblin.entity.GoblinFrontHotWord; import com.liquidnet.service.goblin.entity.GoblinFrontHotWord;
import com.liquidnet.service.goblin.entity.GoblinFrontNavigation; import com.liquidnet.service.goblin.entity.GoblinFrontNavigation;
import com.liquidnet.service.goblin.mapper.GoblinBraceletOrderMapper;
import com.liquidnet.service.goblin.service.impl.inner.GoblinNftJobServiceImpl; import com.liquidnet.service.goblin.service.impl.inner.GoblinNftJobServiceImpl;
import lombok.extern.slf4j.Slf4j; import lombok.extern.slf4j.Slf4j;
import org.springframework.beans.factory.annotation.Autowired; import org.springframework.beans.factory.annotation.Autowired;
...@@ -49,6 +53,8 @@ public class GoblinRedisUtils { ...@@ -49,6 +53,8 @@ public class GoblinRedisUtils {
GoblinMongoUtils goblinMongoUtils; GoblinMongoUtils goblinMongoUtils;
@Autowired @Autowired
GoblinNftJobServiceImpl goblinNftJobService; GoblinNftJobServiceImpl goblinNftJobService;
@Autowired
private GoblinBraceletOrderMapper braceletOrderMapper;
@Value("${liquidnet.secret.passwd-salt}") @Value("${liquidnet.secret.passwd-salt}")
private String passwdSalt; private String passwdSalt;
...@@ -2960,14 +2966,23 @@ public class GoblinRedisUtils { ...@@ -2960,14 +2966,23 @@ public class GoblinRedisUtils {
/** /**
* *
* @param reqSeqId 调用斗拱-请求流水号 * @param reqSeqId 调用斗拱-请求流水号
* @return * @return orderId 手环订单ID
*/ */
public String getBraceletRelatedOrderVo(String reqSeqId){ public String getBraceletRelatedOrderVo(String reqSeqId){
String key = GoblinRedisConst.GOBLIN_BRACELET_RELATED_ORDER.concat(reqSeqId); String key = GoblinRedisConst.GOBLIN_BRACELET_RELATED_ORDER.concat(reqSeqId);
Object obj = redisUtil.get(key); Object obj = redisUtil.get(key);
if (obj == null) { if (obj == null) {
// TODO 从数据库查询 // 从数据库查询
return null; LambdaQueryWrapper<GoblinBraceletOrder> lambdaed = new QueryWrapper<GoblinBraceletOrder>()
.lambda().eq(GoblinBraceletOrder::getReqSeqId, reqSeqId);
List<GoblinBraceletOrder> goblinBraceletOrders = braceletOrderMapper.selectList(lambdaed);
if (goblinBraceletOrders.isEmpty()) {
return "";
}
GoblinBraceletOrder goblinBraceletOrder = goblinBraceletOrders.get(0);
String orderId = goblinBraceletOrder.getOrderId();
setBraceletRelatedOrderVo(goblinBraceletOrder.getReqSeqId(), orderId);
return orderId;
}else { }else {
return (String) obj; return (String) obj;
} }
...@@ -2987,8 +3002,16 @@ public class GoblinRedisUtils { ...@@ -2987,8 +3002,16 @@ public class GoblinRedisUtils {
String key = GoblinRedisConst.GOBLIN_BRACELET_ORDERID.concat(orderId); String key = GoblinRedisConst.GOBLIN_BRACELET_ORDERID.concat(orderId);
Object obj = redisUtil.get(key); Object obj = redisUtil.get(key);
if (obj == null) { if (obj == null) {
// TODO 从数据库查询 // 从数据库查询
return null; LambdaQueryWrapper<GoblinBraceletOrder> queryWrapper = new QueryWrapper<GoblinBraceletOrder>().lambda()
.eq(GoblinBraceletOrder::getOrderId, orderId);
List<GoblinBraceletOrder> goblinBraceletOrders = braceletOrderMapper.selectList(queryWrapper);
if (goblinBraceletOrders.isEmpty()) {
return null;
}
GoblinBraceletOrderVo orderVo = GoblinBraceletOrderVo.getNew().copy(goblinBraceletOrders.get(0));
setBraceletOrderVo(orderVo);
return orderVo;
} else { } else {
return (GoblinBraceletOrderVo) obj; return (GoblinBraceletOrderVo) obj;
} }
......
...@@ -197,7 +197,7 @@ candy_user_coupon.update_apply_refund=UPDATE candy_user_coupon SET state=?,opera ...@@ -197,7 +197,7 @@ candy_user_coupon.update_apply_refund=UPDATE candy_user_coupon SET state=?,opera
#---- #----
# ---- \u624B\u73AF\u8BA2\u5355 ---- # ---- \u624B\u73AF\u8BA2\u5355 ----
goblin_bracelet_order_insert = INSERT INTO `goblin_bracelet_order`(`order_id`, `user_id`, `bind_name`, `bind_mobile`, `bind_idcard`, `req_date`, `goods_desc`, `wristband_id`, `wristband_price`, `amount_id`, `amount_price`, `req_seq_id`, `hf_seq_id`, `trade_type`, `party_order_id`, `price`, `price_total`, `price_refund`, `refund_price_charges`, `refund_number`, `status`, `pay_status`, `created_at`, `updated_at`) VALUES (?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?) goblin_bracelet_order_insert = INSERT INTO `goblin_bracelet_order`(`order_id`, `user_id`, `bind_name`, `bind_mobile`, `bind_idcard`, `req_date`, `goods_desc`, `wristband_id`, `wristband_price`, `amount_id`, `amount_price`, `req_seq_id`, `hf_seq_id`, `trade_type`, `party_order_id`, `price`, `price_total`, `price_refund`, `refund_price_charges`, `refund_number`, `status`, `pay_status`, `created_at`, `updated_at`) VALUES (?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?)
gpblin_bracelet_order_update= update goblin_bracelet_order set out_trans_id=?, end_time=?, acct_date=?, price_actual=?, time_pay=?, updated_at=? where order_id=? gpblin_bracelet_order_update= update goblin_bracelet_order set out_trans_id=?, end_time=?, acct_date=?, price_actual=?, time_pay=?, status=?, pay_status=?, updated_at=? where order_id=?
goblin_bracelet_order_update_cardno=UPDATE goblin_bracelet_order SET cardno=?,updated_at=? WHERE order_id=? goblin_bracelet_order_update_cardno=UPDATE goblin_bracelet_order SET cardno=?,updated_at=? WHERE order_id=?
goblin_bracelet_order_update_fout_trade_no=UPDATE goblin_bracelet_order SET fout_trade_no=?,updated_at=? WHERE order_id=? goblin_bracelet_order_update_fout_trade_no=UPDATE goblin_bracelet_order SET fout_trade_no=?,updated_at=? WHERE order_id=?
goblin_bracelet_order_update_refund=UPDATE goblin_bracelet_order SET status=?,refund_status=?,refund_status_note=?,updated_at=? WHERE order_id=? goblin_bracelet_order_update_refund=UPDATE goblin_bracelet_order SET status=?,refund_status=?,refund_status_note=?,updated_at=? WHERE order_id=?
\ No newline at end of file
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment