From 9c3c80ca3fc6d95ffdd58d8d1a27d3b8a0c4ea1d Mon Sep 17 00:00:00 2001 From: Lemon Date: Fri, 25 Aug 2023 14:23:35 +0800 Subject: [PATCH] =?UTF-8?q?=E6=96=B0=E5=A2=9E=20=E7=BB=91=E5=AE=9A?= =?UTF-8?q?=E5=81=9C=E8=BD=A6=E5=B9=B3=E5=8F=B0=E6=8E=A5=E5=8F=A3?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../pile/PileStationInfoController.java | 45 +++ .../common/enums/ykc/ReturnCodeEnum.java | 2 + .../lutongyunting/BindParkingPlatformDTO.java | 16 + .../pile/mapper/PileStationInfoMapper.java | 6 + .../mapper/ThirdpartyParkingConfigMapper.java | 3 + .../pile/service/IPileStationInfoService.java | 7 + .../IThirdPartyParkingConfigService.java | 53 +++ .../impl/PileStationInfoServiceImpl.java | 27 ++ .../ThirdPartyParkingConfigServiceImpl.java | 52 +++ .../mapper/pile/PileStationInfoMapper.xml | 9 + .../pile/ThirdpartyParkingConfigMapper.xml | 335 +++++++++--------- jsowell-ui/src/api/pile/station.js | 10 + 12 files changed, 406 insertions(+), 159 deletions(-) create mode 100644 jsowell-pile/src/main/java/com/jsowell/pile/dto/lutongyunting/BindParkingPlatformDTO.java create mode 100644 jsowell-pile/src/main/java/com/jsowell/pile/service/IThirdPartyParkingConfigService.java create mode 100644 jsowell-pile/src/main/java/com/jsowell/pile/service/impl/ThirdPartyParkingConfigServiceImpl.java diff --git a/jsowell-admin/src/main/java/com/jsowell/web/controller/pile/PileStationInfoController.java b/jsowell-admin/src/main/java/com/jsowell/web/controller/pile/PileStationInfoController.java index 5d002d27f..74724baa1 100644 --- a/jsowell-admin/src/main/java/com/jsowell/web/controller/pile/PileStationInfoController.java +++ b/jsowell-admin/src/main/java/com/jsowell/web/controller/pile/PileStationInfoController.java @@ -1,5 +1,6 @@ package com.jsowell.web.controller.pile; +import com.alibaba.fastjson2.JSON; import com.alibaba.fastjson2.JSONObject; import com.jsowell.common.annotation.Log; import com.jsowell.common.core.controller.BaseController; @@ -19,7 +20,9 @@ import com.jsowell.pile.dto.FastCreateStationDTO; import com.jsowell.pile.dto.LianLianPushStationInfoDTO; import com.jsowell.pile.dto.QueryStationDTO; import com.jsowell.pile.dto.amap.EditAmapFlagDTO; +import com.jsowell.pile.dto.lutongyunting.BindParkingPlatformDTO; import com.jsowell.pile.service.IPileStationInfoService; +import com.jsowell.pile.service.IThirdPartyParkingConfigService; import com.jsowell.pile.service.IThirdPartyStationRelationService; import com.jsowell.pile.service.IThirdPartySettingInfoService; import com.jsowell.pile.vo.web.PileStationVO; @@ -56,6 +59,9 @@ public class PileStationInfoController extends BaseController { @Autowired private IThirdPartyStationRelationService thirdPartyStationRelationService; + @Autowired + private IThirdPartyParkingConfigService parkingConfigService; + /** * 查询充电站信息列表NEW @@ -280,4 +286,43 @@ public class PileStationInfoController extends BaseController { return response; } + /** + * 绑定停车平台(停车充电下发优惠券) + * @param dto + * @return + */ + @PostMapping("/bindParkingPlatform") + public RestApiResponse bindParkingPlatform(BindParkingPlatformDTO dto) { + logger.info("绑定停车平台 params:{}", JSON.toJSONString(dto)); + RestApiResponse response = null; + try { + pileStationInfoService.bindParkingPlatform(dto); + }catch (BusinessException e) { + logger.error("绑定停车平台 error,", e); + response = new RestApiResponse<>(e.getCode(), e.getMessage()); + } catch (Exception e) { + logger.error("绑定停车平台 error", e); + response = new RestApiResponse<>(e); + } + logger.info("绑定停车平台 result:{}", response); + return response; + } + + /** + * 获取停车平台列表 + * @return + */ + @GetMapping("/getParkingInfoList") + public RestApiResponse getParkingInfoList() { + logger.info("获取停车平台列表"); + RestApiResponse response = null; + try { + + } catch (Exception e) { + logger.error("获取停车平台列表 error,", e); + response = new RestApiResponse<>(e); + } + logger.info("获取停车平台列表 result:{}", response); + return response; + } } diff --git a/jsowell-common/src/main/java/com/jsowell/common/enums/ykc/ReturnCodeEnum.java b/jsowell-common/src/main/java/com/jsowell/common/enums/ykc/ReturnCodeEnum.java index cde118e50..d228e0f7c 100644 --- a/jsowell-common/src/main/java/com/jsowell/common/enums/ykc/ReturnCodeEnum.java +++ b/jsowell-common/src/main/java/com/jsowell/common/enums/ykc/ReturnCodeEnum.java @@ -118,6 +118,8 @@ public enum ReturnCodeEnum { CODE_QUERY_WECHAT_APP_ID_IS_NULL("00100056", "未查询到商户的微信小程序id"), + CODE_QUERY_PARKING_INFO_IS_NULL("00100057", "未查到停车平台信息"), + /* 个人桩 start */ CODE_PILE_HAS_BEEN_BINDING_ERROR("00400001", "此桩已被绑定,请联系管理员!"), diff --git a/jsowell-pile/src/main/java/com/jsowell/pile/dto/lutongyunting/BindParkingPlatformDTO.java b/jsowell-pile/src/main/java/com/jsowell/pile/dto/lutongyunting/BindParkingPlatformDTO.java new file mode 100644 index 000000000..ea95944cc --- /dev/null +++ b/jsowell-pile/src/main/java/com/jsowell/pile/dto/lutongyunting/BindParkingPlatformDTO.java @@ -0,0 +1,16 @@ +package com.jsowell.pile.dto.lutongyunting; + +import lombok.Data; + +/** + * 绑定停车平台DTO + * + * @author Lemon + * @Date 2023/8/25 13:34 + */ +@Data +public class BindParkingPlatformDTO { + private String stationId; + + private String parkingId; +} diff --git a/jsowell-pile/src/main/java/com/jsowell/pile/mapper/PileStationInfoMapper.java b/jsowell-pile/src/main/java/com/jsowell/pile/mapper/PileStationInfoMapper.java index bbb537107..4b743645a 100644 --- a/jsowell-pile/src/main/java/com/jsowell/pile/mapper/PileStationInfoMapper.java +++ b/jsowell-pile/src/main/java/com/jsowell/pile/mapper/PileStationInfoMapper.java @@ -88,4 +88,10 @@ public interface PileStationInfoMapper { * @return */ List getIdsByDeptId(String deptId); + + /** + * 修改绑定停车平台 + * @param stationId + */ + int updateParkingPlatform(@Param("parkingId") String parkingId, @Param("stationId") String stationId); } diff --git a/jsowell-pile/src/main/java/com/jsowell/pile/mapper/ThirdpartyParkingConfigMapper.java b/jsowell-pile/src/main/java/com/jsowell/pile/mapper/ThirdpartyParkingConfigMapper.java index 7cb4ddcac..8bd1d420d 100644 --- a/jsowell-pile/src/main/java/com/jsowell/pile/mapper/ThirdpartyParkingConfigMapper.java +++ b/jsowell-pile/src/main/java/com/jsowell/pile/mapper/ThirdpartyParkingConfigMapper.java @@ -1,6 +1,8 @@ package com.jsowell.pile.mapper; +import com.jsowell.pile.domain.ThirdPartyPlatformConfig; import com.jsowell.pile.domain.ThirdpartyParkingConfig; +import org.springframework.stereotype.Repository; /** * TODO @@ -8,6 +10,7 @@ import com.jsowell.pile.domain.ThirdpartyParkingConfig; * @Date 2023/8/24 16:50 * @author Lemon */ +@Repository public interface ThirdpartyParkingConfigMapper { /** * delete by primary key diff --git a/jsowell-pile/src/main/java/com/jsowell/pile/service/IPileStationInfoService.java b/jsowell-pile/src/main/java/com/jsowell/pile/service/IPileStationInfoService.java index e494dad74..2d134d68a 100644 --- a/jsowell-pile/src/main/java/com/jsowell/pile/service/IPileStationInfoService.java +++ b/jsowell-pile/src/main/java/com/jsowell/pile/service/IPileStationInfoService.java @@ -4,6 +4,7 @@ import com.jsowell.common.core.page.PageResponse; import com.jsowell.pile.domain.PileStationInfo; import com.jsowell.pile.dto.FastCreateStationDTO; import com.jsowell.pile.dto.QueryStationDTO; +import com.jsowell.pile.dto.lutongyunting.BindParkingPlatformDTO; import com.jsowell.pile.vo.web.PileStationVO; import java.util.List; @@ -105,4 +106,10 @@ public interface IPileStationInfoService { * @return */ List getIdsByDeptId(String deptId); + + /** + * 绑定停车系统平台 + * @param dto + */ + int bindParkingPlatform(BindParkingPlatformDTO dto); } diff --git a/jsowell-pile/src/main/java/com/jsowell/pile/service/IThirdPartyParkingConfigService.java b/jsowell-pile/src/main/java/com/jsowell/pile/service/IThirdPartyParkingConfigService.java new file mode 100644 index 000000000..e5fa5d56a --- /dev/null +++ b/jsowell-pile/src/main/java/com/jsowell/pile/service/IThirdPartyParkingConfigService.java @@ -0,0 +1,53 @@ +package com.jsowell.pile.service; + +import com.jsowell.pile.domain.ThirdpartyParkingConfig; + +/** + * 第三方停车平台Service + * + * @author Lemon + * @Date 2023/8/25 13:42 + */ +public interface IThirdPartyParkingConfigService { + /** + * delete by primary key + * @param id primaryKey + * @return deleteCount + */ + int deleteByPrimaryKey(Integer id); + + /** + * insert record to table + * @param record the record + * @return insert count + */ + int insert(ThirdpartyParkingConfig record); + + /** + * insert record to table selective + * @param record the record + * @return insert count + */ + int insertSelective(ThirdpartyParkingConfig record); + + /** + * select by primary key + * @param id primary key + * @return object by primary key + */ + ThirdpartyParkingConfig selectByPrimaryKey(Integer id); + + /** + * update record selective + * @param record the updated record + * @return update count + */ + int updateByPrimaryKeySelective(ThirdpartyParkingConfig record); + + /** + * update record + * @param record the updated record + * @return update count + */ + int updateByPrimaryKey(ThirdpartyParkingConfig record); +} 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 fb1fc7b5a..e00980153 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 @@ -9,6 +9,8 @@ import com.jsowell.common.core.domain.entity.SysUser; import com.jsowell.common.core.domain.vo.AuthorizedDeptVO; import com.jsowell.common.core.page.PageResponse; import com.jsowell.common.core.redis.RedisCache; +import com.jsowell.common.enums.ykc.ReturnCodeEnum; +import com.jsowell.common.exception.BusinessException; import com.jsowell.common.util.DateUtils; import com.jsowell.common.util.DistanceUtils; import com.jsowell.common.util.SecurityUtils; @@ -16,8 +18,11 @@ import com.jsowell.common.util.StringUtils; import com.jsowell.common.util.ip.AddressUtils; import com.jsowell.pile.domain.PileBasicInfo; import com.jsowell.pile.domain.PileStationInfo; +import com.jsowell.pile.domain.ThirdPartyPlatformConfig; +import com.jsowell.pile.domain.ThirdpartyParkingConfig; import com.jsowell.pile.dto.FastCreateStationDTO; import com.jsowell.pile.dto.QueryStationDTO; +import com.jsowell.pile.dto.lutongyunting.BindParkingPlatformDTO; import com.jsowell.pile.mapper.PileStationInfoMapper; import com.jsowell.pile.service.*; import com.jsowell.pile.vo.base.MerchantInfoVO; @@ -73,6 +78,8 @@ public class PileStationInfoServiceImpl implements IPileStationInfoService { @Autowired private SysUserService userService; + @Autowired + private IThirdPartyParkingConfigService parkingConfigService; /** @@ -486,5 +493,25 @@ public class PileStationInfoServiceImpl implements IPileStationInfoService { return pileStationInfoMapper.getIdsByDeptId(deptId); } + /** + * 绑定停车系统平台 + * @param dto + */ + @Override + public int bindParkingPlatform(BindParkingPlatformDTO dto) { + String parkingId = dto.getParkingId(); + String stationId = dto.getStationId(); + // 先根据停车系统平台查询一下是否有数据 + ThirdpartyParkingConfig basicInfo = parkingConfigService.selectByPrimaryKey(Integer.parseInt(parkingId)); + if (basicInfo == null) { + throw new BusinessException(ReturnCodeEnum.CODE_QUERY_PARKING_INFO_IS_NULL); + } + // 先删除缓存 + String redisKey = CacheConstants.SELECT_PILE_STATION_INFO_BY_ID + stationId; + redisCache.deleteObject(redisKey); + // 再将站点信息表中绑定上parkingId + return pileStationInfoMapper.updateParkingPlatform(parkingId, stationId); + } + } diff --git a/jsowell-pile/src/main/java/com/jsowell/pile/service/impl/ThirdPartyParkingConfigServiceImpl.java b/jsowell-pile/src/main/java/com/jsowell/pile/service/impl/ThirdPartyParkingConfigServiceImpl.java new file mode 100644 index 000000000..36c9c819d --- /dev/null +++ b/jsowell-pile/src/main/java/com/jsowell/pile/service/impl/ThirdPartyParkingConfigServiceImpl.java @@ -0,0 +1,52 @@ +package com.jsowell.pile.service.impl; + +import com.jsowell.pile.domain.ThirdpartyParkingConfig; +import com.jsowell.pile.mapper.ThirdpartyParkingConfigMapper; +import com.jsowell.pile.service.IThirdPartyParkingConfigService; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.stereotype.Service; + +/** + * TODO + * + * @author Lemon + * @Date 2023/8/25 13:43 + */ +@Service +public class ThirdPartyParkingConfigServiceImpl implements IThirdPartyParkingConfigService { + + @Autowired + private ThirdpartyParkingConfigMapper thirdpartyParkingConfigMapper; + + + @Override + public int deleteByPrimaryKey(Integer id) { + return thirdpartyParkingConfigMapper.deleteByPrimaryKey(id); + } + + @Override + public int insert(ThirdpartyParkingConfig record) { + return thirdpartyParkingConfigMapper.insert(record); + } + + @Override + public int insertSelective(ThirdpartyParkingConfig record) { + return thirdpartyParkingConfigMapper.insertSelective(record); + } + + @Override + public ThirdpartyParkingConfig selectByPrimaryKey(Integer id) { + return thirdpartyParkingConfigMapper.selectByPrimaryKey(id); + } + + @Override + public int updateByPrimaryKeySelective(ThirdpartyParkingConfig record) { + return thirdpartyParkingConfigMapper.updateByPrimaryKeySelective(record); + } + + @Override + public int updateByPrimaryKey(ThirdpartyParkingConfig record) { + return thirdpartyParkingConfigMapper.updateByPrimaryKey(record); + } + +} diff --git a/jsowell-pile/src/main/resources/mapper/pile/PileStationInfoMapper.xml b/jsowell-pile/src/main/resources/mapper/pile/PileStationInfoMapper.xml index 62fb4872a..c590d0239 100644 --- a/jsowell-pile/src/main/resources/mapper/pile/PileStationInfoMapper.xml +++ b/jsowell-pile/src/main/resources/mapper/pile/PileStationInfoMapper.xml @@ -421,4 +421,13 @@ where dept_id = #{deptId,jdbcType=VARCHAR} + + + update + pile_station_info + set + parking_id = #{parkingId,jdbcType=VARCHAR} + where + id = #{stationId,jdbcType=VARCHAR} + \ No newline at end of file diff --git a/jsowell-pile/src/main/resources/mapper/pile/ThirdpartyParkingConfigMapper.xml b/jsowell-pile/src/main/resources/mapper/pile/ThirdpartyParkingConfigMapper.xml index deaa46f66..e84cd35b0 100644 --- a/jsowell-pile/src/main/resources/mapper/pile/ThirdpartyParkingConfigMapper.xml +++ b/jsowell-pile/src/main/resources/mapper/pile/ThirdpartyParkingConfigMapper.xml @@ -1,173 +1,190 @@ - - - - - - - - - - - - - - - - - - id, parking_name, app_id, secret_key, parking_merchant_id, coupon_id, create_time, - create_by, update_time, update_by, del_flag - - - - - delete from thirdparty_parking_config - where id = #{id,jdbcType=INTEGER} - - - - insert into thirdparty_parking_config (id, parking_name, app_id, - secret_key, parking_merchant_id, coupon_id, - create_time, create_by, update_time, - update_by, del_flag) - values (#{id,jdbcType=INTEGER}, #{parkingName,jdbcType=VARCHAR}, #{appId,jdbcType=VARCHAR}, - #{secretKey,jdbcType=VARCHAR}, #{parkingMerchantId,jdbcType=VARCHAR}, #{couponId,jdbcType=VARCHAR}, - #{createTime,jdbcType=TIMESTAMP}, #{createBy,jdbcType=VARCHAR}, #{updateTime,jdbcType=TIMESTAMP}, - #{updateBy,jdbcType=VARCHAR}, #{delFlag,jdbcType=VARCHAR}) - - - - insert into thirdparty_parking_config - - + + + + + + + + + + + + + + + + + + id, - - parking_name, - - app_id, - - secret_key, - - parking_merchant_id, - - coupon_id, - - create_time, - - create_by, - - update_time, - - update_by, - - - del_flag, - - - - - #{id,jdbcType=INTEGER}, - - - #{parkingName,jdbcType=VARCHAR}, - - - #{appId,jdbcType=VARCHAR}, - - - #{secretKey,jdbcType=VARCHAR}, - - - #{parkingMerchantId,jdbcType=VARCHAR}, - - - #{couponId,jdbcType=VARCHAR}, - - - #{createTime,jdbcType=TIMESTAMP}, - - - #{createBy,jdbcType=VARCHAR}, - - - #{updateTime,jdbcType=TIMESTAMP}, - - - #{updateBy,jdbcType=VARCHAR}, - - - #{delFlag,jdbcType=VARCHAR}, - - - - - - update thirdparty_parking_config - - - parking_name = #{parkingName,jdbcType=VARCHAR}, - - - app_id = #{appId,jdbcType=VARCHAR}, - - - secret_key = #{secretKey,jdbcType=VARCHAR}, - - - parking_merchant_id = #{parkingMerchantId,jdbcType=VARCHAR}, - - - coupon_id = #{couponId,jdbcType=VARCHAR}, - - - create_time = #{createTime,jdbcType=TIMESTAMP}, - - - create_by = #{createBy,jdbcType=VARCHAR}, - - - update_time = #{updateTime,jdbcType=TIMESTAMP}, - - - update_by = #{updateBy,jdbcType=VARCHAR}, - - - del_flag = #{delFlag,jdbcType=VARCHAR}, - - - where id = #{id,jdbcType=INTEGER} - - - - update thirdparty_parking_config - set parking_name = #{parkingName,jdbcType=VARCHAR}, - app_id = #{appId,jdbcType=VARCHAR}, - secret_key = #{secretKey,jdbcType=VARCHAR}, - parking_merchant_id = #{parkingMerchantId,jdbcType=VARCHAR}, - coupon_id = #{couponId,jdbcType=VARCHAR}, - create_time = #{createTime,jdbcType=TIMESTAMP}, - create_by = #{createBy,jdbcType=VARCHAR}, - update_time = #{updateTime,jdbcType=TIMESTAMP}, - update_by = #{updateBy,jdbcType=VARCHAR}, - del_flag = #{delFlag,jdbcType=VARCHAR} - where id = #{id,jdbcType=INTEGER} - + del_flag + + + + + + + delete + from thirdparty_parking_config + where id = #{id,jdbcType=INTEGER} + + + + + insert into thirdparty_parking_config (id, parking_name, app_id, + secret_key, parking_merchant_id, coupon_id, + create_time, create_by, update_time, + update_by, del_flag) + values (#{id,jdbcType=INTEGER}, #{parkingName,jdbcType=VARCHAR}, #{appId,jdbcType=VARCHAR}, + #{secretKey,jdbcType=VARCHAR}, #{parkingMerchantId,jdbcType=VARCHAR}, #{couponId,jdbcType=VARCHAR}, + #{createTime,jdbcType=TIMESTAMP}, #{createBy,jdbcType=VARCHAR}, #{updateTime,jdbcType=TIMESTAMP}, + #{updateBy,jdbcType=VARCHAR}, #{delFlag,jdbcType=VARCHAR}) + + + + + insert into thirdparty_parking_config + + + id, + + + parking_name, + + + app_id, + + + secret_key, + + + parking_merchant_id, + + + coupon_id, + + + create_time, + + + create_by, + + + update_time, + + + update_by, + + + del_flag, + + + + + #{id,jdbcType=INTEGER}, + + + #{parkingName,jdbcType=VARCHAR}, + + + #{appId,jdbcType=VARCHAR}, + + + #{secretKey,jdbcType=VARCHAR}, + + + #{parkingMerchantId,jdbcType=VARCHAR}, + + + #{couponId,jdbcType=VARCHAR}, + + + #{createTime,jdbcType=TIMESTAMP}, + + + #{createBy,jdbcType=VARCHAR}, + + + #{updateTime,jdbcType=TIMESTAMP}, + + + #{updateBy,jdbcType=VARCHAR}, + + + #{delFlag,jdbcType=VARCHAR}, + + + + + + + update thirdparty_parking_config + + + parking_name = #{parkingName,jdbcType=VARCHAR}, + + + app_id = #{appId,jdbcType=VARCHAR}, + + + secret_key = #{secretKey,jdbcType=VARCHAR}, + + + parking_merchant_id = #{parkingMerchantId,jdbcType=VARCHAR}, + + + coupon_id = #{couponId,jdbcType=VARCHAR}, + + + create_time = #{createTime,jdbcType=TIMESTAMP}, + + + create_by = #{createBy,jdbcType=VARCHAR}, + + + update_time = #{updateTime,jdbcType=TIMESTAMP}, + + + update_by = #{updateBy,jdbcType=VARCHAR}, + + + del_flag = #{delFlag,jdbcType=VARCHAR}, + + + where id = #{id,jdbcType=INTEGER} + + + + + update thirdparty_parking_config + set parking_name = #{parkingName,jdbcType=VARCHAR}, + app_id = #{appId,jdbcType=VARCHAR}, + secret_key = #{secretKey,jdbcType=VARCHAR}, + parking_merchant_id = #{parkingMerchantId,jdbcType=VARCHAR}, + coupon_id = #{couponId,jdbcType=VARCHAR}, + create_time = #{createTime,jdbcType=TIMESTAMP}, + create_by = #{createBy,jdbcType=VARCHAR}, + update_time = #{updateTime,jdbcType=TIMESTAMP}, + update_by = #{updateBy,jdbcType=VARCHAR}, + del_flag = #{delFlag,jdbcType=VARCHAR} + where id = #{id,jdbcType=INTEGER} + \ No newline at end of file diff --git a/jsowell-ui/src/api/pile/station.js b/jsowell-ui/src/api/pile/station.js index 0ff9151c2..c3534b447 100644 --- a/jsowell-ui/src/api/pile/station.js +++ b/jsowell-ui/src/api/pile/station.js @@ -130,6 +130,7 @@ export function updateSettingByStationId(data) { // }) // } +// 推送充电站信息到联联平台 export function pushStationInfo(data) { return request({ url: "/pile/station/pushStationInfo", @@ -138,3 +139,12 @@ export function pushStationInfo(data) { }) } +// 绑定停车平台 +export function bindParkingPlatform(data) { + return request({ + url: '/pile/station/bindParkingPlatform', + method: 'post', + data: data, + }) +} +