From 236afdda33e81a783f296a35fe09bb97f49aab05 Mon Sep 17 00:00:00 2001 From: Guoqs <123@jsowell.com> Date: Thu, 2 Jan 2025 14:54:57 +0800 Subject: [PATCH] =?UTF-8?q?update=20=E5=88=86=E6=B6=A6=E9=85=8D=E7=BD=AE?= =?UTF-8?q?=E9=A1=B5=E9=9D=A2?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../pile/StationSplitConfigController.java | 4 +- .../service/AdapayMemberAccountService.java | 3 + .../service/StationSplitConfigService.java | 3 + .../impl/AdapayMemberAccountServiceImpl.java | 126 +++++++++++------- .../impl/StationSplitConfigServiceImpl.java | 18 +++ .../java/com/jsowell/pile/util/UserUtils.java | 17 ++- .../jsowell/pile/vo/base/MerchantInfoVO.java | 5 + .../jsowell/pile/vo/web/SplitConfigVO.java | 42 ++++++ 8 files changed, 165 insertions(+), 53 deletions(-) create mode 100644 jsowell-pile/src/main/java/com/jsowell/pile/vo/web/SplitConfigVO.java diff --git a/jsowell-admin/src/main/java/com/jsowell/web/controller/pile/StationSplitConfigController.java b/jsowell-admin/src/main/java/com/jsowell/web/controller/pile/StationSplitConfigController.java index ce918092a..feb555421 100644 --- a/jsowell-admin/src/main/java/com/jsowell/web/controller/pile/StationSplitConfigController.java +++ b/jsowell-admin/src/main/java/com/jsowell/web/controller/pile/StationSplitConfigController.java @@ -4,9 +4,9 @@ import com.jsowell.common.core.controller.BaseController; import com.jsowell.common.core.domain.AjaxResult; import com.jsowell.common.core.page.TableDataInfo; import com.jsowell.common.exception.BusinessException; -import com.jsowell.pile.domain.StationSplitConfig; import com.jsowell.pile.dto.SplitConfigDTO; import com.jsowell.pile.service.StationSplitConfigService; +import com.jsowell.pile.vo.web.SplitConfigVO; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.web.bind.annotation.*; @@ -28,7 +28,7 @@ public class StationSplitConfigController extends BaseController { @GetMapping("/list/{stationId}") public TableDataInfo list(@PathVariable("stationId") String stationId) { // 权限过滤 - List list = stationSplitConfigService.queryByStationId(stationId); + List list = stationSplitConfigService.querySplitConfigByStationId(stationId); return getDataTable(list); } diff --git a/jsowell-pile/src/main/java/com/jsowell/pile/service/AdapayMemberAccountService.java b/jsowell-pile/src/main/java/com/jsowell/pile/service/AdapayMemberAccountService.java index 06afb06ef..417416b9d 100644 --- a/jsowell-pile/src/main/java/com/jsowell/pile/service/AdapayMemberAccountService.java +++ b/jsowell-pile/src/main/java/com/jsowell/pile/service/AdapayMemberAccountService.java @@ -59,6 +59,8 @@ public interface AdapayMemberAccountService { */ int deleteAdapayMemberAccountByIds(List ids); + String selectAdapayMemberIdByMerchantId(String merchantId); + /** * 根据运营商id查询汇付会员信息 * @param merchantId 运营商id @@ -92,4 +94,5 @@ public interface AdapayMemberAccountService { */ int deleteAuditFailed(String merchantId); + String selectMerchantNameByAdapayMemberId(String adapayMemberId); } diff --git a/jsowell-pile/src/main/java/com/jsowell/pile/service/StationSplitConfigService.java b/jsowell-pile/src/main/java/com/jsowell/pile/service/StationSplitConfigService.java index 25ae2cf29..c1f1f1d3f 100644 --- a/jsowell-pile/src/main/java/com/jsowell/pile/service/StationSplitConfigService.java +++ b/jsowell-pile/src/main/java/com/jsowell/pile/service/StationSplitConfigService.java @@ -3,6 +3,7 @@ package com.jsowell.pile.service; import com.jsowell.pile.domain.StationSplitConfig; import com.jsowell.pile.dto.SplitConfigDTO; import com.jsowell.pile.vo.web.ShareMemberVO; +import com.jsowell.pile.vo.web.SplitConfigVO; import java.util.List; @@ -14,6 +15,8 @@ public interface StationSplitConfigService{ // 根据站点id查询站点分账配置信息 List queryByStationId(String stationId); + List querySplitConfigByStationId(String stationId); + /** * 根据站点id查询站点分成用户信息 * 如果没有配置分账用户,并且站点对应的运营商设置了结算账户, 返回本站对应的结算账户, 电费和服务费分成比例都为100% diff --git a/jsowell-pile/src/main/java/com/jsowell/pile/service/impl/AdapayMemberAccountServiceImpl.java b/jsowell-pile/src/main/java/com/jsowell/pile/service/impl/AdapayMemberAccountServiceImpl.java index d24d045bb..75938351c 100644 --- a/jsowell-pile/src/main/java/com/jsowell/pile/service/impl/AdapayMemberAccountServiceImpl.java +++ b/jsowell-pile/src/main/java/com/jsowell/pile/service/impl/AdapayMemberAccountServiceImpl.java @@ -8,9 +8,11 @@ import com.jsowell.common.enums.DelFlagEnum; import com.jsowell.common.util.DateUtils; import com.jsowell.common.util.StringUtils; import com.jsowell.pile.domain.AdapayMemberAccount; +import com.jsowell.pile.domain.PileMerchantInfo; import com.jsowell.pile.domain.PileStationInfo; import com.jsowell.pile.mapper.AdapayMemberAccountMapper; import com.jsowell.pile.service.AdapayMemberAccountService; +import com.jsowell.pile.service.PileMerchantInfoService; import com.jsowell.pile.service.PileStationInfoService; import lombok.extern.slf4j.Slf4j; import org.apache.commons.collections4.CollectionUtils; @@ -35,9 +37,57 @@ public class AdapayMemberAccountServiceImpl implements AdapayMemberAccountServic @Autowired private RedisCache redisCache; + @Autowired + private PileMerchantInfoService pileMerchantInfoService; + @Autowired private PileStationInfoService pileStationInfoService; + @Override + public int insert(AdapayMemberAccount record) { + return adapayMemberAccountMapper.insert(record); + } + + @Override + public int insertOrUpdate(AdapayMemberAccount record) { + return adapayMemberAccountMapper.insertOrUpdate(record); + } + + @Override + public int insertOrUpdateSelective(AdapayMemberAccount record) { + return adapayMemberAccountMapper.insertOrUpdateSelective(record); + } + + @Override + public int insertSelective(AdapayMemberAccount record) { + return adapayMemberAccountMapper.insertSelective(record); + } + + @Override + public AdapayMemberAccount selectByPrimaryKey(Integer id) { + return adapayMemberAccountMapper.selectByPrimaryKey(id); + } + + @Override + public int updateByPrimaryKeySelective(AdapayMemberAccount record) { + return adapayMemberAccountMapper.updateByPrimaryKeySelective(record); + } + + @Override + public int updateByPrimaryKey(AdapayMemberAccount record) { + return adapayMemberAccountMapper.updateByPrimaryKey(record); + } + + @Override + public int updateBatch(List list) { + return adapayMemberAccountMapper.updateBatch(list); + } + + @Override + public int batchInsert(List list) { + return adapayMemberAccountMapper.batchInsert(list); + } + /** * 查询【请填写功能名称】列表 * @@ -82,7 +132,7 @@ public class AdapayMemberAccountServiceImpl implements AdapayMemberAccountServic adapayMemberAccount.setUpdateTime(DateUtils.getNowDate()); int i = adapayMemberAccountMapper.updateByPrimaryKeySelective(adapayMemberAccount); if (StringUtils.isNotBlank(adapayMemberAccount.getMerchantId())) { - String redisKey = CacheConstants.ADAPAY_MEMBER_ACCOUNT + adapayMemberAccount.getMerchantId(); + String redisKey = CacheConstants.ADAPAY_MEMBER_ACCOUNT + adapayMemberAccount.getMerchantId(); // 清缓存 redisCache.deleteObject(redisKey); } return i; @@ -102,6 +152,20 @@ public class AdapayMemberAccountServiceImpl implements AdapayMemberAccountServic return adapayMemberAccountMapper.deleteAdapayMemberAccountByIds(ids); } + /** + * 根据运营商id查询汇付会员id + * @param merchantId + * @return + */ + @Override + public String selectAdapayMemberIdByMerchantId(String merchantId) { + AdapayMemberAccount adapayMemberAccount = selectByMerchantId(merchantId); + if (adapayMemberAccount == null) { + return null; + } + return adapayMemberAccount.getAdapayMemberId(); + } + @Override public AdapayMemberAccount selectByMerchantId(String merchantId) { if (StringUtils.isBlank(merchantId)) { @@ -112,7 +176,7 @@ public class AdapayMemberAccountServiceImpl implements AdapayMemberAccountServic if (adapayMemberAccount == null) { adapayMemberAccount = adapayMemberAccountMapper.selectByMerchantId(merchantId); if (adapayMemberAccount != null) { - redisCache.setCacheObject(redisKey, adapayMemberAccount, CacheConstants.cache_expire_time_10m); + redisCache.setCacheObject(redisKey, adapayMemberAccount, CacheConstants.cache_expire_time_12h); } } return adapayMemberAccount; @@ -169,57 +233,27 @@ public class AdapayMemberAccountServiceImpl implements AdapayMemberAccountServic .map(x -> x.getId() + "") .collect(Collectors.toList()); result = this.deleteAdapayMemberAccountByIds(ids); - // 清缓存 - String redisKey = CacheConstants.ADAPAY_MEMBER_ACCOUNT + merchantId; + String redisKey = CacheConstants.ADAPAY_MEMBER_ACCOUNT + merchantId; // 清缓存 redisCache.deleteObject(redisKey); } return result; } - + /** + * 根据汇付会员id 查询运营商名称 + */ @Override - public int insert(AdapayMemberAccount record) { - return adapayMemberAccountMapper.insert(record); + public String selectMerchantNameByAdapayMemberId(String adapayMemberId) { + AdapayMemberAccount adapayMemberAccount = selectByAdapayMemberId(adapayMemberId); + if (adapayMemberAccount == null) { + return ""; + } + PileMerchantInfo pileMerchantInfo = pileMerchantInfoService.selectPileMerchantInfoById(adapayMemberAccount.getMerchantId()); + if (pileMerchantInfo == null) { + return ""; + } + return pileMerchantInfo.getMerchantName(); } - @Override - public int insertOrUpdate(AdapayMemberAccount record) { - return adapayMemberAccountMapper.insertOrUpdate(record); - } - - @Override - public int insertOrUpdateSelective(AdapayMemberAccount record) { - return adapayMemberAccountMapper.insertOrUpdateSelective(record); - } - - @Override - public int insertSelective(AdapayMemberAccount record) { - return adapayMemberAccountMapper.insertSelective(record); - } - - @Override - public AdapayMemberAccount selectByPrimaryKey(Integer id) { - return adapayMemberAccountMapper.selectByPrimaryKey(id); - } - - @Override - public int updateByPrimaryKeySelective(AdapayMemberAccount record) { - return adapayMemberAccountMapper.updateByPrimaryKeySelective(record); - } - - @Override - public int updateByPrimaryKey(AdapayMemberAccount record) { - return adapayMemberAccountMapper.updateByPrimaryKey(record); - } - - @Override - public int updateBatch(List list) { - return adapayMemberAccountMapper.updateBatch(list); - } - - @Override - public int batchInsert(List list) { - return adapayMemberAccountMapper.batchInsert(list); - } } diff --git a/jsowell-pile/src/main/java/com/jsowell/pile/service/impl/StationSplitConfigServiceImpl.java b/jsowell-pile/src/main/java/com/jsowell/pile/service/impl/StationSplitConfigServiceImpl.java index 9859c57ed..cd93cbd9e 100644 --- a/jsowell-pile/src/main/java/com/jsowell/pile/service/impl/StationSplitConfigServiceImpl.java +++ b/jsowell-pile/src/main/java/com/jsowell/pile/service/impl/StationSplitConfigServiceImpl.java @@ -15,6 +15,7 @@ import com.jsowell.pile.mapper.StationSplitConfigMapper; import com.jsowell.pile.service.AdapayMemberAccountService; import com.jsowell.pile.service.StationSplitConfigService; import com.jsowell.pile.vo.web.ShareMemberVO; +import com.jsowell.pile.vo.web.SplitConfigVO; import org.apache.commons.collections4.CollectionUtils; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; @@ -38,6 +39,23 @@ public class StationSplitConfigServiceImpl implements StationSplitConfigService{ return stationSplitConfigMapper.queryByStationId(stationId); } + @Override + public List querySplitConfigByStationId(String stationId) { + List stationSplitConfigs = stationSplitConfigMapper.queryByStationId(stationId); + List resultList = Lists.newArrayList(); + for (StationSplitConfig stationSplitConfig : stationSplitConfigs) { + SplitConfigVO vo = new SplitConfigVO(); + String adapayMemberId = stationSplitConfig.getAdapayMemberId(); + vo.setAdapayMemberId(adapayMemberId); + vo.setSplitName(adapayMemberAccountService.selectMerchantNameByAdapayMemberId(adapayMemberId)); + vo.setElectricitySplitRatio(stationSplitConfig.getElectricitySplitRatio()); + vo.setServiceSplitRatio(stationSplitConfig.getServiceSplitRatio()); + vo.setFeeFlag(stationSplitConfig.getFeeFlag()); + resultList.add(vo); + } + return resultList; + } + @Override public List queryShareMembersByStationId(String stationId) { List resultList = Lists.newArrayList(); diff --git a/jsowell-pile/src/main/java/com/jsowell/pile/util/UserUtils.java b/jsowell-pile/src/main/java/com/jsowell/pile/util/UserUtils.java index f570cb701..d254a3d8f 100644 --- a/jsowell-pile/src/main/java/com/jsowell/pile/util/UserUtils.java +++ b/jsowell-pile/src/main/java/com/jsowell/pile/util/UserUtils.java @@ -10,7 +10,7 @@ import com.jsowell.common.core.domain.vo.AuthorizedDeptVO; import com.jsowell.common.util.SecurityUtils; import com.jsowell.pile.domain.PileMerchantInfo; import com.jsowell.pile.domain.PileStationInfo; -import com.jsowell.pile.service.MemberBasicInfoService; +import com.jsowell.pile.service.AdapayMemberAccountService; import com.jsowell.pile.service.PileMerchantInfoService; import com.jsowell.pile.service.PileStationInfoService; import com.jsowell.pile.vo.base.LoginUserDetailVO; @@ -33,17 +33,18 @@ import java.util.stream.Collectors; public class UserUtils { // 2.注入想引用的对象的静态实例 - private static PileMerchantInfoService pileMerchantInfoService; - private static PileStationInfoService pileStationInfoService; + private static AdapayMemberAccountService adapayMemberAccountService; // 3.初始化有参构造器 @Autowired - public UserUtils(MemberBasicInfoService memberBasicInfoService, PileMerchantInfoService pileMerchantInfoService, - PileStationInfoService pileStationInfoService) { + public UserUtils(PileMerchantInfoService pileMerchantInfoService, + PileStationInfoService pileStationInfoService, + AdapayMemberAccountService adapayMemberAccountService) { UserUtils.pileMerchantInfoService = pileMerchantInfoService; UserUtils.pileStationInfoService = pileStationInfoService; + UserUtils.adapayMemberAccountService = adapayMemberAccountService; } // 4.使用 @@ -171,6 +172,12 @@ public class UserUtils { } } } + + // 设置汇付会员id + for (MerchantInfoVO merchantInfoVO : merchantInfoVOList) { + merchantInfoVO.setAdapayMemberId(adapayMemberAccountService.selectAdapayMemberIdByMerchantId(merchantInfoVO.getMerchantId())); + } + resultVO.setMerchantInfoVOList(merchantInfoVOList); resultVO.setFirstMerchantIdList(firstMerchantIdList); return resultVO; diff --git a/jsowell-pile/src/main/java/com/jsowell/pile/vo/base/MerchantInfoVO.java b/jsowell-pile/src/main/java/com/jsowell/pile/vo/base/MerchantInfoVO.java index e5d52a26d..cff51b5df 100644 --- a/jsowell-pile/src/main/java/com/jsowell/pile/vo/base/MerchantInfoVO.java +++ b/jsowell-pile/src/main/java/com/jsowell/pile/vo/base/MerchantInfoVO.java @@ -45,4 +45,9 @@ public class MerchantInfoVO { */ private String merchantAddress; + /** + * adapay会员id + */ + private String adapayMemberId; + } diff --git a/jsowell-pile/src/main/java/com/jsowell/pile/vo/web/SplitConfigVO.java b/jsowell-pile/src/main/java/com/jsowell/pile/vo/web/SplitConfigVO.java new file mode 100644 index 000000000..3336117bd --- /dev/null +++ b/jsowell-pile/src/main/java/com/jsowell/pile/vo/web/SplitConfigVO.java @@ -0,0 +1,42 @@ +package com.jsowell.pile.vo.web; + +import lombok.Data; + +import java.math.BigDecimal; + +/** + * 分账配置信息 + */ +@Data +public class SplitConfigVO { + /** + * 主键 + */ + private Integer id; + + /** + * 分润人名称(参与分成的运营商名称) + */ + private String splitName; + + /** + * 汇付会员id(参与分成的汇付id, 自己的或者别人的) + */ + private String adapayMemberId; + + /** + * 电费分成比例 + */ + private BigDecimal electricitySplitRatio; + + /** + * 服务费分成比例 + */ + private BigDecimal serviceSplitRatio; + + /** + * 是否手续费承担方,N-否,Y-是,手续费承担方有且只能有一个 + */ + private String feeFlag; + +}