rk
9 小时以前 580f4d3c2ca9eee53eee95a4de2f6610b790780a
server/dmmall_web/src/main/java/com/doumee/api/web/mall/OrderApi.java
@@ -3,9 +3,12 @@
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.doumee.api.web.ApiController;
import com.doumee.config.annotation.LoginRequired;
import com.doumee.config.annotation.LoginShopRequired;
import com.doumee.core.annotation.trace.Trace;
import com.doumee.core.model.ApiResponse;
import com.doumee.core.model.PageData;
import com.doumee.core.model.PageWrap;
import com.doumee.core.utils.Constants;
import com.doumee.core.utils.kuaidi100.DeliveryDTO;
import com.doumee.core.utils.kuaidi100.ExpressUtils;
import com.doumee.core.wx.SendWxMessage;
@@ -14,22 +17,24 @@
import com.doumee.dao.business.model.MemberCoupon;
import com.doumee.dao.business.model.Shop;
import com.doumee.dao.web.dto.CouponDTO;
import com.doumee.dao.web.request.OrderPayRequest;
import com.doumee.dao.web.request.PageRequest;
import com.doumee.dao.web.request.PayDetailRequest;
import com.doumee.dao.web.request.*;
import com.doumee.dao.web.request.goods.DealOrderRequest;
import com.doumee.dao.web.request.goods.MemberOrderRequest;
import com.doumee.dao.web.request.goods.OrderCommentRequest;
import com.doumee.dao.web.response.MemberCouponResponse;
import com.doumee.dao.web.response.MyPageResponse;
import com.doumee.dao.web.response.OrderCommentResponse;
import com.doumee.dao.web.response.OrderDetailResponse;
import com.doumee.dao.web.response.goods.MemberOrderResponse;
import com.doumee.dao.web.response.goods.PayResponse;
import com.doumee.service.business.HotCityService;
import com.doumee.service.business.impl.MemberCouponServiceImpl;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiImplicitParam;
import io.swagger.annotations.ApiImplicitParams;
import io.swagger.annotations.ApiOperation;
import lombok.extern.slf4j.Slf4j;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.*;
import javax.validation.Valid;
@@ -86,12 +91,25 @@
            @ApiImplicitParam(paramType = "query", dataType = "Long", name = "current", value = "页码", required = true),
            @ApiImplicitParam(paramType = "query", dataType = "Long", name = "size", value = "每页记录数", required = true),
            @ApiImplicitParam(paramType = "query", dataType = "Integer", name = "couponType", value = "优惠券类别:0商家优惠券 1平台优惠券", required = true),
            @ApiImplicitParam(paramType = "query", dataType = "Integer", name = "limitPrice", value = "满额", required = false)
            @ApiImplicitParam(paramType = "query", dataType = "Integer", name = "limitPrice", value = "满额", required = false),
            @ApiImplicitParam(paramType = "query", dataType = "Integer", name = "status", value = "状态:0=未使用;1=已使用;2=已过期", required = false)
    })
    public ApiResponse<IPage<CouponDTO>> memberCouponPage(PageRequest pageable, Integer couponType, BigDecimal limitPrice) {
        IPage<CouponDTO> page = memberCouponService.memberCouponPage(pageable.toPage(),limitPrice,getMemberId(),couponType);
    public ApiResponse<IPage<MemberCouponResponse>> memberCouponPage(PageRequest pageable, Integer couponType, BigDecimal limitPrice, Integer status) {
        IPage<MemberCouponResponse> page = memberCouponService.memberCouponPage(pageable.toPage(),limitPrice,getMemberId(),couponType,status);
        return ApiResponse.success("查询成功",page);
    }
    @LoginRequired
    @ApiOperation("会员优惠券详情")
    @GetMapping("/memberCouponDetail")
    @ApiImplicitParams({
            @ApiImplicitParam(paramType = "header", dataType = "String", name = "token", value = "用户token值", required = true),
            @ApiImplicitParam(paramType = "query", dataType = "Integer", name = "id", value = "主键", required = true)
    })
    public ApiResponse<MemberCouponResponse> memberCouponDetail(Integer id) {
        return ApiResponse.success("查询成功",memberCouponService.getMemberCouponDetail(id));
    }
//    @LoginRequired
//    @ApiOperation("可用优惠券数量")
@@ -117,16 +135,16 @@
        return ApiResponse.success("查询成功", memberCouponService.getApplyCoupon(requestList,getMemberId()));
    }
    @LoginRequired
    @ApiOperation("经销商列表")
    @PostMapping("/shopPage")
    @ApiImplicitParams({
            @ApiImplicitParam(paramType = "header", dataType = "String", name = "token", value = "用户token值", required = true),
    })
    public ApiResponse<IPage<Shop>> shopPage(@RequestBody PageWrap<Shop> pageWrap) {
        IPage<Shop> page = goodsorderService.getShopPage(pageWrap);
        return ApiResponse.success("查询成功",page);
    }
