From 55396547d02201d58b667a8a4d36b88625352a32 Mon Sep 17 00:00:00 2001 From: xhxu Date: Fri, 26 Aug 2022 19:29:09 +0800 Subject: [PATCH] // test --- .../iformall/controller/BankController.java | 19 ++++++- .../service/bank/WxBankUtilService.java | 4 ++ .../bank/impl/WxBankUtilServiceImpl.java | 54 ++++++++++++++----- 3 files changed, 64 insertions(+), 13 deletions(-) diff --git a/mallinkBApi/src/main/java/com/iformall/controller/BankController.java b/mallinkBApi/src/main/java/com/iformall/controller/BankController.java index 7d22b5da3..cd6e51774 100644 --- a/mallinkBApi/src/main/java/com/iformall/controller/BankController.java +++ b/mallinkBApi/src/main/java/com/iformall/controller/BankController.java @@ -146,7 +146,24 @@ public class BankController extends BaseController{ return wxBankUtilService.bankBranches(getTenantInfo(),bankAliasCode,cityCode); } - @ApiOperation("查省市") + @ApiOperation("查省") + @GetMapping("wxProvinces") + public ResultData wxProvinces() { + logger.debug("[" + getIpAddr() + "] BankController::wxProvinces"); + return wxBankUtilService.wxProvinces(); + } + + @ApiOperation("查市") + @GetMapping("wxCities") + public ResultData wxCities(Long provinceId) { + logger.debug("[" + getIpAddr() + "] BankController::wxCities"); + if(provinceId == null){ + return new ResultData(ErrorCode.SYS_PARAMETER_NOT_NULL); + } + return wxBankUtilService.wxCities(provinceId); + } + + @ApiOperation("初始化省市") @GetMapping("initProvincesCities") public ResultData initProvincesCities() { logger.debug("[" + getIpAddr() + "] BankController::areasProvinces"); diff --git a/mallinkService/src/main/java/com/iformall/service/bank/WxBankUtilService.java b/mallinkService/src/main/java/com/iformall/service/bank/WxBankUtilService.java index 37455f58a..79ee6cf81 100644 --- a/mallinkService/src/main/java/com/iformall/service/bank/WxBankUtilService.java +++ b/mallinkService/src/main/java/com/iformall/service/bank/WxBankUtilService.java @@ -25,4 +25,8 @@ public interface WxBankUtilService { ResultData bankBranches(TenantEntity tenantInfo, String bankAliasCode, Integer cityCode); ResultData initProvincesCities(TenantEntity tenantInfo); + + ResultData wxProvinces(); + + ResultData wxCities(Long provinceId); } diff --git a/mallinkService/src/main/java/com/iformall/service/bank/impl/WxBankUtilServiceImpl.java b/mallinkService/src/main/java/com/iformall/service/bank/impl/WxBankUtilServiceImpl.java index c9b762baf..dfd700384 100644 --- a/mallinkService/src/main/java/com/iformall/service/bank/impl/WxBankUtilServiceImpl.java +++ b/mallinkService/src/main/java/com/iformall/service/bank/impl/WxBankUtilServiceImpl.java @@ -1,5 +1,6 @@ package com.iformall.service.bank.impl; +import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; import com.github.binarywang.wxpay.bean.bank.*; import com.github.binarywang.wxpay.exception.WxPayException; import com.github.binarywang.wxpay.service.WxPayService; @@ -250,21 +251,34 @@ public class WxBankUtilServiceImpl implements WxBankUtilService { try { ProvincesResult provincesResult = wxPayService.getBankService().areasProvinces(); for (ProvincesResult.ProvinceInfo provinceInfo:provincesResult.getData()) { - WxBankProvinceCity province = new WxBankProvinceCity(); - province.setParentId(0l); - province.setProvinceCode(provinceInfo.getProvinceCode()); - province.setProvinceName(provinceInfo.getProvinceName()); - wxBankProvinceCityMapper.insert(province); + WxBankProvinceCity provinceQuery = new WxBankProvinceCity(); + provinceQuery.setProvinceCode(provinceInfo.getProvinceCode()); + provinceQuery.setProvinceName(provinceInfo.getProvinceName()); + WxBankProvinceCity province = wxBankProvinceCityMapper.selectOne(new QueryWrapper<>(provinceQuery)); + if(province == null){ + province = new WxBankProvinceCity(); + province.setParentId(0l); + province.setProvinceCode(provinceInfo.getProvinceCode()); + province.setProvinceName(provinceInfo.getProvinceName()); + wxBankProvinceCityMapper.insert(province); + } CitiesResult citiesResult = wxPayService.getBankService().areasCities(provinceInfo.getProvinceCode()); for (CitiesResult.CityInfo cityInfo:citiesResult.getData()) { - WxBankProvinceCity city = new WxBankProvinceCity(); - city.setParentId(province.getId()); - city.setProvinceCode(provinceInfo.getProvinceCode()); - city.setProvinceName(provinceInfo.getProvinceName()); - city.setCityCode(cityInfo.getCityCode()); - city.setCityName(cityInfo.getCityName()); - wxBankProvinceCityMapper.insert(city); + WxBankProvinceCity cityQuery = new WxBankProvinceCity(); + cityQuery.setProvinceCode(provinceInfo.getProvinceCode()); + cityQuery.setProvinceName(provinceInfo.getProvinceName()); + cityQuery.setCityCode(cityInfo.getCityCode()); + cityQuery.setCityName(cityInfo.getCityName()); + WxBankProvinceCity city = wxBankProvinceCityMapper.selectOne(new QueryWrapper<>(cityQuery)); + if(city == null){ + city = new WxBankProvinceCity(); + city.setParentId(province.getId()); + city.setProvinceCode(provinceInfo.getProvinceCode()); + city.setProvinceName(provinceInfo.getProvinceName()); + city.setCityCode(cityInfo.getCityCode()); + city.setCityName(cityInfo.getCityName()); + } } } return new ResultData(); @@ -273,4 +287,20 @@ public class WxBankUtilServiceImpl implements WxBankUtilService { return new ResultData(ErrorCode.SYS_SERVER_ERROR.getCode(),e.getMessage()); } } + + @Override + public ResultData wxProvinces() { + WxBankProvinceCity province = new WxBankProvinceCity(); + province.setParentId(0l); + List list = wxBankProvinceCityMapper.findList(province); + return new ResultData(list); + } + + @Override + public ResultData wxCities(Long provinceId) { + WxBankProvinceCity province = new WxBankProvinceCity(); + province.setParentId(provinceId); + List list = wxBankProvinceCityMapper.findList(province); + return new ResultData(list); + } }