提交修改
This commit is contained in:
parent
755ed1c5d5
commit
715d429a1b
@ -0,0 +1,36 @@
|
||||
package com.heyu.api.data.dao.vv;
|
||||
/**
|
||||
* <p>
|
||||
* sku详描 服务类
|
||||
* </p>
|
||||
*
|
||||
* @author quyixiao
|
||||
* @since 2025-12-04
|
||||
*/
|
||||
import com.heyu.api.data.entity.vv.VvOutTradeNoEntity;
|
||||
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
|
||||
import org.apache.ibatis.annotations.Mapper;
|
||||
import org.apache.ibatis.annotations.Param;
|
||||
@Mapper
|
||||
public interface VvOutTradeNoDao extends BaseMapper<VvOutTradeNoEntity> {
|
||||
|
||||
|
||||
VvOutTradeNoEntity selectVvOutTradeNoById(@Param("id")Long id);
|
||||
|
||||
|
||||
Long insertVvOutTradeNo(VvOutTradeNoEntity vvOutTradeNo);
|
||||
|
||||
|
||||
Long insertOrUpdateVvOutTradeNo(VvOutTradeNoEntity vvOutTradeNo);
|
||||
|
||||
|
||||
int updateVvOutTradeNoById(VvOutTradeNoEntity vvOutTradeNo);
|
||||
|
||||
|
||||
int updateCoverVvOutTradeNoById(VvOutTradeNoEntity vvOutTradeNo);
|
||||
|
||||
|
||||
int deleteVvOutTradeNoById(@Param("id")Long id);
|
||||
|
||||
|
||||
}
|
||||
@ -65,5 +65,12 @@ public interface VvReverseOrderDao extends BaseMapper<VvReverseOrderEntity> {
|
||||
@OrderBy(VvReverseOrderEntity.id_)
|
||||
@LIMIT
|
||||
VvReverseOrderEntity selectVvReverseOrderByTrackNumber(String trackNumber);
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
@LIMIT
|
||||
VvReverseOrderEntity selectVvReverseOrderByOutRefundNo(String outRefundNo);
|
||||
}
|
||||
|
||||
|
||||
@ -66,4 +66,10 @@ public interface VvTradeOrderDao extends BaseMapper<VvTradeOrderEntity> {
|
||||
|
||||
|
||||
List<VvTradeOrderEntity> selectAppTradeOrderByTradeOrderIds(@IFNullReturnEmpty @IN List<Long> id);
|
||||
|
||||
|
||||
|
||||
@LIMIT
|
||||
VvTradeOrderEntity selectVvTradeOrderByOutTradeNo(String outTradeNo);
|
||||
|
||||
}
|
||||
@ -0,0 +1,106 @@
|
||||
package com.heyu.api.data.entity.vv;
|
||||
import com.baomidou.mybatisplus.annotation.IdType;
|
||||
import com.baomidou.mybatisplus.annotation.TableId;
|
||||
import com.baomidou.mybatisplus.annotation.TableName;
|
||||
import lombok.Data;
|
||||
import com.lz.mybatis.plugin.annotations.AS;
|
||||
|
||||
import java.math.BigDecimal;
|
||||
import java.util.Date;import java.util.Date;
|
||||
/**
|
||||
*sku详描
|
||||
* @author quyixiao
|
||||
* @since 2025-12-04
|
||||
*/
|
||||
|
||||
@Data
|
||||
@TableName("vv_out_trade_no")
|
||||
public class VvOutTradeNoEntity implements java.io.Serializable {
|
||||
private static final long serialVersionUID = 1L;
|
||||
|
||||
public final static String CLASS_NAME ="com.heyu.api.data.entity.vv.VvOutTradeNoEntity:";
|
||||
|
||||
public final static String all = CLASS_NAME + "*";
|
||||
public final static String id_ = CLASS_NAME + "id"; //
|
||||
public final static String is_delete = CLASS_NAME + "is_delete"; // 是否删除:0 否 1 删除
|
||||
public final static String create_time = CLASS_NAME + "create_time"; // 创建时间
|
||||
public final static String modify_time = CLASS_NAME + "modify_time"; // 修改时间
|
||||
//
|
||||
@TableId(value = "id", type = IdType.AUTO)
|
||||
private Long id;
|
||||
//是否删除:0 否 1 删除
|
||||
private Integer isDelete;
|
||||
//创建时间
|
||||
private Date createTime;
|
||||
//修改时间
|
||||
private Date modifyTime;
|
||||
/**
|
||||
*
|
||||
* @return
|
||||
*/
|
||||
public Long getId() {
|
||||
return id;
|
||||
}
|
||||
/**
|
||||
*
|
||||
* @param id
|
||||
*/
|
||||
public void setId(Long id) {
|
||||
this.id = id;
|
||||
}
|
||||
|
||||
/**
|
||||
* 是否删除:0 否 1 删除
|
||||
* @return
|
||||
*/
|
||||
public Integer getIsDelete() {
|
||||
return isDelete;
|
||||
}
|
||||
/**
|
||||
* 是否删除:0 否 1 删除
|
||||
* @param isDelete
|
||||
*/
|
||||
public void setIsDelete(Integer isDelete) {
|
||||
this.isDelete = isDelete;
|
||||
}
|
||||
|
||||
/**
|
||||
* 创建时间
|
||||
* @return
|
||||
*/
|
||||
public Date getCreateTime() {
|
||||
return createTime;
|
||||
}
|
||||
/**
|
||||
* 创建时间
|
||||
* @param createTime
|
||||
*/
|
||||
public void setCreateTime(Date createTime) {
|
||||
this.createTime = createTime;
|
||||
}
|
||||
|
||||
/**
|
||||
* 修改时间
|
||||
* @return
|
||||
*/
|
||||
public Date getModifyTime() {
|
||||
return modifyTime;
|
||||
}
|
||||
/**
|
||||
* 修改时间
|
||||
* @param modifyTime
|
||||
*/
|
||||
public void setModifyTime(Date modifyTime) {
|
||||
this.modifyTime = modifyTime;
|
||||
}
|
||||
|
||||
@Override
|
||||
public String toString() {
|
||||
return "VvOutTradeNoEntity{" +
|
||||
",id=" + id +
|
||||
",isDelete=" + isDelete +
|
||||
",createTime=" + createTime +
|
||||
",modifyTime=" + modifyTime +
|
||||
"}";
|
||||
}
|
||||
}
|
||||
@ -10,7 +10,7 @@ import java.util.Date;import java.util.Date;
|
||||
/**
|
||||
*逆向表
|
||||
* @author quyixiao
|
||||
* @since 2025-11-19
|
||||
* @since 2025-12-04
|
||||
*/
|
||||
|
||||
@Data
|
||||
@ -77,6 +77,7 @@ private static final long serialVersionUID = 1L;
|
||||
public final static String agree_sign_receipt_user = CLASS_NAME + "agree_sign_receipt_user"; // 同意签收用户
|
||||
public final static String return_seller_id = CLASS_NAME + "return_seller_id"; // 退回到哪个卖家id
|
||||
public final static String return_seller_warehouse_id = CLASS_NAME + "return_seller_warehouse_id"; // 退回到卖家仓库id
|
||||
public final static String out_refund_no = CLASS_NAME + "out_refund_no"; // 退款编号
|
||||
//
|
||||
@TableId(value = "id", type = IdType.AUTO)
|
||||
private Long id;
|
||||
@ -190,6 +191,8 @@ private static final long serialVersionUID = 1L;
|
||||
private Long returnSellerId;
|
||||
//退回到卖家仓库id
|
||||
private Long returnSellerWarehouseId;
|
||||
//退款编号
|
||||
private String outRefundNo;
|
||||
/**
|
||||
*
|
||||
* @return
|
||||
@ -1030,6 +1033,21 @@ private static final long serialVersionUID = 1L;
|
||||
this.returnSellerWarehouseId = returnSellerWarehouseId;
|
||||
}
|
||||
|
||||
/**
|
||||
* 退款编号
|
||||
* @return
|
||||
*/
|
||||
public String getOutRefundNo() {
|
||||
return outRefundNo;
|
||||
}
|
||||
/**
|
||||
* 退款编号
|
||||
* @param outRefundNo
|
||||
*/
|
||||
public void setOutRefundNo(String outRefundNo) {
|
||||
this.outRefundNo = outRefundNo;
|
||||
}
|
||||
|
||||
@Override
|
||||
public String toString() {
|
||||
return "VvReverseOrderEntity{" +
|
||||
@ -1089,6 +1107,7 @@ private static final long serialVersionUID = 1L;
|
||||
",agreeSignReceiptUser=" + agreeSignReceiptUser +
|
||||
",returnSellerId=" + returnSellerId +
|
||||
",returnSellerWarehouseId=" + returnSellerWarehouseId +
|
||||
",outRefundNo=" + outRefundNo +
|
||||
"}";
|
||||
}
|
||||
}
|
||||
@ -10,7 +10,7 @@ import java.util.Date;import java.util.Date;
|
||||
/**
|
||||
*购物车
|
||||
* @author quyixiao
|
||||
* @since 2025-11-17
|
||||
* @since 2025-12-04
|
||||
*/
|
||||
|
||||
@Data
|
||||
@ -49,6 +49,7 @@ private static final long serialVersionUID = 1L;
|
||||
public final static String transaction_id = CLASS_NAME + "transaction_id"; // 事务id
|
||||
public final static String buyer_address_id = CLASS_NAME + "buyer_address_id"; // 买家地址id
|
||||
public final static String promotion_price = CLASS_NAME + "promotion_price"; // 促销价
|
||||
public final static String out_trade_no = CLASS_NAME + "out_trade_no"; //
|
||||
//
|
||||
@TableId(value = "id", type = IdType.AUTO)
|
||||
private Long id;
|
||||
@ -106,6 +107,8 @@ private static final long serialVersionUID = 1L;
|
||||
private Long buyerAddressId;
|
||||
//促销价
|
||||
private BigDecimal promotionPrice;
|
||||
//
|
||||
private String outTradeNo;
|
||||
/**
|
||||
*
|
||||
* @return
|
||||
@ -526,6 +529,21 @@ private static final long serialVersionUID = 1L;
|
||||
this.promotionPrice = promotionPrice;
|
||||
}
|
||||
|
||||
/**
|
||||
*
|
||||
* @return
|
||||
*/
|
||||
public String getOutTradeNo() {
|
||||
return outTradeNo;
|
||||
}
|
||||
/**
|
||||
*
|
||||
* @param outTradeNo
|
||||
*/
|
||||
public void setOutTradeNo(String outTradeNo) {
|
||||
this.outTradeNo = outTradeNo;
|
||||
}
|
||||
|
||||
@Override
|
||||
public String toString() {
|
||||
return "VvTradeOrderEntity{" +
|
||||
@ -557,6 +575,7 @@ private static final long serialVersionUID = 1L;
|
||||
",transactionId=" + transactionId +
|
||||
",buyerAddressId=" + buyerAddressId +
|
||||
",promotionPrice=" + promotionPrice +
|
||||
",outTradeNo=" + outTradeNo +
|
||||
"}";
|
||||
}
|
||||
}
|
||||
@ -0,0 +1,68 @@
|
||||
package com.heyu.api.data.service.impl.vv;
|
||||
/**
|
||||
* <p>
|
||||
* sku详描 服务类
|
||||
* </p>
|
||||
*
|
||||
* @author quyixiao
|
||||
* @since 2025-12-04
|
||||
*/
|
||||
|
||||
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
|
||||
import com.heyu.api.data.dao.vv.VvOutTradeNoDao;
|
||||
import com.heyu.api.data.entity.vv.VvOutTradeNoEntity;
|
||||
import com.heyu.api.data.service.vv.VvOutTradeNoService;
|
||||
import org.springframework.beans.factory.annotation.Autowired;
|
||||
import org.springframework.stereotype.Service;
|
||||
@Service
|
||||
public class VvOutTradeNoServiceImpl extends ServiceImpl<VvOutTradeNoDao, VvOutTradeNoEntity> implements VvOutTradeNoService {
|
||||
|
||||
|
||||
@Autowired
|
||||
private VvOutTradeNoDao vvOutTradeNoDao;
|
||||
|
||||
|
||||
|
||||
@Override
|
||||
public VvOutTradeNoEntity selectVvOutTradeNoById(Long id){
|
||||
return vvOutTradeNoDao.selectVvOutTradeNoById(id);
|
||||
}
|
||||
|
||||
|
||||
|
||||
@Override
|
||||
public Long insertVvOutTradeNo(VvOutTradeNoEntity vvOutTradeNo){
|
||||
return vvOutTradeNoDao.insertVvOutTradeNo(vvOutTradeNo);
|
||||
}
|
||||
|
||||
|
||||
|
||||
@Override
|
||||
public Long insertOrUpdateVvOutTradeNo(VvOutTradeNoEntity vvOutTradeNo){
|
||||
return vvOutTradeNoDao.insertOrUpdateVvOutTradeNo(vvOutTradeNo);
|
||||
}
|
||||
|
||||
|
||||
|
||||
@Override
|
||||
public int updateVvOutTradeNoById(VvOutTradeNoEntity vvOutTradeNo){
|
||||
return vvOutTradeNoDao.updateVvOutTradeNoById(vvOutTradeNo);
|
||||
}
|
||||
|
||||
|
||||
|
||||
@Override
|
||||
public int updateCoverVvOutTradeNoById(VvOutTradeNoEntity vvOutTradeNo){
|
||||
return vvOutTradeNoDao.updateCoverVvOutTradeNoById(vvOutTradeNo);
|
||||
}
|
||||
|
||||
|
||||
|
||||
@Override
|
||||
public int deleteVvOutTradeNoById(Long id){
|
||||
return vvOutTradeNoDao.deleteVvOutTradeNoById(id);
|
||||
}
|
||||
|
||||
|
||||
|
||||
}
|
||||
@ -0,0 +1,34 @@
|
||||
package com.heyu.api.data.service.vv;
|
||||
/**
|
||||
* <p>
|
||||
* sku详描 服务类
|
||||
* </p>
|
||||
*
|
||||
* @author quyixiao
|
||||
* @since 2025-12-04
|
||||
*/
|
||||
import com.baomidou.mybatisplus.extension.service.IService;
|
||||
import com.heyu.api.data.entity.vv.VvOutTradeNoEntity;
|
||||
public interface VvOutTradeNoService extends IService<VvOutTradeNoEntity> {
|
||||
|
||||
|
||||
|
||||
VvOutTradeNoEntity selectVvOutTradeNoById(Long id);
|
||||
|
||||
|
||||
Long insertVvOutTradeNo(VvOutTradeNoEntity vvOutTradeNo);
|
||||
|
||||
|
||||
Long insertOrUpdateVvOutTradeNo(VvOutTradeNoEntity vvOutTradeNo);
|
||||
|
||||
|
||||
int updateVvOutTradeNoById(VvOutTradeNoEntity vvOutTradeNo);
|
||||
|
||||
|
||||
int updateCoverVvOutTradeNoById(VvOutTradeNoEntity vvOutTradeNo);
|
||||
|
||||
|
||||
int deleteVvOutTradeNoById(Long id);
|
||||
|
||||
|
||||
}
|
||||
@ -0,0 +1,6 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
|
||||
<mapper namespace="com.heyu.api.data.dao.vv.VvOutTradeNoDao">
|
||||
|
||||
</mapper>
|
||||
|
||||
@ -94,7 +94,7 @@ public class MysqlMain_insert {
|
||||
|
||||
List<TablesBean> list = new ArrayList<TablesBean>();
|
||||
|
||||
list.add(new TablesBean("vv_promoter"));
|
||||
list.add(new TablesBean("vv_out_trade_no"));
|
||||
|
||||
|
||||
|
||||
|
||||
@ -48,7 +48,7 @@ public class MysqlMain_update {
|
||||
}
|
||||
List<TablesBean> list = new ArrayList<TablesBean>();
|
||||
|
||||
list.add(new TablesBean("vv_sku"));
|
||||
list.add(new TablesBean("vv_reverse_order"));
|
||||
|
||||
Map<String, String> map = MysqlUtil2ShowCreateTable.getComments();
|
||||
for (int i = 0; i < list.size(); i++) {
|
||||
|
||||
@ -4,8 +4,10 @@ package com.heyu.api.jsapi;
|
||||
|
||||
import com.alibaba.fastjson.JSON;
|
||||
import com.heyu.api.alibaba.request.mm.order.ProfitSharingDTO;
|
||||
import com.heyu.api.data.dao.vv.VvOutTradeNoDao;
|
||||
import com.heyu.api.data.dao.vv.VvReverseOrderDao;
|
||||
import com.heyu.api.data.dao.vv.VvTradeOrderDao;
|
||||
import com.heyu.api.data.entity.vv.VvOutTradeNoEntity;
|
||||
import com.heyu.api.data.entity.vv.VvReverseOrderEntity;
|
||||
import com.heyu.api.data.entity.vv.VvTradeOrderEntity;
|
||||
import com.heyu.api.data.utils.BigDecimalUtil;
|
||||
@ -71,6 +73,9 @@ public class JsapiPrepay {
|
||||
private VvReverseOrderDao vvReverseOrderDao;
|
||||
|
||||
|
||||
@Autowired
|
||||
private VvOutTradeNoDao vvOutTradeNoDao;
|
||||
|
||||
|
||||
|
||||
@Value("${eb.config.weixin.pay.notifyUrl}")
|
||||
@ -107,7 +112,7 @@ public class JsapiPrepay {
|
||||
* https://pay.weixin.qq.com/doc/v3/merchant/4012791897
|
||||
* JSAPI/小程序下单
|
||||
*/
|
||||
public DirectAPIv3JsapiPrepayResponse prePay(Long tradeOrderId,
|
||||
public DirectAPIv3JsapiPrepayResponse prePay(String outTradeNo,
|
||||
Long amount,
|
||||
String openid) {
|
||||
DirectAPIv3JsapiPrepayRequest request = new DirectAPIv3JsapiPrepayRequest();
|
||||
@ -115,7 +120,7 @@ public class JsapiPrepay {
|
||||
request.setMchid(mchid);
|
||||
request.setNotifyUrl(notifyUrl);
|
||||
request.setDescription(System.currentTimeMillis() + "");
|
||||
request.setOutTradeNo(tradeOrderId + "");
|
||||
request.setOutTradeNo(outTradeNo );
|
||||
request.setTimeExpire(WXPayUtility.generateExpireTime()); // 2025-11-05T21:02:16+08:00
|
||||
request.setAttach("自定义数据说明");
|
||||
request.setGoodsTag("WXG");
|
||||
@ -219,6 +224,7 @@ public class JsapiPrepay {
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
/****
|
||||
* https://pay.weixin.qq.com/doc/v3/merchant/4012791903
|
||||
* 退款申请
|
||||
@ -229,8 +235,16 @@ public class JsapiPrepay {
|
||||
CreateRequest request = new CreateRequest();
|
||||
request.transactionId = vvTradeOrderEntity.getTransactionId(); // 【微信支付订单号】 微信支付侧订单的唯一标识,订单支付成功后,查询订单和支付成功回调通知会返回该参数。transaction_id和out_trade_no必须二选一进行传参。
|
||||
|
||||
request.outTradeNo = tradeOrderId + ""; // 【商户订单号】 商户下单时传入的商户系统内部订单号。transaction_id和out_trade_no必须二选一进行传参。
|
||||
request.outRefundNo = reverseOrderId + ""; //【商户退款单号】 商户系统内部的退款单号,商户系统内部唯一,只能是数字、大小写字母_-|*@ ,同一商户退款单号多次请求只退一笔。不可超过64个字节数。
|
||||
|
||||
VvOutTradeNoEntity vvOutTradeNo = new VvOutTradeNoEntity();
|
||||
vvOutTradeNoDao.insertOrUpdateVvOutTradeNo(vvOutTradeNo);
|
||||
|
||||
vvReverseOrderEntity.setOutRefundNo(vvOutTradeNo.getId()+"");
|
||||
vvReverseOrderDao.updateVvReverseOrderById(vvReverseOrderEntity);
|
||||
|
||||
|
||||
request.outTradeNo = vvTradeOrderEntity.getOutTradeNo() + ""; // 【商户订单号】 商户下单时传入的商户系统内部订单号。transaction_id和out_trade_no必须二选一进行传参。
|
||||
request.outRefundNo = vvReverseOrderEntity.getOutRefundNo() + ""; //【商户退款单号】 商户系统内部的退款单号,商户系统内部唯一,只能是数字、大小写字母_-|*@ ,同一商户退款单号多次请求只退一笔。不可超过64个字节数。
|
||||
request.reason = vvReverseOrderEntity.getRefundReason(); // 【退款原因】 若商户传了退款原因,该原因将在下发给用户的退款消息中显示,具体展示可参见退款通知UI示意图。请注意:1、该退款原因参数的长度不得超过80个字节;2、当订单退款金额小于等于1元且为部分退款时,退款原因将不会在消息中体现。
|
||||
request.notifyUrl = refundNotifyUrl; // 【退款结果回调url】 异步接收微信支付退款结果通知的回调地址,通知url必须为外网可访问的url,不能携带参数。 如果传了该参数,则商户平台上配置的回调地址(商户平台-交易中心-退款管理-退款配置)将不会生效,优先回调当前传的这个地址。
|
||||
/**
|
||||
|
||||
@ -129,6 +129,9 @@ public class AppOrderController {
|
||||
private VvPromoterTradeOrderAwardDao vvPromoterTradeOrderAwardDao;
|
||||
|
||||
|
||||
@Autowired
|
||||
private VvOutTradeNoDao vvOutTradeNoDao;
|
||||
|
||||
|
||||
/***
|
||||
* https://api.1024api.com/api-interface/app/order/list
|
||||
@ -499,7 +502,12 @@ public class AppOrderController {
|
||||
vvProductDao.updateShowSaleCountAndSaleCount(map.getValue(), map.getValue(), map.getKey());
|
||||
}
|
||||
|
||||
DirectAPIv3JsapiPrepayResponse jsapiPrepayResponse = jsapiPrepay.prePay(vvTradeOrderEntity.getId(),
|
||||
VvOutTradeNoEntity vvOutTradeNo = new VvOutTradeNoEntity();
|
||||
vvOutTradeNoDao.insertOrUpdateVvOutTradeNo(vvOutTradeNo);
|
||||
vvTradeOrderEntity.setOutTradeNo(vvOutTradeNo.getId()+"");
|
||||
vvTradeOrderDao.updateVvTradeOrderById(vvTradeOrderEntity);
|
||||
|
||||
DirectAPIv3JsapiPrepayResponse jsapiPrepayResponse = jsapiPrepay.prePay(vvTradeOrderEntity.getOutTradeNo(),
|
||||
BigDecimalUtil.multiply(vvTradeOrderEntity.getPayAmount(), new BigDecimal(100)).longValue(),
|
||||
vvBuyerEntity.getOpenid()
|
||||
);
|
||||
@ -516,6 +524,7 @@ public class AppOrderController {
|
||||
vvTradeOrderLineEntity.setGmtPrePay(new Date());
|
||||
vvTradeOrderLineDao.updateVvTradeOrderLineById(vvTradeOrderLineEntity);
|
||||
}
|
||||
|
||||
// 发送订单关单的消息
|
||||
Date currentTime = new Date();
|
||||
Date after30 = DateUtils.addMinutes(currentTime, 30);
|
||||
@ -567,13 +576,19 @@ public class AppOrderController {
|
||||
VvTradeOrderEntity vvTradeOrderEntity = vvTradeOrderDao.selectVvTradeOrderById(vvOrderRequest.getTradeOrderId());
|
||||
|
||||
VvBuyerEntity vvBuyerEntity = vvBuyerDao.selectVvBuyerById(vvOrderRequest.getBuyerId());
|
||||
VvOutTradeNoEntity vvOutTradeNo = new VvOutTradeNoEntity();
|
||||
vvOutTradeNoDao.insertOrUpdateVvOutTradeNo(vvOutTradeNo);
|
||||
|
||||
DirectAPIv3JsapiPrepayResponse jsapiPrepayResponse = jsapiPrepay.prePay(vvTradeOrderEntity.getId(),
|
||||
vvTradeOrderEntity.setOutTradeNo(vvOutTradeNo.getId()+"");
|
||||
vvTradeOrderDao.updateVvTradeOrderById(vvTradeOrderEntity);
|
||||
|
||||
DirectAPIv3JsapiPrepayResponse jsapiPrepayResponse = jsapiPrepay.prePay(vvTradeOrderEntity.getOutTradeNo(),
|
||||
BigDecimalUtil.multiply(vvTradeOrderEntity.getPayAmount(), new BigDecimal(100)).longValue(),
|
||||
vvBuyerEntity.getOpenid()
|
||||
);
|
||||
|
||||
String prepay_id = jsapiPrepayResponse.getPrepayId();
|
||||
|
||||
if (jsapiPrepayResponse != null && jsapiPrepayResponse.getPrepayId() != null) {
|
||||
List<VvTradeOrderLineEntity> vvTradeOrderLineEntities = vvTradeOrderLineDao.selectVvTradeOrderLineByTradeOrderId(vvTradeOrderEntity.getId());
|
||||
for (VvTradeOrderLineEntity vvTradeOrderLineEntity : vvTradeOrderLineEntities) {
|
||||
|
||||
@ -4,13 +4,12 @@ package com.heyu.api.controller.vv;
|
||||
import com.alibaba.fastjson.JSON;
|
||||
import com.fasterxml.jackson.databind.JsonNode;
|
||||
import com.fasterxml.jackson.databind.ObjectMapper;
|
||||
import com.heyu.api.data.enums.OrderStatusEnums;
|
||||
import com.heyu.api.common.annotation.Describe;
|
||||
import com.heyu.api.data.dao.vv.VvTradeOrderDao;
|
||||
import com.heyu.api.data.dao.vv.VvTradeOrderLineDao;
|
||||
import com.heyu.api.data.entity.vv.VvTradeOrderEntity;
|
||||
import com.heyu.api.data.entity.vv.VvTradeOrderLineEntity;
|
||||
import com.heyu.api.data.utils.NumberUtil;
|
||||
import com.heyu.api.data.enums.OrderStatusEnums;
|
||||
import com.heyu.api.jsapi.JsapiPrepay;
|
||||
import com.heyu.api.jsapi.dto.pay.DirectAPIv3QueryResponse;
|
||||
import lombok.extern.slf4j.Slf4j;
|
||||
@ -107,22 +106,24 @@ public class AppWeiXinPayNotifyController {
|
||||
private void updateOrderStatus(String outTradeNo, String transactionId) {
|
||||
try {
|
||||
DirectAPIv3QueryResponse response = jsapiPrepay.queryOrder(transactionId);
|
||||
VvTradeOrderEntity tradeOrderEntity = tradeOrderDao.selectVvTradeOrderById(NumberUtil.objToLong(outTradeNo));
|
||||
VvTradeOrderEntity tradeOrderEntity = tradeOrderDao.selectVvTradeOrderByOutTradeNo(outTradeNo);
|
||||
tradeOrderEntity.setTradeInfo(JSON.toJSONString(response));
|
||||
tradeOrderEntity.setTransactionId(transactionId);
|
||||
tradeOrderDao.updateVvTradeOrderById(tradeOrderEntity);
|
||||
|
||||
// 这里是更新商户订单状态的逻辑,例如标记订单已支付
|
||||
log.info("handleWeChatPayCallback 订单 " + outTradeNo + " 已支付,交易号:" + transactionId + "开始更新子订单信息");
|
||||
List<VvTradeOrderLineEntity> vvTradeOrderLineEntityList = vvTradeOrderLineDao.selectVvTradeOrderLineByTradeOrderId(tradeOrderEntity.getId());
|
||||
for (VvTradeOrderLineEntity vvTradeOrderLineEntity : vvTradeOrderLineEntityList) {
|
||||
vvTradeOrderLineEntity.setStatus(OrderStatusEnums.wait_shipping.getStatus());
|
||||
vvTradeOrderLineEntity.setGmtPay(new Date());
|
||||
vvTradeOrderLineEntity.setTransactionId(transactionId);
|
||||
vvTradeOrderLineDao.updateVvTradeOrderLineById(vvTradeOrderLineEntity);
|
||||
}
|
||||
}catch ( Exception e ){
|
||||
log.error("AppWeiXinPayNotifyController updateOrderStatus error:{}",e.getMessage());
|
||||
}
|
||||
// 这里是更新商户订单状态的逻辑,例如标记订单已支付
|
||||
log.info("handleWeChatPayCallback 订单 " + outTradeNo + " 已支付,交易号:" + transactionId + "开始更新子订单信息");
|
||||
List<VvTradeOrderLineEntity> vvTradeOrderLineEntityList = vvTradeOrderLineDao.selectVvTradeOrderLineByTradeOrderId(NumberUtil.objToLong(outTradeNo));
|
||||
for (VvTradeOrderLineEntity vvTradeOrderLineEntity : vvTradeOrderLineEntityList) {
|
||||
vvTradeOrderLineEntity.setStatus(OrderStatusEnums.wait_shipping.getStatus());
|
||||
vvTradeOrderLineEntity.setGmtPay(new Date());
|
||||
vvTradeOrderLineEntity.setTransactionId(transactionId);
|
||||
vvTradeOrderLineDao.updateVvTradeOrderLineById(vvTradeOrderLineEntity);
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
@ -2,7 +2,6 @@ package com.heyu.api.controller.vv;
|
||||
|
||||
|
||||
import com.alibaba.fastjson.JSONObject;
|
||||
import com.heyu.api.data.enums.ReverseStatusEnums;
|
||||
import com.heyu.api.data.dao.vv.VvReverseOrderDao;
|
||||
import com.heyu.api.data.dao.vv.VvReverseOrderLineDao;
|
||||
import com.heyu.api.data.dao.vv.VvTradeOrderDao;
|
||||
@ -10,7 +9,7 @@ import com.heyu.api.data.dao.vv.VvTradeOrderLineDao;
|
||||
import com.heyu.api.data.entity.vv.VvReverseOrderEntity;
|
||||
import com.heyu.api.data.entity.vv.VvReverseOrderLineEntity;
|
||||
import com.heyu.api.data.entity.vv.VvTradeOrderLineEntity;
|
||||
import com.heyu.api.data.utils.NumberUtil;
|
||||
import com.heyu.api.data.enums.ReverseStatusEnums;
|
||||
import com.heyu.api.data.utils.StringUtils;
|
||||
import lombok.extern.slf4j.Slf4j;
|
||||
import org.springframework.beans.factory.annotation.Autowired;
|
||||
@ -110,15 +109,18 @@ public class AppWeiXinRefundNotifyController {
|
||||
log.info("AppWeiXinRefundNotifyController refundNotifyUrl out_trade_no:{} ,out_refund_no:{} refund_status:{} resultStr :{} " ,out_trade_no,out_refund_no,refund_status,resultStr);
|
||||
Map<String, Object> parm = new HashMap<>();
|
||||
if (!StringUtils.isEmpty(refund_status) && "SUCCESS".equals(refund_status)) {
|
||||
VvReverseOrderEntity vvReverseOrderEntity = reverseOrderDao.selectVvReverseOrderById(NumberUtil.objToLong(out_refund_no));
|
||||
|
||||
VvReverseOrderEntity vvReverseOrderEntity = reverseOrderDao.selectVvReverseOrderByOutRefundNo(out_refund_no);
|
||||
|
||||
log.info("AppWeiXinRefundNotifyController refundNotifyUrl reverseStatus:{}", vvReverseOrderEntity.getStatus());
|
||||
|
||||
if(ReverseStatusEnums.weixin_refunding.getStatus().equals(vvReverseOrderEntity.getStatus())){
|
||||
vvReverseOrderEntity.setGmtRefunded(new Date());
|
||||
vvReverseOrderEntity.setStatus(ReverseStatusEnums.refunded.getStatus());
|
||||
vvReverseOrderEntity.setGmtRefundNotify(new Date());
|
||||
reverseOrderDao.updateVvReverseOrderById(vvReverseOrderEntity);
|
||||
|
||||
List<VvReverseOrderLineEntity > vvReverseOrderLineEntities = vvReverseOrderLineDao.selectVvReverseOrderLineByReverseOrderId(NumberUtil.objToLong(out_refund_no));;
|
||||
List<VvReverseOrderLineEntity > vvReverseOrderLineEntities = vvReverseOrderLineDao.selectVvReverseOrderLineByReverseOrderId(vvReverseOrderEntity.getId());
|
||||
List<Long> tradeOrderLineIds = new ArrayList<>();
|
||||
for (VvReverseOrderLineEntity vvReverseOrderLineEntity : vvReverseOrderLineEntities) {
|
||||
tradeOrderLineIds.add(vvReverseOrderLineEntity.getTradeOrderLineId());
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user