From dfe3eb2327962d2cace6ca85acd1dea629033886 Mon Sep 17 00:00:00 2001
From: LHN <31457034@qq.com>
Date: 星期一, 17 十月 2022 16:21:22 +0800
Subject: [PATCH] changes
---
ximon-admin/src/main/java/com/sandu/ximon/admin/controller/C3mOrderController.java | 97 ++++++++++++++++++++++++++----------------------
1 files changed, 52 insertions(+), 45 deletions(-)
diff --git a/ximon-admin/src/main/java/com/sandu/ximon/admin/controller/C3mOrderController.java b/ximon-admin/src/main/java/com/sandu/ximon/admin/controller/C3mOrderController.java
index 8e416f1..21d1e0d 100644
--- a/ximon-admin/src/main/java/com/sandu/ximon/admin/controller/C3mOrderController.java
+++ b/ximon-admin/src/main/java/com/sandu/ximon/admin/controller/C3mOrderController.java
@@ -1,25 +1,27 @@
package com.sandu.ximon.admin.controller;
+import cn.hutool.core.map.MapUtil;
import com.sandu.common.domain.ResponseVO;
import com.sandu.common.execption.BusinessException;
import com.sandu.common.object.BaseConditionVO;
+import com.sandu.common.security.annotation.AnonymousAccess;
import com.sandu.common.util.ResponseUtil;
import com.sandu.ximon.admin.param.PayParam;
import com.sandu.ximon.admin.pay.alipay.UsrAlipayConfigService;
import com.sandu.ximon.admin.pay.wx.WxFastPayService;
+import com.sandu.ximon.admin.security.PermissionConfig;
import com.sandu.ximon.admin.service.C3ChargingService;
import com.sandu.ximon.admin.service.C3mChargingChargeService;
import com.sandu.ximon.admin.service.C3mOrderService;
-import com.sandu.ximon.admin.utils.AliPayUtils;
-import com.sandu.ximon.dao.bo.C3mOrderBo;
import com.sandu.ximon.dao.domain.C3mCharging;
import com.sandu.ximon.dao.domain.C3mOrder;
-import com.sandu.ximon.dao.enums.OrderType;
+import com.sandu.ximon.dao.enums.MenuEnum;
import lombok.AllArgsConstructor;
+import me.chanjar.weixin.common.error.WxErrorException;
import org.springframework.web.bind.annotation.*;
+import javax.servlet.http.HttpServletRequest;
import java.math.BigDecimal;
-import java.util.List;
import java.util.SortedMap;
/**
@@ -36,6 +38,7 @@
private final UsrAlipayConfigService alipayConfigService;
private final WxFastPayService wxPayService;
private final C3mChargingChargeService c3mChargingChargeService;
+ private final PermissionConfig permissionConfig;
/**
@@ -43,15 +46,15 @@
*
* @return
*/
- @PostMapping("/refond")
- public ResponseVO<Object> refond(@RequestBody PayParam params) {
-
- if (params.getOutTradeNo().isEmpty() || params.getRefundAmount() == null) {
+ @PostMapping("/refund")
+ public ResponseVO<Object> refund(@RequestBody PayParam params) {
+ if (!permissionConfig.check(MenuEnum.C3_REFUND.getCode())) {
+ return ResponseUtil.fail("缂哄皯瀵瑰簲鐢ㄦ埛鏉冮檺");
+ }
+ if (params.getOutTradeNo().isEmpty() || params.getOutTradeNo() == null) {
throw new BusinessException("閫�娆惧弬鏁颁笉鑳戒负绌�");
}
- return ResponseUtil.success(c3mOrderService.orderRefund(params.getOutTradeNo(),
- params.getRefundAmount()));
-
+ return ResponseUtil.success(c3mOrderService.orderRefund(params.getOutTradeNo()));
}
/**
@@ -59,10 +62,17 @@
*
* @return
*/
+ @AnonymousAccess
@PostMapping("/advancePay")
- public ResponseVO<Object> advancePayOrder(@RequestBody PayParam param) {
- if (param.getTotalAmount() < 0) {
- throw new BusinessException("閲戦蹇呴』澶т簬0");
+ public ResponseVO<Object> advancePayOrder(HttpServletRequest request, @RequestBody PayParam param) throws WxErrorException, InterruptedException {
+ if (param.getOpenId().isEmpty()) {
+ throw new BusinessException("寰俊code涓嶈兘涓虹┖");
+ }
+ if (param.getPoleId() == null || param.getSubscribeChargingCapacity() == null) {
+ throw new BusinessException("鍏呯數妗﹊d鎴栧厖鐢靛閲忎笉鑳戒负绌�");
+ }
+ if (param.getSubscribeChargingCapacity() < 1) {
+ throw new BusinessException("鍏呯數瀹归噺涓嶈兘灏忎簬1Kw/h");
}
// C3鍏呯數妗╁疄浣�
C3mCharging c3m = c3mService.getC3mByPoleId(param.getPoleId());
@@ -73,52 +83,49 @@
BigDecimal TotalAmount = c3mChargingChargeService.getCostByC3id(c3m.getC3Id(), param.getSubscribeChargingCapacity());
//杞崲涓篸ouble绫诲瀷
double totalAmount = TotalAmount.doubleValue();
+ //鐢熸垚璁㈠崟
C3mOrder c3mOrderEntity = c3mOrderService.advancePayOrder(param.getPoleId(), c3m, "wxpay"
- , totalAmount, param.getSubscribeChargingCapacity());
- if (null == c3mOrderEntity) {
- throw new BusinessException("璇ュ厖鐢垫々姝h浣跨敤!");
- }
+ , totalAmount, param.getSubscribeChargingCapacity(), param.getOpenId());
- param.setOutTradeNo(c3mOrderEntity.getOutTradeNo());
- param.setTotalAmount(c3mOrderEntity.getTotalAmount());
- String s = WxFastPayService.parseWxAmount(param.getTotalAmount().toString());
- SortedMap<Object, Object> result = wxPayService.miniAppPay("鎵爜鍏呯數鏀粯(C3鍏呯數妗�)", param.getOutTradeNo(), Integer.valueOf(s), param.getPoleId());
+ String s = WxFastPayService.parseWxAmount(c3mOrderEntity.getTotalAmount().toString());
+ //鐢熸垚寰俊棰勪粯璁㈠崟
+ SortedMap<Object, Object> result = wxPayService.miniAppPay(request, "鎵爜鍏呯數鏀粯(C3鍏呯數妗�)", c3mOrderEntity.getOutTradeNo(), Integer.valueOf(s), param.getPoleId(), param.getOpenId());
return ResponseUtil.success(result);
}
/**
- * 璁㈠崟鐘舵�佹煡璇� 寰俊鏀粯
+ * 璁㈠崟鍒楄〃
*
- * @param param
+ * @param baseConditionVO
+ * @param keyword 鐏潌鍚嶇О
+ * @param orderStatus 璁㈠崟鐘舵�侊細// 鏈敮浠�(0) 宸叉敮浠�(1),閫�娆句腑(2),宸查��娆�(3),璁㈠崟瀹屾垚(4),閫�娆惧け璐�5)
+ * @param timeType 鏃堕棿 1锛氫竴涓湀 2锛氫笁涓湀 3锛氬叚涓湀
* @return
*/
- @RequestMapping("/queryOrder")
- public ResponseVO<Object> queryOrder(@RequestBody PayParam param) {
- if (param.getOrderId() == null) {
- throw new BusinessException("璇疯緭鍏ユ纭殑璁㈠崟id");
+ @GetMapping("/list")
+ public ResponseVO<Object> list(BaseConditionVO baseConditionVO,
+ @RequestParam(value = "keyword", required = false) String keyword,
+ @RequestParam(value = "orderStatus", required = false) Integer orderStatus,
+ @RequestParam(value = "timeType", required = false) Integer timeType) {
+ if (!permissionConfig.check(MenuEnum.ORDER_LIST.getCode())) {
+ return ResponseUtil.fail("缂哄皯瀵瑰簲鐢ㄦ埛鏉冮檺");
}
- C3mOrder order = c3mOrderService.getById(param.getOrderId());
- if (order == null) {
- throw new BusinessException("璁㈠崟涓嶅瓨鍦�");
- }
- if ((OrderType.ALIPAY.getCode()).equals(order.getOrderType())) {
- return ResponseUtil.success(AliPayUtils.alipayQuery(order.getOutTradeNo(), param.getPoleId()));
- } else if ((OrderType.WXPAY.getCode()).equals(order.getOrderType())) {
- return ResponseUtil.success(wxPayService.WxOrderQuery(param.getPoleId(), order.getOutTradeNo()));
- } else {
- return ResponseUtil.success("鏀粯鏂瑰紡寮傚父");
- }
-
+ return ResponseUtil.successPage(c3mOrderService.orderList(baseConditionVO, keyword, orderStatus, timeType));
}
/**
- * 璁㈠崟鍒楄〃
+ * 鑾峰彇wx鐨刼penid
*/
- @GetMapping("/list")
- public ResponseVO<Object> list(BaseConditionVO baseConditionVO) {
- List<C3mOrderBo> list = c3mOrderService.orderList(baseConditionVO);
- return ResponseUtil.successPage(list);
+ @AnonymousAccess
+ @PostMapping("/getWxOpenId")
+ public ResponseVO<Object> getWxOpenId(@RequestBody PayParam param) throws WxErrorException {
+ if (param.getWxCode() == null || param.getPoleId() == null || param.getWxCode().isEmpty()) {
+ throw new BusinessException("鍙傛暟涓嶈兘涓虹┖");
+ }
+ String openId = wxPayService.getOpenId(param.getPoleId(), param.getWxCode());
+
+ return ResponseUtil.success(MapUtil.builder().put("openId", openId).build());
}
}
--
Gitblit v1.9.3