From 4406bf965a39cf9af71ed822abfce76f64be04f9 Mon Sep 17 00:00:00 2001 From: k94314517 <8417338+k94314517@user.noreply.gitee.com> Date: 星期三, 16 七月 2025 18:17:24 +0800 Subject: [PATCH] 111 --- server/services/src/main/java/com/doumee/service/business/impl/OrdersServiceImpl.java | 142 ++++++++++++++++++++++++++--------------------- 1 files changed, 78 insertions(+), 64 deletions(-) diff --git a/server/services/src/main/java/com/doumee/service/business/impl/OrdersServiceImpl.java b/server/services/src/main/java/com/doumee/service/business/impl/OrdersServiceImpl.java index 891cdd5..8bd112f 100644 --- a/server/services/src/main/java/com/doumee/service/business/impl/OrdersServiceImpl.java +++ b/server/services/src/main/java/com/doumee/service/business/impl/OrdersServiceImpl.java @@ -95,7 +95,16 @@ Object objects = null; this.initVerification(orders); orders.setCreateTime(new Date()); + orders.setUpdateTime(orders.getUpdateTime()); orders.setPayStatus(Constants.ZERO); + orders.setDeleted(Constants.ZERO); + orders.setReleaseMemberId(orders.getMember().getId()); + //鏌ヨ鎵嬬画璐� + Category platformCategory = categoryMapper.selectOne(new QueryWrapper<Category>().lambda().eq(Category::getType,Constants.THREE).eq(Category::getName,orders.getType()).eq(Category::getDeleted,Constants.ZERO).last("limit 1 ")); + if(Objects.isNull(platformCategory)){ + throw new BusinessException(ResponseStatus.DATA_EMPTY.getCode(),"鏈缃钩鍙伴厤缃俊鎭�"); + } + orders.setPlatformRata(new BigDecimal(platformCategory.getDetail()).divide(new BigDecimal("100"))); //璁㈠崟缂栧彿 orders.setCode(this.getNextCode(orders.getType())); Category category = categoryMapper.selectOne(new QueryWrapper<Category>().lambda() @@ -132,7 +141,7 @@ multifileMapper.insert(multifileList); } //鏇存柊鐢ㄦ埛鍙戝崟閲� - memberMapper.update(new UpdateWrapper<Member>().lambda().set(Member::getReceiveNum," (receive_num + 1 )").eq(Member::getId,orders.getMember().getId())); + memberMapper.update(new UpdateWrapper<Member>().lambda().setSql(" receive_num = ( receive_num + 1 )").eq(Member::getId,orders.getMember().getId())); //鍒涘缓鎿嶄綔鏃ュ織 Constants.OrdersLog ordersLog = Constants.OrdersLog.UPLOAD; @@ -215,7 +224,6 @@ || Objects.isNull(orders.getLat()) || Objects.isNull(orders.getLgt()) || Objects.isNull(orders.getCategoryId()) - || Objects.isNull(orders.getTotalDays()) || (Constants.equalsInteger(orders.getType(),Constants.ZERO) && Objects.isNull(orders.getWorkType())) || Objects.isNull(orders.getPriceNum1()) || Objects.isNull(orders.getEstimatedAccount()) @@ -223,19 +231,20 @@ ){ throw new BusinessException(ResponseStatus.BAD_REQUEST); } - if((Constants.equalsInteger(orders.getType(),Constants.ZERO) && Constants.equalsInteger(orders.getWorkType(),Constants.ZERO )) - || (Constants.equalsInteger(orders.getType(),Constants.ZERO) && Constants.equalsInteger(orders.getWorkType(),Constants.TWO) - &&Constants.equalsInteger(orders.getCarType(),Constants.TWO)) - || Constants.equalsInteger(orders.getType(),Constants.ONE) + if( (Constants.equalsInteger(orders.getType(),Constants.ZERO) && Constants.equalsInteger(orders.getWorkType(),Constants.TWO) && + ( Constants.equalsInteger(orders.getCarType(),Constants.ZERO) || Constants.equalsInteger(orders.getCarType(),Constants.ONE) )) + || (Constants.equalsInteger(orders.getType(),Constants.ZERO) && Constants.equalsInteger(orders.getWorkType(),Constants.ONE)) ){ + if(Objects.isNull(orders.getPriceNum2())){ + throw new BusinessException(ResponseStatus.BAD_REQUEST); + } + }else{ orders.setPriceNum2(Constants.ONE); } - if(Objects.isNull(orders.getPriceNum2())){ - throw new BusinessException(ResponseStatus.BAD_REQUEST); - } + orders.setTotalDays(DateUtil.daysBetweenDates(orders.getEndDate(),orders.getStartDate())+1); if(Constants.equalsInteger(orders.getType(),Constants.ZERO)){ if(Constants.equalsInteger(orders.getWorkType(),Constants.TWO) - && Objects.isNull(orders.getCarType())){ + && ( Objects.isNull(orders.getCarType()) ) ){ throw new BusinessException(ResponseStatus.BAD_REQUEST); } }else if(Constants.equalsInteger(orders.getType(),Constants.ONE)){ @@ -527,11 +536,11 @@ if(Constants.equalsInteger(orders.getCarType(),Constants.ZERO)){ if(Objects.nonNull(orders.getPriceNum2())) { - orders.setOrderContent(orders.getOrderContent() + " | 鐢ㄨ溅" + orders.getPriceNum2() + "澶�"); + orders.setOrderContent(orders.getOrderContent() + " | 鐢ㄨ溅" + orders.getPriceNum1() + "澶�"); } }else{ if(Objects.nonNull(orders.getPriceNum2())) { - orders.setOrderContent(orders.getOrderContent() + " | 鐢ㄨ溅" + orders.getPriceNum2() + "娆�"); + orders.setOrderContent(orders.getOrderContent() + " | 鐢ㄨ溅" + orders.getPriceNum1() + "娆�"); } } }else{ @@ -598,7 +607,7 @@ orders.setStatus(Constants.ordersStatus.accept.getKey()); ordersMapper.updateById(orders); //鏇存柊鎺ュ崟閲� - memberMapper.update(new UpdateWrapper<Member>().lambda().set(Member::getPublishNum," (publish_num + 1 )").eq(Member::getId,member.getId())); + memberMapper.update(new UpdateWrapper<Member>().lambda().setSql(" publish_num = (publish_num + 1 )").eq(Member::getId,member.getId())); //鍒涘缓鎿嶄綔鏃ュ織 Constants.OrdersLog ordersLog = Constants.OrdersLog.RECEIVE; @@ -627,7 +636,7 @@ if(!Constants.equalsInteger(orders.getStatus(),Constants.ordersStatus.accept.getKey())){ throw new BusinessException(ResponseStatus.NOT_ALLOWED.getCode(),"璁㈠崟鐘舵�佸凡娴佽浆,鏃犳硶杩涜璇ユ搷浣�"); } - if(Constants.equalsInteger(orders.getReleaseMemberId(),member.getId())){ + if(!Constants.equalsInteger(orders.getReleaseMemberId(),member.getId())){ throw new BusinessException(ResponseStatus.NOT_ALLOWED.getCode(),"闈炴偍鐨勮鍗曟棤娉曡繘琛岃鎿嶄綔"); } if(Constants.equalsInteger(orders.getIsUpdate(),Constants.ONE)){ @@ -655,8 +664,7 @@ if(Objects.isNull(updOrderDataDTO) || Objects.isNull(updOrderDataDTO.getOrderId()) || Objects.isNull(updOrderDataDTO.getStartDate()) - || Objects.isNull(updOrderDataDTO.getEndDate()) - || Objects.isNull(updOrderDataDTO.getTotalDays())){ + || Objects.isNull(updOrderDataDTO.getEndDate())){ throw new BusinessException(ResponseStatus.DATA_EMPTY); } Orders orders = ordersMapper.selectById(updOrderDataDTO.getOrderId()); @@ -666,7 +674,7 @@ if(!Constants.equalsInteger(orders.getStatus(),Constants.ordersStatus.accept.getKey())){ throw new BusinessException(ResponseStatus.NOT_ALLOWED.getCode(),"璁㈠崟鐘舵�佸凡娴佽浆,鏃犳硶杩涜璇ユ搷浣�"); } - if(Constants.equalsInteger(orders.getReleaseMemberId(),updOrderDataDTO.getMember().getId())){ + if(!Constants.equalsInteger(orders.getReleaseMemberId(),updOrderDataDTO.getMember().getId())){ throw new BusinessException(ResponseStatus.NOT_ALLOWED.getCode(),"闈炴偍鐨勮鍗曟棤娉曡繘琛岃鎿嶄綔"); } if(Constants.equalsInteger(orders.getIsUpdate(),Constants.ONE)){ @@ -709,9 +717,7 @@ public Long getTotal(Orders orders){ if( - (Constants.equalsInteger(orders.getType(),Constants.ZERO) && Constants.equalsInteger(orders.getWorkType(),Constants.ZERO )) || - (Constants.equalsInteger(orders.getType(),Constants.ZERO) && Constants.equalsInteger(orders.getWorkType(),Constants.TWO) - &&Constants.equalsInteger(orders.getCarType(),Constants.TWO)) + (Constants.equalsInteger(orders.getType(),Constants.ZERO) && Constants.equalsInteger(orders.getWorkType(),Constants.ZERO )) || Constants.equalsInteger(orders.getType(),Constants.ONE) ){ orders.setPriceNum2(Constants.ONE); @@ -745,7 +751,7 @@ if(!Constants.equalsInteger(orders.getIsUpdate(),Constants.ONE)){ throw new BusinessException(ResponseStatus.NOT_ALLOWED.getCode(),"璁㈠崟淇敼鐘舵�佸凡娴佽浆锛屾棤娉曡繘琛岃鎿嶄綔"); } - if(Constants.equalsInteger(orders.getAcceptMemberId(),confirmUpdOrderDTO.getMember().getId())){ + if(!Constants.equalsInteger(orders.getAcceptMemberId(),confirmUpdOrderDTO.getMember().getId())){ throw new BusinessException(ResponseStatus.NOT_ALLOWED.getCode(),"闈炴偍鐨勮鍗曟棤娉曡繘琛岃鎿嶄綔"); } if( Constants.equalsInteger(confirmUpdOrderDTO.getStatus(),Constants.ONE)){ @@ -798,7 +804,7 @@ || Constants.equalsInteger(orders.getStatus(),Constants.ordersStatus.accept.getKey()))){ throw new BusinessException(ResponseStatus.NOT_ALLOWED.getCode(),"璁㈠崟鐘舵�佸凡娴佽浆,鏃犳硶杩涜鍙栨秷"); } - if(Constants.equalsInteger(orders.getReleaseMemberId(),member.getId())){ + if(!Constants.equalsInteger(orders.getReleaseMemberId(),member.getId())){ throw new BusinessException(ResponseStatus.NOT_ALLOWED.getCode(),"闈炴偍鐨勮鍗曟棤娉曡繘琛岃鎿嶄綔"); } //寰呮敮浠樼敤椁愯鍗�/寰呮帴鍗曡鍗曡繘琛屽彇娑� @@ -891,7 +897,7 @@ if(!Constants.equalsInteger(orders.getStatus(),Constants.ordersStatus.accept.getKey())){ throw new BusinessException(ResponseStatus.NOT_ALLOWED.getCode(),"璁㈠崟鐘舵�佸凡娴佽浆,鏃犳硶杩涜鍙栨秷"); } - if(Constants.equalsInteger(orders.getAcceptMemberId(),member.getId())){ + if(!Constants.equalsInteger(orders.getAcceptMemberId(),member.getId())){ throw new BusinessException(ResponseStatus.NOT_ALLOWED.getCode(),"闈炴偍鐨勮鍗曟棤娉曡繘琛岃鎿嶄綔"); } //鍒ゆ柇鏄惁鍙慨鏀� 宸插彇娑堟鏁� 涓� 鏃堕棿闄愬埗 @@ -950,9 +956,10 @@ if(!Constants.equalsInteger(orders.getStatus(),Constants.ordersStatus.doing.getKey())){ throw new BusinessException(ResponseStatus.NOT_ALLOWED.getCode(),"璁㈠崟鐘舵�佸凡娴佽浆,鏃犳硶杩涜鍙栨秷"); } - if(Constants.equalsInteger(orders.getReleaseMemberId(),doneOrderDTO.getMember().getId())){ + if(!Constants.equalsInteger(orders.getReleaseMemberId(),doneOrderDTO.getMember().getId())){ throw new BusinessException(ResponseStatus.NOT_ALLOWED.getCode(),"闈炴偍鐨勮鍗曟棤娉曡繘琛岃鎿嶄綔"); } + orders.setPayAccount(doneOrderDTO.getAmount()); Object object = null; //鐢ㄩ璁㈠崟 if(!Constants.equalsInteger(orders.getType(),Constants.TWO)){ @@ -1012,7 +1019,7 @@ .setSql("receive_num = ifnull(receive_num,0) - 1") .eq(Member::getId,orders.getAcceptMemberId())); } -Date date = new Date(); + Date date = new Date(); ordersMapper.update(new UpdateWrapper<Orders>().lambda() .set(Orders::getStatus,Constants.ordersStatus.cancel.getKey()) .set(Orders::getUpdateTime,date) @@ -1175,15 +1182,19 @@ //鎺ュ崟鏂� 鎴戠殑璁㈠崟 queryWrapper.eq(Orders::getAcceptMemberId,model.getMember().getId()); }else{ + queryWrapper.eq(Orders::getStatus,Constants.ordersStatus.wait.getKey()); //鎺ュ崟澶у巺 - queryWrapper.and(i-> + queryWrapper.and(Constants.equalsInteger(model.getMember().getWorkerIdentity(),Constants.TWO)||Constants.equalsInteger(model.getMember().getDriverIdentity(),Constants.TWO)||Constants.equalsInteger(model.getMember().getChefIdentity(),Constants.TWO),i-> i.eq(Constants.equalsInteger(model.getMember().getWorkerIdentity(),Constants.TWO),Orders::getType,Constants.ZERO) .or() .eq(Constants.equalsInteger(model.getMember().getDriverIdentity(),Constants.TWO),Orders::getType,Constants.ONE) .or() .eq(Constants.equalsInteger(model.getMember().getChefIdentity(),Constants.TWO),Orders::getType,Constants.TWO) ); - queryWrapper.eq(Orders::getStatus,Constants.ONE); + + queryWrapper.apply(!(Constants.equalsInteger(model.getMember().getWorkerIdentity(),Constants.TWO)||Constants.equalsInteger(model.getMember().getDriverIdentity(),Constants.TWO)||Constants.equalsInteger(model.getMember().getChefIdentity(),Constants.TWO))," 1 = 2 " + ); + } } for(PageWrap.SortData sortData: pageWrap.getSorts()) { @@ -1233,41 +1244,44 @@ //瀹氫綅璺濈 public void getDistance(Member member,Orders orders){ + try{ + if(Constants.equalsInteger(orders.getType(),Constants.ZERO)){ + if(Objects.nonNull(member.getWorkerIdentityModel())&&Objects.nonNull(member.getWorkerIdentityModel().getLgt()) + &&Objects.nonNull(member.getWorkerIdentityModel().getLat())){ + orders.setDistance( + GeoUtils.haversineDistance( + orders.getLgt().doubleValue(),orders.getLat().doubleValue(), + member.getWorkerIdentityModel().getLgt().doubleValue(), + member.getWorkerIdentityModel().getLat().doubleValue() + ) + ); + } - if(Constants.equalsInteger(orders.getType(),Constants.ZERO)){ - if(Objects.nonNull(member.getWorkerIdentityModel())&&Objects.nonNull(member.getWorkerIdentityModel().getLgt()) - &&Objects.nonNull(member.getWorkerIdentityModel().getLat())){ - orders.setDistance( - GeoUtils.haversineDistance( - orders.getLgt().doubleValue(),orders.getLat().doubleValue(), - member.getWorkerIdentityModel().getLgt().doubleValue(), - member.getWorkerIdentityModel().getLat().doubleValue() - ) - ); + }else if(Constants.equalsInteger(orders.getType(),Constants.ONE)){ + if(Objects.nonNull(member.getDriverIdentityModel())&&Objects.nonNull(member.getDriverIdentityModel().getLgt()) + &&Objects.nonNull(member.getDriverIdentityModel().getLat())) { + orders.setDistance( + GeoUtils.haversineDistance( + orders.getLgt().doubleValue(), orders.getLat().doubleValue(), + member.getDriverIdentityModel().getLgt().doubleValue(), + member.getDriverIdentityModel().getLat().doubleValue() + ) + ); + } + }else{ + if(Objects.nonNull(member.getChefIdentityModel())&&Objects.nonNull(member.getChefIdentityModel().getLgt()) + &&Objects.nonNull(member.getChefIdentityModel().getLat())) { + orders.setDistance( + GeoUtils.haversineDistance( + orders.getLgt().doubleValue(),orders.getLat().doubleValue(), + member.getChefIdentityModel().getLgt().doubleValue(), + member.getChefIdentityModel().getLat().doubleValue() + ) + ); + } } - - }else if(Constants.equalsInteger(orders.getType(),Constants.ONE)){ - if(Objects.nonNull(member.getDriverIdentityModel())&&Objects.nonNull(member.getDriverIdentityModel().getLgt()) - &&Objects.nonNull(member.getDriverIdentityModel().getLat())) { - orders.setDistance( - GeoUtils.haversineDistance( - orders.getLgt().doubleValue(), orders.getLat().doubleValue(), - member.getDriverIdentityModel().getLgt().doubleValue(), - member.getDriverIdentityModel().getLat().doubleValue() - ) - ); - } - }else{ - if(Objects.nonNull(member.getChefIdentityModel())&&Objects.nonNull(member.getChefIdentityModel().getLgt()) - &&Objects.nonNull(member.getChefIdentityModel().getLat())) { - orders.setDistance( - GeoUtils.haversineDistance( - orders.getLgt().doubleValue(),orders.getLat().doubleValue(), - member.getChefIdentityModel().getLgt().doubleValue(), - member.getChefIdentityModel().getLat().doubleValue() - ) - ); - } + }catch (Exception e){ + orders.setDistance(0L); } } @@ -1321,7 +1335,7 @@ if(!Constants.equalsInteger(type,Constants.ZERO)){ prefix = (Constants.equalsInteger(type,Constants.ONE)?"YH-":"DC-"); } - prefix = DateUtil.getDate(new Date(),"yyyyMMddHHmmss") +"-"; + prefix = prefix + DateUtil.getCurrDateTimeShort() +"-"; Integer countNum = (Integer) redisTemplate.opsForValue().get(Constants.RedisKeys.ORDER_CODE);//RedisUtil.getObject(redisTemplate, Constants.RedisKeys.ORDER_CODE, Integer.class); countNum = Constants.formatIntegerNum(countNum)+1; @@ -1389,9 +1403,9 @@ ); memberMapper.update(new UpdateWrapper<Member>().lambda() - .set(Member::getScore," ( total_score +" + Constants.FOUR + " ) / (score_order_num + 1 )") - .set(Member::getTotalScore," total_score +" + Constants.FOUR) - .set(Member::getScoreOrderNum," score_order_num + 1 " ).eq(Member::getId,orders.getAcceptMemberId()) + .setSql(" score = ( ( total_score +" + Constants.FOUR + " ) / (score_order_num + 1 ) ) ") + .setSql(" total_score = ( total_score +" + Constants.FOUR + ")") + .setSql(" score_order_num = ( score_order_num + 1 ) " ).eq(Member::getId,orders.getAcceptMemberId()) ); //鏃ュ織瀛樺偍 -- Gitblit v1.9.3