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);
|
||||
}
|
||||
|
||||
@@ -41,12 +41,12 @@
|
||||
<result column="modified_time" property="modifiedTime" jdbcType="TIMESTAMP" />
|
||||
<result column="deleted" property="deleted" jdbcType="TINYINT" />
|
||||
</resultMap>
|
||||
|
||||
|
||||
<!--表名 -->
|
||||
<sql id="tableName">
|
||||
sv_member_refund
|
||||
</sql>
|
||||
|
||||
|
||||
<!-- 字段 -->
|
||||
<sql id="Field">
|
||||
id,
|
||||
@@ -67,7 +67,7 @@
|
||||
deleted,
|
||||
platform_id
|
||||
</sql>
|
||||
|
||||
|
||||
<!-- 字段值 -->
|
||||
<sql id="FieldValue">
|
||||
#{id, jdbcType=INTEGER},
|
||||
@@ -98,7 +98,7 @@
|
||||
WHERE
|
||||
deleted = 0
|
||||
</select>
|
||||
|
||||
|
||||
<!-- 新增-->
|
||||
<insert id="insert" parameterType="com.sv.entity.MemberRefund" useGeneratedKeys="true" keyProperty="id">
|
||||
INSERT INTO
|
||||
@@ -210,7 +210,7 @@
|
||||
</if>
|
||||
</trim>
|
||||
</insert>
|
||||
|
||||
|
||||
<!-- 删除-->
|
||||
<delete id="delete" parameterType="java.lang.Integer">
|
||||
UPDATE
|
||||
@@ -233,7 +233,7 @@
|
||||
#{item}
|
||||
</foreach>
|
||||
</delete>
|
||||
|
||||
|
||||
<!-- 更新记录 -->
|
||||
<update id="update" parameterType="com.sv.entity.MemberRefund">
|
||||
UPDATE
|
||||
@@ -290,7 +290,7 @@
|
||||
</set>
|
||||
WHERE id = #{id}
|
||||
</update>
|
||||
|
||||
|
||||
<!-- 通过编号查询 -->
|
||||
<select id="findById" parameterType="java.lang.Integer" resultMap="MemberRefundMap">
|
||||
SELECT
|
||||
@@ -307,6 +307,6 @@
|
||||
FROM
|
||||
<include refid="tableName"></include>
|
||||
WHERE
|
||||
order_sn = #{outTradeNo}
|
||||
order_sn = #{outTradeNo} and success_time is NULL
|
||||
</select>
|
||||
</mapper>
|
||||
</mapper>
|
||||
|
||||
Reference in New Issue
Block a user