rk
2025-12-16 2cfceadff437135a255990ab9698788a48adb636
server/dmmall_web/src/main/java/com/doumee/api/web/mall/OrderApi.java
@@ -11,27 +11,36 @@
import com.doumee.core.wx.SendWxMessage;
import com.doumee.dao.business.model.Goodsorder;
import com.doumee.dao.business.model.Member;
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.ShopOrderPayRequest;
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;
import java.math.BigDecimal;
import java.util.Date;
import java.util.List;
/**
 * Created by IntelliJ IDEA.
@@ -82,25 +91,63 @@
            @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("/memberCouponNum")
    @ApiOperation("会员优惠券详情")
    @GetMapping("/memberCouponDetail")
    @ApiImplicitParams({
            @ApiImplicitParam(paramType = "header", dataType = "String", name = "token", value = "用户token值", required = true),
            @ApiImplicitParam(paramType = "query", dataType = "Integer", name = "couponType", value = "优惠券类别", required = true),
            @ApiImplicitParam(paramType = "query", dataType = "Integer", name = "limitPrice", value = "满额", required = true)
            @ApiImplicitParam(paramType = "query", dataType = "Integer", name = "id", value = "主键", required = true)
    })
    public ApiResponse<Long> memberCouponNum(Integer couponType, BigDecimal limitPrice) {
        return ApiResponse.success("查询成功", memberCouponService.memberCouponNum(limitPrice,getMemberId(),couponType));
    public ApiResponse<MemberCouponResponse> memberCouponDetail(Integer id) {
        return ApiResponse.success("查询成功",memberCouponService.getMemberCouponDetail(id));
    }
//    @LoginRequired
//    @ApiOperation("可用优惠券数量")
//    @GetMapping("/memberCouponNum")
//    @ApiImplicitParams({
//            @ApiImplicitParam(paramType = "header", dataType = "String", name = "token", value = "用户token值", required = true),
//            @ApiImplicitParam(paramType = "query", dataType = "Integer", name = "couponType", value = "优惠券类别", required = true),
//            @ApiImplicitParam(paramType = "query", dataType = "Integer", name = "limitPrice", value = "满额", required = true)
//    })
//    public ApiResponse<Integer> memberCouponNum(Integer couponType, BigDecimal limitPrice) {
//        return ApiResponse.success("查询成功", memberCouponService.memberCouponNum(limitPrice,getMemberId(),couponType));
//    }
    @LoginRequired
    @ApiOperation("可用优惠券信息")
    @PostMapping("/getApplyCoupon")
    @ApiImplicitParams({
            @ApiImplicitParam(paramType = "header", dataType = "String", name = "token", value = "用户token值", required = true),
    })
    public ApiResponse<List<MemberCoupon>> getApplyCoupon(@RequestBody List<PayDetailRequest> requestList) {
        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);
    }
    @Autowired
    public MemberCouponServiceImpl memberCouponServiceImpl;
    @LoginRequired
    @ApiOperation("订单支付")
@@ -108,9 +155,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
@@ -135,7 +182,7 @@
    }
    @LoginRequired
    @ApiOperation("我的订单列表")
    @ApiOperation("订单列表")
    @PostMapping("/orderPage")
    @ApiImplicitParams({
            @ApiImplicitParam(paramType = "header", dataType = "String", name = "token", value = "用户token值", required = true),
@@ -165,7 +212,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("操作成功");
    }
@@ -193,6 +240,30 @@
    @LoginRequired
    @ApiOperation("订单核销")
    @PostMapping("/writeOffOrder")
    @ApiImplicitParams({
            @ApiImplicitParam(paramType = "header", dataType = "String", name = "token", value = "用户token值", required = true),
    })
    public ApiResponse writeOffOrder(@RequestBody DealOrderRequest dealOrderRequest) {
        goodsorderService.orderWriteOff(dealOrderRequest.getExchangeCode(),getMemberId());
        return ApiResponse.success("操作成功");
    }
    @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
    @ApiOperation("订单评论")
    @PostMapping("/orderComment")
    @ApiImplicitParams({