记得上下班打卡 | git大法好,push需谨慎

Commit 37a60b89 authored by jiangxiulong's avatar jiangxiulong

refund

parent 75279a3c
package com.liquidnet.client.admin.common.utils;
import java.util.Collection;
import java.util.Map;
import java.io.UnsupportedEncodingException;
import java.net.URLDecoder;
import java.util.*;
import com.liquidnet.client.admin.common.core.text.StrFormatter;
import org.springframework.util.MultiValueMap;
/**
* 字符串工具类
*
*
* @author ruoyi
*/
public class StringUtils extends org.apache.commons.lang3.StringUtils
......@@ -19,7 +22,7 @@ public class StringUtils extends org.apache.commons.lang3.StringUtils
/**
* 获取参数不为空值
*
*
* @param value defaultValue 要判断的value
* @return value 返回值
*/
......@@ -30,7 +33,7 @@ public class StringUtils extends org.apache.commons.lang3.StringUtils
/**
* * 判断一个Collection是否为空, 包含List,Set,Queue
*
*
* @param coll 要判断的Collection
* @return true:为空 false:非空
*/
......@@ -41,7 +44,7 @@ public class StringUtils extends org.apache.commons.lang3.StringUtils
/**
* * 判断一个Collection是否非空,包含List,Set,Queue
*
*
* @param coll 要判断的Collection
* @return true:非空 false:空
*/
......@@ -52,7 +55,7 @@ public class StringUtils extends org.apache.commons.lang3.StringUtils
/**
* * 判断一个对象数组是否为空
*
*
* @param objects 要判断的对象数组
** @return true:为空 false:非空
*/
......@@ -63,7 +66,7 @@ public class StringUtils extends org.apache.commons.lang3.StringUtils
/**
* * 判断一个对象数组是否非空
*
*
* @param objects 要判断的对象数组
* @return true:非空 false:空
*/
......@@ -74,7 +77,7 @@ public class StringUtils extends org.apache.commons.lang3.StringUtils
/**
* * 判断一个Map是否为空
*
*
* @param map 要判断的Map
* @return true:为空 false:非空
*/
......@@ -85,7 +88,7 @@ public class StringUtils extends org.apache.commons.lang3.StringUtils
/**
* * 判断一个Map是否为空
*
*
* @param map 要判断的Map
* @return true:非空 false:空
*/
......@@ -96,7 +99,7 @@ public class StringUtils extends org.apache.commons.lang3.StringUtils
/**
* * 判断一个字符串是否为空串
*
*
* @param str String
* @return true:为空 false:非空
*/
......@@ -107,7 +110,7 @@ public class StringUtils extends org.apache.commons.lang3.StringUtils
/**
* * 判断一个字符串是否为非空串
*
*
* @param str String
* @return true:非空串 false:空串
*/
......@@ -118,7 +121,7 @@ public class StringUtils extends org.apache.commons.lang3.StringUtils
/**
* * 判断一个对象是否为空
*
*
* @param object Object
* @return true:为空 false:非空
*/
......@@ -129,7 +132,7 @@ public class StringUtils extends org.apache.commons.lang3.StringUtils
/**
* * 判断一个对象是否非空
*
*
* @param object Object
* @return true:非空 false:空
*/
......@@ -140,7 +143,7 @@ public class StringUtils extends org.apache.commons.lang3.StringUtils
/**
* * 判断一个对象是否是数组类型(Java基本型别的数组)
*
*
* @param object 对象
* @return true:是数组 false:不是数组
*/
......@@ -159,7 +162,7 @@ public class StringUtils extends org.apache.commons.lang3.StringUtils
/**
* 截取字符串
*
*
* @param str 字符串
* @param start 开始
* @return 结果
......@@ -190,7 +193,7 @@ public class StringUtils extends org.apache.commons.lang3.StringUtils
/**
* 截取字符串
*
*
* @param str 字符串
* @param start 开始
* @param end 结束
......@@ -242,7 +245,7 @@ public class StringUtils extends org.apache.commons.lang3.StringUtils
* 通常使用:format("this is {} for {}", "a", "b") -> this is a for b<br>
* 转义{}: format("this is \\{} for {}", "a", "b") -> this is \{} for a<br>
* 转义\: format("this is \\\\{} for {}", "a", "b") -> this is \a for b<br>
*
*
* @param template 文本模板,被替换的部分用 {} 表示
* @param params 参数值
* @return 格式化后的文本
......@@ -306,7 +309,7 @@ public class StringUtils extends org.apache.commons.lang3.StringUtils
/**
* 是否包含字符串
*
*
* @param str 验证字符串
* @param strs 字符串组
* @return 包含返回true
......@@ -328,7 +331,7 @@ public class StringUtils extends org.apache.commons.lang3.StringUtils
/**
* 将下划线大写方式命名的字符串转换为驼峰式。如果转换前的下划线大写方式命名的字符串为空,则返回空字符串。 例如:HELLO_WORLD->HelloWorld
*
*
* @param name 转换前的下划线大写方式命名的字符串
* @return 转换后的驼峰式命名的字符串
*/
......@@ -405,4 +408,52 @@ public class StringUtils extends org.apache.commons.lang3.StringUtils
{
return (T) obj;
}
public static String httpBuildQuery(MultiValueMap<String, String> array) {
String reString = null;
//遍历数组形成akey=avalue&bkey=bvalue&ckey=cvalue形式的的字符串
Iterator it = array.entrySet().iterator();
while (it.hasNext()){
Map.Entry<String,Object> entry =(Map.Entry) it.next();
String key = entry.getKey();
Object value = entry.getValue();
reString += key+"="+value+"&";
}
reString = reString.substring(0, reString.length()-1);
//将得到的字符串进行处理得到目标格式的字符串
reString = URLDecoder.decode(reString);
try {
reString = URLDecoder.decode(reString, "UTF-8");
} catch (UnsupportedEncodingException e) {
e.printStackTrace();
}
reString = reString.replace("%3D", "=").replace("%26", "&");
return reString;
}
public static String Ksort(MultiValueMap<String, String> map) {
String sb = "";
String[] key = new String[map.size()];
int index = 0;
for (String k : map.keySet()) {
key[index] = k;
index++;
}
// Arrays.sort(key);
for (String s : key) {
sb += s + "=" + map.get(s).get(0) + "&";
}
sb = sb.substring(0, sb.length() - 1);
// 将得到的字符串进行处理得到目标格式的字符串
try {
sb = URLDecoder.decode(sb, "UTF-8");
} catch (UnsupportedEncodingException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}// 使用常见的UTF-8编码
sb = sb.replace("%3D", "=").replace("%26", "&");
return sb;
}
}
......@@ -157,6 +157,7 @@ public class KylinOrderRefundAdminController extends BaseController {
return error("审核退款失败");
}
} catch (Exception e) {
e.printStackTrace();
return error(e.getMessage());
}
}
......
......@@ -38,7 +38,6 @@ import org.springframework.util.MultiValueMap;
import java.math.BigDecimal;
import java.time.LocalDateTime;
import java.util.HashMap;
import java.util.List;
import java.util.stream.Collectors;
......@@ -316,41 +315,33 @@ public class KylinRefundsStatusServiceImpl {
kylinOrderRefunds.setExecutorName(authName);
kylinOrderRefunds.setExecutorAt(LocalDateTime.now());
kylinOrderRefunds.setRefuse(refuse);
List<String> refundIds = refundList.stream().map(KylinOrderRefunds -> KylinOrderRefunds.getOrderRefundsId()).collect(Collectors.toList());
kylinOrderRefundsMapper.update(
kylinOrderRefunds,
new UpdateWrapper<KylinOrderRefunds>().in("order_refunds_id", refundIds)
);
// List<String> refundIds = refundList.stream().map(KylinOrderRefunds -> KylinOrderRefunds.getOrderRefundsId()).collect(Collectors.toList());
// 开始执行退款
String postUrl = "sss";
String token = "sss";
MultiValueMap<String, String> headers = new LinkedMultiValueMap();
headers.add("token", token);
String postUrl = "http://testpay.zhengzai.tv/refund/single";
for (KylinOrderRefunds refund : refundList) {
KylinOrderTickets oderInfo = kylinOrderTicketsMapper.selectOne(
new QueryWrapper<KylinOrderTickets>()
.eq("order_tickets_id", refund.getOrderTicketsId())
);
HashMap<String, Object> params = new HashMap();
params.put("code", oderInfo.getPayCode());
params.put("order_refund_code", refund.getOrderRefundCode());
params.put("price", refund.getPrice());
params.put("reason", refund.getReason());
params.put("notify_url", "sdadurl");
params.put("sign", "qwrertasf");
MultiValueMap<String, String> allParams = new LinkedMultiValueMap();
allParams.put("headers", (List<String>) headers);
allParams.put("form_params", (List<String>) params);
MultiValueMap<String, String> params = new LinkedMultiValueMap();
params.add("code", oderInfo.getPayCode());
params.add("order_refund_code", refund.getOrderRefundCode());
params.add("price", refund.getPrice().toString());
params.add("reason", refund.getReason());
params.add("notify_url", "http://zuul.zhengzai.tv/kylin/refund/callback");
String sign = StringUtils.Ksort(params);
sign = sign.concat("&key=").concat("R7tXY9smPQPG9Ku5yI0u6sfnlckmk04V");
// sign = MD5.getStrMD5(sign);
sign = sign.toUpperCase();
params.add("sign", sign);
// start
// TODO: 2021/5/31 待整理
params.put("form_params", "qwrertasf");
String postResult = HttpUtil.post(postUrl, allParams, headers);
String postResult = HttpUtil.post(postUrl, params);
JsonNode postResultNew = JsonUtils.fromJson(postResult, JsonNode.class);
// 请求提审接口结果
if (postResultNew.get("message").toString() != "OK") {
......@@ -360,7 +351,12 @@ public class KylinRefundsStatusServiceImpl {
kylinOrderRefundsErr.setRefundAt(LocalDateTime.now());
kylinOrderRefundsMapper.update(
kylinOrderRefundsErr,
new UpdateWrapper<KylinOrderRefunds>().eq("order_refunds_id", refund.getOrderTicketsId())
new UpdateWrapper<KylinOrderRefunds>().eq("order_refunds_id", refund.getOrderRefundsId())
);
} else {
kylinOrderRefundsMapper.update(
kylinOrderRefunds,
new UpdateWrapper<KylinOrderRefunds>().in("order_refunds_id", refund.getOrderRefundsId())
);
}
}
......
......@@ -71,7 +71,7 @@ public class OrderRefundDao implements Serializable {
this.statusName="请求退款";
break;
case 1:
this.statusName="审核通过";
this.statusName="一审通过";
break;
case 2:
this.statusName="取消退款";
......@@ -83,13 +83,16 @@ public class OrderRefundDao implements Serializable {
this.statusName="完成退款";
break;
case 5:
this.statusName="驳回退款";
this.statusName="一审驳回退款";
break;
case 6:
this.statusName="退款失败";
break;
case 7:
this.statusName="等待退款";
this.statusName="二审通过等待退款";
break;
case 8:
this.statusName="二审驳回退款";
break;
default:
this.statusName="其他";
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment