From 1d2139950d2ef8867c39fa8c8e9af8db178eaa27 Mon Sep 17 00:00:00 2001 From: jiangqs <jiangqs> Date: 星期五, 19 五月 2023 16:21:14 +0800 Subject: [PATCH] demo补完 --- ruoyi-modules/ruoyi-order/src/main/java/com/ruoyi/order/service/impl/order/OrderServiceImpl.java | 83 +++++++++++++++++++++++++++++++++++++++-- 1 files changed, 79 insertions(+), 4 deletions(-) diff --git a/ruoyi-modules/ruoyi-order/src/main/java/com/ruoyi/order/service/impl/order/OrderServiceImpl.java b/ruoyi-modules/ruoyi-order/src/main/java/com/ruoyi/order/service/impl/order/OrderServiceImpl.java index 2d143b0..f3863f9 100644 --- a/ruoyi-modules/ruoyi-order/src/main/java/com/ruoyi/order/service/impl/order/OrderServiceImpl.java +++ b/ruoyi-modules/ruoyi-order/src/main/java/com/ruoyi/order/service/impl/order/OrderServiceImpl.java @@ -8,6 +8,7 @@ import com.ruoyi.common.core.exception.ServiceException; import com.ruoyi.common.core.utils.StringUtils; import com.ruoyi.common.core.utils.uuid.IdUtils; +import com.ruoyi.common.security.utils.SecurityUtils; import com.ruoyi.order.domain.dto.*; import com.ruoyi.order.domain.pojo.goods.Goods; import com.ruoyi.order.domain.pojo.goods.GoodsFile; @@ -15,11 +16,13 @@ import com.ruoyi.order.domain.pojo.order.ConsumerGoods; import com.ruoyi.order.domain.pojo.order.Order; import com.ruoyi.order.domain.pojo.order.OrderGoods; +import com.ruoyi.order.domain.pojo.order.ShoppingCart; import com.ruoyi.order.domain.vo.*; import com.ruoyi.order.service.goods.GoodsFileService; import com.ruoyi.order.service.goods.ShopGoodsService; import com.ruoyi.order.service.order.ConsumerGoodsService; import com.ruoyi.order.service.order.OrderGoodsService; +import com.ruoyi.order.service.order.ShoppingCartService; import com.ruoyi.order.util.CodeFactoryUtil; import com.ruoyi.system.api.RemoteMemberService; import com.ruoyi.system.api.RemoteShopService; @@ -27,6 +30,7 @@ import com.ruoyi.system.api.constant.AppErrorConstant; import com.ruoyi.system.api.domain.dto.AppBaseGetDto; import com.ruoyi.system.api.domain.dto.AppMemberBindingDto; +import com.ruoyi.system.api.domain.dto.AppMemberGoodsTypeDto; import com.ruoyi.system.api.domain.poji.member.Member; import com.ruoyi.system.api.domain.poji.shop.Shop; import com.ruoyi.system.api.domain.poji.sys.SysUser; @@ -81,6 +85,9 @@ @Resource private ConsumerGoodsService consumerGoodsService; + + @Resource + private ShoppingCartService shoppingCartService; /** * @description: buyGoods @@ -243,6 +250,8 @@ String orderNo = CodeFactoryUtil.getShopOrderNo(); OrderGoods orderGoods; String orderGoodsId; + ShoppingCart shoppingCart; + HashSet<String> goodsTypeSet = new HashSet<>(); for(AppBuyGoodsDto appBuyGoodsDto : appBuyGoodsDtoList){ appSureOrderGoodsVo = new AppSureOrderGoodsVo(); useCoupon = 0; @@ -325,6 +334,17 @@ orderGoods.setServiceNum(serviceNum); orderGoods.setGoodsType(goods.getGoodsType()); orderGoodsService.save(orderGoods); + //清空购物车 + shoppingCartService.deleteByUserIdAndGoodsId(userId,goodsId); + if(goods.getGoodsType()==1){ + goodsTypeSet.add("周期"); + }else if(goods.getGoodsType()==2){ + goodsTypeSet.add("服务"); + }else if(goods.getGoodsType()==3){ + goodsTypeSet.add("体验"); + }else if(goods.getGoodsType()==4){ + goodsTypeSet.add("单品"); + } } Order order = new Order(); order.setOrderId(orderId); @@ -357,10 +377,18 @@ order.setGoodsNum(goodsNum); order.setCreateTime(new Date()); this.save(order); + //更新用户商品类型 + if(goodsTypeSet!=null&&goodsTypeSet.size()>0){ + AppMemberGoodsTypeDto appMemberGoodsTypeDto = new AppMemberGoodsTypeDto(); + appMemberGoodsTypeDto.setUserId(userId); + appMemberGoodsTypeDto.setGoodsTypeSet(goodsTypeSet); + remoteMemberService.updateMemberGoodsType(appMemberGoodsTypeDto); + } appPlaceOrderVo.setOrderId(orderId); appPlaceOrderVo.setOrderNo(orderNo); //调用支付 + return appPlaceOrderVo; } @@ -425,6 +453,11 @@ appUserOrderGetVo.setPayMoney(order.getPayMoney()); appUserOrderGetVo.setOrderRemark(order.getOrderRemark()); appUserOrderGetVo.setShopId(order.getShopId()); + appUserOrderGetVo.setCreateTime(order.getCreateTime()); + appUserOrderGetVo.setPayTime(order.getCreateTime()); + appUserOrderGetVo.setUseTime(order.getUseTime()); + appUserOrderGetVo.setCancelTime(order.getCancelTime()); + appUserOrderGetVo.setOrderRemark(order.getOrderRemark()); Shop shop = remoteShopService.getShop(order.getShopId()).getData(); appUserOrderGetVo.setShopName(shop.getShopName()); appUserOrderGetVo.setAppUserOrderGoodsPageVoList(appUserOrderGoodsPageVoList); @@ -571,6 +604,9 @@ merVerifyOrderVo.setPayMoney(order.getPayMoney()); merVerifyOrderVo.setOrderRemark(order.getOrderRemark()); merVerifyOrderVo.setAppUserOrderGoodsPageVoList(appUserOrderGoodsPageVoList); + merVerifyOrderVo.setCreateTime(order.getCreateTime()); + merVerifyOrderVo.setPayTime(order.getPayTime()); + merVerifyOrderVo.setUseTime(order.getUseTime()); SysUser sysUser = remoteUserService.getSysUser(order.getUserId()).getData(); merVerifyOrderVo.setUserName(sysUser.getNickName()); merVerifyOrderVo.setUserMobile(sysUser.getPhonenumber()); @@ -614,6 +650,27 @@ @Override public void createNewOrder(MerNewOrderDto merNewOrderDto){ Long userId = merNewOrderDto.getBuyUserId(); + if(userId==null){ + String name = merNewOrderDto.getName(); + String mobile = merNewOrderDto.getMobile(); + SysUser sysUser = remoteUserService.getSysUserByMobile(mobile).getData(); + if(sysUser==null){ + //创建新用户 + String memberId = IdUtils.simpleUUID(); + sysUser = new SysUser(); + sysUser.setUserName(mobile); + sysUser.setUserType("03"); + sysUser.setNickName(name); + sysUser.setAvatar("https://hongruitang.oss-cn-beijing.aliyuncs.com/default.png"); + String password = "hongruitang"; + sysUser.setPassword(SecurityUtils.encryptPassword(password)); + log.debug("sysUser"+sysUser.toString()); + sysUser = remoteUserService.registerUser(sysUser).getData(); + userId = sysUser.getUserId(); + }else{ + userId = sysUser.getUserId(); + } + } //创建订单 List<AppBuyGoodsDto> appBuyGoodsDtoList = merNewOrderDto.getAppBuyGoodsDtoList(); String goodsId; @@ -768,7 +825,7 @@ consumerGoodsService.save(consumerGoods); } Member member = remoteMemberService.getMember(userId).getData(); - if(member.getBindingFlag()!=1){ + if(member!=null&&member.getBindingFlag()!=1){ //绑定商户 AppMemberBindingDto appMemberBindingDto = new AppMemberBindingDto(); appMemberBindingDto.setShopId(merNewOrderDto.getShopId()); @@ -795,10 +852,28 @@ for(MerOrderPageVo merOrderPageVo : merOrderPageVoList){ userId = merOrderPageVo.getUserId(); member = remoteMemberService.getMember(userId).getData(); - merOrderPageVo.setUserName(member.getNickName()); - merOrderPageVo.setUserMobile(member.getMobile()); + if(member!=null){ + if(StringUtils.isNotBlank(member.getNickName())){ + merOrderPageVo.setUserName(member.getNickName()); + } + merOrderPageVo.setUserMobile(member.getMobile()); + }else{ + SysUser sysUser = remoteUserService.getSysUser(userId).getData(); + if(StringUtils.isNotBlank(sysUser.getNickName())){ + merOrderPageVo.setUserName(sysUser.getNickName()); + } + merOrderPageVo.setUserMobile(sysUser.getPhonenumber()); + } orderFrom = merOrderPageVo.getOrderFrom(); - orderFromDesc = "商城订单"; + if(orderFrom!=null){ + if(orderFrom == 1){ + orderFromDesc = "商城订单"; + }else{ + orderFromDesc = "线下创建"; + } + }else{ + orderFromDesc = "商城订单"; + } merOrderPageVo.setOrderFromDesc(orderFromDesc); } } -- Gitblit v1.7.1