初始化
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.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.muyu.common.core.domain.Result;
|
||||
import com.muyu.common.security.utils.SecurityUtils;
|
||||
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.HttpServletResponse;
|
||||
import org.springframework.beans.factory.annotation.Autowired;
|
||||
import org.springframework.transaction.annotation.Transactional;
|
||||
import org.springframework.validation.annotation.Validated;
|
||||
import org.springframework.web.bind.annotation.*;
|
||||
|
@ -17,6 +21,7 @@ import com.alipay.api.DefaultAlipayClient;
|
|||
import com.alipay.api.request.AlipayTradePagePayRequest;
|
||||
|
||||
import javax.annotation.Resource;
|
||||
import java.math.BigDecimal;
|
||||
import java.util.HashMap;
|
||||
import java.util.Map;
|
||||
import java.util.UUID;
|
||||
|
@ -28,6 +33,8 @@ public class AliPayController {
|
|||
|
||||
@Resource
|
||||
AliPayConfig aliPayConfig;
|
||||
@Autowired
|
||||
private ISysDatawarehouseService datawarehouseService;
|
||||
|
||||
private static final String GATEWAY_URL ="https://openapi-sandbox.dl.alipaydev.com/gateway.do";
|
||||
private static final String FORMAT ="JSON";
|
||||
|
@ -59,6 +66,14 @@ public class AliPayController {
|
|||
httpResponse.getWriter().write(form);
|
||||
httpResponse.getWriter().flush();
|
||||
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);
|
||||
}
|
||||
|
||||
|
@ -76,6 +91,7 @@ public class AliPayController {
|
|||
String tradeNo = params.get("out_trade_no");
|
||||
String gmtPayment = params.get("gmt_payment");
|
||||
String alipayTradeNo = params.get("trade_no");
|
||||
|
||||
// 支付宝验签
|
||||
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