提现参数修改

This commit is contained in:
墨大叔 2024-08-01 14:26:29 +08:00
parent faa7f18924
commit 93d6761f18
10 changed files with 97 additions and 8 deletions

View File

@ -104,4 +104,11 @@ public interface AccountService
* 根据用户查询 * 根据用户查询
*/ */
List<AccountVO> selectByUserId(Long userId); List<AccountVO> selectByUserId(Long userId);
/**
* 查询用户账户
* @param userId 用户ID
* @param type 账户类型
*/
List<AccountVO> selectUserAccountByType(Long userId, String type);
} }

View File

@ -209,6 +209,14 @@ public class AccountServiceImpl implements AccountService {
return this.selectSmAccountList(query); return this.selectSmAccountList(query);
} }
@Override
public List<AccountVO> selectUserAccountByType(Long userId, String type) {
AccountQuery query = new AccountQuery();
query.setUserId(userId);
query.setAccountType(type);
return this.selectSmAccountList(query);
}
private boolean isRepeat(Account data) { private boolean isRepeat(Account data) {
AccountQuery dto = new AccountQuery(); AccountQuery dto = new AccountQuery();
dto.setUserId(data.getUserId()); dto.setUserId(data.getUserId());

View File

@ -203,6 +203,9 @@ public class TransactionBill extends BaseEntity implements Payable
@JsonView(JsonViewProfile.AppMch.class) @JsonView(JsonViewProfile.AppMch.class)
private String withdrawType; private String withdrawType;
@ApiModelProperty("提现审核时的二维码")
private String offlineImage;
/** /**
* 获取价格 * 获取价格
*/ */

View File

@ -28,6 +28,9 @@ public class WithdrawApprovalDTO {
@DictValid(type = DictTypeConstants.WITHDRAW_TYPE, message = "非法的打款方式") @DictValid(type = DictTypeConstants.WITHDRAW_TYPE, message = "非法的打款方式")
private String withdrawType; private String withdrawType;
@ApiModelProperty("审核时的二维码图片")
private String offlineImage;
@ApiModelProperty("支付凭证") @ApiModelProperty("支付凭证")
private String payPicture; private String payPicture;
} }

View File

@ -48,6 +48,7 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
stb.refund_service_amount, stb.refund_service_amount,
stb.pay_picture, stb.pay_picture,
stb.withdraw_type, stb.withdraw_type,
stb.offline_image,
su.user_name as user_name, su.user_name as user_name,
su1.user_name as mch_name, su1.user_name as mch_name,
su1.phonenumber as mch_mobile, su1.phonenumber as mch_mobile,
@ -257,6 +258,7 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
<if test="refundServiceAmount != null">refund_service_amount,</if> <if test="refundServiceAmount != null">refund_service_amount,</if>
<if test="payPicture != null">pay_picture,</if> <if test="payPicture != null">pay_picture,</if>
<if test="withdrawType != null">withdraw_type,</if> <if test="withdrawType != null">withdraw_type,</if>
<if test="offlineImage != null">offline_image,</if>
</trim> </trim>
<trim prefix="values (" suffix=")" suffixOverrides=","> <trim prefix="values (" suffix=")" suffixOverrides=",">
<if test="billNo != null">#{billNo},</if> <if test="billNo != null">#{billNo},</if>
@ -297,6 +299,7 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
<if test="refundServiceAmount != null">#{refundServiceAmount},</if> <if test="refundServiceAmount != null">#{refundServiceAmount},</if>
<if test="payPicture != null">#{payPicture},</if> <if test="payPicture != null">#{payPicture},</if>
<if test="withdrawType != null">#{withdrawType},</if> <if test="withdrawType != null">#{withdrawType},</if>
<if test="offlineImage != null">#{offlineImage},</if>
</trim> </trim>
</insert> </insert>
@ -354,6 +357,7 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
<if test="data.refundServiceAmount != null">refund_service_amount = #{data.refundServiceAmount},</if> <if test="data.refundServiceAmount != null">refund_service_amount = #{data.refundServiceAmount},</if>
<if test="data.payPicture != null">pay_picture = #{data.payPicture},</if> <if test="data.payPicture != null">pay_picture = #{data.payPicture},</if>
<if test="data.withdrawType != null">withdraw_type = #{data.withdrawType},</if> <if test="data.withdrawType != null">withdraw_type = #{data.withdrawType},</if>
<if test="data.offlineImage != null">offline_image = #{data.offlineImage},</if>
</sql> </sql>
<update id="updateByQuery"> <update id="updateByQuery">

View File

@ -37,4 +37,9 @@ public interface TransactionBillValidator {
* @param userId 用户ID * @param userId 用户ID
*/ */
boolean isMch(TransactionBillVO bill, Long userId); boolean isMch(TransactionBillVO bill, Long userId);
/**
* 判断用户是否订单发起人
*/
boolean isUser(TransactionBillVO bill, Long userId);
} }

View File

