chunping 3 lat temu
rodzic
commit
0809e4f6ed

+ 1 - 1
mp-admin/src/main/java/com/qs/mp/web/controller/api/admin/TicketBoxMgrController.java

@@ -182,7 +182,7 @@ public class TicketBoxMgrController extends BaseApiController {
 		if (totalSize == 0) {
 			return AjaxResult.error("选择的盲票组中没有可导出的数据");
 		}
-		int pageSize = 5000;
+		int pageSize = 2000;
 		if(totalSize > pageSize) {
 			int totalPage = totalSize%pageSize == 0 ? totalSize/pageSize : totalSize/pageSize+1;
 			for (int i = 0; i < totalPage; i++) {

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

@@ -12,37 +12,23 @@ package com.qs.mp.web.controller.api.user;
 
 import com.alibaba.fastjson.JSONObject;
 import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
-import com.qs.mp.admin.domain.CouponTicket;
-import com.qs.mp.admin.domain.Ticket;
-import com.qs.mp.admin.domain.TicketBox;
-import com.qs.mp.admin.service.ICouponTicketService;
-import com.qs.mp.admin.service.ITicketBoxService;
-import com.qs.mp.admin.service.ITicketService;
 import com.qs.mp.channel.domain.ChannelOrder;
 import com.qs.mp.channel.domain.param.OrderPayParam;
 import com.qs.mp.common.core.domain.AjaxResult;
 import com.qs.mp.common.core.redis.RedisCache;
 import com.qs.mp.common.enums.BizTypeEnum;
-import com.qs.mp.common.enums.CouponUseAreaEnum;
 import com.qs.mp.common.enums.PrizeStorageStatusEnum;
 import com.qs.mp.common.exception.ServiceException;
-import com.qs.mp.common.utils.StringUtils;
 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.UserPrizeStorage;
-import com.qs.mp.user.domain.UserTicketOrder;
 import com.qs.mp.user.domain.param.DeliverOrderParam;
-import com.qs.mp.user.domain.param.TicketOrderParam;
 import com.qs.mp.user.domain.vo.DeliverOrderSettleVO;
-import com.qs.mp.user.domain.vo.TicketOrderSettleVO;
-import com.qs.mp.user.domain.vo.UserCouponVO;
 import com.qs.mp.user.service.IUserAddrService;
-import com.qs.mp.user.service.IUserCouponService;
 import com.qs.mp.user.service.IUserDeliverOrderService;
 import com.qs.mp.user.service.IUserPrizeStorageService;
-import com.qs.mp.user.service.IUserTicketOrderService;
 import com.qs.mp.utils.SecurityUtils;
 import com.qs.mp.web.controller.common.BaseApiController;
 import io.swagger.annotations.Api;
@@ -53,7 +39,6 @@ import javax.validation.Valid;
 import lombok.AllArgsConstructor;
 import ma.glasnost.orika.MapperFacade;
 import org.springframework.beans.factory.annotation.Autowired;
-import org.springframework.util.CollectionUtils;
 import org.springframework.web.bind.annotation.PostMapping;
 import org.springframework.web.bind.annotation.RequestBody;
 import org.springframework.web.bind.annotation.RequestMapping;
@@ -161,13 +146,13 @@ public class UserDeliverOrderController extends BaseApiController {
    * 订单支付
    */
   @PostMapping("/order/pay")
-  @ApiOperation(value = "订单支付" , notes = "在盲票页面支付")
+  @ApiOperation(value = "订单支付" , notes = "订单支付")
   public AjaxResult pay(@Valid @RequestBody OrderPayParam param) {
     String openId = SecurityUtils.getLoginUser().getUser().getOpenId();
     UserDeliverOrder deliverOrder = userDeliverOrderService.getById(param.getOrderId());
     JSONObject jsonObject;
     try {
-      jsonObject = walletService.pay(BizTypeEnum.USER_ORDER, param.getOrderId(), openId, deliverOrder.getFreightAmt());
+      jsonObject = walletService.pay(BizTypeEnum.DELIVER_ORDER, param.getOrderId(), openId, deliverOrder.getPayAmt());
     }catch (ServiceException e) {
       return AjaxResult.error(e.getMessage());
     }

+ 1 - 1
mp-admin/src/main/java/com/qs/mp/web/controller/api/user/UserTicketOrderController.java

@@ -193,7 +193,7 @@ public class UserTicketOrderController extends BaseApiController {
     UserTicketOrder ticketOrder = userTicketOrderService.getById(param.getOrderId());
     JSONObject jsonObject;
     try {
-      jsonObject = walletService.pay(BizTypeEnum.USER_ORDER, param.getOrderId(), openId, ticketOrder.getPayAmt());
+      jsonObject = walletService.pay(BizTypeEnum.TICKET_ORDER, param.getOrderId(), openId, ticketOrder.getPayAmt());
     }catch (ServiceException e) {
       return AjaxResult.error(e.getMessage());
     }

+ 3 - 2
mp-common/src/main/java/com/qs/mp/common/enums/BizTypeEnum.java

@@ -10,8 +10,9 @@ import com.baomidou.mybatisplus.annotation.IEnum;
  */
 public enum BizTypeEnum implements IEnum<Integer> {
 
-  CHANNEL_ORDER(1, "渠道订单"),
-  USER_ORDER(2, "用户订单");
+  CHANNEL_ORDER(1, "渠道盲票采购订单"),
+  TICKET_ORDER(2, "用户盲票购买订单"),
+  DELIVER_ORDER(3, "用户提货订单");
 
 
   private final int value;

+ 13 - 7
mp-service/src/main/java/com/qs/mp/pay/service/impl/WalletServiceImpl.java

@@ -13,6 +13,7 @@ import com.qs.mp.pay.domain.PayOrder;
 import com.qs.mp.pay.service.IPayOrderService;
 import com.qs.mp.pay.service.IWalletService;
 import com.qs.mp.system.service.id.BizIdGenerator;
+import com.qs.mp.user.service.IUserDeliverOrderService;
 import com.qs.mp.user.service.IUserTicketOrderService;
 import java.util.List;
 import org.slf4j.Logger;
@@ -21,7 +22,6 @@ import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.beans.factory.annotation.Value;
 import org.springframework.scheduling.annotation.Async;
 import org.springframework.stereotype.Service;
-import org.springframework.transaction.annotation.Transactional;
 
 /**
  * @auther duota
@@ -42,6 +42,9 @@ public class WalletServiceImpl implements IWalletService {
   @Autowired
   private IUserTicketOrderService userTicketOrderService;
 
+  @Autowired
+  private IUserDeliverOrderService userDeliverOrderService;
+
   @Autowired
   private BizIdGenerator bizIdGenerator;
 
@@ -76,7 +79,7 @@ public class WalletServiceImpl implements IWalletService {
     String appId = channelAppId;
     String payShopNo = channelPayShopNo;
     String paySign = channelPaySign;
-    if (bizType == BizTypeEnum.USER_ORDER) {
+    if (bizType == BizTypeEnum.TICKET_ORDER || bizType == BizTypeEnum.DELIVER_ORDER) {
       appId = userAppId;
       payShopNo = userPayShopNo;
       paySign = userPaySign;
@@ -85,7 +88,7 @@ public class WalletServiceImpl implements IWalletService {
     String result = OkHttpUtil.postJsonParams(reqUrl, params.toJSONString());
     logger.info("request params:" + params.toJSONString() + "  result:" + result);
     if (StringUtils.isBlank(result)) {
-      LogUtil.error(logger, "创建充值订单接口失败");
+      LogUtil.error(logger, "创建支付订单接口失败");
       throw new ServiceException("创建三方支付订单失败");
     }
     JSONObject resultJson = JSONObject.parseObject(result);
@@ -107,7 +110,7 @@ public class WalletServiceImpl implements IWalletService {
     payOrder.setOrderStatus(orderstatus);
     boolean ret = payOrderService.save(payOrder);
     if (!ret) {
-      LogUtil.error(logger, "渠道支付订单数据库保存失败.");
+      LogUtil.error(logger, "支付订单数据库保存失败.");
       throw new ServiceException("支付订单保存失败");
     }
     return data;
@@ -132,11 +135,14 @@ public class WalletServiceImpl implements IWalletService {
     LogUtil.info(logger, "支付回调,bizType:{0},bizId:{1}" ,
         new Object[]{payOrder.getBizType(), payOrder.getBizId()});
     if (BizTypeEnum.CHANNEL_ORDER == payOrder.getBizType()) {
-      // 业务订单支付成功,调用业务订单服务处理
+      // 渠道盲票采购订单支付成功,调用业务订单服务处理
       channelOrderService.paySuccess(payOrder);
-    } else if (BizTypeEnum.CHANNEL_ORDER == payOrder.getBizType()) {
-      // 业务订单支付成功,调用业务订单服务处理
+    } else if (BizTypeEnum.TICKET_ORDER == payOrder.getBizType()) {
+      // 用户盲票购买订单支付成功,调用业务订单服务处理
       userTicketOrderService.paySuccess(payOrder);
+    } else if (BizTypeEnum.DELIVER_ORDER == payOrder.getBizType()) {
+      // 用户提货订单支付成功,调用业务订单服务处理
+      userDeliverOrderService.paySuccess(payOrder);
     } else {
       //数据结构异常,告警
       LogUtil.error(logger, "该业务单据类型未支持,orderNo:" + orderNo);

+ 2 - 0
mp-service/src/main/java/com/qs/mp/user/domain/UserDeliverOrder.java

@@ -6,6 +6,7 @@ import com.baomidou.mybatisplus.annotation.IdType;
 import com.baomidou.mybatisplus.annotation.TableField;
 import com.baomidou.mybatisplus.annotation.TableId;
 import com.baomidou.mybatisplus.annotation.TableName;
+import com.baomidou.mybatisplus.annotation.Version;
 import com.qs.mp.common.enums.DeliverOrderStatusEnum;
 import java.io.Serializable;
 import java.util.Date;
@@ -123,6 +124,7 @@ public class UserDeliverOrder implements Serializable {
    * 更新时间
    */
   @TableField("updated_time")
+  @Version
   private Date updatedTime;
 
 

+ 14 - 2
mp-service/src/main/java/com/qs/mp/user/service/impl/UserDeliverOrderServiceImpl.java

@@ -6,6 +6,7 @@ import com.baomidou.mybatisplus.core.conditions.update.LambdaUpdateWrapper;
 import com.qs.mp.common.enums.DeliverOrderStatusEnum;
 import com.qs.mp.common.enums.PrizeStorageStatusEnum;
 import com.qs.mp.common.enums.UserTicketOrderStatusEnum;
+import com.qs.mp.common.exception.ServiceException;
 import com.qs.mp.common.utils.LogUtil;
 import com.qs.mp.pay.domain.PayOrder;
 import com.qs.mp.system.service.id.BizIdGenerator;
@@ -113,12 +114,23 @@ public class UserDeliverOrderServiceImpl extends ServiceImpl<UserDeliverOrderMap
           .eq(UserPrizeStorage::getStatus, PrizeStorageStatusEnum.HAS_DISTRIBUTED));
       Assert.isTrue(rtn, "取消提货订单时,更新奖品库里奖品状态失败。orderItem:" + JSONObject.toJSONString(orderItem));
     }
-
-    return false;
+    userDeliverOrder.setStatus(DeliverOrderStatusEnum.CANCELED);
+    boolean updateRst = updateById(userDeliverOrder);
+    Assert.isTrue(updateRst, "取消提货订单时,更新提货订单状态失败。userDeliverOrder:" + JSONObject.toJSONString(userDeliverOrder));
+    return true;
   }
 
   @Override
   public boolean paySuccess(PayOrder payOrder) {
+    UserDeliverOrder deliverOrder = getById(payOrder.getBizId());
+    if (null == deliverOrder || deliverOrder.getStatus() != DeliverOrderStatusEnum.NOT_PAY) {
+      LogUtil.error(logger, "支付回调用户提货订单处理,订单状态异常,不是待支付。payOrder:{0}, deliverOrder:{1}",
+          JSONObject.toJSONString(payOrder), JSONObject.toJSONString(deliverOrder));
+      throw new ServiceException("支付回调用户提货订单处理,订单状态异常,不是待支付。orderId:" + payOrder.getBizId());
+    }
+    deliverOrder.setStatus(DeliverOrderStatusEnum.NOT_DELIVER);
+    boolean rst = updateById(deliverOrder);
+    Assert.isTrue(rst, "支付回调用户提货订单处理,更新订单状态失败,orderId:" + deliverOrder.getOrderId());
     return false;
   }
 }

+ 1 - 1
mp-service/src/main/java/com/qs/mp/user/service/impl/UserTicketOrderServiceImpl.java

@@ -248,7 +248,7 @@ public class UserTicketOrderServiceImpl extends
   public boolean paySuccess(PayOrder payOrder) {
     UserTicketOrder ticketOrder = getById(payOrder.getBizId());
     if (null == ticketOrder || ticketOrder.getStatus() != UserTicketOrderStatusEnum.NOT_PAY) {
-      LogUtil.error(logger, "支付回调用户购票订单处理,订单状态异常,不是待支付。payOrder:{0}, channelOrder:{1}",
+      LogUtil.error(logger, "支付回调用户购票订单处理,订单状态异常,不是待支付。payOrder:{0}, ticketOrder:{1}",
           JSONObject.toJSONString(payOrder), JSONObject.toJSONString(ticketOrder));
       throw new ServiceException("支付回调用户购票订单处理,订单状态异常,不是待支付。orderId:" + payOrder.getBizId());
     }