diff --git a/pom.xml b/pom.xml index 14c7e35..58d6d26 100644 --- a/pom.xml +++ b/pom.xml @@ -47,6 +47,22 @@ + + + prod + + + + src/main/resources + + *.yaml + + + + + + + diff --git a/tashow-gateway/pom.xml b/tashow-gateway/pom.xml index b7206a0..791f339 100644 --- a/tashow-gateway/pom.xml +++ b/tashow-gateway/pom.xml @@ -61,7 +61,6 @@ - ${project.artifactId} diff --git a/tashow-module/tashow-module-ai/pom.xml b/tashow-module/tashow-module-ai/pom.xml index d45ca14..2853a03 100644 --- a/tashow-module/tashow-module-ai/pom.xml +++ b/tashow-module/tashow-module-ai/pom.xml @@ -65,11 +65,30 @@ org.springframework.boot spring-boot-starter-actuator + com.tashow.cloud - tashow-sdk-file + tashow-framework-monitor - - + + + + ${project.artifactId} + + + + org.springframework.boot + spring-boot-maven-plugin + ${spring.boot.version} + + + + repackage + + + + + + diff --git a/tashow-module/tashow-module-ai/src/main/java/com/tashow/cloud/ai/TranslateServerApplication.java b/tashow-module/tashow-module-ai/src/main/java/com/tashow/cloud/ai/AiServerApplication.java similarity index 56% rename from tashow-module/tashow-module-ai/src/main/java/com/tashow/cloud/ai/TranslateServerApplication.java rename to tashow-module/tashow-module-ai/src/main/java/com/tashow/cloud/ai/AiServerApplication.java index fc775be..c69a90e 100644 --- a/tashow-module/tashow-module-ai/src/main/java/com/tashow/cloud/ai/TranslateServerApplication.java +++ b/tashow-module/tashow-module-ai/src/main/java/com/tashow/cloud/ai/AiServerApplication.java @@ -2,16 +2,14 @@ package com.tashow.cloud.ai; import org.springframework.boot.SpringApplication; import org.springframework.boot.autoconfigure.SpringBootApplication; -import org.springframework.scheduling.annotation.EnableScheduling; /** * 应用服务启动类 */ @SpringBootApplication -@EnableScheduling -public class TranslateServerApplication { +public class AiServerApplication { public static void main(String[] args) { - SpringApplication.run(TranslateServerApplication.class, args); + SpringApplication.run(AiServerApplication.class, args); } } diff --git a/tashow-module/tashow-module-ai/src/main/java/com/tashow/cloud/ai/controller/admin/aisample/AiSampleController.java b/tashow-module/tashow-module-ai/src/main/java/com/tashow/cloud/ai/controller/admin/aisample/AiSampleController.java index a99c39d..d16b70c 100644 --- a/tashow-module/tashow-module-ai/src/main/java/com/tashow/cloud/ai/controller/admin/aisample/AiSampleController.java +++ b/tashow-module/tashow-module-ai/src/main/java/com/tashow/cloud/ai/controller/admin/aisample/AiSampleController.java @@ -10,8 +10,8 @@ import io.swagger.v3.oas.annotations.Operation; import io.swagger.v3.oas.annotations.Parameter; import io.swagger.v3.oas.annotations.tags.Tag; import jakarta.annotation.Resource; +import jakarta.annotation.security.PermitAll; import jakarta.validation.Valid; -import org.springframework.security.access.prepost.PreAuthorize; import org.springframework.validation.annotation.Validated; import org.springframework.web.bind.annotation.*; @@ -30,14 +30,16 @@ public class AiSampleController { @PostMapping("/create") @Operation(summary = "创建样本库-上传文件") - @PreAuthorize("@ss.hasPermission('ai:sample:create')") - public CommonResult> createAiSample(FileUploadReqVO uploadReqVO) { + @PermitAll +// @PreAuthorize("@ss.hasPermission('ai:sample:create')") + public CommonResult> createAiSample(FileUploadReqVO uploadReqVO) { return success(aiSampleService.createAiSample(uploadReqVO)); } @PutMapping("/updates") @Operation(summary = "更新样本库") - @PreAuthorize("@ss.hasPermission('ai:sample:update')") +// @PreAuthorize("@ss.hasPermission('ai:sample:update')") + @PermitAll public CommonResult updateAiSample(@Valid @RequestBody List updateReqVO) { aiSampleService.updateAiSamples(updateReqVO); return success(true); @@ -45,7 +47,8 @@ public class AiSampleController { @PutMapping("/relate") @Operation(summary = "添加关联标签") - @PreAuthorize("@ss.hasPermission('ai:sample:update')") +// @PreAuthorize("@ss.hasPermission('ai:sample:update')") + @PermitAll public CommonResult relate(@Valid @RequestBody AiSampleRelateTagVO relateTagVO) { aiSampleService.relate(relateTagVO); return success(true); @@ -53,7 +56,8 @@ public class AiSampleController { @DeleteMapping("/deleteRelate") @Operation(summary = "删除关联标签") - @PreAuthorize("@ss.hasPermission('ai:sample:delete')") +// @PreAuthorize("@ss.hasPermission('ai:sample:delete')") + @PermitAll public CommonResult deleteRelate(@Valid @RequestBody AiSampleRelateTagVO relateTagVO) { aiSampleService.deleteRelate(relateTagVO); return success(true); @@ -62,7 +66,8 @@ public class AiSampleController { @DeleteMapping("/delete") @Operation(summary = "删除样本库") @Parameter(name = "id", description = "编号", required = true) - @PreAuthorize("@ss.hasPermission('ai:sample:delete')") +// @PreAuthorize("@ss.hasPermission('ai:sample:delete')") + @PermitAll public CommonResult deleteAiSample(@RequestParam("id") Long id) { aiSampleService.deleteAiSample(id); return success(true); @@ -70,7 +75,8 @@ public class AiSampleController { @GetMapping("/page") @Operation(summary = "获得样本库分页") - @PreAuthorize("@ss.hasPermission('ai:sample:query')") +// @PreAuthorize("@ss.hasPermission('ai:sample:query')") + @PermitAll public CommonResult> getAiSamplePage(@Valid AiSamplePageReqVO pageReqVO) { PageResult pageResult = aiSampleService.getAiSamplePage(pageReqVO); return success(BeanUtils.toBean(pageResult, AiSampleRespVO.class)); diff --git a/tashow-module/tashow-module-ai/src/main/java/com/tashow/cloud/ai/controller/admin/aisample/AiSampleTagController.java b/tashow-module/tashow-module-ai/src/main/java/com/tashow/cloud/ai/controller/admin/aisample/AiSampleTagController.java index 8281f67..0fe0bbf 100644 --- a/tashow-module/tashow-module-ai/src/main/java/com/tashow/cloud/ai/controller/admin/aisample/AiSampleTagController.java +++ b/tashow-module/tashow-module-ai/src/main/java/com/tashow/cloud/ai/controller/admin/aisample/AiSampleTagController.java @@ -2,7 +2,6 @@ package com.tashow.cloud.ai.controller.admin.aisample; import com.tashow.cloud.ai.controller.admin.aisample.vo.AiSampleTagListRespVO; import com.tashow.cloud.ai.controller.admin.aisample.vo.AiSampleTagPageReqVO; -import com.tashow.cloud.ai.controller.admin.aisample.vo.AiSampleTagRespVO; import com.tashow.cloud.ai.controller.admin.aisample.vo.AiSampleTagSaveReqVO; import com.tashow.cloud.ai.dal.dataobject.aisample.AiSampleTagDO; import com.tashow.cloud.ai.service.aisample.AiSampleTagService; @@ -13,8 +12,8 @@ import io.swagger.v3.oas.annotations.Operation; import io.swagger.v3.oas.annotations.Parameter; import io.swagger.v3.oas.annotations.tags.Tag; import jakarta.annotation.Resource; +import jakarta.annotation.security.PermitAll; import jakarta.validation.Valid; -import org.springframework.security.access.prepost.PreAuthorize; import org.springframework.validation.annotation.Validated; import org.springframework.web.bind.annotation.*; @@ -34,14 +33,16 @@ public class AiSampleTagController { @PostMapping("/create") @Operation(summary = "创建样本标签库") - @PreAuthorize("@ss.hasPermission('ai:sampleTag:create')") +// @PreAuthorize("@ss.hasPermission('ai:sampleTag:create')") + @PermitAll public CommonResult createAiSampleTag(@Valid @RequestBody AiSampleTagSaveReqVO createReqVO) { return success(aiSampleTagService.createAiSampleTag(createReqVO)); } @PutMapping("/update") @Operation(summary = "更新样本标签库") - @PreAuthorize("@ss.hasPermission('ai:sampleTag:update')") +// @PreAuthorize("@ss.hasPermission('ai:sampleTag:update')") + @PermitAll public CommonResult updateAiSampleTag(@Valid @RequestBody AiSampleTagSaveReqVO updateReqVO) { aiSampleTagService.updateAiSampleTag(updateReqVO); return success(true); @@ -50,7 +51,8 @@ public class AiSampleTagController { @DeleteMapping("/delete") @Operation(summary = "删除样本标签库") @Parameter(name = "id", description = "编号", required = true) - @PreAuthorize("@ss.hasPermission('ai:sampleTag:delete')") +// @PreAuthorize("@ss.hasPermission('ai:sampleTag:delete')") + @PermitAll public CommonResult deleteAiSampleTag(@RequestParam("id") Long id) { aiSampleTagService.deleteAiSampleTag(id); return success(true); @@ -58,17 +60,19 @@ public class AiSampleTagController { @GetMapping("/list") @Operation(summary = "获得样本标签库列表") - @PreAuthorize("@ss.hasPermission('ai:sampleTag:query')") +// @PreAuthorize("@ss.hasPermission('ai:sampleTag:query')") + @PermitAll public CommonResult> getAiSampleTagList() { return success(BeanUtils.toBean(aiSampleTagService.getAiSampleTagList(), AiSampleTagListRespVO.class)); } @GetMapping("/page") @Operation(summary = "获得样本标签库分页") - @PreAuthorize("@ss.hasPermission('ai:sampleTag:query')") - public CommonResult> getAiSampleTagPage(@Valid AiSampleTagPageReqVO pageReqVO) { +// @PreAuthorize("@ss.hasPermission('ai:sampleTag:query')") + @PermitAll + public CommonResult> getAiSampleTagPage(@Valid AiSampleTagPageReqVO pageReqVO) { PageResult pageResult = aiSampleTagService.getAiSampleTagPage(pageReqVO); - return success(BeanUtils.toBean(pageResult, AiSampleTagRespVO.class)); + return success(pageResult); } } \ No newline at end of file diff --git a/tashow-module/tashow-module-ai/src/main/java/com/tashow/cloud/ai/controller/admin/aisample/AiSampleTagGroupController.java b/tashow-module/tashow-module-ai/src/main/java/com/tashow/cloud/ai/controller/admin/aisample/AiSampleTagGroupController.java index 1d04f00..54acc5d 100644 --- a/tashow-module/tashow-module-ai/src/main/java/com/tashow/cloud/ai/controller/admin/aisample/AiSampleTagGroupController.java +++ b/tashow-module/tashow-module-ai/src/main/java/com/tashow/cloud/ai/controller/admin/aisample/AiSampleTagGroupController.java @@ -10,8 +10,8 @@ import io.swagger.v3.oas.annotations.Operation; import io.swagger.v3.oas.annotations.Parameter; import io.swagger.v3.oas.annotations.tags.Tag; import jakarta.annotation.Resource; +import jakarta.annotation.security.PermitAll; import jakarta.validation.Valid; -import org.springframework.security.access.prepost.PreAuthorize; import org.springframework.validation.annotation.Validated; import org.springframework.web.bind.annotation.*; @@ -31,14 +31,16 @@ public class AiSampleTagGroupController { @PostMapping("/create") @Operation(summary = "创建样本标签分组库") - @PreAuthorize("@ss.hasPermission('ai:sampleTagGroup:create')") +// @PreAuthorize("@ss.hasPermission('ai:sampleTagGroup:create')") + @PermitAll public CommonResult createAiSampleTagGroup(@Valid @RequestBody AiSampleTagGroupSaveReqVO createReqVO) { return success(aiSampleTagGroupService.createAiSampleTagGroup(createReqVO)); } @PutMapping("/update") @Operation(summary = "更新样本标签分组库") - @PreAuthorize("@ss.hasPermission('ai:sampleTagGroup:update')") +// @PreAuthorize("@ss.hasPermission('ai:sampleTagGroup:update')") + @PermitAll public CommonResult updateAiSampleTagGroup(@Valid @RequestBody AiSampleTagGroupSaveReqVO updateReqVO) { aiSampleTagGroupService.updateAiSampleTagGroup(updateReqVO); return success(true); @@ -47,7 +49,8 @@ public class AiSampleTagGroupController { @DeleteMapping("/delete") @Operation(summary = "删除样本标签分组库") @Parameter(name = "id", description = "编号", required = true) - @PreAuthorize("@ss.hasPermission('ai:sampleTagGroup:delete')") +// @PreAuthorize("@ss.hasPermission('ai:sampleTagGroup:delete')") + @PermitAll public CommonResult deleteAiSampleTagGroup(@RequestParam("id") Long id) { aiSampleTagGroupService.deleteAiSampleTagGroup(id); return success(true); @@ -55,7 +58,8 @@ public class AiSampleTagGroupController { @GetMapping("/list") @Operation(summary = "获得样本标签分组库列表") - @PreAuthorize("@ss.hasPermission('ai:sampleTagGroup:query')") +// @PreAuthorize("@ss.hasPermission('ai:sampleTagGroup:query')") + @PermitAll public CommonResult> getAiSampleTagGroupPage() { List aiSampleTagGroupList = aiSampleTagGroupService.getAiSampleTagGroupList(); return success(BeanUtils.toBean(aiSampleTagGroupList, AiSampleTagGroupRespVO.class)); diff --git a/tashow-module/tashow-module-ai/src/main/java/com/tashow/cloud/ai/controller/admin/aisample/vo/AiSampleFileRespVO.java b/tashow-module/tashow-module-ai/src/main/java/com/tashow/cloud/ai/controller/admin/aisample/vo/AiSampleFileRespVO.java new file mode 100644 index 0000000..4158115 --- /dev/null +++ b/tashow-module/tashow-module-ai/src/main/java/com/tashow/cloud/ai/controller/admin/aisample/vo/AiSampleFileRespVO.java @@ -0,0 +1,17 @@ +package com.tashow.cloud.ai.controller.admin.aisample.vo; + +import com.alibaba.excel.annotation.ExcelIgnoreUnannotated; +import io.swagger.v3.oas.annotations.media.Schema; +import lombok.Data; + +@Schema(description = "管理后台 - 样本库 Response VO") +@Data +@ExcelIgnoreUnannotated +public class AiSampleFileRespVO { + + @Schema(description = "文件地址") + private String fileUrl; + + @Schema(description = "文件名称") + private String fileName; +} \ No newline at end of file diff --git a/tashow-module/tashow-module-ai/src/main/java/com/tashow/cloud/ai/controller/admin/aisample/vo/AiSampleRelateTagVO.java b/tashow-module/tashow-module-ai/src/main/java/com/tashow/cloud/ai/controller/admin/aisample/vo/AiSampleRelateTagVO.java index cf0d422..13fa8c0 100644 --- a/tashow-module/tashow-module-ai/src/main/java/com/tashow/cloud/ai/controller/admin/aisample/vo/AiSampleRelateTagVO.java +++ b/tashow-module/tashow-module-ai/src/main/java/com/tashow/cloud/ai/controller/admin/aisample/vo/AiSampleRelateTagVO.java @@ -10,7 +10,7 @@ import java.util.List; public class AiSampleRelateTagVO { @Schema(description = "标签id") - private Long tagId; + private List tagId; @Schema(description = "样本ids") private List sampleIds; diff --git a/tashow-module/tashow-module-ai/src/main/java/com/tashow/cloud/ai/controller/admin/aisample/vo/AiSampleRespVO.java b/tashow-module/tashow-module-ai/src/main/java/com/tashow/cloud/ai/controller/admin/aisample/vo/AiSampleRespVO.java index 5adcaa1..54bf4aa 100644 --- a/tashow-module/tashow-module-ai/src/main/java/com/tashow/cloud/ai/controller/admin/aisample/vo/AiSampleRespVO.java +++ b/tashow-module/tashow-module-ai/src/main/java/com/tashow/cloud/ai/controller/admin/aisample/vo/AiSampleRespVO.java @@ -1,6 +1,7 @@ package com.tashow.cloud.ai.controller.admin.aisample.vo; import com.alibaba.excel.annotation.ExcelIgnoreUnannotated; +import com.fasterxml.jackson.annotation.JsonFormat; import com.tashow.cloud.ai.dal.dataobject.aisample.AiSampleTagDO; import io.swagger.v3.oas.annotations.media.Schema; import lombok.Data; @@ -38,8 +39,10 @@ public class AiSampleRespVO { private String remark; @Schema(description = "创建时间") + @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8") private LocalDateTime createTime; @Schema(description = "修改时间") + @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8") private LocalDateTime updateTime; } \ No newline at end of file diff --git a/tashow-module/tashow-module-ai/src/main/java/com/tashow/cloud/ai/controller/app/translate/TranslateController.java b/tashow-module/tashow-module-ai/src/main/java/com/tashow/cloud/ai/controller/app/translate/TranslateController.java index 3849fda..36c1da7 100644 --- a/tashow-module/tashow-module-ai/src/main/java/com/tashow/cloud/ai/controller/app/translate/TranslateController.java +++ b/tashow-module/tashow-module-ai/src/main/java/com/tashow/cloud/ai/controller/app/translate/TranslateController.java @@ -1,17 +1,38 @@ package com.tashow.cloud.ai.controller.app.translate; +import cn.hutool.core.util.RandomUtil; +import com.tashow.cloud.common.pojo.CommonResult; +import jakarta.annotation.security.PermitAll; import lombok.extern.slf4j.Slf4j; import org.springframework.validation.annotation.Validated; +import org.springframework.web.bind.annotation.PostMapping; import org.springframework.web.bind.annotation.RequestMapping; import org.springframework.web.bind.annotation.RestController; +import org.springframework.web.multipart.MultipartFile; +import java.util.List; + +import static com.tashow.cloud.common.pojo.CommonResult.success; + +/** + * 翻译 + */ @RestController @RequestMapping("/ai/sample") @Validated @Slf4j public class TranslateController { + List message = List.of("渴了", "饿了", "想睡觉", "想出去玩", "想溜达", "情绪低落", "很开心", "很伤心", "想哭"); - + /** + * 翻译 + */ + @PostMapping("/translate") + @PermitAll + public CommonResult translate(MultipartFile file) { + // log.info("file:{}",file.getName()); + return success(message.get(RandomUtil.randomInt(0, message.size()))); + } } diff --git a/tashow-module/tashow-module-ai/src/main/java/com/tashow/cloud/ai/dal/dataobject/aisample/AiSampleTagGroupRelateDO.java b/tashow-module/tashow-module-ai/src/main/java/com/tashow/cloud/ai/dal/dataobject/aisample/AiSampleTagGroupRelateDO.java index 7a7f5f5..a2bcfc1 100644 --- a/tashow-module/tashow-module-ai/src/main/java/com/tashow/cloud/ai/dal/dataobject/aisample/AiSampleTagGroupRelateDO.java +++ b/tashow-module/tashow-module-ai/src/main/java/com/tashow/cloud/ai/dal/dataobject/aisample/AiSampleTagGroupRelateDO.java @@ -3,7 +3,6 @@ package com.tashow.cloud.ai.dal.dataobject.aisample; import com.baomidou.mybatisplus.annotation.KeySequence; import com.baomidou.mybatisplus.annotation.TableId; import com.baomidou.mybatisplus.annotation.TableName; -import com.tashow.cloud.mybatis.mybatis.core.dataobject.BaseDO; import lombok.*; /** @@ -14,12 +13,11 @@ import lombok.*; @TableName("tz_ai_sample_tag_group_relate") @KeySequence("tz_ai_sample_tag_group_relate_seq") // 用于 Oracle、PostgreSQL、Kingbase、DB2、H2 数据库的主键自增。如果是 MySQL 等数据库,可不写。 @Data -@EqualsAndHashCode(callSuper = true) @ToString(callSuper = true) @Builder @NoArgsConstructor @AllArgsConstructor -public class AiSampleTagGroupRelateDO extends BaseDO { +public class AiSampleTagGroupRelateDO { /** * 主键 diff --git a/tashow-module/tashow-module-ai/src/main/java/com/tashow/cloud/ai/dal/dataobject/aisample/AiSampleTagRelateDO.java b/tashow-module/tashow-module-ai/src/main/java/com/tashow/cloud/ai/dal/dataobject/aisample/AiSampleTagRelateDO.java index 72bf179..ef5bcf0 100644 --- a/tashow-module/tashow-module-ai/src/main/java/com/tashow/cloud/ai/dal/dataobject/aisample/AiSampleTagRelateDO.java +++ b/tashow-module/tashow-module-ai/src/main/java/com/tashow/cloud/ai/dal/dataobject/aisample/AiSampleTagRelateDO.java @@ -1,8 +1,9 @@ package com.tashow.cloud.ai.dal.dataobject.aisample; +import com.baomidou.mybatisplus.annotation.KeySequence; +import com.baomidou.mybatisplus.annotation.TableId; +import com.baomidou.mybatisplus.annotation.TableName; import lombok.*; -import com.baomidou.mybatisplus.annotation.*; -import com.tashow.cloud.mybatis.mybatis.core.dataobject.BaseDO; /** * 样本-标签关联 DO @@ -12,12 +13,11 @@ import com.tashow.cloud.mybatis.mybatis.core.dataobject.BaseDO; @TableName("tz_ai_sample_tag_relate") @KeySequence("tz_ai_sample_tag_relate_seq") // 用于 Oracle、PostgreSQL、Kingbase、DB2、H2 数据库的主键自增。如果是 MySQL 等数据库,可不写。 @Data -@EqualsAndHashCode(callSuper = true) @ToString(callSuper = true) @Builder @NoArgsConstructor @AllArgsConstructor -public class AiSampleTagRelateDO extends BaseDO { +public class AiSampleTagRelateDO { /** * 主键 diff --git a/tashow-module/tashow-module-ai/src/main/java/com/tashow/cloud/ai/dal/mysql/aisample/AiSampleMapper.java b/tashow-module/tashow-module-ai/src/main/java/com/tashow/cloud/ai/dal/mysql/aisample/AiSampleMapper.java index 082ae0e..e1a0722 100644 --- a/tashow-module/tashow-module-ai/src/main/java/com/tashow/cloud/ai/dal/mysql/aisample/AiSampleMapper.java +++ b/tashow-module/tashow-module-ai/src/main/java/com/tashow/cloud/ai/dal/mysql/aisample/AiSampleMapper.java @@ -9,21 +9,13 @@ import org.apache.ibatis.annotations.Mapper; /** * 样本库 Mapper - * - * @author 芋道源码 */ @Mapper public interface AiSampleMapper extends BaseMapperX { default PageResult selectPage(AiSamplePageReqVO reqVO) { return selectPage(reqVO, new LambdaQueryWrapperX() - .eqIfPresent(AiSampleDO::getSampleFilePath, reqVO.getSampleFilePath()) .likeIfPresent(AiSampleDO::getSampleName, reqVO.getSampleName()) - .betweenIfPresent(AiSampleDO::getSampleTime, reqVO.getSampleTime()) - .eqIfPresent(AiSampleDO::getSampleMineType, reqVO.getSampleMineType()) - .eqIfPresent(AiSampleDO::getSampleSize, reqVO.getSampleSize()) - .eqIfPresent(AiSampleDO::getRemark, reqVO.getRemark()) - .betweenIfPresent(AiSampleDO::getCreateTime, reqVO.getCreateTime()) .orderByDesc(AiSampleDO::getId)); } } \ No newline at end of file diff --git a/tashow-module/tashow-module-ai/src/main/java/com/tashow/cloud/ai/dal/mysql/aisample/AiSampleTagMapper.java b/tashow-module/tashow-module-ai/src/main/java/com/tashow/cloud/ai/dal/mysql/aisample/AiSampleTagMapper.java index 98fa0de..c87e02c 100644 --- a/tashow-module/tashow-module-ai/src/main/java/com/tashow/cloud/ai/dal/mysql/aisample/AiSampleTagMapper.java +++ b/tashow-module/tashow-module-ai/src/main/java/com/tashow/cloud/ai/dal/mysql/aisample/AiSampleTagMapper.java @@ -20,13 +20,18 @@ public interface AiSampleTagMapper extends BaseMapperX { default PageResult selectPage(AiSampleTagPageReqVO reqVO) { return selectPage(reqVO, new LambdaQueryWrapperX() - .likeIfPresent(AiSampleTagDO::getTagName, reqVO.getTagName()) - .betweenIfPresent(AiSampleTagDO::getCreateTime, reqVO.getCreateTime()) .orderByDesc(AiSampleTagDO::getId)); } - @Select("SELECT t.* FROM tz_ai_sample_tag t INNER JOIN tz_ai_sample_tag_group_relate r ON t.id = r.sample_tag_id \n" + - " WHERE r.sample_tag_group_id = #{groupId} ") + @Select("") IPage getAiSampleTagPage(Page page, AiSampleTagPageReqVO pageReqVO); } \ No newline at end of file diff --git a/tashow-module/tashow-module-ai/src/main/java/com/tashow/cloud/ai/framework/package-info.java b/tashow-module/tashow-module-ai/src/main/java/com/tashow/cloud/ai/framework/package-info.java new file mode 100644 index 0000000..c73734f --- /dev/null +++ b/tashow-module/tashow-module-ai/src/main/java/com/tashow/cloud/ai/framework/package-info.java @@ -0,0 +1 @@ +package com.tashow.cloud.ai.framework; \ No newline at end of file diff --git a/tashow-module/tashow-module-ai/src/main/java/com/tashow/cloud/ai/framework/rpc/config/RpcConfiguration.java b/tashow-module/tashow-module-ai/src/main/java/com/tashow/cloud/ai/framework/rpc/config/RpcConfiguration.java new file mode 100644 index 0000000..4706ae2 --- /dev/null +++ b/tashow-module/tashow-module-ai/src/main/java/com/tashow/cloud/ai/framework/rpc/config/RpcConfiguration.java @@ -0,0 +1,10 @@ +package com.tashow.cloud.ai.framework.rpc.config; + +import com.tashow.cloud.infraapi.api.file.FileApi; +import org.springframework.cloud.openfeign.EnableFeignClients; +import org.springframework.context.annotation.Configuration; + +@Configuration(proxyBeanMethods = false) +@EnableFeignClients(clients = {FileApi.class}) +public class RpcConfiguration { +} diff --git a/tashow-module/tashow-module-ai/src/main/java/com/tashow/cloud/ai/framework/rpc/package-info.java b/tashow-module/tashow-module-ai/src/main/java/com/tashow/cloud/ai/framework/rpc/package-info.java new file mode 100644 index 0000000..a7f5d31 --- /dev/null +++ b/tashow-module/tashow-module-ai/src/main/java/com/tashow/cloud/ai/framework/rpc/package-info.java @@ -0,0 +1 @@ +package com.tashow.cloud.ai.framework.rpc; \ No newline at end of file diff --git a/tashow-module/tashow-module-ai/src/main/java/com/tashow/cloud/ai/security/config/SecurityConfiguration.java b/tashow-module/tashow-module-ai/src/main/java/com/tashow/cloud/ai/framework/security/config/SecurityConfiguration.java similarity index 97% rename from tashow-module/tashow-module-ai/src/main/java/com/tashow/cloud/ai/security/config/SecurityConfiguration.java rename to tashow-module/tashow-module-ai/src/main/java/com/tashow/cloud/ai/framework/security/config/SecurityConfiguration.java index eb8b20d..1fb9c69 100644 --- a/tashow-module/tashow-module-ai/src/main/java/com/tashow/cloud/ai/security/config/SecurityConfiguration.java +++ b/tashow-module/tashow-module-ai/src/main/java/com/tashow/cloud/ai/framework/security/config/SecurityConfiguration.java @@ -1,4 +1,4 @@ -package com.tashow.cloud.ai.security.config; +package com.tashow.cloud.ai.framework.security.config; import com.tashow.cloud.infraapi.enums.ApiConstants; import com.tashow.cloud.security.security.config.AuthorizeRequestsCustomizer; diff --git a/tashow-module/tashow-module-ai/src/main/java/com/tashow/cloud/ai/framework/security/core/package-info.java b/tashow-module/tashow-module-ai/src/main/java/com/tashow/cloud/ai/framework/security/core/package-info.java new file mode 100644 index 0000000..c1774ae --- /dev/null +++ b/tashow-module/tashow-module-ai/src/main/java/com/tashow/cloud/ai/framework/security/core/package-info.java @@ -0,0 +1,4 @@ +/** + * 占位 + */ +package com.tashow.cloud.ai.framework.security.core; diff --git a/tashow-module/tashow-module-ai/src/main/java/com/tashow/cloud/ai/security/core/package-info.java b/tashow-module/tashow-module-ai/src/main/java/com/tashow/cloud/ai/security/core/package-info.java deleted file mode 100644 index 66da3e4..0000000 --- a/tashow-module/tashow-module-ai/src/main/java/com/tashow/cloud/ai/security/core/package-info.java +++ /dev/null @@ -1,4 +0,0 @@ -/** - * 占位 - */ -package com.tashow.cloud.ai.security.core; diff --git a/tashow-module/tashow-module-ai/src/main/java/com/tashow/cloud/ai/service/aisample/AiSampleService.java b/tashow-module/tashow-module-ai/src/main/java/com/tashow/cloud/ai/service/aisample/AiSampleService.java index c2f788e..1cad1eb 100644 --- a/tashow-module/tashow-module-ai/src/main/java/com/tashow/cloud/ai/service/aisample/AiSampleService.java +++ b/tashow-module/tashow-module-ai/src/main/java/com/tashow/cloud/ai/service/aisample/AiSampleService.java @@ -20,7 +20,7 @@ public interface AiSampleService { * @param createReqVO 创建信息 * @return 编号 */ - List createAiSample(@Valid FileUploadReqVO createReqVO); + List createAiSample(@Valid FileUploadReqVO createReqVO); /** * 更新样本库 diff --git a/tashow-module/tashow-module-ai/src/main/java/com/tashow/cloud/ai/service/aisample/AiSampleServiceImpl.java b/tashow-module/tashow-module-ai/src/main/java/com/tashow/cloud/ai/service/aisample/AiSampleServiceImpl.java index de8739a..1c336dd 100644 --- a/tashow-module/tashow-module-ai/src/main/java/com/tashow/cloud/ai/service/aisample/AiSampleServiceImpl.java +++ b/tashow-module/tashow-module-ai/src/main/java/com/tashow/cloud/ai/service/aisample/AiSampleServiceImpl.java @@ -3,10 +3,7 @@ package com.tashow.cloud.ai.service.aisample; import cn.hutool.core.util.ArrayUtil; import cn.hutool.core.util.ObjectUtil; import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; -import com.tashow.cloud.ai.controller.admin.aisample.vo.AiSamplePageReqVO; -import com.tashow.cloud.ai.controller.admin.aisample.vo.AiSampleRelateTagVO; -import com.tashow.cloud.ai.controller.admin.aisample.vo.AiSampleSaveReqVO; -import com.tashow.cloud.ai.controller.admin.aisample.vo.FileUploadReqVO; +import com.tashow.cloud.ai.controller.admin.aisample.vo.*; import com.tashow.cloud.ai.dal.dataobject.aisample.AiSampleDO; import com.tashow.cloud.ai.dal.dataobject.aisample.AiSampleTagDO; import com.tashow.cloud.ai.dal.dataobject.aisample.AiSampleTagRelateDO; @@ -45,9 +42,9 @@ public class AiSampleServiceImpl implements AiSampleService { @Override @SneakyThrows - public List createAiSample(FileUploadReqVO uploadReqVO) { + public List createAiSample(FileUploadReqVO uploadReqVO) { //返回图片路径 - List urls = new ArrayList<>(); + List urls = new ArrayList<>(); /* 调用文件上传服务*/ for (MultipartFile file : uploadReqVO.getFiles()) { //返回上传结果 @@ -59,7 +56,7 @@ public class AiSampleServiceImpl implements AiSampleService { aiSampleDO.setSampleMineType(file.getContentType()); aiSampleDO.setSampleSize(file.getSize()); aiSampleMapper.insert(aiSampleDO); - urls.add(file1); + urls.add(new AiSampleFileRespVO().setFileUrl(file1).setFileName(file.getOriginalFilename())); } // 返回 return urls; @@ -83,10 +80,12 @@ public class AiSampleServiceImpl implements AiSampleService { public void relate(AiSampleRelateTagVO relateTagVO) { List tagRelateDOS = new ArrayList<>(); for (Long sampleId : relateTagVO.getSampleIds()) { - AiSampleTagRelateDO relateDO = new AiSampleTagRelateDO(); - relateDO.setSampleId(sampleId); - relateDO.setSampleTagId(relateTagVO.getTagId()); - tagRelateDOS.add(relateDO); + for (Long tagId : relateTagVO.getTagId()) { + AiSampleTagRelateDO relateDO = new AiSampleTagRelateDO(); + relateDO.setSampleId(sampleId); + relateDO.setSampleTagId(tagId); + tagRelateDOS.add(relateDO); + } } aiSampleTagRelateMapper.insertBatch(tagRelateDOS); } @@ -95,12 +94,14 @@ public class AiSampleServiceImpl implements AiSampleService { public void deleteRelate(AiSampleRelateTagVO relateTagVO) { List tagRelateIds = new ArrayList<>(); for (Long sampleId : relateTagVO.getSampleIds()) { - AiSampleTagRelateDO relateDO = aiSampleTagRelateMapper.selectOne( - new LambdaQueryWrapper() - .eq(AiSampleTagRelateDO::getSampleId, sampleId) - .eq(AiSampleTagRelateDO::getSampleTagId, relateTagVO.getTagId()) - ); - tagRelateIds.add(relateDO.getId()); + for (Long l : relateTagVO.getTagId()) { + AiSampleTagRelateDO relateDO = aiSampleTagRelateMapper.selectOne( + new LambdaQueryWrapper() + .eq(AiSampleTagRelateDO::getSampleId, sampleId) + .eq(AiSampleTagRelateDO::getSampleTagId, l) + ); + tagRelateIds.add(relateDO.getId()); + } } aiSampleTagRelateMapper.deleteBatchIds(tagRelateIds); } @@ -135,10 +136,14 @@ public class AiSampleServiceImpl implements AiSampleService { PageResult aiSampleDOPageResult = aiSampleMapper.selectPage(pageReqVO); //根据样本id获取关联的标签id List sampleIds = aiSampleDOPageResult.getList().stream().map(AiSampleDO::getId).toList(); - List tagRelateDOS = aiSampleTagRelateMapper.selectList(new LambdaQueryWrapper().in(AiSampleTagRelateDO::getSampleId, sampleIds)); + List tagRelateDOS = aiSampleTagRelateMapper.selectList( + new LambdaQueryWrapper() + .in(!sampleIds.isEmpty(),AiSampleTagRelateDO::getSampleId, sampleIds)); List tagIds = tagRelateDOS.stream().map(AiSampleTagRelateDO::getSampleTagId).toList(); //获取标签信息 - List aiSampleTagDOS = aiSampleTagMapper.selectList(new LambdaQueryWrapper().in(AiSampleTagDO::getId, tagIds)); + List aiSampleTagDOS = aiSampleTagMapper.selectList( + new LambdaQueryWrapper() + .in(!tagIds.isEmpty(),AiSampleTagDO::getId, tagIds)); //封装标签信息 for (AiSampleDO aiSampleDO : aiSampleDOPageResult.getList()) { diff --git a/tashow-module/tashow-module-ai/src/main/java/com/tashow/cloud/ai/service/aisample/AiSampleTagGroupServiceImpl.java b/tashow-module/tashow-module-ai/src/main/java/com/tashow/cloud/ai/service/aisample/AiSampleTagGroupServiceImpl.java index 21ee295..b80e71a 100644 --- a/tashow-module/tashow-module-ai/src/main/java/com/tashow/cloud/ai/service/aisample/AiSampleTagGroupServiceImpl.java +++ b/tashow-module/tashow-module-ai/src/main/java/com/tashow/cloud/ai/service/aisample/AiSampleTagGroupServiceImpl.java @@ -1,7 +1,7 @@ package com.tashow.cloud.ai.service.aisample; +import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; import com.tashow.cloud.ai.controller.admin.aisample.vo.AiSampleTagGroupPageReqVO; -import com.tashow.cloud.ai.controller.admin.aisample.vo.AiSampleTagGroupRespVO; import com.tashow.cloud.ai.controller.admin.aisample.vo.AiSampleTagGroupSaveReqVO; import com.tashow.cloud.ai.dal.dataobject.aisample.AiSampleTagGroupDO; import com.tashow.cloud.ai.dal.mysql.aisample.AiSampleTagGroupMapper; @@ -69,6 +69,6 @@ public class AiSampleTagGroupServiceImpl implements AiSampleTagGroupService { @Override public List getAiSampleTagGroupList() { - return aiSampleTagGroupMapper.selectList(); + return aiSampleTagGroupMapper.selectList(new LambdaQueryWrapper().orderByDesc(AiSampleTagGroupDO::getId)); } } \ No newline at end of file diff --git a/tashow-module/tashow-module-ai/src/main/java/com/tashow/cloud/ai/service/aisample/AiSampleTagServiceImpl.java b/tashow-module/tashow-module-ai/src/main/java/com/tashow/cloud/ai/service/aisample/AiSampleTagServiceImpl.java index d36eece..51c2369 100644 --- a/tashow-module/tashow-module-ai/src/main/java/com/tashow/cloud/ai/service/aisample/AiSampleTagServiceImpl.java +++ b/tashow-module/tashow-module-ai/src/main/java/com/tashow/cloud/ai/service/aisample/AiSampleTagServiceImpl.java @@ -35,7 +35,7 @@ public class AiSampleTagServiceImpl implements AiSampleTagService { @Override public Long createAiSampleTag(AiSampleTagSaveReqVO createReqVO) { // 插入 - AiSampleTagDO aiSampleTag = BeanUtils.toBean(createReqVO, AiSampleTagDO.class); + AiSampleTagDO aiSampleTag = BeanUtils.toBean(createReqVO, AiSampleTagDO.class); aiSampleTagMapper.insert(aiSampleTag); //插入关联 List tagGroupRelateDOS = new ArrayList<>(); @@ -43,6 +43,7 @@ public class AiSampleTagServiceImpl implements AiSampleTagService { AiSampleTagGroupRelateDO tagGroupRelateDO = new AiSampleTagGroupRelateDO(); tagGroupRelateDO.setSampleTagId(createReqVO.getId()); tagGroupRelateDO.setSampleTagGroupId(groupId); + tagGroupRelateDO.setSampleTagId(aiSampleTag.getId()); tagGroupRelateDOS.add(tagGroupRelateDO); } tagGroupRelateMapper.insertBatch(tagGroupRelateDOS); @@ -97,6 +98,6 @@ public class AiSampleTagServiceImpl implements AiSampleTagService { @Override public List getAiSampleTagList() { - return aiSampleTagMapper.selectList(); + return aiSampleTagMapper.selectList(new LambdaQueryWrapper().orderByDesc(AiSampleTagDO::getId)); } } \ No newline at end of file diff --git a/tashow-module/tashow-module-ai/src/main/resources/application-local.yaml b/tashow-module/tashow-module-ai/src/main/resources/application-local.yaml index 4f2c22e..fa98814 100644 --- a/tashow-module/tashow-module-ai/src/main/resources/application-local.yaml +++ b/tashow-module/tashow-module-ai/src/main/resources/application-local.yaml @@ -14,7 +14,5 @@ spring: config: # 【注册中心】配置项 namespace: dev # 命名空间。这里使用 dev 开发环境 group: DEFAULT_GROUP # 使用的 Nacos 配置分组,默认为 DEFAULT_GROUP - -ufop: - storage-type: 0 - local-storage-path: D://test \ No newline at end of file + # 添加字符编码配置,解决YAML解析时的字符编码问题 + encode: UTF-8 diff --git a/tashow-module/tashow-module-ai/src/main/resources/application.yaml b/tashow-module/tashow-module-ai/src/main/resources/application.yaml index 448e24a..83088c9 100644 --- a/tashow-module/tashow-module-ai/src/main/resources/application.yaml +++ b/tashow-module/tashow-module-ai/src/main/resources/application.yaml @@ -2,7 +2,7 @@ server: port: 48086 spring: application: - name: translate-server + name: ai-server profiles: active: local config: diff --git a/tashow-module/tashow-module-ai/src/main/resources/logback-spring.xml b/tashow-module/tashow-module-ai/src/main/resources/logback-spring.xml new file mode 100644 index 0000000..16f0c0f --- /dev/null +++ b/tashow-module/tashow-module-ai/src/main/resources/logback-spring.xml @@ -0,0 +1,76 @@ + + + + + + + + + +       + + + ${PATTERN_DEFAULT} + + + + + + + + + + ${PATTERN_DEFAULT} + + + + ${LOG_FILE} + + + ${LOGBACK_ROLLINGPOLICY_FILE_NAME_PATTERN:-${LOG_FILE}.%d{yyyy-MM-dd}.%i.gz} + + ${LOGBACK_ROLLINGPOLICY_CLEAN_HISTORY_ON_START:-false} + + ${LOGBACK_ROLLINGPOLICY_MAX_FILE_SIZE:-10MB} + + ${LOGBACK_ROLLINGPOLICY_TOTAL_SIZE_CAP:-0} + + ${LOGBACK_ROLLINGPOLICY_MAX_HISTORY:-30} + + + + + + 0 + + 256 + + + + + + + + ${PATTERN_DEFAULT} + + + + + + + + + + + + + + + + + + + + + + diff --git a/tashow-module/tashow-module-ai/src/main/resources/mapper/demo.xml b/tashow-module/tashow-module-ai/src/main/resources/mapper/demo.xml deleted file mode 100644 index e69de29..0000000 diff --git a/tashow-module/tashow-module-infra/src/main/java/com/tashow/cloud/infra/controller/admin/file/FileController.java b/tashow-module/tashow-module-infra/src/main/java/com/tashow/cloud/infra/controller/admin/file/FileController.java index c1a432d..6b60201 100644 --- a/tashow-module/tashow-module-infra/src/main/java/com/tashow/cloud/infra/controller/admin/file/FileController.java +++ b/tashow-module/tashow-module-infra/src/main/java/com/tashow/cloud/infra/controller/admin/file/FileController.java @@ -1,8 +1,5 @@ package com.tashow.cloud.infra.controller.admin.file; -import static com.tashow.cloud.common.pojo.CommonResult.success; -import static com.tashow.cloud.infra.framework.file.core.utils.FileTypeUtils.writeAttachment; - import cn.hutool.core.io.IoUtil; import cn.hutool.core.util.StrUtil; import cn.hutool.core.util.URLUtil; @@ -24,11 +21,15 @@ import org.springframework.validation.annotation.Validated; import org.springframework.web.bind.annotation.*; import org.springframework.web.multipart.MultipartFile; +import static com.tashow.cloud.common.pojo.CommonResult.success; +import static com.tashow.cloud.infra.framework.file.core.utils.FileTypeUtils.writeAttachment; + /** 管理后台 - 文件存储 */ @RestController @RequestMapping("/infra/file") @Validated @Slf4j +@PermitAll public class FileController { @Resource private FileService fileService; diff --git a/tashow-module/tashow-module-system/src/main/java/com/tashow/cloud/system/service/permission/PermissionServiceImpl.java b/tashow-module/tashow-module-system/src/main/java/com/tashow/cloud/system/service/permission/PermissionServiceImpl.java index 6a48c1d..0ac1494 100644 --- a/tashow-module/tashow-module-system/src/main/java/com/tashow/cloud/system/service/permission/PermissionServiceImpl.java +++ b/tashow-module/tashow-module-system/src/main/java/com/tashow/cloud/system/service/permission/PermissionServiceImpl.java @@ -240,7 +240,7 @@ public class PermissionServiceImpl implements PermissionService { } @Override - @Cacheable(value = RedisKeyConstants.USER_ROLE_ID_LIST, key = "#userId") +// @Cacheable(value = RedisKeyConstants.USER_ROLE_ID_LIST, key = "#userId") public Set getUserRoleIdListByUserIdFromCache(Long userId) { return getUserRoleIdListByUserId(userId); } diff --git a/tashow-module/tashow-module-system/src/main/resources/application.yaml b/tashow-module/tashow-module-system/src/main/resources/application.yaml index 7634367..ab25c7d 100644 --- a/tashow-module/tashow-module-system/src/main/resources/application.yaml +++ b/tashow-module/tashow-module-system/src/main/resources/application.yaml @@ -10,7 +10,6 @@ spring: - optional:classpath:application-${spring.profiles.active}.yaml # 加载【本地】配置 - optional:nacos:application.yaml # 加载【Nacos】通用的配置 - optional:nacos:tenant.yaml # 加载【Nacos】通用的配置 - - optional:nacos:application-login.yaml # 加载登录配置 - optional:nacos:${spring.application.name}-${spring.profiles.active}.yaml # 加载【Nacos】的配置 diff --git a/tashow-sdk/pom.xml b/tashow-sdk/pom.xml index 258e341..58ee94c 100644 --- a/tashow-sdk/pom.xml +++ b/tashow-sdk/pom.xml @@ -12,7 +12,6 @@ tashow-sdk-payment - tashow-sdk-file tashow-feishu-sdk