init
This commit is contained in:
@@ -11,4 +11,9 @@ import com.ruoyi.cai.domain.PayConfig;
|
||||
*/
|
||||
public interface PayConfigService extends IService<PayConfig> {
|
||||
|
||||
boolean addPayConfig(PayConfig payConfig);
|
||||
|
||||
boolean updatePayConfig(PayConfig payConfig);
|
||||
|
||||
boolean deletePayConfig(Long id);
|
||||
}
|
||||
|
||||
@@ -4,11 +4,13 @@ import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
|
||||
import com.baomidou.mybatisplus.extension.service.IService;
|
||||
import com.ruoyi.cai.domain.RechargeOrder;
|
||||
import com.ruoyi.cai.dto.AddRechargeOrderAdminDto;
|
||||
import com.ruoyi.cai.dto.AddRechargeOrderDto;
|
||||
import com.ruoyi.cai.dto.app.query.order.AddRechargeOrderDto;
|
||||
import com.ruoyi.cai.dto.ConsumeResp;
|
||||
import com.ruoyi.cai.dto.admin.vo.RechargeOrderAdminVo;
|
||||
import com.ruoyi.cai.pay.PayTypeEnum;
|
||||
import com.ruoyi.common.core.domain.PageQuery;
|
||||
import org.springframework.transaction.annotation.Transactional;
|
||||
|
||||
import java.util.Map;
|
||||
|
||||
/**
|
||||
* 充值订单Service接口
|
||||
@@ -24,7 +26,7 @@ public interface RechargeOrderService extends IService<RechargeOrder> {
|
||||
|
||||
RechargeOrder addRechargeOrder(AddRechargeOrderDto addRechargeOrderDto);
|
||||
|
||||
ConsumeResp orderSuccess(String orderNo);
|
||||
ConsumeResp orderSuccess(String orderNo, Map<String,String> params, String appId, PayTypeEnum payTypeEnum);
|
||||
|
||||
RechargeOrder updateAdminRechargeOrder(AddRechargeOrderAdminDto dto);
|
||||
}
|
||||
|
||||
@@ -3,10 +3,14 @@ package com.ruoyi.cai.service;
|
||||
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
|
||||
import com.baomidou.mybatisplus.extension.service.IService;
|
||||
import com.ruoyi.cai.domain.VipOrder;
|
||||
import com.ruoyi.cai.dto.ConsumeResp;
|
||||
import com.ruoyi.cai.dto.admin.vo.VipOrderAdminVo;
|
||||
import com.ruoyi.cai.dto.dto.AddVipOrderDto;
|
||||
import com.ruoyi.cai.dto.app.query.order.AddVipOrderDto;
|
||||
import com.ruoyi.cai.pay.PayTypeEnum;
|
||||
import com.ruoyi.common.core.domain.PageQuery;
|
||||
|
||||
import java.util.Map;
|
||||
|
||||
/**
|
||||
* VIP订单Service接口
|
||||
*
|
||||
@@ -21,7 +25,7 @@ public interface VipOrderService extends IService<VipOrder> {
|
||||
|
||||
VipOrder getByOrderNo(String orderNo);
|
||||
|
||||
void orderSuccess(String orderNo);
|
||||
ConsumeResp orderSuccess(String orderNo, Map<String,String> params, String appId, PayTypeEnum payTypeEnum);
|
||||
|
||||
Page<VipOrderAdminVo> pageAdmin(PageQuery pageQuery, VipOrderAdminVo bo);
|
||||
}
|
||||
|
||||
@@ -3,9 +3,11 @@ package com.ruoyi.cai.service.impl;
|
||||
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
|
||||
import com.ruoyi.cai.domain.PayConfig;
|
||||
import com.ruoyi.cai.mapper.PayConfigMapper;
|
||||
import com.ruoyi.cai.pay.PayConfigManager;
|
||||
import com.ruoyi.cai.service.PayConfigService;
|
||||
import lombok.RequiredArgsConstructor;
|
||||
import org.springframework.beans.factory.annotation.Autowired;
|
||||
import org.springframework.stereotype.Service;
|
||||
import org.springframework.transaction.annotation.Transactional;
|
||||
|
||||
/**
|
||||
* 支付配置Service业务层处理
|
||||
@@ -13,7 +15,46 @@ import org.springframework.stereotype.Service;
|
||||
* @author 77
|
||||
* @date 2024-01-20
|
||||
*/
|
||||
@RequiredArgsConstructor
|
||||
@Service
|
||||
public class PayConfigServiceImpl extends ServiceImpl<PayConfigMapper,PayConfig> implements PayConfigService {
|
||||
|
||||
@Autowired
|
||||
private PayConfigManager payConfigManager;
|
||||
|
||||
@Override
|
||||
@Transactional(rollbackFor = Exception.class)
|
||||
public boolean addPayConfig(PayConfig payConfig){
|
||||
boolean save = this.save(payConfig);
|
||||
if(save){
|
||||
payConfigManager.addPayConfig(payConfig);
|
||||
}
|
||||
return save;
|
||||
}
|
||||
|
||||
@Override
|
||||
@Transactional(rollbackFor = Exception.class)
|
||||
public boolean updatePayConfig(PayConfig payConfig){
|
||||
boolean update = this.updateById(payConfig);
|
||||
if(update){
|
||||
payConfig = this.getById(payConfig.getId());
|
||||
payConfigManager.updatePayConfig(payConfig);
|
||||
}
|
||||
return update;
|
||||
}
|
||||
|
||||
@Override
|
||||
@Transactional(rollbackFor = Exception.class)
|
||||
public boolean deletePayConfig(Long id){
|
||||
PayConfig payConfig = this.getById(id);
|
||||
if(payConfig == null){
|
||||
return false;
|
||||
}
|
||||
boolean b = this.removeById(id);
|
||||
if(b){
|
||||
payConfigManager.deletePayConfig(payConfig);
|
||||
}
|
||||
return b;
|
||||
}
|
||||
|
||||
|
||||
}
|
||||
|
||||
@@ -6,7 +6,7 @@ import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
|
||||
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
|
||||
import com.ruoyi.cai.domain.*;
|
||||
import com.ruoyi.cai.dto.AddRechargeOrderAdminDto;
|
||||
import com.ruoyi.cai.dto.AddRechargeOrderDto;
|
||||
import com.ruoyi.cai.dto.app.query.order.AddRechargeOrderDto;
|
||||
import com.ruoyi.cai.dto.ConsumeResp;
|
||||
import com.ruoyi.cai.dto.admin.vo.RechargeOrderAdminVo;
|
||||
import com.ruoyi.cai.enums.ConsumeLogType;
|
||||
@@ -15,10 +15,7 @@ import com.ruoyi.cai.enums.account.AccountTypeEnum;
|
||||
import com.ruoyi.cai.manager.IdManager;
|
||||
import com.ruoyi.cai.mapper.AccountMapper;
|
||||
import com.ruoyi.cai.mapper.RechargeOrderMapper;
|
||||
import com.ruoyi.cai.pay.OrderNoUtil;
|
||||
import com.ruoyi.cai.pay.OrderTypeEnum;
|
||||
import com.ruoyi.cai.pay.PayStatusEnum;
|
||||
import com.ruoyi.cai.pay.PlatformTypeEnum;
|
||||
import com.ruoyi.cai.pay.*;
|
||||
import com.ruoyi.cai.service.*;
|
||||
import com.ruoyi.common.core.domain.PageQuery;
|
||||
import com.ruoyi.common.exception.ServiceException;
|
||||
@@ -31,6 +28,8 @@ import org.springframework.transaction.annotation.Transactional;
|
||||
|
||||
import javax.annotation.Resource;
|
||||
import java.math.BigDecimal;
|
||||
import java.time.LocalDateTime;
|
||||
import java.util.Map;
|
||||
|
||||
/**
|
||||
* 充值订单Service业务层处理
|
||||
@@ -93,7 +92,7 @@ public class RechargeOrderServiceImpl extends ServiceImpl<RechargeOrderMapper,Re
|
||||
|
||||
@Override
|
||||
@Transactional(rollbackFor = Exception.class)
|
||||
public ConsumeResp orderSuccess(String orderNo){
|
||||
public ConsumeResp orderSuccess(String orderNo, Map<String,String> params, String appId, PayTypeEnum payTypeEnum){
|
||||
RechargeOrder rechargeOrder = this.getByOrderNo(orderNo);
|
||||
if(rechargeOrder == null){
|
||||
throw new ServiceException("订单不存在");
|
||||
@@ -103,10 +102,15 @@ public class RechargeOrderServiceImpl extends ServiceImpl<RechargeOrderMapper,Re
|
||||
throw new ServiceException("订单支付状态错误!");
|
||||
}
|
||||
Long traceId = IdManager.nextId();
|
||||
Integer payType = payTypeEnum == null ? null : payTypeEnum.getCode();
|
||||
boolean update = this.update(Wrappers.lambdaUpdate(RechargeOrder.class)
|
||||
.eq(RechargeOrder::getOrderNo, rechargeOrder.getOrderNo())
|
||||
.eq(RechargeOrder::getPayStatus, PayStatusEnum.READY_PAY.getCode())
|
||||
.set(RechargeOrder::getPayStatus, PayStatusEnum.PAY.getCode())
|
||||
.set(RechargeOrder::getPayTime, LocalDateTime.now())
|
||||
.set(payType!=null, RechargeOrder::getPlatformType, payType)
|
||||
.set(RechargeOrder::getAppid,appId)
|
||||
.set(RechargeOrder::getReturnContent,JSON.toJSONString(params))
|
||||
.set(RechargeOrder::getTraceId,traceId));
|
||||
if(!update){
|
||||
log.error("订单支付状态错误!vipOrder={}", JSON.toJSONString(rechargeOrder));
|
||||
@@ -124,6 +128,7 @@ public class RechargeOrderServiceImpl extends ServiceImpl<RechargeOrderMapper,Re
|
||||
resp.setConsumeLogId(consumeLog.getId());
|
||||
resp.setUserId(user.getId());
|
||||
resp.setTraceId(traceId);
|
||||
resp.setPrice(rechargeOrder.getPrice());
|
||||
return resp;
|
||||
}
|
||||
|
||||
|
||||
@@ -8,8 +8,9 @@ import com.ruoyi.cai.domain.MemberPrice;
|
||||
import com.ruoyi.cai.domain.User;
|
||||
import com.ruoyi.cai.domain.UserMember;
|
||||
import com.ruoyi.cai.domain.VipOrder;
|
||||
import com.ruoyi.cai.dto.ConsumeResp;
|
||||
import com.ruoyi.cai.dto.admin.vo.VipOrderAdminVo;
|
||||
import com.ruoyi.cai.dto.dto.AddVipOrderDto;
|
||||
import com.ruoyi.cai.dto.app.query.order.AddVipOrderDto;
|
||||
import com.ruoyi.cai.mapper.VipOrderMapper;
|
||||
import com.ruoyi.cai.pay.*;
|
||||
import com.ruoyi.cai.service.*;
|
||||
@@ -25,6 +26,7 @@ import org.springframework.transaction.annotation.Transactional;
|
||||
import java.time.LocalDate;
|
||||
import java.time.LocalDateTime;
|
||||
import java.time.LocalTime;
|
||||
import java.util.Map;
|
||||
|
||||
/**
|
||||
* VIP订单Service业务层处理
|
||||
@@ -118,7 +120,7 @@ public class VipOrderServiceImpl extends ServiceImpl<VipOrderMapper,VipOrder> im
|
||||
|
||||
@Override
|
||||
@Transactional(rollbackFor = Exception.class)
|
||||
public void orderSuccess(String orderNo){
|
||||
public ConsumeResp orderSuccess(String orderNo, Map<String,String> params, String appId, PayTypeEnum payTypeEnum){
|
||||
VipOrder vipOrder = this.getByOrderNo(orderNo);
|
||||
if(vipOrder == null){
|
||||
throw new ServiceException("订单不存在");
|
||||
@@ -127,16 +129,27 @@ public class VipOrderServiceImpl extends ServiceImpl<VipOrderMapper,VipOrder> im
|
||||
log.error("订单支付状态错误!vipOrder={}", JSON.toJSONString(vipOrder));
|
||||
throw new ServiceException("订单支付状态错误!");
|
||||
}
|
||||
Integer payType = payTypeEnum == null ? null : payTypeEnum.getCode();
|
||||
boolean update = this.update(Wrappers.lambdaUpdate(VipOrder.class)
|
||||
.eq(VipOrder::getOrderNo, vipOrder.getOrderNo())
|
||||
.eq(VipOrder::getPayStatus, PayStatusEnum.READY_PAY.getCode())
|
||||
.set(VipOrder::getPayStatus, PayStatusEnum.PAY.getCode()));
|
||||
.set(VipOrder::getPayStatus, PayStatusEnum.PAY.getCode())
|
||||
.set(VipOrder::getPayTime, LocalDateTime.now())
|
||||
.set(VipOrder::getAppid,appId)
|
||||
.set(payType != null, VipOrder::getPlatformType,payType)
|
||||
.set(VipOrder::getReturnContent,JSON.toJSONString(params))
|
||||
);
|
||||
if(!update){
|
||||
log.error("订单支付状态错误!vipOrder={}", JSON.toJSONString(vipOrder));
|
||||
throw new ServiceException("订单支付状态错误!");
|
||||
}
|
||||
// 新增会员
|
||||
incVip(vipOrder.getUserId(),vipOrder.getVipType(),vipOrder.getVipExpire(),vipOrder.getVipLongs());
|
||||
ConsumeResp consumeResp = new ConsumeResp();
|
||||
consumeResp.setPrice(vipOrder.getPrice());
|
||||
consumeResp.setUserId(vipOrder.getUserId());
|
||||
consumeResp.setSuccess(true);
|
||||
return consumeResp;
|
||||
}
|
||||
|
||||
public boolean incVip(Long userId,Integer memberType,Integer expire,Integer longs){
|
||||
|
||||
Reference in New Issue
Block a user