From a262dee3a122f081a2d31d86b851ce3df0680d1a Mon Sep 17 00:00:00 2001 From: jiangqs <jiangqs> Date: 星期四, 15 六月 2023 17:15:25 +0800 Subject: [PATCH] 生日卡管理 --- ruoyi-modules/ruoyi-order/src/main/java/com/ruoyi/order/service/impl/order/OrderServiceImpl.java | 69 +++++++++++++++++++++++++++++----- 1 files changed, 58 insertions(+), 11 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 8dba62e..4b80802 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 @@ -16,7 +16,7 @@ import com.ruoyi.order.domain.vo.*; import com.ruoyi.order.service.order.ConsumerGoodsService; import com.ruoyi.order.service.order.OrderGoodsService; -import com.ruoyi.order.util.CodeFactoryUtil; +import com.ruoyi.common.security.utils.CodeFactoryUtil; import com.ruoyi.system.api.domain.dto.*; import com.ruoyi.system.api.service.*; import com.ruoyi.system.api.constant.AppErrorConstant; @@ -652,28 +652,38 @@ @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){ + Member member = remoteMemberService.getMemberByMobile(mobile).getData(); + SysUser sysUser; + if(member!=null){ + sysUser = remoteUserService.getSysUser(member.getUserId()).getData(); + }else{ //创建新用户 String memberId = IdUtils.simpleUUID(); sysUser = new SysUser(); - sysUser.setUserName(mobile); + sysUser.setUserName(memberId); sysUser.setUserType("03"); sysUser.setNickName(name); + sysUser.setPhonenumber(mobile); 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(); + member = new Member(); + member.setMemberId(memberId); + member.setUserId(sysUser.getUserId()); + member.setMobile(mobile); + member.setRealName(name); + member.setNickName(name); + remoteMemberService.createNewMember(member); } + userId = sysUser.getUserId(); } - //创建订单 + //创建订单计算 List<AppBuyGoodsDto> appBuyGoodsDtoList = merNewOrderDto.getAppBuyGoodsDtoList(); String goodsId; Integer buyNum; @@ -685,6 +695,8 @@ BigDecimal goodsPrice; BigDecimal goodsTotalPrice; BigDecimal goodsRealPrice; + Long shopId = merNewOrderDto.getShopId(); + Shop shop = remoteShopService.getShop(shopId).getData(); List<AppMemberCouponVo> appMemberCouponVoList = remoteMemberService.listVoMemberCouponByUserId(userId).getData(); Map<Long,AppMemberCouponVo> appMemberCouponVoMap = new HashMap<>(); if(null != appMemberCouponVoList){ @@ -715,7 +727,7 @@ //商户定制价格 AppShopGoodsGetDto appShopGoodsGetDto = new AppShopGoodsGetDto(); appShopGoodsGetDto.setGoodsId(goods.getGoodsId()); - appShopGoodsGetDto.setShopId(merNewOrderDto.getShopId()); + appShopGoodsGetDto.setShopId(shopId); ShopGoods shopGoods = remoteGoodsService.getShopGoods(appShopGoodsGetDto).getData(); if(shopGoods!=null){ goodsPrice = shopGoods.getSalesPrice(); @@ -724,6 +736,7 @@ buyNumBig = BigDecimal.valueOf(buyNum); goodsTotalPrice = goodsPrice.multiply(buyNumBig); goodsRealPrice = goodsTotalPrice; + //优惠券计算 if(memberCouponId!=null){ appMemberCouponVo = appMemberCouponVoMap.get(memberCouponId); if(null != appMemberCouponVo && (StringUtils.isBlank(appMemberCouponVo.getRelGoodsIds()) || appMemberCouponVo.getRelGoodsIds().contains(goodsId))){ @@ -773,13 +786,14 @@ orderGoods.setGoodsType(goods.getGoodsType()); orderGoodsService.save(orderGoods); } + //创建订单 Order order = new Order(); order.setOrderId(orderId); order.setDelFlag(0); order.setOrderStatus(3); order.setOrderNo(orderNo); order.setOrderFrom(3); - order.setShopId(merNewOrderDto.getShopId()); + order.setShopId(shopId); order.setUserId(userId); order.setOrderMoney(orderGoodsMoney); order.setCouponMoney(couponDiscount); @@ -834,7 +848,8 @@ if(member!=null&&member.getBindingFlag()!=1){ //绑定商户 AppMemberBindingDto appMemberBindingDto = new AppMemberBindingDto(); - appMemberBindingDto.setShopId(merNewOrderDto.getShopId()); + appMemberBindingDto.setShopId(shopId); + appMemberBindingDto.setShopName(shop.getShopName()); appMemberBindingDto.setUserId(userId); appMemberBindingDto.setBindingFlag(1); remoteMemberService.updateMemberBinding(appMemberBindingDto); @@ -911,4 +926,36 @@ } return merMemberNoClearOrderVoList; } + + /** + * 获取用户订单统计 + * @param mgtMemberOrderTotalDto + * @return + */ + @Override + public MgtMemberOrderTotalVo getMgtMemberOrderTotal(MgtMemberOrderTotalDto mgtMemberOrderTotalDto){ + MgtMemberOrderTotalVo mgtMemberOrderTotalVo = orderMapper.getMgtMemberOrderTotal(mgtMemberOrderTotalDto); + return mgtMemberOrderTotalVo; + } + + /** + * 分页获取用户订单列表 + * @param page + * @param mgtMemberOrderPageDto + * @return + */ + @Override + public List<MgtMemberOrderPageVo> pageMgtMemberOrder(Page page, MgtMemberOrderPageDto mgtMemberOrderPageDto){ + List<MgtMemberOrderPageVo> mgtMemberOrderPageVoList = orderMapper.pageMgtMemberOrder(page, mgtMemberOrderPageDto); + if(mgtMemberOrderPageVoList!=null&&!mgtMemberOrderPageVoList.isEmpty()){ + Long shopId; + Shop shop; + for(MgtMemberOrderPageVo mgtMemberOrderPageVo : mgtMemberOrderPageVoList){ + shopId = mgtMemberOrderPageVo.getShopId(); + shop = remoteShopService.getShop(shopId).getData(); + mgtMemberOrderPageVo.setShopName(shop.getShopName()); + } + } + return mgtMemberOrderPageVoList; + } } -- Gitblit v1.7.1