add 添加关联订单号
AiBalanceChangeRecord、AiRebateRecord、AiSampleAmountRecord 这三个类需要到对应的表添加关联订单号的字段
This commit is contained in:
parent
6701b8f765
commit
497b3b9c80
|
|
@ -2,12 +2,9 @@ package com.ruoyi.api;
|
||||||
|
|
||||||
import com.ruoyi.ai.domain.AiSampleAmount;
|
import com.ruoyi.ai.domain.AiSampleAmount;
|
||||||
import com.ruoyi.ai.domain.AiSampleAmountRecord;
|
import com.ruoyi.ai.domain.AiSampleAmountRecord;
|
||||||
import com.ruoyi.ai.domain.AiStatistics;
|
|
||||||
import com.ruoyi.ai.domain.enums.AiConfigEnum;
|
|
||||||
import com.ruoyi.ai.mapper.AiSampleAmountMapper;
|
import com.ruoyi.ai.mapper.AiSampleAmountMapper;
|
||||||
import com.ruoyi.ai.service.EmailVerifyService;
|
import com.ruoyi.ai.service.EmailVerifyService;
|
||||||
import com.ruoyi.ai.service.IAiSampleAmountRecordService;
|
import com.ruoyi.ai.service.IAiSampleAmountRecordService;
|
||||||
import com.ruoyi.ai.service.IAiStatisticsService;
|
|
||||||
import com.ruoyi.ai.service.IAiUserService;
|
import com.ruoyi.ai.service.IAiUserService;
|
||||||
import com.ruoyi.common.annotation.Anonymous;
|
import com.ruoyi.common.annotation.Anonymous;
|
||||||
import com.ruoyi.common.constant.BalanceChangerConstants;
|
import com.ruoyi.common.constant.BalanceChangerConstants;
|
||||||
|
|
@ -22,10 +19,8 @@ import com.ruoyi.common.core.domain.model.RegisterAiUserBody;
|
||||||
import com.ruoyi.common.exception.ServiceException;
|
import com.ruoyi.common.exception.ServiceException;
|
||||||
import com.ruoyi.common.exception.job.TaskException;
|
import com.ruoyi.common.exception.job.TaskException;
|
||||||
import com.ruoyi.common.utils.DateUtils;
|
import com.ruoyi.common.utils.DateUtils;
|
||||||
import com.ruoyi.common.utils.IpCountryQueryByApi;
|
|
||||||
import com.ruoyi.common.utils.MessageUtils;
|
import com.ruoyi.common.utils.MessageUtils;
|
||||||
import com.ruoyi.common.utils.SecurityUtils;
|
import com.ruoyi.common.utils.SecurityUtils;
|
||||||
import com.ruoyi.common.utils.ip.IpUtils;
|
|
||||||
import com.ruoyi.framework.web.service.SysLoginService;
|
import com.ruoyi.framework.web.service.SysLoginService;
|
||||||
import com.ruoyi.quartz.domain.SysJob;
|
import com.ruoyi.quartz.domain.SysJob;
|
||||||
import com.ruoyi.quartz.service.ISysJobService;
|
import com.ruoyi.quartz.service.ISysJobService;
|
||||||
|
|
@ -40,7 +35,10 @@ import org.springframework.validation.annotation.Validated;
|
||||||
import org.springframework.web.bind.annotation.*;
|
import org.springframework.web.bind.annotation.*;
|
||||||
|
|
||||||
import javax.mail.MessagingException;
|
import javax.mail.MessagingException;
|
||||||
|
import java.text.SimpleDateFormat;
|
||||||
|
import java.util.Date;
|
||||||
import java.util.Map;
|
import java.util.Map;
|
||||||
|
import java.util.UUID;
|
||||||
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
|
@ -104,8 +102,11 @@ public class AiUserApiController extends BaseController {
|
||||||
// 查询启用状态体验金活动
|
// 查询启用状态体验金活动
|
||||||
AiSampleAmount aiSampleAmount = aiSampleAmountMapper.getSampleAmount();
|
AiSampleAmount aiSampleAmount = aiSampleAmountMapper.getSampleAmount();
|
||||||
if (aiSampleAmount != null) {
|
if (aiSampleAmount != null) {
|
||||||
|
String uuid = UUID.randomUUID().toString().replaceAll("-", "").substring(0, 8);
|
||||||
|
String dateTime = new SimpleDateFormat("yyyyMMdd").format(new Date());
|
||||||
|
String orderNo = dateTime + uuid;
|
||||||
// 余额变更记录
|
// 余额变更记录
|
||||||
aiUserService.addUserBalance(aiUser.getId(), aiSampleAmount.getAmount(), BalanceChangerConstants.EXPERIENCE_GOLD_GIFT);
|
aiUserService.addUserBalance(orderNo, aiUser.getId(), aiSampleAmount.getAmount(), BalanceChangerConstants.EXPERIENCE_GOLD_GIFT);
|
||||||
// 新增体验金记录
|
// 新增体验金记录
|
||||||
AiSampleAmountRecord aiSampleAmountRecord = new AiSampleAmountRecord();
|
AiSampleAmountRecord aiSampleAmountRecord = new AiSampleAmountRecord();
|
||||||
aiSampleAmountRecord.setUserId(aiUser.getId());
|
aiSampleAmountRecord.setUserId(aiUser.getId());
|
||||||
|
|
@ -218,6 +219,7 @@ public class AiUserApiController extends BaseController {
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 查询返佣比例配置
|
* 查询返佣比例配置
|
||||||
|
*
|
||||||
* @return
|
* @return
|
||||||
*/
|
*/
|
||||||
@GetMapping("/getRebateConfig")
|
@GetMapping("/getRebateConfig")
|
||||||
|
|
|
||||||
|
|
@ -1,33 +1,27 @@
|
||||||
package com.ruoyi.web.controller.ai;
|
package com.ruoyi.web.controller.ai;
|
||||||
|
|
||||||
import cn.hutool.core.util.NumberUtil;
|
import cn.hutool.core.util.NumberUtil;
|
||||||
import com.ruoyi.ai.service.EmailVerifyService;
|
|
||||||
import com.ruoyi.ai.service.IAiUserService;
|
import com.ruoyi.ai.service.IAiUserService;
|
||||||
import com.ruoyi.common.annotation.Anonymous;
|
|
||||||
import com.ruoyi.common.annotation.Log;
|
import com.ruoyi.common.annotation.Log;
|
||||||
import com.ruoyi.common.constant.BalanceChangerConstants;
|
import com.ruoyi.common.constant.BalanceChangerConstants;
|
||||||
import com.ruoyi.common.constant.HttpStatus;
|
|
||||||
import com.ruoyi.common.core.controller.BaseController;
|
import com.ruoyi.common.core.controller.BaseController;
|
||||||
import com.ruoyi.common.core.domain.AjaxResult;
|
import com.ruoyi.common.core.domain.AjaxResult;
|
||||||
import com.ruoyi.common.core.domain.entity.AiUser;
|
import com.ruoyi.common.core.domain.entity.AiUser;
|
||||||
import com.ruoyi.common.core.domain.model.RegisterAiUserBody;
|
|
||||||
import com.ruoyi.common.core.page.TableDataInfo;
|
import com.ruoyi.common.core.page.TableDataInfo;
|
||||||
import com.ruoyi.common.enums.BusinessType;
|
import com.ruoyi.common.enums.BusinessType;
|
||||||
import com.ruoyi.common.exception.ServiceException;
|
|
||||||
import com.ruoyi.common.utils.MessageUtils;
|
|
||||||
import com.ruoyi.common.utils.SecurityUtils;
|
|
||||||
import com.ruoyi.common.utils.poi.ExcelUtil;
|
import com.ruoyi.common.utils.poi.ExcelUtil;
|
||||||
import io.swagger.annotations.Api;
|
import io.swagger.annotations.Api;
|
||||||
import io.swagger.annotations.ApiOperation;
|
import io.swagger.annotations.ApiOperation;
|
||||||
import org.springframework.beans.factory.annotation.Autowired;
|
import org.springframework.beans.factory.annotation.Autowired;
|
||||||
import org.springframework.security.access.prepost.PreAuthorize;
|
import org.springframework.security.access.prepost.PreAuthorize;
|
||||||
import org.springframework.validation.annotation.Validated;
|
|
||||||
import org.springframework.web.bind.annotation.*;
|
import org.springframework.web.bind.annotation.*;
|
||||||
|
|
||||||
import javax.mail.MessagingException;
|
|
||||||
import javax.servlet.http.HttpServletResponse;
|
import javax.servlet.http.HttpServletResponse;
|
||||||
import java.math.BigDecimal;
|
import java.math.BigDecimal;
|
||||||
|
import java.text.SimpleDateFormat;
|
||||||
|
import java.util.Date;
|
||||||
import java.util.List;
|
import java.util.List;
|
||||||
|
import java.util.UUID;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* ai-用户信息Controller
|
* ai-用户信息Controller
|
||||||
|
|
@ -77,7 +71,6 @@ public class AiUserController extends BaseController {
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 新增ai-用户信息
|
* 新增ai-用户信息
|
||||||
*/
|
*/
|
||||||
|
|
@ -123,9 +116,12 @@ public class AiUserController extends BaseController {
|
||||||
aiUser.setUpdateBy(getUsername());
|
aiUser.setUpdateBy(getUsername());
|
||||||
// 获取原余额
|
// 获取原余额
|
||||||
AiUser u = aiUserService.selectAiUserById(aiUser.getId());
|
AiUser u = aiUserService.selectAiUserById(aiUser.getId());
|
||||||
|
String uuid = UUID.randomUUID().toString().replaceAll("-", "").substring(0, 8);
|
||||||
|
String dateTime = new SimpleDateFormat("yyyyMMdd").format(new Date());
|
||||||
|
String orderNo = dateTime + uuid;
|
||||||
// 计算变更余额
|
// 计算变更余额
|
||||||
BigDecimal amount = NumberUtil.sub(aiUser.getBalance(), u.getBalance());
|
BigDecimal amount = NumberUtil.sub(aiUser.getBalance(), u.getBalance());
|
||||||
aiUserService.addUserBalance(aiUser.getId(), amount, BalanceChangerConstants.SYSTEM_OPERATION);
|
aiUserService.addUserBalance(orderNo, aiUser.getId(), amount, BalanceChangerConstants.SYSTEM_OPERATION);
|
||||||
return toAjax(1);
|
return toAjax(1);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
@ -151,8 +147,6 @@ public class AiUserController extends BaseController {
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
// @GetMapping("/addUserBalance")
|
// @GetMapping("/addUserBalance")
|
||||||
// public AjaxResult addUserBalance(BigDecimal amount) {
|
// public AjaxResult addUserBalance(BigDecimal amount) {
|
||||||
// aiUserService.addUserBalance(SecurityUtils.getAiUserId(), amount, BalanceChangerConstants.RECHARGE);
|
// aiUserService.addUserBalance(SecurityUtils.getAiUserId(), amount, BalanceChangerConstants.RECHARGE);
|
||||||
|
|
|
||||||
|
|
@ -1,16 +1,14 @@
|
||||||
package com.ruoyi.ai.domain;
|
package com.ruoyi.ai.domain;
|
||||||
|
|
||||||
import java.math.BigDecimal;
|
|
||||||
|
|
||||||
import com.baomidou.mybatisplus.annotation.IdType;
|
import com.baomidou.mybatisplus.annotation.IdType;
|
||||||
import com.baomidou.mybatisplus.annotation.TableField;
|
import com.baomidou.mybatisplus.annotation.TableField;
|
||||||
import com.baomidou.mybatisplus.annotation.TableId;
|
import com.baomidou.mybatisplus.annotation.TableId;
|
||||||
import com.baomidou.mybatisplus.annotation.TableName;
|
import com.baomidou.mybatisplus.annotation.TableName;
|
||||||
import lombok.Data;
|
|
||||||
import org.apache.commons.lang3.builder.ToStringBuilder;
|
|
||||||
import org.apache.commons.lang3.builder.ToStringStyle;
|
|
||||||
import com.ruoyi.common.annotation.Excel;
|
import com.ruoyi.common.annotation.Excel;
|
||||||
import com.ruoyi.common.core.domain.BaseEntity;
|
import com.ruoyi.common.core.domain.BaseEntity;
|
||||||
|
import lombok.Data;
|
||||||
|
|
||||||
|
import java.math.BigDecimal;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 余额使用记录对象 ai_balance_change_record
|
* 余额使用记录对象 ai_balance_change_record
|
||||||
|
|
@ -24,13 +22,23 @@ public class AiBalanceChangeRecord extends BaseEntity {
|
||||||
|
|
||||||
private static final long serialVersionUID = 1L;
|
private static final long serialVersionUID = 1L;
|
||||||
|
|
||||||
/** 主键ID */
|
/**
|
||||||
|
* 主键ID
|
||||||
|
*/
|
||||||
@TableId(type = IdType.AUTO)
|
@TableId(type = IdType.AUTO)
|
||||||
private Long id;
|
private Long id;
|
||||||
|
|
||||||
/** 删除标志(0代表存在 2代表删除) */
|
/**
|
||||||
|
* 删除标志(0代表存在 2代表删除)
|
||||||
|
*/
|
||||||
private String delFlag;
|
private String delFlag;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 关联订单号
|
||||||
|
*/
|
||||||
|
@Excel(name = "关联订单号")
|
||||||
|
private String orderNo;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 用户ID
|
* 用户ID
|
||||||
*/
|
*/
|
||||||
|
|
@ -42,19 +50,27 @@ public class AiBalanceChangeRecord extends BaseEntity {
|
||||||
@TableField(exist = false)
|
@TableField(exist = false)
|
||||||
private String uuid;
|
private String uuid;
|
||||||
|
|
||||||
/** 操作类型:0-充值 1-返佣 2-充值赠送 3-体验金赠送 4-体验金回收 5-图生图 6-一键换脸 7-快捷生图 8-快捷生视频 9-退款 10-系统操作 */
|
/**
|
||||||
|
* 操作类型:0-充值 1-返佣 2-充值赠送 3-体验金赠送 4-体验金回收 5-图生图 6-一键换脸 7-快捷生图 8-快捷生视频 9-退款 10-系统操作
|
||||||
|
*/
|
||||||
@Excel(name = "操作类型")
|
@Excel(name = "操作类型")
|
||||||
private Integer type;
|
private Integer type;
|
||||||
|
|
||||||
/** 变更金额 */
|
/**
|
||||||
|
* 变更金额
|
||||||
|
*/
|
||||||
@Excel(name = "变更金额")
|
@Excel(name = "变更金额")
|
||||||
private BigDecimal changeAmount;
|
private BigDecimal changeAmount;
|
||||||
|
|
||||||
/** 变更后金额 */
|
/**
|
||||||
|
* 变更后金额
|
||||||
|
*/
|
||||||
@Excel(name = "变更后金额")
|
@Excel(name = "变更后金额")
|
||||||
private BigDecimal resultAmount;
|
private BigDecimal resultAmount;
|
||||||
|
|
||||||
/** 用户昵称 */
|
/**
|
||||||
|
* 用户昵称
|
||||||
|
*/
|
||||||
@TableField(exist = false)
|
@TableField(exist = false)
|
||||||
@Excel(name = "用户昵称")
|
@Excel(name = "用户昵称")
|
||||||
private String nickname;
|
private String nickname;
|
||||||
|
|
|
||||||
|
|
@ -1,16 +1,15 @@
|
||||||
package com.ruoyi.ai.domain;
|
package com.ruoyi.ai.domain;
|
||||||
|
|
||||||
|
import com.baomidou.mybatisplus.annotation.IdType;
|
||||||
|
import com.baomidou.mybatisplus.annotation.TableField;
|
||||||
|
import com.baomidou.mybatisplus.annotation.TableId;
|
||||||
|
import com.baomidou.mybatisplus.annotation.TableName;
|
||||||
|
import com.ruoyi.common.annotation.Excel;
|
||||||
|
import com.ruoyi.common.core.domain.BaseEntity;
|
||||||
|
import lombok.Data;
|
||||||
|
|
||||||
import java.math.BigDecimal;
|
import java.math.BigDecimal;
|
||||||
|
|
||||||
import com.baomidou.mybatisplus.annotation.TableField;
|
|
||||||
import lombok.Data;
|
|
||||||
import org.apache.commons.lang3.builder.ToStringBuilder;
|
|
||||||
import org.apache.commons.lang3.builder.ToStringStyle;
|
|
||||||
import com.ruoyi.common.annotation.Excel;
|
|
||||||
import com.ruoyi.common.core.domain.BaseEntity;
|
|
||||||
import com.baomidou.mybatisplus.annotation.IdType;
|
|
||||||
import com.baomidou.mybatisplus.annotation.TableId;
|
|
||||||
import com.baomidou.mybatisplus.annotation.TableName;
|
|
||||||
/**
|
/**
|
||||||
* 返佣记录对象 ai_rebate_record
|
* 返佣记录对象 ai_rebate_record
|
||||||
*
|
*
|
||||||
|
|
@ -23,22 +22,38 @@ public class AiRebateRecord extends BaseEntity {
|
||||||
|
|
||||||
private static final long serialVersionUID = 1L;
|
private static final long serialVersionUID = 1L;
|
||||||
|
|
||||||
/** 主键ID */
|
/**
|
||||||
|
* 主键ID
|
||||||
|
*/
|
||||||
@TableId(type = IdType.AUTO)
|
@TableId(type = IdType.AUTO)
|
||||||
private Long id;
|
private Long id;
|
||||||
|
|
||||||
/** 删除标志(0代表存在 2代表删除) */
|
/**
|
||||||
|
* 关联订单号
|
||||||
|
*/
|
||||||
|
@Excel(name = "关联订单号")
|
||||||
|
private String orderNo;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 删除标志(0代表存在 2代表删除)
|
||||||
|
*/
|
||||||
private String delFlag;
|
private String delFlag;
|
||||||
|
|
||||||
/** 上级ID */
|
/**
|
||||||
|
* 上级ID
|
||||||
|
*/
|
||||||
@Excel(name = "上级ID")
|
@Excel(name = "上级ID")
|
||||||
private Long superiorId;
|
private Long superiorId;
|
||||||
|
|
||||||
/** 下级ID */
|
/**
|
||||||
|
* 下级ID
|
||||||
|
*/
|
||||||
@Excel(name = "下级ID")
|
@Excel(name = "下级ID")
|
||||||
private Long subordinateId;
|
private Long subordinateId;
|
||||||
|
|
||||||
/** 返佣金额 */
|
/**
|
||||||
|
* 返佣金额
|
||||||
|
*/
|
||||||
@Excel(name = "返佣金额")
|
@Excel(name = "返佣金额")
|
||||||
private BigDecimal amount;
|
private BigDecimal amount;
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -1,18 +1,17 @@
|
||||||
package com.ruoyi.ai.domain;
|
package com.ruoyi.ai.domain;
|
||||||
|
|
||||||
|
import com.baomidou.mybatisplus.annotation.IdType;
|
||||||
|
import com.baomidou.mybatisplus.annotation.TableField;
|
||||||
|
import com.baomidou.mybatisplus.annotation.TableId;
|
||||||
|
import com.baomidou.mybatisplus.annotation.TableName;
|
||||||
|
import com.fasterxml.jackson.annotation.JsonFormat;
|
||||||
|
import com.ruoyi.common.annotation.Excel;
|
||||||
|
import com.ruoyi.common.core.domain.BaseEntity;
|
||||||
|
import lombok.Data;
|
||||||
|
|
||||||
import java.math.BigDecimal;
|
import java.math.BigDecimal;
|
||||||
import java.util.Date;
|
import java.util.Date;
|
||||||
|
|
||||||
import com.baomidou.mybatisplus.annotation.TableField;
|
|
||||||
import com.fasterxml.jackson.annotation.JsonFormat;
|
|
||||||
import lombok.Data;
|
|
||||||
import org.apache.commons.lang3.builder.ToStringBuilder;
|
|
||||||
import org.apache.commons.lang3.builder.ToStringStyle;
|
|
||||||
import com.ruoyi.common.annotation.Excel;
|
|
||||||
import com.ruoyi.common.core.domain.BaseEntity;
|
|
||||||
import com.baomidou.mybatisplus.annotation.IdType;
|
|
||||||
import com.baomidou.mybatisplus.annotation.TableId;
|
|
||||||
import com.baomidou.mybatisplus.annotation.TableName;
|
|
||||||
/**
|
/**
|
||||||
* 体验金领取记录对象 ai_sample_amount_record
|
* 体验金领取记录对象 ai_sample_amount_record
|
||||||
*
|
*
|
||||||
|
|
@ -25,22 +24,38 @@ public class AiSampleAmountRecord extends BaseEntity {
|
||||||
|
|
||||||
private static final long serialVersionUID = 1L;
|
private static final long serialVersionUID = 1L;
|
||||||
|
|
||||||
/** 主键ID */
|
/**
|
||||||
|
* 主键ID
|
||||||
|
*/
|
||||||
@TableId(type = IdType.AUTO)
|
@TableId(type = IdType.AUTO)
|
||||||
private Long id;
|
private Long id;
|
||||||
|
|
||||||
/** 删除标志(0代表存在 2代表删除) */
|
/**
|
||||||
|
* 关联订单号
|
||||||
|
*/
|
||||||
|
@Excel(name = "关联订单号")
|
||||||
|
private String orderNo;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 删除标志(0代表存在 2代表删除)
|
||||||
|
*/
|
||||||
private String delFlag;
|
private String delFlag;
|
||||||
|
|
||||||
/** 用户ID */
|
/**
|
||||||
|
* 用户ID
|
||||||
|
*/
|
||||||
@Excel(name = "用户ID")
|
@Excel(name = "用户ID")
|
||||||
private Long userId;
|
private Long userId;
|
||||||
|
|
||||||
/** 体验金额 */
|
/**
|
||||||
|
* 体验金额
|
||||||
|
*/
|
||||||
@Excel(name = "体验金额")
|
@Excel(name = "体验金额")
|
||||||
private BigDecimal sampleAmount;
|
private BigDecimal sampleAmount;
|
||||||
|
|
||||||
/** 回收时间 */
|
/**
|
||||||
|
* 回收时间
|
||||||
|
*/
|
||||||
@JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
|
@JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
|
||||||
@Excel(name = "回收时间", width = 30, dateFormat = "yyyy-MM-dd HH:mm:ss")
|
@Excel(name = "回收时间", width = 30, dateFormat = "yyyy-MM-dd HH:mm:ss")
|
||||||
private Date recycleTime;
|
private Date recycleTime;
|
||||||
|
|
|
||||||
|
|
@ -87,9 +87,9 @@ public interface IAiUserService {
|
||||||
|
|
||||||
void updateEmail(String email, String code);
|
void updateEmail(String email, String code);
|
||||||
|
|
||||||
void addUserBalance(Long userId, BigDecimal amount, int recharge);
|
void addUserBalance(String orderNo, Long userId, BigDecimal amount, int recharge);
|
||||||
|
|
||||||
void addUserBalance(Long userId, BigDecimal amount, int recharge, String remark);
|
void addUserBalance(String orderNo, Long userId, BigDecimal amount, int recharge, String remark);
|
||||||
|
|
||||||
AiUser getUserByEmail(String email);
|
AiUser getUserByEmail(String email);
|
||||||
|
|
||||||
|
|
@ -101,7 +101,7 @@ public interface IAiUserService {
|
||||||
|
|
||||||
public void deductSampleAmount(String userId);
|
public void deductSampleAmount(String userId);
|
||||||
|
|
||||||
void handleRebate(Long userId, BigDecimal rechargeAmount);
|
void handleRebate(String orderNo, Long userId, BigDecimal rechargeAmount);
|
||||||
|
|
||||||
String getRebateConfig();
|
String getRebateConfig();
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -1,25 +1,20 @@
|
||||||
package com.ruoyi.ai.service.impl;
|
package com.ruoyi.ai.service.impl;
|
||||||
|
|
||||||
import java.math.BigDecimal;
|
|
||||||
import java.text.SimpleDateFormat;
|
|
||||||
import java.util.Date;
|
|
||||||
import java.util.List;
|
|
||||||
import java.util.UUID;
|
|
||||||
|
|
||||||
import cn.hutool.core.util.NumberUtil;
|
import cn.hutool.core.util.NumberUtil;
|
||||||
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
|
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
|
||||||
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
|
|
||||||
import com.baomidou.mybatisplus.core.toolkit.Wrappers;
|
|
||||||
import com.baomidou.mybatisplus.core.metadata.IPage;
|
import com.baomidou.mybatisplus.core.metadata.IPage;
|
||||||
|
import com.baomidou.mybatisplus.core.toolkit.Wrappers;
|
||||||
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
|
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
|
||||||
import com.ruoyi.ai.domain.AiManager;
|
import com.ruoyi.ai.domain.AiManager;
|
||||||
|
import com.ruoyi.ai.domain.AiOrder;
|
||||||
import com.ruoyi.ai.domain.AiStatistics;
|
import com.ruoyi.ai.domain.AiStatistics;
|
||||||
|
import com.ruoyi.ai.mapper.AiOrderMapper;
|
||||||
import com.ruoyi.ai.service.IAiManagerService;
|
import com.ruoyi.ai.service.IAiManagerService;
|
||||||
|
import com.ruoyi.ai.service.IAiOrderService;
|
||||||
import com.ruoyi.ai.service.IAiStatisticsService;
|
import com.ruoyi.ai.service.IAiStatisticsService;
|
||||||
import com.ruoyi.ai.service.IAiUserService;
|
import com.ruoyi.ai.service.IAiUserService;
|
||||||
import com.ruoyi.common.constant.BalanceChangerConstants;
|
import com.ruoyi.common.constant.BalanceChangerConstants;
|
||||||
import com.ruoyi.common.constant.HttpStatus;
|
import com.ruoyi.common.constant.HttpStatus;
|
||||||
import com.ruoyi.common.core.domain.AjaxResult;
|
|
||||||
import com.ruoyi.common.core.domain.entity.AiUser;
|
import com.ruoyi.common.core.domain.entity.AiUser;
|
||||||
import com.ruoyi.common.exception.ServiceException;
|
import com.ruoyi.common.exception.ServiceException;
|
||||||
import com.ruoyi.common.utils.DateUtils;
|
import com.ruoyi.common.utils.DateUtils;
|
||||||
|
|
@ -27,14 +22,17 @@ import com.ruoyi.common.utils.MessageUtils;
|
||||||
import com.ruoyi.common.utils.SecurityUtils;
|
import com.ruoyi.common.utils.SecurityUtils;
|
||||||
import org.springframework.beans.factory.annotation.Autowired;
|
import org.springframework.beans.factory.annotation.Autowired;
|
||||||
import org.springframework.stereotype.Service;
|
import org.springframework.stereotype.Service;
|
||||||
import com.ruoyi.ai.mapper.AiOrderMapper;
|
|
||||||
import com.ruoyi.ai.domain.AiOrder;
|
|
||||||
import com.ruoyi.ai.service.IAiOrderService;
|
|
||||||
import org.springframework.transaction.annotation.Transactional;
|
import org.springframework.transaction.annotation.Transactional;
|
||||||
|
|
||||||
|
import java.math.BigDecimal;
|
||||||
|
import java.text.SimpleDateFormat;
|
||||||
|
import java.util.Date;
|
||||||
|
import java.util.List;
|
||||||
|
import java.util.UUID;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 订单管理Service业务层处理
|
* 订单管理Service业务层处理
|
||||||
*
|
*
|
||||||
* @author shi
|
* @author shi
|
||||||
* @date 2025-11-13
|
* @date 2025-11-13
|
||||||
*/
|
*/
|
||||||
|
|
@ -56,7 +54,7 @@ public class AiOrderServiceImpl implements IAiOrderService {
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 查询订单管理
|
* 查询订单管理
|
||||||
*
|
*
|
||||||
* @param id 订单管理主键
|
* @param id 订单管理主键
|
||||||
* @return 订单管理
|
* @return 订单管理
|
||||||
*/
|
*/
|
||||||
|
|
@ -67,7 +65,7 @@ public class AiOrderServiceImpl implements IAiOrderService {
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 查询订单管理列表
|
* 查询订单管理列表
|
||||||
*
|
*
|
||||||
* @param aiOrder 订单管理
|
* @param aiOrder 订单管理
|
||||||
* @return 订单管理
|
* @return 订单管理
|
||||||
*/
|
*/
|
||||||
|
|
@ -91,7 +89,7 @@ public class AiOrderServiceImpl implements IAiOrderService {
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 新增订单管理
|
* 新增订单管理
|
||||||
*
|
*
|
||||||
* @param aiOrder 订单管理
|
* @param aiOrder 订单管理
|
||||||
* @return 结果
|
* @return 结果
|
||||||
*/
|
*/
|
||||||
|
|
@ -105,7 +103,7 @@ public class AiOrderServiceImpl implements IAiOrderService {
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 修改订单管理
|
* 修改订单管理
|
||||||
*
|
*
|
||||||
* @param aiOrder 订单管理
|
* @param aiOrder 订单管理
|
||||||
* @return 结果
|
* @return 结果
|
||||||
*/
|
*/
|
||||||
|
|
@ -118,30 +116,29 @@ public class AiOrderServiceImpl implements IAiOrderService {
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 批量删除订单管理
|
* 批量删除订单管理
|
||||||
*
|
*
|
||||||
* @param ids 需要删除的订单管理主键
|
* @param ids 需要删除的订单管理主键
|
||||||
* @return 结果
|
* @return 结果
|
||||||
*/
|
*/
|
||||||
@Override
|
@Override
|
||||||
public int deleteAiOrderByIds(Long[] ids)
|
public int deleteAiOrderByIds(Long[] ids) {
|
||||||
{
|
|
||||||
return aiOrderMapper.deleteAiOrderByIds(ids);
|
return aiOrderMapper.deleteAiOrderByIds(ids);
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 删除订单管理信息
|
* 删除订单管理信息
|
||||||
*
|
*
|
||||||
* @param id 订单管理主键
|
* @param id 订单管理主键
|
||||||
* @return 结果
|
* @return 结果
|
||||||
*/
|
*/
|
||||||
@Override
|
@Override
|
||||||
public int deleteAiOrderById(Long id)
|
public int deleteAiOrderById(Long id) {
|
||||||
{
|
|
||||||
return aiOrderMapper.deleteAiOrderById(id);
|
return aiOrderMapper.deleteAiOrderById(id);
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 生成订单
|
* 生成订单
|
||||||
|
*
|
||||||
* @param aiType 对应的AI类型
|
* @param aiType 对应的AI类型
|
||||||
* @return
|
* @return
|
||||||
*/
|
*/
|
||||||
|
|
@ -170,7 +167,7 @@ public class AiOrderServiceImpl implements IAiOrderService {
|
||||||
aiOrder.setSource(aiUser.getSource());
|
aiOrder.setSource(aiUser.getSource());
|
||||||
aiOrderMapper.insert(aiOrder);
|
aiOrderMapper.insert(aiOrder);
|
||||||
// 执行余额变更
|
// 执行余额变更
|
||||||
aiUserService.addUserBalance(SecurityUtils.getAiUserId(), NumberUtil.mul(-1, aiManager.getPrice()), getChangerType(aiType));
|
aiUserService.addUserBalance(orderno, SecurityUtils.getAiUserId(), NumberUtil.mul(-1, aiManager.getPrice()), getChangerType(aiType));
|
||||||
return aiOrder;
|
return aiOrder;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
@ -181,7 +178,7 @@ public class AiOrderServiceImpl implements IAiOrderService {
|
||||||
String remark = MessageUtils.message("order.number.generation.failed", aiOrder.getOrderNum());
|
String remark = MessageUtils.message("order.number.generation.failed", aiOrder.getOrderNum());
|
||||||
aiOrder.setRemark(remark);
|
aiOrder.setRemark(remark);
|
||||||
aiOrderMapper.updateById(aiOrder);
|
aiOrderMapper.updateById(aiOrder);
|
||||||
aiUserService.addUserBalance(SecurityUtils.getAiUserId(), aiOrder.getAmount(), BalanceChangerConstants.REFUND, remark);
|
aiUserService.addUserBalance(aiOrder.getOrderNum(), SecurityUtils.getAiUserId(), aiOrder.getAmount(), BalanceChangerConstants.REFUND, remark);
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
|
|
@ -191,7 +188,7 @@ public class AiOrderServiceImpl implements IAiOrderService {
|
||||||
aiOrderMapper.updateById(aiOrder);
|
aiOrderMapper.updateById(aiOrder);
|
||||||
AiStatistics aiStatistics = new AiStatistics();
|
AiStatistics aiStatistics = new AiStatistics();
|
||||||
aiStatistics.setSource(aiOrder.getSource());
|
aiStatistics.setSource(aiOrder.getSource());
|
||||||
aiStatistics.setGenerateCount(1l);
|
aiStatistics.setGenerateCount(1L);
|
||||||
// 新增生成数量
|
// 新增生成数量
|
||||||
aiStatisticsService.saveOrUpdateData(aiStatistics);
|
aiStatisticsService.saveOrUpdateData(aiStatistics);
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -1,29 +1,24 @@
|
||||||
package com.ruoyi.ai.service.impl;
|
package com.ruoyi.ai.service.impl;
|
||||||
|
|
||||||
|
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
|
||||||
|
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
|
||||||
|
import com.baomidou.mybatisplus.core.metadata.IPage;
|
||||||
|
import com.baomidou.mybatisplus.core.toolkit.Wrappers;
|
||||||
|
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
|
||||||
|
import com.ruoyi.ai.domain.*;
|
||||||
|
import com.ruoyi.ai.mapper.AiRechargeMapper;
|
||||||
|
import com.ruoyi.ai.service.*;
|
||||||
|
import com.ruoyi.common.constant.BalanceChangerConstants;
|
||||||
|
import com.ruoyi.common.utils.DateUtils;
|
||||||
|
import lombok.extern.slf4j.Slf4j;
|
||||||
|
import org.springframework.beans.factory.annotation.Autowired;
|
||||||
|
import org.springframework.stereotype.Service;
|
||||||
|
import org.springframework.transaction.annotation.Transactional;
|
||||||
|
|
||||||
import java.math.BigDecimal;
|
import java.math.BigDecimal;
|
||||||
import java.util.Date;
|
import java.util.Date;
|
||||||
import java.util.List;
|
import java.util.List;
|
||||||
|
|
||||||
import cn.hutool.core.util.NumberUtil;
|
|
||||||
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
|
|
||||||
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
|
|
||||||
import com.baomidou.mybatisplus.core.toolkit.Wrappers;
|
|
||||||
import com.baomidou.mybatisplus.core.metadata.IPage;
|
|
||||||
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
|
|
||||||
import com.ruoyi.ai.domain.*;
|
|
||||||
import com.ruoyi.ai.domain.enums.AiConfigEnum;
|
|
||||||
import com.ruoyi.ai.service.*;
|
|
||||||
import com.ruoyi.common.constant.BalanceChangerConstants;
|
|
||||||
import com.ruoyi.common.core.domain.entity.AiUser;
|
|
||||||
import com.ruoyi.common.utils.DateUtils;
|
|
||||||
import com.ruoyi.common.utils.SecurityUtils;
|
|
||||||
import com.ruoyi.system.domain.SysConfig;
|
|
||||||
import lombok.extern.slf4j.Slf4j;
|
|
||||||
import org.springframework.beans.factory.annotation.Autowired;
|
|
||||||
import org.springframework.stereotype.Service;
|
|
||||||
import com.ruoyi.ai.mapper.AiRechargeMapper;
|
|
||||||
import org.springframework.transaction.annotation.Transactional;
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 充值管理Service业务层处理
|
* 充值管理Service业务层处理
|
||||||
*
|
*
|
||||||
|
|
@ -107,12 +102,10 @@ public class AiRechargeServiceImpl implements IAiRechargeService {
|
||||||
aiRecharge.setGiftAmount(amount);
|
aiRecharge.setGiftAmount(amount);
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
// 新增用户余额
|
// 新增用户余额
|
||||||
aiUserService.addUserBalance(aiRecharge.getUserId(), amount, BalanceChangerConstants.RECHARGE);
|
aiUserService.addUserBalance(orderNo, aiRecharge.getUserId(), amount, BalanceChangerConstants.RECHARGE);
|
||||||
// 处理返佣 (根据充值金额计算返佣)
|
// 处理返佣 (根据充值金额计算返佣)
|
||||||
aiUserService.handleRebate(aiRecharge.getUserId(), aiRechargeGiftGear.getRechargeAmount());
|
aiUserService.handleRebate(orderNo, aiRecharge.getUserId(), aiRechargeGiftGear.getRechargeAmount());
|
||||||
// 新增充值统计
|
// 新增充值统计
|
||||||
AiStatistics aiStatistics = new AiStatistics();
|
AiStatistics aiStatistics = new AiStatistics();
|
||||||
aiStatistics.setSource(aiRecharge.getSource());
|
aiStatistics.setSource(aiRecharge.getSource());
|
||||||
|
|
@ -120,14 +113,14 @@ public class AiRechargeServiceImpl implements IAiRechargeService {
|
||||||
statisticsService.saveOrUpdateData(aiStatistics);
|
statisticsService.saveOrUpdateData(aiStatistics);
|
||||||
|
|
||||||
|
|
||||||
// 处理赠送金额
|
// 处理赠送金额
|
||||||
if (isFristRecharge && aiRecharge.getGearId() != null) {
|
if (isFristRecharge && aiRecharge.getGearId() != null) {
|
||||||
// 查询活动是否过期
|
// 查询活动是否过期
|
||||||
boolean isAvailable = aiRechargeGiftService.isActivityAvailable(aiRechargeGiftGear.getRechargeId());
|
boolean isAvailable = aiRechargeGiftService.isActivityAvailable(aiRechargeGiftGear.getRechargeId());
|
||||||
if (isAvailable) {
|
if (isAvailable) {
|
||||||
aiRecharge.setGiveAmount(aiRechargeGiftGear.getGiveAmount());
|
aiRecharge.setGiveAmount(aiRechargeGiftGear.getGiveAmount());
|
||||||
// 新增用户赠送余额
|
// 新增用户赠送余额
|
||||||
aiUserService.addUserBalance(aiRecharge.getUserId(), aiRechargeGiftGear.getGiveAmount(), BalanceChangerConstants.RECHARGE_BONUS);
|
aiUserService.addUserBalance(orderNo, aiRecharge.getUserId(), aiRechargeGiftGear.getGiveAmount(), BalanceChangerConstants.RECHARGE_BONUS);
|
||||||
// 新增充值赠送记录
|
// 新增充值赠送记录
|
||||||
AiRechargeGiftRecord aiRechargeGiftRecord = new AiRechargeGiftRecord();
|
AiRechargeGiftRecord aiRechargeGiftRecord = new AiRechargeGiftRecord();
|
||||||
aiRechargeGiftRecord.setOrderNum(orderNo);
|
aiRechargeGiftRecord.setOrderNum(orderNo);
|
||||||
|
|
|
||||||
|
|
@ -9,20 +9,17 @@ import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
|
||||||
import com.ruoyi.ai.domain.*;
|
import com.ruoyi.ai.domain.*;
|
||||||
import com.ruoyi.ai.domain.enums.AiConfigEnum;
|
import com.ruoyi.ai.domain.enums.AiConfigEnum;
|
||||||
import com.ruoyi.ai.mapper.AiRechargeMapper;
|
import com.ruoyi.ai.mapper.AiRechargeMapper;
|
||||||
import com.ruoyi.ai.mapper.AiSampleAmountMapper;
|
import com.ruoyi.ai.mapper.AiUserMapper;
|
||||||
import com.ruoyi.ai.mapper.AiSampleAmountRecordMapper;
|
|
||||||
import com.ruoyi.ai.service.*;
|
import com.ruoyi.ai.service.*;
|
||||||
import com.ruoyi.common.constant.BalanceChangerConstants;
|
import com.ruoyi.common.constant.BalanceChangerConstants;
|
||||||
import com.ruoyi.common.constant.HttpStatus;
|
import com.ruoyi.common.constant.HttpStatus;
|
||||||
import com.ruoyi.common.core.domain.entity.AiUser;
|
import com.ruoyi.common.core.domain.entity.AiUser;
|
||||||
import com.ruoyi.ai.mapper.AiUserMapper;
|
|
||||||
import com.ruoyi.common.core.domain.model.LoginAiUser;
|
import com.ruoyi.common.core.domain.model.LoginAiUser;
|
||||||
import com.ruoyi.common.core.domain.model.LoginAiUserBody;
|
import com.ruoyi.common.core.domain.model.LoginAiUserBody;
|
||||||
import com.ruoyi.common.core.domain.model.RegisterAiUserBody;
|
import com.ruoyi.common.core.domain.model.RegisterAiUserBody;
|
||||||
import com.ruoyi.common.exception.ServiceException;
|
import com.ruoyi.common.exception.ServiceException;
|
||||||
import com.ruoyi.common.utils.*;
|
import com.ruoyi.common.utils.*;
|
||||||
import com.ruoyi.common.utils.ip.IpUtils;
|
import com.ruoyi.common.utils.ip.IpUtils;
|
||||||
import com.ruoyi.common.utils.uuid.UUID;
|
|
||||||
import com.ruoyi.system.domain.SysConfig;
|
import com.ruoyi.system.domain.SysConfig;
|
||||||
import com.ruoyi.system.mapper.SysConfigMapper;
|
import com.ruoyi.system.mapper.SysConfigMapper;
|
||||||
import org.springframework.beans.factory.annotation.Autowired;
|
import org.springframework.beans.factory.annotation.Autowired;
|
||||||
|
|
@ -30,7 +27,6 @@ import org.springframework.stereotype.Service;
|
||||||
import org.springframework.transaction.annotation.Transactional;
|
import org.springframework.transaction.annotation.Transactional;
|
||||||
|
|
||||||
import java.math.BigDecimal;
|
import java.math.BigDecimal;
|
||||||
import java.text.SimpleDateFormat;
|
|
||||||
import java.util.Date;
|
import java.util.Date;
|
||||||
import java.util.HashMap;
|
import java.util.HashMap;
|
||||||
import java.util.List;
|
import java.util.List;
|
||||||
|
|
@ -70,7 +66,6 @@ public class AiUserServiceImpl implements IAiUserService {
|
||||||
private AiRechargeMapper aiRechargeMapper;
|
private AiRechargeMapper aiRechargeMapper;
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 查询ai-用户信息
|
* 查询ai-用户信息
|
||||||
*
|
*
|
||||||
|
|
@ -208,7 +203,7 @@ public class AiUserServiceImpl implements IAiUserService {
|
||||||
// 新增访客统计
|
// 新增访客统计
|
||||||
AiStatistics aiStatistics = new AiStatistics();
|
AiStatistics aiStatistics = new AiStatistics();
|
||||||
aiStatistics.setSource(registerAiUserBody.getSource());
|
aiStatistics.setSource(registerAiUserBody.getSource());
|
||||||
aiStatistics.setAddUserCount(1l);
|
aiStatistics.setAddUserCount(1L);
|
||||||
aiStatisticsService.saveOrUpdateData(aiStatistics);
|
aiStatisticsService.saveOrUpdateData(aiStatistics);
|
||||||
return aiUser;
|
return aiUser;
|
||||||
}
|
}
|
||||||
|
|
@ -352,13 +347,13 @@ public class AiUserServiceImpl implements IAiUserService {
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public void addUserBalance(Long userId, BigDecimal amount, int recharge) {
|
public void addUserBalance(String orderNo, Long userId, BigDecimal amount, int recharge) {
|
||||||
addUserBalance(userId, amount, recharge, null);
|
addUserBalance(orderNo, userId, amount, recharge, null);
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
@Transactional
|
@Transactional
|
||||||
public void addUserBalance(Long userId, BigDecimal amount, int recharge, String remark) {
|
public void addUserBalance(String orderNo, Long userId, BigDecimal amount, int recharge, String remark) {
|
||||||
// 新增余额使用记录
|
// 新增余额使用记录
|
||||||
AiUser aiUser = aiUserMapper.selectById(userId);
|
AiUser aiUser = aiUserMapper.selectById(userId);
|
||||||
AiBalanceChangeRecord balanceChangeRecord = new AiBalanceChangeRecord();
|
AiBalanceChangeRecord balanceChangeRecord = new AiBalanceChangeRecord();
|
||||||
|
|
@ -367,6 +362,7 @@ public class AiUserServiceImpl implements IAiUserService {
|
||||||
balanceChangeRecord.setChangeAmount(amount);
|
balanceChangeRecord.setChangeAmount(amount);
|
||||||
balanceChangeRecord.setResultAmount(NumberUtil.add(amount, aiUser.getBalance()));
|
balanceChangeRecord.setResultAmount(NumberUtil.add(amount, aiUser.getBalance()));
|
||||||
balanceChangeRecord.setRemark(remark);
|
balanceChangeRecord.setRemark(remark);
|
||||||
|
balanceChangeRecord.setOrderNo(orderNo);
|
||||||
balanceChangeRecordService.insertAiBalanceChangeRecord(balanceChangeRecord);
|
balanceChangeRecordService.insertAiBalanceChangeRecord(balanceChangeRecord);
|
||||||
// 修改用户余额
|
// 修改用户余额
|
||||||
aiUser.setBalance(balanceChangeRecord.getResultAmount());
|
aiUser.setBalance(balanceChangeRecord.getResultAmount());
|
||||||
|
|
@ -396,7 +392,7 @@ public class AiUserServiceImpl implements IAiUserService {
|
||||||
public int updatePassword(AiUser aiUser) {
|
public int updatePassword(AiUser aiUser) {
|
||||||
aiUser.setPassword(SecurityUtils.encryptPassword(aiUser.getNewPassword()));
|
aiUser.setPassword(SecurityUtils.encryptPassword(aiUser.getNewPassword()));
|
||||||
return aiUserMapper.updateById(aiUser);
|
return aiUserMapper.updateById(aiUser);
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
@Transactional
|
@Transactional
|
||||||
|
|
@ -410,14 +406,14 @@ public class AiUserServiceImpl implements IAiUserService {
|
||||||
// if (deductAmount.compareTo(BigDecimal.ZERO) < 0) {
|
// if (deductAmount.compareTo(BigDecimal.ZERO) < 0) {
|
||||||
// deductAmount = new BigDecimal(0);
|
// deductAmount = new BigDecimal(0);
|
||||||
// }
|
// }
|
||||||
addUserBalance(Long.valueOf(userId), NumberUtil.mul(aiSampleAmountRecord.getSampleAmount(), -1), BalanceChangerConstants.EXPERIENCE_GOLD_RECYCLE);
|
addUserBalance(aiSampleAmountRecord.getOrderNo(), Long.valueOf(userId), NumberUtil.mul(aiSampleAmountRecord.getSampleAmount(), -1), BalanceChangerConstants.EXPERIENCE_GOLD_RECYCLE);
|
||||||
// 修改状态已回收
|
// 修改状态已回收
|
||||||
aiSampleAmountRecord.setStatus(1);
|
aiSampleAmountRecord.setStatus(1);
|
||||||
aiSampleAmountRecordService.updateAiSampleAmountRecord(aiSampleAmountRecord);
|
aiSampleAmountRecordService.updateAiSampleAmountRecord(aiSampleAmountRecord);
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public void handleRebate(Long userId, BigDecimal amount) {
|
public void handleRebate(String orderNo, Long userId, BigDecimal amount) {
|
||||||
AiUser aiUser = aiUserMapper.selectById(userId);
|
AiUser aiUser = aiUserMapper.selectById(userId);
|
||||||
if (aiUser.getSuperiorId() == null) return;
|
if (aiUser.getSuperiorId() == null) return;
|
||||||
// 查询上级用户
|
// 查询上级用户
|
||||||
|
|
@ -428,7 +424,7 @@ public class AiUserServiceImpl implements IAiUserService {
|
||||||
SysConfig sysConfig = sysConfigMapper.checkConfigKeyUnique(AiConfigEnum.SYS_INVITE_COMMISSION.getValue());
|
SysConfig sysConfig = sysConfigMapper.checkConfigKeyUnique(AiConfigEnum.SYS_INVITE_COMMISSION.getValue());
|
||||||
double decimal = NumberUtil.div(Integer.parseInt(sysConfig.getConfigValue()), 100, 2);
|
double decimal = NumberUtil.div(Integer.parseInt(sysConfig.getConfigValue()), 100, 2);
|
||||||
BigDecimal rebateAmount = NumberUtil.mul(amount, decimal);
|
BigDecimal rebateAmount = NumberUtil.mul(amount, decimal);
|
||||||
addUserBalance(superiorUser.getId(), rebateAmount, BalanceChangerConstants.REBATE);
|
addUserBalance(orderNo, superiorUser.getId(), rebateAmount, BalanceChangerConstants.REBATE);
|
||||||
// 新增返佣记录
|
// 新增返佣记录
|
||||||
AiRebateRecord rebateRecord = new AiRebateRecord();
|
AiRebateRecord rebateRecord = new AiRebateRecord();
|
||||||
rebateRecord.setSuperiorId(superiorUser.getId());
|
rebateRecord.setSuperiorId(superiorUser.getId());
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue