|
@@ -244,7 +244,7 @@ public class ApiOrderController extends ApiBaseAction {
|
|
|
// 需要退款
|
|
|
if (orderVo.getPay_status() == 2) {
|
|
|
WechatRefundApiResult result = WechatUtil.wxRefund(orderVo.getMerchOrderSn().toString(),
|
|
|
- 0.01, 0.01);
|
|
|
+ orderVo.getActual_price().doubleValue(), orderVo.getActual_price().doubleValue());
|
|
|
if (result.getResult_code().equals("SUCCESS")) {
|
|
|
if (orderVo.getOrder_status() == 201) {
|
|
|
orderVo.setOrder_status(401);
|
|
@@ -367,8 +367,17 @@ public class ApiOrderController extends ApiBaseAction {
|
|
|
try {
|
|
|
JSONObject json = getJsonRequest();
|
|
|
String orderId = json.getString("orderId");
|
|
|
+ String merchOrderSn = json.getString("merchOrderSn");
|
|
|
String refundReason = json.getString("refundReason");
|
|
|
- OrderVo orderInfo = orderService.queryObject(Long.valueOf(orderId));
|
|
|
+ List<OrderVo> list = orderService.queryObjectByMerchOrderSn(merchOrderSn);
|
|
|
+ OrderVo orderInfo = null;
|
|
|
+ if(list!=null && list.size()>0){
|
|
|
+ for (OrderVo vo: list) {
|
|
|
+ if(Long.valueOf(orderId).equals(vo.getId())){
|
|
|
+ orderInfo = vo;
|
|
|
+ }
|
|
|
+ }
|
|
|
+ }
|
|
|
if (null == orderInfo) {
|
|
|
return toResponsObject(400, "订单不存在", "");
|
|
|
}
|
|
@@ -380,10 +389,14 @@ public class ApiOrderController extends ApiBaseAction {
|
|
|
MallOrderRefund orderRefund = new MallOrderRefund();
|
|
|
orderRefund.setOrderId(Integer.parseInt(orderId));
|
|
|
orderRefund.setUserId(Integer.parseInt(orderInfo.getUser_id()+""));
|
|
|
- orderRefund.setRefundType(Integer.parseInt(Dict.RefundType.item_1.getItem()));
|
|
|
orderRefund.setRefundStatus(Integer.parseInt(Dict.RefundStatus.item_1.getItem()));
|
|
|
orderRefund.setRefundReason(refundReason);
|
|
|
orderRefund.setModTime(new Date());
|
|
|
+ if(list.size()>1){//多条订单
|
|
|
+ orderRefund.setRefundType(Integer.parseInt(Dict.RefundType.item_2.getItem()));//部分退款
|
|
|
+ }
|
|
|
+ orderRefund.setRefundMoney(orderInfo.getActual_price().multiply(new BigDecimal(100)));
|
|
|
+
|
|
|
if(mallOrderRefund !=null){
|
|
|
orderRefund.setId(mallOrderRefund.getId());
|
|
|
apiOrderRefundService.update(orderRefund);
|