zhuyifan

Merge branch 'feature/order_cancel' into 'master'

Feature/order cancel



See merge request !1
Showing 171 changed files with 83 additions and 24 deletions
......@@ -16,4 +16,6 @@ public class BusinessConfig {
private String clientCustomerQueryUrl;
private String payUrl;
private String payClientId;
private String cancelPayUrl;
private String refundSecurityKey;
}
......
......@@ -7,10 +7,10 @@ import com.infoloop.tianting.intercepter.LoginInterceptor;
import com.infoloop.tianting.intercepter.RequestMonitor;
import com.infoloop.tianting.intercepter.ResourceInjector;
import com.infoloop.tianting.service.client.ClientCustomerServiceRpcClient;
import com.infoloop.tianting.service.client.MeiZhongYiHeServiceClient;
import com.infoloop.tianting.service.client.OperatorServiceRpcClient;
import com.infoloop.tianting.service.client.WOperatorServiceRpcClient;
import com.infoloop.tianting.tracing.HttpTracingInterceptor;
import lombok.RequiredArgsConstructor;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.boot.web.servlet.FilterRegistrationBean;
import org.springframework.context.annotation.Bean;
......@@ -37,12 +37,13 @@ public class WebMvcConfig implements WebMvcConfigurer {
final ResourceInjector resourceInjector,
final ClientCustomerServiceRpcClient clientCustomerServiceRpcClient,
final OperatorServiceRpcClient operatorServiceRpcClient,
final WOperatorServiceRpcClient wOperatorServiceRpcClient) {
final WOperatorServiceRpcClient wOperatorServiceRpcClient,
final MeiZhongYiHeServiceClient meiZhongYiHeServiceClient) {
this.httpInterceptors = new ArrayList<>();
this.httpInterceptors.add(new HttpTracingInterceptor(tracing));
this.httpInterceptors.add(new RequestMonitor());
this.httpInterceptors.add(new ApiSignInterceptor());
this.httpInterceptors.add(new LoginInterceptor(clientCustomerServiceRpcClient, operatorServiceRpcClient, wOperatorServiceRpcClient));
this.httpInterceptors.add(new LoginInterceptor(clientCustomerServiceRpcClient, meiZhongYiHeServiceClient, operatorServiceRpcClient, wOperatorServiceRpcClient));
this.httpInterceptors.add(resourceInjector);
}
......
......@@ -35,4 +35,11 @@ public class ClientOrderController {
return orderService.getOrdersByPagination(queryOrderDto);
}
@ApiOperation(value = "院区端已撤销订单")
@PostMapping("/client/orders/refund/pagination")
@ResponseStatus(HttpStatus.OK)
public OrderPageResult<OrderDto> getRefundOrderByByPagination(@Valid @RequestBody OrderDbDTO.QueryRefundOrderByPaginationDto queryOrderDto) {
return orderService.getRefundOrdersByPagination(queryOrderDto);
}
}
......
package com.infoloop.tianting.controller;
import com.github.xiaoymin.knife4j.annotations.ApiSupport;
import com.infoloop.tianting.model.dto.ClientLabelDTO;
import com.infoloop.tianting.model.dto.ClientLabelDTO.LabelDto;
import com.infoloop.tianting.model.dto.KdsDTO;
import com.infoloop.tianting.model.dto.KdsDTO.KdsMealDetailDto;
import com.infoloop.tianting.model.dto.KdsDTO.KdsOrderLocationDto;
......@@ -10,8 +8,6 @@ import com.infoloop.tianting.model.dto.KdsDTO.KdsOrderSkuDto;
import com.infoloop.tianting.service.KdsService;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiOperation;
import java.util.List;
import javax.validation.Valid;
import lombok.RequiredArgsConstructor;
import lombok.extern.slf4j.Slf4j;
import org.springframework.beans.factory.annotation.Autowired;
......@@ -22,6 +18,9 @@ import org.springframework.web.bind.annotation.RequestBody;
import org.springframework.web.bind.annotation.ResponseStatus;
import org.springframework.web.bind.annotation.RestController;
import javax.validation.Valid;
import java.util.List;
@Api(tags = "KDS")
@ApiSupport(order = -1)
@Slf4j
......
......@@ -12,6 +12,7 @@ import lombok.RequiredArgsConstructor;
import lombok.extern.slf4j.Slf4j;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.http.HttpStatus;
import org.springframework.http.MediaType;
import org.springframework.validation.annotation.Validated;
import org.springframework.web.bind.annotation.PathVariable;
import org.springframework.web.bind.annotation.PostMapping;
......@@ -53,4 +54,10 @@ public class PayController {
return payServiceClient.callback(paymentCallbackDTO);
}
@ApiOperation(value = "支付撤销")
@PostMapping(value = "/pay/refund", produces = MediaType.TEXT_HTML_VALUE)
@ResponseStatus(HttpStatus.OK)
public String cancel(@Valid @RequestBody PayDTO.PayRefundRequestDto payRefundRequestDto) {
return payServiceClient.orderPayRefund(payRefundRequestDto);
}
}
\ No newline at end of file
......
......@@ -34,7 +34,15 @@ public enum ErrorCodeEnum implements BaseEnum {
SKUS_STOCK_NO_ENOUGH_TODAY(406000008, "下单菜品: {0} 库存不足"),
ORDER_CANCEL(406000009, "订单已自动取消")
ORDER_CANCEL(406000009, "订单已自动取消"),
ORDER_PAY_REFUND_FAILED(406000010, "支付撤销失败"),
ORDER_NOT_FOUND(406000011, "订单未找到"),
ORDER_NOT_ONLINE_PAY(406000012, "该订单不是在线支付"),
ORDER_NOT_SUCCESS(406000013, "该订单未支付成功")
;
private final int code;
......
......@@ -4,12 +4,13 @@ import com.infoloop.tianting.clientcustomerservice.ClientCustomerHospitalRecordH
import com.infoloop.tianting.clientcustomerservice.ClientCustomerSexEnum;
import com.infoloop.tianting.model.dto.MenuDbDTO.MenuDto;
import io.swagger.annotations.ApiModel;
import java.util.List;
import lombok.AllArgsConstructor;
import lombok.Builder;
import lombok.Data;
import lombok.NoArgsConstructor;
import java.util.List;
@Data
@ApiModel(description = "ClientCustomerDTO")
public class ClientCustomerDbDTO {
......
......@@ -5,12 +5,12 @@ import com.infoloop.tianting.clientcustomerorderservice.OrderSourceEnum;
import com.infoloop.tianting.deliveryruleservice.ClientDishLabelStatusEnum;
import com.infoloop.tianting.deliveryruleservice.ClientLabelTypeEnum;
import io.swagger.annotations.ApiModel;
import io.swagger.models.auth.In;
import java.util.List;
import lombok.Builder;
import lombok.Data;
import lombok.ToString;
import java.util.List;
@Data
@ApiModel(description = "标签DTO")
public class ClientLabelDTO {
......
......@@ -3,11 +3,11 @@ package com.infoloop.tianting.model.dto;
import com.infoloop.tianting.clientinventoryservice.ClientType;
import com.infoloop.tianting.clientinventoryservice.CustomerSource;
import io.swagger.annotations.ApiModel;
import io.swagger.models.auth.In;
import java.util.List;
import lombok.Builder;
import lombok.Data;
import java.util.List;
@Data
@ApiModel(description = "院区DTO")
public class InventoryDbDTO {
......
......@@ -6,13 +6,13 @@ import com.infoloop.tianting.model.dto.InventoryDbDTO.ClientDto;
import com.infoloop.tianting.model.dto.OrderDbDTO.CustomerDetailDto;
import com.infoloop.tianting.model.dto.OrderDbDTO.CustomerNotice;
import io.swagger.annotations.ApiModel;
import io.swagger.models.auth.In;
import java.util.List;
import lombok.AllArgsConstructor;
import lombok.Builder;
import lombok.Data;
import lombok.NoArgsConstructor;
import java.util.List;
@Data
@ApiModel(description = "kds DTO")
public class KdsDTO {
......
......@@ -2,11 +2,12 @@ package com.infoloop.tianting.model.dto;
import com.infoloop.tianting.setmealscheduleservice.MealStatus;
import io.swagger.annotations.ApiModel;
import java.util.List;
import lombok.Builder;
import lombok.Data;
import lombok.ToString;
import java.util.List;
@Data
@ApiModel(description = "餐别相关DTO")
public class MealDbDTO {
......
......@@ -2,14 +2,13 @@ package com.infoloop.tianting.model.dto;
import com.infoloop.tianting.clientcustomerorderservice.OrderOperationType;
import com.infoloop.tianting.clientcustomerorderservice.OrderSourceEnum;
import com.infoloop.tianting.model.dto.MenuDbDTO.DishRuleJson;
import com.infoloop.tianting.model.dto.MenuDbDTO.OrderRuleJson;
import io.swagger.annotations.ApiModel;
import java.util.List;
import lombok.Builder;
import lombok.Data;
import lombok.ToString;
import java.util.List;
@Data
@ApiModel(description = "操作记录DTO")
public class OperationDTO {
......
......@@ -64,6 +64,17 @@ public class OrderDbDTO {
}
@Data
@ApiModel(description = "查询已撤销订单Dto")
public static class QueryRefundOrderByPaginationDto {
private Integer enterpriseId;
private Integer clientId;
private Integer pn;
private Integer pz;
private String keyword;
private List<Integer> stallIds;
}
@Data
@Builder
@ApiModel(description = "订单不同状态的数量Dto")
public static class OrderCountByStatusDto {
......@@ -72,6 +83,7 @@ public class OrderDbDTO {
private Integer preparingCount;
private Integer allServedCount;
private Integer canceledCount;
private Integer refundCount;
}
@Data
......@@ -395,7 +407,7 @@ public class OrderDbDTO {
@ApiModelProperty(value = "支付时间")
private String payTime;
@ApiModelProperty(value = "支付状态,1=待支付,2=支付中,3=支付成功,4=支付失败,5=支付取消")
@ApiModelProperty(value = "支付状态,1=待支付,2=支付中,3=支付成功,4=支付失败,5=支付取消, 6=支付已撤销")
private Integer payStatus;
@ApiModelProperty(value = "支付失败原因")
......@@ -455,12 +467,18 @@ public class OrderDbDTO {
@ApiModelProperty(value = "是否已读")
private Boolean isRead;
@ApiModelProperty(value = "是否已撤销")
private Boolean isCanceled;
@ApiModelProperty(value = "截单类型")
private Integer closeTimeType;
@ApiModelProperty(value = "订单所属用户的信息")
private CustomerDetailDto customer;
@ApiModelProperty(value = "该订单的忌口冲突、医嘱信息")
private List<String> orderNotice;
// @ApiModelProperty(value = "订单菜品详情列表")
// private List<OrderDetailDto> orderDetailDtos;
}
......
......@@ -26,6 +26,15 @@ public class PayDTO {
}
@Data
@ApiModel(description = "支付撤销请求dto")
@NoArgsConstructor
@AllArgsConstructor
public static class PayRefundRequestDto {
private Integer orderId;
private String hospitalCode;
}
@Data
@ApiModel(description = "支付MiniPay结果")
@NoArgsConstructor
@AllArgsConstructor
......@@ -76,6 +85,15 @@ public class PayDTO {
}
@Data
@ApiModel(description = "取消支付响应")
@NoArgsConstructor
@AllArgsConstructor
public static class CancelPayResponseDto {
private Integer code;
private String message;
}
@Data
@Builder
@ApiModel(description = "第三方支付平台通知请求dto")
@NoArgsConstructor
......
......@@ -2,13 +2,13 @@ package com.infoloop.tianting.model.dto;
import com.infoloop.tianting.enums.SettlementDimensionEnum;
import io.swagger.annotations.ApiModel;
import java.util.ArrayList;
import java.util.Map;
import lombok.Builder;
import lombok.Data;
import java.time.LocalDateTime;
import java.util.ArrayList;
import java.util.List;
import java.util.Map;
@Data
@ApiModel(description = "统计DTO")
......
package com.infoloop.tianting.model.dto;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import io.swagger.models.auth.In;
import lombok.AllArgsConstructor;
import lombok.Builder;
import lombok.Data;
......
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.