From 04dba6a17f836b5fbdf0eedff8a129c6785fd8a2 Mon Sep 17 00:00:00 2001 From: k94314517 <8417338+k94314517@user.noreply.gitee.com> Date: 星期五, 28 二月 2025 18:25:00 +0800 Subject: [PATCH] 111 --- server/web/src/main/java/com/doumee/jtt808/web/service/Jtt808Service.java | 33 +++++++++++++++++++++++++++------ 1 files changed, 27 insertions(+), 6 deletions(-) diff --git a/server/web/src/main/java/com/doumee/jtt808/web/service/Jtt808Service.java b/server/web/src/main/java/com/doumee/jtt808/web/service/Jtt808Service.java index d4efb88..fcee3c4 100644 --- a/server/web/src/main/java/com/doumee/jtt808/web/service/Jtt808Service.java +++ b/server/web/src/main/java/com/doumee/jtt808/web/service/Jtt808Service.java @@ -151,7 +151,7 @@ if(bike.getSiteId() ==null){ throw new BusinessException(ResponseStatus.DATA_EMPTY.getCode(), "瀵逛笉璧凤紝璇锋寜瑕佹眰鍓嶅線鍋滆溅鐐瑰仠杞︼紒"); } - lockBikes(bike.getDeviceSn(),Constants.ZERO);//鍙戣捣鍏抽攣鎸囦护璇锋眰 + lockBikes(bike.getDeviceSn(),Constants.ONE);//鍙戣捣鍏抽攣鎸囦护璇锋眰 backIds.add(rides.getId()); rides.setStatus(Constants.MEMBER_RIDES_STATUS.BACK_CYCLING.getKey());//宸茶繕杞� rides.setBackSiteId(bike.getSiteId());//杩樿溅绔欑偣 @@ -171,6 +171,10 @@ goodsorder.setEditDate(date); goodsorder.setEditor(null); goodsorderService.dealCloseGoodsorderBiz( goodsorder,Constants.REFUND_TYPE.NORMAL.getKey(),memberRides); + //鏇存柊鐢靛姩杞﹁溅杈嗙姸鎬� + bikesMapper.update(null,new UpdateWrapper<Bikes>().lambda().set(Bikes::getStatus,Constants.ZERO).eq(Bikes::getType,Constants.ONE) + .apply(" code in ( select m.bike_code from member_rides m where m.ordre_id = '"+goodsorder.getId()+"' ) ") + ); } private Bikes getElecBikeByCode(String bikeCode) { @@ -216,6 +220,9 @@ throw new BusinessException(ResponseStatus.BAD_REQUEST.getCode(), "瀵逛笉璧凤紝"+(type ==0?"杞﹁締鍏抽攣":"杞﹁締寮�閿�")+"澶辫触锛岃绋嶅悗閲嶈瘯锛屾垨鑰呰仈绯诲洯鍖虹鐞嗕汉鍛橈紒"); } } + + + /** * 鏌ヨ鍋滆溅绔欑偣淇℃伅 @@ -279,6 +286,7 @@ Bikes bike = getElecBikeByCode(memberRides.getBikeCode()); //鏌ヨ鍋滆溅浣嶇疆鏄惁绗﹀悎鍋滆溅浣嶇疆瑙勮寖 checkPausePostionBiz(bike); + lockBikes(bike.getDeviceSn(),Constants.ONE);//鍙戣捣鍏抽攣鎸囦护璇锋眰 memberRides.setPauseDate(new Date()); memberRides.setEditDate(memberRides.getBackDate()); memberRides.setStatus(Constants.MEMBER_RIDES_STATUS.RIDES_PAUSING.getKey()); @@ -292,7 +300,7 @@ ruleType =Integer.parseInt( systemDictDataBiz.queryByCode(Constants.MINI_PROGRAMME,Constants.PAUSE_BIKE_TYPE).getCode()); }catch (Exception e){ } - if(ruleType == 0){ + if(ruleType == 1){ //濡傛灉浠呴檺浜庡洯鍖轰复鏃跺仠杞� List<LocaltionDTO> array = new ArrayList<>(); try { @@ -303,7 +311,7 @@ if(array == null || array.size() ==0){ throw new BusinessException(ResponseStatus.DATA_EMPTY.getCode(), "瀵逛笉璧凤紝鍥尯杩愯惀鍖哄煙閰嶇疆鏈夎锛岃鑱旂郴鍥尯绠$悊鍛樺鐞嗭紒"); } - if( !PositionUtil.isInPolygon(bike.getLatitude().doubleValue(),bike.getLongitude().doubleValue(),array)){ + if( !PositionUtil.isInPolygon(bike.getLongitude().doubleValue(),bike.getLatitude().doubleValue(),array)){ //濡傛灉鍦ㄥ仠杞︾偣鑼冨洿鍐咃紱 throw new BusinessException(ResponseStatus.DATA_EMPTY.getCode(), "瀵逛笉璧凤紝璇锋寜瑕佹眰鍦ㄥ洯鍖鸿繍钀ュ尯鍩熻寖鍥村唴鍋滆溅锛�"); } @@ -403,6 +411,9 @@ //濡傛灉杞﹁締绫诲瀷鏄┖ throw new BusinessException(ResponseStatus.NOT_ALLOWED.getCode(), " 璇ヨ溅鍨嬫殏鏃朵笉鑳藉�熻溅鎿嶄綔鍝︼紝璇锋洿鎹㈠叾浠栬溅鍨嬮噸璇曪紒"); } + if(!Constants.equalsInteger(bike.getStatus(),Constants.ZERO)){ + throw new BusinessException(ResponseStatus.NOT_ALLOWED.getCode(),"瀵逛笉璧凤紝璇ヨ溅杈嗗凡琚攣瀹氬�熺敤锛岃灏濊瘯鏇存崲鍏朵粬杞﹁締锛�"); + } cacheOpenLock.put(openElecBikeRequest.getCode(), 1); try { //鍒ゆ柇褰撳墠鏄惁宸叉敮浠樻娂閲� @@ -434,7 +445,7 @@ //鏍规嵁杞﹀瀷鏌ヨ璁′环鏂规 isValidePricingType(bike,memberRides) ; MemberRidesDetailResponse memberRidesDetailResponse = new MemberRidesDetailResponse(); - this.lockBikes(bike.getDeviceSn(),1); + this.lockBikes(bike.getDeviceSn(),0); //瀛樺偍楠戣璁板綍 memberRides.setId(Constants.getUUID()); memberRides.setIsdeleted(Constants.ZERO); @@ -492,7 +503,7 @@ //濡傛灉杞﹁締绫诲瀷鏄┖ throw new BusinessException(ResponseStatus.NOT_ALLOWED.getCode(), "杞﹀瀷淇℃伅寮傚父锛岃鑱旂郴绠$悊鍛�"); } - this.lockBikes(bike.getDeviceSn(),1); + this.lockBikes(bike.getDeviceSn(),0); //鏇存柊楠戣鐘舵�佷负楠戣涓� memberRides.setEditDate(memberRides.getBackDate()); memberRides.setStatus(Constants.MEMBER_RIDES_STATUS.RIDES_RUNNING.getKey()); @@ -587,7 +598,7 @@ .eq(Bikes::getIsdeleted,Constants.ZERO) .eq(Bikes::getCode,rides.getBikeCode()) ); - lockBikes(bike.getDeviceSn(),Constants.ZERO);//鍙戣捣鍏抽攣鎸囦护璇锋眰 + lockBikes(bike.getDeviceSn(),Constants.ONE);//鍙戣捣鍏抽攣鎸囦护璇锋眰 rides.setStatus(Constants.MEMBER_RIDES_STATUS.BACK_CYCLING.getKey());//宸茶繕杞� rides.setBackSiteId(bike.getSiteId());//杩樿溅绔欑偣 rides.setBackDate(new Date()); @@ -605,6 +616,12 @@ goodsorder.setEditDate(date); goodsorder.setEditor(null); goodsorderService.dealCloseGoodsorderBiz( goodsorder,Constants.REFUND_TYPE.NORMAL.getKey(),memberRides); + + //鏇存柊鐢靛姩杞﹁溅杈嗙姸鎬� + bikesMapper.update(null,new UpdateWrapper<Bikes>().lambda().set(Bikes::getStatus,Constants.ZERO).eq(Bikes::getType,Constants.ONE) + .apply(" code in ( select m.bike_code from member_rides m where m.ordre_id = '"+goodsorder.getId()+"' ) ") + ); + //鍙戦�佸皬绋嬪簭閫氱煡 Member member = memberMapper.selectById(goodsorder.getMemberId()); if(Objects.nonNull(member)&&StringUtils.isNotBlank(member.getOpenid())){ @@ -617,5 +634,9 @@ +// public void test(double lat,double lng){ +// this.getBackSiteByPostion(lat,lng); +// } + } -- Gitblit v1.9.3