Merge #136 into master from cc_20260508_adjustment

feat:费用单费用调整单合并

* cc_20260508_adjustment: (20 commits squashed)

  - feat:费用单调整

  - feat:费用调整

  - feat:新增审批

  - feat:费用调整单

  - feat:调整单

  - feat:自动分账

  - feat:填写添加门店

  - feat:流水查询条件

  - Merge branch 'master' into cc_20260508_adjustment

  - feat:费用流水筛选条件

  - feat:getAdjustAmount

  - feat:提现申请单导出

  - feat:提现申请单导出 状态

  - feat:提现申请单导出 状态

  - Merge branch 'cc_20260513_withdrawApplication_export' into cc_20260508_adjustment
    
    # Conflicts:
    #	coolstore-partner-model/src/main/java/com/cool/store/dto/wallet/WithdrawApplicationDTO.java

  - feat:提现申请单导出 状态

  - feat:导出

  - feat:认款完成状态的费用单和调整单,若存在关联的费用分账单,不允许删除,未关联分账单的可以删除

  - feat:费用单费用调整单合并

  - feat:费用单费用调整单合并

Signed-off-by: 正新 <accounts_6964c7bcd2a2c377c5bbd01b@mail.teambition.com>
Merged-by: 正新 <accounts_6964c7bcd2a2c377c5bbd01b@mail.teambition.com>

CR-link: https://codeup.aliyun.com/692ea314dec569489f6f167c/hangzhou/java/custom_zxjp/change/136
This commit is contained in:
正新
2026-05-13 08:50:21 +00:00
parent a2648eaed4
commit 150b709b74
30 changed files with 489 additions and 69 deletions

View File

@@ -174,7 +174,9 @@ public class WalletHttpClientRest {
throw new ServiceException(ErrorCodeEnum.WALLET_API_ERROR, msg);
} else if (code == 610 || msg.equals("支付密码不正确")) {
throw new ServiceException(ErrorCodeEnum.PASSWORD_ERROR);
} else {
} else if (code == 611) {
throw new ServiceException(ErrorCodeEnum.WALLET_OPEN_ACCOUNT_NO_BALANCE);
}else {
throw new ServiceException(ErrorCodeEnum.THIRD_API_ERROR,
"code: " + code + ", msg: " + msg);
}

View File

@@ -87,5 +87,11 @@ public interface AdjustmentOrderService {
*/
Long pageCount(AdjustmentOrderPageRequest request,LoginUserInfo user);
/**
* 审批调整单
* @param request 审批请求
* @return 是否成功
*/
Boolean approval(AdjustmentApprovalRequest request);
}

View File

@@ -79,4 +79,11 @@ public interface ExportRealizeService {
* @param importTaskDO 导出任务
*/
void exportSplitOrder(SplitOrderPageRequest request, ImportTaskDO importTaskDO);
/**
* 提现申请导出
* @param request 查询Request
* @param importTaskDO 导出任务
*/
void exportWithdrawApplication(WithdrawApplicationPageRequest request, ImportTaskDO importTaskDO);
}

View File

@@ -103,14 +103,6 @@ public interface ExportService {
*/
Long exportAdjustmentOrder(AdjustmentOrderPageRequest request, LoginUserInfo user);
/**
* 费用单导出
* @param request 查询Request
* @param user 当前用户
* @return 记录总数
*/
Long exportExpenseOrder(AdjustmentOrderPageRequest request, LoginUserInfo user);
/**
* 分账单导出
* @param request 查询Request
@@ -118,4 +110,12 @@ public interface ExportService {
* @return 记录总数
*/
Long exportSplitOrder(SplitOrderPageRequest request, LoginUserInfo user);
/**
* 提现流水导出
* @param request
* @param user
* @return
*/
Long exportWithdrawApplication(WithdrawApplicationPageRequest request, LoginUserInfo user);
}

View File

