From b3942f278045cf74410d81a62ded4696f22d170d Mon Sep 17 00:00:00 2001 From: jiangqs <jiangqs> Date: 星期六, 26 八月 2023 13:08:14 +0800 Subject: [PATCH] Merge branch 'master' of ssh://120.76.84.145:20202/java/HongRuiTang into master --- ruoyi-modules/ruoyi-order/src/main/java/com/ruoyi/order/controller/miniapp/AppOrderController.java | 142 +++++++++++++++++++++++++++++++++++++++-------- 1 files changed, 117 insertions(+), 25 deletions(-) diff --git a/ruoyi-modules/ruoyi-order/src/main/java/com/ruoyi/order/controller/miniapp/AppOrderController.java b/ruoyi-modules/ruoyi-order/src/main/java/com/ruoyi/order/controller/miniapp/AppOrderController.java index f569556..b6a88f8 100644 --- a/ruoyi-modules/ruoyi-order/src/main/java/com/ruoyi/order/controller/miniapp/AppOrderController.java +++ b/ruoyi-modules/ruoyi-order/src/main/java/com/ruoyi/order/controller/miniapp/AppOrderController.java @@ -1,12 +1,34 @@ package com.ruoyi.order.controller.miniapp; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.github.binarywang.wxpay.bean.ecommerce.PartnerTransactionsResult; +import com.ruoyi.common.core.domain.R; +import com.ruoyi.common.core.utils.DateUtils; import com.ruoyi.common.core.web.controller.BaseController; +import com.ruoyi.common.redis.service.RedisService; +import com.ruoyi.common.security.utils.SecurityUtils; +import com.ruoyi.order.domain.dto.*; +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.model.LoginUser; +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; import org.springframework.web.bind.annotation.RestController; import javax.annotation.Resource; +import java.util.List; /** * @author jqs34 @@ -20,20 +42,27 @@ @RequestMapping("/app/order") public class AppOrderController extends BaseController { - + @Resource + private RemoteMemberService memberService; @Resource private OrderService orderService; + @Resource + private RedisService redisService; - /*@RequestMapping(value = "/buyGoods", method = RequestMethod.POST) + @Resource + private RemoteConfigService remoteConfigService; + + + @RequestMapping(value = "/buyGoods", method = RequestMethod.POST) @ApiOperation(value = "购买商品") public R<AppSureOrderVo> buyGoods(@RequestBody AppSureOrderDto appSureOrderDto) { Long userId = SecurityUtils.getUserId(); - if(userId!=null){ + if (userId != null) { Member member = memberService.getMember(userId).getData(); appSureOrderDto.setUserId(userId); - if(member!=null&&member.getRelationShopId()!=null){ + if (member != null && member.getRelationShopId() != null) { appSureOrderDto.setShopId(member.getRelationShopId()); } } @@ -41,26 +70,78 @@ return R.ok(appSureOrderVo); } + + @RequestMapping(value = "/panicBuyGoods", method = RequestMethod.POST) + @ApiOperation(value = "抢购商品") + public R<AppPanicBuyVo> panicBuyGoods(@RequestBody AppPanicBuyDto appPanicBuyDto) { + Long userId = SecurityUtils.getUserId(); + if (userId != null) { + Member member = memberService.getMember(userId).getData(); + appPanicBuyDto.setUserId(userId); + if (member != null && member.getRelationShopId() != null) { + appPanicBuyDto.setShopId(member.getRelationShopId()); + } + } + AppPanicBuyVo panicBuyGoods = orderService.panicBuyGoods(appPanicBuyDto); + return R.ok(panicBuyGoods); + } + @RequestMapping(value = "/placeOrder", method = RequestMethod.POST) @ApiOperation(value = "创建订单") public R<AppPlaceOrderVo> placeOrder(@RequestBody AppPlaceOrderDto appPlaceOrderDto) { - Long userId = SecurityUtils.getUserId(); - if(userId!=null){ + LoginUser loginUser = SecurityUtils.getLoginUser(); + Long userId = loginUser.getUserid(); + appPlaceOrderDto.setUserId(userId); + appPlaceOrderDto.setSpbillCreateIp(loginUser.getIpaddr()); + + if (userId != null) { Member member = memberService.getMember(userId).getData(); appPlaceOrderDto.setUserId(userId); - if(member!=null&&member.getRelationShopId()!=null){ + + if (member != null) { + appPlaceOrderDto.setOpenid(member.getMiniOpenid()); appPlaceOrderDto.setShopId(member.getRelationShopId()); - } - if(member.getBindingFlag()!=1){ - //绑定商户 - AppMemberBindingDto appMemberBindingDto = new AppMemberBindingDto(); - appMemberBindingDto.setShopId(appPlaceOrderDto.getShopId()); - appMemberBindingDto.setUserId(userId); - appMemberBindingDto.setBindingFlag(1); - memberService.updateMemberBinding(appMemberBindingDto); + if (member.getBindingFlag() != 1) { + //绑定商户 + AppMemberBindingDto appMemberBindingDto = new AppMemberBindingDto(); + appMemberBindingDto.setShopId(appPlaceOrderDto.getShopId()); + appMemberBindingDto.setUserId(userId); + appMemberBindingDto.setBindingFlag(1); + appMemberBindingDto.setBindingType(1); + memberService.updateMemberBinding(appMemberBindingDto); + appPlaceOrderDto.setNewMemberFlag(1); + } } } AppPlaceOrderVo appPlaceOrderVo = orderService.placeOrder(appPlaceOrderDto); + return R.ok(appPlaceOrderVo); + } + + @RequestMapping(value = "/placeActivityOrder", method = RequestMethod.POST) + @ApiOperation(value = "创建活动订单") + public R<AppPlaceOrderVo> placeActivityOrder(@Validated @RequestBody AppPlaceActivityDto appPlaceActivityDto) { + LoginUser loginUser = SecurityUtils.getLoginUser(); + Long userId = loginUser.getUserid(); + appPlaceActivityDto.setSpbillCreateIp(loginUser.getIpaddr()); + if (userId != null) { + Member member = memberService.getMember(userId).getData(); + appPlaceActivityDto.setUserId(userId); + if (member != null && member.getRelationShopId() != null) { + appPlaceActivityDto.setOpenid(member.getMiniOpenid()); + appPlaceActivityDto.setShopId(member.getRelationShopId()); + } + if (member.getBindingFlag() != 1) { + //绑定商户 + AppMemberBindingDto appMemberBindingDto = new AppMemberBindingDto(); + appMemberBindingDto.setShopId(appPlaceActivityDto.getShopId()); + appMemberBindingDto.setUserId(userId); + appMemberBindingDto.setBindingFlag(1); + appMemberBindingDto.setBindingType(2); + memberService.updateMemberBinding(appMemberBindingDto); + appPlaceActivityDto.setNewMemberFlag(1); + } + } + AppPlaceOrderVo appPlaceOrderVo = orderService.placeActivityOrder(appPlaceActivityDto); return R.ok(appPlaceOrderVo); } @@ -68,18 +149,18 @@ @ApiOperation(value = "分页获取用户订单") public R<Page<AppUserOrderPageVo>> pageUserOrder(@RequestBody AppUserOrderPageDto appUserOrderPageDto) { Long userId = SecurityUtils.getUserId(); - if(userId!=null){ + if (userId != null) { Member member = memberService.getMember(userId).getData(); appUserOrderPageDto.setUserId(userId); - if(member!=null&&member.getRelationShopId()!=null){ + if (member != null && member.getRelationShopId() != null) { appUserOrderPageDto.setShopId(member.getRelationShopId()); } } - logger.info("appUserOrderPageDto:"+appUserOrderPageDto.toString()); + logger.info("appUserOrderPageDto:" + appUserOrderPageDto.toString()); Page<AppUserOrderPageVo> page = new Page<>(); page.setSize(appUserOrderPageDto.getPageSize()); page.setCurrent(appUserOrderPageDto.getPageNum()); - List<AppUserOrderPageVo> appUserOrderPageVoList = orderService.pageUserOrder(page,appUserOrderPageDto); + List<AppUserOrderPageVo> appUserOrderPageVoList = orderService.pageUserOrder(page, appUserOrderPageDto); return R.ok(page.setRecords(appUserOrderPageVoList)); } @@ -88,17 +169,17 @@ public R<AppUserOrderGetVo> getAppOrderDetail(@RequestBody AppBaseGetDto appBaseGetDto) { Long userId = SecurityUtils.getUserId(); Long shopId = null; - if(userId!=null){ + if (userId != null) { Member member = memberService.getMember(userId).getData(); appBaseGetDto.setUserId(userId); - if(member!=null&&member.getRelationShopId()!=null){ + if (member != null && member.getRelationShopId() != null) { shopId = member.getRelationShopId(); } } AppUserOrderGetVo appUserOrderGetVo = orderService.getAppOrderDetail(appBaseGetDto); - if(shopId!=null&&appUserOrderGetVo.getShopId().equals(shopId)){ + if (shopId != null && appUserOrderGetVo.getShopId().equals(shopId)) { appUserOrderGetVo.setSameShop(1); - }else{ + } else { appUserOrderGetVo.setSameShop(0); } return R.ok(appUserOrderGetVo); @@ -110,10 +191,21 @@ Long userId = SecurityUtils.getUserId(); AppPlaceOrderVo appPlaceOrderVo = new AppPlaceOrderVo(); Order order = orderService.getById(appBaseGetDto.getId()); + PartnerTransactionsResult transaction = new PartnerTransactionsResult(); + transaction.setOutTradeNo(appBaseGetDto.getId()); + orderService.payBack(transaction); appPlaceOrderVo.setOrderId(order.getOrderId()); appPlaceOrderVo.setOrderNo(order.getOrderNo()); + appPlaceOrderVo.setPayType(order.getPayType()); appPlaceOrderVo.setPayMoney(order.getPayMoney()); - appPlaceOrderVo.setUnpaidMoney(order.getReceivableMoney().subtract(order.getPayMoney())); + appPlaceOrderVo.setUnpaidMoney(order.getPayMoney()); + Integer delayTime = 30; + if (redisService.hasKey(SecurityConstant.AUTO_CANCEL_ORDER_TIME)) { + delayTime = redisService.getCacheObject(SecurityConstant.AUTO_CANCEL_ORDER_TIME); + } + 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); } @@ -123,6 +215,6 @@ Long userId = SecurityUtils.getUserId(); orderService.cancelOrder(appBaseGetDto.getId()); return R.ok(); - }*/ + } } -- Gitblit v1.7.1