bug
jiangqs
2023-07-27 c927b4d36b9e04a8b2ba08c8789f5277aa1c277d
ruoyi-modules/ruoyi-order/src/main/java/com/ruoyi/order/controller/miniapp/AppOrderController.java
@@ -10,13 +10,16 @@
import com.ruoyi.order.domain.pojo.order.Order;
import com.ruoyi.order.domain.vo.*;
import com.ruoyi.order.service.order.OrderService;
import com.ruoyi.system.api.constant.DelayTaskEnum;
import com.ruoyi.system.api.constant.SecurityConstant;
import com.ruoyi.system.api.domain.dto.AppBaseGetDto;
import com.ruoyi.system.api.domain.dto.AppMemberBindingDto;
import com.ruoyi.system.api.domain.poji.member.Member;
import com.ruoyi.system.api.service.RemoteConfigService;
import com.ruoyi.system.api.service.RemoteMemberService;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiOperation;
import org.springframework.validation.annotation.Validated;
import org.springframework.web.bind.annotation.RequestBody;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RequestMethod;
@@ -45,6 +48,9 @@
    @Resource
    private RedisService redisService;
    @Resource
    private RemoteConfigService remoteConfigService;
    @RequestMapping(value = "/buyGoods", method = RequestMethod.POST)
@@ -103,7 +109,7 @@
    @RequestMapping(value = "/placeActivityOrder", method = RequestMethod.POST)
    @ApiOperation(value = "创建活动订单")
    public R<AppPlaceOrderVo> placeActivityOrder(@RequestBody AppPlaceActivityDto appPlaceActivityDto) {
    public R<AppPlaceOrderVo> placeActivityOrder(@Validated @RequestBody AppPlaceActivityDto appPlaceActivityDto) {
        Long userId = SecurityUtils.getUserId();
        if(userId!=null){
            Member member = memberService.getMember(userId).getData();
@@ -170,16 +176,19 @@
        Long userId = SecurityUtils.getUserId();
        AppPlaceOrderVo appPlaceOrderVo = new AppPlaceOrderVo();
        Order order = orderService.getById(appBaseGetDto.getId());
        order.setOrderStatus(2);
        orderService.saveOrUpdate(order);
        appPlaceOrderVo.setOrderId(order.getOrderId());
        appPlaceOrderVo.setOrderNo(order.getOrderNo());
        appPlaceOrderVo.setPayType(order.getPayType());
        appPlaceOrderVo.setUnpaidMoney(order.getPayMoney());
        orderService.payBack(order.getOrderId());
        Integer delayTime = 30;
        if(redisService.hasKey(SecurityConstant.AUTO_CANCEL_ORDER_TIME)){
            delayTime = redisService.getCacheObject(SecurityConstant.AUTO_CANCEL_ORDER_TIME);
        }
        appPlaceOrderVo.setPayDeadlineTime(DateUtils.addMinutes(order.getCreateTime(),delayTime));
        redisService.deleteObject(DelayTaskEnum.ORDER_AUTOMATIC_CANCEL.getCode() + "-" + order.getOrderId());
        remoteConfigService.deleteDelayTask(DelayTaskEnum.ORDER_AUTOMATIC_CANCEL.getCode() + "-" + order.getOrderId());
        appPlaceOrderVo.setEndTime(DateUtils.addMinutes(order.getCreateTime(),delayTime));
        return R.ok(appPlaceOrderVo);
    }