@ -475,6 +475,7 @@ public class TransactionBillServiceImpl implements TransactionBillService {
data.setRemark(dto.getRemark()); data.setRemark(dto.getRemark());
data.setPayPicture(dto.getPayPicture()); data.setPayPicture(dto.getPayPicture());
data.setWithdrawType(dto.getWithdrawType()); data.setWithdrawType(dto.getWithdrawType());
data.setOfflineImage(dto.getOfflineImage());
TransactionBillQuery query = new TransactionBillQuery(); TransactionBillQuery query = new TransactionBillQuery();
query.setBillId(dto.getBillId()); query.setBillId(dto.getBillId());
query.setType(TransactionBillType.WITHDRAW.getType()); query.setType(TransactionBillType.WITHDRAW.getType());

View File

@ -166,4 +166,9 @@ public class TransactionBillValidatorImpl extends BaseValidator implements Trans
public boolean isMch(TransactionBillVO bill, Long userId) { public boolean isMch(TransactionBillVO bill, Long userId) {
return bill != null && bill.getMchId() != null && bill.getMchId().equals(userId); return bill != null && bill.getMchId() != null && bill.getMchId().equals(userId);
} }
@Override
public boolean isUser(TransactionBillVO bill, Long userId) {
return bill != null && bill.getUserId() != null && bill.getUserId().equals(userId);
}
} }

View File

@ -0,0 +1,49 @@
package com.ruoyi.web.controller.mch;
import com.fasterxml.jackson.annotation.JsonView;
import com.ruoyi.common.core.controller.BaseController;
import com.ruoyi.common.core.domain.AjaxResult;
import com.ruoyi.common.core.domain.JsonViewProfile;
import com.ruoyi.ss.transactionBill.domain.vo.TransactionBillVO;
import com.ruoyi.ss.transactionBill.service.TransactionAssembler;
import com.ruoyi.ss.transactionBill.service.TransactionBillService;
import com.ruoyi.ss.transactionBill.service.TransactionBillValidator;
import io.swagger.annotations.ApiOperation;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.PathVariable;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;
import java.util.Collections;
/**
* @author wjh
* 2024/8/1
*/
@RestController
@RequestMapping("/mch/withdraw")
public class MchWithdrawController extends BaseController {
@Autowired
private TransactionBillService transactionBillService;
@Autowired
private TransactionBillValidator transactionBillValidator;
@Autowired
private TransactionAssembler transactionAssembler;
@ApiOperation("查询本人提现详情")
@GetMapping("/{billId}")
@JsonView(JsonViewProfile.AppMch.class)
public AjaxResult getWithdrawInfo(@PathVariable Long billId) {
TransactionBillVO bill = transactionBillService.selectSmTransactionBillByBillId(billId);
if (bill == null || !transactionBillValidator.isUser(bill, getUserId())) {
return success();
}
transactionAssembler.assembleChannelName(Collections.singletonList(bill));
return AjaxResult.success(bill);
}
}

View File

@ -4,17 +4,11 @@ import java.util.List;
import javax.servlet.http.HttpServletResponse; import javax.servlet.http.HttpServletResponse;
import com.ruoyi.common.core.domain.ValidGroup; import com.ruoyi.common.core.domain.ValidGroup;
import io.swagger.annotations.ApiOperation;
import org.springframework.security.access.prepost.PreAuthorize; import org.springframework.security.access.prepost.PreAuthorize;
import org.springframework.beans.factory.annotation.Autowired; import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.validation.annotation.Validated; import org.springframework.validation.annotation.Validated;
import org.springframework.web.bind.annotation.GetMapping; import org.springframework.web.bind.annotation.*;
import org.springframework.web.bind.annotation.PostMapping;
import org.springframework.web.bind.annotation.PutMapping;
import org.springframework.web.bind.annotation.DeleteMapping;
import org.springframework.web.bind.annotation.PathVariable;
import org.springframework.web.bind.annotation.RequestBody;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;
import com.ruoyi.common.annotation.Log; import com.ruoyi.common.annotation.Log;
import com.ruoyi.common.core.controller.BaseController; import com.ruoyi.common.core.controller.BaseController;
import com.ruoyi.common.core.domain.AjaxResult; import com.ruoyi.common.core.domain.AjaxResult;
@ -106,4 +100,14 @@ public class AccountController extends BaseController
public AjaxResult remove(@PathVariable Long[] accountIds) { public AjaxResult remove(@PathVariable Long[] accountIds) {
return toAjax(smAccountService.deleteSmAccountByAccountIds(accountIds)); return toAjax(smAccountService.deleteSmAccountByAccountIds(accountIds));
} }
/**
* 根据类型获取用户账户
* @param userId 用户ID
* @param type 类型
*/
@GetMapping("/getUserAccountByType")
public AjaxResult getUserAccountByType(@RequestParam Long userId, @RequestParam String type) {
return success(smAccountService.selectUserAccountByType(userId, type));
}
} }