Quellcode durchsuchen

Merge branch 'dev' into 'mp-server-test'

Dev

See merge request quanshu/mp-server!405
zhong chunping vor 3 Jahren
Ursprung
Commit
8973b5c9d3

+ 37 - 3
mp-admin/src/main/java/com/qs/mp/web/controller/api/channel/mall/ChannelOrderController.java

@@ -10,6 +10,7 @@ import com.qs.mp.channel.domain.vo.ChannelOrderInfoVO;
 import com.qs.mp.channel.domain.vo.ChannelOrderItemVO;
 import com.qs.mp.channel.service.IChannelOrderDetailService;
 import com.qs.mp.common.domain.DeliveryCompany;
+import com.qs.mp.common.enums.*;
 import com.qs.mp.common.service.IDeliveryCompanyService;
 import com.qs.mp.common.utils.StringUtils;
 import com.qs.mp.system.domain.SysUser;
@@ -23,6 +24,7 @@ import com.qs.mp.channel.domain.param.OrderPayParam;
 import com.qs.mp.channel.domain.vo.ChannelCartVO;
 import com.qs.mp.channel.domain.vo.ChannelOrderSettleVO;
 import com.qs.mp.channel.domain.vo.ChannelOrderVO;
+import com.qs.mp.user.domain.UserDeliverOrder;
 import com.qs.mp.user.service.IUserAddrService;
 import com.qs.mp.channel.service.IChannelCartService;
 import com.qs.mp.channel.service.IChannelOrderItemService;
@@ -31,9 +33,6 @@ import com.qs.mp.channel.service.IChannelService;
 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.ChannelCertifyStatusEnum;
-import com.qs.mp.common.enums.ErrorCodeEnum;
 import com.qs.mp.common.exception.ServiceException;
 import com.qs.mp.common.utils.LogUtil;
 import com.qs.mp.framework.redis.RedisKey;
@@ -42,9 +41,15 @@ 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.Date;
 import java.util.List;
+import java.util.Objects;
 import java.util.concurrent.TimeUnit;
 import javax.validation.Valid;
+
+import io.swagger.annotations.ApiResponse;
+import io.swagger.annotations.ApiResponses;
 import lombok.AllArgsConstructor;
 import ma.glasnost.orika.MapperFacade;
 import org.springframework.beans.factory.annotation.Autowired;
@@ -280,4 +285,33 @@ public class ChannelOrderController extends BaseApiController {
     }
     return AjaxResult.success(jsonObject);
   }
+
+
+
+  @PostMapping("/order/confirm")
+  @ApiOperation("订单确认收货")
+  public AjaxResult confirm(@RequestBody ChannelOrder order){
+    Long channelId = SecurityUtils.getLoginUser().getChannelId();
+    ChannelOrder channelOrder = channelOrderService.getById(order.getOrderId());
+    if (Objects.isNull(channelOrder)) {
+      return AjaxResult.error("订单不存在");
+    }
+
+    if (!ChannelOrderStatusEnum.NOT_CONFIRM.equals(channelOrder.getStatus())) {
+      return AjaxResult.error("订单状态不为待收货");
+    }
+
+    if (!channelId.equals(channelOrder.getChannelId())) {
+      return AjaxResult.error("非法操作他人订单");
+    }
+
+    // 更新用户提货订单状态为已完成,并且设置收货时间
+    ChannelOrder param = new ChannelOrder();
+    param.setOrderId(order.getOrderId());
+    param.setStatus(ChannelOrderStatusEnum.FINISHED);
+    param.setConfirmTime(new Date());
+    channelOrderService.updateById(param);
+
+    return AjaxResult.success();
+  }
 }

+ 31 - 7
mp-admin/src/main/java/com/qs/mp/web/controller/api/user/UserDeliverOrderController.java

@@ -12,6 +12,7 @@ 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.DeliverOrderStatusEnum;
 import com.qs.mp.common.enums.ErrorCodeEnum;
 import com.qs.mp.common.enums.PrizeStorageStatusEnum;
 import com.qs.mp.common.exception.ServiceException;
@@ -22,10 +23,7 @@ import com.qs.mp.framework.redis.RedisKey;
 import com.qs.mp.pay.service.IWalletService;
 import com.qs.mp.system.domain.SysUser;
 import com.qs.mp.system.service.ISysUserService;
-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.*;
 import com.qs.mp.user.domain.param.DeliverOrderParam;
 import com.qs.mp.user.domain.vo.DeliverOrderSettleVO;
 import com.qs.mp.user.domain.vo.DeliverOrderVO;
