From 435a0f55d155c11005f7794638024b09f2f8b60d Mon Sep 17 00:00:00 2001 From: sxu <602087911@qq.com> Date: Tue, 8 Apr 2025 16:27:22 +0800 Subject: [PATCH] =?UTF-8?q?=E5=85=85=E5=80=BC?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../canteen/core/account/domain/AccTrade.java | 8 ++++---- .../dto => account/domain/vo}/AccTradeVo.java | 10 +++++----- .../core/account/mapper/AccTradeMapper.java | 3 ++- .../account/service/IAccTradeService.java | 4 ++-- .../service/impl/AccTradeServiceImpl.java | 16 +++++++-------- .../core/pay/controller/NotifyCotroller.java | 20 +++++++++---------- .../core/pay/controller/PayCotroller.java | 17 ++++++++++------ .../mapper/account/AccTradeMapper.xml | 18 ++++++++++++----- 8 files changed, 54 insertions(+), 42 deletions(-) rename bonus-modules/bonus-smart-canteen/src/main/java/com/bonus/canteen/core/{pay/dto => account/domain/vo}/AccTradeVo.java (81%) diff --git a/bonus-modules/bonus-smart-canteen/src/main/java/com/bonus/canteen/core/account/domain/AccTrade.java b/bonus-modules/bonus-smart-canteen/src/main/java/com/bonus/canteen/core/account/domain/AccTrade.java index 722127b..3258736 100644 --- a/bonus-modules/bonus-smart-canteen/src/main/java/com/bonus/canteen/core/account/domain/AccTrade.java +++ b/bonus-modules/bonus-smart-canteen/src/main/java/com/bonus/canteen/core/account/domain/AccTrade.java @@ -100,10 +100,10 @@ public class AccTrade extends BaseEntity { @ApiModelProperty(value = "批量操作批次号") private String batchNum; - /** 关联小牛订单号 */ - @Excel(name = "关联小牛订单号") - @ApiModelProperty(value = "关联小牛订单号") - private Long leOrdNo; + /** 商户订单号 */ + @Excel(name = "商户订单号") + @ApiModelProperty(value = "商户订单号") + private String orderNo; /** 关联原记录交易id */ @Excel(name = "关联原记录交易id") diff --git a/bonus-modules/bonus-smart-canteen/src/main/java/com/bonus/canteen/core/pay/dto/AccTradeVo.java b/bonus-modules/bonus-smart-canteen/src/main/java/com/bonus/canteen/core/account/domain/vo/AccTradeVo.java similarity index 81% rename from bonus-modules/bonus-smart-canteen/src/main/java/com/bonus/canteen/core/pay/dto/AccTradeVo.java rename to bonus-modules/bonus-smart-canteen/src/main/java/com/bonus/canteen/core/account/domain/vo/AccTradeVo.java index 0607598..26ca81a 100644 --- a/bonus-modules/bonus-smart-canteen/src/main/java/com/bonus/canteen/core/pay/dto/AccTradeVo.java +++ b/bonus-modules/bonus-smart-canteen/src/main/java/com/bonus/canteen/core/account/domain/vo/AccTradeVo.java @@ -1,4 +1,4 @@ -package com.bonus.canteen.core.pay.dto; +package com.bonus.canteen.core.account.domain.vo; import com.fasterxml.jackson.annotation.JsonFormat; import lombok.Data; @@ -14,14 +14,14 @@ public class AccTradeVo { private BigDecimal paymentAmount;//付款金额, 必填 private String productDesc;//商品描述 private Long amount; //金额(单位:分) - private Integer tradeType; + private Long tradeType; @JsonFormat( pattern = "yyyy-MM-dd HH:mm:ss" ) private Date tradeTime; - private Integer tradeState; - private Integer payType; - private Integer payState; //是否付款 true - 已付 false-未付 + private Long tradeState; + private Long payType; + private Long payState; //是否付款 true - 已付 false-未付 private String thirdTradeNo; //三方,支付宝交易号 private String failReason; @JsonFormat( diff --git a/bonus-modules/bonus-smart-canteen/src/main/java/com/bonus/canteen/core/account/mapper/AccTradeMapper.java b/bonus-modules/bonus-smart-canteen/src/main/java/com/bonus/canteen/core/account/mapper/AccTradeMapper.java index d70a764..73c8670 100644 --- a/bonus-modules/bonus-smart-canteen/src/main/java/com/bonus/canteen/core/account/mapper/AccTradeMapper.java +++ b/bonus-modules/bonus-smart-canteen/src/main/java/com/bonus/canteen/core/account/mapper/AccTradeMapper.java @@ -2,6 +2,7 @@ package com.bonus.canteen.core.account.mapper; import java.util.List; import com.bonus.canteen.core.account.domain.AccTrade; +import com.bonus.canteen.core.account.domain.vo.AccTradeVo; /** * 账户交易记录Mapper接口 @@ -44,7 +45,7 @@ public interface AccTradeMapper { */ public int updateAccTrade(AccTrade accTrade); -// public int updateAccTradeVo(AccTradeVo accTrade); + public int updateAccTradeVoByOrderNo(AccTradeVo accTradeVo); /** * 删除账户交易记录 diff --git a/bonus-modules/bonus-smart-canteen/src/main/java/com/bonus/canteen/core/account/service/IAccTradeService.java b/bonus-modules/bonus-smart-canteen/src/main/java/com/bonus/canteen/core/account/service/IAccTradeService.java index fa2e473..b323d42 100644 --- a/bonus-modules/bonus-smart-canteen/src/main/java/com/bonus/canteen/core/account/service/IAccTradeService.java +++ b/bonus-modules/bonus-smart-canteen/src/main/java/com/bonus/canteen/core/account/service/IAccTradeService.java @@ -2,7 +2,7 @@ package com.bonus.canteen.core.account.service; import java.util.List; import com.bonus.canteen.core.account.domain.AccTrade; -import com.bonus.canteen.core.pay.dto.AccTradeVo; +import com.bonus.canteen.core.account.domain.vo.AccTradeVo; /** * 账户交易记录Service接口 @@ -45,7 +45,7 @@ public interface IAccTradeService { */ public int updateAccTrade(AccTrade accTrade); - public int updateAccTradeVo(AccTradeVo accTrade); + public int updateAccTradeVoByOrderNo(AccTradeVo accTrade); /** * 批量删除账户交易记录 diff --git a/bonus-modules/bonus-smart-canteen/src/main/java/com/bonus/canteen/core/account/service/impl/AccTradeServiceImpl.java b/bonus-modules/bonus-smart-canteen/src/main/java/com/bonus/canteen/core/account/service/impl/AccTradeServiceImpl.java index e73b86d..f57d809 100644 --- a/bonus-modules/bonus-smart-canteen/src/main/java/com/bonus/canteen/core/account/service/impl/AccTradeServiceImpl.java +++ b/bonus-modules/bonus-smart-canteen/src/main/java/com/bonus/canteen/core/account/service/impl/AccTradeServiceImpl.java @@ -1,7 +1,7 @@ package com.bonus.canteen.core.account.service.impl; import java.util.List; -import com.bonus.canteen.core.pay.dto.AccTradeVo; +import com.bonus.canteen.core.account.domain.vo.AccTradeVo; import com.bonus.common.core.exception.ServiceException; import com.bonus.common.core.utils.DateUtils; import org.springframework.beans.BeanUtils; @@ -56,7 +56,7 @@ public class AccTradeServiceImpl implements IAccTradeService { try { return accTradeMapper.insertAccTrade(accTrade); } catch (Exception e) { - throw new ServiceException("错误信息描述"); + throw new ServiceException("错误信息描述" + e.getMessage()); } } @@ -68,7 +68,7 @@ public class AccTradeServiceImpl implements IAccTradeService { BeanUtils.copyProperties(accTradeVo, accTrade); return accTradeMapper.insertAccTrade(accTrade); } catch (Exception e) { - throw new ServiceException("错误信息描述"); + throw new ServiceException("错误信息描述" + e.getMessage()); } } @@ -84,19 +84,17 @@ public class AccTradeServiceImpl implements IAccTradeService { try { return accTradeMapper.updateAccTrade(accTrade); } catch (Exception e) { - throw new ServiceException("错误信息描述"); + throw new ServiceException("错误信息描述" + e.getMessage()); } } @Override - public int updateAccTradeVo(AccTradeVo accTradeVo) { + public int updateAccTradeVoByOrderNo(AccTradeVo accTradeVo) { accTradeVo.setUpdateTime(DateUtils.getNowDate()); try { - AccTrade accTrade = new AccTrade(); - BeanUtils.copyProperties(accTradeVo, accTrade); - return accTradeMapper.updateAccTrade(accTrade); + return accTradeMapper.updateAccTradeVoByOrderNo(accTradeVo); } catch (Exception e) { - throw new ServiceException("错误信息描述"); + throw new ServiceException("错误信息描述" + e.getMessage()); } } diff --git a/bonus-modules/bonus-smart-canteen/src/main/java/com/bonus/canteen/core/pay/controller/NotifyCotroller.java b/bonus-modules/bonus-smart-canteen/src/main/java/com/bonus/canteen/core/pay/controller/NotifyCotroller.java index 1bb11c9..aa2d0dd 100644 --- a/bonus-modules/bonus-smart-canteen/src/main/java/com/bonus/canteen/core/pay/controller/NotifyCotroller.java +++ b/bonus-modules/bonus-smart-canteen/src/main/java/com/bonus/canteen/core/pay/controller/NotifyCotroller.java @@ -5,7 +5,7 @@ import com.alipay.api.internal.util.AlipaySignature; import com.bonus.canteen.core.account.constants.AccTradeStateEnum; import com.bonus.canteen.core.account.service.IAccTradeService; import com.bonus.canteen.core.pay.constants.PayStateEnum; -import com.bonus.canteen.core.pay.dto.AccTradeVo; +import com.bonus.canteen.core.account.domain.vo.AccTradeVo; import com.bonus.canteen.core.pay.util.AlipayConfig; import io.swagger.annotations.Api; import lombok.extern.slf4j.Slf4j; @@ -66,10 +66,10 @@ public class NotifyCotroller { AccTradeVo updateTrade = new AccTradeVo(); updateTrade.setOrderNo(order_no); updateTrade.setThirdTradeNo(third_trade_no); - updateTrade.setPayState(PayStateEnum.PAY_SUCC.getKey()); - updateTrade.setTradeState(AccTradeStateEnum.TAKE_EFFECT.getKey()); + updateTrade.setPayState(PayStateEnum.PAY_SUCC.getKey().longValue()); + updateTrade.setTradeState(AccTradeStateEnum.TAKE_EFFECT.getKey().longValue()); updateTrade.setFailReason(trade_status); - this.accTradeService.updateAccTradeVo(updateTrade); + this.accTradeService.updateAccTradeVoByOrderNo(updateTrade); } else if ("TRADE_SUCCESS".equals(trade_status)) { //判断该笔订单是否已经做过处理 //如果没做过处理,根据订单号(out_trade_no)在商户网站的订单系统中查到该笔订单的详情,判断金额是否等于 total_amount,并执行商户的业务程序 @@ -78,19 +78,19 @@ public class NotifyCotroller { AccTradeVo updateTrade = new AccTradeVo(); updateTrade.setOrderNo(order_no); updateTrade.setThirdTradeNo(third_trade_no); - updateTrade.setPayState(PayStateEnum.PAY_SUCC.getKey()); - updateTrade.setTradeState(AccTradeStateEnum.TAKE_EFFECT.getKey()); + updateTrade.setPayState(PayStateEnum.PAY_SUCC.getKey().longValue()); + updateTrade.setTradeState(AccTradeStateEnum.TAKE_EFFECT.getKey().longValue()); updateTrade.setFailReason(trade_status); - this.accTradeService.updateAccTradeVo(updateTrade); + this.accTradeService.updateAccTradeVoByOrderNo(updateTrade); //TODO 增加用户的个人钱包 acc_wallet_info } else { AccTradeVo updateTrade = new AccTradeVo(); updateTrade.setOrderNo(order_no); updateTrade.setThirdTradeNo(third_trade_no); - updateTrade.setPayState(PayStateEnum.PAY_FAIL.getKey()); - updateTrade.setTradeState(AccTradeStateEnum.CLOSE.getKey()); + updateTrade.setPayState(PayStateEnum.PAY_FAIL.getKey().longValue()); + updateTrade.setTradeState(AccTradeStateEnum.CLOSE.getKey().longValue()); updateTrade.setFailReason(trade_status); - this.accTradeService.updateAccTradeVo(updateTrade); + this.accTradeService.updateAccTradeVoByOrderNo(updateTrade); } out.println("success"); diff --git a/bonus-modules/bonus-smart-canteen/src/main/java/com/bonus/canteen/core/pay/controller/PayCotroller.java b/bonus-modules/bonus-smart-canteen/src/main/java/com/bonus/canteen/core/pay/controller/PayCotroller.java index bb87eb2..e6b5371 100644 --- a/bonus-modules/bonus-smart-canteen/src/main/java/com/bonus/canteen/core/pay/controller/PayCotroller.java +++ b/bonus-modules/bonus-smart-canteen/src/main/java/com/bonus/canteen/core/pay/controller/PayCotroller.java @@ -8,8 +8,9 @@ import com.bonus.canteen.core.account.constants.AccTradeStateEnum; import com.bonus.canteen.core.account.constants.AccTradeTypeEnum; import com.bonus.canteen.core.account.service.IAccTradeService; import com.bonus.canteen.core.pay.constants.PayStateEnum; +import com.bonus.canteen.core.pay.constants.PayTypeEnum; import com.bonus.canteen.core.pay.util.AlipayConfig; -import com.bonus.canteen.core.pay.dto.AccTradeVo; +import com.bonus.canteen.core.account.domain.vo.AccTradeVo; import com.bonus.common.houqin.constant.GlobalConstants; import com.bonus.common.security.utils.SecurityUtils; import io.swagger.annotations.Api; @@ -22,6 +23,7 @@ import javax.annotation.Resource; import javax.servlet.http.HttpServletResponse; import java.io.IOException; import java.math.BigDecimal; +import java.text.SimpleDateFormat; import java.util.Date; import java.util.UUID; @@ -42,13 +44,16 @@ public class PayCotroller { // 预装数据,存档 accTradeVo.setUserId(SecurityUtils.getUserId()); accTradeVo.setDeptId(SecurityUtils.getLoginUser().getSysUser().getDeptId()); - accTradeVo.setTradeType(AccTradeTypeEnum.CONSUME.getKey()); - accTradeVo.setOrderNo(GlobalConstants.TENANT_ID + "_" + UUID.randomUUID().toString().replaceAll("-","")); - accTradeVo.setOrderName(GlobalConstants.TENANT_ID + "_" + SecurityUtils.getUserId() + "_" + GlobalConstants.PERSONAL_RECHARGE); + accTradeVo.setTradeType(AccTradeTypeEnum.CONSUME.getKey().longValue()); + Date date = new Date(); + SimpleDateFormat sdf = new SimpleDateFormat("yyyyMMddHHmmss"); + accTradeVo.setOrderNo(GlobalConstants.TENANT_ID + "_" + UUID.randomUUID().toString().replaceAll("-","") + "_" + sdf.format(date)); + accTradeVo.setOrderName(GlobalConstants.TENANT_ID + "_" + SecurityUtils.getUserId() + "_" + GlobalConstants.PERSONAL_RECHARGE + "_" + sdf.format(date)); accTradeVo.setTradeTime(new Date()); accTradeVo.setAmount(accTradeVo.getPaymentAmount().multiply(new BigDecimal(100)).longValue()); - accTradeVo.setPayState(PayStateEnum.PAY_INPROCESS.getKey()); - accTradeVo.setTradeState(AccTradeStateEnum.CREATE.getKey()); + accTradeVo.setPayType(PayTypeEnum.MEAL_CARD.getKey().longValue()); + accTradeVo.setPayState(PayStateEnum.PAY_INPROCESS.getKey().longValue()); + accTradeVo.setTradeState(AccTradeStateEnum.CREATE.getKey().longValue()); accTradeService.insertAccTradeVo(accTradeVo); // 调用alipay alipayRequest.setBizContent( diff --git a/bonus-modules/bonus-smart-canteen/src/main/resources/mapper/account/AccTradeMapper.xml b/bonus-modules/bonus-smart-canteen/src/main/resources/mapper/account/AccTradeMapper.xml index 8c91fa9..fc12f24 100644 --- a/bonus-modules/bonus-smart-canteen/src/main/resources/mapper/account/AccTradeMapper.xml +++ b/bonus-modules/bonus-smart-canteen/src/main/resources/mapper/account/AccTradeMapper.xml @@ -20,7 +20,7 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" - + @@ -61,7 +61,7 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" and third_trade_no = #{thirdTradeNo} and machine_sn = #{machineSn} and batch_num = #{batchNum} - and le_ord_no = #{leOrdNo} + and order_no = #{orderNo} and origin_trade_id = #{originTradeId} and sub_time_rule_id = #{subTimeRuleId} and manage_cost = #{manageCost} @@ -101,7 +101,7 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" third_trade_no, machine_sn, batch_num, - le_ord_no, + order_no, origin_trade_id, sub_time_rule_id, manage_cost, @@ -136,7 +136,7 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" #{thirdTradeNo}, #{machineSn}, #{batchNum}, - #{leOrdNo}, + #{orderNo}, #{originTradeId}, #{subTimeRuleId}, #{manageCost}, @@ -174,7 +174,7 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" third_trade_no = #{thirdTradeNo}, machine_sn = #{machineSn}, batch_num = #{batchNum}, - le_ord_no = #{leOrdNo}, + order_no = #{orderNo}, origin_trade_id = #{originTradeId}, sub_time_rule_id = #{subTimeRuleId}, manage_cost = #{manageCost}, @@ -195,6 +195,14 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" where trade_id = #{tradeId} + + update acc_trade + set + third_trade_no = #{thirdTradeNo},pay_state = #{payState}, + trade_state = #{tradeState},fail_reason = #{failReason},update_time = #{updateTime} + where order_no = #{orderNo} + + delete from acc_trade where trade_id = #{tradeId}