|
@@ -1,14 +1,16 @@
|
|
|
package com.szwl.service.impl;
|
|
|
|
|
|
import com.alibaba.fastjson.JSONObject;
|
|
|
+import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
|
|
|
import com.szwl.constant.JoinpayConstant;
|
|
|
-import com.szwl.model.entity.TOrder;
|
|
|
import com.szwl.mapper.TOrderMapper;
|
|
|
+import com.szwl.model.entity.TOrder;
|
|
|
import com.szwl.model.utils.HttpClientUtils;
|
|
|
+import com.szwl.model.utils.YunPianSms;
|
|
|
import com.szwl.service.TOrderService;
|
|
|
-import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
|
|
|
import lombok.extern.slf4j.Slf4j;
|
|
|
import org.apache.commons.codec.digest.DigestUtils;
|
|
|
+import org.apache.commons.lang.StringUtils;
|
|
|
import org.apache.http.message.BasicNameValuePair;
|
|
|
import org.springframework.beans.factory.annotation.Autowired;
|
|
|
import org.springframework.stereotype.Service;
|
|
@@ -23,7 +25,7 @@ import java.util.*;
|
|
|
|
|
|
/**
|
|
|
* <p>
|
|
|
- * 服务实现类
|
|
|
+ * 服务实现类
|
|
|
* </p>
|
|
|
*
|
|
|
* @author wuhs
|
|
@@ -32,8 +34,12 @@ import java.util.*;
|
|
|
@Slf4j
|
|
|
@Service
|
|
|
public class TOrderServiceImpl extends ServiceImpl<TOrderMapper, TOrder> implements TOrderService {
|
|
|
+
|
|
|
@Autowired
|
|
|
private TOrderMapper tOrderMapper;
|
|
|
+
|
|
|
+ private static final String appId = "07784f5fedb508046c841b391005b7de";
|
|
|
+
|
|
|
@Override
|
|
|
public Double getAreaPrice(Map<String, Object> params) {
|
|
|
return tOrderMapper.getAreaPrice(params);
|
|
@@ -89,8 +95,9 @@ public class TOrderServiceImpl extends ServiceImpl<TOrderMapper, TOrder> impleme
|
|
|
}
|
|
|
return "r" + number.toString();
|
|
|
}
|
|
|
+
|
|
|
@Override
|
|
|
- public String refund(String sn , Object refundSn , BigDecimal refundAmount , BigDecimal p8_MarketRefAmount , String refundReason , String notifyUrl , String altRefInfo ) {
|
|
|
+ public String refund(String sn, Object refundSn, BigDecimal refundAmount, BigDecimal p8MarketRefAmount, String refundReason, String notifyUrl, String altRefInfo) {
|
|
|
String url = "https://www.joinpay.com/trade/refund.action";
|
|
|
|
|
|
List<BasicNameValuePair> data = new ArrayList<BasicNameValuePair>();
|
|
@@ -101,9 +108,9 @@ public class TOrderServiceImpl extends ServiceImpl<TOrderMapper, TOrder> impleme
|
|
|
data.add(new BasicNameValuePair("p4_RefundAmount", refundAmount.setScale(2, RoundingMode.HALF_DOWN).toString()));
|
|
|
data.add(new BasicNameValuePair("p5_RefundReason", refundReason));
|
|
|
data.add(new BasicNameValuePair("p6_NotifyUrl", notifyUrl));
|
|
|
- data.add(new BasicNameValuePair("p7_AltRefInfo", altRefInfo==null?null:altRefInfo.toString()));
|
|
|
- if(p8_MarketRefAmount!=null){
|
|
|
- data.add(new BasicNameValuePair("p8_MarketRefAmount", p8_MarketRefAmount.toString()));
|
|
|
+ data.add(new BasicNameValuePair("p7_AltRefInfo", altRefInfo == null ? null : altRefInfo.toString()));
|
|
|
+ if (p8MarketRefAmount != null) {
|
|
|
+ data.add(new BasicNameValuePair("p8_MarketRefAmount", p8MarketRefAmount.toString()));
|
|
|
}
|
|
|
// TODO: 2019-04-01 空值不参与签名!!!!!!!!!!!!!!!!!!
|
|
|
String hmac = null;
|
|
@@ -122,13 +129,38 @@ public class TOrderServiceImpl extends ServiceImpl<TOrderMapper, TOrder> impleme
|
|
|
System.out.println(result);
|
|
|
return resultJson.getString("rc_CodeMsg");
|
|
|
}
|
|
|
+
|
|
|
+ @Override
|
|
|
+ public String sendRefundSms(TOrder order, String phone, String equipmentName) {
|
|
|
+ String result = "";
|
|
|
+ try {
|
|
|
+ String companyType = order.getCompanyType();
|
|
|
+ String sn = order.getSn();
|
|
|
+ String price = String.valueOf(order.getPrice());
|
|
|
+ Date payDate = order.getPayDate();
|
|
|
+ String pattern = "yyyy-MM-dd HH:mm:ss";
|
|
|
+ SimpleDateFormat simpleDateFormat = new SimpleDateFormat(pattern);
|
|
|
+ String refundTime = simpleDateFormat.format(new Date());
|
|
|
+ String payTime = simpleDateFormat.format(payDate);
|
|
|
+ if (StringUtils.isNotEmpty(companyType) && "1".equals(companyType)) {
|
|
|
+ result = YunPianSms.sendSms(appId, getScMessage(sn, price, refundTime, equipmentName, payTime), phone);
|
|
|
+ } else {
|
|
|
+ result = YunPianSms.sendSms(appId, getSzMessage(sn, price, refundTime, equipmentName, payTime), phone);
|
|
|
+ }
|
|
|
+ } catch (Exception e) {
|
|
|
+ e.printStackTrace();
|
|
|
+ return "发送短信失败";
|
|
|
+ }
|
|
|
+ return result;
|
|
|
+ }
|
|
|
+
|
|
|
/**
|
|
|
* 签名算法sign , hmac 签名
|
|
|
*
|
|
|
* @param data
|
|
|
* @return
|
|
|
*/
|
|
|
- public static String createHmacSign( List<BasicNameValuePair> data , String key) throws UnsupportedEncodingException {
|
|
|
+ public static String createHmacSign(List<BasicNameValuePair> data, String key) throws UnsupportedEncodingException {
|
|
|
|
|
|
StringBuffer sb = new StringBuffer();
|
|
|
Iterator<BasicNameValuePair> es = data.iterator();
|
|
@@ -142,7 +174,18 @@ public class TOrderServiceImpl extends ServiceImpl<TOrderMapper, TOrder> impleme
|
|
|
}
|
|
|
|
|
|
sb.append(key);
|
|
|
- String sign = DigestUtils.md5Hex(sb.toString());
|
|
|
- return sign;
|
|
|
+ return DigestUtils.md5Hex(sb.toString());
|
|
|
+ }
|
|
|
+
|
|
|
+ private String getSzMessage(String sn, String price, String time, String equipmentName, String payTime) {
|
|
|
+ return "【申泽智能】您好,接到消费者投诉:机器做糖出现问题。已帮您退款:订单号:"
|
|
|
+ + sn + ",所属机器:" + equipmentName + ",价格:" + price + "元,订单支付时间:"
|
|
|
+ + payTime + ",订单退款时间:" + time + "。如有疑问,请联系营销经理咨询或者在微信群里咨询";
|
|
|
+ }
|
|
|
+
|
|
|
+ private String getScMessage(String sn, String price, String time, String equipmentName, String payTime) {
|
|
|
+ return "【七云科技】您好,接到消费者投诉:机器做糖出现问题。已帮您退款:订单号:"
|
|
|
+ + sn + ",所属机器:" + equipmentName + ",价格:" + price + "元,订单支付时间:"
|
|
|
+ + payTime + ",订单退款时间:" + time + "。如有疑问,请联系营销经理咨询或者在微信群里咨询。";
|
|
|
}
|
|
|
}
|