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 84f719823..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 @@ -2,15 +2,16 @@ package com.jsowell.web.controller.pile; 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.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.RequestBody; -import org.springframework.web.bind.annotation.RequestMapping; -import org.springframework.web.bind.annotation.RestController; +import org.springframework.web.bind.annotation.*; import javax.servlet.http.HttpServletRequest; +import java.util.List; /** * 站点分成配置controller @@ -21,6 +22,16 @@ public class StationSplitConfigController extends BaseController { @Autowired private StationSplitConfigService stationSplitConfigService; + /** + * 根据站点id 查询站点分成配置 + */ + @GetMapping("/list/{stationId}") + public TableDataInfo list(@PathVariable("stationId") String stationId) { + // 权限过滤 + List list = stationSplitConfigService.querySplitConfigByStationId(stationId); + return getDataTable(list); + } + /** * 设置站点配置 * /station/splitconfig/settingSplitConfig 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 09eb01725..c653bdb88 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; @@ -16,6 +17,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 994f87b29..1f5aa97c6 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 @@ -18,6 +18,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; @@ -58,6 +59,23 @@ public class StationSplitConfigServiceImpl implements StationSplitConfigService{ return stationSplitConfigs; } + @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; + +} diff --git a/jsowell-ui/src/api/pile/splitConfig.js b/jsowell-ui/src/api/pile/splitConfig.js index 291a99f90..7b6371f6d 100644 --- a/jsowell-ui/src/api/pile/splitConfig.js +++ b/jsowell-ui/src/api/pile/splitConfig.js @@ -1,44 +1,18 @@ import request from '@/utils/request' -// 查询站点白名单列表 -export function listWhitelist(query) { +// 根据站点id 查询站点分成配置 +export function getSplitConfigList(stationId) { return request({ - url: '/pile/whitelist/list', - method: 'get', - params: query - }) -} - -// 查询站点白名单详细 -export function getWhitelist(id) { - return request({ - url: '/pile/whitelist/' + id, + url: '/station/splitconfig/list' + stationId, method: 'get' }) } -// 新增站点白名单 -export function addWhitelist(data) { +// 添加站点分成配置 +export function addSplitConfig(data) { return request({ - url: '/pile/whitelist', + url: '/station/splitconfig/settingSplitConfig', method: 'post', data: data }) } - -// 修改站点白名单 -export function updateWhitelist(data) { - return request({ - url: '/pile/whitelist', - method: 'put', - data: data - }) -} - -// 删除站点白名单 -export function delWhitelist(id) { - return request({ - url: '/pile/whitelist/' + id, - method: 'delete' - }) -}