From 9bae02406c92214e34f524e9ea748f2edb9ede57 Mon Sep 17 00:00:00 2001 From: shahaibo <1023316923@qq.com> Date: Mon, 19 Feb 2024 11:03:28 +0800 Subject: [PATCH 1/7] =?UTF-8?q?TASK:dev=E5=88=86=E6=94=AF=E8=B0=83?= =?UTF-8?q?=E7=94=A8python=E7=AB=AF=E7=AB=AF=E5=8F=A3=E4=BF=AE=E6=94=B9;?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/main/resources/application-dev.properties | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/main/resources/application-dev.properties b/src/main/resources/application-dev.properties index d940a1a3..1687258d 100644 --- a/src/main/resources/application-dev.properties +++ b/src/main/resources/application-dev.properties @@ -43,7 +43,7 @@ spring.servlet.multipart.max-request-size= 10MB #access.python.ip=http://43.198.80.117 access.python.ip=http://18.167.251.121 #access.python.ip=http://18.167.251.121:9991/ -access.python.port=9990 +access.python.port=9992 minio.endpoint=https://www.minio.aida.com.hk:9000 minio.accessKey=admin From ebb6577e98a53ff393a1189f736994aad65eed48 Mon Sep 17 00:00:00 2001 From: shahaibo <1023316923@qq.com> Date: Fri, 17 May 2024 10:19:34 +0800 Subject: [PATCH 2/7] TASK:portfolio; --- .../com/ai/da/common/utils/SendEmailUtil.java | 12 +- .../ai/da/controller/PortfolioController.java | 59 +++ .../ai/da/mapper/primary/PortfolioMapper.java | 7 + .../da/mapper/primary/entity/Portfolio.java | 55 ++ .../com/ai/da/model/dto/PortfolioDTO.java | 10 + .../da/model/dto/QueryPortfolioPageDTO.java | 14 + .../java/com/ai/da/model/vo/PortfolioVO.java | 16 + .../com/ai/da/service/PortfolioService.java | 21 + .../com/ai/da/service/UserLikeService.java | 2 + .../com/ai/da/service/WorkspaceService.java | 2 + .../da/service/impl/AccountServiceImpl.java | 13 +- .../impl/CollectionElementServiceImpl.java | 22 +- .../da/service/impl/PortfolioServiceImpl.java | 474 ++++++++++++++++++ .../impl/UserLikeGroupServiceImpl.java | 9 - .../da/service/impl/UserLikeServiceImpl.java | 7 + .../da/service/impl/WorkspaceServiceImpl.java | 15 + 16 files changed, 715 insertions(+), 23 deletions(-) create mode 100644 src/main/java/com/ai/da/controller/PortfolioController.java create mode 100644 src/main/java/com/ai/da/mapper/primary/PortfolioMapper.java create mode 100644 src/main/java/com/ai/da/mapper/primary/entity/Portfolio.java create mode 100644 src/main/java/com/ai/da/model/dto/PortfolioDTO.java create mode 100644 src/main/java/com/ai/da/model/dto/QueryPortfolioPageDTO.java create mode 100644 src/main/java/com/ai/da/model/vo/PortfolioVO.java create mode 100644 src/main/java/com/ai/da/service/PortfolioService.java create mode 100644 src/main/java/com/ai/da/service/impl/PortfolioServiceImpl.java diff --git a/src/main/java/com/ai/da/common/utils/SendEmailUtil.java b/src/main/java/com/ai/da/common/utils/SendEmailUtil.java index 7b5462dd..15f2e95b 100644 --- a/src/main/java/com/ai/da/common/utils/SendEmailUtil.java +++ b/src/main/java/com/ai/da/common/utils/SendEmailUtil.java @@ -355,7 +355,8 @@ public class SendEmailUtil { } private final static Long UPGRADE_NOTIFICATION_ID = 118855L; - public static void sendUpgradeNotification(Account account, String senderAddress) { + private final static Long UPGRADE_NOTIFICATION_ID_CHINESE = 122898L; + public static void sendUpgradeNotification(Account account, String senderAddress, Integer type) { try { // 实例化一个认证对象 Credential cred = new Credential(SECRET_ID, SECRET_KEy); @@ -374,8 +375,13 @@ public class SendEmailUtil { // 根据邮件类型设置不同的主题和模板 String subject = ""; Template template = new Template(); - subject = "Upcoming AiDA 3.0 Launch and Scheduled Maintenance"; - template.setTemplateID(UPGRADE_NOTIFICATION_ID); + if (type == 1) { + subject = "Upcoming System Upgrade for AiDA 3.0"; + template.setTemplateID(UPGRADE_NOTIFICATION_ID); + }else { + subject = "即将到来的AiDA 3.0系统升级"; + template.setTemplateID(UPGRADE_NOTIFICATION_ID_CHINESE); + } template.setTemplateData(buildAccountData(account)); req.setSubject(subject); diff --git a/src/main/java/com/ai/da/controller/PortfolioController.java b/src/main/java/com/ai/da/controller/PortfolioController.java new file mode 100644 index 00000000..32337e46 --- /dev/null +++ b/src/main/java/com/ai/da/controller/PortfolioController.java @@ -0,0 +1,59 @@ +package com.ai.da.controller; + +import com.ai.da.common.response.PageBaseResponse; +import com.ai.da.common.response.Response; +import com.ai.da.model.dto.PortfolioDTO; +import com.ai.da.model.dto.QueryPortfolioPageDTO; +import com.ai.da.model.vo.PortfolioVO; +import com.ai.da.model.vo.UserLikeChooseVO; +import com.ai.da.service.PortfolioService; +import io.swagger.annotations.Api; +import io.swagger.annotations.ApiOperation; +import lombok.extern.slf4j.Slf4j; +import org.springframework.web.bind.annotation.PostMapping; +import org.springframework.web.bind.annotation.RequestBody; +import org.springframework.web.bind.annotation.RequestMapping; +import org.springframework.web.bind.annotation.RestController; + +import javax.annotation.Resource; +import javax.validation.Valid; + +@Api(tags = "Portfolio模块") +@Slf4j +@RestController +@RequestMapping("/api/portfolio") +public class PortfolioController { + + @Resource + private PortfolioService portfolioService; + + @ApiOperation(value = "发布作品集") + @PostMapping("/publish") + public Response preLogin(@Valid @RequestBody PortfolioDTO portfolioDTO) { + return Response.success(portfolioService.publish(portfolioDTO)); + } + + @ApiOperation(value = "作品集page") + @PostMapping("/page") + public Response> page(@Valid @RequestBody QueryPortfolioPageDTO query) { + return Response.success(portfolioService.page(query)); + } + + @ApiOperation(value = "作品详情") + @PostMapping("/detail") + public Response detail(@Valid @RequestBody PortfolioDTO portfolioDTO) { + return Response.success(portfolioService.detail(portfolioDTO)); + } + + @ApiOperation(value = "选择作品") + @PostMapping("/choose") + public Response choose(@Valid @RequestBody PortfolioDTO portfolioDTO) { + return Response.success(portfolioService.choose(portfolioDTO)); + } + + @ApiOperation(value = "更新作品") + @PostMapping("/update") + public Response update(@Valid @RequestBody PortfolioDTO portfolioDTO) { + return Response.success(portfolioService.update(portfolioDTO)); + } +} diff --git a/src/main/java/com/ai/da/mapper/primary/PortfolioMapper.java b/src/main/java/com/ai/da/mapper/primary/PortfolioMapper.java new file mode 100644 index 00000000..54ef023b --- /dev/null +++ b/src/main/java/com/ai/da/mapper/primary/PortfolioMapper.java @@ -0,0 +1,7 @@ +package com.ai.da.mapper.primary; + +import com.ai.da.common.config.mybatis.plus.CommonMapper; +import com.ai.da.mapper.primary.entity.Portfolio; + +public interface PortfolioMapper extends CommonMapper { +} diff --git a/src/main/java/com/ai/da/mapper/primary/entity/Portfolio.java b/src/main/java/com/ai/da/mapper/primary/entity/Portfolio.java new file mode 100644 index 00000000..3c1831ca --- /dev/null +++ b/src/main/java/com/ai/da/mapper/primary/entity/Portfolio.java @@ -0,0 +1,55 @@ +package com.ai.da.mapper.primary.entity; + +import com.baomidou.mybatisplus.annotation.IdType; +import com.baomidou.mybatisplus.annotation.TableId; +import com.baomidou.mybatisplus.annotation.TableName; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +import java.io.Serializable; +import java.time.LocalDateTime; +@Data +@ApiModel(value = "Portfolio对象", description = "作品集") +@TableName("portfolio") +public class Portfolio implements Serializable { + + private static final long serialVersionUID = 1L; + + @ApiModelProperty(value = "ID") + @TableId(value = "id", type = IdType.AUTO) + private Long id; + + @ApiModelProperty(value = "collection ID") + private Long collectionId; + + @ApiModelProperty(value = "userLikeGroup源") + private Long userLikeGroupSourceId; + + @ApiModelProperty(value = "作品名称") + private String portfolioName; + + @ApiModelProperty(value = "作品描述") + private String portfolioDes; + + @ApiModelProperty(value = "作品类型") + private String portfolioType; + + @ApiModelProperty(value = "封面ID") + private Long coverId; + + @ApiModelProperty(value = "作品状态1公开0隐藏") + private Integer status; + + @ApiModelProperty(value = "作品集作者ID") + private Long accountId; + + @ApiModelProperty(value = "创建时间") + private LocalDateTime createDate; + + @ApiModelProperty(value = "更新时间") + private LocalDateTime updateDate; + + @ApiModelProperty(value = "是否删除") + private Integer isDeleted; +} diff --git a/src/main/java/com/ai/da/model/dto/PortfolioDTO.java b/src/main/java/com/ai/da/model/dto/PortfolioDTO.java new file mode 100644 index 00000000..90f39bb0 --- /dev/null +++ b/src/main/java/com/ai/da/model/dto/PortfolioDTO.java @@ -0,0 +1,10 @@ +package com.ai.da.model.dto; + +import com.ai.da.mapper.primary.entity.Portfolio; +import lombok.Data; + +@Data +public class PortfolioDTO extends Portfolio { + private Long userLikeGroupId; + +} diff --git a/src/main/java/com/ai/da/model/dto/QueryPortfolioPageDTO.java b/src/main/java/com/ai/da/model/dto/QueryPortfolioPageDTO.java new file mode 100644 index 00000000..8694035b --- /dev/null +++ b/src/main/java/com/ai/da/model/dto/QueryPortfolioPageDTO.java @@ -0,0 +1,14 @@ +package com.ai.da.model.dto; + +import com.ai.da.model.vo.PageQueryBaseVo; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +import java.util.List; + +@Data +@ApiModel("作品集分页查询") +public class QueryPortfolioPageDTO extends PageQueryBaseVo { + +} diff --git a/src/main/java/com/ai/da/model/vo/PortfolioVO.java b/src/main/java/com/ai/da/model/vo/PortfolioVO.java new file mode 100644 index 00000000..b313cc9a --- /dev/null +++ b/src/main/java/com/ai/da/model/vo/PortfolioVO.java @@ -0,0 +1,16 @@ +package com.ai.da.model.vo; + +import com.ai.da.mapper.primary.entity.CollectionElement; +import com.ai.da.mapper.primary.entity.Portfolio; +import com.ai.da.mapper.primary.entity.TDesignPythonOutfit; +import lombok.Data; + +import java.util.List; + +@Data +public class PortfolioVO extends Portfolio { + private String designPythonOutfitUrl; + + private List collectionElementList; + private List designPythonOutfitList; +} diff --git a/src/main/java/com/ai/da/service/PortfolioService.java b/src/main/java/com/ai/da/service/PortfolioService.java new file mode 100644 index 00000000..683f8c09 --- /dev/null +++ b/src/main/java/com/ai/da/service/PortfolioService.java @@ -0,0 +1,21 @@ +package com.ai.da.service; + +import com.ai.da.common.response.PageBaseResponse; +import com.ai.da.mapper.primary.entity.Portfolio; +import com.ai.da.model.dto.PortfolioDTO; +import com.ai.da.model.dto.QueryPortfolioPageDTO; +import com.ai.da.model.vo.PortfolioVO; +import com.ai.da.model.vo.UserLikeChooseVO; +import com.baomidou.mybatisplus.extension.service.IService; + +public interface PortfolioService extends IService { + Boolean publish(PortfolioDTO portfolioDTO); + + PortfolioVO update(PortfolioDTO portfolioDTO); + + PageBaseResponse page(QueryPortfolioPageDTO query); + + PortfolioVO detail(PortfolioDTO portfolioDTO); + + UserLikeChooseVO choose(PortfolioDTO portfolioDTO); +} diff --git a/src/main/java/com/ai/da/service/UserLikeService.java b/src/main/java/com/ai/da/service/UserLikeService.java index 510d1e0c..b04d64da 100644 --- a/src/main/java/com/ai/da/service/UserLikeService.java +++ b/src/main/java/com/ai/da/service/UserLikeService.java @@ -23,4 +23,6 @@ public interface UserLikeService extends IService { UserLike getByDesignItemId(Long designItemId); void updateDate(Long designItemId,String timeZone); + + List getUserLikeList(Long id); } diff --git a/src/main/java/com/ai/da/service/WorkspaceService.java b/src/main/java/com/ai/da/service/WorkspaceService.java index 17a66f29..87b5675c 100644 --- a/src/main/java/com/ai/da/service/WorkspaceService.java +++ b/src/main/java/com/ai/da/service/WorkspaceService.java @@ -46,4 +46,6 @@ public interface WorkspaceService extends IService { void maleDataInsert() throws FileNotFoundException; List delete(List workspaceList); + + Workspace getCurrentWorkspace(); } diff --git a/src/main/java/com/ai/da/service/impl/AccountServiceImpl.java b/src/main/java/com/ai/da/service/impl/AccountServiceImpl.java index 77f44f4f..a5932fae 100644 --- a/src/main/java/com/ai/da/service/impl/AccountServiceImpl.java +++ b/src/main/java/com/ai/da/service/impl/AccountServiceImpl.java @@ -184,6 +184,7 @@ public class AccountServiceImpl extends ServiceImpl impl } private void validateUserValidaExpire(Account account) { + Long currentTime = new Date().getTime(); if (Objects.nonNull(account.getValidStartTime())) { if (currentTime < account.getValidStartTime()) { @@ -884,15 +885,23 @@ public class AccountServiceImpl extends ServiceImpl impl @Override public void upgradeNotification() { QueryWrapper queryWrapper = new QueryWrapper<>(); +// queryWrapper.eq("id", 88L); queryWrapper.and(wrapper -> - wrapper.gt("valid_end_time", 1709515797000L) + wrapper.gt("valid_end_time", 1715817600000L) .or().isNull("valid_end_time")) .isNotNull("user_email"); List accountList = accountMapper.selectList(queryWrapper); System.out.println(accountList); for (Account account : accountList) { - SendEmailUtil.sendUpgradeNotification(account, null); +// SendEmailUtil.sendUpgradeNotification(account, null, 0); +// SendEmailUtil.sendUpgradeNotification(account, null, 1); + if (account.getLanguage().equals(Language.CHINESE_SIMPLIFIED.name())) { + SendEmailUtil.sendUpgradeNotification(account, null, 0); + }else { + // 英文 + SendEmailUtil.sendUpgradeNotification(account, null, 1); + } } } diff --git a/src/main/java/com/ai/da/service/impl/CollectionElementServiceImpl.java b/src/main/java/com/ai/da/service/impl/CollectionElementServiceImpl.java index 0a6bfb8c..72b46e5b 100644 --- a/src/main/java/com/ai/da/service/impl/CollectionElementServiceImpl.java +++ b/src/main/java/com/ai/da/service/impl/CollectionElementServiceImpl.java @@ -353,14 +353,16 @@ public class CollectionElementServiceImpl extends ServiceImpl colorBoards = elementVO.getColorBoards(); for (CollectionColorDTO colorBoard : colorBoards) { - String colorImg = colorBoard.getGradient().getColorImg(); - String[] parts = colorImg.split(","); - String imageType = parts[0].split("/")[1].split(";")[0]; - String base64Data = parts[1]; - String gradientMinioUrl = minioUtil.uploadImageFromBase64(gradientBucketName, base64Data, imageType); - colorBoard.setGradientMinioUrl(gradientMinioUrl); - colorBoard.getGradient().setColorImg(null); - colorBoard.setGradientString(JSON.toJSONString(colorBoard.getGradient())); + if (Objects.nonNull(colorBoard.getGradient())) { + String colorImg = colorBoard.getGradient().getColorImg(); + String[] parts = colorImg.split(","); + String imageType = parts[0].split("/")[1].split(";")[0]; + String base64Data = parts[1]; + String gradientMinioUrl = minioUtil.uploadImageFromBase64(gradientBucketName, base64Data, imageType); + colorBoard.setGradientMinioUrl(gradientMinioUrl); + colorBoard.getGradient().setColorImg(null); + colorBoard.setGradientString(JSON.toJSONString(colorBoard.getGradient())); + } } elementVO.setColorBoards(colorBoards); List usedElementIds = elementVO.getUsedElementIds(); @@ -781,7 +783,9 @@ public class CollectionElementServiceImpl extends ServiceImpl implements PortfolioService { + + @Resource + private UserLikeGroupMapper userLikeGroupMapper; + + @Resource + private CollectionMapper collectionMapper; + + @Resource + private CollectionElementService collectionElementService; + + @Resource + private CollectionElementMapper collectionElementMapper; + @Resource + private TCollectionElementRelationMapper collectionElementRelationMapper; + + @Resource + private PortfolioMapper portfolioMapper; + + @Resource + private UserLikeService userLikeService; + + @Resource + private UserLikeMapper userLikeMapper; + + @Resource + private TDesignPythonOutfitMapper designPythonOutfitMapper; + + @Resource + private TDesignPythonOutfitDetailMapper designPythonOutfitDetailMapper; + + @Resource + private DesignItemMapper designItemMapper; + + @Resource + private DesignItemDetailMapper designItemDetailMapper; + + @Resource + private DesignItemDetailPrintMapper designItemDetailPrintMapper; + + + @Resource + private MinioUtil minioUtil; + + @Resource + private WorkspaceService workspaceService; + + @Resource + private DesignMapper designMapper; + + @Resource + private UserLikeGroupService userLikeGroupService; + + @Override + public Boolean publish(PortfolioDTO portfolioDTO) { + if (portfolioDTO.getPortfolioType().equals("History")) { + AuthPrincipalVo authPrincipalVo = UserContext.getUserHolder(); + UserLikeGroup userLikeGroup = userLikeGroupMapper.selectById(portfolioDTO.getUserLikeGroupId()); + UserLikeGroup userLikeGroupNew = userLikeGroup.setId(null); + userLikeGroupNew.setAccountId(-1L); + Long collectionIdOld = userLikeGroup.getCollectionId(); + Collection collectionOld = collectionMapper.selectById(collectionIdOld); + List collectionElementListOld = collectionElementService.getByCollectionId(collectionIdOld); + collectionOld.setId(null); + collectionMapper.insert(collectionOld); + Long collectionIdNew = collectionOld.getId(); + userLikeGroupNew.setCollectionId(collectionIdNew); + userLikeGroupMapper.insert(userLikeGroupNew); +// List collectionElementRelationListNew = new ArrayList<>(); + for (CollectionElement element : collectionElementListOld) { + element.setCollectionId(collectionIdNew); + element.setId(null); + collectionElementMapper.insert(element); + TCollectionElementRelation collectionElementRelationNew = new TCollectionElementRelation(); + collectionElementRelationNew.setCollectionId(collectionIdNew); + collectionElementRelationNew.setElementId(element.getId()); + collectionElementRelationNew.setCreateDate(new Date()); + collectionElementRelationMapper.insert(collectionElementRelationNew); + } + Portfolio portfolio = new Portfolio(); + Long coverIdOld = portfolioDTO.getCoverId(); + portfolio.setPortfolioName(portfolioDTO.getPortfolioName()); + portfolio.setPortfolioType("History"); + portfolio.setCollectionId(collectionIdNew); + portfolio.setAccountId(authPrincipalVo.getId()); + portfolio.setCreateDate(LocalDateTime.now()); + portfolio.setUpdateDate(LocalDateTime.now()); + portfolio.setStatus(1); + portfolio.setIsDeleted(0); + portfolio.setUserLikeGroupSourceId(portfolioDTO.getUserLikeGroupId()); + portfolioMapper.insert(portfolio); + + List userLikeList = userLikeService.getUserLikeList(portfolioDTO.getUserLikeGroupId()); +// List designPythonOutfitIdList = userLikeList.stream().map(UserLike::getDesignOutfitId).collect(Collectors.toList()); +// +// QueryWrapper qw = new QueryWrapper<>(); +// qw.lambda().in(TDesignPythonOutfit::getId, designPythonOutfitIdList); +// List designPythonOutfits = designPythonOutfitMapper.selectList(qw); + Long coverIdNew = null; + Boolean flag = false; + for (UserLike userLike : userLikeList) { + Long designOutfitIdOld = userLike.getDesignOutfitId(); + TDesignPythonOutfit designPythonOutfit = designPythonOutfitMapper.selectById(designOutfitIdOld); + designPythonOutfit.setDesignId(-1L); + designPythonOutfit.setDesignItemId(-1L); + designPythonOutfit.setCollectionId(collectionIdNew); + if (designPythonOutfit.getId().equals(coverIdOld)) { + flag = true; + } + designPythonOutfit.setId(null); + designPythonOutfitMapper.insert(designPythonOutfit); + Long designOutfitIdNew = designPythonOutfit.getId(); + userLike.setDesignOutfitId(designOutfitIdNew); + QueryWrapper qw = new QueryWrapper<>(); + qw.lambda().eq(TDesignPythonOutfitDetail::getDesignPythonOutfitId, designOutfitIdOld); + List tDesignPythonOutfitDetails = designPythonOutfitDetailMapper.selectList(qw); + for (TDesignPythonOutfitDetail tDesignPythonOutfitDetail : tDesignPythonOutfitDetails) { +// Long designPythonOutfitDetailIdOld = tDesignPythonOutfitDetail.getId(); + tDesignPythonOutfitDetail.setId(null); + tDesignPythonOutfitDetail.setDesignId(-1L); + tDesignPythonOutfitDetail.setDesignPythonOutfitId(designOutfitIdNew); + designPythonOutfitDetailMapper.insert(tDesignPythonOutfitDetail); + } + + if (flag) { + coverIdNew = designOutfitIdNew; + portfolio.setCoverId(coverIdNew); + portfolioMapper.updateById(portfolio); + flag = false; + } + + Long designItemIdOld = userLike.getDesignItemId(); + DesignItem designItemOld = designItemMapper.selectById(designItemIdOld); + designItemOld.setId(null); + designItemOld.setAccountId(-1L); + designItemOld.setDesignId(-1L); + designItemOld.setCollectionId(collectionIdNew); + designItemMapper.insert(designItemOld); + Long designItemIdNew = designItemOld.getDesignId(); + + designPythonOutfit.setDesignItemId(designItemIdNew); + designPythonOutfitMapper.updateById(designPythonOutfit); + + userLike.setDesignItemId(designItemIdNew); + userLike.setId(null); + userLike.setDesignId(-1L); + userLike.setUserLikeGroupId(userLikeGroupNew.getId()); + userLikeMapper.insert(userLike); + QueryWrapper designItemDetailQueryWrapper = new QueryWrapper<>(); + designItemDetailQueryWrapper.lambda().eq(DesignItemDetail::getDesignItemId, designItemOld); + List designItemDetailListOld = designItemDetailMapper.selectList(designItemDetailQueryWrapper); + for (DesignItemDetail designItemDetailOld : designItemDetailListOld) { + Long designItemDetailIdOld = designItemDetailOld.getId(); + designItemDetailOld.setAccountId(-1L); + designItemDetailOld.setDesignId(-1L); + designItemDetailOld.setDesignItemId(designItemIdNew); + designItemDetailMapper.insert(designItemDetailOld); + Long designItemDetailIdNew = designItemDetailOld.getId(); + QueryWrapper designItemDetailPrintQueryWrapper = new QueryWrapper<>(); + designItemDetailPrintQueryWrapper.lambda().eq(DesignItemDetailPrint::getDesignItemDetailId, designItemDetailIdOld); + DesignItemDetailPrint designItemDetailPrint = designItemDetailPrintMapper.selectOne(designItemDetailPrintQueryWrapper); + designItemDetailPrint.setDesignItemDetailId(designItemDetailIdNew); + designItemDetailPrintMapper.insert(designItemDetailPrint); + } + } + }else { + + } + + + return Boolean.TRUE; + } + + @Override + public PortfolioVO update(PortfolioDTO portfolioDTO) { + if (portfolioDTO.getPortfolioType().equals("History")) { + AuthPrincipalVo authPrincipalVo = UserContext.getUserHolder(); + UserLikeGroup userLikeGroup = userLikeGroupMapper.selectById(portfolioDTO.getUserLikeGroupId()); + UserLikeGroup userLikeGroupNew = userLikeGroup.setId(null); + userLikeGroupNew.setAccountId(-1L); + Long collectionIdOld = userLikeGroup.getCollectionId(); + Collection collectionOld = collectionMapper.selectById(collectionIdOld); + List collectionElementListOld = collectionElementService.getByCollectionId(collectionIdOld); + collectionOld.setId(null); + collectionMapper.insert(collectionOld); + Long collectionIdNew = collectionOld.getId(); + userLikeGroupNew.setCollectionId(collectionIdNew); + userLikeGroupMapper.insert(userLikeGroupNew); +// List collectionElementRelationListNew = new ArrayList<>(); + for (CollectionElement element : collectionElementListOld) { + element.setCollectionId(collectionIdNew); + element.setId(null); + collectionElementMapper.insert(element); + TCollectionElementRelation collectionElementRelationNew = new TCollectionElementRelation(); + collectionElementRelationNew.setCollectionId(collectionIdNew); + collectionElementRelationNew.setElementId(element.getId()); + collectionElementRelationMapper.insert(collectionElementRelationNew); + } + Portfolio portfolio = getPortfolioByUserGroupIdSource(portfolioDTO.getUserLikeGroupId()); + Long coverIdOld = portfolioDTO.getCoverId(); + portfolio.setPortfolioName(portfolioDTO.getPortfolioName()); +// portfolio.setPortfolioType("History"); + portfolio.setCollectionId(collectionIdNew); + portfolio.setAccountId(authPrincipalVo.getId()); + portfolio.setCreateDate(LocalDateTime.now()); + portfolio.setUpdateDate(LocalDateTime.now()); + portfolio.setStatus(1); + portfolio.setIsDeleted(0); + portfolioMapper.updateById(portfolio); + + List userLikeList = userLikeService.getUserLikeList(portfolioDTO.getUserLikeGroupId()); + + Long coverIdNew = null; + Boolean flag = false; + for (UserLike userLike : userLikeList) { + Long designOutfitIdOld = userLike.getDesignOutfitId(); + TDesignPythonOutfit designPythonOutfit = designPythonOutfitMapper.selectById(designOutfitIdOld); + designPythonOutfit.setDesignId(-1L); + designPythonOutfit.setDesignItemId(-1L); + designPythonOutfit.setCollectionId(collectionIdNew); + if (!flag && designPythonOutfit.getId() == coverIdOld) { + flag = true; + } + designPythonOutfit.setId(null); + designPythonOutfitMapper.insert(designPythonOutfit); + Long designOutfitIdNew = designPythonOutfit.getId(); + userLike.setDesignOutfitId(designOutfitIdNew); + QueryWrapper qw = new QueryWrapper<>(); + qw.lambda().eq(TDesignPythonOutfitDetail::getDesignPythonOutfitId, designOutfitIdOld); + List tDesignPythonOutfitDetails = designPythonOutfitDetailMapper.selectList(qw); + for (TDesignPythonOutfitDetail tDesignPythonOutfitDetail : tDesignPythonOutfitDetails) { +// Long designPythonOutfitDetailIdOld = tDesignPythonOutfitDetail.getId(); + tDesignPythonOutfitDetail.setId(null); + tDesignPythonOutfitDetail.setDesignId(-1L); + tDesignPythonOutfitDetail.setDesignPythonOutfitId(designOutfitIdNew); + designPythonOutfitDetailMapper.insert(tDesignPythonOutfitDetail); + } + + if (flag) { + coverIdNew = designPythonOutfit.getId(); + portfolio.setCoverId(coverIdNew); + portfolioMapper.updateById(portfolio); + } + + Long designItemIdOld = userLike.getDesignItemId(); + DesignItem designItemOld = designItemMapper.selectById(designItemIdOld); + designItemOld.setId(null); + designItemOld.setAccountId(-1L); + designItemOld.setDesignId(-1L); + designItemOld.setCollectionId(collectionIdNew); + designItemMapper.insert(designItemOld); + Long designItemIdNew = designItemOld.getDesignId(); + + designPythonOutfit.setDesignItemId(designItemIdNew); + designPythonOutfitMapper.updateById(designPythonOutfit); + + userLike.setDesignItemId(designItemIdNew); + userLike.setId(null); + userLike.setDesignId(-1L); + userLike.setUserLikeGroupId(userLikeGroupNew.getId()); + userLikeMapper.insert(userLike); + QueryWrapper designItemDetailQueryWrapper = new QueryWrapper<>(); + designItemDetailQueryWrapper.lambda().eq(DesignItemDetail::getDesignItemId, designItemOld); + List designItemDetailListOld = designItemDetailMapper.selectList(designItemDetailQueryWrapper); + for (DesignItemDetail designItemDetailOld : designItemDetailListOld) { + Long designItemDetailIdOld = designItemDetailOld.getId(); + designItemDetailOld.setAccountId(-1L); + designItemDetailOld.setDesignId(-1L); + designItemDetailOld.setDesignItemId(designItemIdNew); + designItemDetailMapper.insert(designItemDetailOld); + Long designItemDetailIdNew = designItemDetailOld.getId(); + QueryWrapper designItemDetailPrintQueryWrapper = new QueryWrapper<>(); + designItemDetailPrintQueryWrapper.lambda().eq(DesignItemDetailPrint::getDesignItemDetailId, designItemDetailIdOld); + DesignItemDetailPrint designItemDetailPrint = designItemDetailPrintMapper.selectOne(designItemDetailPrintQueryWrapper); + designItemDetailPrint.setDesignItemDetailId(designItemDetailIdNew); + designItemDetailPrintMapper.insert(designItemDetailPrint); + } + } + } + + return null; + } + + private Portfolio getPortfolioByUserGroupIdSource(Long userLikeGroupId) { + QueryWrapper qw = new QueryWrapper<>(); + qw.lambda().eq(Portfolio::getUserLikeGroupSourceId, userLikeGroupId); + return portfolioMapper.selectOne(qw); + } + + @Override + public PageBaseResponse page(QueryPortfolioPageDTO query) { + QueryWrapper qw = new QueryWrapper<>(); + qw.lambda().orderByDesc(Portfolio::getUpdateDate); + IPage page = portfolioMapper.selectPage(new Page<>(query.getPage(), query.getSize()),qw); + IPage convert = page.convert((Function) portfolio -> { + if (portfolio != null) { + PortfolioVO vo = CopyUtil.copyObject(portfolio, PortfolioVO.class); + TDesignPythonOutfit designPythonOutfit = designPythonOutfitMapper.selectById(vo.getCoverId()); + vo.setDesignPythonOutfitUrl(minioUtil.getPresignedUrl(designPythonOutfit.getDesignUrl(), 24 * 60)); + return vo; + } + return null; + }); + return PageBaseResponse.success(convert); + } + + @Override + public PortfolioVO detail(PortfolioDTO portfolioDTO) { + Portfolio portfolio = portfolioMapper.selectById(portfolioDTO.getId()); + PortfolioVO vo = CopyUtil.copyObject(portfolio, PortfolioVO.class); + Long collectionId = portfolio.getCollectionId(); + List collectionElementList = collectionElementService.getByCollectionId(collectionId); + for (CollectionElement element : collectionElementList) { + if (StringUtils.isEmpty(element.getUrl())) { + continue; + } + element.setUrl(minioUtil.getPresignedUrl(element.getUrl(), 24 * 60)); + } + vo.setCollectionElementList(collectionElementList); + QueryWrapper qw = new QueryWrapper<>(); + qw.lambda().eq(TDesignPythonOutfit::getCollectionId, portfolio.getCollectionId()); + List designPythonOutfitList = designPythonOutfitMapper.selectList(qw); + for (TDesignPythonOutfit tDesignPythonOutfit : designPythonOutfitList) { + tDesignPythonOutfit.setDesignUrl(minioUtil.getPresignedUrl(tDesignPythonOutfit.getDesignUrl(), 24 * 60)); + } + vo.setDesignPythonOutfitList(designPythonOutfitList); + return vo; + } + + @Override + public UserLikeChooseVO choose(PortfolioDTO portfolioDTO) { + AuthPrincipalVo authPrincipalVo = UserContext.getUserHolder(); + UserLikeGroup userLikeGroup = userLikeGroupMapper.selectById(portfolioDTO.getUserLikeGroupId()); + UserLikeGroup userLikeGroupNew = userLikeGroup.setId(null); + userLikeGroupNew.setAccountId(authPrincipalVo.getId()); + Long collectionIdOld = userLikeGroup.getCollectionId(); + Collection collectionOld = collectionMapper.selectById(collectionIdOld); + List collectionElementListOld = collectionElementService.getByCollectionId(collectionIdOld); + collectionOld.setId(null); + collectionMapper.insert(collectionOld); + Long collectionIdNew = collectionOld.getId(); + + Workspace workspace = workspaceService.getCurrentWorkspace(); + 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); + + userLikeGroupNew.setCollectionId(collectionIdNew); + userLikeGroupMapper.insert(userLikeGroupNew); +// List collectionElementRelationListNew = new ArrayList<>(); + for (CollectionElement element : collectionElementListOld) { + element.setCollectionId(collectionIdNew); + element.setId(null); + collectionElementMapper.insert(element); + TCollectionElementRelation collectionElementRelationNew = new TCollectionElementRelation(); + collectionElementRelationNew.setCollectionId(collectionIdNew); + collectionElementRelationNew.setElementId(element.getId()); + collectionElementRelationNew.setCreateDate(new Date()); + collectionElementRelationMapper.insert(collectionElementRelationNew); + } + + List userLikeList = userLikeService.getUserLikeList(portfolioDTO.getUserLikeGroupId()); + + for (UserLike userLike : userLikeList) { + Long designOutfitIdOld = userLike.getDesignOutfitId(); + TDesignPythonOutfit designPythonOutfit = designPythonOutfitMapper.selectById(designOutfitIdOld); + designPythonOutfit.setDesignId(design.getId()); + designPythonOutfit.setDesignItemId(-1L); + designPythonOutfit.setCollectionId(collectionIdNew); + + designPythonOutfit.setId(null); + designPythonOutfitMapper.insert(designPythonOutfit); + Long designOutfitIdNew = designPythonOutfit.getId(); + userLike.setDesignOutfitId(designOutfitIdNew); + QueryWrapper qw = new QueryWrapper<>(); + qw.lambda().eq(TDesignPythonOutfitDetail::getDesignPythonOutfitId, designOutfitIdOld); + List tDesignPythonOutfitDetails = designPythonOutfitDetailMapper.selectList(qw); + for (TDesignPythonOutfitDetail tDesignPythonOutfitDetail : tDesignPythonOutfitDetails) { +// Long designPythonOutfitDetailIdOld = tDesignPythonOutfitDetail.getId(); + tDesignPythonOutfitDetail.setId(null); + tDesignPythonOutfitDetail.setDesignId(-1L); + tDesignPythonOutfitDetail.setDesignPythonOutfitId(designOutfitIdNew); + designPythonOutfitDetailMapper.insert(tDesignPythonOutfitDetail); + } + + Long designItemIdOld = userLike.getDesignItemId(); + DesignItem designItemOld = designItemMapper.selectById(designItemIdOld); + designItemOld.setId(null); + designItemOld.setAccountId(-1L); + designItemOld.setDesignId(-1L); + designItemOld.setCollectionId(collectionIdNew); + designItemMapper.insert(designItemOld); + Long designItemIdNew = designItemOld.getDesignId(); + + designPythonOutfit.setDesignItemId(designItemIdNew); + designPythonOutfitMapper.updateById(designPythonOutfit); + + userLike.setDesignItemId(designItemIdNew); + userLike.setId(null); + userLike.setDesignId(design.getId()); + userLike.setUserLikeGroupId(userLikeGroupNew.getId()); + userLikeMapper.insert(userLike); + QueryWrapper designItemDetailQueryWrapper = new QueryWrapper<>(); + designItemDetailQueryWrapper.lambda().eq(DesignItemDetail::getDesignItemId, designItemOld); + List designItemDetailListOld = designItemDetailMapper.selectList(designItemDetailQueryWrapper); + for (DesignItemDetail designItemDetailOld : designItemDetailListOld) { + Long designItemDetailIdOld = designItemDetailOld.getId(); + designItemDetailOld.setAccountId(authPrincipalVo.getId()); + designItemDetailOld.setDesignId(design.getId()); + designItemDetailOld.setDesignItemId(designItemIdNew); + designItemDetailMapper.insert(designItemDetailOld); + Long designItemDetailIdNew = designItemDetailOld.getId(); + QueryWrapper designItemDetailPrintQueryWrapper = new QueryWrapper<>(); + designItemDetailPrintQueryWrapper.lambda().eq(DesignItemDetailPrint::getDesignItemDetailId, designItemDetailIdOld); + DesignItemDetailPrint designItemDetailPrint = designItemDetailPrintMapper.selectOne(designItemDetailPrintQueryWrapper); + designItemDetailPrint.setDesignItemDetailId(designItemDetailIdNew); + designItemDetailPrintMapper.insert(designItemDetailPrint); + } + } + + return userLikeGroupService.choose(userLikeGroupNew.getId()); + } +} diff --git a/src/main/java/com/ai/da/service/impl/UserLikeGroupServiceImpl.java b/src/main/java/com/ai/da/service/impl/UserLikeGroupServiceImpl.java index 29d70e13..4f5ff929 100644 --- a/src/main/java/com/ai/da/service/impl/UserLikeGroupServiceImpl.java +++ b/src/main/java/com/ai/da/service/impl/UserLikeGroupServiceImpl.java @@ -123,15 +123,6 @@ public class UserLikeGroupServiceImpl extends ServiceImpl userLikeVOS = userLikeService.getGroupDetail(userGroupId); String sex = null; -// if (CollectionUtil.isNotEmpty(userLikeVOS)) { -// Long designId = userLikeVOS.get(0).getDesignId(); -// Design design = designMapper.selectById(designId); -// if (design.getModelType().equals(ModelType.SYSTEM.getValue())) { -// sex = sysFileMapper.selectById(design.getTemplateId()).getLevel2Type(); -// }else { -// sex = libraryMapper.selectById(design.getTemplateId()).getLevel2Type(); -// } -// } userLikeVOS.forEach(o -> { TDesignPythonOutfit tDesignPythonOutfit1 = designPythonOutfitMapper.selectById(o.getDesignOutfitId()); o.setUrl(tDesignPythonOutfit1.getDesignUrl()); diff --git a/src/main/java/com/ai/da/service/impl/UserLikeServiceImpl.java b/src/main/java/com/ai/da/service/impl/UserLikeServiceImpl.java index 29b53710..9d44d2dd 100644 --- a/src/main/java/com/ai/da/service/impl/UserLikeServiceImpl.java +++ b/src/main/java/com/ai/da/service/impl/UserLikeServiceImpl.java @@ -81,4 +81,11 @@ public class UserLikeServiceImpl extends ServiceImpl i baseMapper.update(null,uw); } + @Override + public List getUserLikeList(Long id) { + QueryWrapper qw = new QueryWrapper<>(); + qw.lambda().eq(UserLike::getUserLikeGroupId, id); + return userLikeMapper.selectList(qw); + } + } diff --git a/src/main/java/com/ai/da/service/impl/WorkspaceServiceImpl.java b/src/main/java/com/ai/da/service/impl/WorkspaceServiceImpl.java index 6d1478ec..27cf5854 100644 --- a/src/main/java/com/ai/da/service/impl/WorkspaceServiceImpl.java +++ b/src/main/java/com/ai/da/service/impl/WorkspaceServiceImpl.java @@ -37,6 +37,7 @@ import org.springframework.web.multipart.MultipartFile; import org.springframework.web.multipart.commons.CommonsMultipartFile; import javax.annotation.Resource; +import javax.naming.Context; import java.io.*; import java.nio.file.Files; import java.util.ArrayList; @@ -483,6 +484,20 @@ public class WorkspaceServiceImpl extends ServiceImpl qw = new QueryWrapper<>(); + qw.lambda().eq(Workspace::getAccountId, authPrincipalVo.getId()); + qw.lambda().eq(Workspace::getIsLastIndex, 1); +// qw.lambda().eq(Workspace::getIsDeleted, 0); + List workspaces = workspaceMapper.selectList(qw); + if (CollectionUtils.isEmpty(workspaces)) { + throw new BusinessException("workspace not found."); + } + return workspaces.get(0); + } + // public static void main(String[] args) throws FileNotFoundException { // String b = "C:\\workspace\\fileData\\aida_men_library\\top\\mens_test_9992.png"; // File pngFile = new File(b); From b3591f879d87e78b54bb8da87c52b1e82545a3cd Mon Sep 17 00:00:00 2001 From: shahaibo <1023316923@qq.com> Date: Fri, 17 May 2024 15:23:26 +0800 Subject: [PATCH 3/7] =?UTF-8?q?TASK:=E8=AF=95=E7=94=A8=E6=97=B6=E9=97=B4;?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../java/com/ai/da/model/dto/AccountTrialDTO.java | 2 +- .../com/ai/da/service/impl/AccountServiceImpl.java | 12 ++++++++++-- 2 files changed, 11 insertions(+), 3 deletions(-) diff --git a/src/main/java/com/ai/da/model/dto/AccountTrialDTO.java b/src/main/java/com/ai/da/model/dto/AccountTrialDTO.java index 700426a2..c4ef92a9 100644 --- a/src/main/java/com/ai/da/model/dto/AccountTrialDTO.java +++ b/src/main/java/com/ai/da/model/dto/AccountTrialDTO.java @@ -9,5 +9,5 @@ import lombok.EqualsAndHashCode; @Data @ApiModel("AccountTrial") public class AccountTrialDTO extends TrialOrder { - + private String ref; } diff --git a/src/main/java/com/ai/da/service/impl/AccountServiceImpl.java b/src/main/java/com/ai/da/service/impl/AccountServiceImpl.java index a5932fae..0573a0be 100644 --- a/src/main/java/com/ai/da/service/impl/AccountServiceImpl.java +++ b/src/main/java/com/ai/da/service/impl/AccountServiceImpl.java @@ -516,7 +516,11 @@ public class AccountServiceImpl extends ServiceImpl impl account.setIsTrial(1); account.setIsBeginner(1); account.setValidStartTime(System.currentTimeMillis()); - account.setValidEndTime(Instant.now().plus(5, ChronoUnit.DAYS).toEpochMilli()); + if (StringUtils.isNotBlank(accountTrialDTO.getRef())) { + account.setValidEndTime(Instant.now().plus(14, ChronoUnit.DAYS).toEpochMilli()); + }else { + account.setValidEndTime(Instant.now().plus(5, ChronoUnit.DAYS).toEpochMilli()); + } accountMapper.updateById(account); }else { account.setUserName(trialOrder.getUserName()); @@ -524,7 +528,11 @@ public class AccountServiceImpl extends ServiceImpl impl account.setUserEmail(trialOrder.getEmail()); account.setLanguage(Language.ENGLISH.name()); account.setValidStartTime(System.currentTimeMillis()); - account.setValidEndTime(Instant.now().plus(5, ChronoUnit.DAYS).toEpochMilli()); + if (StringUtils.isNotBlank(accountTrialDTO.getRef())) { + account.setValidEndTime(Instant.now().plus(14, ChronoUnit.DAYS).toEpochMilli()); + }else { + account.setValidEndTime(Instant.now().plus(5, ChronoUnit.DAYS).toEpochMilli()); + } account.setCreateDate(new Date()); account.setIsTrial(1); account.setIsBeginner(1); From e634481113a0a3e6a541325185978d6173f31ab1 Mon Sep 17 00:00:00 2001 From: shahaibo <1023316923@qq.com> Date: Fri, 17 May 2024 17:59:04 +0800 Subject: [PATCH 4/7] =?UTF-8?q?TASK:=E9=85=8D=E7=BD=AE=E6=96=87=E4=BB=B6;?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../da/common/RabbitMQ/GenerateConsumer.java | 118 +++++++++--------- .../com/ai/da/common/RabbitMQ/SRConsumer.java | 24 ++-- .../com/ai/da/common/task/GenerateTask.java | 2 +- .../com/ai/da/common/task/PaypalTask.java | 2 +- src/main/resources/application-dev.properties | 2 +- 5 files changed, 74 insertions(+), 74 deletions(-) diff --git a/src/main/java/com/ai/da/common/RabbitMQ/GenerateConsumer.java b/src/main/java/com/ai/da/common/RabbitMQ/GenerateConsumer.java index 3e8e6a6e..876dfd2c 100644 --- a/src/main/java/com/ai/da/common/RabbitMQ/GenerateConsumer.java +++ b/src/main/java/com/ai/da/common/RabbitMQ/GenerateConsumer.java @@ -154,63 +154,63 @@ public class GenerateConsumer { } - @RabbitListener(queues = MQConfig.GENERATE_QUEUE) - @RabbitHandler - public void generateConsumer1(Message msg, Channel channel) { - generate(msg, channel, "consumer 1"); - } - - @RabbitListener(queues = MQConfig.GENERATE_QUEUE) - @RabbitHandler - public void generateConsumer2(Message msg, Channel channel) { - generate(msg, channel, "consumer 2"); - } - - @RabbitListener(queues = MQConfig.GENERATE_QUEUE) - @RabbitHandler - public void generateConsumer3(Message msg, Channel channel) { - generate(msg, channel, "consumer 3"); - } - - @RabbitListener(queues = MQConfig.GENERATE_QUEUE) - @RabbitHandler - public void generateConsumer4(Message msg, Channel channel) { - generate(msg, channel, "consumer 4"); - } - - @RabbitListener(queues = MQConfig.GENERATE_QUEUE) - @RabbitHandler - public void generateConsumer5(Message msg, Channel channel) { - generate(msg, channel, "consumer 5"); - } - - @RabbitListener(queues = MQConfig.GENERATE_QUEUE) - @RabbitHandler - public void generateConsumer6(Message msg, Channel channel) { - generate(msg, channel, "consumer 6"); - } - - @RabbitListener(queues = MQConfig.GENERATE_QUEUE) - @RabbitHandler - public void generateConsumer7(Message msg, Channel channel) { - generate(msg, channel, "consumer 7"); - } - - @RabbitListener(queues = MQConfig.GENERATE_QUEUE) - @RabbitHandler - public void generateConsumer8(Message msg, Channel channel) { - generate(msg, channel, "consumer 8"); - } - - @RabbitListener(queues = MQConfig.GENERATE_QUEUE) - @RabbitHandler - public void generateConsumer9(Message msg, Channel channel) { - generate(msg, channel, "consumer 9"); - } - - @RabbitListener(queues = MQConfig.GENERATE_RESULT_QUEUE) - @RabbitHandler - public void getGenerateResult(Message msg, Channel channel) { - processGenerateResult(msg, channel); - } +// @RabbitListener(queues = MQConfig.GENERATE_QUEUE) +// @RabbitHandler +// public void generateConsumer1(Message msg, Channel channel) { +// generate(msg, channel, "consumer 1"); +// } +// +// @RabbitListener(queues = MQConfig.GENERATE_QUEUE) +// @RabbitHandler +// public void generateConsumer2(Message msg, Channel channel) { +// generate(msg, channel, "consumer 2"); +// } +// +// @RabbitListener(queues = MQConfig.GENERATE_QUEUE) +// @RabbitHandler +// public void generateConsumer3(Message msg, Channel channel) { +// generate(msg, channel, "consumer 3"); +// } +// +// @RabbitListener(queues = MQConfig.GENERATE_QUEUE) +// @RabbitHandler +// public void generateConsumer4(Message msg, Channel channel) { +// generate(msg, channel, "consumer 4"); +// } +// +// @RabbitListener(queues = MQConfig.GENERATE_QUEUE) +// @RabbitHandler +// public void generateConsumer5(Message msg, Channel channel) { +// generate(msg, channel, "consumer 5"); +// } +// +// @RabbitListener(queues = MQConfig.GENERATE_QUEUE) +// @RabbitHandler +// public void generateConsumer6(Message msg, Channel channel) { +// generate(msg, channel, "consumer 6"); +// } +// +// @RabbitListener(queues = MQConfig.GENERATE_QUEUE) +// @RabbitHandler +// public void generateConsumer7(Message msg, Channel channel) { +// generate(msg, channel, "consumer 7"); +// } +// +// @RabbitListener(queues = MQConfig.GENERATE_QUEUE) +// @RabbitHandler +// public void generateConsumer8(Message msg, Channel channel) { +// generate(msg, channel, "consumer 8"); +// } +// +// @RabbitListener(queues = MQConfig.GENERATE_QUEUE) +// @RabbitHandler +// public void generateConsumer9(Message msg, Channel channel) { +// generate(msg, channel, "consumer 9"); +// } +// +// @RabbitListener(queues = MQConfig.GENERATE_RESULT_QUEUE) +// @RabbitHandler +// public void getGenerateResult(Message msg, Channel channel) { +// processGenerateResult(msg, channel); +// } } diff --git a/src/main/java/com/ai/da/common/RabbitMQ/SRConsumer.java b/src/main/java/com/ai/da/common/RabbitMQ/SRConsumer.java index 6ad261bd..b8ba32f2 100644 --- a/src/main/java/com/ai/da/common/RabbitMQ/SRConsumer.java +++ b/src/main/java/com/ai/da/common/RabbitMQ/SRConsumer.java @@ -218,17 +218,17 @@ public class SRConsumer { taskListService.updateTaskStatusOrOutputRedis(uniqueId, "fail", null); } - @RabbitListener(queues = MQConfig.SR_QUEUE) - @RabbitHandler - public void SRConsumer1(Message msg, Channel channel) { - superResolution(msg, channel, "consumer 1"); - } - - - @RabbitListener(queues = MQConfig.SR_RESULT_QUEUE) - @RabbitHandler - public void SRResultConsumer1(Message msg, Channel channel) { - getSRResult(msg, channel, "consumer 1"); - } +// @RabbitListener(queues = MQConfig.SR_QUEUE) +// @RabbitHandler +// public void SRConsumer1(Message msg, Channel channel) { +// superResolution(msg, channel, "consumer 1"); +// } +// +// +// @RabbitListener(queues = MQConfig.SR_RESULT_QUEUE) +// @RabbitHandler +// public void SRResultConsumer1(Message msg, Channel channel) { +// getSRResult(msg, channel, "consumer 1"); +// } } diff --git a/src/main/java/com/ai/da/common/task/GenerateTask.java b/src/main/java/com/ai/da/common/task/GenerateTask.java index 6d13d68f..038976d0 100644 --- a/src/main/java/com/ai/da/common/task/GenerateTask.java +++ b/src/main/java/com/ai/da/common/task/GenerateTask.java @@ -8,7 +8,7 @@ import org.springframework.stereotype.Component; @Slf4j public class GenerateTask { - @Scheduled(cron = "0 0 */1 * * ?") +// @Scheduled(cron = "0 0 */1 * * ?") public void generateScheduled(){ log.info("测试定时器:generate"); diff --git a/src/main/java/com/ai/da/common/task/PaypalTask.java b/src/main/java/com/ai/da/common/task/PaypalTask.java index bc0e24dd..65d5b8a3 100644 --- a/src/main/java/com/ai/da/common/task/PaypalTask.java +++ b/src/main/java/com/ai/da/common/task/PaypalTask.java @@ -23,7 +23,7 @@ public class PaypalTask { @Resource private PayPalCheckoutService payPalCheckoutService; - @Scheduled(cron = "0/30 * * * * ?") +// @Scheduled(cron = "0/30 * * * * ?") public void orderConfirm() throws SerializeException { log.info("PayPal orderConfirm 被执行......"); diff --git a/src/main/resources/application-dev.properties b/src/main/resources/application-dev.properties index 52ec17cb..a1a25366 100644 --- a/src/main/resources/application-dev.properties +++ b/src/main/resources/application-dev.properties @@ -21,7 +21,7 @@ spring.security.jwtExpiration=8640000000 #spring security权限设置 认证了token还要认证权限 不然报错Full authentication is required to access this resource spring.security.ignorePaths=/,/favicon.ico,/doc.html,/webjars/**,/swagger-resources,/v2/api-docs,\ /api/account/**,/api/element/**,/api/python/**,/api/design/**,/api/history/**,/api/library/**,/api/third/party/**,/api/generate/**,/api/workspace/**,/api/classification/**,\ - /api/product/**,/api/ali-pay/**,/api/order-info/**,/api/paypal/**,/api/credits/**,/api/inquiry/**,/api/tasks/**,/api/python/prepareForSR + /api/product/**,/api/ali-pay/**,/api/order-info/**,/api/paypal/**,/api/credits/**,/api/inquiry/**,/api/tasks/**,/api/python/prepareForSR,/api/portfolio/** spring.security.authApi=/auth/login From 4b1a58c036d97ee8f46aa4462010d54064c848a3 Mon Sep 17 00:00:00 2001 From: shahaibo <1023316923@qq.com> Date: Fri, 17 May 2024 20:58:54 +0800 Subject: [PATCH 5/7] =?UTF-8?q?TASK:=E6=A3=80=E6=9F=A5=E4=BB=A4=E7=89=8C?= =?UTF-8?q?=E6=97=A5=E5=BF=97=E6=B3=A8=E9=87=8A;?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../com/ai/da/common/utils/SendEmailUtil.java | 17 +++++++++++++---- 1 file changed, 13 insertions(+), 4 deletions(-) diff --git a/src/main/java/com/ai/da/common/utils/SendEmailUtil.java b/src/main/java/com/ai/da/common/utils/SendEmailUtil.java index 15f2e95b..ca778537 100644 --- a/src/main/java/com/ai/da/common/utils/SendEmailUtil.java +++ b/src/main/java/com/ai/da/common/utils/SendEmailUtil.java @@ -355,7 +355,9 @@ public class SendEmailUtil { } private final static Long UPGRADE_NOTIFICATION_ID = 118855L; + private final static Long UPGRADE_SUCCESS_NOTIFICATION_ID = 118856L; private final static Long UPGRADE_NOTIFICATION_ID_CHINESE = 122898L; + private final static Long UPGRADE_SUCCESS_NOTIFICATION_ID_CHINESE = 122899L; public static void sendUpgradeNotification(Account account, String senderAddress, Integer type) { try { // 实例化一个认证对象 @@ -375,12 +377,19 @@ public class SendEmailUtil { // 根据邮件类型设置不同的主题和模板 String subject = ""; Template template = new Template(); +// if (type == 1) { +// subject = "Upcoming System Upgrade for AiDA 3.0"; +// template.setTemplateID(UPGRADE_NOTIFICATION_ID); +// }else { +// subject = "即将到来的AiDA 3.0系统升级"; +// template.setTemplateID(UPGRADE_NOTIFICATION_ID_CHINESE); +// } if (type == 1) { - subject = "Upcoming System Upgrade for AiDA 3.0"; - template.setTemplateID(UPGRADE_NOTIFICATION_ID); + subject = "Successful System Upgrade and New Features in AiDA 3.0"; + template.setTemplateID(UPGRADE_SUCCESS_NOTIFICATION_ID); }else { - subject = "即将到来的AiDA 3.0系统升级"; - template.setTemplateID(UPGRADE_NOTIFICATION_ID_CHINESE); + subject = "系统升级成功和AiDA 3.0新功能"; + template.setTemplateID(UPGRADE_SUCCESS_NOTIFICATION_ID_CHINESE); } template.setTemplateData(buildAccountData(account)); From cd817dbf574cb9d69313e71630ecf1eac4999848 Mon Sep 17 00:00:00 2001 From: shahaibo <1023316923@qq.com> Date: Wed, 22 May 2024 09:50:34 +0800 Subject: [PATCH 6/7] TASK:style; --- .../ai/da/common/config/MyTaskScheduler.java | 4 +- .../ai/da/controller/WorkspaceController.java | 19 ++- .../com/ai/da/mapper/primary/StyleMapper.java | 17 +++ .../primary/WorkspaceRelStyleMapper.java | 15 +++ .../ai/da/mapper/primary/entity/Style.java | 17 +++ .../primary/entity/WorkspaceRelStyle.java | 18 +++ .../com/ai/da/model/dto/WorkspaceDTO.java | 2 + .../java/com/ai/da/model/enums/StyleEnum.java | 57 +++++++++ src/main/java/com/ai/da/model/vo/StyleVO.java | 16 +++ .../java/com/ai/da/model/vo/WorkspaceVO.java | 2 + .../com/ai/da/service/WorkspaceService.java | 8 +- .../da/service/impl/WorkspaceServiceImpl.java | 119 ++++++++++-------- 12 files changed, 234 insertions(+), 60 deletions(-) create mode 100644 src/main/java/com/ai/da/mapper/primary/StyleMapper.java create mode 100644 src/main/java/com/ai/da/mapper/primary/WorkspaceRelStyleMapper.java create mode 100644 src/main/java/com/ai/da/mapper/primary/entity/Style.java create mode 100644 src/main/java/com/ai/da/mapper/primary/entity/WorkspaceRelStyle.java create mode 100644 src/main/java/com/ai/da/model/enums/StyleEnum.java create mode 100644 src/main/java/com/ai/da/model/vo/StyleVO.java diff --git a/src/main/java/com/ai/da/common/config/MyTaskScheduler.java b/src/main/java/com/ai/da/common/config/MyTaskScheduler.java index 6e443ba9..bd8f2687 100644 --- a/src/main/java/com/ai/da/common/config/MyTaskScheduler.java +++ b/src/main/java/com/ai/da/common/config/MyTaskScheduler.java @@ -34,7 +34,7 @@ public class MyTaskScheduler { // 定时任务,每十五天执行一次 // @Scheduled(cron = "0 0 0 ? * MON") - @Scheduled(cron = "0 0 0 */15 * ?") +// @Scheduled(cron = "0 0 0 */15 * ?") public void checkExpiry() { // 检测正式用户是否快要过期 QueryWrapper qw = new QueryWrapper<>(); @@ -68,7 +68,7 @@ public class MyTaskScheduler { } } } - @Scheduled(cron = "0 0 8 * * ?") +// @Scheduled(cron = "0 0 8 * * ?") public void sendTrialOrderExcelToManagements() { // 获取前一天日期 LocalDate yesterday = LocalDate.now().minusDays(1); diff --git a/src/main/java/com/ai/da/controller/WorkspaceController.java b/src/main/java/com/ai/da/controller/WorkspaceController.java index b0c089f0..e5346487 100644 --- a/src/main/java/com/ai/da/controller/WorkspaceController.java +++ b/src/main/java/com/ai/da/controller/WorkspaceController.java @@ -1,10 +1,12 @@ package com.ai.da.controller; import com.ai.da.common.response.Response; +import com.ai.da.mapper.primary.entity.Style; import com.ai.da.mapper.primary.entity.Workspace; import com.ai.da.model.dto.WorkspaceDTO; import com.ai.da.model.enums.BizJson; import com.ai.da.model.vo.ModelsVO; +import com.ai.da.model.vo.StyleVO; import com.ai.da.model.vo.WorkspaceVO; import com.ai.da.service.WorkspaceService; import io.swagger.annotations.Api; @@ -44,8 +46,8 @@ public class WorkspaceController { @GetMapping("/detail") @ApiOperationSupport(order = 1) @ApiOperation(value = "详情", notes = "传入workspace") - public Response detail(@ApiParam(value = "主键集合", required = true) @RequestParam Long id) { - Workspace detail = workspaceService.getByIdNew(id); + public Response detail(@ApiParam(value = "主键集合", required = true) @RequestParam Long id) { + WorkspaceVO detail = workspaceService.getByIdNew(id); return Response.success(detail); } @@ -66,8 +68,8 @@ public class WorkspaceController { @PostMapping("/saveOrUpdate") @ApiOperationSupport(order = 3) @ApiOperation(value = "新增或编辑", notes = "传入workspace") - public Response saveOrUpdate(@Valid @RequestBody Workspace workspace) { - return Response.success(workspaceService.saveOrUpdate(workspace)); + public Response saveOrUpdate(@Valid @RequestBody WorkspaceDTO workspaceDTO) { + return Response.success(workspaceService.saveOrUpdate(workspaceDTO)); } @@ -115,10 +117,17 @@ public class WorkspaceController { } @PostMapping("maleDataInsert") - @ApiOperationSupport(order = 7) + @ApiOperationSupport(order = 8) @ApiOperation(value = "男装数据入库入minio") public Response maleDataInsert() throws FileNotFoundException { workspaceService.maleDataInsert(); return Response.success(true); } + + @PostMapping("styleList") + @ApiOperationSupport(order = 9) + @ApiOperation(value = "获取style列表") + public Response> styleList() { + return Response.success(workspaceService.styleList()); + } } diff --git a/src/main/java/com/ai/da/mapper/primary/StyleMapper.java b/src/main/java/com/ai/da/mapper/primary/StyleMapper.java new file mode 100644 index 00000000..be697be8 --- /dev/null +++ b/src/main/java/com/ai/da/mapper/primary/StyleMapper.java @@ -0,0 +1,17 @@ +package com.ai.da.mapper.primary; + +import com.ai.da.common.config.mybatis.plus.CommonMapper; +import com.ai.da.mapper.primary.entity.Style; + +import java.util.List; + +/** + * Mapper 接口 + * + * @author easy-generator + * @since 2022-06-13 + */ +public interface StyleMapper extends CommonMapper