jiangqs
2023-05-17 7b005ca364613c9738dbc66f3e4fe3fb7bec043d
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;
@@ -425,6 +426,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);
@@ -614,6 +620,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;
@@ -627,7 +654,11 @@
        BigDecimal goodsTotalPrice;
        BigDecimal goodsRealPrice;
        List<AppUserCouponVo> appUserCouponVoList = remoteMemberService.listVoUserCouponByUserId(userId).getData();
        Map<Long,AppUserCouponVo> appUserCouponVoMap = appUserCouponVoList.stream().collect(Collectors.toMap(AppUserCouponVo::getUserCouponId, Function.identity()));
        Map<Long,AppUserCouponVo> appUserCouponVoMap = new HashMap<>();
        if(null != appUserCouponVoList){
            appUserCouponVoMap = appUserCouponVoList.stream().collect(Collectors.toMap(AppUserCouponVo::getUserCouponId, Function.identity()));
        }
        AppUserCouponVo appUserCouponVo;
        Integer couponType;
        BigDecimal moneyThreshold;
@@ -660,7 +691,7 @@
            goodsRealPrice = goodsTotalPrice;
            if(userCouponId!=null){
                appUserCouponVo = appUserCouponVoMap.get(userCouponId);
                if(StringUtils.isBlank(appUserCouponVo.getRelGoodsIds()) || appUserCouponVo.getRelGoodsIds().contains(goodsId)){
                if(null != appUserCouponVo && (StringUtils.isBlank(appUserCouponVo.getRelGoodsIds()) || appUserCouponVo.getRelGoodsIds().contains(goodsId))){
                    couponType = appUserCouponVo.getCouponType();
                    if(couponType == 1 && appUserCouponVo.getMoneyThreshold()!=null && appUserCouponVo.getDiscountMoney()!=null){
                        moneyThreshold = appUserCouponVo.getMoneyThreshold();
@@ -696,7 +727,7 @@
            orderGoods.setOrderId(orderId);
            orderGoods.setGoodsId(goodsId);
            orderGoods.setBuyNum(buyNum);
            if(StringUtils.isNotBlank(userCouponId.toString())){
            if(null != userCouponId){
                orderGoods.setCouponId(userCouponId.toString());
            }
            orderGoods.setGoodsPrice(goodsPrice);
@@ -764,7 +795,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());
@@ -791,10 +822,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);
            }
        }