| | |
| | | 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.*; |
| | |
| | | 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()+")"); |
| | |
| | | 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() ); |
| | | |
| | | } |
| | | |
| | |
| | | |
| | | @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; |
| | | } |
| | |
| | | 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); |
| | | |
| | |
| | | dealOrderDetailsBiz(idList,result);//查询订单明细 |
| | | } |
| | | PageData<Goodsorder> rr = PageData.from(result); |
| | | if(pageWrap.getPage() == 1){ |
| | | if(pageWrap.getPage() == 1 && pageWrap.getModel().getNeedCount()!=null&& pageWrap.getModel().getNeedCount()){ |
| | | //如果查询第一页,做数据统计 |
| | | rr.setCountData(dealCountOrderNum(pageWrap)); |
| | | } |
| | |
| | | |
| | | |
| | | @Override |
| | | public List<Goodsorder> exportExcel(Goodsorder pageWrap) { |
| | | |
| | | MPJLambdaWrapper<Goodsorder> queryWrapper = new MPJLambdaWrapper<>(); |
| | | |
| | | |
| | | queryWrapper.selectAll(Goodsorder.class); |
| | | queryWrapper.selectAs(GoodsorderDetail::getName,Goodsorder::getGoodsName); |
| | | queryWrapper.selectAs(GoodsorderDetail::getSkuName,Goodsorder::getSkuName); |
| | | queryWrapper.selectAs(GoodsorderDetail::getGoodsNum,Goodsorder::getGoodsNum); |
| | | queryWrapper.selectAs(GoodsorderDetail::getPrice,Goodsorder::getGoodsPrice); |
| | | queryWrapper.selectAs(Member::getNickname,Goodsorder::getNickName); |
| | | queryWrapper.selectAs(Member::getPhone,Goodsorder::getPhone); |
| | | queryWrapper.selectAs(Addr::getAddr,Goodsorder::getAddr); |
| | | queryWrapper.select("(select CREATE_DATE from order_urge where ORDER_ID=t.id and ISDELETED=0 ORDER BY CREATE_DATE desc limit 1) as urgeCreateDate "); |
| | | queryWrapper.leftJoin(Member.class,Member::getId,Goodsorder::getMemberId); |
| | | queryWrapper.leftJoin(Addr.class,Addr::getMemberId,Member::getId); |
| | | queryWrapper.leftJoin(GoodsorderDetail.class,GoodsorderDetail::getOrderId,Goodsorder::getId); |
| | | queryWrapper.eq(GoodsorderDetail::getIsdeleted,Constants.ZERO); |
| | | queryWrapper.eq(Addr::getIsDefault,Constants.ONE); |
| | | |
| | | queryWrapper.eq(pageWrap.getCode()!=null,Goodsorder::getCode,pageWrap.getCode()); |
| | | queryWrapper.and(StringUtils.isNotBlank(pageWrap.getNickName()),ms->ms.like(Goodsorder::getLinkname,pageWrap.getNickName()) |
| | | .or().like(Goodsorder::getLinkphone,pageWrap.getNickName()) |
| | | ); |
| | | queryWrapper.ge(pageWrap.getStarttime()!=null,Goodsorder::getCreateDate,pageWrap.getStarttime()); |
| | | queryWrapper.le(pageWrap.getEndtime()!=null,Goodsorder::getCreateDate, pageWrap.getEndtime()); |
| | | |
| | | queryWrapper.eq(pageWrap.getStatus()!=null,Goodsorder::getStatus,pageWrap.getStatus()); |
| | | queryWrapper.eq(pageWrap.getIsdeleted()==null,Goodsorder::getIsdeleted,Constants.ZERO); |
| | | queryWrapper.eq(pageWrap.getIsdeleted()!=null,Goodsorder::getIsdeleted,pageWrap.getIsdeleted()); |
| | | queryWrapper.orderByDesc(Goodsorder::getCreateDate); |
| | | |
| | | List<Goodsorder> result = goodsorderJoinMapper.selectJoinList(Goodsorder.class, queryWrapper); |
| | | |
| | | |
| | | public List<GoodsorderExport> exportExcel(PageWrap<Goodsorder> pageWrap) { |
| | | pageWrap.getModel().setNeedCount(false); |
| | | PageData<Goodsorder> list = findPage(pageWrap); |
| | | List<GoodsorderExport> result = new ArrayList<>(); |
| | | if(list!=null && list.getRecords()!=null){ |
| | | for(Goodsorder order: list.getRecords()){ |
| | | GoodsorderExport param = new GoodsorderExport(); |
| | | param.setCode(order.getCode()); |
| | | String goodsInfo = ""; |
| | | int goodsNum= 0; |
| | | if(order.getGoodsorderDetailList()!=null && order.getGoodsorderDetailList().size()>0){ |
| | | for(GoodsorderDetail detail:order.getGoodsorderDetailList()){ |
| | | goodsNum += Constants.formatIntegerNum(detail.getGoodsNum()); |
| | | goodsInfo+= StringUtils.defaultString(detail.getName(),"")+"/"+Constants.formatBigdecimal(detail.getGoodsWeight())+"kg" |
| | | +"("+Constants.formatBigdecimal(detail.getPrice())+" x "+Constants.formatIntegerNum(detail.getGoodsNum())+");\n"; |
| | | } |
| | | } |
| | | param.setTotalNum(goodsNum); |
| | | param.setGoodsName(goodsInfo); |
| | | param.setTotalPrice(order.getTotalPrice()); |
| | | param.setIntegralPrice(order.getIntegral()); |
| | | param.setCouponPrice(order.getCouponPrice()); |
| | | param.setMailPrice(order.getMailPrice()); |
| | | param.setPrice(order.getPrice()); |
| | | param.setShopName(order.getShopName()); |
| | | param.setShopSettlement(order.getShopSettlement()); |
| | | param.setReceiveType(order.getReceiveType()); |
| | | param.setLinkname(order.getLinkname()); |
| | | param.setLinkphone(order.getLinkphone()); |
| | | param.setAddr(order.getLinkaddr()); |
| | | param.setKdInfo(StringUtils.defaultString(order.getKdName(),"")+StringUtils.defaultString(order.getKdCode(),"")); |
| | | param.setStatus(order.getStatus()); |
| | | param.setCreateDate(order.getCreateDate()); |
| | | result.add(param); |
| | | } |
| | | } |
| | | return result; |
| | | } |
| | | |
| | |
| | | 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(); |
| | |
| | | } |
| | | } |
| | | |
| | | |
| | | @Override |
| | | @Transactional(rollbackFor = Exception.class) |
| | | public void orderComment(OrderCommentRequest orderCommentRequest){ |
| | |
| | | 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 |