报表统计错误修复

This commit is contained in:
gaowdong 2025-05-06 15:19:11 +08:00
parent 4ac2f8bfcc
commit fd0ef49b62
8 changed files with 12 additions and 11 deletions

View File

@ -226,7 +226,7 @@ public class AccWalletInfoBusiness {
accTrade.setDeptId(sysUser.getDeptId());
}
if(Objects.nonNull(operation.getOrderNo())) {
accTrade.setOrderNo(operation.getOrderNo().toString());
accTrade.setOrderNo(operation.getOrderNo());
}
accTrade.setMachineSn(operation.getDeviceSn());
this.accTradeService.insertAccTrade(accTrade);

View File

@ -105,7 +105,7 @@ public class AccTrade extends BaseEntity {
/** 商户订单号 */
@Excel(name = "商户订单号")
@ApiModelProperty(value = "商户订单号")
private String orderNo;
private Long orderNo;
/** 关联原记录交易id */
@Excel(name = "关联原记录交易id")

View File

@ -9,7 +9,7 @@ import java.util.Date;
public class AccTradeVo {
private Long userId;
private Long deptId;
private String orderNo;//商户订单号, 商户网站订单系统中唯一订单号必填
private Long orderNo;//商户订单号, 商户网站订单系统中唯一订单号必填
private String orderName;//订单名称, 必填
private BigDecimal paymentAmount;//付款金额, 必填
private String productDesc;//商品描述

View File

@ -23,7 +23,7 @@ public interface AccTradeMapper {
*/
public AccTrade selectAccTradeByTradeId(Long tradeId);
public List<AccTrade> selectAccTradeByOrderNo(String orderNo);
public List<AccTrade> selectAccTradeByOrderNo(Long orderNo);
/**
* 查询账户交易记录列表

View File

@ -24,7 +24,7 @@ public interface IAccTradeService {
*/
public AccTrade selectAccTradeByTradeId(Long tradeId);
public List<AccTrade> selectAccTradeByOrderNo(String orderNo);
public List<AccTrade> selectAccTradeByOrderNo(Long orderNo);
/**
* 查询账户交易记录列表

View File

@ -45,7 +45,7 @@ public class AccTradeServiceImpl implements IAccTradeService {
}
@Override
public List<AccTrade> selectAccTradeByOrderNo(String orderNo) {
public List<AccTrade> selectAccTradeByOrderNo(Long orderNo) {
return accTradeMapper.selectAccTradeByOrderNo(orderNo);
}

View File

@ -76,14 +76,14 @@ public class NotifyCotroller {
String third_trade_no = request.getParameter("trade_no");
//交易状态
String trade_status = request.getParameter("trade_status");
AccTrade accTradeInDB = accTradeService.selectAccTradeByOrderNo(order_no).get(0);
AccTrade accTradeInDB = accTradeService.selectAccTradeByOrderNo(Long.valueOf(order_no)).get(0);
if (AliPayTradeStatusEnum.TRADE_STATUS_FINISHED.getKey().equals(trade_status)) {
//判断该笔订单是否已经做过处理
//如果没做过处理根据订单号(out_trade_no)在商户网站的订单系统中查到该笔订单的详情判断金额是否等于 total_amount并执行商户的业务程序
//如果做过处理不执行商户的业务程序
//注意 退款日期超过可退款期限后如三个月可退款支付宝系统发送该交易状态 TRADE_FINISHED
AccTradeVo updateTrade = new AccTradeVo();
updateTrade.setOrderNo(order_no);
updateTrade.setOrderNo(Long.valueOf(order_no));
updateTrade.setThirdTradeNo(third_trade_no);
updateTrade.setPayState(PayStateEnum.PAY_SUCC.getKey());
updateTrade.setTradeState(AccTradeStateEnum.TAKE_EFFECT.getKey().longValue());
@ -105,7 +105,7 @@ public class NotifyCotroller {
//如果做过处理不执行商户的业务程序
//注意 付款完成后支付宝系统发送该交易状态 TRADE_SUCCESS
AccTradeVo updateTrade = new AccTradeVo();
updateTrade.setOrderNo(order_no);
updateTrade.setOrderNo(Long.valueOf(order_no));
updateTrade.setThirdTradeNo(third_trade_no);
updateTrade.setPayState(PayStateEnum.PAY_SUCC.getKey());
updateTrade.setTradeState(AccTradeStateEnum.TAKE_EFFECT.getKey().longValue());
@ -123,7 +123,7 @@ public class NotifyCotroller {
this.accTradeService.updateAccTradeVoByOrderNo(updateTrade);
} else {
AccTradeVo updateTrade = new AccTradeVo();
updateTrade.setOrderNo(order_no);
updateTrade.setOrderNo(Long.valueOf(order_no));
updateTrade.setThirdTradeNo(third_trade_no);
updateTrade.setPayState(PayStateEnum.PAY_FAIL.getKey());
updateTrade.setTradeState(AccTradeStateEnum.CLOSE.getKey().longValue());

View File

@ -22,6 +22,7 @@ import com.bonus.canteen.core.pay.constants.PayTypeEnum;
import com.bonus.canteen.core.pay.util.AlipayConfig;
import com.bonus.canteen.core.account.domain.vo.AccTradeVo;
import com.bonus.common.houqin.constant.GlobalConstants;
import com.bonus.common.houqin.utils.id.Id;
import com.bonus.common.security.utils.SecurityUtils;
import io.swagger.annotations.Api;
import lombok.extern.slf4j.Slf4j;
@ -63,7 +64,7 @@ public class PayController {
accTradeVo.setTradeType(AccTradeTypeEnum.CONSUME.getKey().longValue());
Date date = new Date();
SimpleDateFormat sdf = new SimpleDateFormat("yyyyMMddHHmmss");
accTradeVo.setOrderNo(sdf.format(date) + "_" + GlobalConstants.TENANT_ID + "_" + SecurityUtils.getUserId());
accTradeVo.setOrderNo(Id.next());
accTradeVo.setOrderName(accTradeVo.getOrderNo() + "_" + GlobalConstants.PERSONAL_RECHARGE);
accTradeVo.setTradeTime(new Date());
accTradeVo.setAmount(accTradeVo.getPaymentAmount().multiply(new BigDecimal(100)).longValue());