You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
1 lines
30 KiB
1 lines
30 KiB
package com.bweb.controller;
import com.alibaba.excel.EasyExcel;
import com.alibaba.fastjson.JSONArray;
import com.alibaba.fastjson.JSONObject;
import com.alipay.api.domain.ForbbidenTime;
import com.alipay.api.domain.OfferObject;
import com.bweb.config.SysConst;
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.model.ExportOrderMobileModel;
import com.hai.order.model.OrderThirdPartyModel;
import com.hai.order.service.OrderRefundService;
import com.hai.order.service.OrderService;
import com.hai.order.type.*;
import com.hai.order.utils.OrderUtil;
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.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.*;
import javax.annotation.Resource;
import javax.servlet.http.HttpServletRequest;
import java.io.File;
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;
@Autowired
private OutRechargeChildOrderService childOrderService;
@Resource
private HighOrderService highOrderService;
@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 = "/getStationStores", method = RequestMethod.GET)
@ResponseBody
@ApiOperation(value = "获取油站")
public ResponseData getStationStores() {
try {
Map<String , Object> mapPost = new HashMap<>();
mapPost.put("apiKey" , "0C7897EA3BD96156A5881618FF2FF645");
mapPost.put("merchId" , "20230258302");
Map<String , Object> map = new HashMap<>();
map.put("apiKey" , "0C7897EA3BD96156A5881618FF2FF645");
map.put("merchId" , "20230258302");
System.out.println(map);
mapPost.put("sign" , WxUtils.generateSignApi(map, MapUtils.getString(map, "apiKey"), WXPayConstants.SignType.MD5));
return ResponseMsgUtil.success(HttpsUtils.doPost("http://localhost:9902/v1/refuelOnline/getStationStore" , mapPost , new HashMap<>()));
} catch (Exception e) {
log.error("HighOrderController --> getBackendToken() error!", e);
return ResponseMsgUtil.exception(e);
}
}
@RequestMapping(value = "/getRechargeProduct", method = RequestMethod.GET)
@ResponseBody
@ApiOperation(value = "获取充值产品")
public ResponseData getRechargeProduct() {
try {
Map<String , Object> mapPost = new HashMap<>();
mapPost.put("apiKey" , "0C7897EA3BD96156A5881618FF2FF645");
mapPost.put("merchId" , "20230258302");
Map<String , Object> map = new HashMap<>();
map.put("apiKey" , "0C7897EA3BD96156A5881618FF2FF645");
map.put("merchId" , "20230258302");
System.out.println(map);
mapPost.put("sign" , WxUtils.generateSignApi(map, MapUtils.getString(map, "apiKey"), WXPayConstants.SignType.MD5));
return ResponseMsgUtil.success(HttpsUtils.doPost("http://localhost:9902/v1/mobileRecharge/getMobileProduct" , mapPost , new HashMap<>()));
} catch (Exception e) {
log.error("HighOrderController --> getBackendToken() error!", e);
return ResponseMsgUtil.exception(e);
}
}
@RequestMapping(value = "/getAllCities", method = RequestMethod.GET)
@ResponseBody
@ApiOperation(value = "查询可用城市")
public ResponseData getAllCities() {
try {
Map<String , Object> mapPost = new HashMap<>();
mapPost.put("apiKey" , "0C7897EA3BD96156A5881618FF2FF645");
mapPost.put("merchId" , "20230258302");
Map<String , Object> map = new HashMap<>();
map.put("apiKey" , "0C7897EA3BD96156A5881618FF2FF645");
map.put("merchId" , "20230258302");
System.out.println(map);
mapPost.put("sign" , WxUtils.generateSignApi(map, MapUtils.getString(map, "apiKey"), WXPayConstants.SignType.MD5));
return ResponseMsgUtil.success(HttpsUtils.doPost("http://localhost:9902/v1/apiMerchants/getAllCities" , mapPost , new HashMap<>()));
} catch (Exception e) {
log.error("HighOrderController --> getBackendToken() error!", e);
return ResponseMsgUtil.exception(e);
}
}
@RequestMapping(value = "/starbucksStore", method = RequestMethod.GET)
@ResponseBody
@ApiOperation(value = "查询星巴克门店")
public ResponseData starbucksStore() {
try {
Map<String , Object> mapPost = new HashMap<>();
mapPost.put("apiKey" , "0C7897EA3BD96156A5881618FF2FF645");
mapPost.put("merchId" , "20230258302");
mapPost.put("lat" , "29.56900");
mapPost.put("lon" , "106.55843");
Map<String , Object> map = new HashMap<>();
map.put("apiKey" , "0C7897EA3BD96156A5881618FF2FF645");
map.put("merchId" , "20230258302");
map.put("lat" , "29.56900");
map.put("lon" , "106.55843");
System.out.println(map);
mapPost.put("sign" , WxUtils.generateSignApi(map, MapUtils.getString(map, "apiKey"), WXPayConstants.SignType.MD5));
return ResponseMsgUtil.success(HttpsUtils.doPost("http://localhost:9902/v1/starbucks/starbucksStore" , mapPost , new HashMap<>()));
} catch (Exception e) {
log.error("HighOrderController --> getBackendToken() error!", e);
return ResponseMsgUtil.exception(e);
}
}
@RequestMapping(value = "/starbucksProducts", method = RequestMethod.GET)
@ResponseBody
@ApiOperation(value = "查询星巴克商品")
public ResponseData starbucksProducts() {
try {
Map<String , Object> mapPost = new HashMap<>();
mapPost.put("apiKey" , "0C7897EA3BD96156A5881618FF2FF645");
mapPost.put("merchId" , "20230258302");
Map<String , Object> map = new HashMap<>();
map.put("apiKey" , "0C7897EA3BD96156A5881618FF2FF645");
map.put("merchId" , "20230258302");
System.out.println(map);
mapPost.put("sign" , WxUtils.generateSignApi(map, MapUtils.getString(map, "apiKey"), WXPayConstants.SignType.MD5));
return ResponseMsgUtil.success(HttpsUtils.doPost("http://localhost:9902/v1/starbucks/starbucksProducts" , mapPost , new HashMap<>()));
} catch (Exception e) {
log.error("HighOrderController --> getBackendToken() error!", e);
return ResponseMsgUtil.exception(e);
}
}
@RequestMapping(value = "/kfcStoresList", method = RequestMethod.GET)
@ResponseBody
@ApiOperation(value = "查询肯德基门店")
public ResponseData kfcStoresList() {
try {
Map<String , Object> mapPost = new HashMap<>();
mapPost.put("apiKey" , "0C7897EA3BD96156A5881618FF2FF645");
mapPost.put("merchId" , "20230258302");
Map<String , Object> map = new HashMap<>();
map.put("apiKey" , "0C7897EA3BD96156A5881618FF2FF645");
map.put("merchId" , "20230258302");
System.out.println(map);
mapPost.put("sign" , WxUtils.generateSignApi(map, MapUtils.getString(map, "apiKey"), WXPayConstants.SignType.MD5));
return ResponseMsgUtil.success(HttpsUtils.doPost("http://localhost:9902/v1/kfc/kfcStoresList" , mapPost , new HashMap<>()));
} catch (Exception e) {
log.error("HighOrderController --> getBackendToken() error!", e);
return ResponseMsgUtil.exception(e);
}
}
@RequestMapping(value = "/kfcProductByStoreCode", method = RequestMethod.GET)
@ResponseBody
@ApiOperation(value = "根据门店编码查询KFC产品")
public ResponseData kfcProductByStoreCode(@RequestParam(name = "storeCode", required = true) String storeCode) {
try {
Map<String , Object> mapPost = new HashMap<>();
mapPost.put("apiKey" , "0C7897EA3BD96156A5881618FF2FF645");
mapPost.put("merchId" , "20230258302");
mapPost.put("storeCode" , storeCode);
Map<String , Object> map = new HashMap<>();
map.put("apiKey" , "0C7897EA3BD96156A5881618FF2FF645");
map.put("merchId" , "20230258302");
map.put("storeCode" , storeCode);
System.out.println(map);
mapPost.put("sign" , WxUtils.generateSignApi(map, MapUtils.getString(map, "apiKey"), WXPayConstants.SignType.MD5));
return ResponseMsgUtil.success(HttpsUtils.doPost("http://localhost:9902/v1/kfc/kfcProductByStoreCode" , mapPost , new HashMap<>()));
} catch (Exception e) {
log.error("HighOrderController --> getBackendToken() error!", e);
return ResponseMsgUtil.exception(e);
}
}
@RequestMapping(value = "/memberProducts", method = RequestMethod.GET)
@ResponseBody
@ApiOperation(value = "查询会员产品")
public ResponseData memberProducts() {
try {
Map<String , Object> mapPost = new HashMap<>();
mapPost.put("apiKey" , "0C7897EA3BD96156A5881618FF2FF645");
mapPost.put("merchId" , "20230258302");
Map<String , Object> map = new HashMap<>();
map.put("apiKey" , "0C7897EA3BD96156A5881618FF2FF645");
map.put("merchId" , "20230258302");
System.out.println(map);
mapPost.put("sign" , WxUtils.generateSignApi(map, MapUtils.getString(map, "apiKey"), WXPayConstants.SignType.MD5));
return ResponseMsgUtil.success(HttpsUtils.doPost("http://localhost:9902/v1/memberRecharge/memberProducts" , mapPost , new HashMap<>()));
} catch (Exception e) {
log.error("HighOrderController --> getBackendToken() error!", e);
return ResponseMsgUtil.exception(e);
}
}
@RequestMapping(value = "/createOrder", method = RequestMethod.POST)
@ResponseBody
@ApiOperation(value = "创建订单")
public ResponseData createOrder(@RequestBody JSONObject object) {
try {
Map<String , Object> mapPost = new HashMap<>();
mapPost.put("apiKey" , "0C7897EA3BD96156A5881618FF2FF645");
mapPost.put("merchId" , "20230258302");
mapPost.put("timetable" , new Date().getTime());
mapPost.put("orderNo" , "TEST" + OrderUtil.generateOrderNo());
mapPost.put("productType" , object.getString("productType"));
mapPost.put("notifyUrl" , "test");
// JSONObject object = new JSONObject();
// object.put("refuelPrice" , new BigDecimal(100));
// object.put("gasOilNo" , "92");
// object.put("gasGunNo" , "1");
// object.put("storeCode" , "54000");
mapPost.put("content" , object.toString());
System.out.println(mapPost);
Map<String , Object> map = new HashMap<>();
map.put("apiKey" , "0C7897EA3BD96156A5881618FF2FF645");
map.put("merchId" , "20230258302");
map.put("timetable" , mapPost.get("timetable").toString());
map.put("orderNo" , mapPost.get("orderNo"));
map.put("productType" , object.getString("productType"));
map.put("content" , object.toString());
System.out.println(map);
mapPost.put("sign" , WxUtils.generateSignApi(map, MapUtils.getString(map, "apiKey"), WXPayConstants.SignType.MD5));
return ResponseMsgUtil.success(HttpsUtils.doPost("http://localhost:9902/v1/order/createOrder" , mapPost , new HashMap<>()));
} catch (Exception e) {
log.error("HighOrderController --> getBackendToken() error!", e);
return ResponseMsgUtil.exception(e);
}
}
@RequestMapping(value = "/payOrder", method = RequestMethod.GET)
@ResponseBody
@ApiOperation(value = "支付订单")
public ResponseData payOrder(@RequestParam(name = "mchOrderNo", required = true) String mchOrderNo) {
try {
Map<String , Object> mapPost = new HashMap<>();
mapPost.put("apiKey" , "0C7897EA3BD96156A5881618FF2FF645");
mapPost.put("merchId" , "20230258302");
mapPost.put("mchOrderNo" , mchOrderNo);
Map<String , Object> map = new HashMap<>();
map.put("apiKey" , "0C7897EA3BD96156A5881618FF2FF645");
map.put("merchId" , "20230258302");
map.put("mchOrderNo" , mchOrderNo);
System.out.println(map);
mapPost.put("sign" , WxUtils.generateSignApi(map, MapUtils.getString(map, "apiKey"), WXPayConstants.SignType.MD5));
return ResponseMsgUtil.success(HttpsUtils.doPost("http://localhost:9902/v1/order/orderPay" , mapPost , new HashMap<>()));
} catch (Exception e) {
log.error("HighOrderController --> getBackendToken() error!", e);
return ResponseMsgUtil.exception(e);
}
}
@RequestMapping(value = "/queryOrderDetail", method = RequestMethod.GET)
@ResponseBody
@ApiOperation(value = "查询订单详情")
public ResponseData queryOrderDetail(@RequestParam(name = "mchOrderNo", required = true) String mchOrderNo) {
try {
Map<String , Object> mapPost = new HashMap<>();
mapPost.put("apiKey" , "0C7897EA3BD96156A5881618FF2FF645");
mapPost.put("merchId" , "20230258302");
mapPost.put("mchOrderNo" , mchOrderNo);
Map<String , Object> map = new HashMap<>();
map.put("apiKey" , "0C7897EA3BD96156A5881618FF2FF645");
map.put("merchId" , "20230258302");
map.put("mchOrderNo" , mchOrderNo);
System.out.println(map);
mapPost.put("sign" , WxUtils.generateSignApi(map, MapUtils.getString(map, "apiKey"), WXPayConstants.SignType.MD5));
return ResponseMsgUtil.success(HttpsUtils.doPost("http://localhost:9902/v1/order/queryOrderDetail" , mapPost , new HashMap<>()));
} catch (Exception e) {
log.error("HighOrderController --> getBackendToken() error!", e);
return ResponseMsgUtil.exception(e);
}
}
@RequestMapping(value = "/deposit", method = RequestMethod.GET)
@ResponseBody
@ApiOperation(value = "工会卡充值")
public ResponseData deposit(@RequestParam(name = "orderNo", required = true) String orderNo) {
try {
HighOrder order = highOrderService.getOrderByOrderNo(orderNo);
HighChildOrder highChildOrder = order.getHighChildOrderList().get(0);
if (order.getOrderStatus() != 2) {
throw ErrorHelp.genException(SysCode.System, ErrorCode.COMMON_ERROR, "订单状态错误");
}
// 汇联通充值
String goodsDesc = "汇联通充值"+order.getPayPrice()+"元";
String tranDesc = "";
String businessType = "ghk_deposit";
String orderNoAgain = OrderUtil.generateOrderNo();
order.setOrderStatus(3);
order.setRemarks("工会卡再次充值订单号" + orderNoAgain);
highOrderService.updateOrder(order);
// 汇联通卡充值
JSONObject deposit = HuiLianTongUnionCardConfig.deposit(orderNoAgain, highChildOrder.getGoodsSpecName(), order.getPayPrice(), businessType, order.getPaySerialNo(), goodsDesc);
return ResponseMsgUtil.success( HuiLianTongUnionCardConfig.resolveResponse(deposit.getString("data")));
} catch (Exception e) {
log.error("HighOrderController --> getBackendToken() error!", e);
return ResponseMsgUtil.exception(e);
}
}
@RequestMapping(value = "/mobileDw", method = RequestMethod.GET)
@ResponseBody
@ApiOperation(value = "话费订单下载")
public ResponseData mobileDw(@RequestParam(name = "createTimeS", required = true) String createTimeS,
@RequestParam(name = "createTimeE", required = true) String createTimeE) {
try {
Map<String , Object> map = new HashMap<>();
map.put("productType" , 9);
map.put("createTimeS" , createTimeS);
map.put("createTimeE" , createTimeE);
List<HighOrder> order = highOrderService.getOrderListNotChild(map);
List<ExportOrderMobileModel> list = new ArrayList<>();
ExportOrderMobileModel model;
for (HighOrder highOrder : order) {
model = new ExportOrderMobileModel();
OutRechargeOrder rechargeOrder = outRechargeOrderService.findByOrderNoNotChild(highOrder.getOrderNo());
if (rechargeOrder != null) {
OutRechargeChildOrder childOrder = mobileChildOrderHandle(highOrder,rechargeOrder);
model.setRechargeOrderNo(rechargeOrder.getOrderNo());
if (childOrder != null) {
model.setChildOrderNo(childOrder.getOrderNo());
if (childOrder.getRechargePlatform() != null) {
model.setRechargePlatform(RechargePlatformType.getDataByType(childOrder.getRechargePlatform()).getName());
}
model.setRemark(childOrder.getExt1());
}
}
model.setFinishTime(highOrder.getFinishTime());
model.setOrderStatus(OrderStatus.getDataByType(highOrder.getOrderStatus()).getName());
model.setMemPhone(highOrder.getMemPhone());
model.setCreateTime(highOrder.getCreateTime());
model.setTitle(highOrder.getTitle());
model.setPayablePrice(highOrder.getPayablePrice());
model.setRefundTime(highOrder.getRefundTime());
model.setPayPrice(highOrder.getPayPrice());
model.setOrderNo(highOrder.getOrderNo());
model.setMemCardNo(highOrder.getMemCardNo());
if (highOrder.getPayType() != null) {
model.setPayType(OrderPayType.getDataByType(highOrder.getPayType()).getName());
}
list.add(model);
}
String fileUrl = SysConst.getSysConfig().getFileUrl() + "temporary/";
String pathName = System.currentTimeMillis()+".xlsx";
File file = new File(fileUrl);
if (!file.exists()) {
file.mkdirs();
}
EasyExcel.write(fileUrl+pathName)
.head(ExportOrderMobileModel.class)
.sheet("话费交易订单")
.doWrite(list);
return ResponseMsgUtil.success(pathName);
} catch (Exception e) {
log.error("HighUserCardController --> oilCardRefund() error!", e);
return ResponseMsgUtil.exception(e);
}
}
// @RequestMapping(value = "/phoneBillOrderMigration", method = RequestMethod.GET)
// @ResponseBody
// @ApiOperation(value = "话费订单迁移")
// public ResponseData phoneBillOrderMigration() {
// try {
//
// List<OutRechargeOrder> list = outRechargeOrderService.selectList();
//
// for (OutRechargeOrder outRechargeOrder : list) {
// HighOrder highOrder = highOrderService.getOrderByOrderNo(outRechargeOrder.getOrderNo());
//
// if (highOrder == null) {
// HighOrder order = new HighOrder();
// // 拼接订单
// order.setOrderStatus(orderStatus(outRechargeOrder.getPayStatus()));
// order.setOrderNo(outRechargeOrder.getOrderNo());
// order.setTitle(orderTitle(outRechargeOrder));
// order.setSearchTitle(outRechargeOrder.getOrderNo() + orderTitle(outRechargeOrder));
// order.setPayType(outRechargeOrder.getPayType());
// order.setProductType(9);
// if (outRechargeOrder.getLaborUnionCard() != null) {
// order.setMemCardType(1);
// }
// order.setPayTime(outRechargeOrder.getPayTime());
// order.setFinishTime(outRechargeOrder.getFinishTime());
// order.setCreateTime(outRechargeOrder.getCreateTimed());
// order.setCancelTime(outRechargeOrder.getCancelTime());
// order.setRefundTime(outRechargeOrder.getRefundTime());
// order.setPayRealPrice(outRechargeOrder.getPayRealPrice());
// order.setPayablePrice(outRechargeOrder.getPayRealPrice());
// order.setPayPrice(outRechargeOrder.getPayPrice());
// order.setTotalPrice(outRechargeOrder.getOrderPrice());
// order.setDeductionCouponPrice(outRechargeOrder.getDiscountDeductionPrice());
//
// if (outRechargeOrder.getDiscountDeductionPrice() == null) {
// outRechargeOrder.setDiscountDeductionPrice(new BigDecimal(0));
// }
// if (outRechargeOrder.getIntegralDeductionPrice() == null) {
// outRechargeOrder.setIntegralDeductionPrice(new BigDecimal(0));
// }
// order.setTotalDeductionPrice(outRechargeOrder.getDiscountDeductionPrice().add(outRechargeOrder.getIntegralDeductionPrice()));
// order.setPaySerialNo(outRechargeOrder.getPaySerialNo());
// order.setMemId(outRechargeOrder.getUserId());
// order.setMemName(outRechargeOrder.getUserName());
// order.setMemPhone(outRechargeOrder.getUserPhone());
// order.setMemCardNo(outRechargeOrder.getLaborUnionCard());
// order.setCompanyId(outRechargeOrder.getCompanyId());
// order.setPayGold(outRechargeOrder.getIntegralNum().intValue());
// order.setMemDiscountId(outRechargeOrder.getMemDiscountId());
// order.setMemDiscountName(outRechargeOrder.getMemDiscountName());
// highOrderService.phoneBillOrderMigration(order);
//
// }
//
//
// }
//
// return ResponseMsgUtil.success("迁移完成");
//
// } catch (Exception e) {
// log.error("HighUserCardController --> oilCardRefund() error!", e);
// return ResponseMsgUtil.exception(e);
// }
// }
//
// public Integer orderStatus(Integer orderStatus) {
// // 1 待支付 2 已支付 3.已完成 4. 已退款 5.已取消
// // 101.待支付 102.已支付 100.已完成 104.已取消 105.已退款
// switch (orderStatus) {
// case 101:
// return 1;
// case 102:
// return 2;
// case 100:
// return 3;
// case 104:
// return 5;
// case 105:
// return 4;
// default:
// return null;
// }
// }
//
// public String orderTitle(OutRechargeOrder outRechargeOrder) {
// // 1 待支付 2 已支付 3.已完成 4. 已退款 5.已取消
// // 101.待支付 102.已支付 100.已完成 104.已取消 105.已退款
// switch (outRechargeOrder.getOperatorType()) {
// case 1:
// return "电信话费充值" + outRechargeOrder.getRechargePrice() + "元";
// case 2:
// return "移动话费充值" + outRechargeOrder.getRechargePrice() + "元";
// case 3:
// return "联通话费充值" + outRechargeOrder.getRechargePrice() + "元";
// default:
// return null;
// }
// }
public OutRechargeChildOrder mobileChildOrderHandle(HighOrder highOrder , OutRechargeOrder outRechargeOrder) {
// 组装查询子订单数据
Map<String , Object> childOrderMap101 = new HashMap<>();
childOrderMap101.put("parent_order_id", outRechargeOrder.getId());
childOrderMap101.put("status", "101,102");
// 查询充值订单
List<OutRechargeChildOrder> childOrders = childOrderService.getListRechargeChildOrder(childOrderMap101);
OutRechargeChildOrder childOrder;
// 判读是否存在多个充值中的订单
if (childOrders.size() > 0) {
childOrder = childOrders.get(0);
if (childOrders.size() > 1) {
childOrder.setExt1("当前订单存在多个充值订单");
}
} else {
childOrder = childOrderService.findByOrderId(outRechargeOrder.getId());
if (childOrder != null && highOrder != null && childOrder.getStatus() != null && highOrder.getOrderStatus() != null) {
if (highOrder.getOrderStatus() == 2 && childOrder.getStatus() != 102) {
childOrder.setExt1("主订单充值中,但是充值订单状态不为充值中");
}
if (highOrder.getOrderStatus() == 3 && childOrder.getStatus() != 101) {
childOrder.setExt1("主订单充值成功,但是充值订单状态不为充值成功");
}
if (highOrder.getOrderStatus() == 4 && !(childOrder.getStatus() == 103 || childOrder.getStatus() == 104)) {
childOrder.setExt1("主订单退款,但是充值订单状态不为退款");
}
}
}
return childOrder;
}
@RequestMapping(value = "/externalOrderRefund", method = RequestMethod.GET)
@ResponseBody
@ApiOperation(value = "对外订单退款")
public ResponseData externalOrderRefund(@RequestParam(name = "paySerialNo", required = true) String paySerialNo,
@RequestParam(name = "WxMchId", required = true) String WxMchId,
@RequestParam(name = "payRealPrice", required = true) String payRealPrice) {
try {
Map<String , Object> mapPost = new HashMap<>();
mapPost.put("apiKey" , "B94B5E62807FA56A7260AB581D8A1B48");
mapPost.put("merchId" , "20230394901");
mapPost.put("paySerialNo" , paySerialNo);
mapPost.put("wxMchId" , WxMchId);
mapPost.put("payRealPrice" , payRealPrice);
mapPost.put("refundPrice" , payRealPrice);
Map<String , Object> map = new HashMap<>();
map.put("apiKey" , "B94B5E62807FA56A7260AB581D8A1B48");
map.put("merchId" , "20230394901");
map.put("paySerialNo" , paySerialNo);
map.put("wxMchId" , WxMchId);
map.put("payRealPrice" , payRealPrice);
map.put("refundPrice" , payRealPrice);
System.out.println(map);
mapPost.put("sign" , WxUtils.generateSignApi(map, MapUtils.getString(map, "apiKey"), WXPayConstants.SignType.MD5));
return ResponseMsgUtil.success(HttpsUtils.doPost("https://hsg.dctpay.com/v1/order/externalOrderRefund" , mapPost , new HashMap<>()));
} catch (Exception e) {
log.error("HighOrderController --> getBackendToken() error!", e);
return ResponseMsgUtil.exception(e);
}
}
}
|