@@ -37,9 +35,8 @@ 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.ArrayList;
-import java.util.Arrays;
-import java.util.List;
+
+import java.util.*;
 import java.util.concurrent.TimeUnit;
 import javax.validation.Valid;
 import lombok.AllArgsConstructor;
@@ -225,4 +222,31 @@ public class UserDeliverOrderController extends BaseApiController {
     return AjaxResult.success(jsonObject);
   }
 
+  @PostMapping("/order/confirm")
+  @ApiOperation("订单确认收货")
+  public AjaxResult confirm(@RequestBody UserDeliverOrder order){
+    Long userId = SecurityUtils.getLoginUser().getUserId();
+    UserDeliverOrder userDeliverOrder = userDeliverOrderService.getById(order.getOrderId());
+    if (Objects.isNull(userDeliverOrder)) {
+      return AjaxResult.error("订单不存在");
+    }
+
+    if (!DeliverOrderStatusEnum.NOT_CONFIRM.equals(userDeliverOrder.getStatus())) {
+      return AjaxResult.error("订单状态不为待收货");
+    }
+
+    if (!userId.equals(userDeliverOrder.getUserId())) {
+      return AjaxResult.error("非法操作他人订单");
+    }
+
+    // 更新用户提货订单状态为已完成,并且设置收货时间
+    UserDeliverOrder param = new UserDeliverOrder();
+    param.setOrderId(order.getOrderId());
+    param.setStatus(DeliverOrderStatusEnum.FINISHED);
+    param.setConfirmTime(new Date());
+    userDeliverOrderService.updateById(param);
+
+    return AjaxResult.success();
+  }
+
 }

+ 23 - 0
mp-service/src/main/java/com/qs/mp/channel/domain/ChannelOrder.java

@@ -11,6 +11,7 @@ import com.qs.mp.common.enums.ChannelOrderStatusEnum;
 import java.io.Serializable;
 import java.util.Date;
 
+import io.swagger.annotations.ApiModel;
 import io.swagger.annotations.ApiModelProperty;
 import lombok.Data;
 
@@ -21,6 +22,7 @@ import lombok.Data;
  */
 @TableName("mp_channel_order")
 @Data
