|
@@ -199,7 +199,7 @@ public class WxNotifyController {
|
|
|
log.info(resourceString);
|
|
|
JSONObject jsonObject = JSONObject.parseObject(resourceString);
|
|
|
//将回调数据写入数据库
|
|
|
- writeRefundNotifyDataToDb2(jsonObject);
|
|
|
+ writeRefundNotifyDataToDb(jsonObject);
|
|
|
|
|
|
WxNotifyReturnDTO wxNotifyReturnDTO = new WxNotifyReturnDTO();
|
|
|
wxNotifyReturnDTO.setCode("SUCCESS");
|
|
@@ -208,85 +208,14 @@ public class WxNotifyController {
|
|
|
}
|
|
|
|
|
|
|
|
|
- /**
|
|
|
- * 原退款接口
|
|
|
- * @param jsonObject
|
|
|
- */
|
|
|
- private void writeRefundNotifyDataToDb(JSONObject jsonObject) {
|
|
|
- String refundId = jsonObject.getString("refund_id");
|
|
|
- String outTradeNo = jsonObject.getString("out_trade_no");
|
|
|
- RefundRecord refundRecord = refundRecordService.getByRefundId(refundId);
|
|
|
- if (refundRecord == null) {
|
|
|
- log.error("该退款订单不存在");
|
|
|
- return;
|
|
|
- }
|
|
|
- refundRecord.setTransactionId(jsonObject.getString("transaction_id"));
|
|
|
- refundRecord.setUserReceivedAccount(jsonObject.getString("user_received_account"));
|
|
|
- refundRecord.setStatus(jsonObject.getString("refund_status"));
|
|
|
- refundRecordService.updateById(refundRecord);
|
|
|
-
|
|
|
- if ("SUCCESS".equals(refundRecord.getStatus())) {
|
|
|
- //退款成功
|
|
|
- long oneYearLong = 1000 * 60 * 60 * 24 * 365l;
|
|
|
- WxJsOrder wxJsOrder = wxJsOrderService.getByOutTradeNo(outTradeNo);
|
|
|
- if ("科目二视频".equals(wxJsOrder.getGoodsName())) {
|
|
|
- GzptVideoVipDTO gzptVideoVipDTO = new GzptVideoVipDTO();
|
|
|
- gzptVideoVipDTO.setUserId(wxJsOrder.getUserId());
|
|
|
- GzptVideoVip gv = videoVipService.getGzptVideoVipByUserIdForLocal(gzptVideoVipDTO);
|
|
|
- if (gv != null) {
|
|
|
- //修改会员信息
|
|
|
- Date km2Date = gv.getSubject2();
|
|
|
- if (km2Date != null) { //扣掉一年时间
|
|
|
- long x = km2Date.getTime() - oneYearLong;
|
|
|
- Date km2oneYear = new Date(x);
|
|
|
- gv.setSubject2(km2oneYear);
|
|
|
- videoVipService.updateGzptVideoVipByUserId(gv);
|
|
|
- }
|
|
|
- }
|
|
|
- } else if ("科目三视频".equals(wxJsOrder.getGoodsName())) {
|
|
|
- GzptVideoVipDTO gzptVideoVipDTO = new GzptVideoVipDTO();
|
|
|
- gzptVideoVipDTO.setUserId(wxJsOrder.getUserId());
|
|
|
- GzptVideoVip gv = videoVipService.getGzptVideoVipByUserIdForLocal(gzptVideoVipDTO);
|
|
|
- if (gv != null) {
|
|
|
- //修改会员信息
|
|
|
- Date km3Date = gv.getSubject3();
|
|
|
- if (km3Date != null) { //扣掉一年时间
|
|
|
- long x = km3Date.getTime() - oneYearLong;
|
|
|
- Date km3oneYear = new Date(x);
|
|
|
- gv.setSubject3(km3oneYear);
|
|
|
- videoVipService.updateGzptVideoVipByUserId(gv);
|
|
|
- }
|
|
|
- }
|
|
|
- } else if ("全套实操视频".equals(wxJsOrder.getGoodsName())) {
|
|
|
- GzptVideoVipDTO gzptVideoVipDTO = new GzptVideoVipDTO();
|
|
|
- gzptVideoVipDTO.setUserId(wxJsOrder.getUserId());
|
|
|
- GzptVideoVip gv = videoVipService.getGzptVideoVipByUserIdForLocal(gzptVideoVipDTO);
|
|
|
- if (gv != null) {
|
|
|
- //修改会员信息
|
|
|
- Date km2Date = gv.getSubject2();
|
|
|
- Date km3Date = gv.getSubject3();
|
|
|
- if (km2Date != null) { //扣掉一年时间
|
|
|
- long x = km2Date.getTime() - oneYearLong;
|
|
|
- Date km2oneYear = new Date(x);
|
|
|
- gv.setSubject2(km2oneYear);
|
|
|
- }
|
|
|
- if (km3Date != null) { //扣掉一年时间
|
|
|
- long x = km3Date.getTime() - oneYearLong;
|
|
|
- Date km3oneYear = new Date(x);
|
|
|
- gv.setSubject3(km3oneYear);
|
|
|
- }
|
|
|
- videoVipService.updateGzptVideoVipByUserId(gv);
|
|
|
- }
|
|
|
- }
|
|
|
- }
|
|
|
- }
|
|
|
+
|
|
|
|
|
|
|
|
|
/**
|
|
|
* 新退款方便
|
|
|
* @param jsonObject
|
|
|
*/
|
|
|
- private void writeRefundNotifyDataToDb2(JSONObject jsonObject) {
|
|
|
+ private void writeRefundNotifyDataToDb(JSONObject jsonObject) {
|
|
|
String refundId = jsonObject.getString("refund_id");
|
|
|
String outTradeNo = jsonObject.getString("out_trade_no");
|
|
|
RefundRecord refundRecord = refundRecordService.getByRefundId(refundId);
|
|
@@ -301,96 +230,8 @@ public class WxNotifyController {
|
|
|
|
|
|
if ("SUCCESS".equals(refundRecord.getStatus())) {
|
|
|
//退款成功
|
|
|
- long oneYearLong = 1000 * 60 * 60 * 24 * 365l;
|
|
|
- WxJsOrder wxJsOrder = wxJsOrderService.getByOutTradeNo(outTradeNo);
|
|
|
- if ("科一专项VIP".equals(wxJsOrder.getGoodsName())) {
|
|
|
- UserVip userVip = userVipService.getUserVipByUserId(wxJsOrder.getUserId());
|
|
|
- if (userVip != null) {
|
|
|
- //修改会员信息
|
|
|
- Date km1Date = userVip.getSubject1();
|
|
|
- if (km1Date != null) { //扣掉一年时间
|
|
|
- long x = km1Date.getTime() - oneYearLong;
|
|
|
- Date km1oneYear = new Date(x);
|
|
|
- userVip.setSubject1(km1oneYear);
|
|
|
- userVipService.updateById(userVip);
|
|
|
- }
|
|
|
- }
|
|
|
- } else if ("科二专项VIP".equals(wxJsOrder.getGoodsName())) {
|
|
|
- UserVip userVip = userVipService.getUserVipByUserId(wxJsOrder.getUserId());
|
|
|
- if (userVip != null) {
|
|
|
- //修改会员信息
|
|
|
- Date km2Date = userVip.getSubject2();
|
|
|
- if (km2Date != null) { //扣掉一年时间
|
|
|
- long x = km2Date.getTime() - oneYearLong;
|
|
|
- Date km2oneYear = new Date(x);
|
|
|
- userVip.setSubject2(km2oneYear);
|
|
|
- userVipService.updateById(userVip);
|
|
|
- }
|
|
|
- }
|
|
|
- } else if ("科三专项VIP".equals(wxJsOrder.getGoodsName())) {
|
|
|
- UserVip userVip = userVipService.getUserVipByUserId(wxJsOrder.getUserId());
|
|
|
- if (userVip != null) {
|
|
|
- //修改会员信息
|
|
|
- Date km3Date = userVip.getSubject3();
|
|
|
- if (km3Date != null) { //扣掉一年时间
|
|
|
- long x = km3Date.getTime() - oneYearLong;
|
|
|
- Date km3oneYear = new Date(x);
|
|
|
- userVip.setSubject3(km3oneYear);
|
|
|
- userVipService.updateById(userVip);
|
|
|
- }
|
|
|
- }
|
|
|
- } else if ("科四专项VIP".equals(wxJsOrder.getGoodsName())) {
|
|
|
- UserVip userVip = userVipService.getUserVipByUserId(wxJsOrder.getUserId());
|
|
|
- if (userVip != null) {
|
|
|
- //修改会员信息
|
|
|
- Date km4Date = userVip.getSubject4();
|
|
|
- if (km4Date != null) { //扣掉一年时间
|
|
|
- long x = km4Date.getTime() - oneYearLong;
|
|
|
- Date km4oneYear = new Date(x);
|
|
|
- userVip.setSubject4(km4oneYear);
|
|
|
- userVipService.updateById(userVip);
|
|
|
- }
|
|
|
- }
|
|
|
- } else if ("科目一二三四所有付费权益".equals(wxJsOrder.getGoodsName())) {
|
|
|
- UserVip userVip = userVipService.getUserVipByUserId(wxJsOrder.getUserId());
|
|
|
- if (userVip != null) {
|
|
|
- //修改会员信息
|
|
|
- Date km1Date = userVip.getSubject1();
|
|
|
- Date km2Date = userVip.getSubject2();
|
|
|
- Date km3Date = userVip.getSubject3();
|
|
|
- Date km4Date = userVip.getSubject4();
|
|
|
- if (km1Date != null) { //扣掉一年时间
|
|
|
- long x = km1Date.getTime() - oneYearLong;
|
|
|
- Date km1oneYear = new Date(x);
|
|
|
- userVip.setSubject1(km1oneYear);
|
|
|
- }
|
|
|
- if (km2Date != null) { //扣掉一年时间
|
|
|
- long x = km2Date.getTime() - oneYearLong;
|
|
|
- Date km2oneYear = new Date(x);
|
|
|
- userVip.setSubject2(km2oneYear);
|
|
|
- }
|
|
|
- if (km3Date != null) { //扣掉一年时间
|
|
|
- long x = km3Date.getTime() - oneYearLong;
|
|
|
- Date km3oneYear = new Date(x);
|
|
|
- userVip.setSubject3(km3oneYear);
|
|
|
- }
|
|
|
- if (km4Date != null) { //扣掉一年时间
|
|
|
- long x = km4Date.getTime() - oneYearLong;
|
|
|
- Date km4oneYear = new Date(x);
|
|
|
- userVip.setSubject4(km4oneYear);
|
|
|
- }
|
|
|
- userVipService.updateById(userVip);
|
|
|
- }
|
|
|
- }
|
|
|
- OrderInfo orderInfo = orderInfoService.getByOutTradeNo(outTradeNo);
|
|
|
- try {
|
|
|
- orderInfo.setOutRefundNo(refundRecord.getOutRefundNo());
|
|
|
- orderInfo.setPayType(3);
|
|
|
- orderInfoService.updateById(orderInfo);
|
|
|
- } catch (Exception e) {
|
|
|
- e.printStackTrace();
|
|
|
- }
|
|
|
-
|
|
|
+ WxJsOrder order = wxJsOrderService.getByOutTradeNo(outTradeNo);
|
|
|
+ orderInfoService.refundOrder(order);
|
|
|
}
|
|
|
}
|
|
|
|