diff --git a/agileboot-api/src/main/java/com/agileboot/api/controller/PaymentController.java b/agileboot-api/src/main/java/com/agileboot/api/controller/PaymentController.java index a417d75..5a74aba 100644 --- a/agileboot-api/src/main/java/com/agileboot/api/controller/PaymentController.java +++ b/agileboot-api/src/main/java/com/agileboot/api/controller/PaymentController.java @@ -245,43 +245,23 @@ public class PaymentController { * 3. 返回余额最大的用户信息 */ @GetMapping("/getBalance") - public ResponseDTO getBalance(@RequestParam String openid) { + public ResponseDTO getBalance(@RequestParam String corpid, @RequestParam String openid) { String appid = "QWTONG_YS_WXSHOP"; - List qyAuthCorpInfoEntityList = authCorpInfoApplicationService.getByAppid(appid); - List qyUserEntityList = new ArrayList<>(); - for (QyAuthCorpInfoEntity qyAuthCorpInfoEntity : qyAuthCorpInfoEntityList) { - String corpid = qyAuthCorpInfoEntity.getCorpid(); - if (!corpid.equals(WeixinConstants.corpid)) { - continue; - } - QyAccessTokenEntity accessToken = accessTokenApplicationService.getByAppid(appid, corpid); - UserIdResponse userIdResponse = QywxApiUtil.convertToUserid(accessToken.getAccessToken(), openid); - QyUserEntity qyUser = qyUserApplicationService.getUserByUserIdAndCorpid(userIdResponse.getUserid(), corpid); - if (qyUser == null) { - continue; - } - qyUserEntityList.add(qyUser); - } - if (qyUserEntityList.isEmpty()) { - return ResponseDTO.fail(new ApiException(ErrorCode.Client.COMMON_REQUEST_PARAMETERS_INVALID, "无效的openid参数")); - } - // 找出余额最大的用户 - QyUserEntity maxBalanceUser = qyUserEntityList.stream() - .filter(user -> user.getBalance() != null) - .max(Comparator.comparing(QyUserEntity::getBalance)) - .orElse(null); - if (maxBalanceUser == null) { - return ResponseDTO.fail(new ApiException(ErrorCode.Client.COMMON_REQUEST_PARAMETERS_INVALID, "未找到有效余额信息")); + QyAccessTokenEntity accessToken = accessTokenApplicationService.getByAppid(appid, corpid); + UserIdResponse userIdResponse = QywxApiUtil.convertToUserid(accessToken.getAccessToken(), openid); + QyUserEntity qyUser = qyUserApplicationService.getUserByUserIdAndCorpid(userIdResponse.getUserid(), corpid); + if (qyUser == null) { + return ResponseDTO.fail(new ApiException(ErrorCode.Client.COMMON_REQUEST_PARAMETERS_INVALID, "无效的openid参数")); } // 创建响应对象(假设GetBalanceResponse包含balance字段) GetBalanceResponse response = new GetBalanceResponse( - maxBalanceUser.getUserid(), - maxBalanceUser.getCorpid(), - BigDecimal.ZERO, - BigDecimal.ZERO, - BigDecimal.ZERO); + qyUser.getUserid(), + qyUser.getCorpid(), + qyUser.getBalance(), + qyUser.getUseBalance(), + qyUser.getBalanceLimit()); return ResponseDTO.ok(response); } diff --git a/agileboot-domain/src/main/java/com/agileboot/domain/asset/AssetApplicationService.java b/agileboot-domain/src/main/java/com/agileboot/domain/asset/AssetApplicationService.java index 8857ccb..eebf21f 100644 --- a/agileboot-domain/src/main/java/com/agileboot/domain/asset/AssetApplicationService.java +++ b/agileboot-domain/src/main/java/com/agileboot/domain/asset/AssetApplicationService.java @@ -1,5 +1,6 @@ package com.agileboot.domain.asset; +import cn.hutool.json.JSONUtil; import com.agileboot.common.constant.WeixinConstants; import com.agileboot.domain.asset.command.PostAssetApprovalCommand; import com.agileboot.domain.asset.command.PostAssetGoodsCommand; @@ -45,6 +46,7 @@ public class AssetApplicationService { private final CabinetCellService cabinetCellService; public void pushExternalGoods(PostAssetGoodsCommand postAssetGoodsCommand) { + log.info("postAssetGoodsCommand: {}", JSONUtil.toJsonStr(postAssetGoodsCommand)); if (postAssetGoodsCommand == null || postAssetGoodsCommand.getGoodsInfoList() == null || postAssetGoodsCommand.getGoodsInfoList().isEmpty()) { throw new IllegalArgumentException("GoodsInfoList cannot be null or empty"); } @@ -67,7 +69,7 @@ public class AssetApplicationService { if (command.getStock() != null) { shopGoodsEntity.setStock(command.getStock()); } - if (command.getStock() != null) { + if (command.getMonthlyPurchaseLimit() != null) { shopGoodsEntity.setMonthlyPurchaseLimit(command.getMonthlyPurchaseLimit()); } if (command.getAutoApproval() != null) { @@ -98,6 +100,7 @@ public class AssetApplicationService { goodsModel.setGoodsDetail(command.getGoodsDetail()); goodsModel.setUsageInstruction(command.getUsageInstruction()); goodsModel.setBelongType(command.getBelongType()); + goodsModel.setMonthlyPurchaseLimit(command.getMonthlyPurchaseLimit()); goodsModel.initBaseEntity(); goodsModel.setCategoryId(0L); goodsModel.setStatus(1); diff --git a/agileboot-domain/src/main/java/com/agileboot/domain/qywx/authCorpInfo/AuthCorpInfoApplicationService.java b/agileboot-domain/src/main/java/com/agileboot/domain/qywx/authCorpInfo/AuthCorpInfoApplicationService.java index bf0efac..1a38e00 100644 --- a/agileboot-domain/src/main/java/com/agileboot/domain/qywx/authCorpInfo/AuthCorpInfoApplicationService.java +++ b/agileboot-domain/src/main/java/com/agileboot/domain/qywx/authCorpInfo/AuthCorpInfoApplicationService.java @@ -54,4 +54,8 @@ public class AuthCorpInfoApplicationService { public List getByAppid(String appid) { return authCorpInfoService.getByAppid(appid); } + + public QyAuthCorpInfoEntity selectByAppidAndCorpid(String appid, String corpid) { + return authCorpInfoService.selectByAppidAndCorpid(appid, corpid); + } } \ No newline at end of file diff --git a/agileboot-domain/src/main/java/com/agileboot/domain/qywx/authCorpInfo/db/QyAuthCorpInfoMapper.java b/agileboot-domain/src/main/java/com/agileboot/domain/qywx/authCorpInfo/db/QyAuthCorpInfoMapper.java index d8901bf..a67270b 100644 --- a/agileboot-domain/src/main/java/com/agileboot/domain/qywx/authCorpInfo/db/QyAuthCorpInfoMapper.java +++ b/agileboot-domain/src/main/java/com/agileboot/domain/qywx/authCorpInfo/db/QyAuthCorpInfoMapper.java @@ -34,4 +34,8 @@ public interface QyAuthCorpInfoMapper extends BaseMapper { @Select("SELECT * FROM qy_auth_corp_info WHERE appid = #{appid}") List selectByAppid(@Param("appid")String appid); + + + @Select("SELECT * FROM qy_auth_corp_info WHERE appid = #{appid} AND corpid = #{corpid} LIMIT 1") + QyAuthCorpInfoEntity selectByAppidAndCorpid(@Param("appid")String appid, @Param("corpid")String corpid); } diff --git a/agileboot-domain/src/main/java/com/agileboot/domain/qywx/authCorpInfo/db/QyAuthCorpInfoService.java b/agileboot-domain/src/main/java/com/agileboot/domain/qywx/authCorpInfo/db/QyAuthCorpInfoService.java index 07ae72b..dbb1bde 100644 --- a/agileboot-domain/src/main/java/com/agileboot/domain/qywx/authCorpInfo/db/QyAuthCorpInfoService.java +++ b/agileboot-domain/src/main/java/com/agileboot/domain/qywx/authCorpInfo/db/QyAuthCorpInfoService.java @@ -3,6 +3,8 @@ package com.agileboot.domain.qywx.authCorpInfo.db; import com.agileboot.common.core.page.AbstractPageQuery; import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.baomidou.mybatisplus.extension.service.IService; +import org.apache.ibatis.annotations.Param; + import java.util.List; /** @@ -20,4 +22,6 @@ public interface QyAuthCorpInfoService extends IService { List selectAll(); List getByAppid(String appid); + + QyAuthCorpInfoEntity selectByAppidAndCorpid(String appid, String corpid); } diff --git a/agileboot-domain/src/main/java/com/agileboot/domain/qywx/authCorpInfo/db/QyAuthCorpInfoServiceImpl.java b/agileboot-domain/src/main/java/com/agileboot/domain/qywx/authCorpInfo/db/QyAuthCorpInfoServiceImpl.java index 27feb26..9db29f0 100644 --- a/agileboot-domain/src/main/java/com/agileboot/domain/qywx/authCorpInfo/db/QyAuthCorpInfoServiceImpl.java +++ b/agileboot-domain/src/main/java/com/agileboot/domain/qywx/authCorpInfo/db/QyAuthCorpInfoServiceImpl.java @@ -33,4 +33,9 @@ public class QyAuthCorpInfoServiceImpl extends ServiceImpl getByAppid(String appid) { return baseMapper.selectByAppid(appid); } + + @Override + public QyAuthCorpInfoEntity selectByAppidAndCorpid(String appid, String corpid) { + return baseMapper.selectByAppidAndCorpid(appid, corpid); + } }