From eeecad9e33c74100b1714f10f7ab2eb149ef1490 Mon Sep 17 00:00:00 2001
From: java110 <928255095@qq.com>
Date: 星期四, 17 三月 2022 18:55:10 +0800
Subject: [PATCH] 加入二维码巡检功能
---
service-api/src/main/java/com/java110/api/smo/payment/impl/ToPayTempCarFeeSMOImpl.java | 66 ++++++++++++++++++++++++--------
1 files changed, 49 insertions(+), 17 deletions(-)
diff --git a/service-api/src/main/java/com/java110/api/smo/payment/impl/ToPayTempCarFeeSMOImpl.java b/service-api/src/main/java/com/java110/api/smo/payment/impl/ToPayTempCarFeeSMOImpl.java
index 9299988..c5cbafb 100644
--- a/service-api/src/main/java/com/java110/api/smo/payment/impl/ToPayTempCarFeeSMOImpl.java
+++ b/service-api/src/main/java/com/java110/api/smo/payment/impl/ToPayTempCarFeeSMOImpl.java
@@ -16,14 +16,16 @@
import com.java110.po.ownerCarOpenUser.OwnerCarOpenUserPo;
import com.java110.utils.cache.CommonCache;
import com.java110.utils.cache.MappingCache;
+import com.java110.utils.constant.CommonConstant;
import com.java110.utils.constant.WechatConstant;
import com.java110.utils.factory.ApplicationContextFactory;
import com.java110.utils.util.Assert;
import com.java110.utils.util.BeanConvertUtil;
import com.java110.utils.util.DateUtil;
import com.java110.utils.util.StringUtil;
+import org.apache.commons.lang.StringUtils;
import org.slf4j.Logger;
-import org.slf4j.LoggerFactory;
+import com.java110.core.log.LoggerFactory;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.http.HttpMethod;
import org.springframework.http.HttpStatus;
@@ -31,7 +33,7 @@
import org.springframework.stereotype.Service;
import org.springframework.web.client.RestTemplate;
-import java.util.Map;
+import java.util.*;
@Service("toPayTempCarFeeSMOImpl")
public class ToPayTempCarFeeSMOImpl extends AppAbstractComponentSMO implements IToPayTempCarFeeSMO {
@@ -65,6 +67,7 @@
Assert.jsonObjectHaveKey(paramIn, "openId", "璇锋眰鎶ユ枃涓湭鍖呭惈openId鑺傜偣");
Assert.jsonObjectHaveKey(paramIn, "paId", "璇锋眰鎶ユ枃涓湭鍖呭惈paId鑺傜偣");
Assert.jsonObjectHaveKey(paramIn, "inoutId", "璇锋眰鎶ユ枃涓湭鍖呭惈inoutId鑺傜偣");
+ Assert.jsonObjectHaveKey(paramIn, "couponList", "璇锋眰鎶ユ枃涓湭鍖呭惈couponList鑺傜偣");
}
@@ -82,11 +85,16 @@
smallWeChatDto.setMchId(wechatAuthProperties.getMchId());
smallWeChatDto.setPayPassword(wechatAuthProperties.getKey());
}
-
-
+ JSONArray couponList = paramIn.getJSONArray("couponList");
+ List<String> couponIds = new ArrayList<String>();
+ if (couponList != null && couponList.size() > 0) {
+ for (int couponIndex = 0; couponIndex < couponList.size(); couponIndex++) {
+ couponIds.add(couponList.getJSONObject(couponIndex).getString("couponId"));
+ }
+ }
//鏌ヨ鐢ㄦ埛ID
paramIn.put("userId", pd.getUserId());
- String url = "tempCarFee.getTempCarFeeOrder?paId=" + paramIn.getString("paId") + "&carNum=" + paramIn.getString("carNum");
+ String url = "tempCarFee.queryTempCarFeeOrder?paId=" + paramIn.getString("paId") + "&carNum=" + paramIn.getString("carNum")+"&couponIds="+StringUtils.join(couponIds,",");
responseEntity = super.callCenterService(restTemplate, pd, "", url, HttpMethod.GET);
if (responseEntity.getStatusCode() != HttpStatus.OK) {
@@ -98,8 +106,25 @@
}
JSONObject fee = orderInfo.getJSONObject("data");
- double money = fee.getDouble("payCharge");
- String orderId = GenerateCodeFactory.getOId();
+ double money = fee.getDouble("receivedAmount");
+
+ String orderId = fee.getString("oId");
+ //闇�瑕佸垽鏂噾棰濇槸鍚� == 0 绛変簬0 鐩存帴鎺夌即璐归�氱煡鎺ュ彛
+ if (money <= 0) {
+ JSONObject paramOut = new JSONObject();
+ paramOut.put("oId", orderId);
+ String urlOut = "tempCarFee.notifyTempCarFeeOrder";
+ responseEntity = this.callCenterService(getHeaders("-1", pd.getAppId()), paramOut.toJSONString(), urlOut, HttpMethod.POST);
+ JSONObject param = new JSONObject();
+ if (responseEntity.getStatusCode() != HttpStatus.OK) {
+ param.put("code", "101");
+ param.put("msg", "鎵h垂涓�0鍥炶皟澶辫触");
+ return new ResponseEntity(JSONObject.toJSONString(param), HttpStatus.OK);
+ }
+ param.put("code", "100");
+ param.put("msg", "鎵h垂涓�0鍥炶皟鎴愬姛");
+ return new ResponseEntity(JSONObject.toJSONString(param), HttpStatus.OK);
+ }
String openId = paramIn.getString("openId");
String payAdapt = MappingCache.getValue(WechatConstant.WECHAT_DOMAIN, WechatConstant.PAY_ADAPT);
payAdapt = StringUtil.isEmpty(payAdapt) ? DEFAULT_PAY_ADAPT : payAdapt;
@@ -111,15 +136,14 @@
if (!"0".equals(result.get("code"))) {
return responseEntity;
}
- JSONObject saveFees = new JSONObject();
- saveFees.put("orderId", paramIn.getString("inoutId"));
- saveFees.put("carNum", paramIn.getString("carNum"));
- saveFees.put("amount", money);
- saveFees.put("paId", paramIn.getString("paId"));
- saveFees.put("payTime", DateUtil.getNow(DateUtil.DATE_FORMATE_STRING_A));
- saveFees.put("payType", "2");
- CommonCache.setValue(FeeDto.REDIS_PAY_TEMP_CAR_FEE + orderId, saveFees.toJSONString(), CommonCache.PAY_DEFAULT_EXPIRE_TIME);
-
+// JSONObject saveFees = new JSONObject();
+// saveFees.put("orderId", paramIn.getString("inoutId"));
+// saveFees.put("carNum", paramIn.getString("carNum"));
+// saveFees.put("amount", money);
+// saveFees.put("paId", paramIn.getString("paId"));
+// saveFees.put("payTime", DateUtil.getNow(DateUtil.DATE_FORMATE_STRING_A));
+// saveFees.put("payType", "2");
+// CommonCache.setValue(FeeDto.REDIS_PAY_TEMP_CAR_FEE + orderId, saveFees.toJSONString(), CommonCache.PAY_DEFAULT_EXPIRE_TIME);
//璁板綍openId 鍜岃溅杈嗗叧绯� 浠ュ厤姣忔 杈撳叆 杞︾墝鍙烽夯鐑�
OwnerCarOpenUserPo ownerCarOpenUserPo = new OwnerCarOpenUserPo();
ownerCarOpenUserPo.setCarNum(paramIn.getString("carNum"));
@@ -132,7 +156,15 @@
return responseEntity;
}
-
+ private Map<String, String> getHeaders(String userId,String APP_ID) {
+ Map<String, String> headers = new HashMap<>();
+ headers.put(CommonConstant.HTTP_APP_ID.toLowerCase(), APP_ID);
+ headers.put(CommonConstant.HTTP_USER_ID.toLowerCase(), userId);
+ headers.put(CommonConstant.HTTP_TRANSACTION_ID.toLowerCase(), UUID.randomUUID().toString());
+ headers.put(CommonConstant.HTTP_REQ_TIME.toLowerCase(), DateUtil.getDefaultFormateTimeString(new Date()));
+ headers.put(CommonConstant.HTTP_SIGN.toLowerCase(), "");
+ return headers;
+ }
private SmallWeChatDto getSmallWechat(IPageData pd, JSONObject paramIn) {
ResponseEntity responseEntity = null;
--
Gitblit v1.8.0