//    @LoginRequired
//    @ApiOperation("经销商列表")
//    @PostMapping("/shopPage")
//    @ApiImplicitParams({
//            @ApiImplicitParam(paramType = "header", dataType = "String", name = "token", value = "用户token值", required = true),
//    })
//    public ApiResponse<IPage<Shop>> shopPage(@RequestBody PageWrap<Shop> pageWrap) {
//        IPage<Shop> page = goodsorderService.getShopPage(pageWrap);
//        return ApiResponse.success("查询成功",page);
//    }
    @LoginRequired
    @ApiOperation("订单支付")
@@ -134,9 +152,9 @@
    @ApiImplicitParams({
            @ApiImplicitParam(paramType = "header", dataType = "String", name = "token", value = "用户token值", required = true)
    })
    public ApiResponse<PayResponse> orderPay(@Valid @RequestBody  OrderPayRequest orderPayRequest) {
        orderPayRequest.setMemberId(getMemberId());
        return ApiResponse.success("操作成功", goodsorderService.orderPay(orderPayRequest));
    public ApiResponse<PayResponse> orderPay(@Valid @RequestBody  ShopOrderPayRequest request) {
        request.setMemberId(getMemberId());
        return ApiResponse.success("操作成功", goodsorderService.orderPay(request, memberCouponServiceImpl));
    }
    @LoginRequired
@@ -160,17 +178,19 @@
        return ApiResponse.success("查询成功", goodsorderService.getGoodsOrderDetail(orderId));
    }
    @LoginRequired
    @ApiOperation("我的订单列表")
    @PostMapping("/orderPage")
    @ApiImplicitParams({
            @ApiImplicitParam(paramType = "header", dataType = "String", name = "token", value = "用户token值", required = true),
    })
    public ApiResponse<IPage<MemberOrderResponse>> orderPage(@RequestBody PageWrap<MemberOrderRequest> pageWrap) {
        pageWrap.getModel().setMemberId(getMemberId());
        IPage<MemberOrderResponse> page = goodsorderService.getGoodsOrderPage(pageWrap);
        return ApiResponse.success("查询成功",page);
    }
//    @LoginRequired
//    @ApiOperation("订单列表")
//    @PostMapping("/orderPage")
//    @ApiImplicitParams({
//            @ApiImplicitParam(paramType = "header", dataType = "String", name = "token", value = "用户token值", required = true),
//    })
//    public ApiResponse<IPage<MemberOrderResponse>> orderPage(@RequestBody PageWrap<MemberOrderRequest> pageWrap) {
//        pageWrap.getModel().setMemberId(getMemberId());
//        IPage<MemberOrderResponse> page = goodsorderService.getGoodsOrderPage(pageWrap);
//        return ApiResponse.success("查询成功",page);
//    }
    @LoginRequired
    @ApiOperation("修改订单收货地址")
@@ -191,7 +211,7 @@
            @ApiImplicitParam(paramType = "header", dataType = "String", name = "token", value = "用户token值", required = true),
    })
    public ApiResponse cancelOrder(@RequestBody DealOrderRequest dealOrderRequest) {
        goodsorderService.cancelOrder(dealOrderRequest.getOrderId(),getMemberId(),dealOrderRequest.getCancelInfo());
        goodsorderService.cancelOrderNew(dealOrderRequest.getOrderId(),getMemberId(),dealOrderRequest.getCancelInfo());
        return ApiResponse.success("操作成功");
    }