+@ApiModel("经销商盲票采购订单实体类")
 public class ChannelOrder implements Serializable {
 
   private static final long serialVersionUID = 1L;
@@ -29,48 +31,56 @@ public class ChannelOrder implements Serializable {
    * 主键
    */
   @TableId(value = "order_id" , type = IdType.INPUT)
+  @ApiModelProperty("订单id")
   private String orderId;
 
   /**
    * 渠道ID
    */
   @TableField("channel_id")
+  @ApiModelProperty("渠道id")
   private Long channelId;
 
   /**
    * 标题
    */
   @TableField("title")
+  @ApiModelProperty("标题")
   private String title;
 
   /**
    * 订单金额
    */
   @TableField("order_amt")
+  @ApiModelProperty("订单金额")
   private Integer orderAmt;
 
   /**
    * 优惠金额
    */
   @TableField("discount_amt")
+  @ApiModelProperty("优惠金额")
   private Integer discountAmt;
 
   /**
    * 运费金额
    */
   @TableField("freight_amt")
+  @ApiModelProperty("运费金额")
   private Integer freightAmt;
 
   /**
    * 实付金额
    */
   @TableField("pay_amt")
+  @ApiModelProperty("实付金额")
   private Integer payAmt;
 
   /**
    * 订单状态,-1 已取消 0:待付款 1:待发货 2:待收货 3:已完成
    */
   @TableField("status")
+  @ApiModelProperty("订单状态,-1 已取消 0:待付款 1:待发货 2:待收货 3:已完成")
   @JSONField(serialzeFeatures = SerializerFeature.WriteEnumUsingToString)
   private ChannelOrderStatusEnum status;
 
@@ -78,66 +88,77 @@ public class ChannelOrder implements Serializable {
    * 盲票总包数
    */
   @TableField("pkg_num")
+  @ApiModelProperty("盲票总包数")
   private Integer pkgNum;
 
   /**
    * 备注
    */
   @TableField("memo")
+  @ApiModelProperty("备注")
   private String memo;
 
   /**
    * 收货人
    */
   @TableField("receiver")
+  @ApiModelProperty("收货人")
   private String receiver;
 
   /**
    * 收货人电话
    */
   @TableField("tel")
+  @ApiModelProperty("收货人电话")
   private String tel;
 
   /**
    * 收货地址-省
    */
   @TableField("province")
+  @ApiModelProperty("收货地址-省")
   private String province;
 
   /**
    * 收货地址-市
    */
   @TableField("city")
+  @ApiModelProperty("收货地址-市")
   private String city;
 
   /**
    * 收货地址-区
    */
   @TableField("area")
+  @ApiModelProperty("收货地址-区")
   private String area;
 
   /**
    * 收货地址-详细
    */
   @TableField("address")
+  @ApiModelProperty("收货地址-详细")
   private String address;
 
   /**
    * 物流ID
    */
   @TableField("delivery_id")
+  @ApiModelProperty("物流ID")
   private Long deliveryId;
 
   /**
    * 物流单号
    */
   @TableField("delivery_flow_id")
+  @ApiModelProperty("物流单号")
   private String deliveryFlowId;
   
   /**
    * 发货时间
    */
   @TableField("delivery_time")
+  @ApiModelProperty("发货时间")
   private Date deliveryTime;
 
   @TableField("confirm_time")
@@ -148,12 +169,14 @@ public class ChannelOrder implements Serializable {
    * 创建时间
    */
   @TableField("created_time")
+  @ApiModelProperty("创建时间")
   private Date createdTime;
 
   /**
    * 更新时间
    */
   @TableField("updated_time")
+  @ApiModelProperty("更新时间")
   private Date updatedTime;
 
 

+ 2 - 27
mp-service/src/main/java/com/qs/mp/user/service/impl/UserDeliverOrderItemServiceImpl.java

@@ -46,44 +46,19 @@ public class UserDeliverOrderItemServiceImpl extends ServiceImpl<UserDeliverOrde
 		// 1.查询物流公司信息
 		itemList = selectOrderDeliverItemVOList(orderId);
 
-
-		List<UserDeliverOrderItem> userDeliverOrderItems = this.list(new LambdaQueryWrapper<UserDeliverOrderItem>()
-				.eq(UserDeliverOrderItem::getOrderId, orderId)
-				.isNull(UserDeliverOrderItem::getDeliveryFlowId)
-				.isNotNull(UserDeliverOrderItem::getDeliveryTime));
-
-		if (CollectionUtils.isNotEmpty(userDeliverOrderItems)) {
-			OrderDeliverItemVO orderDeliverItemVO = new OrderDeliverItemVO();
-			orderDeliverItemVO.setDeliveryTime(userDeliverOrderItems.get(0).getDeliveryTime());
-			itemList.add(orderDeliverItemVO);
-		}
-
-
-
 		for (OrderDeliverItemVO itemVO : itemList) {
-			String deliveryFlowId = itemVO.getDeliveryFlowId();
-			// 无需物流的设置一个默认的物流公司id
-			if (StringUtils.isBlank(deliveryFlowId)) {
-				deliveryFlowId = "no";
-			}
-
 			for (UserDeliverOrderItemVO item : orderItems) {
 
 				if (item.getDeliveryTime() == null) {
 					continue;
 				}
 
-
-				String itemDeliveryFlowId = item.getDeliveryFlowId();
-				if (StringUtils.isBlank(itemDeliveryFlowId)) {
-					itemDeliveryFlowId = "no";
-				}
-
-				if (deliveryFlowId.equals(itemDeliveryFlowId)){
+				if (itemVO.getDeliveryTime().equals(item.getDeliveryTime())) {
 					UserDeliverOrderItemVO flowItem = new UserDeliverOrderItemVO();
 					BeanUtils.copyProperties(item, flowItem);
 					itemVO.getItems().add(flowItem);
 				}
+
 			}
 		}
 		return itemList;

+ 1 - 1
mp-service/src/main/resources/mapper/user/UserDeliverOrderItemMapper.xml

@@ -31,7 +31,7 @@
 		select DISTINCT t1.delivery_id , t1.delivery_flow_id, t1.delivery_time, t2.company_name ,t2.company_home_url ,t2.query_url
 		from mp_user_deliver_order_item t1
 		left join mp_delivery_company t2 on t1.delivery_id = t2.delivery_id
-		where t1.order_id = #{orderId} and t1.delivery_flow_id is not null
+		where t1.order_id = #{orderId} and t1.delivery_time is not null
 	</select>
 	
 	 <!-- 查询用户订单明细列表 -->