|
@@ -0,0 +1,124 @@
|
|
|
+package com.qs.mp.web.controller.api.admin;
|
|
|
+
|
|
|
+import com.alibaba.fastjson.JSONObject;
|
|
|
+import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
|
|
|
+import com.qs.mp.channel.domain.param.OrderPayParam;
|
|
|
+import com.qs.mp.common.core.domain.AjaxResult;
|
|
|
+import com.qs.mp.common.core.page.TableDataInfo;
|
|
|
+import com.qs.mp.common.core.redis.RedisCache;
|
|
|
+import com.qs.mp.common.enums.BizTypeEnum;
|
|
|
+import com.qs.mp.common.enums.ErrorCodeEnum;
|
|
|
+import com.qs.mp.common.enums.PrizeStorageStatusEnum;
|
|
|
+import com.qs.mp.common.exception.ServiceException;
|
|
|
+import com.qs.mp.framework.redis.RedisKey;
|
|
|
+import com.qs.mp.pay.service.IWalletService;
|
|
|
+import com.qs.mp.user.domain.UserAddr;
|
|
|
+import com.qs.mp.user.domain.UserDeliverOrder;
|
|
|
+import com.qs.mp.user.domain.UserDeliverOrderItem;
|
|
|
+import com.qs.mp.user.domain.UserPrizeStorage;
|
|
|
+import com.qs.mp.user.domain.param.DeliverOrderParam;
|
|
|
+import com.qs.mp.user.domain.vo.DeliverOrderSettleVO;
|
|
|
+import com.qs.mp.user.domain.vo.UserDeliverOrderVO;
|
|
|
+import com.qs.mp.user.service.IUserAddrService;
|
|
|
+import com.qs.mp.user.service.IUserDeliverOrderItemService;
|
|
|
+import com.qs.mp.user.service.IUserDeliverOrderService;
|
|
|
+import com.qs.mp.user.service.IUserPrizeStorageService;
|
|
|
+import com.qs.mp.utils.SecurityUtils;
|
|
|
+import com.qs.mp.web.controller.common.BaseApiController;
|
|
|
+import io.swagger.annotations.Api;
|
|
|
+import io.swagger.annotations.ApiOperation;
|
|
|
+import java.util.List;
|
|
|
+import java.util.concurrent.TimeUnit;
|
|
|
+import javax.validation.Valid;
|
|
|
+import lombok.AllArgsConstructor;
|
|
|
+import ma.glasnost.orika.MapperFacade;
|
|
|
+
|
|
|
+import org.apache.commons.lang3.StringUtils;
|
|
|
+import org.springframework.beans.factory.annotation.Autowired;
|
|
|
+import org.springframework.web.bind.annotation.PostMapping;
|
|
|
+import org.springframework.web.bind.annotation.RequestBody;
|
|
|
+import org.springframework.web.bind.annotation.RequestMapping;
|
|
|
+import org.springframework.web.bind.annotation.RestController;
|
|
|
+
|
|
|
+
|
|
|
+@RestController
|
|
|
+@RequestMapping("/api/v1/admin/deliver/order")
|
|
|
+@Api(tags = "用户提货订单接口")
|
|
|
+@AllArgsConstructor
|
|
|
+public class UserDeliverOrderMgrController extends BaseApiController {
|
|
|
+
|
|
|
+ @Autowired
|
|
|
+ private IUserDeliverOrderService userDeliverOrderService;
|
|
|
+
|
|
|
+ @Autowired
|
|
|
+ private IUserDeliverOrderItemService userDeliverOrderItemService;
|
|
|
+
|
|
|
+ @Autowired
|
|
|
+ private IUserPrizeStorageService userPrizeStorageService;
|
|
|
+
|
|
|
+ @Autowired
|
|
|
+ private IUserAddrService userAddrService;
|
|
|
+
|
|
|
+ @Autowired
|
|
|
+ private IWalletService walletService;
|
|
|
+
|
|
|
+ @Autowired
|
|
|
+ private MapperFacade mapperFacade;
|
|
|
+
|
|
|
+ @Autowired
|
|
|
+ private RedisCache redisCache;
|
|
|
+
|
|
|
+ /**
|
|
|
+ * 订单列表
|
|
|
+ */
|
|
|
+ @PostMapping("/list")
|
|
|
+ @ApiOperation(value = "订单列表" , notes = "获取所有订单信息")
|
|
|
+ public TableDataInfo list(@RequestBody JSONObject param) {
|
|
|
+ // Long channelId = SecurityUtils.getLoginUser().getChannelId();
|
|
|
+ Integer status = param.getInteger("status");
|
|
|
+ startPage();
|
|
|
+ LambdaQueryWrapper<UserDeliverOrder> queryWrapper = new LambdaQueryWrapper<UserDeliverOrder>();
|
|
|
+ // queryWrapper.eq(UserDeliverOrder::getChannelId, channelId);
|
|
|
+ queryWrapper.eq(null != status, UserDeliverOrder::getStatus, status);
|
|
|
+ queryWrapper.orderByDesc(UserDeliverOrder::getCreatedTime);
|
|
|
+ List<UserDeliverOrder> userDeliverOrders = userDeliverOrderService.list(queryWrapper);
|
|
|
+ List<UserDeliverOrderVO> userDeliverOrderVOList = mapperFacade.mapAsList(userDeliverOrders, UserDeliverOrderVO.class);
|
|
|
+ for (UserDeliverOrderVO userDeliverOrderVO : userDeliverOrderVOList) {
|
|
|
+ userDeliverOrderVO.setItems(userDeliverOrderItemService.list(new LambdaQueryWrapper<UserDeliverOrderItem>()
|
|
|
+ .eq(UserDeliverOrderItem::getOrderId, userDeliverOrderVO.getOrderId())));
|
|
|
+ }
|
|
|
+ TableDataInfo rspData = getDataTable(userDeliverOrders);
|
|
|
+ rspData.setRows(userDeliverOrderVOList);
|
|
|
+ return rspData;
|
|
|
+ }
|
|
|
+
|
|
|
+ /**
|
|
|
+ * 订单详情
|
|
|
+ */
|
|
|
+ @PostMapping("/detail")
|
|
|
+ @ApiOperation(value = "订单详情" , notes = "在订单列表页面查看详情")
|
|
|
+ public AjaxResult query(@RequestBody UserDeliverOrder order) {
|
|
|
+ if(null == order || StringUtils.isBlank(order.getOrderId())) {
|
|
|
+ return error(ErrorCodeEnum.ERROR_CODE_1001);
|
|
|
+ }
|
|
|
+ LambdaQueryWrapper<UserDeliverOrder> queryWrapper = new LambdaQueryWrapper<UserDeliverOrder>();
|
|
|
+ queryWrapper.eq(UserDeliverOrder::getOrderId, order.getOrderId());
|
|
|
+ UserDeliverOrder userDeliverOrder = userDeliverOrderService.getOne(queryWrapper);
|
|
|
+ UserDeliverOrderVO userDeliverOrderVO = mapperFacade.map(userDeliverOrder, UserDeliverOrderVO.class);
|
|
|
+ userDeliverOrderVO.setItems(userDeliverOrderItemService.list(new LambdaQueryWrapper<UserDeliverOrderItem>()
|
|
|
+ .eq(UserDeliverOrderItem::getOrderId, userDeliverOrderVO.getOrderId())));
|
|
|
+ return AjaxResult.success(userDeliverOrderVO);
|
|
|
+ }
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+ /**
|
|
|
+ * 订单发货
|
|
|
+ */
|
|
|
+ @PostMapping("/ship")
|
|
|
+ @ApiOperation(value = "订单发货" , notes = "在订单发货页面提交")
|
|
|
+ public AjaxResult ship(@RequestBody UserDeliverOrder order) {
|
|
|
+
|
|
|
+ return AjaxResult.success();
|
|
|
+ }
|
|
|
+}
|