diff --git a/mcwl-admin/src/main/java/com/mcwl/web/controller/memberCenter/MemberController.java b/mcwl-admin/src/main/java/com/mcwl/web/controller/memberCenter/MemberController.java index d9db407..22063c7 100644 --- a/mcwl-admin/src/main/java/com/mcwl/web/controller/memberCenter/MemberController.java +++ b/mcwl-admin/src/main/java/com/mcwl/web/controller/memberCenter/MemberController.java @@ -21,9 +21,7 @@ import org.springframework.web.bind.annotation.*; import javax.validation.Valid; import javax.validation.constraints.NotNull; -import java.util.List; -import java.util.Objects; -import java.util.Optional; +import java.util.*; @RestController @RequestMapping("member") @@ -181,11 +179,17 @@ public class MemberController { @ApiOperation(value = "是否是会员") public AjaxResult isMember() { Long userId = SecurityUtils.getUserId(); + Map map = new HashMap<>(); Member member = memberService.getUseUserMemberByUserId(userId); if (Optional.ofNullable(member).isPresent()) { - return AjaxResult.success(true); + map.put("result", 1L); + return AjaxResult.success(map); } - return AjaxResult.success(false); + map.put("result", 0L); + map.put("startDate", member.getStartDate().getTime()); + map.put("endDate", member.getEndDate().getTime()); + + return AjaxResult.success(map); } } diff --git a/mcwl-admin/src/main/java/com/mcwl/web/controller/pay/AliPay/AliPayController.java b/mcwl-admin/src/main/java/com/mcwl/web/controller/pay/AliPay/AliPayController.java index 28e35c6..cd300fd 100644 --- a/mcwl-admin/src/main/java/com/mcwl/web/controller/pay/AliPay/AliPayController.java +++ b/mcwl-admin/src/main/java/com/mcwl/web/controller/pay/AliPay/AliPayController.java @@ -33,6 +33,7 @@ import javax.validation.constraints.NotNull; import java.net.URLEncoder; import java.util.HashMap; import java.util.Map; +import java.util.Optional; /** * @Author:ChenYan @@ -68,7 +69,7 @@ public class AliPayController extends BaseController { */ @ApiOperation(value = "支付宝绑定") @GetMapping("/generateQrCode") - public void generateQrCode(HttpServletResponse response) throws Exception { + public AjaxResult generateQrCode(HttpServletResponse response) throws Exception { String scope = "auth_user"; // 需要获取用户信息 String appId = "2021005114616085"; String state = ShareCodeUtils.idToCode(SecurityUtils.getUserId()); // 防止CSRF攻击 @@ -80,6 +81,7 @@ public class AliPayController extends BaseController { ); QrCodeUtil.generate(authUrl, 300, 300, "png", response.getOutputStream()); + return AjaxResult.success("成功", authUrl); } /** @@ -130,6 +132,9 @@ public class AliPayController extends BaseController { String type = orderTradeDto.getType(); if ("member".equalsIgnoreCase(type)) { + if (!Optional.ofNullable(orderTradeDto.getProductId()).isPresent()) { + return AjaxResult.error("商品id不能为空"); + } payVo = aliPayService.memberPay(orderTradeDto); } else if ("points".equalsIgnoreCase(type)) { payVo = aliPayService.pointsPay(orderTradeDto.getPaymentAmount()); diff --git a/mcwl-admin/src/main/java/com/mcwl/web/controller/pay/AliPay/OrderTradeController.java b/mcwl-admin/src/main/java/com/mcwl/web/controller/pay/AliPay/OrderTradeController.java index 51408e4..03392a9 100644 --- a/mcwl-admin/src/main/java/com/mcwl/web/controller/pay/AliPay/OrderTradeController.java +++ b/mcwl-admin/src/main/java/com/mcwl/web/controller/pay/AliPay/OrderTradeController.java @@ -121,7 +121,7 @@ public class OrderTradeController extends BaseController { */ @GetMapping("/queryTradeStatus") @ApiOperation(value = "查询交易状态") - public Object queryTradeStatus(@Valid @NotBlank(message = "订单号不能为空") @RequestParam String outTradeNo) throws Exception { + public Object queryTradeStatus(@Valid @NotBlank(message = "订单号不能为空") String outTradeNo) throws Exception { Factory.setOptions(config); AlipayTradeQueryResponse query = Factory.Payment.Common().query(outTradeNo); Map map = JSONUtils.jsonToMap(query.getHttpBody()); diff --git a/mcwl-pay/src/main/java/com/mcwl/pay/domain/OrderTrade.java b/mcwl-pay/src/main/java/com/mcwl/pay/domain/OrderTrade.java index 6df3e50..8a5b35a 100644 --- a/mcwl-pay/src/main/java/com/mcwl/pay/domain/OrderTrade.java +++ b/mcwl-pay/src/main/java/com/mcwl/pay/domain/OrderTrade.java @@ -83,7 +83,7 @@ public class OrderTrade extends BaseEntity { @NotNull(message = "总金额不能为空") @MinMoney(value = 0, message = "总金额不能小于0") @MaxMoney(value = 100000, message = "总金额必须小于100000") - private Integer totalAmount; + private Double totalAmount; /** * 付款金额 */ diff --git a/mcwl-pay/src/main/java/com/mcwl/pay/domain/OrderTradeDto.java b/mcwl-pay/src/main/java/com/mcwl/pay/domain/OrderTradeDto.java index bd3e7c7..b0695ae 100644 --- a/mcwl-pay/src/main/java/com/mcwl/pay/domain/OrderTradeDto.java +++ b/mcwl-pay/src/main/java/com/mcwl/pay/domain/OrderTradeDto.java @@ -4,6 +4,7 @@ import io.swagger.annotations.ApiModel; import io.swagger.annotations.ApiModelProperty; import lombok.Data; +import javax.validation.constraints.NotBlank; import javax.validation.constraints.NotNull; @Data @@ -13,8 +14,7 @@ public class OrderTradeDto { /** * 商品ID */ - @ApiModelProperty(value = "商品ID", required = true) - @NotNull(message = "商品ID不能为空") + @ApiModelProperty(value = "商品ID 如果订单类型是points,可以不传") private Integer productId; /** @@ -28,7 +28,7 @@ public class OrderTradeDto { * 订单类型 会员member 积分points */ @ApiModelProperty(value = "订单类型 会员member 积分points", required = true) - @NotNull(message = "订单类型不能为空") + @NotBlank(message = "订单类型不能为空") private String type; /** diff --git a/mcwl-pay/src/main/java/com/mcwl/pay/service/impl/AliPayServiceImpl.java b/mcwl-pay/src/main/java/com/mcwl/pay/service/impl/AliPayServiceImpl.java index 1b051e5..472394a 100644 --- a/mcwl-pay/src/main/java/com/mcwl/pay/service/impl/AliPayServiceImpl.java +++ b/mcwl-pay/src/main/java/com/mcwl/pay/service/impl/AliPayServiceImpl.java @@ -48,6 +48,7 @@ import org.springframework.transaction.annotation.Transactional; import java.math.BigDecimal; import java.util.ArrayList; +import java.util.Date; import java.util.Objects; import java.util.Optional; import java.util.concurrent.TimeUnit; @@ -158,8 +159,11 @@ public class AliPayServiceImpl implements AliPayService { tradeEntity.setCode(UUID.randomUUID().toString(true).substring(0, 30)); tradeEntity.setUserId(SecurityUtils.getUserId()); tradeEntity.setUserName(SecurityUtils.getUsername()); + tradeEntity.setProductId(productId); tradeEntity.setProductName(memberLevel.getMemberName()); - + tradeEntity.setTotalAmount(orderTradeDto.getPaymentAmount()); + tradeEntity.setOrderStatus(3); + tradeEntity.setPayStatus(2); orderTradeService.save(tradeEntity); //调用支付宝的接口 @@ -199,7 +203,9 @@ public class AliPayServiceImpl implements AliPayService { tradeEntity.setProductId(-1); tradeEntity.setProductName("积分充值"); tradeEntity.setUserName(SecurityUtils.getUsername()); - tradeEntity.setPaymentAmount(paymentAmount.intValue()); + tradeEntity.setTotalAmount(paymentAmount); + tradeEntity.setOrderStatus(1); + tradeEntity.setPayStatus(1); //调用支付宝的接口 AlipayTradePrecreateResponse payResponse = Factory.Payment.FaceToFace() diff --git a/mcwl-pay/src/main/java/com/mcwl/pay/service/impl/OrderTradeServiceImpl.java b/mcwl-pay/src/main/java/com/mcwl/pay/service/impl/OrderTradeServiceImpl.java index 705bf91..9c107f5 100644 --- a/mcwl-pay/src/main/java/com/mcwl/pay/service/impl/OrderTradeServiceImpl.java +++ b/mcwl-pay/src/main/java/com/mcwl/pay/service/impl/OrderTradeServiceImpl.java @@ -218,14 +218,14 @@ public class OrderTradeServiceImpl extends ServiceImpl