From 08675d26d73c60e1c593e901e09588acf2c39233 Mon Sep 17 00:00:00 2001
From: rk <94314517@qq.com>
Date: 星期五, 10 四月 2026 20:03:47 +0800
Subject: [PATCH] 代码生成
---
server/services/src/main/java/com/doumee/service/business/impl/WithdrawalOrdersServiceImpl.java | 300 +++++------------------------------------------------------
1 files changed, 29 insertions(+), 271 deletions(-)
diff --git a/server/services/src/main/java/com/doumee/service/business/impl/WithdrawalOrdersServiceImpl.java b/server/services/src/main/java/com/doumee/service/business/impl/WithdrawalOrdersServiceImpl.java
index 20bf1f1..68070ca 100644
--- a/server/services/src/main/java/com/doumee/service/business/impl/WithdrawalOrdersServiceImpl.java
+++ b/server/services/src/main/java/com/doumee/service/business/impl/WithdrawalOrdersServiceImpl.java
@@ -1,60 +1,35 @@
package com.doumee.service.business.impl;
-import com.alibaba.fastjson.JSONObject;
-import com.doumee.config.wx.SendWxMessage;
-import com.doumee.config.wx.TransferToUser;
-import com.doumee.config.wx.WXPayUtility;
-import com.doumee.config.wx.WxMiniConfig;
+import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
+import com.baomidou.mybatisplus.core.conditions.update.UpdateWrapper;
+import com.baomidou.mybatisplus.core.metadata.IPage;
+import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.doumee.core.constants.Constants;
import com.doumee.core.constants.ResponseStatus;
import com.doumee.core.exception.BusinessException;
import com.doumee.core.model.PageData;
import com.doumee.core.model.PageWrap;
-import com.doumee.core.utils.DateUtil;
import com.doumee.core.utils.Utils;
-import com.doumee.dao.business.MemberMapper;
-import com.doumee.dao.business.MemberRevenueMapper;
import com.doumee.dao.business.WithdrawalOrdersMapper;
-import com.doumee.dao.business.model.Member;
-import com.doumee.dao.business.model.MemberRevenue;
import com.doumee.dao.business.model.WithdrawalOrders;
-import com.doumee.dao.dto.WithdrawalDTO;
import com.doumee.service.business.WithdrawalOrdersService;
-import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
-import com.baomidou.mybatisplus.core.conditions.update.UpdateWrapper;
-import com.baomidou.mybatisplus.core.metadata.IPage;
-import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
+import org.apache.commons.lang3.StringUtils;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
-import org.springframework.transaction.annotation.Transactional;
-import org.springframework.util.CollectionUtils;
-import org.springframework.util.StringUtils;
-import java.math.BigDecimal;
-import java.util.Date;
import java.util.List;
import java.util.Objects;
-import java.util.UUID;
/**
* 鎻愮幇鐢宠璁板綍Service瀹炵幇
- * @author 姹熻箘韫�
- * @date 2025/07/09 12:00
+ * @author rk
+ * @date 2026/04/10
*/
@Service
public class WithdrawalOrdersServiceImpl implements WithdrawalOrdersService {
@Autowired
private WithdrawalOrdersMapper withdrawalOrdersMapper;
-
- @Autowired
- private MemberMapper memberMapper;
-
- @Autowired
- private MemberRevenueMapper memberRevenueMapper;
-
- @Autowired
- private SendWxMessage sendWxMessage;
@Override
public Integer create(WithdrawalOrders withdrawalOrders) {
@@ -64,7 +39,9 @@
@Override
public void deleteById(Integer id) {
- withdrawalOrdersMapper.deleteById(id);
+ withdrawalOrdersMapper.update(new UpdateWrapper<WithdrawalOrders>().lambda()
+ .set(WithdrawalOrders::getDeleted, Constants.ONE)
+ .eq(WithdrawalOrders::getId, id));
}
@Override
@@ -75,7 +52,7 @@
@Override
public void deleteByIdInBatch(List<Integer> ids) {
- if (CollectionUtils.isEmpty(ids)) {
+ if (ids == null || ids.isEmpty()) {
return;
}
withdrawalOrdersMapper.deleteBatchIds(ids);
@@ -87,18 +64,22 @@
}
@Override
- public void updateByIdInBatch(List<WithdrawalOrders> withdrawalOrderss) {
- if (CollectionUtils.isEmpty(withdrawalOrderss)) {
+ public void updateByIdInBatch(List<WithdrawalOrders> withdrawalOrdersList) {
+ if (withdrawalOrdersList == null || withdrawalOrdersList.isEmpty()) {
return;
}
- for (WithdrawalOrders withdrawalOrders: withdrawalOrderss) {
+ for (WithdrawalOrders withdrawalOrders : withdrawalOrdersList) {
this.updateById(withdrawalOrders);
}
}
@Override
public WithdrawalOrders findById(Integer id) {
- return withdrawalOrdersMapper.selectById(id);
+ WithdrawalOrders withdrawalOrders = withdrawalOrdersMapper.selectById(id);
+ if (Objects.isNull(withdrawalOrders)) {
+ throw new BusinessException(ResponseStatus.DATA_EMPTY);
+ }
+ return withdrawalOrders;
}
@Override
@@ -112,55 +93,21 @@
QueryWrapper<WithdrawalOrders> wrapper = new QueryWrapper<>(withdrawalOrders);
return withdrawalOrdersMapper.selectList(wrapper);
}
-
+
@Override
public PageData<WithdrawalOrders> findPage(PageWrap<WithdrawalOrders> pageWrap) {
IPage<WithdrawalOrders> page = new Page<>(pageWrap.getPage(), pageWrap.getCapacity());
QueryWrapper<WithdrawalOrders> queryWrapper = new QueryWrapper<>();
Utils.MP.blankToNull(pageWrap.getModel());
- if (pageWrap.getModel().getId() != null) {
- queryWrapper.lambda().eq(WithdrawalOrders::getId, pageWrap.getModel().getId());
- }
- if (pageWrap.getModel().getDeleted() != null) {
- queryWrapper.lambda().eq(WithdrawalOrders::getDeleted, pageWrap.getModel().getDeleted());
- }
- if (pageWrap.getModel().getCreateUser() != null) {
- queryWrapper.lambda().eq(WithdrawalOrders::getCreateUser, pageWrap.getModel().getCreateUser());
- }
- if (pageWrap.getModel().getCreateTime() != null) {
- queryWrapper.lambda().ge(WithdrawalOrders::getCreateTime, Utils.Date.getStart(pageWrap.getModel().getCreateTime()));
- queryWrapper.lambda().le(WithdrawalOrders::getCreateTime, Utils.Date.getEnd(pageWrap.getModel().getCreateTime()));
- }
- if (pageWrap.getModel().getUpdateUser() != null) {
- queryWrapper.lambda().eq(WithdrawalOrders::getUpdateUser, pageWrap.getModel().getUpdateUser());
- }
- if (pageWrap.getModel().getUpdateTime() != null) {
- queryWrapper.lambda().ge(WithdrawalOrders::getUpdateTime, Utils.Date.getStart(pageWrap.getModel().getUpdateTime()));
- queryWrapper.lambda().le(WithdrawalOrders::getUpdateTime, Utils.Date.getEnd(pageWrap.getModel().getUpdateTime()));
- }
- if (pageWrap.getModel().getRemark() != null) {
- queryWrapper.lambda().eq(WithdrawalOrders::getRemark, pageWrap.getModel().getRemark());
- }
- if (pageWrap.getModel().getMemberId() != null) {
- queryWrapper.lambda().eq(WithdrawalOrders::getMemberId, pageWrap.getModel().getMemberId());
- }
- if (pageWrap.getModel().getAmount() != null) {
- queryWrapper.lambda().eq(WithdrawalOrders::getAmount, pageWrap.getModel().getAmount());
- }
- if (pageWrap.getModel().getWxExternalNo() != null) {
- queryWrapper.lambda().eq(WithdrawalOrders::getWxExternalNo, pageWrap.getModel().getWxExternalNo());
- }
- if (pageWrap.getModel().getStatus() != null) {
- queryWrapper.lambda().eq(WithdrawalOrders::getStatus, pageWrap.getModel().getStatus());
- }
- if (pageWrap.getModel().getDoneTime() != null) {
- queryWrapper.lambda().ge(WithdrawalOrders::getDoneTime, Utils.Date.getStart(pageWrap.getModel().getDoneTime()));
- queryWrapper.lambda().le(WithdrawalOrders::getDoneTime, Utils.Date.getEnd(pageWrap.getModel().getDoneTime()));
- }
- if (pageWrap.getModel().getDoneInfo() != null) {
- queryWrapper.lambda().eq(WithdrawalOrders::getDoneInfo, pageWrap.getModel().getDoneInfo());
- }
- for(PageWrap.SortData sortData: pageWrap.getSorts()) {
+ pageWrap.getModel().setDeleted(Constants.ZERO);
+ queryWrapper.lambda().eq(WithdrawalOrders::getDeleted, pageWrap.getModel().getDeleted());
+ queryWrapper.lambda().like(StringUtils.isNotBlank(pageWrap.getModel().getOutBillNo()), WithdrawalOrders::getOutBillNo, pageWrap.getModel().getOutBillNo());
+ queryWrapper.lambda().eq(pageWrap.getModel().getMemberId() != null, WithdrawalOrders::getMemberId, pageWrap.getModel().getMemberId());
+ queryWrapper.lambda().eq(pageWrap.getModel().getStatus() != null, WithdrawalOrders::getStatus, pageWrap.getModel().getStatus());
+ queryWrapper.lambda().eq(pageWrap.getModel().getType() != null, WithdrawalOrders::getType, pageWrap.getModel().getType());
+ queryWrapper.lambda().ge(pageWrap.getModel().getCreateStartTime() != null, WithdrawalOrders::getCreateTime, Utils.Date.getStart(pageWrap.getModel().getCreateStartTime()));
+ queryWrapper.lambda().le(pageWrap.getModel().getCreateEndTime() != null, WithdrawalOrders::getCreateTime, Utils.Date.getEnd(pageWrap.getModel().getCreateEndTime()));
+ for (PageWrap.SortData sortData : pageWrap.getSorts()) {
if (sortData.getDirection().equalsIgnoreCase(PageWrap.DESC)) {
queryWrapper.orderByDesc(sortData.getProperty());
} else {
@@ -175,194 +122,5 @@
QueryWrapper<WithdrawalOrders> wrapper = new QueryWrapper<>(withdrawalOrders);
return withdrawalOrdersMapper.selectCount(wrapper);
}
-
-
- /************************************绉诲姩绔帴鍙�*******************************************/
-
- /**
- * 鎻愮幇鐢宠
- * @param withdrawalDTO
- */
- @Override
- @Transactional(rollbackFor = {BusinessException.class,Exception.class})
- public TransferToUser.TransferToUserResponse applyWithdrawal(WithdrawalDTO withdrawalDTO){
- if(Objects.isNull(withdrawalDTO)
- || Objects.isNull(withdrawalDTO.getAmount())
- || org.apache.commons.lang3.StringUtils.isBlank(withdrawalDTO.getName())
- || withdrawalDTO.getAmount().compareTo(BigDecimal.ZERO)<=Constants.ZERO
- ){
- throw new BusinessException(ResponseStatus.BAD_REQUEST);
- }
- Member member = memberMapper.selectById(withdrawalDTO.getMember().getId());
- if(Objects.isNull(member)){
- throw new BusinessException(ResponseStatus.NOT_ALLOWED.getCode(),"鐢ㄦ埛淇℃伅寮傚父,璇疯仈绯荤鐞嗗憳");
- }
- if(member.getAmount() < withdrawalDTO.getAmount().multiply(new BigDecimal("100")).intValue()){
- throw new BusinessException(ResponseStatus.NOT_ALLOWED.getCode(),"瀵逛笉璧凤紝鍙彁鐜颁綑棰濅笉瓒炽��");
- }
- if(StringUtils.isEmpty(member.getName())){
- throw new BusinessException(ResponseStatus.NOT_ALLOWED.getCode(),"璇峰厛鍘荤淮鎶ょ湡瀹炲鍚嶅悗杩涜鎻愮幇鐢宠");
- }
- WithdrawalOrders withdrawalOrders = new WithdrawalOrders();
- withdrawalOrders.setCreateTime(new Date());
- withdrawalOrders.setMemberId(member.getId());
- withdrawalOrders.setOutBillNo(UUID.randomUUID().toString().replace("-",""));
- withdrawalOrders.setAmount((withdrawalDTO.getAmount().multiply(new BigDecimal("100"))).longValue());
- withdrawalOrders.setStatus(Constants.ZERO);
- withdrawalOrders.setType(Constants.ZERO);
- withdrawalOrders.setDeleted(Constants.ZERO);
-
- //鍙戣捣鎻愮幇鐢宠
- TransferToUser.TransferToUserRequest transferToUserRequest = new TransferToUser.TransferToUserRequest();
- transferToUserRequest.openid = member.getOpenid();
- transferToUserRequest.outBillNo = withdrawalOrders.getOutBillNo();
- transferToUserRequest.transferAmount = withdrawalOrders.getAmount();
- transferToUserRequest.transferRemark = "鎻愮幇鐢宠";
- try {
- TransferToUser.TransferToUserResponse response = WxMiniConfig.transferToUser.run(transferToUserRequest,withdrawalDTO.getName());
- withdrawalOrders.setRemark(JSONObject.toJSONString(response));
- if(response.state.name().equals("WAIT_USER_CONFIRM") || response.state.name().equals("ACCEPTED")){
- withdrawalOrders.setWxExternalNo(response.transferBillNo);
- }
- withdrawalOrdersMapper.insert(withdrawalOrders);
- //鏇存柊鐢ㄦ埛浣欓
- memberMapper.update(new UpdateWrapper<Member>().lambda().setSql(" AMOUNT = AMOUNT - " + withdrawalOrders.getAmount() ).eq(Member::getId,member.getId()));
- //瀛樺偍娴佹按璁板綍
- MemberRevenue memberRevenue = new MemberRevenue();
- memberRevenue.setCreateTime(new Date());
- memberRevenue.setTransactionNo(withdrawalOrders.getOutBillNo());
- memberRevenue.setDeleted(Constants.ZERO);
- memberRevenue.setMemberId(member.getId());
- memberRevenue.setType(Constants.THREE);
- memberRevenue.setOptType(-Constants.ONE);
- memberRevenue.setBeforeAmount(member.getAmount());
- memberRevenue.setAmount(withdrawalOrders.getAmount());
- memberRevenue.setAfterAmount(member.getAmount() - withdrawalOrders.getAmount());
- memberRevenue.setObjId(withdrawalOrders.getId());
- memberRevenue.setRemark(Constants.RevenueType.getInfo(memberRevenue.getType()));
- memberRevenue.setObjType(Constants.ONE);
- memberRevenue.setDeleted(Constants.ZERO);
- memberRevenue.setStatus(Constants.TWO);
- memberRevenueMapper.insert(memberRevenue);
- return response;
- } catch (WXPayUtility.ApiException e) {
- String message = JSONObject.parseObject(e.getBody()).getString("message");
- throw new BusinessException(ResponseStatus.NOT_ALLOWED.getCode(),message);
- }
- }
-
-
- @Override
- public void transferSuccess(String outBillNo,Boolean isSuccess){
- WithdrawalOrders withdrawalOrders = withdrawalOrdersMapper.selectOne(new QueryWrapper<WithdrawalOrders>().lambda()
- .eq(WithdrawalOrders::getOutBillNo,outBillNo).last("limit 1"));
- Member member = memberMapper.selectById(withdrawalOrders.getMemberId());
- if(Objects.isNull(member)){
- return;
- }
- if(Objects.nonNull(withdrawalOrders)){
- //杞处鎴愬姛
- if(isSuccess){
- withdrawalOrdersMapper.update(new UpdateWrapper<WithdrawalOrders>().lambda()
- .set(WithdrawalOrders::getStatus,Constants.ONE)
- .set(WithdrawalOrders::getUpdateTime, DateUtil.getCurrDateTime())
- .eq(WithdrawalOrders::getOutBillNo,outBillNo)
- );
- //淇敼娴佹按璁板綍鐘舵��
- memberRevenueMapper.update(new UpdateWrapper<MemberRevenue>().lambda()
- .set(MemberRevenue::getStatus,Constants.ZERO)
- .set(MemberRevenue::getUpdateTime, DateUtil.getCurrDateTime())
- .eq(MemberRevenue::getObjId,withdrawalOrders.getId())
- .eq(MemberRevenue::getObjType,Constants.ONE)
- );
- withdrawalOrders.setUpdateTime(new Date());
- sendWxMessage.withdrawalMessage(member.getOpenid(),withdrawalOrders);
- }else {
- //鏇存柊鐢ㄦ埛浣欓
- memberMapper.update(new UpdateWrapper<Member>().lambda().setSql(" AMOUNT = AMOUNT + " + withdrawalOrders.getAmount() ).eq(Member::getId,withdrawalOrders.getMemberId()));
- //淇敼娴佹按璁板綍鐘舵��
- memberRevenueMapper.update(new UpdateWrapper<MemberRevenue>().lambda()
- .set(MemberRevenue::getStatus,Constants.ONE)
- .set(MemberRevenue::getUpdateTime, DateUtil.getCurrDateTime())
- .eq(MemberRevenue::getObjId,withdrawalOrders.getId())
- .eq(MemberRevenue::getObjType,Constants.ONE)
- );
- //瀛樺偍娴佹按璁板綍
- MemberRevenue memberRevenue = new MemberRevenue();
- memberRevenue.setCreateTime(new Date());
- memberRevenue.setTransactionNo(withdrawalOrders.getOutBillNo());
- memberRevenue.setDeleted(Constants.ZERO);
- memberRevenue.setMemberId(withdrawalOrders.getMemberId());
- memberRevenue.setType(Constants.FOUR);
- memberRevenue.setOptType(Constants.ONE);
- memberRevenue.setBeforeAmount(member.getAmount());
- memberRevenue.setAmount(withdrawalOrders.getAmount());
- memberRevenue.setAfterAmount(member.getAmount() + withdrawalOrders.getAmount());
- memberRevenue.setObjId(withdrawalOrders.getId());
- memberRevenue.setRemark(Constants.RevenueType.getInfo(memberRevenue.getType()));
- memberRevenue.setObjType(Constants.ONE);
- memberRevenue.setDeleted(Constants.ZERO);
- memberRevenue.setStatus(Constants.ZERO);
- memberRevenueMapper.insert(memberRevenue);
- }
- }
-
- }
-
- @Override
- public void cancelTransfer(TransferToUser.CancelTransferRequest request){
- if(Objects.isNull(request)
- || StringUtils.isEmpty(request.outBillNo)){
- throw new BusinessException(ResponseStatus.BAD_REQUEST);
- }
- WithdrawalOrders withdrawalOrders = withdrawalOrdersMapper.selectOne(new QueryWrapper<WithdrawalOrders>().lambda().eq(WithdrawalOrders::getOutBillNo,request.outBillNo).last("limit 1"));
- if(Objects.isNull(withdrawalOrders)){
- throw new BusinessException(ResponseStatus.DATA_EMPTY);
- }
- Member member = memberMapper.selectById(withdrawalOrders.getMemberId());
- if(Objects.isNull(member)){
- throw new BusinessException(ResponseStatus.DATA_EMPTY);
- }
- try {
- TransferToUser.CancelTransferResponse response = WxMiniConfig.transferToUser.cancelRun(request);
- if(response.state.equals("CANCELING")){
- //鏍囪鎻愮幇澶辫触 鍔犲洖瀵瑰簲鐨勬彁鐜伴噾棰�
- withdrawalOrdersMapper.update(new UpdateWrapper<WithdrawalOrders>()
- .lambda().set(WithdrawalOrders::getStatus,Constants.TWO)
- .eq(WithdrawalOrders::getId,withdrawalOrders.getId()));
-
- memberRevenueMapper.update(new UpdateWrapper<MemberRevenue>().lambda().set(MemberRevenue::getStatus,Constants.ONE)
- .set(MemberRevenue::getUpdateTime,new Date())
- .eq(MemberRevenue::getObjId,withdrawalOrders.getId()))
- ;
-
- //鏇存柊鐢ㄦ埛浣欓
- memberMapper.update(new UpdateWrapper<Member>().lambda().setSql(" AMOUNT = AMOUNT + " + withdrawalOrders.getAmount() ).eq(Member::getId,withdrawalOrders.getMemberId()));
-
- //瀛樺偍娴佹按璁板綍
- MemberRevenue memberRevenue = new MemberRevenue();
- memberRevenue.setCreateTime(new Date());
- memberRevenue.setMemberId(withdrawalOrders.getMemberId());
- memberRevenue.setType(Constants.FOUR);
- memberRevenue.setOptType(Constants.ONE);
- memberRevenue.setBeforeAmount(member.getAmount());
- memberRevenue.setAmount(withdrawalOrders.getAmount());
- memberRevenue.setAfterAmount(member.getAmount() + withdrawalOrders.getAmount());
- memberRevenue.setObjId(withdrawalOrders.getId());
- memberRevenue.setObjType(Constants.ONE);
- memberRevenue.setDeleted(Constants.ZERO);
- memberRevenue.setStatus(Constants.ZERO);
- memberRevenueMapper.insert(memberRevenue);
-
- }
- System.out.println(JSONObject.toJSONString(response));
- } catch (WXPayUtility.ApiException e) {
- String message = JSONObject.parseObject(e.getBody()).getString("message");
- throw new BusinessException(ResponseStatus.NOT_ALLOWED.getCode(),message);
- }
-
- }
-
-
}
--
Gitblit v1.9.3