BUGFIX: 无法二创

This commit is contained in:
2025-09-01 23:13:54 +08:00
parent 179b79812a
commit feca192f53
2 changed files with 89 additions and 22 deletions

View File

@@ -1039,18 +1039,22 @@ public class AccountServiceImpl extends ServiceImpl<AccountMapper, Account> impl
List<Account> accountList = accountMapper.selectList(queryWrapper); List<Account> accountList = accountMapper.selectList(queryWrapper);
System.out.println(accountList); System.out.println(accountList);
int i = 0; int i = 0;
int size = accountList.size();
for (Account account : accountList) { for (Account account : accountList) {
i ++;
try { try {
if (account.getLanguage().equals(Language.CHINESE_SIMPLIFIED.name())) { if (account.getLanguage().equals(Language.CHINESE_SIMPLIFIED.name())) {
log.info("进度:{} / {} CN - {}", i, size, account.getUserEmail());
SendEmailUtil.sendUpgradeNotification(account, null, 0); SendEmailUtil.sendUpgradeNotification(account, null, 0);
} else { } else {
log.info("进度:{} / {} EN - {}", i, size, account.getUserEmail());
// 英文 // 英文
SendEmailUtil.sendUpgradeNotification(account, null, 1); SendEmailUtil.sendUpgradeNotification(account, null, 1);
} }
}catch (Exception e) { }catch (Exception e) {
log.info(e.getMessage()); log.error("向 {} 发送邮件失败", account.getUserEmail());
log.error(e.getMessage());
} }
i ++;
} }
} }

View File

