From bfd4f08b4304cac2822db86de3712e1c6b37f6ab Mon Sep 17 00:00:00 2001 From: k94314517 <8417338+k94314517@user.noreply.gitee.com> Date: 星期二, 04 三月 2025 09:07:50 +0800 Subject: [PATCH] 111 --- server/services/src/main/java/com/doumee/service/business/impl/MemberRidesServiceImpl.java | 1 server/web/src/main/java/com/doumee/api/web/BusinessApi.java | 2 server/services/src/main/java/com/doumee/service/business/BikesService.java | 5 ++ server/services/src/main/java/com/doumee/service/business/impl/BikesServiceImpl.java | 55 +++++++++++++++++++-------- 4 files changed, 44 insertions(+), 19 deletions(-) diff --git a/server/services/src/main/java/com/doumee/service/business/BikesService.java b/server/services/src/main/java/com/doumee/service/business/BikesService.java index c478900..4e5d3f1 100644 --- a/server/services/src/main/java/com/doumee/service/business/BikesService.java +++ b/server/services/src/main/java/com/doumee/service/business/BikesService.java @@ -1,8 +1,11 @@ package com.doumee.service.business; +import com.doumee.core.model.LoginUserInfo; import com.doumee.core.model.PageData; import com.doumee.core.model.PageWrap; import com.doumee.dao.business.model.Bikes; +import lombok.extern.java.Log; +import org.apache.shiro.authz.annotation.Logical; import org.springframework.web.multipart.MultipartFile; import java.util.List; @@ -101,5 +104,5 @@ void updateByJtt( Bikes m); - List<Bikes> getEleBikes(); + List<Bikes> getEleBikes(String memberId); } diff --git a/server/services/src/main/java/com/doumee/service/business/impl/BikesServiceImpl.java b/server/services/src/main/java/com/doumee/service/business/impl/BikesServiceImpl.java index d32fd5d..cec7e7b 100644 --- a/server/services/src/main/java/com/doumee/service/business/impl/BikesServiceImpl.java +++ b/server/services/src/main/java/com/doumee/service/business/impl/BikesServiceImpl.java @@ -12,6 +12,7 @@ import com.doumee.core.utils.Utils; import com.doumee.dao.business.BaseParamMapper; import com.doumee.dao.business.BikesMapper; +import com.doumee.dao.business.MemberRidesMapper; import com.doumee.dao.business.join.BikesJoinMapper; import com.doumee.dao.business.model.*; import com.doumee.dao.business.vo.BikesImportVO; @@ -39,6 +40,7 @@ import org.springframework.util.CollectionUtils; import org.springframework.web.multipart.MultipartFile; +import java.math.BigDecimal; import java.util.*; import java.util.stream.Collectors; @@ -59,10 +61,10 @@ private BaseParamMapper baseParamMapper; @Autowired private BikesJoinMapper bikesJoinMapper; - - @Autowired - SystemDictDataMapper systemDictDataMapper; + private MemberRidesMapper memberRidesMapper; + @Autowired + private SystemDictDataMapper systemDictDataMapper; @Override public String create(Bikes bikes) { @@ -208,7 +210,11 @@ .in(SystemDictData::getLabel, Arrays.asList(Constants.FORCE_BACK_SITE,Constants.FORCE_BACK_LOCK,Constants.LOW_BIKE_VOLTAGE)); List<SystemDictData> systemDictData = systemDictDataMapper.selectList(wrapper); Map<String, SystemDictData> collect = systemDictData.stream().collect(Collectors.toMap(s -> s.getLabel(), s -> s)); - + double low = 0; + try { + low = Double.parseDouble(collect.get(Constants.LOW_BIKE_VOLTAGE).getCode()); + }catch (Exception e){ + } IPage<Bikes> page = new Page<>(pageWrap.getPage(), pageWrap.getCapacity()); MPJLambdaWrapper<Bikes> queryWrapper = new MPJLambdaWrapper<>(); Utils.MP.blankToNull(pageWrap.getModel()); @@ -230,11 +236,6 @@ .isNotNull(Constants.formatIntegerNum(pageWrap.getModel().getType())==0,Bikes::getCode) .and(Constants.formatIntegerNum(pageWrap.getModel().getType())==0,b->b.ne(Bikes::getCode,""))); if(pageWrap.getModel().getLowVoltage()!=null){ - double low = 0; - try { - low = Double.parseDouble(collect.get(Constants.LOW_BIKE_VOLTAGE).getCode()); - }catch (Exception e){ - } if(pageWrap.getModel().getLowVoltage() == Constants.ONE){ //浣庣數閲� queryWrapper.lt(Bikes::getVoltage,low); @@ -246,7 +247,15 @@ queryWrapper.selectAll(Bikes.class) .selectAs(BaseParam::getName,Bikes::getParamName) .selectAs(Sites::getName,Bikes::getSiteName) ; - return PageData.from(bikesJoinMapper.selectJoinPage(page, Bikes.class, queryWrapper)); + PageData<Bikes> pageData = PageData.from(bikesJoinMapper.selectJoinPage(page, Bikes.class, queryWrapper)); + double finalLow = low; + pageData.getRecords().forEach(i->{ + if(Constants.equalsInteger(i.getType(),Constants.ONE)){ + i.setLowVoltage(i.getVoltage().compareTo(new BigDecimal(Double.toString(finalLow)))>=0?0:1); + } + }); + return pageData; + } @Override public PageData<Bikes> findPage(PageWrap<Bikes> pageWrap) { @@ -426,14 +435,26 @@ @Override - public List<Bikes> getEleBikes() { - return bikesMapper.selectList(new QueryWrapper<Bikes>() - .lambda().eq(Bikes::getIsdeleted,Constants.ZERO) - .eq(Bikes::getType,Constants.ONE) - .eq(Bikes::getStatus,Constants.ZERO) - .isNotNull(Bikes::getLatitude) - .isNotNull(Bikes::getLongitude) + public List<Bikes> getEleBikes(String memberId) { + //鏌ヨ褰撳墠鏄惁澶勪簬楠戣涓� + MemberRides memberRides = memberRidesMapper.selectOne(new QueryWrapper<MemberRides>().lambda().eq(MemberRides::getMemberId,memberId) + .in(MemberRides::getStatus,Constants.MEMBER_RIDES_STATUS.RIDES_RUNNING.getKey() + ,Constants.MEMBER_RIDES_STATUS.RIDES_PAUSING.getKey()) + .eq(MemberRides::getType,Constants.ONE) + .orderByDesc(MemberRides::getCreateDate) + .last(" limit 1 ") ); + QueryWrapper<Bikes> queryWrapper = new QueryWrapper<>(); + queryWrapper.lambda().eq(Bikes::getIsdeleted,Constants.ZERO) + .eq(Bikes::getType,Constants.ONE) + .isNotNull(Bikes::getLatitude) + .isNotNull(Bikes::getLongitude); + if(Objects.nonNull(memberRides)&&StringUtils.isNotBlank(memberRides.getBikeCode())){ + queryWrapper.lambda().eq(Bikes::getCode,memberRides.getBikeCode()); + }else{ + queryWrapper.lambda().eq(Bikes::getStatus,Constants.ZERO); + } + return bikesMapper.selectList(queryWrapper); } diff --git a/server/services/src/main/java/com/doumee/service/business/impl/MemberRidesServiceImpl.java b/server/services/src/main/java/com/doumee/service/business/impl/MemberRidesServiceImpl.java index 3058614..ec2c3e8 100644 --- a/server/services/src/main/java/com/doumee/service/business/impl/MemberRidesServiceImpl.java +++ b/server/services/src/main/java/com/doumee/service/business/impl/MemberRidesServiceImpl.java @@ -807,6 +807,7 @@ } memberRidesResponse.setBikeCode(bike.getCode()); memberRidesResponse.setBikeType(baseParam.getName()); + memberRidesResponse.setRidesType(bikeType); MemberRides memberRides = new MemberRides(); this.dealMemberRidesData(baseParam.getId(),memberRides); memberRidesResponse.setBasePrice(memberRides.getBasePrice()); diff --git a/server/web/src/main/java/com/doumee/api/web/BusinessApi.java b/server/web/src/main/java/com/doumee/api/web/BusinessApi.java index 8414b7f..409c43c 100644 --- a/server/web/src/main/java/com/doumee/api/web/BusinessApi.java +++ b/server/web/src/main/java/com/doumee/api/web/BusinessApi.java @@ -146,7 +146,7 @@ @ApiImplicitParam(paramType = "header", dataType = "String", name = "token", value = "鐢ㄦ埛token鍊�", required = true) }) public ApiResponse<List<Bikes>> eleBikeList() { - return ApiResponse.success("鏌ヨ鎴愬姛",bikesService.getEleBikes()); + return ApiResponse.success("鏌ヨ鎴愬姛",bikesService.getEleBikes(getMemberId())); } -- Gitblit v1.9.3