diff --git a/hai-bweb/src/main/java/com/bweb/controller/HighTestController.java b/hai-bweb/src/main/java/com/bweb/controller/HighTestController.java index 913cd70e..6e967205 100644 --- a/hai-bweb/src/main/java/com/bweb/controller/HighTestController.java +++ b/hai-bweb/src/main/java/com/bweb/controller/HighTestController.java @@ -1 +1 @@ - package com.bweb.controller; import com.alibaba.fastjson.JSONArray; import com.alibaba.fastjson.JSONObject; import com.alipay.api.domain.ForbbidenTime; import com.alipay.api.domain.OfferObject; import com.hai.common.exception.ErrorCode; import com.hai.common.exception.ErrorHelp; import com.hai.common.exception.SysCode; import com.hai.common.pay.util.sdk.WXPayConstants; import com.hai.common.utils.*; import com.hai.config.*; import com.hai.entity.*; import com.hai.model.OrderRefundModel; import com.hai.model.ResponseData; import com.hai.order.service.OrderRefundService; import com.hai.order.service.OrderService; import com.hai.order.type.OrderRefundOpUserType; import com.hai.service.*; import io.swagger.annotations.Api; import io.swagger.annotations.ApiOperation; import org.apache.commons.collections4.MapUtils; import org.apache.commons.lang3.StringUtils; import org.slf4j.Logger; import org.slf4j.LoggerFactory; import org.springframework.stereotype.Controller; import org.springframework.web.bind.annotation.*; import javax.annotation.Resource; import javax.servlet.http.HttpServletRequest; import java.math.BigDecimal; import java.util.*; import java.util.regex.Matcher; import java.util.regex.Pattern; /** * @Auther: 胡锐 * @Description: * @Date: 2021/3/26 23:08 */ @Controller @RequestMapping(value = "/test") @Api(value = "订单接口") public class HighTestController { private static Logger log = LoggerFactory.getLogger(HighTestController.class); @Resource private OutRechargeOrderService outRechargeOrderService; @Resource private OrderService orderService; @RequestMapping(value="/resolveResponse",method = RequestMethod.GET) @ResponseBody @ApiOperation(value = "解析") public ResponseData resolveResponse( @RequestParam(name = "data", required = false) String data ) { try { JSONObject cardInfoObject = HuiLianTongUnionCardConfig.resolveResponse(data); return ResponseMsgUtil.success(cardInfoObject); } catch (Exception e) { log.error("getUserByTelephone",e); return ResponseMsgUtil.exception(e); } } @RequestMapping(value = "/getHuiLianTongCardConsume", method = RequestMethod.GET) @ResponseBody @ApiOperation(value = "查询汇联通工会卡消费记录") public ResponseData getHuiLianTongCardConsume(@RequestParam(name = "businessType", required = true) String businessType, @RequestParam(name = "cardNo", required = true) String cardNo, @RequestParam(name = "sdate", required = true) Long sdate, @RequestParam(name = "edate", required = true) Long edate, @RequestParam(name = "pageNum", required = true) Integer pageNum, @RequestParam(name = "pageSize", required = true) Integer pageSize, HttpServletRequest request) { try { JSONObject consumptionRecord = HuiLianTongUnionCardConfig.queryConsumptionRecordByBusiness(businessType, cardNo, sdate, edate, pageNum, pageSize); if (StringUtils.isBlank(consumptionRecord.getString("data"))) { throw ErrorHelp.genException(SysCode.System, ErrorCode.REQUEST_ERROR, ""); } JSONArray array = HuiLianTongUnionCardConfig.resolveResponse(consumptionRecord.getString("data")).getJSONArray("records"); return ResponseMsgUtil.success(array); } catch (Exception e) { log.error("HighUserCardController --> getHuiLianTongCardConsume() error!", e); return ResponseMsgUtil.exception(e); } } @RequestMapping(value = "/insertV2", method = RequestMethod.GET) @ResponseBody @ApiOperation(value = "支付") public ResponseData insertV2() { try { Map map = new HashMap<>(); map.put("timetable" , new Date().getTime()); map.put("apiKey" , "9A838BEBC60712775E119366DB804C43"); map.put("orderNo" , "20220329182036435619"); map.put("count" , "1"); map.put("couTypeCode" , "test"); map.put("phone" , "15206071196"); map.put("merchId" , "20220670800"); map.put("sign" , WxUtils.generateSignApi(map, MapUtils.getString(map, "apiKey"), WXPayConstants.SignType.MD5)); return ResponseMsgUtil.success(HttpsUtils.doPost("https://hsgcs.dctpay.com/v1/gzSinopec/couJointDist" , map)); } catch (Exception e) { log.error("HighOrderController --> getBackendToken() error!", e); return ResponseMsgUtil.exception(e); } } @RequestMapping(value = "/phoneBillOrderError", method = RequestMethod.GET) @ResponseBody @ApiOperation(value = "话费订单错误") public ResponseData phoneBillOrderError() { List highOrders = orderService.phoneErrorOrder(); JSONObject object; for (HighOrder order: highOrders) { try { object = new JSONObject(); OutRechargeOrder outRechargeOrder = outRechargeOrderService.findByOrderNo(order.getOrderNo()); if (outRechargeOrder.getPayStatus() == 102 && outRechargeOrder.getRechargeStatus() != 202) { if (outRechargeOrder.getOutRechargeChildOrders().size() == 0) { OutRechargeChildOrder outRechargeChildOrder = new OutRechargeChildOrder(); outRechargeChildOrder.setOrderNo("CZ" + DateUtil.date2String(new Date(), "yyyyMMddHHmmss") + IDGenerator.nextId(5)); outRechargeChildOrder.setParentOrderId(outRechargeOrder.getId()); outRechargeChildOrder.setUpdateTime(new Date()); outRechargeChildOrder.setCreateTime(new Date()); outRechargeOrderService.refundOrder(outRechargeOrder.getId() , outRechargeChildOrder); } else { if (outRechargeOrder.getOutRechargeChildOrders().get(0).getStatus() != 101) { // 龙阅 if (outRechargeOrder.getOutRechargeChildOrders().get(0).getRechargePlatform() == 2) { object.put("out_trade_nums" , outRechargeOrder.getOutRechargeChildOrders().get(0).getOrderNo()); JSONObject jsonObject = RechargeConfig.checkOrderByLy(object); JSONArray objectJSONArray = jsonObject.getJSONArray("data"); JSONObject objectData = new JSONObject(); for (Object objects : objectJSONArray) { objectData = (JSONObject) objects; } if (objectData.size() == 0) { outRechargeOrderService.refundOrder(outRechargeOrder.getId() , outRechargeOrder.getOutRechargeChildOrders().get(0)); } else { // -1取消,0充值中 ,1充值成功,2充值失败,3部分成功 // -1取消,0充值中 ,1充值成功,2充值失败,3部分成功 if (objectData.getInteger("state") == 2) { outRechargeOrderService.refundOrder(outRechargeOrder.getId() , outRechargeOrder.getOutRechargeChildOrders().get(0)); } else if (objectData.getInteger("state") == 1) { outRechargeOrderService.completeOrder(outRechargeOrder , outRechargeOrder.getOutRechargeChildOrders().get(0)); } } } } } } } catch (Exception e) { log.error("HighUserCardController --> oilCardRefund() error!", e); return ResponseMsgUtil.exception(e); } } return ResponseMsgUtil.success("null"); } @RequestMapping(value = "/checkOrderByLy", method = RequestMethod.GET) @ResponseBody @ApiOperation(value = "龙阅话费查询") public ResponseData checkOrderByLy(@RequestParam(name = "orderNo", required = true) String orderNo) { try { JSONObject object = new JSONObject(); object.put("out_trade_nums" , orderNo); JSONObject jsonObject = RechargeConfig.checkOrderByLy(object); JSONArray objectJSONArray = jsonObject.getJSONArray("data"); JSONObject objectData = new JSONObject(); for (Object objects : objectJSONArray) { objectData = (JSONObject) objects; } if (objectData.size() == 0) { return ResponseMsgUtil.success("话费退款"); } else { if (objectData.getInteger("state") == 2) { return ResponseMsgUtil.success("话费退款"); } else if (objectData.getInteger("state") == 1) { return ResponseMsgUtil.success("话费完成"); } } return ResponseMsgUtil.success(objectJSONArray); } catch (Exception e) { log.error("HighOrderController --> getBackendToken() error!", e); return ResponseMsgUtil.exception(e); } } } \ No newline at end of file + package com.bweb.controller; import com.alibaba.fastjson.JSONArray; import com.alibaba.fastjson.JSONObject; import com.alipay.api.domain.ForbbidenTime; import com.alipay.api.domain.OfferObject; import com.hai.common.exception.ErrorCode; import com.hai.common.exception.ErrorHelp; import com.hai.common.exception.SysCode; import com.hai.common.pay.util.sdk.WXPayConstants; import com.hai.common.utils.*; import com.hai.config.*; import com.hai.entity.*; import com.hai.model.OrderRefundModel; import com.hai.model.ResponseData; import com.hai.order.service.OrderRefundService; import com.hai.order.service.OrderService; import com.hai.order.type.OrderRefundOpUserType; import com.hai.service.*; import io.swagger.annotations.Api; import io.swagger.annotations.ApiOperation; import org.apache.commons.collections4.MapUtils; import org.apache.commons.lang3.StringUtils; import org.slf4j.Logger; import org.slf4j.LoggerFactory; import org.springframework.stereotype.Controller; import org.springframework.web.bind.annotation.*; import javax.annotation.Resource; import javax.servlet.http.HttpServletRequest; import java.math.BigDecimal; import java.util.*; import java.util.regex.Matcher; import java.util.regex.Pattern; /** * @Auther: 胡锐 * @Description: * @Date: 2021/3/26 23:08 */ @Controller @RequestMapping(value = "/test") @Api(value = "订单接口") public class HighTestController { private static Logger log = LoggerFactory.getLogger(HighTestController.class); @Resource private OutRechargeOrderService outRechargeOrderService; @Resource private OrderService orderService; @RequestMapping(value="/resolveResponse",method = RequestMethod.GET) @ResponseBody @ApiOperation(value = "解析") public ResponseData resolveResponse( @RequestParam(name = "data", required = false) String data ) { try { JSONObject cardInfoObject = HuiLianTongUnionCardConfig.resolveResponse(data); return ResponseMsgUtil.success(cardInfoObject); } catch (Exception e) { log.error("getUserByTelephone",e); return ResponseMsgUtil.exception(e); } } @RequestMapping(value = "/getHuiLianTongCardConsume", method = RequestMethod.GET) @ResponseBody @ApiOperation(value = "查询汇联通工会卡消费记录") public ResponseData getHuiLianTongCardConsume(@RequestParam(name = "businessType", required = true) String businessType, @RequestParam(name = "cardNo", required = true) String cardNo, @RequestParam(name = "sdate", required = true) Long sdate, @RequestParam(name = "edate", required = true) Long edate, @RequestParam(name = "pageNum", required = true) Integer pageNum, @RequestParam(name = "pageSize", required = true) Integer pageSize, HttpServletRequest request) { try { JSONObject consumptionRecord = HuiLianTongUnionCardConfig.queryConsumptionRecordByBusiness(businessType, cardNo, sdate, edate, pageNum, pageSize); if (StringUtils.isBlank(consumptionRecord.getString("data"))) { throw ErrorHelp.genException(SysCode.System, ErrorCode.REQUEST_ERROR, ""); } JSONArray array = HuiLianTongUnionCardConfig.resolveResponse(consumptionRecord.getString("data")).getJSONArray("records"); return ResponseMsgUtil.success(array); } catch (Exception e) { log.error("HighUserCardController --> getHuiLianTongCardConsume() error!", e); return ResponseMsgUtil.exception(e); } } @RequestMapping(value = "/insertV2", method = RequestMethod.GET) @ResponseBody @ApiOperation(value = "支付") public ResponseData insertV2() { try { Map map = new HashMap<>(); map.put("timetable" , new Date().getTime()); map.put("apiKey" , "9A838BEBC60712775E119366DB804C43"); map.put("orderNo" , "20220329182036435619"); map.put("count" , "1"); map.put("couTypeCode" , "test"); map.put("phone" , "15206071196"); map.put("merchId" , "20220670800"); map.put("sign" , WxUtils.generateSignApi(map, MapUtils.getString(map, "apiKey"), WXPayConstants.SignType.MD5)); return ResponseMsgUtil.success(HttpsUtils.doPost("https://hsgcs.dctpay.com/v1/gzSinopec/couJointDist" , map)); } catch (Exception e) { log.error("HighOrderController --> getBackendToken() error!", e); return ResponseMsgUtil.exception(e); } } @RequestMapping(value = "/phoneBillOrderError", method = RequestMethod.GET) @ResponseBody @ApiOperation(value = "话费订单错误") public ResponseData phoneBillOrderError() { List highOrders = orderService.phoneErrorOrder(); JSONObject object; for (HighOrder order: highOrders) { object = new JSONObject(); OutRechargeOrder outRechargeOrder = outRechargeOrderService.findByOrderNo(order.getOrderNo()); try { if (outRechargeOrder.getPayStatus() == 102 && outRechargeOrder.getRechargeStatus() != 202) { if (outRechargeOrder.getOutRechargeChildOrders().size() == 0) { OutRechargeChildOrder outRechargeChildOrder = new OutRechargeChildOrder(); outRechargeChildOrder.setOrderNo("CZ" + DateUtil.date2String(new Date(), "yyyyMMddHHmmss") + IDGenerator.nextId(5)); outRechargeChildOrder.setParentOrderId(outRechargeOrder.getId()); outRechargeChildOrder.setUpdateTime(new Date()); outRechargeChildOrder.setCreateTime(new Date()); outRechargeOrderService.refundOrder(outRechargeOrder.getId() , outRechargeChildOrder); } else { if (outRechargeOrder.getOutRechargeChildOrders().get(0).getStatus() != 101) { // 龙阅 if (outRechargeOrder.getOutRechargeChildOrders().get(0).getRechargePlatform() == 2) { object.put("out_trade_nums" , outRechargeOrder.getOutRechargeChildOrders().get(0).getOrderNo()); JSONObject jsonObject = RechargeConfig.checkOrderByLy(object); JSONArray objectJSONArray = jsonObject.getJSONArray("data"); JSONObject objectData = new JSONObject(); for (Object objects : objectJSONArray) { objectData = (JSONObject) objects; } if (objectData.size() == 0) { outRechargeOrderService.refundOrder(outRechargeOrder.getId() , outRechargeOrder.getOutRechargeChildOrders().get(0)); } else { // -1取消,0充值中 ,1充值成功,2充值失败,3部分成功 // -1取消,0充值中 ,1充值成功,2充值失败,3部分成功 if (objectData.getInteger("state") == 2 || objectData.getInteger("state") == -1) { outRechargeOrderService.refundOrder(outRechargeOrder.getId() , outRechargeOrder.getOutRechargeChildOrders().get(0)); } else if (objectData.getInteger("state") == 1) { outRechargeOrderService.completeOrder(outRechargeOrder , outRechargeOrder.getOutRechargeChildOrders().get(0)); } } } } } } } catch (Exception e) { log.error("HighUserCardController --> oilCardRefund() error!", e); } } return ResponseMsgUtil.success("null"); } @RequestMapping(value = "/checkOrderByLy", method = RequestMethod.GET) @ResponseBody @ApiOperation(value = "龙阅话费查询") public ResponseData checkOrderByLy(@RequestParam(name = "orderNo", required = true) String orderNo) { try { JSONObject object = new JSONObject(); OutRechargeOrder outRechargeOrder = outRechargeOrderService.findByOrderNo(orderNo); OutRechargeChildOrder outRechargeChildOrder = outRechargeOrder.getOutRechargeChildOrders().get(0); object.put("out_trade_nums" , outRechargeChildOrder.getOrderNo()); JSONObject jsonObject = RechargeConfig.checkOrderByLy(object); JSONArray objectJSONArray = jsonObject.getJSONArray("data"); JSONObject objectData = new JSONObject(); for (Object objects : objectJSONArray) { objectData = (JSONObject) objects; } if (objectData.size() == 0) { outRechargeOrderService.refundOrder(outRechargeOrder.getId() , outRechargeChildOrder); } else { if (objectData.getInteger("state") == 2 || objectData.getInteger("state") == -1) { outRechargeOrderService.refundOrder(outRechargeOrder.getId() , outRechargeChildOrder); } else if (objectData.getInteger("state") == 1) { outRechargeOrderService.completeOrder(outRechargeOrder , outRechargeChildOrder); } } return ResponseMsgUtil.success(objectJSONArray); } catch (Exception e) { log.error("HighOrderController --> getBackendToken() error!", e); return ResponseMsgUtil.exception(e); } } @RequestMapping(value = "/checkOrderByLyDetail", method = RequestMethod.GET) @ResponseBody @ApiOperation(value = "龙阅话费查询") public ResponseData checkOrderByLyDetail(@RequestParam(name = "orderNo", required = true) String orderNo) { try { JSONObject object = new JSONObject(); OutRechargeOrder outRechargeOrder = outRechargeOrderService.findByOrderNo(orderNo); OutRechargeChildOrder outRechargeChildOrder = outRechargeOrder.getOutRechargeChildOrders().get(0); object.put("out_trade_nums" , outRechargeChildOrder.getOrderNo()); JSONObject jsonObject = RechargeConfig.checkOrderByLy(object); JSONArray objectJSONArray = jsonObject.getJSONArray("data"); JSONObject objectData = new JSONObject(); for (Object objects : objectJSONArray) { objectData = (JSONObject) objects; } if (objectData.size() == 0) { return ResponseMsgUtil.success("无订单退款"); } else { if (objectData.getInteger("state") == 2 || objectData.getInteger("state") == -1) { return ResponseMsgUtil.success("退款"); } else if (objectData.getInteger("state") == 1) { return ResponseMsgUtil.success("完成订单"); } } return ResponseMsgUtil.success(objectJSONArray); } catch (Exception e) { log.error("HighOrderController --> getBackendToken() error!", e); return ResponseMsgUtil.exception(e); } } } \ No newline at end of file diff --git a/hai-bweb/src/main/resources/prod/logback.xml b/hai-bweb/src/main/resources/prod/logback.xml index 5762f5eb..4526f38b 100644 --- a/hai-bweb/src/main/resources/prod/logback.xml +++ b/hai-bweb/src/main/resources/prod/logback.xml @@ -74,6 +74,40 @@ UTF-8 + + log/RechargeLog.log + + log/RechargeLog/RechargeLog.log.%d.%i + + + 64 MB + + + + + %d %p (%file:%line\)- %m%n + + UTF-8 + + + + log/HltCardLog.log + + log/hlt/hltcard.log.%d.%i + + + 64 MB + + + + + %d %p (%file:%line\)- %m%n + + UTF-8 + + @@ -91,4 +125,13 @@ + + + + + + + + + diff --git a/hai-order/src/main/java/com/web/controller/business/OrderCouponController.java b/hai-order/src/main/java/com/web/controller/business/OrderCouponController.java index 4122c717..0e4f38c3 100644 --- a/hai-order/src/main/java/com/web/controller/business/OrderCouponController.java +++ b/hai-order/src/main/java/com/web/controller/business/OrderCouponController.java @@ -75,6 +75,7 @@ public class OrderCouponController { @RequestParam(name = "payTimeE", required = false) Long payTimeE, @RequestParam(name = "finishTimeS", required = false) Long finishTimeS, @RequestParam(name = "finishTimeE", required = false) Long finishTimeE, + @RequestParam(name = "exceptionStatus", required = false) Boolean exceptionStatus, @RequestParam(name = "pageNum", required = true) Integer pageNum, @RequestParam(name = "pageSize", required = true) Integer pageSize, HttpServletRequest request) { @@ -109,6 +110,7 @@ public class OrderCouponController { map.put("payTimeE", payTimeE); map.put("finishTimeS", finishTimeS); map.put("finishTimeE", finishTimeE); + map.put("exceptionStatus", exceptionStatus); PageHelper.startPage(pageNum,pageSize); return ResponseMsgUtil.success(new PageInfo<>(orderServiceExt.getOrderCouponList(map))); @@ -120,7 +122,6 @@ public class OrderCouponController { } - @RequestMapping(value = "/exportOrderCouponExcel", method = RequestMethod.GET) @ResponseBody @ApiOperation(value = "导出卡券订单") @@ -138,6 +139,7 @@ public class OrderCouponController { @RequestParam(name = "payTimeE", required = false) Long payTimeE, @RequestParam(name = "finishTimeS", required = false) Long finishTimeS, @RequestParam(name = "finishTimeE", required = false) Long finishTimeE, + @RequestParam(name = "exceptionStatus", required = false) Integer exceptionStatus, HttpServletRequest request) { try { @@ -169,6 +171,7 @@ public class OrderCouponController { map.put("payTimeE", payTimeE); map.put("finishTimeS", finishTimeS); map.put("finishTimeE", finishTimeE); + map.put("exceptionStatus", exceptionStatus); List list = orderServiceExt.getOrderCouponList(map); diff --git a/hai-order/src/main/java/com/web/controller/business/OrderTelChargeCallbackController.java b/hai-order/src/main/java/com/web/controller/business/OrderTelChargeCallbackController.java index 3166711b..78c3659a 100644 --- a/hai-order/src/main/java/com/web/controller/business/OrderTelChargeCallbackController.java +++ b/hai-order/src/main/java/com/web/controller/business/OrderTelChargeCallbackController.java @@ -93,13 +93,7 @@ public class OrderTelChargeCallbackController { }).start(); } - childOrder.setStatus(101); - rechargeOrder.setRechargeStatus(202); - rechargeOrder.setPayStatus(100); - - outRechargeOrderService.updateOrder(rechargeOrder); - outRechargeChildOrderService.updateOrder(childOrder); - orderFinish(rechargeOrder); + outRechargeOrderService.completeOrder(rechargeOrder , childOrder); // api商户订单 if (rechargeOrder.getPayType() == 6) { @@ -156,14 +150,7 @@ public class OrderTelChargeCallbackController { highUser.getOpenId()); }).start(); } - childOrder.setStatus(101); - rechargeOrder.setRechargeStatus(202); - rechargeOrder.setPayStatus(100); - rechargeOrder.setFinishTime(new Date()); - - outRechargeOrderService.updateOrder(rechargeOrder); - outRechargeChildOrderService.updateOrder(childOrder); - orderFinish(rechargeOrder); + outRechargeOrderService.completeOrder(rechargeOrder , childOrder); // todo 代理商话费回调 // if (rechargeOrder.getPayType() == 6) { // apiOrderRecord(rechargeOrder); @@ -221,20 +208,6 @@ public class OrderTelChargeCallbackController { } - // 订单完成操作 - private void orderFinish(OutRechargeOrder rechargeOrder) { - HighOrder highOrder = highOrderService.getOrderByOrderNo(rechargeOrder.getOrderNo()); - if (highOrder != null) { - highOrder.setOrderStatus(OrderStatusEnum.type3.getType()); - highOrder.setFinishTime(new Date()); - for (HighChildOrder highChildOrder : highOrder.getHighChildOrderList()) { - highChildOrder.setChildOrderStatus(OrderChildStatus.STATUS3.getNumber()); - highChildOrder.setFinishTime(new Date()); - } - orderService.updateOrderData(highOrder); - } - - } private void apiOrderRecord(OutRechargeOrder rechargeOrder) { Map orderMap = new HashMap<>(); diff --git a/hai-order/src/main/java/com/web/controller/notify/MobileRechargeNotifyController.java b/hai-order/src/main/java/com/web/controller/notify/MobileRechargeNotifyController.java index 819d0a63..b470195a 100644 --- a/hai-order/src/main/java/com/web/controller/notify/MobileRechargeNotifyController.java +++ b/hai-order/src/main/java/com/web/controller/notify/MobileRechargeNotifyController.java @@ -86,18 +86,7 @@ public class MobileRechargeNotifyController { }).start(); } - childOrder.setStatus(101); - rechargeOrder.setRechargeStatus(202); - rechargeOrder.setPayStatus(100); - - outRechargeOrderService.updateOrder(rechargeOrder); - outRechargeChildOrderService.updateOrder(childOrder); - orderFinish(rechargeOrder); - - // api商户订单 - if (rechargeOrder.getPayType() == 6) { - apiOrderRecord(rechargeOrder); - } + outRechargeOrderService.completeOrder(rechargeOrder , childOrder); } else { // 充值失败操作 @@ -149,17 +138,7 @@ public class MobileRechargeNotifyController { highUser.getOpenId()); }).start(); } - childOrder.setStatus(101); - rechargeOrder.setRechargeStatus(202); - rechargeOrder.setPayStatus(100); - rechargeOrder.setFinishTime(new Date()); - - outRechargeOrderService.updateOrder(rechargeOrder); - outRechargeChildOrderService.updateOrder(childOrder); - orderFinish(rechargeOrder); - if (rechargeOrder.getPayType() == 6) { - apiOrderRecord(rechargeOrder); - } + outRechargeOrderService.completeOrder(rechargeOrder , childOrder); } else { callbackResult(childOrder , rechargeOrder); } @@ -234,13 +213,7 @@ public class MobileRechargeNotifyController { }).start(); } - childOrder.setStatus(101); - rechargeOrder.setRechargeStatus(202); - rechargeOrder.setPayStatus(100); - - outRechargeOrderService.updateOrder(rechargeOrder); - outRechargeChildOrderService.updateOrder(childOrder); - orderFinish(rechargeOrder); + outRechargeOrderService.completeOrder(rechargeOrder , childOrder); // api商户订单 // if (rechargeOrder.getPayType() == 6) { @@ -302,21 +275,6 @@ public class MobileRechargeNotifyController { } - // 订单完成操作 - private void orderFinish(OutRechargeOrder rechargeOrder) { - HighOrder highOrder = highOrderService.getOrderByOrderNo(rechargeOrder.getOrderNo()); - if (highOrder != null) { - highOrder.setOrderStatus(OrderStatusEnum.type3.getType()); - highOrder.setFinishTime(new Date()); - for (HighChildOrder highChildOrder : highOrder.getHighChildOrderList()) { - highChildOrder.setChildOrderStatus(OrderChildStatus.STATUS3.getNumber()); - highChildOrder.setFinishTime(new Date()); - } - orderService.updateOrderData(highOrder); - } - - } - private void apiOrderRecord(OutRechargeOrder rechargeOrder) { Map orderMap = new HashMap<>(); orderMap.put("orderId" , rechargeOrder.getId()); diff --git a/hai-order/src/main/java/com/web/rocketmq/consumer/OrderRefundSuccessConsumer.java b/hai-order/src/main/java/com/web/rocketmq/consumer/OrderRefundSuccessConsumer.java index 148825c0..460c6dad 100644 --- a/hai-order/src/main/java/com/web/rocketmq/consumer/OrderRefundSuccessConsumer.java +++ b/hai-order/src/main/java/com/web/rocketmq/consumer/OrderRefundSuccessConsumer.java @@ -1,5 +1,7 @@ package com.web.rocketmq.consumer; +import com.hai.entity.HighDiscountAgentCode; +import com.hai.entity.HighDiscountUserRel; import com.hai.entity.HighOrder; import com.hai.entity.HighOrderRefund; import com.hai.order.service.OrderRefundHandleService; @@ -9,12 +11,15 @@ import com.hai.order.type.OrderChildGoodsType; import com.hai.order.type.OrderProductType; import com.hai.order.type.OrderStatus; import com.hai.service.BsMsgService; +import com.hai.service.HighDiscountAgentCodeService; +import com.hai.service.HighDiscountUserRelService; import lombok.extern.slf4j.Slf4j; import org.apache.rocketmq.spring.annotation.RocketMQMessageListener; import org.apache.rocketmq.spring.core.RocketMQListener; import org.springframework.stereotype.Component; import javax.annotation.Resource; +import java.math.BigDecimal; @Component @Slf4j @@ -26,15 +31,36 @@ public class OrderRefundSuccessConsumer implements RocketMQListener childOrderList = rechargeChildOrderService.getListRechargeChildOrder(childOrderMap); - System.out.println("话费定时任务 -> 判断是否存在已支付订单:订单id:" + order.getId()); if (childOrderList.size() == 0) { Date rechargeTime = order.getCreateTimed(); Date currentTime = new Date(); @@ -77,11 +76,9 @@ public class HighRechargeOrderSchedule { // 充值时间小于72 if (hours < 72) { - System.out.println("话费定时任务 -> 请求慢充:订单id:" + order.getId()); outRechargeOrderService.pollRequest(order); continue; } - System.out.println("话费定时任务 -> 退款任务" + order.getId()); outRechargeOrderService.refundOrder(order.getId() , childOrderList.get(0)); } @@ -139,7 +136,7 @@ public class HighRechargeOrderSchedule { outRechargeOrderService.refundOrder(outRechargeOrder.getId() , childOrder); } else { // -1取消,0充值中 ,1充值成功,2充值失败,3部分成功 - if (objectData.getInteger("state") == 2) { + if (objectData.getInteger("state") == 2 || objectData.getInteger("state") == -1) { outRechargeOrderService.refundOrder(outRechargeOrder.getId() , childOrder); } else if (objectData.getInteger("state") == 1) { outRechargeOrderService.completeOrder(outRechargeOrder , childOrder); @@ -159,8 +156,8 @@ public class HighRechargeOrderSchedule { JSONObject objectData; for (Object objects : objectJSONArray) { objectData = (JSONObject) objects; - // -1取消,0充值中 ,1充值成功,2充值失败,3部分成功 - if (objectData.getInteger("status") == 2) { + // 充值中1成功2失败3已取消4部分充值5缓存订单 + if (objectData.getInteger("status") == 2 || objectData.getInteger("status") == 3) { outRechargeOrderService.refundOrder(outRechargeOrder.getId() , childOrder); } else if (objectData.getInteger("status") == 1) { outRechargeOrderService.completeOrder(outRechargeOrder , childOrder); diff --git a/hai-service/src/main/java/com/hai/config/HuiLianTongUnionCardConfig.java b/hai-service/src/main/java/com/hai/config/HuiLianTongUnionCardConfig.java index 63e535b8..35c13939 100644 --- a/hai-service/src/main/java/com/hai/config/HuiLianTongUnionCardConfig.java +++ b/hai-service/src/main/java/com/hai/config/HuiLianTongUnionCardConfig.java @@ -217,11 +217,11 @@ public class HuiLianTongUnionCardConfig { log.info("============请求任务Start============="); - log.info("汇联通充值-请求参数: " + JSON.toJSONString(dataMap)); + log.info("汇联通退款-请求参数: " + JSON.toJSONString(dataMap)); JSONObject returnObject = request("qtk/refund", dataMap); - log.info("汇联通充值-响应参数: " + returnObject.toJSONString()); + log.info("汇联通退款-响应参数: " + returnObject.toJSONString()); log.info("============请求任务End=============="); return returnObject; } diff --git a/hai-service/src/main/java/com/hai/dao/HighMerchantAccountMapperExt.java b/hai-service/src/main/java/com/hai/dao/HighMerchantAccountMapperExt.java index 46951c49..082f6874 100644 --- a/hai-service/src/main/java/com/hai/dao/HighMerchantAccountMapperExt.java +++ b/hai-service/src/main/java/com/hai/dao/HighMerchantAccountMapperExt.java @@ -14,7 +14,7 @@ public interface HighMerchantAccountMapperExt { @Select({"select " + - " case when sum(gas_price_cost) is not null then sum(gas_price_cost) ELSE 0 end " + + " case when sum(gas_refuel_price) is not null then sum(gas_refuel_price) ELSE 0 end " + " from high_gas_order " + " where store_id in (SELECT id from high_merchant_store where merchant_id = #{merId}) and `status` in (2,5,6)"}) BigDecimal countMerGasOilAmount(@Param("merId") Long merId); diff --git a/hai-service/src/main/java/com/hai/dao/HighOrderMapperExt.java b/hai-service/src/main/java/com/hai/dao/HighOrderMapperExt.java index e9de147c..e03119b2 100644 --- a/hai-service/src/main/java/com/hai/dao/HighOrderMapperExt.java +++ b/hai-service/src/main/java/com/hai/dao/HighOrderMapperExt.java @@ -1224,7 +1224,7 @@ public interface HighOrderMapperExt { List getApiThirdOrderByList(@Param("map") Map map); - @Select("SELECT * FROM high_order WHERE create_time < NOW()-INTERVAL 3 day and product_type = 9 and order_status = 2 and pay_type = 4;") + @Select("SELECT * FROM high_order WHERE create_time < NOW()-INTERVAL 3 day and product_type = 9 and order_status = 2 and pay_type = 4 group by create_time asc;") @Results({ @Result(column="id", property="id", jdbcType=JdbcType.BIGINT, id=true), @Result(column="title", property="title", jdbcType=JdbcType.VARCHAR), diff --git a/hai-service/src/main/java/com/hai/dao/order/OrderMapperExt.java b/hai-service/src/main/java/com/hai/dao/order/OrderMapperExt.java index a0d47fcf..9f858455 100644 --- a/hai-service/src/main/java/com/hai/dao/order/OrderMapperExt.java +++ b/hai-service/src/main/java/com/hai/dao/order/OrderMapperExt.java @@ -60,9 +60,12 @@ public interface OrderMapperExt { " ELSE '未知' END orderStatus," + " b.create_time createTime," + " b.pay_time payTime," + - " b.finish_time finishTime" + + " b.finish_time finishTime," + + " case b.exception_status when 1 then '异常' when 0 then '正常' else '未知' end exceptionStatus," + + " c.cou_no couNo" + " from high_child_order a" + " LEFT JOIN high_order b on b.id = a.order_id" + + " LEFT JOIN (select child_order_id, cou_no from high_coupon_code_other where child_order_id is not null GROUP BY child_order_id) c on c.child_order_id = a.id" + " LEFT JOIN high_coupon d on d.id = a.goods_id" + " where a.goods_type = 1" + " and d.company_id = #{param.companyId} " + @@ -80,6 +83,7 @@ public interface OrderMapperExt { " " + " = #{param.finishTimeS} ]]> " + " " + + " and b.exception_status = #{param.exceptionStatus} " + " ORDER BY b.create_time desc" + ""}) List queryOrderCoupon(@Param("param") Map param); diff --git a/hai-service/src/main/java/com/hai/order/model/OrderCouponModel.java b/hai-service/src/main/java/com/hai/order/model/OrderCouponModel.java index ed44c4c0..75f21170 100644 --- a/hai-service/src/main/java/com/hai/order/model/OrderCouponModel.java +++ b/hai-service/src/main/java/com/hai/order/model/OrderCouponModel.java @@ -95,4 +95,12 @@ public class OrderCouponModel { @ColumnWidth(20) @ExcelProperty(value = "完成时间") private Date finishTime; + + @ColumnWidth(10) + @ExcelProperty(value = "异常状态") + private String exceptionStatus; + + @ColumnWidth(50) + @ExcelProperty(value = "券码") + private String couNo; } diff --git a/hai-service/src/main/java/com/hai/order/service/impl/OrderCreateHandleServiceImpl.java b/hai-service/src/main/java/com/hai/order/service/impl/OrderCreateHandleServiceImpl.java index 74595c9e..f8bec530 100644 --- a/hai-service/src/main/java/com/hai/order/service/impl/OrderCreateHandleServiceImpl.java +++ b/hai-service/src/main/java/com/hai/order/service/impl/OrderCreateHandleServiceImpl.java @@ -865,7 +865,7 @@ public class OrderCreateHandleServiceImpl implements OrderCreateHandleService { childOrder.setChildOrderNo(OrderUtil.generateChildOrderNo()); childOrder.setGoodsType(OrderChildGoodsType.TYPE6.getNumber()); childOrder.setGoodsId(goodsId); - childOrder.setGoodsName(OperatorEnum.getNameByType(outRechargePrice.getOperatorType()) + "话费充值" + outRechargePrice.getRechargePrice() + "元"); + childOrder.setGoodsName(rechargeContent + OperatorEnum.getNameByType(outRechargePrice.getOperatorType()) + "话费充值" + outRechargePrice.getRechargePrice() + "元"); childOrder.setGoodsSpecName(outRechargePrice.getRechargePrice() + "元"); childOrder.setGoodsPrice(outRechargePrice.getRechargePrice()); childOrder.setGoodsActualPrice(outRechargePrice.getPayPrice()); diff --git a/hai-service/src/main/java/com/hai/order/service/impl/OrderServiceImpl.java b/hai-service/src/main/java/com/hai/order/service/impl/OrderServiceImpl.java index 97a54902..0e3895ce 100644 --- a/hai-service/src/main/java/com/hai/order/service/impl/OrderServiceImpl.java +++ b/hai-service/src/main/java/com/hai/order/service/impl/OrderServiceImpl.java @@ -581,7 +581,6 @@ public class OrderServiceImpl implements OrderService { rocketMQTemplate.syncSend(OrderTopic.ORDER_TOPIC_REFUND_SUCCESS.getTopic(), orderRefund); } - return updateOrderData(order); } diff --git a/hai-service/src/main/java/com/hai/service/impl/OutRechargeOrderServiceImpl.java b/hai-service/src/main/java/com/hai/service/impl/OutRechargeOrderServiceImpl.java index 040a9c39..f1a627b0 100644 --- a/hai-service/src/main/java/com/hai/service/impl/OutRechargeOrderServiceImpl.java +++ b/hai-service/src/main/java/com/hai/service/impl/OutRechargeOrderServiceImpl.java @@ -17,12 +17,10 @@ import com.hai.dao.HighOrderMapper; import com.hai.dao.OutRechargeOrderMapper; import com.hai.dao.OutRechargeOrderMapperExt; import com.hai.entity.*; -import com.hai.enum_type.DiscountUseScope; -import com.hai.enum_type.OperatorEnum; -import com.hai.enum_type.OrderPushType; -import com.hai.enum_type.RechargePayType; +import com.hai.enum_type.*; import com.hai.model.*; import com.hai.order.service.OrderService; +import com.hai.order.type.OrderChildStatus; import com.hai.order.type.OrderRefundOpUserType; import com.hai.service.*; import com.hai.service.pay.impl.GoodsOrderServiceImpl; @@ -1044,6 +1042,17 @@ public class OutRechargeOrderServiceImpl implements OutRechargeOrderService { order.setPayStatus(100); order.setFinishTime(new Date()); + HighOrder highOrder = highOrderService.getOrderByOrderNo(order.getOrderNo()); + if (highOrder != null) { + highOrder.setOrderStatus(OrderStatusEnum.type3.getType()); + highOrder.setFinishTime(new Date()); + for (HighChildOrder highChildOrder : highOrder.getHighChildOrderList()) { + highChildOrder.setChildOrderStatus(OrderChildStatus.STATUS3.getNumber()); + highChildOrder.setFinishTime(new Date()); + } + orderService.updateOrderData(highOrder); + } + outRechargeOrderService.updateOrder(order); outRechargeChildOrderService.updateOrder(childOrder); }