rk
15 小时以前 511ce651667f5b2284247cc60599078b86f7963f
server/dmmall_service/src/main/java/com/doumee/service/business/impl/GoodsorderServiceImpl.java
@@ -21,6 +21,7 @@
import com.doumee.dao.business.join.PlanorderDetailJoinMapper;
import com.doumee.dao.business.model.*;
import com.doumee.dao.system.dto.PlatformConfigDTO;
import com.doumee.dao.system.model.SystemUser;
import com.doumee.dao.web.dto.CouponDTO;
import com.doumee.dao.web.request.*;
import com.doumee.dao.web.request.goods.*;
@@ -275,7 +276,7 @@
                    Constants.UserActionType.CHANGE_ORDER_KD,
                    userActionMapper,
                    update.getEditDate(),
                    new String[]{user.getUsername(), DateUtil.getPlusTime2(update.getEditDate()),"备注:"+goodsorder.getKdInfo()},
                    new String[]{goodsorder.getKdInfo()},
                    JSONObject.toJSONString(update) ,
                    query.getKdName()+"(单号:"+query.getKdCode()+")",
                    goodsorder.getKdName()+"(单号:"+goodsorder.getKdCode()+")");
@@ -387,7 +388,7 @@
            throw new BusinessException(ResponseStatus.DATA_EMPTY.getCode(),ResponseStatus.DATA_EMPTY.getMessage());
        }
        cancelOrder( query.getId(),  user.getId(),goodsorder.getCancelInfo() );
        cancelOrderNew( query.getId(),  user.getId(),goodsorder.getCancelInfo() );
    }
@@ -404,36 +405,45 @@
    @Override
    public Goodsorder findById(Integer id) {
        Goodsorder result=goodsorderJoinMapper.selectById(id);
        MPJLambdaWrapper<Goodsorder> q = new MPJLambdaWrapper<Goodsorder>()
                .selectAll(Goodsorder.class)
                .selectAs(Shop::getName,Goodsorder::getShopName)
                .selectAs(Member::getNickname,Goodsorder::getNickName)
                .selectAs(Member::getPhone,Goodsorder::getPhone)
                .selectAs(Member::getName,Goodsorder::getMemberName)
                .selectAs(MemberCoupon::getName,Goodsorder::getCouponName)
                .select("t4.realname",Goodsorder::getKdUserName)
                .select("t5.realname",Goodsorder::getCancelUserName)
                .select("t6.realname",Goodsorder::getRefundUserName)
                .selectAs(Shop::getName,Goodsorder::getShopName)
                .leftJoin(MemberCoupon.class,MemberCoupon::getId,Goodsorder::getCouponId)
                .leftJoin(Shop.class,Shop::getId,Goodsorder::getDistributionShopId)
                .leftJoin(Member.class,Member::getId,Goodsorder::getMemberId)
                .leftJoin(SystemUser.class,SystemUser::getId,Goodsorder::getKdUser)
                .leftJoin(SystemUser.class,SystemUser::getId,Goodsorder::getCancelUser)
                .leftJoin(SystemUser.class,SystemUser::getId,Goodsorder::getRefundUserId)
                .eq(Goodsorder::getId,id);
        Goodsorder result=goodsorderJoinMapper.selectJoinOne(Goodsorder.class,q);
        if(Objects.nonNull(result)){
            MPJLambdaWrapper<GoodsorderDetail> queryWrapper = new MPJLambdaWrapper<>();
            queryWrapper.selectAll(GoodsorderDetail.class);
            queryWrapper.selectAs(Shop::getName,Goodsorder::getShopName);
            queryWrapper.selectAs(Labels::getName,GoodsorderDetail::getLablesName);
            queryWrapper.eq(GoodsorderDetail::getIsdeleted,Constants.ZERO);
            queryWrapper.eq(GoodsorderDetail::getOrderId,result.getId());
            queryWrapper.leftJoin(GoodsSku.class,GoodsSku::getId,GoodsorderDetail::getGoodsSkuId);
            queryWrapper.leftJoin(Goods.class,Goods::getId,GoodsSku::getGoodsId);
            queryWrapper.leftJoin(Labels.class,Labels::getId,Goods::getCategoryId);
            queryWrapper.leftJoin(Shop.class,Shop::getId,Goodsorder::getDistributionShopId);
            queryWrapper.selectAll(GoodsorderDetail.class)
                    .selectAs(Labels::getName,GoodsorderDetail::getCategoryName)
                    .eq(GoodsorderDetail::getIsdeleted,Constants.ZERO)
                    .leftJoin(GoodsSku.class,GoodsSku::getId,GoodsorderDetail::getGoodsSkuId)
                    .leftJoin(Goods.class,Goods::getId,GoodsSku::getGoodsId)
                    .leftJoin(Labels.class,Labels::getId,Goods::getCategoryId)
                    .eq(GoodsorderDetail::getOrderId,result.getId()) ;
            List<GoodsorderDetail> goodsorderDetailList=goodsorderDetailMapper.selectList(queryWrapper);
            String path = systemDictDataBiz.queryByCode(Constants.OSS, Constants.RESOURCE_PATH).getCode() + systemDictDataBiz.queryByCode(Constants.OSS, Constants.ACTIVITY_FILE).getCode();
            String path = systemDictDataBiz.queryByCode(Constants.OSS, Constants.RESOURCE_PATH).getCode()
                    + systemDictDataBiz.queryByCode(Constants.OSS, Constants.GOODS_FILE).getCode();
            for(GoodsorderDetail model:goodsorderDetailList){
                if(StringUtils.isNotBlank(model.getImgurl())){
                   model.setImgurl(path+ model.getImgurl());
                }
                //小计
                model.setTotalPrice(Constants.formatBigdecimal(model.getPrice()).multiply(new BigDecimal(Constants.formatIntegerNum(model.getGoodsNum()))));
            }
            result.setGoodsorderDetailList(goodsorderDetailList);
            //查询咖啡计划订阅周期
            if(Constants.equalsInteger(result.getType(),Constants.TWO)){
                MPJLambdaWrapper<PlanorderDetail> queryplan = new MPJLambdaWrapper<>();
                queryplan.eq(PlanorderDetail::getOrderId,result.getId());
                queryplan.last("limit 1");
               PlanorderDetail planorderDetail= planorderDetailJoinMapper.selectOne( queryplan);
               result.setPlanorderDetail(planorderDetail);
            }
        }
        return result;
    }
