fixbug 用户退款没有正常结束订单
This commit is contained in:
@@ -21,7 +21,9 @@ public class TestCodeClick implements ActionListener {
|
||||
|
||||
@Override
|
||||
public void actionPerformed(ActionEvent e) {
|
||||
logger.error("sending barcode msg to api !!!=========" + barcode.getText());
|
||||
ClientThread.getInstance().checkBarcode(barcode.getText());
|
||||
String text = barcode.getText();
|
||||
text = text.substring(1,text.length() -1);
|
||||
logger.error("sending barcode msg to api !!!=========" + text);
|
||||
ClientThread.getInstance().checkBarcode(text);
|
||||
}
|
||||
}
|
||||
|
||||
@@ -76,6 +76,7 @@ public class BarcodeTimeOrderTask {
|
||||
}
|
||||
barcodeOrderTime.setPaying(0);
|
||||
barcodeOrderTime.setModifiedTime(date);
|
||||
barcodeOrderTime.setStatus(BarCodeStatusEnum.USED.getValue());
|
||||
barcodeOrderTimeMapper.updateByPrimaryKey(barcodeOrderTime);
|
||||
if (barcodeOrderTime.getPayMoney() <= 0) {
|
||||
continue;
|
||||
@@ -87,7 +88,7 @@ public class BarcodeTimeOrderTask {
|
||||
MemberRefund memberRefund = new MemberRefund();
|
||||
memberRefund.setMemberId(barcodeOrderTime.getMemberId());
|
||||
memberRefund.setLessonId(1);
|
||||
memberRefund.setMoney(new BigDecimal(barcodeOrderTime.getPayMoney()));
|
||||
memberRefund.setMoney(order.getPrice());
|
||||
memberRefund.setOrderSn(barcodeOrderTime.getOrderSn());
|
||||
memberRefund.setTransactionId(order.getTradeSn());
|
||||
memberRefund.setOrderId(order.getId());
|
||||
|
||||
@@ -169,6 +169,9 @@ public class MemberRefundService extends BaseServiceImpl {
|
||||
// 通过订单号查询‘用户退款记录表’
|
||||
try {
|
||||
MemberRefund memberRefund = memberRefundMapper.findByOrderSn(outTradeNo);
|
||||
if (memberRefund == null) {
|
||||
return;
|
||||
}
|
||||
if (refundStatus.equals(memberRefund.getRefundStatus())){
|
||||
return;
|
||||
}
|
||||
|
||||
@@ -179,9 +179,9 @@ public class VenueEnterService extends BaseServiceImpl {
|
||||
*/
|
||||
private void checkOrderPaying(Integer memberId) {
|
||||
Order mOrder = orderMapper.findLastOrder(memberId);
|
||||
// 有未支付的订单,且订单未超过五分钟未支付
|
||||
// 有未支付的订单,且订单未超过两分钟未支付
|
||||
int diffMinute = DateUtilCard.diffMinute(mOrder.getModifiedTime(), new Date());
|
||||
if (mOrder != null && PayStatusEnum.NOT_PAY.value == mOrder.getPayStatus() && diffMinute < 5) {
|
||||
if (mOrder != null && PayStatusEnum.NOT_PAY.value == mOrder.getPayStatus() && diffMinute < 2) {
|
||||
throw new ServiceException("您有处理中的订单,或刚刚取消支付,请稍后再试");
|
||||
}
|
||||
}
|
||||
@@ -222,8 +222,8 @@ public class VenueEnterService extends BaseServiceImpl {
|
||||
private void createBarcodeTimeOrder(Integer memberId, Integer venueId, Integer timePayHour,String orderSn) {
|
||||
Date startDate = new Date();
|
||||
Date endDate = DateUtilCard.addHours(startDate, timePayHour);
|
||||
// 如果是一个小时,则默认给15分钟宽限期
|
||||
if (timePayHour == 1) {
|
||||
// 如果小于2小时,则默认给15分钟宽限期,包时订单
|
||||
if (timePayHour <= 2) {
|
||||
endDate = DateUtilCard.addMinute(endDate,15);
|
||||
}
|
||||
BarcodeOrderTime barcodeOrderTime = new BarcodeOrderTime();
|
||||
@@ -232,6 +232,7 @@ public class VenueEnterService extends BaseServiceImpl {
|
||||
barcodeOrderTime.setOrderStart(startDate);
|
||||
barcodeOrderTime.setOrderEnd(endDate);
|
||||
barcodeOrderTime.setStatus(BarCodeStatusEnum.INIT.getValue());
|
||||
barcodeOrderTime.setPaying(0);
|
||||
barcodeOrderTime.setOrderSn(orderSn);
|
||||
barcodeOrderTimeMapper.insert(barcodeOrderTime);
|
||||
}
|
||||
|
||||
@@ -263,6 +263,7 @@ public class WechatPayService extends BaseServiceImpl {
|
||||
/**
|
||||
* 退款接口
|
||||
*/
|
||||
@Transactional
|
||||
public void refundInputMoney(MemberRefund memberRefund,BigDecimal aMoney){
|
||||
OrderPaySignResponse.WechatPayParam wechatPayParam;
|
||||
try {
|
||||
@@ -288,7 +289,7 @@ public class WechatPayService extends BaseServiceImpl {
|
||||
String refundId = response.getRefundId();
|
||||
//更新‘用户退款记录表’中微信退款单号
|
||||
memberRefund.setRefundId(refundId);
|
||||
memberRefund.setMoney(new BigDecimal(payMoney));
|
||||
memberRefund.setMoney(aMoney);
|
||||
memberRefundService.update(memberRefund);
|
||||
}else{
|
||||
logger.error("返回的结果为:"+ToStringBuilder.reflectionToString(response));
|
||||
@@ -310,7 +311,7 @@ public class WechatPayService extends BaseServiceImpl {
|
||||
if (params.get("return_code").equals("SUCCESS")) {
|
||||
String reqInfo = params.get("req_info");//加密信息
|
||||
PayConfig payConfig = payConfigService.findKey("face"); //得到秘钥
|
||||
String key = MD5Utils.md5(payConfig.getKey()).toString();
|
||||
String key = MD5Utils.md5(payConfig.getKey());
|
||||
key = key.toLowerCase();
|
||||
String refundInfo = EncryptionUtil.Aes256Decode(reqInfo,key);
|
||||
Map<String,Object> map = XmlUtils.getResult(refundInfo);
|
||||
|
||||
@@ -44,7 +44,8 @@ public class MemberMoney {
|
||||
memberMoneyLog.setLessonId(lessonId);
|
||||
memberMoneyLogService.insert(memberMoneyLog);
|
||||
if (type.intValue() != MoneyLogEnum.VIPCARD.value && type.intValue() != MoneyLogEnum.BUY_LESSON.value &&
|
||||
type.intValue() != MoneyLogEnum.REFUND.value && type.intValue() != MoneyLogEnum.APPLY_MONEY_SUCCESS.value){
|
||||
type.intValue() != MoneyLogEnum.REFUND.value && type.intValue() != MoneyLogEnum.APPLY_MONEY_SUCCESS.value
|
||||
&& type.intValue() != MoneyLogEnum.JOIN.value){
|
||||
// 修改用户余额
|
||||
memberService.updateMoney(memberId,price);
|
||||
}
|
||||
|
||||
@@ -307,6 +307,6 @@
|
||||
FROM
|
||||
<include refid="tableName"></include>
|
||||
WHERE
|
||||
order_sn = #{outTradeNo}
|
||||
order_sn = #{outTradeNo} and success_time is NULL
|
||||
</select>
|
||||
</mapper>
|
||||
Reference in New Issue
Block a user