@@ -1,5 +1,6 @@
package com.cool.store.service.impl;
import com.alibaba.fastjson.JSONObject;
import com.cool.store.context.CurrentUserHolder;
import com.cool.store.context.LoginUserInfo;
import com.cool.store.dao.*;
@@ -10,6 +11,8 @@ import com.cool.store.entity.SplitOrderDO;
import com.cool.store.entity.StoreDO;
import com.cool.store.enums.ErrorCodeEnum;
import com.cool.store.enums.ExpenseSheetTypeEnum;
import com.cool.store.enums.fees.AllocationPayStatusEnum;
import com.cool.store.enums.wallet.AdjustTypeEnum;
import com.cool.store.enums.wallet.DocStatusEnum;
import com.cool.store.enums.wallet.SplitSourceEnum;
import com.cool.store.enums.wallet.SplitTypeEnum;
@@ -19,11 +22,10 @@ import com.cool.store.request.wallet.ConfirmRechargeRequest;
import com.cool.store.request.wallet.OutStoreIdRequest;
import com.cool.store.response.AdjustmentOrderResponse;
import com.cool.store.service.AdjustmentOrderService;
import com.cool.store.service.UserAuthMappingService;
import com.cool.store.service.SplitOrderService;
import com.cool.store.service.dict.impl.DictService;
import com.cool.store.service.wallet.WalletApiService;
import com.cool.store.utils.GenerateNoUtil;
import com.cool.store.vo.login.UserLoginVO;
import com.github.pagehelper.PageHelper;
import com.github.pagehelper.PageInfo;
import lombok.extern.slf4j.Slf4j;
@@ -39,6 +41,7 @@ import java.util.stream.Collectors;
import java.util.stream.Stream;
import static com.cool.store.enums.fees.AllocationPayStatusEnum.*;
import static com.cool.store.enums.fees.WalletFeeItemEnum.*;
import static com.cool.store.enums.wallet.DocStatusEnum.*;
/**
@@ -69,8 +72,13 @@ public class AdjustmentOrderServiceImpl implements AdjustmentOrderService {
@Resource
DictService dictService;
private static final String ADJUSTMENT_ORDER_PREFIX = "TZ";
private static final String EXPENSE_SHEET_PREFIX = "FY";
@Resource
SplitOrderService splitOrderService;
private static final String PAYEE_ACCOUNT_NAME = "上海立规装饰设计工程有限公司";
private static final String PAYEE_ACCOUNT_NO = "422011940168069";
@Override
@Transactional(rollbackFor = Exception.class)
@@ -82,7 +90,10 @@ public class AdjustmentOrderServiceImpl implements AdjustmentOrderService {
if (store == null) {
throw new ServiceException(ErrorCodeEnum.STORE_IS_EXIST);
}
Integer status = DOC_STATUS_1.getStatus();
if (request.getAdjustType()!=null && request.getAdjustType()==2){
status = DOC_STATUS_05.getStatus();
}
AdjustmentOrderDO adjustmentOrder = AdjustmentOrderDO.builder()
.adjustmentNo(GenerateNoUtil.generateAdjustmentNo(request.getExpenseSheetType()))
.storeId(request.getStoreId())
@@ -97,7 +108,7 @@ public class AdjustmentOrderServiceImpl implements AdjustmentOrderService {
.expenseSheetType(request.getExpenseSheetType())
.settledAmount(new BigDecimal("0"))
.pendingSettlementAmount(request.getAdjustAmount())
.status(DOC_STATUS_1.getStatus())
.status(status)
.createUserId(userId)
.createTime(new Date())
.build();
@@ -119,7 +130,7 @@ public class AdjustmentOrderServiceImpl implements AdjustmentOrderService {
}
// 只有待确认缴费状态才能编辑
if (!DOC_STATUS_1.getStatus().equals(existing.getStatus())) {
if (!(DOC_STATUS_1.getStatus().equals(existing.getStatus())||DOC_STATUS_05.getStatus().equals(existing.getStatus()))) {
throw new ServiceException(ErrorCodeEnum.NOT_SUPPORT_OPERATION);
}
@@ -155,13 +166,28 @@ public class AdjustmentOrderServiceImpl implements AdjustmentOrderService {
throw new ServiceException(ErrorCodeEnum.CHANGE_NOT_NULL);
}
// 只有待确认缴费状态才能删除
if (!DOC_STATUS_1.getStatus().equals(existing.getStatus())) {
throw new ServiceException(ErrorCodeEnum.NOT_SUPPORT_OPERATION);
// 待确认缴费状态可以直接删除
if (DocStatusEnum.getCanDeleteStatus().contains(existing.getStatus())) {
existing.setDeleted(1);
adjustmentOrderDAO.update(existing);
return Boolean.TRUE;
}
existing.setDeleted(1);
adjustmentOrderDAO.update(existing);
return Boolean.TRUE;
// 认款完成状态,检查是否有关联的分账单
if (DOC_STATUS_3.getStatus().equals(existing.getStatus())) {
List<SplitOrderDO> splitOrderDOS = splitOrderDAO.listByRelatedDocNo(
existing.getAdjustmentNo(),
AllocationPayStatusEnum.getAllStatus());
if (CollectionUtils.isNotEmpty(splitOrderDOS)) {
throw new ServiceException(ErrorCodeEnum.NOT_SUPPORT_OPERATION);
}
existing.setDeleted(1);
adjustmentOrderDAO.update(existing);
return Boolean.TRUE;
}
// 其他状态不允许删除
throw new ServiceException(ErrorCodeEnum.NOT_SUPPORT_OPERATION);
}
@Override
@@ -177,10 +203,6 @@ public class AdjustmentOrderServiceImpl implements AdjustmentOrderService {
return buildResponse(adjustmentOrder);
}
@Resource
UserAuthMappingService userAuthMappingService;
@Resource
EnterpriseUserRoleDao enterpriseUserRoleDao;
@Override
public PageInfo<AdjustmentOrderResponse> page(AdjustmentOrderPageRequest request, String userId) {
@@ -371,9 +393,68 @@ public class AdjustmentOrderServiceImpl implements AdjustmentOrderService {
log.info("费用调整单认款成功,单号:{},交易流水号:{}",
adjustmentOrder.getAdjustmentNo(), request.getTradeNos());
//查看当前门店是否有账户
OutStoreIdRequest outStoreIdRequest = new OutStoreIdRequest();
outStoreIdRequest.setOutStoreId(adjustmentOrder.getStoreId());
AccountInfoDTO onlineAccountInfo = walletApiService.getOnlineAccountInfo(outStoreIdRequest);
if (onlineAccountInfo==null){
log.info("费用调整单认款成功_当前门店无网商钱包账户");
return Boolean.TRUE;
}
//费用单:费用类型为“灯箱广告类(立规) ”、“监控设备类(立规)” ,认款完成自动分账,默认分账到“上海立规装饰设计工程有限公司”
if (autoSplitOrder(adjustmentOrder.getExpenseSheetType(),adjustmentOrder.getExpenseTypeCode(),adjustmentOrder.getAdjustType())){
StoreDO store = storeDao.getByStoreId(adjustmentOrder.getStoreId());
GenerateSplitOrderRequest generateSplitOrderRequest = new GenerateSplitOrderRequest();
generateSplitOrderRequest.setId(update.getId());
generateSplitOrderRequest.setRemark(store.getStoreName()+adjustmentOrder.getRemark());
//
generateSplitOrderRequest.setSplitType(SplitTypeEnum.ADD_BY_HAND.getStatus());
generateSplitOrderRequest.setSplitAmount(adjustmentOrder.getPendingSettlementAmount());
//收款账户
generateSplitOrderRequest.setPayeeAccountName(PAYEE_ACCOUNT_NAME);
generateSplitOrderRequest.setPayeeAccountNo(PAYEE_ACCOUNT_NO);
//付款账户
generateSplitOrderRequest.setPayerAccountName(onlineAccountInfo.getAccountName());
generateSplitOrderRequest.setPayerAccountNo(onlineAccountInfo.getAccountNo());
//生成分账单
String splitOrder = generateSplitOrder(generateSplitOrderRequest);
SplitOrderDO adjustDO = splitOrderDAO.getBySplitNo(splitOrder);
//确认分账
splitOrderService.confirmSplitOrder(adjustDO.getId(),userInfo);
}
return Boolean.TRUE;
}
/**
* 是否自动分账
* 费用单 广告费或者视频设备费
* 调整单 广告费或者视频设备费 且是调增
* @param expenseSheetType
* @param expenseType
* @param adjustType
* @return
*/
private Boolean autoSplitOrder(Integer expenseSheetType, String expenseType, Integer adjustType) {
// 广告费或者视频设备费
boolean flag = ADVERTISEMENT_FEE.getExpenseType().equals(expenseType)
|| VIDEO_DEVICE_FEE.getExpenseType().equals(expenseType);
if (expenseSheetType == ExpenseSheetTypeEnum.EXPENSE_SHEET.getCode()) {
// 广告费或者视频设备费 自动分账 返回true其他费用类型手动分账
return flag;
}
// 调整单逻辑
if (expenseSheetType == ExpenseSheetTypeEnum.ADJUSTMENT_SHEET.getCode()) {
// 调整单逻辑:调增 且 广告费/视频设备费 才自动分账
return adjustType == AdjustTypeEnum.ADJUST_TYPE_1.getCode()&& flag;
}
// 其他单据类型不分账
return Boolean.FALSE;
}
@Override
public Boolean calculateAmount(String no, String transferAmount) {
AdjustmentOrderDO adjustmentOrderDO = adjustmentOrderDAO.getByAdjustmentNo(no);
@@ -413,6 +494,47 @@ public class AdjustmentOrderServiceImpl implements AdjustmentOrderService {
return adjustmentOrderDAO.pageCount(request);
}
@Override
@Transactional(rollbackFor = Exception.class)
public Boolean approval(AdjustmentApprovalRequest request) {
if (request.getId() == null) {
throw new ServiceException(ErrorCodeEnum.CHANGE_ID_NOT_NULL);
}
AdjustmentOrderDO adjustmentOrder = adjustmentOrderDAO.getById(request.getId());
if (adjustmentOrder == null) {
throw new ServiceException(ErrorCodeEnum.CHANGE_NOT_NULL);
}
// 只有待审批状态才能审批
if (!DOC_STATUS_05.getStatus().equals(adjustmentOrder.getStatus())) {
throw new ServiceException(ErrorCodeEnum.NOT_SUPPORT_OPERATION);
}
// 拒绝时必须填写拒绝原因
if (request.getApprovalResult() == 2 && StringUtils.isBlank(request.getRejectReason())) {
throw new ServiceException(ErrorCodeEnum.ERROR_MESSAGE, "拒绝原因不能为空");
}
Integer newStatus;
if (request.getApprovalResult() == 1) {
// 审批通过,状态变为待充值
newStatus = DOC_STATUS_1.getStatus();
} else {
// 审批拒绝,状态变为审批未通过
newStatus = DOC_STATUS_15.getStatus();
}
AdjustmentOrderDO update = AdjustmentOrderDO.builder()
.id(request.getId())
.status(newStatus)
.rejectReason(request.getRejectReason())
.build();
int result = adjustmentOrderDAO.update(update);
return result > 0;
}
/**
* 构建响应对象
*/
@@ -437,6 +559,7 @@ public class AdjustmentOrderServiceImpl implements AdjustmentOrderService {
response.setClaimTime(adjustmentOrder.getClaimTime());
response.setContractAttachmentInfo(adjustmentOrder.getContractAttachmentInfo());
response.setPayTime(adjustmentOrder.getPayTime());
response.setRejectReason(adjustmentOrder.getRejectReason());
// 设置门店信息
if (StringUtils.isNotBlank(adjustmentOrder.getStoreId())) {

View File

@@ -8,8 +8,10 @@ import com.cool.store.dao.*;
import com.cool.store.dto.*;
import com.cool.store.dto.tp.TpScoreJournalExportDTO;
import com.cool.store.dto.pre.fry.ApplyManagementDTO;
import com.cool.store.dto.wallet.WithdrawApplicationDTO;
import com.cool.store.entity.*;
import com.cool.store.enums.*;
import com.cool.store.enums.fees.AllocationPayStatusEnum;
import com.cool.store.enums.point.*;
import com.cool.store.exception.ServiceException;
import com.cool.store.mapper.*;
@@ -17,6 +19,8 @@ import com.cool.store.request.*;
import com.cool.store.request.order.PCStoreOrderQueryRequest;
import com.cool.store.request.tp.TpScoreJournalQueryRequest;
import com.cool.store.request.visit.VisitRecordQueryRequest;
import com.cool.store.request.wallet.BillDetailRequest;
import com.cool.store.request.WithdrawApplicationPageRequest;
import com.cool.store.request.visit.VisitRecordQueryRequest;
import com.cool.store.response.*;
import com.cool.store.service.*;
@@ -140,6 +144,8 @@ public class ExportRealizeServiceImpl implements ExportRealizeService {
AdjustmentOrderService adjustmentOrderService;
@Resource
SplitOrderService splitOrderService;
@Resource
private WithdrawApplicationService withdrawApplicationService;
@Override
@Async
@@ -955,7 +961,6 @@ public class ExportRealizeServiceImpl implements ExportRealizeService {
(pageNum, pageSize) -> {
request.setPageNum(pageNum);
request.setPageSize(pageSize);
request.setExpenseSheetType(2);
PageInfo<AdjustmentOrderResponse> pageInfo = adjustmentOrderService.page(request,importTaskDO.getCreateUserId());
List<AdjustmentOrderResponse> list = pageInfo.getList();
dictService.fillDictField(list);
@@ -1028,5 +1033,31 @@ public class ExportRealizeServiceImpl implements ExportRealizeService {
redisUtilPool.delKey(RedisConstant.SPLIT_ORDER_EXPORT_LOCK);
}
}
@Override
@Async("generalThreadPool")
public void exportWithdrawApplication(WithdrawApplicationPageRequest request, ImportTaskDO importTaskDO) {
String url = "";
try {
url = easyExcelUtil.exportExcelInBatches(WithdrawApplicationDTO.class,
(pageNum, pageSize) -> {
request.setPageNum(pageNum);
request.setPageSize(pageSize);
PageInfo<WithdrawApplicationDTO> page = withdrawApplicationService.page(request);
List<WithdrawApplicationDTO> list = page.getList();
return list;
},
FileTypeEnum.WITHDRAW_APPLICATION_EXPORT.getDesc(),
FileTypeEnum.WITHDRAW_APPLICATION_EXPORT.getDesc());
importTaskDO.setStatus(ImportStatusEnum.success.getCode());
} catch (Exception e) {
log.error("提现申请导出失败", e);
importTaskDO.setStatus(ImportStatusEnum.fail.getCode());
} finally {
importTaskDO.setFileUrl(url);
importTaskMapper.update(eid, importTaskDO);
redisUtilPool.delKey(RedisConstant.WITHDRAW_APPLICATION_EXPORT_LOCK);
}
}
}

View File

@@ -8,6 +8,7 @@ import com.cool.store.dao.HyOpenAreaInfoDAO;
import com.cool.store.dao.LineInfoDAO;
import com.cool.store.dao.PreFryQualificationApplyDAO;
import com.cool.store.dao.ShopInfoDAO;
import com.cool.store.dao.WithdrawApplicationDAO;
import com.cool.store.dao.order.StoreOrderDAO;
import com.cool.store.dao.visit.VisitRecordDAO;
import com.cool.store.dto.pre.fry.ApplyManagementDTO;
@@ -93,6 +94,8 @@ public class ExportServiceImpl implements ExportService {
private AdjustmentOrderService adjustmentOrderService;
@Resource
private SplitOrderService splitOrderService;
@Resource
private WithdrawApplicationDAO withdrawApplicationDAO;
@@ -407,32 +410,7 @@ public class ExportServiceImpl implements ExportService {
return count;
}
@Override
public Long exportExpenseOrder(AdjustmentOrderPageRequest request, LoginUserInfo user) {
Long count = adjustmentOrderService.pageCount(request,user);
if (count.intValue() > CommonConstants.MAX_EXPORT_SIZE_PRO) {
throw new ServiceException(ErrorCodeEnum.EXPORT_LIMIT_100000);
}
if (Long.valueOf(0).equals(count)) {
log.error("导出数据为空");
return 0L;
}
boolean lock = redisUtilPool.setNxExpire(RedisConstant.EXPENSE_ORDER_EXPORT_LOCK, RedisConstant.EXPENSE_ORDER_EXPORT_LOCK, 30 * 60 * 1000);
if (!lock) {
throw new ServiceException(ErrorCodeEnum.EXPORT_TASK_LIMIT);
}
ImportTaskDO importTaskDO = new ImportTaskDO();
importTaskDO.setStatus(ImportStatusEnum.Ongoing.getCode());
importTaskDO.setFileName(FileTypeEnum.EXPENSE_ORDER_EXPORT.getDesc() + DateUtils.parseDateToStr(DateUtils.SPECIAL_DATE_START_1, new Date()));
importTaskDO.setIsImport(Boolean.FALSE);
importTaskDO.setFileType(FileTypeEnum.EXPENSE_ORDER_EXPORT.getFileType());
importTaskDO.setCreateUserId(user.getUserId());
importTaskDO.setCreateTime(new Date().getTime());
importTaskDO.setCreateName(user.getName());
importTaskMapper.insert(eid, importTaskDO);
exportRealizeService.exportExpenseOrder(request, importTaskDO);
return count;
}
@Override
public Long exportSplitOrder(SplitOrderPageRequest request, LoginUserInfo user) {
@@ -461,5 +439,32 @@ public class ExportServiceImpl implements ExportService {
return count;
}
@Override
public Long exportWithdrawApplication(WithdrawApplicationPageRequest request, LoginUserInfo user) {
Long count = withdrawApplicationDAO.count(request);
if (count.intValue() > CommonConstants.MAX_EXPORT_SIZE_PRO) {
throw new ServiceException(ErrorCodeEnum.EXPORT_LIMIT_100000);
}
if (Long.valueOf(0).equals(count)) {
log.error("导出数据为空");
return 0L;
}
boolean lock = redisUtilPool.setNxExpire(RedisConstant.WITHDRAW_APPLICATION_EXPORT_LOCK, RedisConstant.WITHDRAW_APPLICATION_EXPORT_LOCK, 30 * 60 * 1000);
if (!lock) {
throw new ServiceException(ErrorCodeEnum.EXPORT_TASK_LIMIT);
}
ImportTaskDO importTaskDO = new ImportTaskDO();
importTaskDO.setStatus(ImportStatusEnum.Ongoing.getCode());
importTaskDO.setFileName(FileTypeEnum.WITHDRAW_APPLICATION_EXPORT.getDesc() + DateUtils.parseDateToStr(DateUtils.SPECIAL_DATE_START_1, new Date()));
importTaskDO.setIsImport(Boolean.FALSE);
importTaskDO.setFileType(FileTypeEnum.WITHDRAW_APPLICATION_EXPORT.getFileType());
importTaskDO.setCreateUserId(user.getUserId());
importTaskDO.setCreateTime(new Date().getTime());
importTaskDO.setCreateName(user.getName());
importTaskMapper.insert(eid, importTaskDO);
exportRealizeService.exportWithdrawApplication(request, importTaskDO);
return count;
}
}

View File

@@ -5,11 +5,13 @@ import com.cool.store.constants.RedisConstant;
import com.cool.store.context.CurrentUserHolder;
import com.cool.store.context.LoginUserInfo;
import com.cool.store.dao.EnterpriseUserDAO;
import com.cool.store.dao.StoreDao;
import com.cool.store.dao.WithdrawApplicationDAO;
import com.cool.store.dao.wallet.WalletTradeDAO;
import com.cool.store.dto.wallet.AccountWithdrawerDTO;
import com.cool.store.dto.wallet.TradeRecordDTO;
import com.cool.store.dto.wallet.WithdrawApplicationDTO;
import com.cool.store.entity.StoreDO;
import com.cool.store.entity.WithdrawApplicationDO;
import com.cool.store.entity.wallet.WalletTradeDO;
import com.cool.store.enums.ErrorCodeEnum;
@@ -28,6 +30,7 @@ import com.cool.store.utils.RedisUtil;
import com.github.pagehelper.PageHelper;
import com.github.pagehelper.PageInfo;
import lombok.extern.slf4j.Slf4j;
import org.apache.commons.collections4.CollectionUtils;
import org.apache.commons.lang3.StringUtils;
import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional;
@@ -65,6 +68,9 @@ public class WithdrawApplicationServiceImpl implements WithdrawApplicationServic
@Resource
EnterpriseUserDAO enterpriseUserDAO;
@Resource
StoreDao storeDao;
private static final String WITHDRAW_ORDER_PREFIX = "TX";
@Override
@@ -77,8 +83,19 @@ public class WithdrawApplicationServiceImpl implements WithdrawApplicationServic
.filter(StringUtils::isNotBlank)
.collect(Collectors.toSet());
Map<String, String> userNameMap = enterpriseUserDAO.getUserNameMap(new ArrayList<>(userIdList));
// 获取门店ID列表并查询门店名称
Set<String> storeIdList = responses.stream()
.filter(x -> StringUtils.isNotBlank(x.getRelateStoreId()))
.map(WithdrawApplicationDTO::getRelateStoreId)
.collect(Collectors.toSet());
Map<String, StoreDO> storeNameMap = storeDao.getStoreMapByStoreIds(new ArrayList<>(storeIdList));
responses.stream().forEach(x->{
x.setCreateUserName(userNameMap.get(x.getCreateUserId()));
StoreDO storeDO = storeNameMap.get(x.getRelateStoreId());
if (storeDO!=null){
x.setRelateStoreName(storeDO.getStoreName());
}
});
return new PageInfo<>(responses);
}
@@ -96,6 +113,8 @@ public class WithdrawApplicationServiceImpl implements WithdrawApplicationServic
.amount(request.getAmount())
.bankCardNo(request.getBankCardNo())
.bankName(request.getBankName())
.relateStoreId(request.getRelateStoreId())
.remark(request.getRemark())
.status(AllocationPayStatusEnum.UNPAID.getStatus())
.createUserId(userId)
.createTime(new Date())

View File

@@ -30,6 +30,7 @@ import com.cool.store.mapper.ApplyLicenseMapper;
import com.cool.store.request.wallet.*;
import com.cool.store.service.UserAuthMappingService;
import com.cool.store.service.dict.impl.DictService;
import com.cool.store.service.fees.WalletPayInfoService;
import com.cool.store.service.impl.CommonService;
import com.cool.store.service.wallet.*;
import com.cool.store.utils.BeanUtil;
@@ -82,6 +83,7 @@ public class WalletServiceImpl implements WalletService {
private final UserAuthMappingService userAuthMappingService;
private final CommonService commonService;
private final WalletTradeService walletTradeService;
private final WalletPayInfoService walletPayInfoService;
@Value("${wallet.org.id}")
private Long orgId;
@@ -558,6 +560,10 @@ public class WalletServiceImpl implements WalletService {
if (orgFlag){
tradeRecodePageRequest.setOrgId(orgId);
}
if (StringUtils.isNotEmpty(request.getExpenseTypeCode())){
tradeRecodePageRequest.setFeeItemId(walletPayInfoService.getFeeItemId(request.getExpenseTypeCode()));
}
TradeRecordListDTO tradeRecordListDTO = walletApiService.getTradeRecordList(tradeRecodePageRequest);
return toPageInfo(tradeRecordListDTO.getPageData(), TradeRecordDTO.class, tradeRecordListDTO.getPage());
}