diff --git a/jsowell-admin/src/main/java/com/jsowell/api/uniapp/customer/PileController.java b/jsowell-admin/src/main/java/com/jsowell/api/uniapp/customer/PileController.java index b0139f7ee..5385c8f33 100644 --- a/jsowell-admin/src/main/java/com/jsowell/api/uniapp/customer/PileController.java +++ b/jsowell-admin/src/main/java/com/jsowell/api/uniapp/customer/PileController.java @@ -1,6 +1,7 @@ package com.jsowell.api.uniapp.customer; import com.alibaba.fastjson2.JSON; +import com.google.common.collect.ImmutableBiMap; import com.google.common.collect.Maps; import com.jsowell.common.annotation.Anonymous; import com.jsowell.common.core.controller.BaseController; @@ -10,6 +11,7 @@ import com.jsowell.common.exception.BusinessException; import com.jsowell.common.response.RestApiResponse; import com.jsowell.common.util.StringUtils; import com.jsowell.common.util.spring.SpringUtils; +import com.jsowell.pile.domain.MemberStationRelation; import com.jsowell.pile.dto.QueryConnectorListDTO; import com.jsowell.pile.dto.QueryStationDTO; import com.jsowell.pile.dto.RemoteGroundLockDTO; @@ -60,6 +62,9 @@ public class PileController extends BaseController { @Autowired private IThirdpartySnRelationService snRelationService; + @Autowired + private MemberStationRelationService memberStationRelationService; + @Autowired private CommonService commonService; @@ -84,8 +89,6 @@ public class PileController extends BaseController { List deptIds = pileMerchantInfoService.getDeptIdsByAppId(appId); queryStationDTO.setMerchantDeptIds(deptIds); } - // 获取memberId - queryStationDTO.setMemberId(getMemberIdByAuthorization(request)); logger.debug("uniApp查询充电站信息appId:{}, dto:{}", appId, JSON.toJSONString(queryStationDTO)); PageResponse pageResponse = pileStationInfoService.uniAppQueryStationInfoList(queryStationDTO); response = new RestApiResponse<>(pageResponse); @@ -100,6 +103,32 @@ public class PileController extends BaseController { return response; } + /** + * 查询站点收藏状态接口 + * @param stationId + * @return + */ + @GetMapping("/getCollectedStatus/{stationId}") + public RestApiResponse getCollectedStatus(HttpServletRequest request, @PathVariable("stationId") String stationId) { + RestApiResponse response = null; + try { + // 获取memberId + String memberId = getMemberIdByAuthorization(request); + MemberStationRelation relation = new MemberStationRelation(); + relation.setMemberId(memberId); + relation.setStationId(Long.parseLong(stationId)); + List list = memberStationRelationService.selectMemberStationRelationList(relation); + if (CollectionUtils.isEmpty(list)) { + response = new RestApiResponse<>(ImmutableBiMap.of("collectedFlag", false)); + }else { + response = new RestApiResponse<>(ImmutableBiMap.of("collectedFlag", true)); + } + } catch (Exception e) { + logger.error("查询站点收藏状态接口 error", e); + } + return response; + } + /** * 通过站点id查询计费模板列表 * http://localhost:8080/uniapp/pile/queryBillingPrice/{stationId} diff --git a/jsowell-pile/src/main/java/com/jsowell/pile/service/impl/MemberBasicInfoServiceImpl.java b/jsowell-pile/src/main/java/com/jsowell/pile/service/impl/MemberBasicInfoServiceImpl.java index 7a85a59ea..b9070cfbc 100644 --- a/jsowell-pile/src/main/java/com/jsowell/pile/service/impl/MemberBasicInfoServiceImpl.java +++ b/jsowell-pile/src/main/java/com/jsowell/pile/service/impl/MemberBasicInfoServiceImpl.java @@ -75,6 +75,9 @@ public class MemberBasicInfoServiceImpl implements MemberBasicInfoService { @Autowired private PileMerchantInfoService pileMerchantInfoService; + @Autowired + private MemberStationRelationService memberStationRelationService; + @Autowired private MemberTransactionRecordService memberTransactionRecordService; @@ -476,6 +479,15 @@ public class MemberBasicInfoServiceImpl implements MemberBasicInfoService { } vo.setPlateNumberList(plateNumberList); vo.setVinCodeList(vinCodeList); + + // 查询用户收藏的站点 + List stationIds = memberStationRelationService.getStationIdListByMemberId(memberId); + if (CollectionUtils.isEmpty(stationIds)) { + vo.setCollectedStationIdList(Lists.newArrayList()); + }else { + vo.setCollectedStationIdList(stationIds); + } + return vo; } diff --git a/jsowell-pile/src/main/java/com/jsowell/pile/service/impl/PileStationInfoServiceImpl.java b/jsowell-pile/src/main/java/com/jsowell/pile/service/impl/PileStationInfoServiceImpl.java index f737f2a48..2c0e41436 100644 --- a/jsowell-pile/src/main/java/com/jsowell/pile/service/impl/PileStationInfoServiceImpl.java +++ b/jsowell-pile/src/main/java/com/jsowell/pile/service/impl/PileStationInfoServiceImpl.java @@ -526,8 +526,6 @@ public class PileStationInfoServiceImpl implements PileStationInfoService { // 根据前台参数分页 PageHelper.startPage(pageNum, pageSize); List list = pileStationInfoMapper.queryStationInfos(dto); - // 查询该站点是否是该会员收藏的站点 - List collectedStationIds = memberStationRelationService.getStationIdListByMemberId(dto.getMemberId()); PageInfo pageInfo = new PageInfo<>(list); @@ -591,13 +589,6 @@ public class PileStationInfoServiceImpl implements PileStationInfoService { stationVO.setVipTotalPrice(currentTimePriceDetails.getVipTotalPrice()); } stationVOList.add(stationVO); - - if (collectedStationIds.contains(stationVO.getStationId())) { - // 如果收藏的列表中有该站点的id,则返回 true - stationVO.setCollectedFlag(Boolean.TRUE); - }else { - stationVO.setCollectedFlag(Boolean.FALSE); - } } if (distance != 0.00) { diff --git a/jsowell-pile/src/main/java/com/jsowell/pile/vo/uniapp/customer/MemberVO.java b/jsowell-pile/src/main/java/com/jsowell/pile/vo/uniapp/customer/MemberVO.java index 47b921a6d..8d8e7e427 100644 --- a/jsowell-pile/src/main/java/com/jsowell/pile/vo/uniapp/customer/MemberVO.java +++ b/jsowell-pile/src/main/java/com/jsowell/pile/vo/uniapp/customer/MemberVO.java @@ -90,6 +90,11 @@ public class MemberVO { */ private List vinCodeList; + /** + * 用户收藏的站点idList + */ + private List collectedStationIdList; + /** * 头像地址 */ diff --git a/jsowell-pile/src/main/resources/mapper/pile/MemberStationRelationMapper.xml b/jsowell-pile/src/main/resources/mapper/pile/MemberStationRelationMapper.xml index da6ed4c2e..ef6eb0e74 100644 --- a/jsowell-pile/src/main/resources/mapper/pile/MemberStationRelationMapper.xml +++ b/jsowell-pile/src/main/resources/mapper/pile/MemberStationRelationMapper.xml @@ -82,7 +82,7 @@