商户余额充值功能v2

door
LI-CCONG\李聪聪 7 months ago
parent e3001bc043
commit 95523948a0

@ -101,10 +101,10 @@ public class WebUtils {
StringBuilder buffer = new StringBuilder(); StringBuilder buffer = new StringBuilder();
for (Map.Entry<String, T> entry : queries.entrySet()) { for (Map.Entry<String, T> entry : queries.entrySet()) {
if(entry.getValue() instanceof String[]){ if(entry.getValue() instanceof String[]){
buffer.append(entry.getKey()).append(String.join(",", ((String[])entry.getValue()))) buffer.append(entry.getKey()).append("=").append(String.join(",", ((String[])entry.getValue())))
.append("&"); .append("&");
}else if(entry.getValue() instanceof Collection){ }else if(entry.getValue() instanceof Collection){
buffer.append(entry.getKey()).append( buffer.append(entry.getKey()).append("=").append(
CollUtil.join(((Collection<String>)entry.getValue()),",") CollUtil.join(((Collection<String>)entry.getValue()),",")
).append("&"); ).append("&");
} }

@ -6,6 +6,7 @@ import cc.yunxi.common.utils.BeanUtils;
import cc.yunxi.domain.dto.UserDTO; import cc.yunxi.domain.dto.UserDTO;
import cc.yunxi.domain.po.Client; import cc.yunxi.domain.po.Client;
import cc.yunxi.domain.po.Product; import cc.yunxi.domain.po.Product;
import cc.yunxi.domain.vo.enterprise.RechargeBalanceVO;
import cc.yunxi.domain.vo.priceproduct.ProductSimpleVO; import cc.yunxi.domain.vo.priceproduct.ProductSimpleVO;
import cc.yunxi.enums.UserTypeEnum; import cc.yunxi.enums.UserTypeEnum;
import cc.yunxi.service.IClientService; import cc.yunxi.service.IClientService;
@ -16,9 +17,11 @@ import io.swagger.annotations.Api;
import io.swagger.annotations.ApiOperation; import io.swagger.annotations.ApiOperation;
import lombok.RequiredArgsConstructor; import lombok.RequiredArgsConstructor;
import lombok.extern.slf4j.Slf4j; import lombok.extern.slf4j.Slf4j;
import org.springframework.http.MediaType;
import org.springframework.validation.annotation.Validated; import org.springframework.validation.annotation.Validated;
import org.springframework.web.bind.annotation.*; import org.springframework.web.bind.annotation.*;
import javax.validation.Valid;
import javax.validation.constraints.*; import javax.validation.constraints.*;
import java.math.BigDecimal; import java.math.BigDecimal;
import java.util.Collections; import java.util.Collections;
@ -62,13 +65,10 @@ public class IndexController {
@ApiOperation(value = "商户余额充值", hidden = true) @ApiOperation(value = "商户余额充值", hidden = true)
@PostMapping("/recharge-balance") @PostMapping(value = "/recharge-balance")
public CommonResult<Boolean> recharge( public CommonResult<Boolean> recharge(@Valid @RequestBody RechargeBalanceVO rechargeBalanceVO) {
@NotBlank(message = "商户号不能为空") String merchantId = rechargeBalanceVO.getMerchantId();
String merchantId, Integer amount = rechargeBalanceVO.getAmount();
@NotNull(message = "充值金额不能为空")
@Min(value = 100, message = "充值金额最大为100元")
@Max(value = 10000, message = "充值金额最大为10000元") Integer amount) throws Exception {
enterpriseService.rechargeBalance(merchantId, amount); enterpriseService.rechargeBalance(merchantId, amount);
return CommonResult.success(true); return CommonResult.success(true);
} }

@ -0,0 +1,25 @@
package cc.yunxi.domain.vo.enterprise;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import javax.validation.constraints.Max;
import javax.validation.constraints.Min;
import javax.validation.constraints.NotBlank;
import javax.validation.constraints.NotNull;
@ApiModel(description = "商户余额充值 Request VO")
@Data
public class RechargeBalanceVO {
@ApiModelProperty(value = "企业商户id")
@NotBlank(message = "商户号不能为空")
private String merchantId;
@ApiModelProperty(value = "充值金额")
@NotNull(message = "充值金额不能为空")
@Min(value = 100, message = "充值金额最大为100元")
@Max(value = 10000, message = "充值金额最大为10000元")
private Integer amount;
}

@ -2,6 +2,7 @@ package cc.yunxi.interceptor;
import cc.yunxi.common.utils.WebUtils; import cc.yunxi.common.utils.WebUtils;
import cc.yunxi.filter.RequestReaderHttpServletRequestWrapper; import cc.yunxi.filter.RequestReaderHttpServletRequestWrapper;
import cn.hutool.core.util.ObjectUtil;
import lombok.RequiredArgsConstructor; import lombok.RequiredArgsConstructor;
import lombok.extern.slf4j.Slf4j; import lombok.extern.slf4j.Slf4j;
import org.springframework.core.Ordered; import org.springframework.core.Ordered;
@ -30,9 +31,9 @@ public class StatsInterceptor implements HandlerInterceptor {
String contentType = request.getContentType(); String contentType = request.getContentType();
String data = "其他复杂请求数据不记录!"; String data = "其他复杂请求数据不记录!";
if(HttpMethod.POST.name().equals(method) && !contentType.equals(MediaType.MULTIPART_FORM_DATA_VALUE)) { if(HttpMethod.POST.name().equals(method) && !contentType.equals(MediaType.MULTIPART_FORM_DATA_VALUE)) {
if (contentType.equals(MediaType.APPLICATION_JSON_VALUE)) { if (contentType.startsWith(MediaType.APPLICATION_JSON_VALUE)) {
data = WebUtils.getRequestPostStr(request); data = WebUtils.getRequestPostStr(request);
} else if (contentType.equals(MediaType.APPLICATION_FORM_URLENCODED_VALUE)) { } else if (contentType.startsWith(MediaType.APPLICATION_FORM_URLENCODED_VALUE)) {
data = WebUtils.getParameters(request); data = WebUtils.getParameters(request);
} }
} else if (HttpMethod.GET.name().equals(method)) { } else if (HttpMethod.GET.name().equals(method)) {

Loading…
Cancel
Save