fix:新增小程序账户列表及流水接口

This commit is contained in:
wangff
2025-11-17 18:01:01 +08:00
parent f2a18f7893
commit f5283b783c
10 changed files with 300 additions and 79 deletions

View File

@@ -122,7 +122,7 @@ public class WalletApiService {
* @return
*/
public WithDrawerDTO withdraw(WithDrawerRequest request){
return walletHttpClientRest.postWithSign("https://api.dev.wenmatech.com:443/open/crm/trans/v1/withdraw", request, WithDrawerDTO.class);
return walletHttpClientRest.postWithSign("https://api.dev.wenmatech.com:443/open/crm/trans/v1/withdrawer", request, WithDrawerDTO.class);
}
/**

View File

@@ -2,9 +2,13 @@ package com.cool.store.service.wallet;
import com.cool.store.request.wallet.*;
import com.cool.store.vo.wallet.AccountAuthenticationVO;
import com.cool.store.vo.wallet.AccountBillListVO;
import com.cool.store.vo.wallet.AccountInfoVO;
import com.cool.store.vo.wallet.BankVO;
import com.github.pagehelper.PageInfo;
import java.util.List;
/**
* <p>
* 钱包 服务类
@@ -56,4 +60,18 @@ public interface WalletService {
* @return
*/
Boolean addTagCallback(AddTagCallbackNoticeRequest request);
/**
* 查询账户列表
* @param request 钱包门店Request
* @return 账户信息VO列表
*/
List<AccountInfoVO> getAccountList(WalletShopRequest request);
/**
* 交易流水
* @param request 交易流水查询Request
* @return 账户交易列表VO列表
*/
PageInfo<AccountBillListVO> getBillPage(AccountBillQueryRequest request);
}

View File

@@ -1,5 +1,6 @@
package com.cool.store.service.wallet.impl;
import cn.hutool.core.date.DateUtil;
import com.alibaba.fastjson.JSONObject;
import com.cool.store.constants.CommonConstants;
import com.cool.store.dao.RegionDao;
@@ -15,7 +16,6 @@ import com.cool.store.enums.point.ShopSubStageEnum;
import com.cool.store.enums.point.ShopSubStageStatusEnum;
import com.cool.store.enums.wallet.BankAccountTypeEnum;
import com.cool.store.enums.wallet.BankBusinessTypeEnum;
import com.cool.store.enums.wallet.PingAnAccountStatusEnum;
import com.cool.store.exception.ServiceException;
import com.cool.store.mapper.ApplyLicenseMapper;
import com.cool.store.request.wallet.*;
@@ -23,6 +23,8 @@ import com.cool.store.service.wallet.WalletApiService;
import com.cool.store.service.wallet.WalletService;
import com.cool.store.utils.BeanUtil;
import com.cool.store.vo.wallet.AccountAuthenticationVO;
import com.cool.store.vo.wallet.AccountBillListVO;
import com.cool.store.vo.wallet.AccountInfoVO;
import com.cool.store.vo.wallet.BankVO;
import com.github.pagehelper.PageInfo;
import lombok.RequiredArgsConstructor;
@@ -31,7 +33,10 @@ import org.apache.commons.collections4.CollectionUtils;
import org.apache.commons.lang3.StringUtils;
import org.springframework.stereotype.Service;
import java.sql.Date;
import java.time.LocalDate;
import java.util.ArrayList;
import java.util.Collections;
import java.util.List;
import java.util.Objects;
@@ -132,15 +137,16 @@ public class WalletServiceImpl implements WalletService {
getBankRequest.setHeadName(request.getHeadName());
getBankRequest.setKeyword(request.getKeyword());
BankListDTO bankListDTO = walletApiService.getBankList(getBankRequest);
PageInfo<BankVO> result = new PageInfo<>();
result.setPageNum(request.getPageNum());
result.setPageSize(request.getPageSize());
if (Objects.nonNull(bankListDTO)) {
WalletBasicPageInfo pageInfo = bankListDTO.getPage();
result.setTotal(pageInfo.getTotal());
result.setPages(pageInfo.getCount());
result.setList(BeanUtil.toList(bankListDTO.getPageData(), BankVO.class));
}
return toPageInfo(bankListDTO.getPageData(), BankVO.class, bankListDTO.getPage());
}
public static <T, R> PageInfo<R> toPageInfo(List<T> list, Class<R> clazz, WalletBasicPageInfo page) {
PageInfo<R> result = new PageInfo<>();
result.setPageNum(page.getCurrentPage());
result.setPageSize(page.getPageSize());
result.setPages(page.getCount());
result.setTotal(page.getTotal());
result.setList(CollectionUtils.isNotEmpty(list) ? BeanUtil.toList(list, clazz) : Collections.emptyList());
return result;
}
@@ -185,6 +191,41 @@ public class WalletServiceImpl implements WalletService {
return Boolean.TRUE;
}
@Override
public List<AccountInfoVO> getAccountList(WalletShopRequest request) {
ShopInfoDO shopInfo = shopInfoDAO.getShopInfo(request.getShopId());
if (Objects.isNull(shopInfo)) {
throw new ServiceException(ErrorCodeEnum.SHOP_NOT_EXIST);
}
List<AccountInfoDTO> accountInfo = walletApiService.getAccountInfo(new OutStoreIdRequest(shopInfo.getStoreId()));
return BeanUtil.toList(accountInfo, AccountInfoVO.class);
}
@Override
public PageInfo<AccountBillListVO> getBillPage(AccountBillQueryRequest request) {
ShopInfoDO shopInfo = shopInfoDAO.getShopInfo(request.getShopId());
if (Objects.isNull(shopInfo)) {
throw new ServiceException(ErrorCodeEnum.SHOP_NOT_EXIST);
}
LocalDate now = LocalDate.now();
if (Objects.isNull(request.getBeginDate()) || Objects.isNull(request.getEndDate())) {
request.setBeginDate(Date.valueOf(now.withDayOfMonth(1)));
request.setEndDate(Date.valueOf(now));
}
BillPageRequest billPageRequest = BillPageRequest.builder()
.outStoreId(shopInfo.getStoreId())
.beginDate(DateUtil.format(request.getBeginDate(), "yyyy-MM-dd HH:mm:ss"))
.endDate(DateUtil.format(request.getEndDate(), "yyyy-MM-dd HH:mm:ss"))
.walletType(CommonConstants.INDEX_ONE.equals(request.getIsLegal()) ? 2 : 1)
.recordType(request.getRecordType())
.feeItemId(request.getFeeItemId())
.currentPage(request.getPageNum())
.pageSize(request.getPageSize())
.build();
BillPageDTO billPage = walletApiService.getBillPage(billPageRequest);
return toPageInfo(billPage.getData(), AccountBillListVO.class, billPage.getPage());
}
/**
* 查询并校验门店是否存在以及阶段是否处于平安钱包未开通状态
*/