@@ -216,6 +236,43 @@
        goodsorderService.affirmOrder(dealOrderRequest.getOrderId(),getMemberId());
        return ApiResponse.success("操作成功");
    }
    @LoginShopRequired
    @ApiOperation("订单核销")
    @PostMapping("/writeOffOrder")
    @ApiImplicitParams({
            @ApiImplicitParam(paramType = "header", dataType = "String", name = "token", value = "用户token值", required = true),
    })
    public ApiResponse writeOffOrder(@RequestBody DealOrderRequest dealOrderRequest) {
        goodsorderService.orderWriteOff(dealOrderRequest.getOrderId(),getShopId());
        return ApiResponse.success("操作成功");
    }
    @LoginShopRequired
    @ApiOperation("根据核销码获取订单详情")
    @PostMapping("/getOrderDetailByCode")
    @ApiImplicitParams({
            @ApiImplicitParam(paramType = "header", dataType = "String", name = "token", value = "用户token值", required = true),
    })
    public ApiResponse<MemberOrderResponse> getOrderDetailByCode(@RequestBody DealOrderRequest dealOrderRequest) {
        return ApiResponse.success("操作成功",goodsorderService.getGoodsOrderDetailByCode(dealOrderRequest.getExchangeCode()));
    }
    @LoginRequired
    @ApiOperation("订单删除")
    @PostMapping("/delOrder")
    @ApiImplicitParams({
            @ApiImplicitParam(paramType = "header", dataType = "String", name = "token", value = "用户token值", required = true),
    })
    public ApiResponse delOrder(@RequestBody DealOrderRequest dealOrderRequest) {
        goodsorderService.delOrder(dealOrderRequest.getOrderId(),getMemberId());
        return ApiResponse.success("操作成功");
    }
    @LoginRequired
@@ -254,4 +311,44 @@
        return ApiResponse.success("操作成功",deliveryDTO);
    }
    @LoginShopRequired
    @ApiOperation("经销商订单列表")
    @PostMapping("/shopOrderPage")
    @ApiImplicitParams({
            @ApiImplicitParam(paramType = "header", dataType = "String", name = "token", value = "用户token值", required = true),
    })
    public ApiResponse<PageData<Goodsorder>> shopOrderPage(@RequestBody PageWrap<ShopOrderRequest> pageWrap) {
        pageWrap.getModel().setShopId(getShopId());
        pageWrap.getModel().setUserType(Constants.ONE);
        PageData<Goodsorder> page = goodsorderService.shopOrderPage(pageWrap);
        return ApiResponse.success("查询成功",page);
    }
    @LoginRequired
    @ApiOperation("订单列表")
    @PostMapping("/orderPage")
    @ApiImplicitParams({
            @ApiImplicitParam(paramType = "header", dataType = "String", name = "token", value = "用户token值", required = true),
    })
    public ApiResponse<PageData<Goodsorder>> orderPage(@RequestBody PageWrap<ShopOrderRequest> pageWrap) {
        pageWrap.getModel().setShopId(getMemberId());
        pageWrap.getModel().setUserType(Constants.ZERO);
        PageData<Goodsorder> page = goodsorderService.shopOrderPage(pageWrap);
        return ApiResponse.success("查询成功",page);
    }
    @LoginShopRequired
    @ApiOperation("订单详情 - 经销商")
    @GetMapping("/shopOrderDetail")
    @ApiImplicitParams({
            @ApiImplicitParam(paramType = "header", dataType = "String", name = "token", value = "用户token值", required = true),
            @ApiImplicitParam(paramType = "query", dataType = "Integer", name = "orderId", value = "订单主键", required = true),
    })
    public ApiResponse<MemberOrderResponse> shopOrderDetail(@RequestParam Integer orderId) {
        return ApiResponse.success("查询成功", goodsorderService.getGoodsOrderDetail(orderId));
    }
}