@@ -13,6 +13,8 @@ import com.ai.da.mapper.primary.*;
import com.ai.da.mapper.primary.entity.*; import com.ai.da.mapper.primary.entity.*;
import com.ai.da.mapper.primary.entity.Collection; import com.ai.da.mapper.primary.entity.Collection;
import com.ai.da.model.dto.*; import com.ai.da.model.dto.*;
import com.ai.da.model.enums.Position;
import com.ai.da.model.enums.Sex;
import com.ai.da.model.vo.*; import com.ai.da.model.vo.*;
import com.ai.da.service.*; import com.ai.da.service.*;
import com.alibaba.fastjson.JSONObject; import com.alibaba.fastjson.JSONObject;
@@ -31,6 +33,7 @@ import org.springframework.util.StringUtils;
import org.springframework.web.multipart.MultipartFile; import org.springframework.web.multipart.MultipartFile;
import javax.annotation.Resource; import javax.annotation.Resource;
import java.math.BigDecimal;
import java.time.LocalDateTime; import java.time.LocalDateTime;
import java.util.*; import java.util.*;
import java.util.stream.Collectors; import java.util.stream.Collectors;
@@ -611,6 +614,7 @@ public class PortfolioServiceImpl extends ServiceImpl<PortfolioMapper, Portfolio
@Transactional(rollbackFor = Exception.class) @Transactional(rollbackFor = Exception.class)
public ProjectChooseVO choose(PortfolioDTO portfolioDTO) { public ProjectChooseVO choose(PortfolioDTO portfolioDTO) {
AuthPrincipalVo authPrincipalVo = UserContext.getUserHolder(); AuthPrincipalVo authPrincipalVo = UserContext.getUserHolder();
Long accountId = authPrincipalVo.getId();
Portfolio portfolio = portfolioMapper.selectById(portfolioDTO.getId()); Portfolio portfolio = portfolioMapper.selectById(portfolioDTO.getId());
String snapshot = portfolio.getSnapshot(); String snapshot = portfolio.getSnapshot();
@@ -624,11 +628,12 @@ public class PortfolioServiceImpl extends ServiceImpl<PortfolioMapper, Portfolio
project.setCreateTime(LocalDateTime.now()); project.setCreateTime(LocalDateTime.now());
project.setId(null); project.setId(null);
project.setAccountId(authPrincipalVo.getId()); project.setAccountId(accountId);
project.setUpdateTime(LocalDateTime.now());
project.setName(project.getName() + "_copy"); project.setName(project.getName() + "_copy");
if (portfolio.getOriginal() == 1) { if (portfolio.getOriginal() == 1) {
if (Objects.equals(portfolio.getAccountId(), authPrincipalVo.getId())) { if (Objects.equals(portfolio.getAccountId(), accountId)) {
project.setOriginal(1); project.setOriginal(1);
} else { } else {
project.setOriginal(0); project.setOriginal(0);
@@ -645,10 +650,68 @@ public class PortfolioServiceImpl extends ServiceImpl<PortfolioMapper, Portfolio
Long projectIdNew = project.getId(); Long projectIdNew = project.getId();
Workspace workspaceCopy = projectSnapshot.getWorkspace();
workspaceCopy.setAccountId(accountId);
workspaceCopy.setProjectId(projectIdNew);
workspaceCopy.setId(null);
workspaceMapper.insert(workspaceCopy);
Workspace workspace = workspaceService.getCurrentWorkspace();
List<CollectionElement> collectionElementListOld = projectSnapshot.getCollectionElementList(); List<CollectionElement> collectionElementListOld = projectSnapshot.getCollectionElementList();
Long collectionIdNew;
if (collectionElementListOld.isEmpty()){
throw new BusinessException("No elements in collection.");
} else {
Long collectionIdOld = collectionElementListOld.get(0).getCollectionId();
Collection collection = collectionMapper.selectById(collectionIdOld);
if (Objects.nonNull(collection) && Objects.nonNull(collection.getMoodTemplateId())){
CollectionElement moodTemplateElement = collectionElementMapper.selectById(collection.getMoodTemplateId());
if (Objects.nonNull(moodTemplateElement)){
moodTemplateElement.setId(null);
moodTemplateElement.setAccountId(accountId);
moodTemplateElement.setProjectId(projectIdNew);
moodTemplateElement.setCreateDate(new Date());
collectionElementMapper.insert(moodTemplateElement);
collection.setMoodTemplateId(String.valueOf(moodTemplateElement.getId()));
}
}
collection.setId(null);
collection.setAccountId(accountId);
collection.setCreateDate(new Date());
collectionMapper.insert(collection);
collectionIdNew = collection.getId();
}
Design design = new Design();
design.setCollectionId(collectionIdNew);
design.setAccountId(authPrincipalVo.getId());
if (workspace.getSex().equals(Sex.FEMALE.getValue())) {
design.setTemplateId(workspace.getMannequinFemaleId());
design.setModelType(workspace.getMannequinFemaleType());
} else {
design.setTemplateId(workspace.getMannequinMaleId());
design.setModelType(workspace.getMannequinMaleType());
}
design.setSystemScale(BigDecimal.valueOf(workspace.getSystemDesignerPercentage()));
if (workspace.getPosition().equals(Position.OVERALL.getValue())) {
design.setSingleOverall("overall");
design.setSwitchCategory("");
} else {
design.setSingleOverall("single");
design.setSwitchCategory(workspace.getPosition());
}
design.setCreateDate(new Date());
designMapper.insert(design);
for (CollectionElement element : collectionElementListOld) { for (CollectionElement element : collectionElementListOld) {
element.setCollectionId(collectionIdNew);
element.setProjectId(projectIdNew); element.setProjectId(projectIdNew);
element.setId(null); element.setId(null);
element.setCreateDate(new Date());
element.setUpdateDate(null);
collectionElementMapper.insert(element); collectionElementMapper.insert(element);
} }
@@ -657,10 +720,11 @@ public class PortfolioServiceImpl extends ServiceImpl<PortfolioMapper, Portfolio
UserLikeGroup userLikeGroupNew = projectSnapshot.getUserLikeGroup(); UserLikeGroup userLikeGroupNew = projectSnapshot.getUserLikeGroup();
userLikeGroupNew.setId(null); userLikeGroupNew.setId(null);
userLikeGroupNew.setCollectionId(collectionIdNew);
userLikeGroupNew.setCreateDate(new Date()); userLikeGroupNew.setCreateDate(new Date());
userLikeGroupNew.setProjectId(projectIdNew); userLikeGroupNew.setProjectId(projectIdNew);
if (portfolio.getOriginal() == 1) { if (portfolio.getOriginal() == 1) {
if (Objects.equals(portfolio.getAccountId(), authPrincipalVo.getId())) { if (Objects.equals(portfolio.getAccountId(), accountId)) {
userLikeGroupNew.setOriginal(1); userLikeGroupNew.setOriginal(1);
} else { } else {
userLikeGroupNew.setOriginal(0); userLikeGroupNew.setOriginal(0);
@@ -672,9 +736,7 @@ public class PortfolioServiceImpl extends ServiceImpl<PortfolioMapper, Portfolio
userLikeGroupNew.setOriginalAccountId(portfolio.getOriginalAccountId()); userLikeGroupNew.setOriginalAccountId(portfolio.getOriginalAccountId());
userLikeGroupNew.setOriginalPortfolioId(portfolio.getId()); userLikeGroupNew.setOriginalPortfolioId(portfolio.getId());
} }
userLikeGroupNew.setAccountId(authPrincipalVo.getId()); userLikeGroupNew.setAccountId(accountId);
userLikeGroupNew.setCollectionId(null);
userLikeGroupNew.setUpdateDate(new Date()); userLikeGroupNew.setUpdateDate(new Date());
userLikeGroupMapper.insert(userLikeGroupNew); userLikeGroupMapper.insert(userLikeGroupNew);
@@ -683,9 +745,9 @@ public class PortfolioServiceImpl extends ServiceImpl<PortfolioMapper, Portfolio
for (UserLikeSnapshot userLike : userLikeList) { for (UserLikeSnapshot userLike : userLikeList) {
Long designOutfitIdOld = userLike.getDesignOutfitId(); Long designOutfitIdOld = userLike.getDesignOutfitId();
TDesignPythonOutfit designPythonOutfit = userLike.getDesignPythonOutfit(); TDesignPythonOutfit designPythonOutfit = userLike.getDesignPythonOutfit();
designPythonOutfit.setDesignId(null); designPythonOutfit.setDesignId(design.getId());
designPythonOutfit.setDesignItemId(-1L); designPythonOutfit.setDesignItemId(-1L);
designPythonOutfit.setCollectionId(null); designPythonOutfit.setCollectionId(collectionIdNew);
designPythonOutfit.setCreateDate(LocalDateTime.now()); designPythonOutfit.setCreateDate(LocalDateTime.now());
designPythonOutfit.setId(null); designPythonOutfit.setId(null);
@@ -700,7 +762,8 @@ public class PortfolioServiceImpl extends ServiceImpl<PortfolioMapper, Portfolio
if (CollectionUtil.isNotEmpty(tDesignPythonOutfitDetails)){ if (CollectionUtil.isNotEmpty(tDesignPythonOutfitDetails)){
for (TDesignPythonOutfitDetail tDesignPythonOutfitDetail : tDesignPythonOutfitDetails) { for (TDesignPythonOutfitDetail tDesignPythonOutfitDetail : tDesignPythonOutfitDetails) {
tDesignPythonOutfitDetail.setId(null); tDesignPythonOutfitDetail.setId(null);
tDesignPythonOutfitDetail.setDesignId(null); tDesignPythonOutfitDetail.setUserId(accountId);
tDesignPythonOutfitDetail.setDesignId(design.getId());
tDesignPythonOutfitDetail.setDesignPythonOutfitId(designOutfitIdNew); tDesignPythonOutfitDetail.setDesignPythonOutfitId(designOutfitIdNew);
tDesignPythonOutfitDetail.setCreateDate(LocalDateTime.now()); tDesignPythonOutfitDetail.setCreateDate(LocalDateTime.now());
designPythonOutfitDetailMapper.insert(tDesignPythonOutfitDetail); designPythonOutfitDetailMapper.insert(tDesignPythonOutfitDetail);
@@ -709,9 +772,10 @@ public class PortfolioServiceImpl extends ServiceImpl<PortfolioMapper, Portfolio
DesignItem designItemOld = userLike.getDesignItem(); DesignItem designItemOld = userLike.getDesignItem();
designItemOld.setId(null); designItemOld.setId(null);
designItemOld.setAccountId(authPrincipalVo.getId()); designItemOld.setAccountId(accountId);
designItemOld.setDesignId(null); designItemOld.setDesignId(design.getId());
designItemOld.setCollectionId(null); designItemOld.setCollectionId(collectionIdNew);
designItemOld.setCreateDate(new Date());
designItemMapper.insert(designItemOld); designItemMapper.insert(designItemOld);
Long designItemIdNew = designItemOld.getId(); Long designItemIdNew = designItemOld.getId();
@@ -720,8 +784,9 @@ public class PortfolioServiceImpl extends ServiceImpl<PortfolioMapper, Portfolio
userLike.setDesignItemId(designItemIdNew); userLike.setDesignItemId(designItemIdNew);
userLike.setId(null); userLike.setId(null);
userLike.setDesignId(null); userLike.setDesignId(design.getId());
userLike.setUserLikeGroupId(userLikeGroupNew.getId()); userLike.setUserLikeGroupId(userLikeGroupNew.getId());
userLike.setCreateDate(new Date());
userLikeMapper.insert(userLike); userLikeMapper.insert(userLike);
// 加入collection_sort表 // 加入collection_sort表
@@ -731,9 +796,10 @@ public class PortfolioServiceImpl extends ServiceImpl<PortfolioMapper, Portfolio
if (CollectionUtil.isNotEmpty(designItemDetailList)) { if (CollectionUtil.isNotEmpty(designItemDetailList)) {
for (DesignItemDetailSnapshot designItemDetailOld : designItemDetailList) { for (DesignItemDetailSnapshot designItemDetailOld : designItemDetailList) {
designItemDetailOld.setId(null); designItemDetailOld.setId(null);
designItemDetailOld.setAccountId(authPrincipalVo.getId()); designItemDetailOld.setAccountId(accountId);
designItemDetailOld.setDesignId(null); designItemDetailOld.setDesignId(design.getId());
designItemDetailOld.setDesignItemId(designItemIdNew); designItemDetailOld.setDesignItemId(designItemIdNew);
designItemDetailOld.setCreateDate(new Date());
designItemDetailMapper.insert(designItemDetailOld); designItemDetailMapper.insert(designItemDetailOld);
Long designItemDetailIdNew = designItemDetailOld.getId(); Long designItemDetailIdNew = designItemDetailOld.getId();
@@ -742,6 +808,7 @@ public class PortfolioServiceImpl extends ServiceImpl<PortfolioMapper, Portfolio
for (DesignItemDetailPrint designItemDetailPrint : designItemDetailPrintList) { for (DesignItemDetailPrint designItemDetailPrint : designItemDetailPrintList) {
designItemDetailPrint.setId(null); designItemDetailPrint.setId(null);
designItemDetailPrint.setDesignItemDetailId(designItemDetailIdNew); designItemDetailPrint.setDesignItemDetailId(designItemDetailIdNew);
designItemDetailPrint.setCreateDate(LocalDateTime.now());
designItemDetailPrintMapper.insert(designItemDetailPrint); designItemDetailPrintMapper.insert(designItemDetailPrint);
} }
} }
@@ -750,11 +817,7 @@ public class PortfolioServiceImpl extends ServiceImpl<PortfolioMapper, Portfolio
} }
} }
} }
Workspace workspaceCopy = projectSnapshot.getWorkspace();
workspaceCopy.setAccountId(authPrincipalVo.getId());
workspaceCopy.setProjectId(projectIdNew);
workspaceCopy.setId(null);
workspaceMapper.insert(workspaceCopy);
ProjectDTO projectDTO = new ProjectDTO(); ProjectDTO projectDTO = new ProjectDTO();
projectDTO.setId(project.getId()); projectDTO.setId(project.getId());