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
49 KiB
1 lines
49 KiB
package com.bweb.controller;
import com.alibaba.fastjson.JSONArray;
import com.alibaba.fastjson.JSONObject;
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.HttpsUtils;
import com.hai.common.utils.ResponseMsgUtil;
import com.hai.common.utils.WxUtils;
import com.hai.config.*;
import com.hai.entity.*;
import com.hai.enum_type.GasOilPriceStatusEnum;
import com.hai.model.HighMerchantModel;
import com.hai.model.HighMerchantStoreModel;
import com.hai.model.ResponseData;
import com.hai.openApi.config.BlxConfig;
import com.hai.order.service.OrderService;
import com.hai.order.type.OrderProductType;
import com.hai.order.type.OrderRefundOpUserType;
import com.hai.order.utils.OrderUtil;
import com.hai.pay.channel.huipay.config.HuiConfig;
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.bouncycastle.LICENSE;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.springframework.beans.BeanUtils;
import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.*;
import javax.annotation.Resource;
import javax.servlet.http.HttpServletRequest;
import java.io.FileOutputStream;
import java.io.InputStream;
import java.math.BigDecimal;
import java.net.URL;
import java.net.URLConnection;
import java.util.Date;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
/**
* @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 BsOrderRebateService bsOrderRebateService;
@Resource
private PetroConfig petroConfig;
@Resource
private HighGoldRecService highGoldRecService;
@Resource
private OrderService orderService;
@Resource
private HighUserCardService highUserCardService;
@Resource
private HighOrderService highOrderService;
@Resource
private HighUserService highUserService;
@Resource
private HighGasService gasService;
@Resource
private HighMerchantService highMerchantService;
@Resource
private HighMerchantStoreService highMerchantStoreService;
@Resource
private HighGasOilPriceService highGasOilPriceService;
@Resource
private HuiConfig huiConfig;
@Resource
private CommonService commonService;
@Resource
private HighOilCardOrderService highOilCardOrderService;
@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 = "/createOrder", method = RequestMethod.POST)
@ResponseBody
@ApiOperation(value = "创建订单")
public ResponseData createOrder(@RequestBody JSONObject object) {
try {
Map<String , Object> mapPost = new HashMap<>();
mapPost.put("merchId" , "20230394901");
mapPost.put("timetable" , new Date().getTime());
mapPost.put("orderNo" , "TEST" + OrderUtil.generateOrderNo());
mapPost.put("productType" , object.getString("productType"));
mapPost.put("content" , object.getJSONObject("content").toString());
mapPost.put("sign" , WxUtils.generateSignApi(mapPost, "B94B5E62807FA56A7260AB581D8A1B48", WXPayConstants.SignType.MD5));
return ResponseMsgUtil.success(HttpsUtils.doPost("https://hsg.dctpay.com/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(Integer.valueOf(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 = "/getHuiLianTongCardByCardNo", method = RequestMethod.GET)
@ResponseBody
@ApiOperation(value = "根据卡号查询汇联通工会卡详情")
public ResponseData getHuiLianTongCardByCardNo(@RequestParam(name = "cardNo", required = true) String cardNo) {
try {
// 查询工会卡
JSONObject cardInfo = HuiLianTongUnionCardConfig.queryBalance(cardNo);
JSONObject resolveResponse = HuiLianTongUnionCardConfig.resolveResponse(cardInfo.getString("data"));
return ResponseMsgUtil.success(resolveResponse);
} catch (Exception e) {
log.error("HighUserCardController --> getHuiLianTongCardByCardNo() error!", e);
return ResponseMsgUtil.exception(e);
}
}
@RequestMapping(value = "/consumption", method = RequestMethod.GET)
@ResponseBody
@ApiOperation(value = "工会卡支付")
public ResponseData consumption(@RequestParam(name = "payRealPrice", required = true) BigDecimal payRealPrice,
@RequestParam(name = "cardNo", required = true) String cardNo) {
try {
String goodsDesc = "";
String tranDesc = "";
String instCode = "11101527";
String businessType = "hisen_consume";
// 工会卡支付
JSONObject consumption = HuiLianTongUnionCardConfig.consumption(OrderUtil.generateOrderNo(), cardNo, payRealPrice, businessType, instCode, goodsDesc, tranDesc);
if (!consumption.getString("respCode").equals("0000")) {
throw ErrorHelp.genException(SysCode.System, ErrorCode.COMMON_ERROR, consumption.getString("respMessage"));
}
// 响应参数
JSONObject consumptionResult = HuiLianTongUnionCardConfig.resolveResponse(consumption.getString("data"));
if (consumptionResult.getBoolean("success") != true) {
throw ErrorHelp.genException(SysCode.System, ErrorCode.COMMON_ERROR, consumptionResult.getString("message"));
}
return ResponseMsgUtil.success(consumptionResult);
} catch (Exception e) {
log.error("HighUserCardController --> getHuiLianTongCardByCardNo() error!", e);
return ResponseMsgUtil.exception(e);
}
}
@RequestMapping(value = "/refundOrder", method = RequestMethod.GET)
@ResponseBody
@ApiOperation(value = "工会卡退款")
public ResponseData refundOrder(@RequestParam(name = "orderNo", required = true) String orderNo) {
try {
HighOrder order = highOrderService.getOrderByOrderNo(orderNo);
if (order.getOrderStatus() != 2) {
throw ErrorHelp.genException(SysCode.System, ErrorCode.COMMON_ERROR, "订单状态错误");
}
orderService.refundOrder(order, OrderProductType.getDataByType(order.getProductType()).getName() + "退款",OrderRefundOpUserType.TYPE1,
null,
"系统自动退款");
if (order.getProductType().equals(4)) {
HighUser user = highUserService.findByUserId(order.getMemId());
// 获取应退款积分
int integralNum = order.getTotalPrice().multiply(new BigDecimal(100)).intValue();
if ( integralNum> user.getGold()) {
throw ErrorHelp.genException(SysCode.System, ErrorCode.COMMON_ERROR, "积分数量不足");
}
String remark = "订单" + order.getOrderNo() + "退还积分:" + integralNum;
// 积分退款
highUserService.goldHandle(user.getId(), integralNum,2, 3, order.getId() , remark , order.getOrderNo());
}
return ResponseMsgUtil.success("退款成功");
} catch (Exception e) {
log.error("HighOrderController --> getBackendToken() error!", e);
return ResponseMsgUtil.exception(e);
}
}
@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);
}
}
@RequestMapping(value = "/getBlxCouponBalance", method = RequestMethod.GET)
@ResponseBody
@ApiOperation(value = "查询停车券")
public ResponseData getBlxCouponBalance(@RequestParam(name = "phone", required = true) String phone) {
try {
highUserCardService.getBlxCouponBalance(phone);
return ResponseMsgUtil.success("object");
} catch (Exception e) {
log.error("HighOrderController --> getBackendToken() error!", e);
return ResponseMsgUtil.exception(e);
}
}
@RequestMapping(value = "/queryJsParking", method = RequestMethod.GET)
@ResponseBody
@ApiOperation(value = "查询捷顺停车场")
public ResponseData queryJsParking(@RequestParam(name = "gps", required = true) String gps) {
try {
Map<String , Object> mapPost = new HashMap<>();
mapPost.put("merchId" , "20230258302");
mapPost.put("gps" , gps);
mapPost.put("range" , "1000");
mapPost.put("sign" , WxUtils.generateSignApi(mapPost, "0C7897EA3BD96156A5881618FF2FF645", WXPayConstants.SignType.MD5));
return ResponseMsgUtil.success(HttpsUtils.doPost("http://localhost:9902/v1/blxCoupon/queryJsParking" , mapPost , new HashMap<>()));
} catch (Exception e) {
log.error("HighOrderController --> getBackendToken() error!", e);
return ResponseMsgUtil.exception(e);
}
}
@RequestMapping(value = "/getUserCouponPage", method = RequestMethod.GET)
@ResponseBody
@ApiOperation(value = "查询捷顺停车场")
public ResponseData getUserCouponPage(@RequestParam(name = "phone", required = true) String phone) {
try {
Map<String , Object> mapPost = new HashMap<>();
mapPost.put("merchId" , "20230258302");
mapPost.put("phone" , phone);
mapPost.put("sign" , WxUtils.generateSignApi(mapPost, "0C7897EA3BD96156A5881618FF2FF645", WXPayConstants.SignType.MD5));
return ResponseMsgUtil.success(HttpsUtils.doPost("http://localhost:9902/v1/blxCoupon/getUserCouponPage" , mapPost , new HashMap<>()));
} catch (Exception e) {
log.error("HighOrderController --> getBackendToken() error!", e);
return ResponseMsgUtil.exception(e);
}
}
@RequestMapping(value = "/queryJsOrderList", method = RequestMethod.GET)
@ResponseBody
@ApiOperation(value = "查询车牌订单列表信息")
public ResponseData queryJsOrderList(@RequestParam(name = "carNo", required = true) String carNo,
@RequestParam(name = "orderStatus", required = true) String orderStatus) {
try {
Map<String , Object> mapPost = new HashMap<>();
mapPost.put("merchId" , "20230258302");
mapPost.put("orderStatus" , orderStatus);
mapPost.put("carNo" , carNo);
mapPost.put("sign" , WxUtils.generateSignApi(mapPost, "0C7897EA3BD96156A5881618FF2FF645", WXPayConstants.SignType.MD5));
return ResponseMsgUtil.success(HttpsUtils.doPost("http://localhost:9902/v1/blxCoupon/queryJsOrderList" , mapPost , new HashMap<>()));
} catch (Exception e) {
log.error("HighOrderController --> getBackendToken() error!", e);
return ResponseMsgUtil.exception(e);
}
}
@RequestMapping(value = "/sendCoupon", method = RequestMethod.GET)
@ResponseBody
@ApiOperation(value = "发放券")
public ResponseData sendCoupon(@RequestParam(name = "couponCode", required = true) String couponCode,
@RequestParam(name = "receiverCount", required = true) String receiverCount,
@RequestParam(name = "receiverPhone", required = true) String receiverPhone) {
try {
Map<String , Object> mapPost = new HashMap<>();
mapPost.put("merchId" , "20230258302");
mapPost.put("sign" , WxUtils.generateSignApi(mapPost, "0C7897EA3BD96156A5881618FF2FF645", WXPayConstants.SignType.MD5));
return ResponseMsgUtil.success(HttpsUtils.doPost("http://localhost:9902/v1/blxCoupon/getCouponList" , mapPost , new HashMap<>()));
} catch (Exception e) {
log.error("HighOrderController --> getBackendToken() error!", e);
return ResponseMsgUtil.exception(e);
}
}
@RequestMapping(value = "/preorder", method = RequestMethod.GET)
@ResponseBody
@ApiOperation(value = "发起支付")
public ResponseData preorder() {
try {
JSONObject object = new JSONObject();
object.put("outTradeNo" , "HUI" + OrderUtil.generateOrderNo());
object.put("transType" , "JSAPI");
object.put("payMode" , "WECHAT");
object.put("totalAmount" , "0.01");
object.put("profitSharing" , 0);
object.put("subject" , "测试");
object.put("userId" , "oUGn_4unIjp90MY-oEXluY4laDrQ");
return ResponseMsgUtil.success(huiConfig.preorder(object));
} catch (Exception e) {
log.error("HighOrderController --> getBackendToken() error!", e);
return ResponseMsgUtil.exception(e);
}
}
@RequestMapping(value = "/queryGasInfoListByPage", method = RequestMethod.GET)
@ResponseBody
@ApiOperation(value = "查询团油门店")
public ResponseData queryGasInfoListByPage() {
try {
HighMerchantModel merchant = highMerchantService.getMerchantById(39L);
if (merchant == null) {
throw ErrorHelp.genException(SysCode.System, ErrorCode.COMMON_ERROR, "未找到商户");
}
JSONObject jsonObjectP = TuanYouConfig.queryGasInfoListByPage(1, 1000);
JSONObject resultObjectP = jsonObjectP.getObject("result", JSONObject.class);
for (int i = 1; i <= resultObjectP.getInteger("totalPageNum").intValue();i++) {
JSONObject jsonObject = TuanYouConfig.queryGasInfoListByPage(i, 1000);
JSONObject resultObject = jsonObject.getObject("result", JSONObject.class);
JSONArray jsonArray = resultObject.getJSONArray("gasInfoList");
HighMerchantStore highMerchantStore;
HighGasOilPrice highGasOilPrice;
for (Object gasObject : jsonArray) {
JSONObject object = JSONObject.parseObject(JSONObject.toJSONString(gasObject));
HighMerchantStoreModel store = highMerchantStoreService.getMerchantStoreByKey(object.getString("gasId"));
if (store != null) {
store.setType(1);
store.setSourceType(2);
store.setMerchantId(merchant.getId());
store.setCompanyId(merchant.getCompanyId());
store.setStoreKey(object.getString("gasId"));
store.setStoreName(object.getString("gasName"));
store.setStoreLogo(object.getString("gasLogoSmall"));
store.setRegionId(object.getLong("provinceCode"));
store.setRegionName(object.getString("provinceName"));
store.setAddress(object.getString("gasAddress"));
store.setLongitude(object.getString("gasAddressLongitude"));
store.setLatitude(object.getString("gasAddressLatitude"));
store.setStatus(object.getInteger("gasStatus"));
store.setPrestoreType(0);
store.setOperatorId(0L);
store.setOperatorName("系统创建");
store.setUpdateTime(new Date());
store.setExt1(object.getString("gasSourceId"));
highMerchantStoreService.updateMerchantStoreDetail(store);
JSONArray oilPriceList = object.getJSONArray("oilPriceList");
for (Object oilPrice : oilPriceList) {
JSONObject oilPriceObject = JSONObject.parseObject(JSONObject.toJSONString(oilPrice));
// 查询门店油号
highGasOilPrice = highGasOilPriceService.getGasOilPriceByStoreAndOilNo(store.getId(), oilPriceObject.getString("oilNo"));
if (highGasOilPrice == null) {
highGasOilPrice = new HighGasOilPrice();
highGasOilPrice.setMerchantStoreId(store.getId());
highGasOilPrice.setOilNo(oilPriceObject.getString("oilNo"));
highGasOilPrice.setOilNoName(oilPriceObject.getString("oilNoName"));
highGasOilPrice.setPriceVip(oilPriceObject.getBigDecimal("priceVip"));
highGasOilPrice.setPriceGun(oilPriceObject.getBigDecimal("priceGun"));
highGasOilPrice.setPriceOfficial(oilPriceObject.getBigDecimal("priceOfficial"));
highGasOilPrice.setOilType(oilPriceObject.getInteger("oilType"));
highGasOilPrice.setOilTypeName(oilPriceObject.getString("oilTypeName"));
highGasOilPrice.setStatus(GasOilPriceStatusEnum.status1.getStatus());
} else {
highGasOilPrice.setMerchantStoreId(store.getId());
highGasOilPrice.setOilNo(oilPriceObject.getString("oilNo"));
highGasOilPrice.setOilNoName(oilPriceObject.getString("oilNoName"));
highGasOilPrice.setPriceVip(oilPriceObject.getBigDecimal("priceVip"));
highGasOilPrice.setPriceGun(oilPriceObject.getBigDecimal("priceGun"));
highGasOilPrice.setPriceOfficial(oilPriceObject.getBigDecimal("priceOfficial"));
highGasOilPrice.setOilType(oilPriceObject.getInteger("oilType"));
highGasOilPrice.setOilTypeName(oilPriceObject.getString("oilTypeName"));
}
highGasOilPriceService.editGasOilPrice(highGasOilPrice);
}
} else {
highMerchantStore = new HighMerchantStore();
highMerchantStore.setType(1);
highMerchantStore.setSourceType(2);
highMerchantStore.setMerchantId(merchant.getId());
highMerchantStore.setCompanyId(merchant.getCompanyId());
highMerchantStore.setStoreKey(object.getString("gasId"));
highMerchantStore.setStoreName(object.getString("gasName"));
highMerchantStore.setStoreLogo(object.getString("gasLogoSmall"));
highMerchantStore.setRegionId(object.getLong("provinceCode"));
highMerchantStore.setRegionName(object.getString("provinceName"));
highMerchantStore.setAddress(object.getString("gasAddress"));
highMerchantStore.setLongitude(object.getString("gasAddressLongitude"));
highMerchantStore.setLatitude(object.getString("gasAddressLatitude"));
highMerchantStore.setStatus(1);
highMerchantStore.setPrestoreType(0);
highMerchantStore.setOperatorId(0L);
highMerchantStore.setOperatorName("系统创建");
highMerchantStore.setCreateTime(new Date());
highMerchantStore.setUpdateTime(new Date());
highMerchantStore.setExt1(object.getString("gasSourceId"));
HighMerchantStoreModel merchantStoreModel = new HighMerchantStoreModel();
BeanUtils.copyProperties(highMerchantStore, merchantStoreModel);
highMerchantStoreService.insertMerchantStore(merchantStoreModel);
JSONArray oilPriceList = object.getJSONArray("oilPriceList");
for (Object oilPrice : oilPriceList) {
JSONObject oilPriceObject = JSONObject.parseObject(JSONObject.toJSONString(oilPrice));
highGasOilPrice = new HighGasOilPrice();
highGasOilPrice.setMerchantStoreId(merchantStoreModel.getId());
highGasOilPrice.setOilNo(oilPriceObject.getString("oilNo"));
highGasOilPrice.setOilNoName(oilPriceObject.getString("oilNoName"));
highGasOilPrice.setPriceVip(oilPriceObject.getBigDecimal("priceVip"));
highGasOilPrice.setPriceGun(oilPriceObject.getBigDecimal("priceGun"));
highGasOilPrice.setPriceOfficial(oilPriceObject.getBigDecimal("priceOfficial"));
highGasOilPrice.setOilType(oilPriceObject.getInteger("oilType"));
highGasOilPrice.setOilTypeName(oilPriceObject.getString("oilTypeName"));
highGasOilPriceService.editGasOilPrice(highGasOilPrice);
}
}
}
}
return ResponseMsgUtil.success("完成");
} catch (Exception e) {
log.error("HighOrderController --> getBackendToken() error!", e);
return ResponseMsgUtil.exception(e);
}
}
@RequestMapping(value = "/test", method = RequestMethod.GET)
@ResponseBody
@ApiOperation(value = "测试")
public ResponseData test(@RequestParam(name = "no", required = true) String no) {
try {
JSONObject jsonObject = DianConfig.getGasInfoByGasId(no);
return ResponseMsgUtil.success(jsonObject);
} catch (Exception e) {
log.error("HighOrderController --> getBackendToken() error!", e);
return ResponseMsgUtil.exception(e);
}
}
@RequestMapping(value = "/getGasInfoAll", method = RequestMethod.GET)
@ResponseBody
@ApiOperation(value = "获取全量油站")
public ResponseData getGasInfoAll() {
try {
HighMerchantModel merchant = highMerchantService.getMerchantById(39L);
JSONObject jsonObject = DianConfig.getGasInfoAll();
JSONArray resultObject = jsonObject.getObject("result", JSONArray.class);
for (int i = 0; i < resultObject.size();i++) {
Object objectData = resultObject.get(i);
JSONObject object = JSONObject.parseObject(JSONObject.toJSONString(objectData));
HighMerchantStore highMerchantStore;
HighGasOilPrice highGasOilPrice;
HighMerchantStoreModel store = highMerchantStoreService.getMerchantStoreByKey(object.getString("jyzid"));
SecRegion region = commonService.getRegionsByName(object.getString("province"));
if (store != null) {
store.setType(1);
store.setSourceType(6);
store.setMerchantId(merchant.getId());
store.setCompanyId(merchant.getCompanyId());
store.setStoreKey(object.getString("jyzid"));
store.setStoreName(object.getString("mingcheng"));
store.setStoreLogo(object.getString("tupian"));
store.setRegionId(region.getRegionId());
store.setRegionName(object.getString("province"));
store.setAddress(object.getString("dizhi"));
store.setLongitude(object.getString("lng"));
store.setLatitude(object.getString("lat"));
store.setStatus(object.getInteger("zhuangtai"));
store.setPrestoreType(0);
store.setOperatorId(0L);
store.setOperatorName("系统创建");
store.setUpdateTime(new Date());
store.setExt1(object.getString("gasSourceId"));
highMerchantStoreService.updateMerchantStoreDetail(store);
JSONArray oilPriceList = object.getJSONArray("oilPriceList");
for (Object oilPrice : oilPriceList) {
JSONObject oilPriceObject = JSONObject.parseObject(JSONObject.toJSONString(oilPrice));
// 查询门店油号
highGasOilPrice = highGasOilPriceService.getGasOilPriceByStoreAndOilNo(store.getId(), oilPriceObject.getString("youhao"));
if (highGasOilPrice == null) {
highGasOilPrice = new HighGasOilPrice();
highGasOilPrice.setMerchantStoreId(store.getId());
highGasOilPrice.setOilNo(oilPriceObject.getString("youhao"));
highGasOilPrice.setOilNoName(oilPriceObject.getString("youhao") + "#");
highGasOilPrice.setPriceVip(oilPriceObject.getBigDecimal("priceVip"));
highGasOilPrice.setPriceGun(oilPriceObject.getBigDecimal("priceGun"));
highGasOilPrice.setPriceOfficial(oilPriceObject.getBigDecimal("priceGun"));
highGasOilPrice.setOilType(oilPriceObject.getInteger("oiltype"));
highGasOilPrice.setOilTypeName(oilPriceObject.getString("oiltype").equals("1") ? "汽油": "柴油");
highGasOilPrice.setStatus(GasOilPriceStatusEnum.status1.getStatus());
} else {
highGasOilPrice.setMerchantStoreId(store.getId());
highGasOilPrice.setOilNo(oilPriceObject.getString("youhao"));
highGasOilPrice.setOilNoName( oilPriceObject.getString("youhao") + "#");
highGasOilPrice.setPriceVip(oilPriceObject.getBigDecimal("priceVip"));
highGasOilPrice.setPriceGun(oilPriceObject.getBigDecimal("priceGun"));
highGasOilPrice.setPriceOfficial(oilPriceObject.getBigDecimal("priceGun"));
highGasOilPrice.setOilType(oilPriceObject.getInteger("oiltype"));
highGasOilPrice.setOilTypeName(oilPriceObject.getString("oiltype").equals("1") ? "汽油": "柴油");
}
highGasOilPriceService.editGasOilPrice(highGasOilPrice);
}
} else {
highMerchantStore = new HighMerchantStore();
highMerchantStore.setType(1);
highMerchantStore.setSourceType(6);
highMerchantStore.setMerchantId(merchant.getId());
highMerchantStore.setCompanyId(merchant.getCompanyId());
highMerchantStore.setStoreKey(object.getString("jyzid"));
highMerchantStore.setStoreName(object.getString("mingcheng"));
highMerchantStore.setStoreLogo(object.getString("tupian"));
highMerchantStore.setRegionId(region.getRegionId());
highMerchantStore.setRegionName(object.getString("province"));
highMerchantStore.setAddress(object.getString("dizhi"));
highMerchantStore.setLongitude(object.getString("lng"));
highMerchantStore.setLatitude(object.getString("lat"));
highMerchantStore.setStatus(1);
highMerchantStore.setPrestoreType(0);
highMerchantStore.setOperatorId(0L);
highMerchantStore.setOperatorName("系统创建");
highMerchantStore.setCreateTime(new Date());
highMerchantStore.setUpdateTime(new Date());
highMerchantStore.setExt1(object.getString("gasSourceId"));
HighMerchantStoreModel merchantStoreModel = new HighMerchantStoreModel();
BeanUtils.copyProperties(highMerchantStore, merchantStoreModel);
highMerchantStoreService.insertMerchantStore(merchantStoreModel);
JSONArray oilPriceList = object.getJSONArray("oilPriceList");
for (Object oilPrice : oilPriceList) {
JSONObject oilPriceObject = JSONObject.parseObject(JSONObject.toJSONString(oilPrice));
highGasOilPrice = new HighGasOilPrice();
highGasOilPrice.setMerchantStoreId(merchantStoreModel.getId());
highGasOilPrice.setOilNo(oilPriceObject.getString("youhao"));
highGasOilPrice.setOilNoName(oilPriceObject.getString("youhao") + "#");
highGasOilPrice.setPriceVip(oilPriceObject.getBigDecimal("priceVip"));
highGasOilPrice.setPriceGun(oilPriceObject.getBigDecimal("priceGun"));
highGasOilPrice.setPriceOfficial(oilPriceObject.getBigDecimal("priceGun"));
highGasOilPrice.setOilType(oilPriceObject.getInteger("oiltype"));
highGasOilPrice.setOilTypeName(oilPriceObject.getString("oiltype").equals("1") ? "汽油": "柴油");
highGasOilPriceService.editGasOilPrice(highGasOilPrice);
}
}
}
return ResponseMsgUtil.success(jsonObject);
} catch (Exception e) {
log.error("HighOrderController --> getBackendToken() error!", e);
return ResponseMsgUtil.exception(e);
}
}
@RequestMapping(value = "/getOrderPay", method = RequestMethod.GET)
@ResponseBody
@ApiOperation(value = "getOrderPay")
public ResponseData getOrderPay(@RequestParam(name = "orderNo", required = true) String orderNo) {
try {
HighOilCardOrder highOilCardOrder = highOilCardOrderService.findOrder(orderNo);
highOilCardOrder.setStatus(2);
JSONObject object = KytcService.getOrderPay(highOilCardOrder.getThirdOrderNo() , highOilCardOrder.getPrice() , highOilCardOrder.getCardNo());
highOilCardOrder.setExt1(object.toJSONString());
highOilCardOrderService.updateOilCardOrder(highOilCardOrder);
return ResponseMsgUtil.success("成功");
} catch (Exception e) {
log.error("HighOrderController --> getBackendToken() error!", e);
return ResponseMsgUtil.exception(e);
}
}
@RequestMapping(value = "/getOrderInfo", method = RequestMethod.GET)
@ResponseBody
@ApiOperation(value = "getOrderInfo")
public ResponseData getOrderInfo(@RequestParam(name = "orderNo", required = true) String orderNo) {
try {
HighOilCardOrder highOilCardOrder = highOilCardOrderService.findOrder(orderNo);
JSONObject object = KytcService.getOrderInfo(highOilCardOrder.getThirdOrderNo());
highOilCardOrder.setExt2(object.toJSONString());
if (object.getBoolean("State") == true) {
JSONObject jsonObject = object.getJSONObject("Data");
if (jsonObject.getInteger("OilOrderState") == 2) {
highOilCardOrder.setStatus(3);
HighOrder highOrder = highOrderService.getOrderByOrderNo(highOilCardOrder.getOrderNo());
highOrder.setOrderStatus(3);
highOrder.getHighChildOrderList().get(0).setChildOrderStatus(3);
highOrderService.updateOrder(highOrder);
}
}
highOilCardOrderService.updateOilCardOrder(highOilCardOrder);
return ResponseMsgUtil.success("成功");
} catch (Exception e) {
log.error("HighOrderController --> getBackendToken() error!", e);
return ResponseMsgUtil.exception(e);
}
}
@RequestMapping(value = "/getLogisticsMsg", method = RequestMethod.GET)
@ResponseBody
@ApiOperation(value = "获取物流")
public ResponseData getLogisticsMsg(@RequestParam(name = "no", required = true) String no) {
try {
JSONObject jsonObjects = CommonConfig.getLogisticsMsg(no);
return ResponseMsgUtil.success(jsonObjects);
} catch (Exception e) {
log.error("HighOrderController --> getBackendToken() error!", e);
return ResponseMsgUtil.exception(e);
}
}
// @RequestMapping(value = "/synCouponRule", method = RequestMethod.GET)
// @ResponseBody
// @ApiOperation(value = "获取卡券")
// public ResponseData synCouponRule() {
// try {
// return ResponseMsgUtil.success(PetroConfig.synCouponRule());
// } catch (Exception e) {
// log.error("HighOrderController --> getBackendToken() error!", e);
// return ResponseMsgUtil.exception(e);
// }
// }
// @RequestMapping(value = "/getCoupon", method = RequestMethod.GET)
// @ResponseBody
// @ApiOperation(value = "卡券下单")
// public ResponseData getCoupon() {
// try {
//
// JSONObject jsonObject = PetroConfig.getCoupon("16000443991501" , "18090580471" , OrderUtil.generateOrderNo());
// String data = PetroConfig.decrypt(jsonObject.getString("biz_content"));
// JSONObject object = JSONObject.parseObject(data);
//
// return ResponseMsgUtil.success(object);
// } catch (Exception e) {
// log.error("HighOrderController --> getBackendToken() error!", e);
// return ResponseMsgUtil.exception(e);
// }
// }
@RequestMapping(value = "/decrypt", method = RequestMethod.GET)
@ResponseBody
@ApiOperation(value = "解码")
public ResponseData decrypt(@RequestParam(name = "content", required = true) String content) {
try {
String data = PetroConfig.decrypt(content);
return ResponseMsgUtil.success(data);
} catch (Exception e) {
log.error("HighOrderController --> getBackendToken() error!", e);
return ResponseMsgUtil.exception(e);
}
}
@RequestMapping(value = "/deleteOilNo", method = RequestMethod.GET)
@ResponseBody
@ApiOperation(value = "删除油品")
public ResponseData deleteOilNo() {
try {
gasService.deleteOilNo();
return ResponseMsgUtil.success("1231243");
} catch (Exception e) {
log.error("HighOrderController --> getBackendToken() error!", e);
return ResponseMsgUtil.exception(e);
}
}
@RequestMapping(value = "/getJiaHaoYouAllStation", method = RequestMethod.GET)
@ResponseBody
@ApiOperation(value = "加好油油站刷新")
public ResponseData getJiaHaoYouAllStation() {
try {
gasService.getJiaHaoYouAllStation();
return ResponseMsgUtil.success("1231243");
} catch (Exception e) {
log.error("HighOrderController --> getBackendToken() error!", e);
return ResponseMsgUtil.exception(e);
}
}
@RequestMapping(value = "/getDianAllStation", method = RequestMethod.GET)
@ResponseBody
@ApiOperation(value = "点点网络")
public ResponseData getDianAllStation() {
try {
gasService.getDianAllStation();
return ResponseMsgUtil.success("1231243");
} catch (Exception e) {
log.error("HighOrderController --> getBackendToken() err1or!", e);
return ResponseMsgUtil.exception(e);
}
}
@RequestMapping(value = "/integralRebateOrder", method = RequestMethod.GET)
@ResponseBody
@ApiOperation(value = "积分返利")
public ResponseData integralRebateOrder() {
try {
// 查询满足初步返利条件订单
List<HighOrder> order = highOrderService.integralRebateOrder();
for (HighOrder highOrder : order) {
// 查询是否存在积分记录
Map<String, Object> map = new HashMap<>();
map.put("goldType", 1);
map.put("resType", 4);
map.put("userId", highOrder.getMemId());
map.put("resId", highOrder.getId());
List<HighGoldRec> goldRecs = highGoldRecService.getGoldRec(map);
// 判断是否重复赠送积分
if (goldRecs.size() == 0) {
bsOrderRebateService.insertOrderRebate(highOrder);
}
highOrder.setWhetherRebate(true);
highOrderService.updateOrderDetail(highOrder);
}
return ResponseMsgUtil.success("1231243");
} catch (Exception e) {
log.error("HighOrderController --> getBackendToken() err1or!", e);
return ResponseMsgUtil.exception(e);
}
}
@RequestMapping(value = "/getApiCoupon", method = RequestMethod.GET)
@ResponseBody
@ApiOperation(value = "获取卡券")
public ResponseData getApiCoupon() {
try {
// 查询满足初步返利条件订单
List<HighOrder> order = highOrderService.integralRebateOrder();
for (HighOrder highOrder : order) {
// 查询是否存在积分记录
Map<String, Object> map = new HashMap<>();
map.put("goldType", 1);
map.put("resType", 4);
map.put("userId", highOrder.getMemId());
map.put("resId", highOrder.getId());
List<HighGoldRec> goldRecs = highGoldRecService.getGoldRec(map);
// 判断是否重复赠送积分
if (goldRecs.size() == 0) {
bsOrderRebateService.insertOrderRebate(highOrder);
}
highOrder.setWhetherRebate(true);
highOrderService.updateOrderDetail(highOrder);
}
return ResponseMsgUtil.success("1231243");
} catch (Exception e) {
log.error("HighOrderController --> getBackendToken() err1or!", e);
return ResponseMsgUtil.exception(e);
}
}
@RequestMapping(value = "/getCouponList", method = RequestMethod.GET)
@ResponseBody
@ApiOperation(value = "查询车牌订单列表信息")
public ResponseData getCouponList(@RequestParam(name = "mchOrderNo", required = true) String mchOrderNo) {
try {
PetroConfig.init(2);
JSONObject jsonObject = petroConfig.couponDetail(mchOrderNo);
if (!jsonObject.getString("code").equals("1")) {
throw ErrorHelp.genException(SysCode.System , ErrorCode.COMMON_ERROR , "当前订单未查询到!");
}
String data = PetroConfig.decrypt(jsonObject.getString("biz_content"));
JSONObject jsonData = JSONObject.parseObject(data);
return ResponseMsgUtil.success(jsonData);
} catch (Exception e) {
log.error("HighOrderController --> getBackendToken() error!", e);
return ResponseMsgUtil.exception(e);
}
}
@RequestMapping(value = "/refund", method = RequestMethod.GET)
@ResponseBody
@ApiOperation(value = "支付退款")
public ResponseData refund(@RequestParam(name = "mchOrderNo", required = true) String mchOrderNo) {
try {
Map<String , Object> mapPost = new HashMap<>();
mapPost.put("merchId" , "20231255604");
mapPost.put("mchOrderNo" , mchOrderNo);
// mapPost.put("timetable" , new Date().getTime());
mapPost.put("sign" , WxUtils.generateSignApi(mapPost, "7CCB9CB8B630CDB8E32A694426BED12B", WXPayConstants.SignType.MD5));
return ResponseMsgUtil.success(HttpsUtils.doPost("https://hsg.dctpay.com/v1/order/refund" , mapPost , new HashMap<>()));
} catch (Exception e) {
log.error("HighOrderController --> getBackendToken() error!", e);
return ResponseMsgUtil.exception(e);
}
}
@RequestMapping(value = "/couponDetail", method = RequestMethod.GET)
@ResponseBody
@ApiOperation(value = "支付退款")
public ResponseData couponDetail(@RequestParam(name = "mchOrderNo", required = true) String mchOrderNo) {
try {
Map<String , Object> mapPost = new HashMap<>();
mapPost.put("merchId" , "20231255604");
mapPost.put("mchOrderNo" , mchOrderNo);
mapPost.put("timetable" , new Date().getTime());
mapPost.put("sign" , WxUtils.generateSignApi(mapPost, "7CCB9CB8B630CDB8E32A694426BED12B", WXPayConstants.SignType.MD5));
return ResponseMsgUtil.success(HttpsUtils.doPost("https://hsg.dctpay.com/v1/apiCoupon/couponDetail" , mapPost , new HashMap<>()));
} catch (Exception e) {
log.error("HighOrderController --> getBackendToken() error!", e);
return ResponseMsgUtil.exception(e);
}
}
@RequestMapping(value = "/decryptPetroConfig", method = RequestMethod.GET)
@ResponseBody
@ApiOperation(value = "解码")
public ResponseData decryptPetroConfig(@RequestParam(name = "content", required = true) String content) {
try {
PetroConfig.init(1);
String data = PetroConfig.decrypt(content);
JSONObject object = JSONObject.parseObject(data);
return ResponseMsgUtil.success(object);
} catch (Exception e) {
log.error("HighOrderController --> getBackendToken() error!", e);
return ResponseMsgUtil.exception(e);
}
}
}
|