Commit 374aa2e8 by 郑云飞

小程序登录修改

parent c4f155a4
......@@ -26,11 +26,11 @@ public class DbCoupon {
/**
* 券类型1为新用户 0为满减卷
*/
private String couponType;
private Integer couponType;
/**
* 优惠内容
*/
private String fullSubtraction;
private BigDecimal fullSubtraction;
/**
* 使用门槛:最低消费
*/
......
......@@ -25,6 +25,14 @@ public class DbOrder {
@TableId(value = "id")
private Long id;
/**
* 订单号
*/
private String orderNo;
/**
* 微信订单号
*/
private String wxOrderNo;
/**
* 用户id
*/
private Long userId;
......@@ -57,6 +65,14 @@ public class DbOrder {
*/
private BigDecimal actualAmount;
/**
* 支付金额
*/
private BigDecimal payAmount;
/**
* 使用优惠券id
*/
private Long useCouponId;
/**
* 备注说明
*/
private String remark;
......@@ -65,6 +81,10 @@ public class DbOrder {
*/
private Integer status;
/**
* 支付时间
*/
private Date payTime;
/**
* 创建人
*/
private String createUser;
......
package com.yongqi.xinrenli.enums;
/**
* @author zyf
* @date 2023/3/14
*/
public enum OrderStatusEnum {
// 订单状态:0 已发布;1 已驳回;2 待支付;3 已接单;4 已完成;5 退款中;6 已退款
PUBLISHED(0, "已发布"),
REJECTED(1, "已驳回"),
TO_BE_PAID(2, "待支付"),
PAYMENT_IN_PROGRESS(3, "支付中"),
RECEIVED_ORDER(4, "已接单"),
FINISHED(5, "已完成"),
REFUBD_IN_PROGRESS(6, "退款中"),
REFUNDED(7, "已退款"),
;
private final Integer code;
private final String info;
OrderStatusEnum(Integer code, String info) {
this.code = code;
this.info = info;
}
public Integer getCode() {
return code;
}
public String getInfo() {
return info;
}
}
package com.yongqi.xinrenli.service.impl;
import cn.binarywang.wx.miniapp.api.WxMaService;
import cn.hutool.core.bean.BeanUtil;
import com.baomidou.mybatisplus.core.toolkit.ObjectUtils;
import com.github.binarywang.wxpay.bean.request.WxPayUnifiedOrderRequest;
import com.github.binarywang.wxpay.constant.WxPayConstants;
import com.github.binarywang.wxpay.exception.WxPayException;
import com.github.binarywang.wxpay.service.WxPayService;
import com.yongqi.common.core.domain.R;
import com.yongqi.common.core.domain.entity.SysUser;
import com.yongqi.common.core.domain.model.LoginUser;
......@@ -50,6 +55,8 @@ public class DbOrderServiceImpl implements IDbOrderService {
private final DbFileMapper fileMapper;
@Autowired
private DbCouponMapper couponMapper;
@Autowired
private WxPayService wxPayService;
/**
* 查询订单
......@@ -286,10 +293,42 @@ public class DbOrderServiceImpl implements IDbOrderService {
if (dbCoupon.getMinUsed().compareTo(dbOrder.getActualAmount()) > 0){
throw new RuntimeException("未达到此优惠券的最低消费金额");
}
BigDecimal actualAmount = dbOrder.getActualAmount();
BigDecimal payAmount = dbOrder.getActualAmount().subtract(dbCoupon.getFullSubtraction());
dbOrder.setPayAmount(payAmount);
dbOrder.setUseCouponId(couponId);
dbOrder.setStatus();
// 4.组装支付数据
WxPayUnifiedOrderRequest request = new WxPayUnifiedOrderRequest();
// 需求标题
String join = dbOrder.getTitle();
if (join.length() > 40) {
join = join.substring(0, 40) + "...";
}
request.setBody(join);
// 商户订单号
request.setOutTradeNo(consumerOrder.getOrderCode());
// 子商户号
request.setSubMchId(dealer.getWxShopNo());
BigDecimal actualPrice = consumerOrder.getFinalPrice().multiply(BigDecimal.valueOf(100));
// 标价金额
request.setTotalFee((actualPrice.intValue()));
// 客户端IP
request.setSpbillCreateIp(ip);
// 交易类型
request.setTradeType(WxPayConstants.TradeType.JSAPI);
// 签名类型,默认为MD5,支持HMAC-SHA256和MD5。
request.setSignType(WxPayConstants.SignType.MD5);
// 用户标识
request.setOpenid(wxUser.getOpenId());
// 5.调用微信统一下单接口
// 6.返回支付所需数据
try {
wxPayService.createOrder(request);
// 6.返回支付所需数据
} catch (WxPayException e) {
throw new RuntimeException(e);
}
return null;
}
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment