Commit 4993877d authored by hezhen's avatar hezhen

Merge branch 'master_chw_publish' into dev-chw

# Conflicts:
#	xx-order/xx-order-api/src/main/java/com/xxfc/platform/order/feign/OrderFeign.java
parents 27e1f2ba 25686818
...@@ -6,8 +6,10 @@ import com.xxfc.platform.order.entity.BaseOrder; ...@@ -6,8 +6,10 @@ import com.xxfc.platform.order.entity.BaseOrder;
import com.xxfc.platform.order.entity.OrderInvoice; import com.xxfc.platform.order.entity.OrderInvoice;
import com.xxfc.platform.order.pojo.dto.OrderDTO; import com.xxfc.platform.order.pojo.dto.OrderDTO;
import com.xxfc.platform.order.pojo.dto.OrderDetailDTO; import com.xxfc.platform.order.pojo.dto.OrderDetailDTO;
import com.xxfc.platform.order.pojo.dto.ReceiveRefundDTO;
import com.xxfc.platform.order.pojo.order.OrderPageVO; import com.xxfc.platform.order.pojo.order.OrderPageVO;
import com.xxfc.platform.order.pojo.order.PulishReceiveBO; import com.xxfc.platform.order.pojo.order.PulishReceiveBO;
import io.swagger.annotations.ApiOperation;
import org.springframework.cloud.openfeign.FeignClient; import org.springframework.cloud.openfeign.FeignClient;
import org.springframework.web.bind.annotation.*; import org.springframework.web.bind.annotation.*;
...@@ -59,4 +61,7 @@ public interface OrderFeign { ...@@ -59,4 +61,7 @@ public interface OrderFeign {
BaseOrder updateBaseOrder(@RequestBody BaseOrder baseOrder); BaseOrder updateBaseOrder(@RequestBody BaseOrder baseOrder);
@RequestMapping(value = "chw/orderPulishReceive/app/unauth/refund", method = RequestMethod.GET)
ObjectRestResponse refund(ReceiveRefundDTO receiveRefundDTO);
} }
package com.xxfc.platform.order.pojo.dto;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import java.math.BigDecimal;
/**
* @author libin
* @version 1.0
* @description
* @data 2019/8/23 16:27
*/
@Data
public class ReceiveRefundDTO {
@ApiModelProperty("退款金额")
private BigDecimal refundAmount;
@ApiModelProperty("退款描述")
private String refundDesc;
private String orderNo;
}
...@@ -2,12 +2,14 @@ package com.xxfc.platform.order.rest; ...@@ -2,12 +2,14 @@ package com.xxfc.platform.order.rest;
import com.github.wxiaoqi.security.admin.feign.UserFeign; import com.github.wxiaoqi.security.admin.feign.UserFeign;
import com.github.wxiaoqi.security.auth.client.annotation.IgnoreClientToken; import com.github.wxiaoqi.security.auth.client.annotation.IgnoreClientToken;
import com.github.wxiaoqi.security.auth.client.annotation.IgnoreUserToken;
import com.github.wxiaoqi.security.common.context.BaseContextHandler; import com.github.wxiaoqi.security.common.context.BaseContextHandler;
import com.github.wxiaoqi.security.common.msg.ObjectRestResponse; import com.github.wxiaoqi.security.common.msg.ObjectRestResponse;
import com.github.wxiaoqi.security.common.rest.BaseController; import com.github.wxiaoqi.security.common.rest.BaseController;
import com.xxfc.platform.order.biz.OrderPulishReceiveDetailBiz; import com.xxfc.platform.order.biz.OrderPulishReceiveDetailBiz;
import com.xxfc.platform.order.entity.BaseOrder; import com.xxfc.platform.order.entity.BaseOrder;
import com.xxfc.platform.order.entity.OrderPulishReceiveDetail; import com.xxfc.platform.order.entity.OrderPulishReceiveDetail;
import com.xxfc.platform.order.pojo.dto.ReceiveRefundDTO;
import com.xxfc.platform.order.pojo.order.PulishReceiveBO; import com.xxfc.platform.order.pojo.order.PulishReceiveBO;
import com.xxfc.platform.order.service.OrderPulishReceiveService; import com.xxfc.platform.order.service.OrderPulishReceiveService;
import io.swagger.annotations.Api; import io.swagger.annotations.Api;
...@@ -37,4 +39,14 @@ public class OrderPulishReceiveController extends BaseController<OrderPulishRece ...@@ -37,4 +39,14 @@ public class OrderPulishReceiveController extends BaseController<OrderPulishRece
receiveService.createOrder(bo); receiveService.createOrder(bo);
return ObjectRestResponse.succ(bo.getOrder()); return ObjectRestResponse.succ(bo.getOrder());
} }
@RequestMapping(value = "app/unauth/refund", method = RequestMethod.GET)
@ResponseBody
@ApiOperation(value = "退款")
@IgnoreUserToken
public ObjectRestResponse refund(ReceiveRefundDTO receiveRefundDTO) {
receiveService.refund(receiveRefundDTO);
return ObjectRestResponse.succ();
}
} }
\ No newline at end of file
...@@ -3,10 +3,14 @@ package com.xxfc.platform.order.service; ...@@ -3,10 +3,14 @@ package com.xxfc.platform.order.service;
import cn.hutool.core.bean.BeanUtil; import cn.hutool.core.bean.BeanUtil;
import com.github.wxiaoqi.security.admin.feign.rest.UserRestInterface; import com.github.wxiaoqi.security.admin.feign.rest.UserRestInterface;
import com.github.wxiaoqi.security.auth.client.config.UserAuthConfig; import com.github.wxiaoqi.security.auth.client.config.UserAuthConfig;
import com.github.wxiaoqi.security.common.exception.BaseException;
import com.github.wxiaoqi.security.common.util.process.ResultCode;
import com.xxfc.platform.activity.feign.ActivityFeign; import com.xxfc.platform.activity.feign.ActivityFeign;
import com.xxfc.platform.order.biz.*; import com.xxfc.platform.order.biz.*;
import com.xxfc.platform.order.contant.enumerate.OrderStatusEnum; import com.xxfc.platform.order.contant.enumerate.OrderStatusEnum;
import com.xxfc.platform.order.contant.enumerate.OrderTypeEnum; import com.xxfc.platform.order.contant.enumerate.OrderTypeEnum;
import com.xxfc.platform.order.entity.BaseOrder;
import com.xxfc.platform.order.pojo.dto.ReceiveRefundDTO;
import com.xxfc.platform.order.pojo.order.PulishReceiveBO; import com.xxfc.platform.order.pojo.order.PulishReceiveBO;
import com.xxfc.platform.order.pojo.price.OrderPriceVO; import com.xxfc.platform.order.pojo.price.OrderPriceVO;
import com.xxfc.platform.universal.constant.DictionaryKey; import com.xxfc.platform.universal.constant.DictionaryKey;
...@@ -23,6 +27,8 @@ import java.math.BigDecimal; ...@@ -23,6 +27,8 @@ import java.math.BigDecimal;
import java.text.SimpleDateFormat; import java.text.SimpleDateFormat;
import java.time.format.DateTimeFormatter; import java.time.format.DateTimeFormatter;
import java.util.*; import java.util.*;
import static com.github.wxiaoqi.security.common.constant.CommonConstants.SYS_FALSE;
import static com.xxfc.platform.universal.constant.DictionaryKey.APP_ORDER; import static com.xxfc.platform.universal.constant.DictionaryKey.APP_ORDER;
@Service @Service
...@@ -36,6 +42,13 @@ public class OrderPulishReceiveService extends AbstractOrderHandle<OrderPulishRe ...@@ -36,6 +42,13 @@ public class OrderPulishReceiveService extends AbstractOrderHandle<OrderPulishRe
@Autowired @Autowired
ThirdFeign thirdFeign; ThirdFeign thirdFeign;
@Autowired
OrderAccountBiz orderAccountBiz;
@Autowired
BaseOrderBiz baseOrderBiz;
private static Integer IS_CHILD = 1; private static Integer IS_CHILD = 1;
private static Integer LEVEL_DEFAULT = 0; private static Integer LEVEL_DEFAULT = 0;
...@@ -161,4 +174,22 @@ public class OrderPulishReceiveService extends AbstractOrderHandle<OrderPulishRe ...@@ -161,4 +174,22 @@ public class OrderPulishReceiveService extends AbstractOrderHandle<OrderPulishRe
return opv; return opv;
} }
public void refund(ReceiveRefundDTO receiveRefundDTO){
BaseOrder baseOrder = baseOrderBiz.selectOne(new BaseOrder() {{
setNo(receiveRefundDTO.getOrderNo());
}});
if (baseOrder == null || !baseOrder.getHasPay().equals(SYS_FALSE)){
throw new BaseException("该订单无法退款", ResultCode.FAILED_CODE);
}
String refundDesc = receiveRefundDTO.getRefundDesc();
BigDecimal realAmount = baseOrder.getRealAmount();
BigDecimal deductAmount = realAmount.subtract(receiveRefundDTO.getRefundAmount());
orderAccountBiz.publishRefundProcess(baseOrder, refundDesc, baseOrder.getRealAmount(), deductAmount);
}
} }
...@@ -12,6 +12,7 @@ import com.github.wxiaoqi.security.common.util.process.ResultCode; ...@@ -12,6 +12,7 @@ import com.github.wxiaoqi.security.common.util.process.ResultCode;
import com.github.wxiaoqi.security.common.vo.PageDataVO; import com.github.wxiaoqi.security.common.vo.PageDataVO;
import com.xxfc.platform.order.entity.BaseOrder; import com.xxfc.platform.order.entity.BaseOrder;
import com.xxfc.platform.order.feign.OrderFeign; import com.xxfc.platform.order.feign.OrderFeign;
import com.xxfc.platform.order.pojo.dto.ReceiveRefundDTO;
import com.xxfc.platform.order.pojo.order.PulishReceiveBO; import com.xxfc.platform.order.pojo.order.PulishReceiveBO;
import com.xxfc.platform.universal.dto.SendMsgDTO; import com.xxfc.platform.universal.dto.SendMsgDTO;
import com.xxfc.platform.universal.feign.MQSenderFeign; import com.xxfc.platform.universal.feign.MQSenderFeign;
...@@ -354,6 +355,11 @@ public class VehiclePublishReceiveBiz extends BaseBiz<VehiclePublishReceiveMappe ...@@ -354,6 +355,11 @@ public class VehiclePublishReceiveBiz extends BaseBiz<VehiclePublishReceiveMappe
).map(VehiclePublishReceiveVo::getReceiveAmount).reduce(BigDecimal.ZERO, BigDecimal::add); ).map(VehiclePublishReceiveVo::getReceiveAmount).reduce(BigDecimal.ZERO, BigDecimal::add);
if (refundAmount.compareTo(BigDecimal.ZERO) > 0){ if (refundAmount.compareTo(BigDecimal.ZERO) > 0){
log.info("-----操作接单退款-----orderNo==="+orderNo+"----refundAmount==="+refundAmount); log.info("-----操作接单退款-----orderNo==="+orderNo+"----refundAmount==="+refundAmount);
ReceiveRefundDTO receiveRefundDTO = new ReceiveRefundDTO();
receiveRefundDTO.setRefundAmount(refundAmount);
receiveRefundDTO.setOrderNo(orderNo);
receiveRefundDTO.setRefundDesc("接单退款:"+orderNo);
orderFeign.refund(receiveRefundDTO);
} }
} }
......
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