BUGFIX: 批量生成积分扣除有误
This commit is contained in:
@@ -16,6 +16,8 @@ public class CreditsDetail extends BaseEntity {
|
|||||||
private String taskId;
|
private String taskId;
|
||||||
/** 积分变更事件 */
|
/** 积分变更事件 */
|
||||||
private String changeEvent;
|
private String changeEvent;
|
||||||
|
/** 用于批量生成,同一事件,一次生成多个 */
|
||||||
|
private Integer num;
|
||||||
/** 变更积分 ( + 表示加,- 表示减) */
|
/** 变更积分 ( + 表示加,- 表示减) */
|
||||||
private String changedCredits;
|
private String changedCredits;
|
||||||
/** 当前积分 */
|
/** 当前积分 */
|
||||||
|
|||||||
@@ -41,6 +41,8 @@ public interface CreditsService extends IService<CreditsDetail> {
|
|||||||
|
|
||||||
void preInsert(Long accountId, String changeEventName, String taskId, Boolean isPreInsert, String changedCredits);
|
void preInsert(Long accountId, String changeEventName, String taskId, Boolean isPreInsert, String changedCredits);
|
||||||
|
|
||||||
|
void preInsert(Long accountId, String changeEventName, String taskId, Boolean isPreInsert, String changedCredits, Integer num);
|
||||||
|
|
||||||
void updateChangedCredits(String accountId, String taskId);
|
void updateChangedCredits(String accountId, String taskId);
|
||||||
|
|
||||||
CreditsDetail queryDetailByTaskId(String taskId);
|
CreditsDetail queryDetailByTaskId(String taskId);
|
||||||
|
|||||||
@@ -326,6 +326,21 @@ public class CreditsServiceImpl extends ServiceImpl<CreditsDetailMapper, Credits
|
|||||||
baseMapper.insert(creditsDetail);
|
baseMapper.insert(creditsDetail);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public void preInsert(Long accountId, String changeEventName, String taskId, Boolean isPreInsert, String changedCredits, Integer num) {
|
||||||
|
CreditsDetail creditsDetail = new CreditsDetail();
|
||||||
|
Account account = accountMapper.selectById(accountId);
|
||||||
|
creditsDetail.setAccountId(accountId);
|
||||||
|
creditsDetail.setTaskId(taskId);
|
||||||
|
creditsDetail.setChangeEvent(changeEventName);
|
||||||
|
creditsDetail.setNum(num);
|
||||||
|
creditsDetail.setChangedCredits(isPreInsert ? "-0" : "-" + changedCredits);
|
||||||
|
creditsDetail.setCredits(account.getCredits());
|
||||||
|
creditsDetail.setCreateTime(LocalDateTime.now());
|
||||||
|
|
||||||
|
baseMapper.insert(creditsDetail);
|
||||||
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public void updateChangedCredits(String accountId, String taskId) {
|
public void updateChangedCredits(String accountId, String taskId) {
|
||||||
QueryWrapper<CreditsDetail> queryWrapper = new QueryWrapper<>();
|
QueryWrapper<CreditsDetail> queryWrapper = new QueryWrapper<>();
|
||||||
@@ -338,7 +353,11 @@ public class CreditsServiceImpl extends ServiceImpl<CreditsDetailMapper, Credits
|
|||||||
String credits = "0";
|
String credits = "0";
|
||||||
CreditsEventsEnum eventsEnum = CreditsEventsEnum.getByTaskName(changeEvent);
|
CreditsEventsEnum eventsEnum = CreditsEventsEnum.getByTaskName(changeEvent);
|
||||||
if (Objects.nonNull(eventsEnum)){
|
if (Objects.nonNull(eventsEnum)){
|
||||||
credits = eventsEnum.getValue();
|
if (Objects.nonNull(creditsDetail.getNum()) && creditsDetail.getNum() != 0){
|
||||||
|
credits = String.valueOf(Long.parseLong(eventsEnum.getValue()) * creditsDetail.getNum());
|
||||||
|
}else {
|
||||||
|
credits = eventsEnum.getValue();
|
||||||
|
}
|
||||||
}
|
}
|
||||||
/*if (changeEvent.equals("Logo") ||
|
/*if (changeEvent.equals("Logo") ||
|
||||||
changeEvent.equals("Pattern") ||
|
changeEvent.equals("Pattern") ||
|
||||||
|
|||||||
@@ -2052,11 +2052,13 @@ public class DesignServiceImpl extends ServiceImpl<DesignMapper, Design> impleme
|
|||||||
toProductImageResult.setImageStrength(randomFromRange);
|
toProductImageResult.setImageStrength(randomFromRange);
|
||||||
toProductImageResultMapper.insert(toProductImageResult);
|
toProductImageResultMapper.insert(toProductImageResult);
|
||||||
result.add(toProductImageResult);
|
result.add(toProductImageResult);
|
||||||
// 添加需要扣除的积分到预扣除区
|
|
||||||
creditsService.addRecordToCreditsDeduction(userHolder.getId(), taskId, CreditsEventsEnum.TO_PRODUCT_IMAGE, cloudTaskDTO.getNums());
|
|
||||||
i ++;
|
i ++;
|
||||||
}
|
}
|
||||||
pythonService.toProductImageBatch(batchTaskId, paramList, userHolder.getId().toString());
|
pythonService.toProductImageBatch(batchTaskId, paramList, userHolder.getId().toString());
|
||||||
|
// 添加需要扣除的积分到预扣除区
|
||||||
|
creditsService.addRecordToCreditsDeduction(userHolder.getId(), batchTaskId, CreditsEventsEnum.TO_PRODUCT_IMAGE, cloudTaskDTO.getNums());
|
||||||
|
// 预插入数据到积分变更表
|
||||||
|
creditsService.preInsert(userHolder.getId(), CreditsEventsEnum.TO_PRODUCT_IMAGE.getValue(), batchTaskId, true, null,cloudTaskDTO.getNums() );
|
||||||
}else {
|
}else {
|
||||||
if (StringUtils.isEmpty(prompt)) {
|
if (StringUtils.isEmpty(prompt)) {
|
||||||
sb.append(",high quality clothing details,8K realistic,HDR");
|
sb.append(",high quality clothing details,8K realistic,HDR");
|
||||||
@@ -2094,11 +2096,14 @@ public class DesignServiceImpl extends ServiceImpl<DesignMapper, Design> impleme
|
|||||||
toProductImageResult.setImageStrength(randomFromRange);
|
toProductImageResult.setImageStrength(randomFromRange);
|
||||||
toProductImageResultMapper.insert(toProductImageResult);
|
toProductImageResultMapper.insert(toProductImageResult);
|
||||||
result.add(toProductImageResult);
|
result.add(toProductImageResult);
|
||||||
// 添加需要扣除的积分到预扣除区
|
|
||||||
creditsService.addRecordToCreditsDeduction(userHolder.getId(), taskId, CreditsEventsEnum.TO_PRODUCT_IMAGE, cloudTaskDTO.getNums());
|
|
||||||
i ++;
|
i ++;
|
||||||
}
|
}
|
||||||
pythonService.toProductImageBatch(batchTaskId, paramList, userHolder.getId().toString());
|
pythonService.toProductImageBatch(batchTaskId, paramList, userHolder.getId().toString());
|
||||||
|
// 添加需要扣除的积分到预扣除区
|
||||||
|
creditsService.addRecordToCreditsDeduction(userHolder.getId(), batchTaskId, CreditsEventsEnum.TO_PRODUCT_IMAGE, cloudTaskDTO.getNums());
|
||||||
|
// 预插入数据到积分变更表
|
||||||
|
creditsService.preInsert(userHolder.getId(), CreditsEventsEnum.TO_PRODUCT_IMAGE.getValue(), batchTaskId, true, null,cloudTaskDTO.getNums() );
|
||||||
|
|
||||||
}
|
}
|
||||||
sb = new StringBuilder("The best quality, masterpiece, real image.");
|
sb = new StringBuilder("The best quality, masterpiece, real image.");
|
||||||
}
|
}
|
||||||
@@ -2218,13 +2223,15 @@ public class DesignServiceImpl extends ServiceImpl<DesignMapper, Design> impleme
|
|||||||
toProductImageResult.setDirection(toProductImageDTO.getDirection());
|
toProductImageResult.setDirection(toProductImageDTO.getDirection());
|
||||||
toProductImageResultMapper.insert(toProductImageResult);
|
toProductImageResultMapper.insert(toProductImageResult);
|
||||||
result.add(toProductImageResult);
|
result.add(toProductImageResult);
|
||||||
|
|
||||||
// 添加需要扣除的积分到预扣除区
|
|
||||||
creditsService.addRecordToCreditsDeduction(userHolder.getId(), taskId, CreditsEventsEnum.RELIGHT, cloudTaskDTO.getNums());
|
|
||||||
i ++;
|
i ++;
|
||||||
}
|
}
|
||||||
// 走模型
|
// 走模型
|
||||||
pythonService.relightBatch(batchTaskId, paramList, userHolder.getId().toString());
|
pythonService.relightBatch(batchTaskId, paramList, userHolder.getId().toString());
|
||||||
|
// 添加需要扣除的积分到预扣除区
|
||||||
|
creditsService.addRecordToCreditsDeduction(userHolder.getId(), batchTaskId, CreditsEventsEnum.RELIGHT, cloudTaskDTO.getNums());
|
||||||
|
// 预插入数据到积分变更表
|
||||||
|
creditsService.preInsert(userHolder.getId(), CreditsEventsEnum.RELIGHT.getValue(), batchTaskId, true, null,cloudTaskDTO.getNums() );
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
}else {
|
}else {
|
||||||
@@ -2261,13 +2268,14 @@ public class DesignServiceImpl extends ServiceImpl<DesignMapper, Design> impleme
|
|||||||
toProductImageResult.setDirection(toProductImageDTO.getDirection());
|
toProductImageResult.setDirection(toProductImageDTO.getDirection());
|
||||||
toProductImageResultMapper.insert(toProductImageResult);
|
toProductImageResultMapper.insert(toProductImageResult);
|
||||||
result.add(toProductImageResult);
|
result.add(toProductImageResult);
|
||||||
|
|
||||||
// 添加需要扣除的积分到预扣除区
|
|
||||||
creditsService.addRecordToCreditsDeduction(userHolder.getId(), taskId, CreditsEventsEnum.RELIGHT, cloudTaskDTO.getNums());
|
|
||||||
i ++;
|
i ++;
|
||||||
}
|
}
|
||||||
// 走模型
|
// 走模型
|
||||||
pythonService.relightBatch(batchTaskId, paramList, userHolder.getId().toString());
|
pythonService.relightBatch(batchTaskId, paramList, userHolder.getId().toString());
|
||||||
|
// 添加需要扣除的积分到预扣除区
|
||||||
|
creditsService.addRecordToCreditsDeduction(userHolder.getId(), batchTaskId, CreditsEventsEnum.RELIGHT, cloudTaskDTO.getNums());
|
||||||
|
// 预插入数据到积分变更表
|
||||||
|
creditsService.preInsert(userHolder.getId(), CreditsEventsEnum.RELIGHT.getValue(), batchTaskId, true, null,cloudTaskDTO.getNums() );
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
return batchTaskId;
|
return batchTaskId;
|
||||||
@@ -2339,7 +2347,7 @@ public class DesignServiceImpl extends ServiceImpl<DesignMapper, Design> impleme
|
|||||||
// 6、添加预扣除积分到redis
|
// 6、添加预扣除积分到redis
|
||||||
creditsService.addRecordToCreditsDeduction(accountId, uuid, creditsEventsEnum, cloudTaskDTO.getNums());
|
creditsService.addRecordToCreditsDeduction(accountId, uuid, creditsEventsEnum, cloudTaskDTO.getNums());
|
||||||
// 6.1 添加积分扣除记录到db
|
// 6.1 添加积分扣除记录到db
|
||||||
creditsService.preInsert(accountId, creditsEventsEnum.getName(), uuid, Boolean.TRUE, null);
|
creditsService.preInsert(accountId, creditsEventsEnum.getName(), uuid, Boolean.TRUE, null, cloudTaskDTO.getNums());
|
||||||
}else {
|
}else {
|
||||||
throw new BusinessException("pose transformation error", ResultEnum.ERROR.getCode());
|
throw new BusinessException("pose transformation error", ResultEnum.ERROR.getCode());
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -2797,10 +2797,7 @@ public class UserLikeGroupServiceImpl extends ServiceImpl<UserLikeGroupMapper, U
|
|||||||
// 4、扣除积分
|
// 4、扣除积分
|
||||||
Boolean b = creditsService.taskCreditsDeduction(accountId, taskId);
|
Boolean b = creditsService.taskCreditsDeduction(accountId, taskId);
|
||||||
// 3、记录积分变更
|
// 3、记录积分变更
|
||||||
if (b) creditsService.insertToCreditsDetail(accountId,
|
if (b) creditsService.updateChangedCredits(String.valueOf(accountId), taskId);
|
||||||
CreditsEventsEnum.TO_PRODUCT_IMAGE.getName(),
|
|
||||||
CreditsEventsEnum.TO_PRODUCT_IMAGE.getValue(),
|
|
||||||
"negative", null);
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -2849,10 +2846,7 @@ public class UserLikeGroupServiceImpl extends ServiceImpl<UserLikeGroupMapper, U
|
|||||||
// 4、扣除积分
|
// 4、扣除积分
|
||||||
Boolean b = creditsService.taskCreditsDeduction(accountId, taskId);
|
Boolean b = creditsService.taskCreditsDeduction(accountId, taskId);
|
||||||
// 3、记录积分变更
|
// 3、记录积分变更
|
||||||
if (b) creditsService.insertToCreditsDetail(accountId,
|
if (b) creditsService.updateChangedCredits(String.valueOf(accountId), taskId);
|
||||||
CreditsEventsEnum.RELIGHT.getName(),
|
|
||||||
CreditsEventsEnum.RELIGHT.getValue(),
|
|
||||||
"negative", null);
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user