初始化

master
法外狂徒张三 2024-09-03 17:30:54 +08:00
parent 1c8681f661
commit 52a02e02df
6 changed files with 262 additions and 2 deletions

View File

@ -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;

View File

@ -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();
}
}

View File

@ -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)) {
// 验签通过

View File

@ -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> {
}

View File

@ -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);
}

View File

@ -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);
}
}