From 3f7a3aefe2965459aed169383b285fba400cfe8c Mon Sep 17 00:00:00 2001 From: jiangqs <343695869@qq.com> Date: 星期日, 04 六月 2023 13:13:54 +0800 Subject: [PATCH] Merge branch 'master' of http://sinata.cn:10101/gitblit/r/java/HongRuiTang --- ruoyi-modules/ruoyi-order/src/main/java/com/ruoyi/order/service/impl/order/OrderServiceImpl.java | 84 +++++++++++++++++++++++++++++++++-------- 1 files changed, 67 insertions(+), 17 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..0f21cd9 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 @@ -6,8 +6,10 @@ import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; import com.ruoyi.common.core.exception.ServiceException; +import com.ruoyi.common.core.utils.DateUtils; import com.ruoyi.common.core.utils.StringUtils; import com.ruoyi.common.core.utils.uuid.IdUtils; +import com.ruoyi.common.core.utils.uuid.UUID; import com.ruoyi.common.security.utils.SecurityUtils; import com.ruoyi.order.domain.dto.*; import com.ruoyi.order.domain.pojo.order.ConsumerGoods; @@ -31,6 +33,7 @@ import com.ruoyi.order.mapper.order.OrderMapper; import com.ruoyi.order.service.order.OrderService; import com.ruoyi.system.api.domain.vo.MerHomeShopTotalVo; +import org.apache.ibatis.annotations.Param; import org.springframework.stereotype.Service; import javax.annotation.Resource; @@ -370,7 +373,7 @@ } order.setOrderRemark(appPlaceOrderDto.getOrderRemark()); order.setGoodsNum(goodsNum); - order.setCreateTime(new Date()); + order.setCreateTime(DateUtils.getNowDate()); this.save(order); //更新用户商品类型 if(goodsTypeSet!=null&&goodsTypeSet.size()>0){ @@ -471,7 +474,7 @@ throw new ServiceException(AppErrorConstant.CANCEL_ERROR_ORDER); } order.setOrderStatus(0); - order.setCancelTime(new Date()); + order.setCancelTime(DateUtils.getNowDate()); this.saveOrUpdate(order); } @@ -556,7 +559,7 @@ String orderId = merVerifyOrderDto.getOrderId(); BigDecimal relReceiveMoney = merVerifyOrderDto.getRelReceiveMoney(); BigDecimal relPayMoney = merVerifyOrderDto.getRelPayMoney(); - Date nowTime = new Date(); + Date nowTime = DateUtils.getNowDate(); //更新订单信息 Order order = this.getById(orderId); order.setOrderStatus(3); @@ -652,28 +655,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 +698,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 +730,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 +739,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 +789,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); @@ -798,9 +815,9 @@ } order.setOrderRemark(merNewOrderDto.getOrderRemark()); order.setGoodsNum(goodsNum); - order.setCreateTime(new Date()); - order.setPayTime(new Date()); - order.setUseTime(new Date()); + order.setCreateTime(DateUtils.getNowDate()); + order.setPayTime(DateUtils.getNowDate()); + order.setUseTime(DateUtils.getNowDate()); order.setUseUserId(merNewOrderDto.getUserId()); order.setPayMoney(merNewOrderDto.getPayMoney()); order.setOnlinePayMoney(new BigDecimal("0.00")); @@ -827,14 +844,15 @@ consumerGoods.setServiceNum(appUserOrderGoodsPageVo.getServiceNum()); consumerGoods.setUsedNum(0); consumerGoods.setGoodsType(appUserOrderGoodsPageVo.getGoodsType()); - consumerGoods.setCreateTime(new Date()); + consumerGoods.setCreateTime(DateUtils.getNowDate()); consumerGoodsService.save(consumerGoods); } Member member = remoteMemberService.getMember(userId).getData(); 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 +929,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