初始化
parent
1c8681f661
commit
52a02e02df
|
@ -1,4 +1,4 @@
|
||||||
package com.muyu.pay.domain;
|
package com.muyu.pay.config;
|
||||||
|
|
||||||
import com.alipay.easysdk.factory.Factory;
|
import com.alipay.easysdk.factory.Factory;
|
||||||
import com.alipay.easysdk.kernel.Config;
|
import com.alipay.easysdk.kernel.Config;
|
|
@ -0,0 +1,86 @@
|
||||||
|
package com.muyu.pay.domain;
|
||||||
|
|
||||||
|
import com.baomidou.mybatisplus.annotation.IdType;
|
||||||
|
import com.baomidou.mybatisplus.annotation.TableId;
|
||||||
|
import com.baomidou.mybatisplus.annotation.TableName;
|
||||||
|
import com.fasterxml.jackson.annotation.JsonFormat;
|
||||||
|
import com.muyu.common.core.annotation.Excel;
|
||||||
|
import lombok.*;
|
||||||
|
import lombok.experimental.SuperBuilder;
|
||||||
|
import org.apache.commons.lang3.builder.ToStringBuilder;
|
||||||
|
import org.apache.commons.lang3.builder.ToStringStyle;
|
||||||
|
|
||||||
|
import java.math.BigDecimal;
|
||||||
|
import java.util.Date;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 订单详情对象 sys_datawarehouse
|
||||||
|
*
|
||||||
|
* @author 2112A
|
||||||
|
* @date 2024-09-01
|
||||||
|
*/
|
||||||
|
|
||||||
|
@Data
|
||||||
|
@Setter
|
||||||
|
@Getter
|
||||||
|
@SuperBuilder
|
||||||
|
@NoArgsConstructor
|
||||||
|
@AllArgsConstructor
|
||||||
|
@TableName("sys_datawarehouse")
|
||||||
|
public class SysDatawarehouse {
|
||||||
|
private static final long serialVersionUID = 1L;
|
||||||
|
|
||||||
|
/** 订单id */
|
||||||
|
@TableId( type = IdType.AUTO)
|
||||||
|
private Long orderId;
|
||||||
|
|
||||||
|
/** 订单编号 */
|
||||||
|
@Excel(name = "订单编号")
|
||||||
|
private String orderBian;
|
||||||
|
|
||||||
|
/** 下单时间 */
|
||||||
|
@JsonFormat(pattern = "yyyy-MM-dd")
|
||||||
|
@Excel(name = "下单时间", width = 30, dateFormat = "yyyy-MM-dd")
|
||||||
|
private Date orderTime;
|
||||||
|
|
||||||
|
/** 用户id */
|
||||||
|
@Excel(name = "用户id")
|
||||||
|
private Long userId;
|
||||||
|
|
||||||
|
/** 商品名称 */
|
||||||
|
@Excel(name = "商品名称")
|
||||||
|
private String shopName;
|
||||||
|
|
||||||
|
/** 姓名 */
|
||||||
|
@Excel(name = "姓名")
|
||||||
|
private String orderName;
|
||||||
|
|
||||||
|
/** 联系方式 */
|
||||||
|
@Excel(name = "联系方式")
|
||||||
|
private String phone;
|
||||||
|
|
||||||
|
/** 金额 */
|
||||||
|
@Excel(name = "金额")
|
||||||
|
private BigDecimal orderScore;
|
||||||
|
|
||||||
|
/** 支付方式 */
|
||||||
|
@Excel(name = "支付方式")
|
||||||
|
private String payway;
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public String toString() {
|
||||||
|
return new ToStringBuilder(this,ToStringStyle.MULTI_LINE_STYLE)
|
||||||
|
.append("orderId", getOrderId())
|
||||||
|
.append("orderBian", getOrderBian())
|
||||||
|
.append("orderTime", getOrderTime())
|
||||||
|
.append("userId", getUserId())
|
||||||
|
.append("shopName", getShopName())
|
||||||
|
.append("orderName", getOrderName())
|
||||||
|
.append("phone", getPhone())
|
||||||
|
.append("orderScore", getOrderScore())
|
||||||
|
.append("payway", getPayway())
|
||||||
|
.toString();
|
||||||
|
}
|
||||||
|
}
|
|
@ -3,10 +3,14 @@ package com.muyu.pay.controller;
|
||||||
import com.alipay.easysdk.factory.Factory;
|
import com.alipay.easysdk.factory.Factory;
|
||||||
|
|
||||||
import com.muyu.common.core.domain.Result;
|
import com.muyu.common.core.domain.Result;
|
||||||
|
import com.muyu.common.security.utils.SecurityUtils;
|
||||||
import com.muyu.pay.domain.AliPay;
|
import com.muyu.pay.domain.AliPay;
|
||||||
import com.muyu.pay.domain.AliPayConfig;
|
import com.muyu.pay.config.AliPayConfig;
|
||||||
|
import com.muyu.pay.domain.SysDatawarehouse;
|
||||||
|
import com.muyu.pay.service.ISysDatawarehouseService;
|
||||||
import jakarta.servlet.http.HttpServletRequest;
|
import jakarta.servlet.http.HttpServletRequest;
|
||||||
import jakarta.servlet.http.HttpServletResponse;
|
import jakarta.servlet.http.HttpServletResponse;
|
||||||
|
import org.springframework.beans.factory.annotation.Autowired;
|
||||||
import org.springframework.transaction.annotation.Transactional;
|
import org.springframework.transaction.annotation.Transactional;
|
||||||
import org.springframework.validation.annotation.Validated;
|
import org.springframework.validation.annotation.Validated;
|
||||||
import org.springframework.web.bind.annotation.*;
|
import org.springframework.web.bind.annotation.*;
|
||||||
|
@ -17,6 +21,7 @@ import com.alipay.api.DefaultAlipayClient;
|
||||||
import com.alipay.api.request.AlipayTradePagePayRequest;
|
import com.alipay.api.request.AlipayTradePagePayRequest;
|
||||||
|
|
||||||
import javax.annotation.Resource;
|
import javax.annotation.Resource;
|
||||||
|
import java.math.BigDecimal;
|
||||||
import java.util.HashMap;
|
import java.util.HashMap;
|
||||||
import java.util.Map;
|
import java.util.Map;
|
||||||
import java.util.UUID;
|
import java.util.UUID;
|
||||||
|
@ -28,6 +33,8 @@ public class AliPayController {
|
||||||
|
|
||||||
@Resource
|
@Resource
|
||||||
AliPayConfig aliPayConfig;
|
AliPayConfig aliPayConfig;
|
||||||
|
@Autowired
|
||||||
|
private ISysDatawarehouseService datawarehouseService;
|
||||||
|
|
||||||
private static final String GATEWAY_URL ="https://openapi-sandbox.dl.alipaydev.com/gateway.do";
|
private static final String GATEWAY_URL ="https://openapi-sandbox.dl.alipaydev.com/gateway.do";
|
||||||
private static final String FORMAT ="JSON";
|
private static final String FORMAT ="JSON";
|
||||||
|
@ -59,6 +66,14 @@ public class AliPayController {
|
||||||
httpResponse.getWriter().write(form);
|
httpResponse.getWriter().write(form);
|
||||||
httpResponse.getWriter().flush();
|
httpResponse.getWriter().flush();
|
||||||
httpResponse.getWriter().close();
|
httpResponse.getWriter().close();
|
||||||
|
SysDatawarehouse sysDatawarehouse=new SysDatawarehouse();
|
||||||
|
sysDatawarehouse.setOrderBian(aliPay.getTraceNo());
|
||||||
|
sysDatawarehouse.setUserId(SecurityUtils.getUserId());
|
||||||
|
sysDatawarehouse.setShopName(aliPay.getSubject());
|
||||||
|
sysDatawarehouse.setOrderScore(BigDecimal.valueOf(aliPay.getTotalAmount()));
|
||||||
|
sysDatawarehouse.setPayway("支付宝");
|
||||||
|
|
||||||
|
datawarehouseService.addSysDatawarehouse(sysDatawarehouse);
|
||||||
return Result.success(aliPay);
|
return Result.success(aliPay);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -76,6 +91,7 @@ public class AliPayController {
|
||||||
String tradeNo = params.get("out_trade_no");
|
String tradeNo = params.get("out_trade_no");
|
||||||
String gmtPayment = params.get("gmt_payment");
|
String gmtPayment = params.get("gmt_payment");
|
||||||
String alipayTradeNo = params.get("trade_no");
|
String alipayTradeNo = params.get("trade_no");
|
||||||
|
|
||||||
// 支付宝验签
|
// 支付宝验签
|
||||||
if (Factory.Payment.Common().verifyNotify(params)) {
|
if (Factory.Payment.Common().verifyNotify(params)) {
|
||||||
// 验签通过
|
// 验签通过
|
||||||
|
|
|
@ -0,0 +1,18 @@
|
||||||
|
package com.muyu.pay.mapper;
|
||||||
|
|
||||||
|
|
||||||
|
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
|
||||||
|
|
||||||
|
import com.muyu.pay.domain.SysDatawarehouse;
|
||||||
|
import org.apache.ibatis.annotations.Mapper;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 订单详情Mapper接口
|
||||||
|
*
|
||||||
|
* @author 2112A
|
||||||
|
* @date 2024-09-01
|
||||||
|
*/
|
||||||
|
@Mapper
|
||||||
|
public interface SysDatawarehouseMapper extends BaseMapper<SysDatawarehouse> {
|
||||||
|
|
||||||
|
}
|
|
@ -0,0 +1,41 @@
|
||||||
|
package com.muyu.pay.service;
|
||||||
|
|
||||||
|
|
||||||
|
import com.baomidou.mybatisplus.extension.service.IService;
|
||||||
|
import com.muyu.pay.domain.SysDatawarehouse;
|
||||||
|
|
||||||
|
|
||||||
|
import java.util.List;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 订单详情Service接口
|
||||||
|
*
|
||||||
|
* @author 2112A
|
||||||
|
* @date 2024-09-01
|
||||||
|
*/
|
||||||
|
public interface ISysDatawarehouseService extends IService<SysDatawarehouse> {
|
||||||
|
/**
|
||||||
|
* 精确查询订单详情
|
||||||
|
*
|
||||||
|
* @param userId 订单详情主键
|
||||||
|
* @return 订单详情
|
||||||
|
*/
|
||||||
|
public List<SysDatawarehouse> selectSysDatawarehouseByUserId(Long userId);
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 查询订单详情列表
|
||||||
|
*
|
||||||
|
* @param sysDatawarehouse 订单详情
|
||||||
|
* @return 订单详情集合
|
||||||
|
*/
|
||||||
|
public List<SysDatawarehouse> selectSysDatawarehouseList(SysDatawarehouse sysDatawarehouse);
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 判断 订单详情 id是否唯一
|
||||||
|
* @param sysDatawarehouse 订单详情
|
||||||
|
* @return 结果
|
||||||
|
*/
|
||||||
|
Boolean checkIdUnique(SysDatawarehouse sysDatawarehouse);
|
||||||
|
|
||||||
|
public void addSysDatawarehouse(SysDatawarehouse sysDatawarehouse);
|
||||||
|
}
|
|
@ -0,0 +1,99 @@
|
||||||
|
package com.muyu.pay.service.impl;
|
||||||
|
|
||||||
|
|
||||||
|
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
|
||||||
|
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
|
||||||
|
import com.muyu.common.core.utils.StringUtils;
|
||||||
|
import com.muyu.pay.domain.SysDatawarehouse;
|
||||||
|
import com.muyu.pay.mapper.SysDatawarehouseMapper;
|
||||||
|
import com.muyu.pay.service.ISysDatawarehouseService;
|
||||||
|
import org.springframework.beans.factory.annotation.Autowired;
|
||||||
|
import org.springframework.stereotype.Service;
|
||||||
|
import org.springframework.util.Assert;
|
||||||
|
|
||||||
|
import java.util.List;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 订单详情Service业务层处理
|
||||||
|
*
|
||||||
|
* @author 2112A
|
||||||
|
* @date 2024-09-01
|
||||||
|
*/
|
||||||
|
@Service
|
||||||
|
public class SysDatawarehouseServiceImpl
|
||||||
|
extends ServiceImpl<SysDatawarehouseMapper, SysDatawarehouse>
|
||||||
|
implements ISysDatawarehouseService {
|
||||||
|
|
||||||
|
@Autowired
|
||||||
|
private SysDatawarehouseMapper sysDatawarehouseMapper;
|
||||||
|
/**
|
||||||
|
* 精确查询订单详情
|
||||||
|
*
|
||||||
|
* @param userId 订单详情主键
|
||||||
|
* @return 订单详情
|
||||||
|
*/
|
||||||
|
@Override
|
||||||
|
public List<SysDatawarehouse> selectSysDatawarehouseByUserId(Long userId)
|
||||||
|
{
|
||||||
|
LambdaQueryWrapper<SysDatawarehouse> queryWrapper = new LambdaQueryWrapper<>();
|
||||||
|
Assert.notNull(userId, "userId不可为空");
|
||||||
|
queryWrapper.eq(SysDatawarehouse::getUserId, userId);
|
||||||
|
return this.list(queryWrapper);
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 查询订单详情列表
|
||||||
|
*
|
||||||
|
* @param sysDatawarehouse 订单详情
|
||||||
|
* @return 订单详情
|
||||||
|
*/
|
||||||
|
@Override
|
||||||
|
public List<SysDatawarehouse> selectSysDatawarehouseList(SysDatawarehouse sysDatawarehouse)
|
||||||
|
{
|
||||||
|
LambdaQueryWrapper<SysDatawarehouse> queryWrapper = new LambdaQueryWrapper<>();
|
||||||
|
if (StringUtils.isNotEmpty(sysDatawarehouse.getOrderBian())){
|
||||||
|
queryWrapper.eq(SysDatawarehouse::getOrderBian, sysDatawarehouse.getOrderBian());
|
||||||
|
}
|
||||||
|
// if (StringUtils.isNotEmpty(sysDatawarehouse.getOrderTime())){
|
||||||
|
// queryWrapper.eq(SysDatawarehouse::getOrderTime, sysDatawarehouse.getOrderTime());
|
||||||
|
// }
|
||||||
|
// if (StringUtils.isNotEmpty(sysDatawarehouse.getUserId())){
|
||||||
|
// queryWrapper.eq(SysDatawarehouse::getUserId, sysDatawarehouse.getUserId());
|
||||||
|
// }
|
||||||
|
if (StringUtils.isNotEmpty(sysDatawarehouse.getShopName())){
|
||||||
|
queryWrapper.like(SysDatawarehouse::getShopName, sysDatawarehouse.getShopName());
|
||||||
|
}
|
||||||
|
if (StringUtils.isNotEmpty(sysDatawarehouse.getOrderName())){
|
||||||
|
queryWrapper.like(SysDatawarehouse::getOrderName, sysDatawarehouse.getOrderName());
|
||||||
|
}
|
||||||
|
if (StringUtils.isNotEmpty(sysDatawarehouse.getPhone())){
|
||||||
|
queryWrapper.eq(SysDatawarehouse::getPhone, sysDatawarehouse.getPhone());
|
||||||
|
}
|
||||||
|
// if (StringUtils.isNotEmpty(sysDatawarehouse.getOrderScore())){
|
||||||
|
// queryWrapper.eq(SysDatawarehouse::getOrderScore, sysDatawarehouse.getOrderScore());
|
||||||
|
// }
|
||||||
|
if (StringUtils.isNotEmpty(sysDatawarehouse.getPayway())){
|
||||||
|
queryWrapper.eq(SysDatawarehouse::getPayway, sysDatawarehouse.getPayway());
|
||||||
|
}
|
||||||
|
return this.list(queryWrapper);
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 唯一 判断
|
||||||
|
* @param sysDatawarehouse 订单详情
|
||||||
|
* @return 订单详情
|
||||||
|
*/
|
||||||
|
@Override
|
||||||
|
public Boolean checkIdUnique(SysDatawarehouse sysDatawarehouse) {
|
||||||
|
LambdaQueryWrapper<SysDatawarehouse> queryWrapper = new LambdaQueryWrapper<>();
|
||||||
|
queryWrapper.eq(SysDatawarehouse::getOrderId, sysDatawarehouse.getOrderId());
|
||||||
|
return this.count(queryWrapper) > 0;
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
public void addSysDatawarehouse(SysDatawarehouse sysDatawarehouse) {
|
||||||
|
// 直接调用BaseMapper的insert方法
|
||||||
|
sysDatawarehouseMapper.insert(sysDatawarehouse);
|
||||||
|
}
|
||||||
|
}
|
Loading…
Reference in New Issue