@@ -458,6 +468,8 @@
        queryWrapper.selectAll(Goodsorder.class);
        queryWrapper.selectAs(Shop::getName,Goodsorder::getShopName);
        initPageQueryWrapper(queryWrapper,pageWrap);
        queryWrapper.selectAs(MemberCoupon::getName,Goodsorder::getCouponName);
        queryWrapper.leftJoin(MemberCoupon.class,MemberCoupon::getId,Goodsorder::getCouponId);
        queryWrapper.eq(pageWrap.getModel().getStatus()!=null,Goodsorder::getStatus,pageWrap.getModel().getStatus());
        queryWrapper.orderByDesc(Goodsorder::getCreateDate);
@@ -1354,11 +1366,12 @@
            throw new BusinessException(ResponseStatus.DATA_EMPTY);
        }
        if(!(Constants.equalsInteger(goodsorder.getStatus(),Constants.OrderStatus.WAIT_PAY.getKey())
        || Constants.equalsInteger(goodsorder.getStatus(),Constants.OrderStatus.PAY_DONE.getKey())
        || Constants.equalsInteger(goodsorder.getStatus(),Constants.OrderStatus.WAIT_RECEIVE.getKey()) )){
            || Constants.equalsInteger(goodsorder.getStatus(),Constants.OrderStatus.PAY_DONE.getKey())
            || Constants.equalsInteger(goodsorder.getStatus(),Constants.OrderStatus.WAIT_RECEIVE.getKey()) )){
            throw new BusinessException(ResponseStatus.NOT_ALLOWED.getCode(),"订单取消失败:订单状态已流转!");
        }
        if(goodsorder.getPrice().compareTo(BigDecimal.ZERO)>Constants.ZERO){
        if(Constants.formatBigdecimal(goodsorder.getPrice()).compareTo(BigDecimal.ZERO)>Constants.ZERO
                && Constants.equalsObject(goodsorder.getPayStatus(),Constants.ONE) ){
            //微信现金退款
            String refundCode = WxMiniUtilService.wxRefund(goodsorder.getCode().toString(), goodsorder.getPrice(), goodsorder.getPrice());
            Fund fund = new Fund();
@@ -1936,7 +1949,6 @@
        }
    }
    @Override
    @Transactional(rollbackFor = Exception.class)
    public void orderComment(OrderCommentRequest orderCommentRequest){
@@ -1975,6 +1987,18 @@
        goodsorder.setIsComment(Constants.ONE);
        goodsorderMapper.updateById(goodsorder);
    }
    @Override
    @Transactional(rollbackFor = Exception.class)
    public  void orderRefund(Goodsorder param){
        Goodsorder goodsorder = goodsorderMapper.selectById(param.getId());
        if(!goodsorder.getMemberId().equals(goodsorder.getMemberId())){
            throw new BusinessException(ResponseStatus.NOT_ALLOWED.getCode(),"操作失败:用户信息匹配失败!");
        }
        if(!goodsorder.getStatus().equals(Constants.OrderStatus.DONE.getKey())){
            throw new BusinessException(ResponseStatus.NOT_ALLOWED.getCode(),"操作失败:订单未完成,无法退款!");
        }
    }
    @Override