From 5c51e438062cc4f1ec200b8e11186f259e7bb06e Mon Sep 17 00:00:00 2001 From: quyixiao <2621048238@qq.com> Date: Thu, 4 Dec 2025 00:12:13 +0800 Subject: [PATCH] rtjuq --- .../api/data/entity/vv/VvCommentEntity.java | 21 +++++++- .../com/heyu/api/data/enums/ActionEnums.java | 4 +- .../service/impl/AbstractOrderAction.java | 5 +- .../service/impl/order/AppToPayAction.java | 21 ++++++++ .../java/com/test/xxx/MysqlMain_update.java | 2 +- .../mm/order/resp/VvTradeOrderToPayDTO.java | 17 ++++++ .../controller/vv/AppCommentController.java | 8 +-- .../api/controller/vv/AppOrderController.java | 53 +++++++++++++++++++ 8 files changed, 118 insertions(+), 13 deletions(-) create mode 100644 api-mapper/src/main/java/com/heyu/api/data/service/impl/order/AppToPayAction.java create mode 100644 api-third/src/main/java/com/heyu/api/alibaba/request/mm/order/resp/VvTradeOrderToPayDTO.java diff --git a/api-mapper/src/main/java/com/heyu/api/data/entity/vv/VvCommentEntity.java b/api-mapper/src/main/java/com/heyu/api/data/entity/vv/VvCommentEntity.java index c11e2d8..7d8dae1 100644 --- a/api-mapper/src/main/java/com/heyu/api/data/entity/vv/VvCommentEntity.java +++ b/api-mapper/src/main/java/com/heyu/api/data/entity/vv/VvCommentEntity.java @@ -10,7 +10,7 @@ import java.util.Date;import java.util.Date; /** *评论表 * @author quyixiao -* @since 2025-11-19 +* @since 2025-12-04 */ @Data @@ -48,6 +48,7 @@ private static final long serialVersionUID = 1L; public final static String gmt_reject = CLASS_NAME + "gmt_reject"; // 拒绝时间 public final static String agree_user = CLASS_NAME + "agree_user"; // 同意用户 public final static String reject_user = CLASS_NAME + "reject_user"; // 拒绝用户 + public final static String avatar_ = CLASS_NAME + "avatar"; // 头像 // @TableId(value = "id", type = IdType.AUTO) private Long id; @@ -103,6 +104,8 @@ private static final long serialVersionUID = 1L; private String agreeUser; //拒绝用户 private String rejectUser; + //头像 + private String avatar; /** * * @return @@ -508,6 +511,21 @@ private static final long serialVersionUID = 1L; this.rejectUser = rejectUser; } + /** + * 头像 + * @return + */ + public String getAvatar() { + return avatar; + } + /** + * 头像 + * @param avatar + */ + public void setAvatar(String avatar) { + this.avatar = avatar; + } + @Override public String toString() { return "VvCommentEntity{" + @@ -538,6 +556,7 @@ private static final long serialVersionUID = 1L; ",gmtReject=" + gmtReject + ",agreeUser=" + agreeUser + ",rejectUser=" + rejectUser + + ",avatar=" + avatar + "}"; } } \ No newline at end of file diff --git a/api-mapper/src/main/java/com/heyu/api/data/enums/ActionEnums.java b/api-mapper/src/main/java/com/heyu/api/data/enums/ActionEnums.java index a594554..a7bc48b 100644 --- a/api-mapper/src/main/java/com/heyu/api/data/enums/ActionEnums.java +++ b/api-mapper/src/main/java/com/heyu/api/data/enums/ActionEnums.java @@ -80,13 +80,13 @@ public enum ActionEnums { Admin_Seller_Reject_Draw("Admin_Seller_Reject_Draw", "卖家拒绝提现", "/mm/draw/reject", AwardStatusEnums.draw_failed.getStatus()), + App_To_Pay("App_To_Pay", "去支付", "/app/to/pay", OrderStatusEnums.wait_shipping.getStatus()), + Admin_Track_Logistics("Admin_Track_Logistics", "admin查看物流", "/mm/logistics/query", null), App_Track_Logistics("Admin_Track_Logistics", "app查看物流", "/app/logistics/query", null), ; - - /*** * 取消按钮 */ diff --git a/api-mapper/src/main/java/com/heyu/api/data/service/impl/AbstractOrderAction.java b/api-mapper/src/main/java/com/heyu/api/data/service/impl/AbstractOrderAction.java index f40f9d9..9aec094 100644 --- a/api-mapper/src/main/java/com/heyu/api/data/service/impl/AbstractOrderAction.java +++ b/api-mapper/src/main/java/com/heyu/api/data/service/impl/AbstractOrderAction.java @@ -15,7 +15,6 @@ public abstract class AbstractOrderAction { public abstract ActionEnums getAction(VvTradeOrderLineEntity vvTradeOrderLineEntity, boolean isApp); - public static final List actions = Arrays.asList( new ApplyRefund(), new ApplyReturnRefund(), @@ -28,7 +27,8 @@ public abstract class AbstractOrderAction { new ShippedAction(), new ToShippingAction(), new TrackLogisticsAction(), - new UnShippingAction() + new UnShippingAction(), + new AppToPayAction() ); public static List getOrderActionDTO(VvTradeOrderLineEntity vvTradeOrderLineEntity, boolean isApp) { @@ -46,7 +46,6 @@ public abstract class AbstractOrderAction { return actionDTOS; } - public static boolean checkFailed(VvTradeOrderLineEntity vvTradeOrderLineEntity, boolean isApp, ActionEnums orderActionEnums) { List orderActionDTOS = getOrderActionDTO(vvTradeOrderLineEntity, isApp); if (CollectionUtils.isNotEmpty(orderActionDTOS)) { diff --git a/api-mapper/src/main/java/com/heyu/api/data/service/impl/order/AppToPayAction.java b/api-mapper/src/main/java/com/heyu/api/data/service/impl/order/AppToPayAction.java new file mode 100644 index 0000000..36fe32c --- /dev/null +++ b/api-mapper/src/main/java/com/heyu/api/data/service/impl/order/AppToPayAction.java @@ -0,0 +1,21 @@ +package com.heyu.api.data.service.impl.order; + +import com.heyu.api.data.entity.vv.VvTradeOrderLineEntity; +import com.heyu.api.data.enums.ActionEnums; +import com.heyu.api.data.enums.OrderStatusEnums; +import com.heyu.api.data.service.impl.AbstractOrderAction; + +public class AppToPayAction extends AbstractOrderAction { + @Override + public ActionEnums getAction(VvTradeOrderLineEntity vvTradeOrderLineEntity, boolean isApp) { + if ( + OrderStatusEnums.wait_pay.getStatus().equals(vvTradeOrderLineEntity.getStatus()) + ) { + if (isApp) { + return ActionEnums.App_To_Pay; + } + + } + return null; + } +} diff --git a/api-mapper/src/test/java/com/test/xxx/MysqlMain_update.java b/api-mapper/src/test/java/com/test/xxx/MysqlMain_update.java index 73c9718..9d7aca8 100644 --- a/api-mapper/src/test/java/com/test/xxx/MysqlMain_update.java +++ b/api-mapper/src/test/java/com/test/xxx/MysqlMain_update.java @@ -48,7 +48,7 @@ public class MysqlMain_update { } List list = new ArrayList(); - list.add(new TablesBean("vv_trade_order_line")); + list.add(new TablesBean("vv_comment")); Map map = MysqlUtil2ShowCreateTable.getComments(); for (int i = 0; i < list.size(); i++) { diff --git a/api-third/src/main/java/com/heyu/api/alibaba/request/mm/order/resp/VvTradeOrderToPayDTO.java b/api-third/src/main/java/com/heyu/api/alibaba/request/mm/order/resp/VvTradeOrderToPayDTO.java new file mode 100644 index 0000000..6816792 --- /dev/null +++ b/api-third/src/main/java/com/heyu/api/alibaba/request/mm/order/resp/VvTradeOrderToPayDTO.java @@ -0,0 +1,17 @@ +package com.heyu.api.alibaba.request.mm.order.resp; + + +import com.heyu.api.data.service.impl.AppBaseRequest; +import lombok.Data; + +@Data +public class VvTradeOrderToPayDTO extends AppBaseRequest { + + + /*** + * 订单id + */ + private Long tradeOrderId; + + +} \ No newline at end of file diff --git a/api-web/api-interface/src/main/java/com/heyu/api/controller/vv/AppCommentController.java b/api-web/api-interface/src/main/java/com/heyu/api/controller/vv/AppCommentController.java index 8e1f071..7c4a954 100644 --- a/api-web/api-interface/src/main/java/com/heyu/api/controller/vv/AppCommentController.java +++ b/api-web/api-interface/src/main/java/com/heyu/api/controller/vv/AppCommentController.java @@ -58,8 +58,6 @@ public class AppCommentController { private VvCommentUserfulDao vvCommentUserfulDao; - - /*** * 列表 * http://localhost:8888/app/comment/list @@ -100,10 +98,6 @@ public class AppCommentController { }); } - - - - List vvCommentEntities = pageUtils.getRows(); List vvCommentDTOS = new ArrayList<>(); @@ -200,6 +194,7 @@ public class AppCommentController { vvCommentEntity.setBuyerId(vvBuyerEntity.getId()); vvCommentEntity.setBuyerName(vvBuyerEntity.getBuyerName()); vvCommentEntity.setBuyerPhone(vvBuyerEntity.getBuyerPhone()); + vvCommentEntity.setAvatar(vvBuyerEntity.getAvatar()); vvCommentDao.insert(vvCommentEntity); @@ -217,6 +212,7 @@ public class AppCommentController { vvTradeOrderLineDao.updateVvTradeOrderLineCommentIdById(vvCommentEntity.getId(),vvTradeOrderLineEntity.getId()); } + /*** * */ diff --git a/api-web/api-interface/src/main/java/com/heyu/api/controller/vv/AppOrderController.java b/api-web/api-interface/src/main/java/com/heyu/api/controller/vv/AppOrderController.java index 51b93c1..38d239a 100644 --- a/api-web/api-interface/src/main/java/com/heyu/api/controller/vv/AppOrderController.java +++ b/api-web/api-interface/src/main/java/com/heyu/api/controller/vv/AppOrderController.java @@ -504,6 +504,7 @@ public class AppOrderController { vvBuyerEntity.getOpenid() ); + String prepay_id = jsapiPrepayResponse.getPrepayId(); if (jsapiPrepayResponse != null && jsapiPrepayResponse.getPrepayId() != null) { @@ -554,6 +555,58 @@ public class AppOrderController { return R.ok().setData(vo); } + + /*** + * 订单 再次支付 + * + * http://localhost:8888/app/order/to/pay + */ + @Describe("添加订单") + @RequestMapping("/to/pay") + public R toPay(@RequestBody VvTradeOrderToPayDTO vvOrderRequest) { + VvTradeOrderEntity vvTradeOrderEntity = vvTradeOrderDao.selectVvTradeOrderById(vvOrderRequest.getTradeOrderId()); + + VvBuyerEntity vvBuyerEntity = vvBuyerDao.selectVvBuyerById(vvOrderRequest.getBuyerId()); + + DirectAPIv3JsapiPrepayResponse jsapiPrepayResponse = jsapiPrepay.prePay(vvTradeOrderEntity.getId(), + BigDecimalUtil.multiply(vvTradeOrderEntity.getPayAmount(), new BigDecimal(100)).longValue(), + vvBuyerEntity.getOpenid() + ); + + String prepay_id = jsapiPrepayResponse.getPrepayId(); + if (jsapiPrepayResponse != null && jsapiPrepayResponse.getPrepayId() != null) { + List vvTradeOrderLineEntities = vvTradeOrderLineDao.selectVvTradeOrderLineByTradeOrderId(vvTradeOrderEntity.getId()); + for (VvTradeOrderLineEntity vvTradeOrderLineEntity : vvTradeOrderLineEntities) { + vvTradeOrderLineEntity.setPayType(PayTypeEnums.weixin.getType()); + vvTradeOrderLineEntity.setStatus(OrderStatusEnums.wait_pay.getStatus()); + vvTradeOrderLineEntity.setPrepayId(jsapiPrepayResponse.getPrepayId()); + vvTradeOrderLineEntity.setGmtPrePay(new Date()); + vvTradeOrderLineDao.updateVvTradeOrderLineById(vvTradeOrderLineEntity); + } + } + + WxPayVO vo = new WxPayVO(); + Long timeStamp = System.currentTimeMillis() / 1000; + String nonceStr = UUID.randomUUID().toString().replaceAll("-", "").substring(0, 32); + String signatureStr = Stream.of(appid, String.valueOf(timeStamp), nonceStr, "prepay_id=" + prepay_id) + .collect(Collectors.joining("\n", "", "\n")); + + // "timeStamp": "1414561699", + // "nonceStr": "5K8264ILTKCH16CQ2502SI8ZNMTM67VS", + // "package": "prepay_id=wx201410272009395522657a690389285100", + // "signType": "RSA", + // "paySign": "oR9d", + + String sign = JsapiPrepay.getSign(signatureStr, privateKey); + vo.setNonceStr(nonceStr); + vo.setTimeStamp(timeStamp); + vo.setMchid(mchid); + vo.setPaySign(sign); + vo.setPrepayId("prepay_id=" + prepay_id); + + return R.ok().setData(vo); + } + // /app/order/delete @Describe("删除订单") @RequestMapping("/delete")