From 06a2952db8a07f8b69915fa95048262b6c1f5579 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E2=80=98=E2=80=98?= Date: Fri, 24 Mar 2023 11:21:01 +0800 Subject: [PATCH 01/13] =?UTF-8?q?feature-1.0-img:=E6=96=B0=E5=A2=9E?= =?UTF-8?q?=E8=89=BA=E6=9C=AF=E5=AE=B6=E7=99=BB=E5=BD=95=E9=AA=8C=E8=AF=81?= =?UTF-8?q?=E7=A0=81=E5=8A=9F=E8=83=BD?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../main/java/com/bnyer/gateway/filter/ValidateCodeFilter.java | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/bnyer-gateway/src/main/java/com/bnyer/gateway/filter/ValidateCodeFilter.java b/bnyer-gateway/src/main/java/com/bnyer/gateway/filter/ValidateCodeFilter.java index 98be7af..2651810 100644 --- a/bnyer-gateway/src/main/java/com/bnyer/gateway/filter/ValidateCodeFilter.java +++ b/bnyer-gateway/src/main/java/com/bnyer/gateway/filter/ValidateCodeFilter.java @@ -25,7 +25,7 @@ import reactor.core.publisher.Flux; @Component public class ValidateCodeFilter extends AbstractGatewayFilterFactory { - private final static String[] VALIDATE_URL = new String[] { "/auth/login", "/auth/register" }; + private final static String[] VALIDATE_URL = new String[] { "/auth/login", "/auth/register","/auth/creatorLogin" }; @Autowired private ValidateCodeService validateCodeService; From 827789f64ded49cac521d4d607de33c14c5eaafa Mon Sep 17 00:00:00 2001 From: Penny <2500338766@qq.com> Date: Sun, 26 Mar 2023 21:32:48 +0800 Subject: [PATCH 02/13] feature-img-1.0:fixbug --- .../auth/service/CreatorLoginService.java | 4 +-- .../core/constant/RedisKeyConstant.java | 5 ++++ .../common/core/vo/CreatorAccountVo.java | 3 +++ .../impl/CreatorAccountServiceImpl.java | 3 +++ .../img/service/impl/CreatorServiceImpl.java | 19 ++++++++----- .../service/impl/WithdrawLogServiceImpl.java | 7 ++--- .../com/bnyer/img/mapper/InviteLogMapper.xml | 2 +- .../controller/InviteLogController.java | 25 +++++++++++++++++ .../system/mapper/CreatorAccountMapper.java | 6 ++--- .../service/ICreatorAccountService.java | 6 ++--- .../system/service/IInviteLogService.java | 18 +++++++++++++ .../impl/CreatorAccountServiceImpl.java | 4 +-- .../service/impl/InviteLogServiceImpl.java | 27 +++++++++++++++++++ .../service/impl/WithdrawLogServiceImpl.java | 5 ++-- .../system/mapper/CreatorAccountMapper.xml | 13 ++++----- 15 files changed, 119 insertions(+), 28 deletions(-) diff --git a/bnyer-auth/src/main/java/com/bnyer/auth/service/CreatorLoginService.java b/bnyer-auth/src/main/java/com/bnyer/auth/service/CreatorLoginService.java index 2a9a880..b41251a 100644 --- a/bnyer-auth/src/main/java/com/bnyer/auth/service/CreatorLoginService.java +++ b/bnyer-auth/src/main/java/com/bnyer/auth/service/CreatorLoginService.java @@ -11,7 +11,7 @@ import org.springframework.stereotype.Component; /** * 艺术家端登录校验方法 - * + * * @author penny */ @Component @@ -32,7 +32,7 @@ public class CreatorLoginService { throw new ServiceException("当前艺术家被封禁,请联系客服处理!",TiktokConstant.TIKTOK_CREATOR_BANED_ERROR); } //更新登录时间 - remoteImgService.updateLoginTime(creatorInfo.getData().getCreatorId()); + remoteImgService.updateLoginTime(creatorInfo.getData().getCreator().getId()); return creatorInfo.getData(); } diff --git a/bnyer-common/bnyer-common-core/src/main/java/com/bnyer/common/core/constant/RedisKeyConstant.java b/bnyer-common/bnyer-common-core/src/main/java/com/bnyer/common/core/constant/RedisKeyConstant.java index a546a5e..b17e8ab 100644 --- a/bnyer-common/bnyer-common-core/src/main/java/com/bnyer/common/core/constant/RedisKeyConstant.java +++ b/bnyer-common/bnyer-common-core/src/main/java/com/bnyer/common/core/constant/RedisKeyConstant.java @@ -126,4 +126,9 @@ public class RedisKeyConstant { * 艺术家粉丝数量键 */ public static final String CREATOR_FANS_NUM_KEY = "bnyer.img.fans.num"; + + /** + * 特约邀请码键 + */ + public static final String SPECIAL_INVITE_CODE_KEY = "bnyer.img.invite.status"; } diff --git a/bnyer-common/bnyer-common-core/src/main/java/com/bnyer/common/core/vo/CreatorAccountVo.java b/bnyer-common/bnyer-common-core/src/main/java/com/bnyer/common/core/vo/CreatorAccountVo.java index d0f8286..7734ebc 100644 --- a/bnyer-common/bnyer-common-core/src/main/java/com/bnyer/common/core/vo/CreatorAccountVo.java +++ b/bnyer-common/bnyer-common-core/src/main/java/com/bnyer/common/core/vo/CreatorAccountVo.java @@ -28,6 +28,9 @@ public class CreatorAccountVo implements Serializable { @Desensitized(type = SensitiveTypeEnum.MOBILE_PHONE) private String accountNo; + @ApiModelProperty(value="真实账户账号") + private String accountRealNo; + @ApiModelProperty(value="身份证(加密)") @Desensitized(type = SensitiveTypeEnum.ID_CARD) private String idNo; diff --git a/bnyer-services/bnyer-img/src/main/java/com/bnyer/img/service/impl/CreatorAccountServiceImpl.java b/bnyer-services/bnyer-img/src/main/java/com/bnyer/img/service/impl/CreatorAccountServiceImpl.java index 8192abb..a8384ee 100644 --- a/bnyer-services/bnyer-img/src/main/java/com/bnyer/img/service/impl/CreatorAccountServiceImpl.java +++ b/bnyer-services/bnyer-img/src/main/java/com/bnyer/img/service/impl/CreatorAccountServiceImpl.java @@ -83,6 +83,9 @@ public class CreatorAccountServiceImpl implements CreatorAccountService { creatorAccountVo.setIdNo(Sm4Util.sm4Decrypt(creatorAccountVo.getIdNo())); } if(StringUtils.isNotBlank(creatorAccountVo.getAccountNo())){ + //设置真实已加密的账户账号 + creatorAccountVo.setAccountRealNo(creatorAccountVo.getAccountNo()); + //设置返回给前端展示的脱敏的账户账号 creatorAccountVo.setAccountNo(Sm4Util.sm4Decrypt(creatorAccountVo.getAccountNo())); } JSONObject.parseObject(DesensitizedUtils.getJsonNoCopy(creatorAccountVo), CreatorAccountVo.class); diff --git a/bnyer-services/bnyer-img/src/main/java/com/bnyer/img/service/impl/CreatorServiceImpl.java b/bnyer-services/bnyer-img/src/main/java/com/bnyer/img/service/impl/CreatorServiceImpl.java index 269901f..d5d2d18 100644 --- a/bnyer-services/bnyer-img/src/main/java/com/bnyer/img/service/impl/CreatorServiceImpl.java +++ b/bnyer-services/bnyer-img/src/main/java/com/bnyer/img/service/impl/CreatorServiceImpl.java @@ -117,14 +117,21 @@ public class CreatorServiceImpl implements CreatorService { creator.setUpdateTime(new Date()); int insert = creatorMapper.insert(creator); log.info("手机号【{}】成为艺术家成功!待审核",StringUtils.trim(dto.getPhone())); + //获取特约邀请码状态 + String codeStatus = null; + String redisKey = RedisKeyConstant.SPECIAL_INVITE_CODE_KEY; + if(redisService.hasKey(redisKey)){ + codeStatus = (String) redisService.getCacheObject(redisKey); + } + //保存邀请记录 InviteLog inviteLog = new InviteLog(); - //TODO 如果特约邀请码为xxx,则被邀请用户id为它自己。想让其失效则直接数据库里删除专属邀请码那个账户字段的邀请码即可 -// if(StringUtils.trim(dto.getInviteCode()).equals("BNYER")){ -// inviteLog.setInvitedCreatorId(creatorProtoType.getId()); -// }else{ -// inviteLog.setInvitedCreatorId(creator.getId()); -// } + // 如果特约邀请码为"BNYER",则被邀请用户id为它自己。想让其失效则直接后台管理系统邀请记录页面关闭即可 + if(StringUtils.trim(dto.getInviteCode()).equals("BNYER") && Objects.requireNonNull(codeStatus).equals("1")){ + inviteLog.setInvitedCreatorId(creatorProtoType.getId()); + }else{ + inviteLog.setInvitedCreatorId(creator.getId()); + } inviteLog.setInviteCode(StringUtils.trim(dto.getInviteCode())); inviteLog.setCreatorId(creatorProtoType.getId()); inviteLog.setCreateTime(new Date()); diff --git a/bnyer-services/bnyer-img/src/main/java/com/bnyer/img/service/impl/WithdrawLogServiceImpl.java b/bnyer-services/bnyer-img/src/main/java/com/bnyer/img/service/impl/WithdrawLogServiceImpl.java index a0adc57..284eaf1 100644 --- a/bnyer-services/bnyer-img/src/main/java/com/bnyer/img/service/impl/WithdrawLogServiceImpl.java +++ b/bnyer-services/bnyer-img/src/main/java/com/bnyer/img/service/impl/WithdrawLogServiceImpl.java @@ -50,9 +50,6 @@ public class WithdrawLogServiceImpl implements WithdrawLogService { withdrawLog.setCreateTime(new Date()); withdrawLog.setUpdateTime(new Date()); withdrawLog.setStatus("0"); - if(StringUtils.isNotBlank(withdrawLog.getAccountNo())){ - withdrawLog.setAccountNo(Sm4Util.sm4Encryption(withdrawLog.getAccountNo())); - } //生成订单id withdrawLog.setOrderId(IdUtil.getSnowflakeNextIdStr()); //扣除账户余额 @@ -94,8 +91,12 @@ public class WithdrawLogServiceImpl implements WithdrawLogService { throw new ServiceException("该艺术家不存在!", TiktokConstant.TIKTOK_CREATOR_NOT_EXIST); } //此处以分为单位 + //余额中的钱大于等于输入的钱则可提现 if(creator.getAmt().compareTo(amt) > -1){ return true; + //输入金额小于1则不可提现 + }else if(amt.compareTo(new BigDecimal(1)) == -1){ + return false; }else{ return false; } diff --git a/bnyer-services/bnyer-img/src/main/resources/com/bnyer/img/mapper/InviteLogMapper.xml b/bnyer-services/bnyer-img/src/main/resources/com/bnyer/img/mapper/InviteLogMapper.xml index cf1492e..cce75a6 100644 --- a/bnyer-services/bnyer-img/src/main/resources/com/bnyer/img/mapper/InviteLogMapper.xml +++ b/bnyer-services/bnyer-img/src/main/resources/com/bnyer/img/mapper/InviteLogMapper.xml @@ -25,7 +25,7 @@ ic.img as img,iil.create_time as createTime from img_invite_log iil join img_creator ic on iil.invited_creator_id = ic.id - where iil.is_show = '1' and iil.creator_id = #{creatorId} + where iil.is_show = '1' and ic.status = '1' and iil.creator_id = #{creatorId} order by iil.create_time desc diff --git a/bnyer-services/bnyer-system/src/main/java/com/bnyer/system/controller/InviteLogController.java b/bnyer-services/bnyer-system/src/main/java/com/bnyer/system/controller/InviteLogController.java index f598b46..01ad18c 100644 --- a/bnyer-services/bnyer-system/src/main/java/com/bnyer/system/controller/InviteLogController.java +++ b/bnyer-services/bnyer-system/src/main/java/com/bnyer/system/controller/InviteLogController.java @@ -1,7 +1,9 @@ package com.bnyer.system.controller; +import com.alibaba.fastjson.JSON; import com.bnyer.common.core.domain.InviteLog; import com.bnyer.common.core.dto.InviteLogPageDto; +import com.bnyer.common.core.dto.StatusDto; import com.bnyer.common.core.web.controller.BaseController; import com.bnyer.common.core.web.domain.AjaxResult; import com.bnyer.common.core.web.page.TableDataInfo; @@ -13,6 +15,7 @@ import io.swagger.annotations.ApiOperation; import io.swagger.annotations.ApiParam; import lombok.extern.slf4j.Slf4j; import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.validation.annotation.Validated; import org.springframework.web.bind.annotation.*; import java.util.List; @@ -41,4 +44,26 @@ public class InviteLogController extends BaseController { log.debug("【图文平台后台】删除邀请记录参数为:{}", ids); return AjaxResult.success(inviteLogService.delete(ids)); } + + @RequiresPermissions("img:inviteLog:edit") + @ApiOperation(value="开/关特约邀请码") + @PostMapping(value = "/changeStatus") + public AjaxResult changeStatus(@Validated @RequestBody @ApiParam("状态对象") StatusDto dto){ + log.debug("【图文平台后台】变更特约邀请码参数为:{}", JSON.toJSONString(dto)); + inviteLogService.changeStatus(dto.getStatus()); + return AjaxResult.success(); + } + + @ApiOperation(value="获取特约邀请码状态") + @GetMapping(value = "/getStatus") + public AjaxResult getStatus(){ + return AjaxResult.success(inviteLogService.getStatus()); + } + + @ApiOperation(value="初始化特约邀请码状态") + @GetMapping(value = "/initStatus") + public AjaxResult initStatus(){ + inviteLogService.initStatus(); + return AjaxResult.success(); + } } diff --git a/bnyer-services/bnyer-system/src/main/java/com/bnyer/system/mapper/CreatorAccountMapper.java b/bnyer-services/bnyer-system/src/main/java/com/bnyer/system/mapper/CreatorAccountMapper.java index 367ebe1..13e31f1 100644 --- a/bnyer-services/bnyer-system/src/main/java/com/bnyer/system/mapper/CreatorAccountMapper.java +++ b/bnyer-services/bnyer-system/src/main/java/com/bnyer/system/mapper/CreatorAccountMapper.java @@ -12,10 +12,10 @@ import java.util.List; public interface CreatorAccountMapper extends BaseMapper { /** - * 根据类型查询艺术家账户列表 - * @param creatorId 艺术家id + * 根据类型和账户账号查询艺术家账户信息 + * @param accountNo 艺术家账户账号 * @param type 类型 * @return - */ - CreatorAccountVo queryListByType(@Param("creatorId") Long creatorId, @Param("type") String type); + CreatorAccountVo queryCreatorAccountByType(@Param("accountNo") String accountNo, @Param("type") String type); } diff --git a/bnyer-services/bnyer-system/src/main/java/com/bnyer/system/service/ICreatorAccountService.java b/bnyer-services/bnyer-system/src/main/java/com/bnyer/system/service/ICreatorAccountService.java index 9c94af7..250803b 100644 --- a/bnyer-services/bnyer-system/src/main/java/com/bnyer/system/service/ICreatorAccountService.java +++ b/bnyer-services/bnyer-system/src/main/java/com/bnyer/system/service/ICreatorAccountService.java @@ -46,12 +46,12 @@ public interface ICreatorAccountService { /** - * 根据指定类型查询艺术家账户列表 - * @param creatorId 艺术家id + * 根据类型和账户账号查询艺术家账户信息 + * @param accountNo 账户账号 * @param type 类型 * @return - */ - CreatorAccountVo queryListByType(Long creatorId, String type); + CreatorAccountVo queryCreatorAccountByType(String accountNo, String type); /** * 变更显示状态 diff --git a/bnyer-services/bnyer-system/src/main/java/com/bnyer/system/service/IInviteLogService.java b/bnyer-services/bnyer-system/src/main/java/com/bnyer/system/service/IInviteLogService.java index 7cb8e41..2b3f081 100644 --- a/bnyer-services/bnyer-system/src/main/java/com/bnyer/system/service/IInviteLogService.java +++ b/bnyer-services/bnyer-system/src/main/java/com/bnyer/system/service/IInviteLogService.java @@ -24,4 +24,22 @@ public interface IInviteLogService { * @return - */ int delete(List ids); + + /** + * 开/关特约邀请码 + * @param status 状态(0->关;1->开) + * @return - + */ + void changeStatus(String status); + + /** + * 获取特约邀请码状态 + * @return - + */ + String getStatus(); + + /** + * 初始化特约邀请码状态 + */ + void initStatus(); } diff --git a/bnyer-services/bnyer-system/src/main/java/com/bnyer/system/service/impl/CreatorAccountServiceImpl.java b/bnyer-services/bnyer-system/src/main/java/com/bnyer/system/service/impl/CreatorAccountServiceImpl.java index bf92b65..cd01229 100644 --- a/bnyer-services/bnyer-system/src/main/java/com/bnyer/system/service/impl/CreatorAccountServiceImpl.java +++ b/bnyer-services/bnyer-system/src/main/java/com/bnyer/system/service/impl/CreatorAccountServiceImpl.java @@ -98,8 +98,8 @@ public class CreatorAccountServiceImpl implements ICreatorAccountService { } @Override - public CreatorAccountVo queryListByType(Long creatorId, String type) { - CreatorAccountVo creatorAccount = creatorAccountMapper.queryListByType(creatorId, type); + public CreatorAccountVo queryCreatorAccountByType(String accountNo, String type) { + CreatorAccountVo creatorAccount = creatorAccountMapper.queryCreatorAccountByType(accountNo, type); if(creatorAccount != null){ if(StringUtils.isNotBlank(creatorAccount.getAccountNo())){ creatorAccount.setAccountNo(Sm4Util.sm4Decrypt(creatorAccount.getAccountNo())); diff --git a/bnyer-services/bnyer-system/src/main/java/com/bnyer/system/service/impl/InviteLogServiceImpl.java b/bnyer-services/bnyer-system/src/main/java/com/bnyer/system/service/impl/InviteLogServiceImpl.java index 4b4abda..402cfb6 100644 --- a/bnyer-services/bnyer-system/src/main/java/com/bnyer/system/service/impl/InviteLogServiceImpl.java +++ b/bnyer-services/bnyer-system/src/main/java/com/bnyer/system/service/impl/InviteLogServiceImpl.java @@ -1,9 +1,11 @@ package com.bnyer.system.service.impl; import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; +import com.bnyer.common.core.constant.RedisKeyConstant; import com.bnyer.common.core.domain.InviteLog; import com.bnyer.common.core.dto.InviteLogPageDto; import com.bnyer.common.core.utils.StringUtils; +import com.bnyer.common.redis.service.RedisService; import com.bnyer.system.mapper.InviteLogMapper; import com.bnyer.system.service.IInviteLogService; import lombok.extern.slf4j.Slf4j; @@ -24,6 +26,9 @@ public class InviteLogServiceImpl implements IInviteLogService { @Autowired private InviteLogMapper inviteLogMapper; + @Autowired + private RedisService redisService; + @Override public List queryPage(InviteLogPageDto params) { @@ -44,4 +49,26 @@ public class InviteLogServiceImpl implements IInviteLogService { return inviteLogMapper.deleteBatchIds(ids); } + @Override + @Transactional(rollbackFor = Exception.class) + public void changeStatus(String status) { + String redisKey = RedisKeyConstant.SPECIAL_INVITE_CODE_KEY; + redisService.setCacheObject(redisKey,status); + } + + @Override + public String getStatus() { + String redisKey = RedisKeyConstant.SPECIAL_INVITE_CODE_KEY; + if(redisService.hasKey(redisKey)){ + return (String) redisService.getCacheObject(redisKey); + } + return null; + } + + @Override + public void initStatus() { + String redisKey = RedisKeyConstant.SPECIAL_INVITE_CODE_KEY; + redisService.setCacheObject(redisKey,"0"); + } + } diff --git a/bnyer-services/bnyer-system/src/main/java/com/bnyer/system/service/impl/WithdrawLogServiceImpl.java b/bnyer-services/bnyer-system/src/main/java/com/bnyer/system/service/impl/WithdrawLogServiceImpl.java index eb7ed35..7b20c6a 100644 --- a/bnyer-services/bnyer-system/src/main/java/com/bnyer/system/service/impl/WithdrawLogServiceImpl.java +++ b/bnyer-services/bnyer-system/src/main/java/com/bnyer/system/service/impl/WithdrawLogServiceImpl.java @@ -186,8 +186,9 @@ public class WithdrawLogServiceImpl implements IWithdrawLogService { withdrawLog.setUpdateTime(new Date()); //此处审核通过,调用支付宝企业付款到用户处方法 if(withdrawLog.getChannel().equals(WithdrawConstant.ALIPAY)){ - //根据用户id查询其支付宝账户及其真实名称 - CreatorAccountVo creatorAccount = creatorAccountService.queryListByType(withdrawLog.getCreatorId(), "1"); + //根据提现记录id获取支付宝账号和真实用户名称 + //String accountNo = Sm4Util.sm4Decrypt(withdrawLog.getAccountNo()); + CreatorAccountVo creatorAccount = creatorAccountService.queryCreatorAccountByType(withdrawLog.getAccountNo(), "2"); if(creatorAccount != null){ try{ AlipayFundTransUniTransferResponse body = this.trans(withdrawLog.getOrderId(), creatorAccount.getAccountNo(), creatorAccount.getName(), withdrawLog.getAmt()); diff --git a/bnyer-services/bnyer-system/src/main/resources/com/bnyer/system/mapper/CreatorAccountMapper.xml b/bnyer-services/bnyer-system/src/main/resources/com/bnyer/system/mapper/CreatorAccountMapper.xml index 1d6a2bc..868869f 100644 --- a/bnyer-services/bnyer-system/src/main/resources/com/bnyer/system/mapper/CreatorAccountMapper.xml +++ b/bnyer-services/bnyer-system/src/main/resources/com/bnyer/system/mapper/CreatorAccountMapper.xml @@ -8,24 +8,25 @@ - + - + + - id, creator_id, `name`, id_no, bank_no, phone,alipay_no,type, create_time, update_time, sort,is_show + id, creator_id, `name`, id_no, account_no, phone,type, create_time, update_time, sort,is_show,is_use,img_url - select - id, creator_id,name,bank_no,alipay_no,type + id, creator_id,name,account_no,type from img_creator_account - where is_show = '1' and creator_id = #{creatorId} and type = #{type} + where is_show = '1' and account_no = #{accountNo} and type = #{type} From 55d57d45087e4cf59a0fd2fd4a06de050a0d5bff Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E2=80=98=E2=80=98?= Date: Mon, 27 Mar 2023 08:55:00 +0800 Subject: [PATCH 03/13] =?UTF-8?q?feature-1.0-img:=E6=96=B0=E5=A2=9Eai?= =?UTF-8?q?=E6=A8=A1=E5=9D=97?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- bnyer-services/bnyer-ai/pom.xml | 140 ++++++++++++++++++ .../java/com/bnyer/ai/BnyerAiApplication.java | 33 +++++ .../ai/controller/ChatGptController.java | 32 ++++ .../com/bnyer/ai/service/ChatGptService.java | 6 + .../ai/service/impl/ChatGptServiceImpl.java | 42 ++++++ .../src/main/resources/bootstrap-dev.yml | 22 +++ .../src/main/resources/bootstrap-grey.yml | 26 ++++ .../src/main/resources/bootstrap-prod.yml | 22 +++ .../src/main/resources/bootstrap-test.yml | 22 +++ .../bnyer-ai/src/main/resources/bootstrap.yml | 15 ++ .../bnyer-ai/src/main/resources/logback.xml | 74 +++++++++ bnyer-services/pom.xml | 1 + 12 files changed, 435 insertions(+) create mode 100644 bnyer-services/bnyer-ai/pom.xml create mode 100644 bnyer-services/bnyer-ai/src/main/java/com/bnyer/ai/BnyerAiApplication.java create mode 100644 bnyer-services/bnyer-ai/src/main/java/com/bnyer/ai/controller/ChatGptController.java create mode 100644 bnyer-services/bnyer-ai/src/main/java/com/bnyer/ai/service/ChatGptService.java create mode 100644 bnyer-services/bnyer-ai/src/main/java/com/bnyer/ai/service/impl/ChatGptServiceImpl.java create mode 100644 bnyer-services/bnyer-ai/src/main/resources/bootstrap-dev.yml create mode 100644 bnyer-services/bnyer-ai/src/main/resources/bootstrap-grey.yml create mode 100644 bnyer-services/bnyer-ai/src/main/resources/bootstrap-prod.yml create mode 100644 bnyer-services/bnyer-ai/src/main/resources/bootstrap-test.yml create mode 100644 bnyer-services/bnyer-ai/src/main/resources/bootstrap.yml create mode 100644 bnyer-services/bnyer-ai/src/main/resources/logback.xml diff --git a/bnyer-services/bnyer-ai/pom.xml b/bnyer-services/bnyer-ai/pom.xml new file mode 100644 index 0000000..cb26171 --- /dev/null +++ b/bnyer-services/bnyer-ai/pom.xml @@ -0,0 +1,140 @@ + + + + bnyer-services + com.dimensionalnode + 1.0.0 + + 4.0.0 + + bnyer-ai + + + bnyer-ai服务 + + + + + + com.alibaba.cloud + spring-cloud-starter-alibaba-nacos-discovery + + + + + com.alibaba.cloud + spring-cloud-starter-alibaba-nacos-config + + + + + com.alibaba.cloud + spring-cloud-starter-alibaba-sentinel + + + + + org.springframework.boot + spring-boot-starter-actuator + + + + + io.springfox + springfox-swagger-ui + ${swagger.fox.version} + + + + + mysql + mysql-connector-java + + + + + com.dimensionalnode + bnyer-common-datasource + + + + + com.dimensionalnode + bnyer-common-datascope + + + + + com.dimensionalnode + bnyer-common-log + + + + + com.dimensionalnode + bnyer-common-core + + + + + com.dimensionalnode + bnyer-common-swagger + + + + + com.baomidou + mybatis-plus-boot-starter + + + + + + + + + + + + + + + + + + + + + + + + + + com.github.plexpt + chatgpt + 4.0.5 + + + + + + ${project.artifactId} + + + org.springframework.boot + spring-boot-maven-plugin + 2.6.2 + + + + repackage + + + + + + + + \ No newline at end of file diff --git a/bnyer-services/bnyer-ai/src/main/java/com/bnyer/ai/BnyerAiApplication.java b/bnyer-services/bnyer-ai/src/main/java/com/bnyer/ai/BnyerAiApplication.java new file mode 100644 index 0000000..759eb56 --- /dev/null +++ b/bnyer-services/bnyer-ai/src/main/java/com/bnyer/ai/BnyerAiApplication.java @@ -0,0 +1,33 @@ +package com.bnyer.ai; + +import com.bnyer.common.security.annotation.EnableCustomConfig; +import com.bnyer.common.security.annotation.EnableRyFeignClients; +import com.bnyer.common.swagger.annotation.EnableCustomSwagger2; +import org.springframework.boot.SpringApplication; +import org.springframework.boot.autoconfigure.SpringBootApplication; +import org.springframework.scheduling.annotation.EnableAsync; + +/** + * ai模块 + * + * @author penny + */ +@EnableCustomConfig +@EnableCustomSwagger2 +@EnableRyFeignClients +@SpringBootApplication +@EnableAsync +public class BnyerAiApplication +{ + public static void main(String[] args) + { + SpringApplication.run(BnyerAiApplication.class, args); + System.out.println("(♥◠‿◠)ノ゙ bnyerAi服务启动成功 ლ(´ڡ`ლ)゙ \n" + + "__________ \n" + + "\\______ \\ ____ ___.__. ___________ \n" + + " | | _// < | |/ __ \\_ __ \\\n" + + " | | \\ | \\___ \\ ___/| | \\/\n" + + " |______ /___| / ____|\\___ >__| \n" + + " \\/ \\/\\/ \\/ \n"); + } +} diff --git a/bnyer-services/bnyer-ai/src/main/java/com/bnyer/ai/controller/ChatGptController.java b/bnyer-services/bnyer-ai/src/main/java/com/bnyer/ai/controller/ChatGptController.java new file mode 100644 index 0000000..f6680c3 --- /dev/null +++ b/bnyer-services/bnyer-ai/src/main/java/com/bnyer/ai/controller/ChatGptController.java @@ -0,0 +1,32 @@ +package com.bnyer.ai.controller; + +import com.alibaba.fastjson.JSON; +import com.bnyer.ai.service.ChatGptService; +import com.bnyer.common.core.domain.Feedback; +import com.bnyer.common.core.dto.FeedBackDto; +import com.bnyer.common.core.web.domain.AjaxResult; +import io.swagger.annotations.Api; +import io.swagger.annotations.ApiOperation; +import io.swagger.annotations.ApiParam; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.validation.annotation.Validated; +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; + +@Api(value = "【AI】接口",tags = "【AI】接口") +@RestController +@RequestMapping("/ai") +public class ChatGptController { + + @Autowired + private ChatGptService chatGptService; + + @ApiOperation(value="chat") + @PostMapping(value = "/chatWithGpt") + public AjaxResult chatWithGpt(){ + chatGptService.talkWithChatGpt(); + return AjaxResult.success(); + } +} diff --git a/bnyer-services/bnyer-ai/src/main/java/com/bnyer/ai/service/ChatGptService.java b/bnyer-services/bnyer-ai/src/main/java/com/bnyer/ai/service/ChatGptService.java new file mode 100644 index 0000000..9b32eb3 --- /dev/null +++ b/bnyer-services/bnyer-ai/src/main/java/com/bnyer/ai/service/ChatGptService.java @@ -0,0 +1,6 @@ +package com.bnyer.ai.service; + +public interface ChatGptService { + + void talkWithChatGpt(); +} diff --git a/bnyer-services/bnyer-ai/src/main/java/com/bnyer/ai/service/impl/ChatGptServiceImpl.java b/bnyer-services/bnyer-ai/src/main/java/com/bnyer/ai/service/impl/ChatGptServiceImpl.java new file mode 100644 index 0000000..9b76d2b --- /dev/null +++ b/bnyer-services/bnyer-ai/src/main/java/com/bnyer/ai/service/impl/ChatGptServiceImpl.java @@ -0,0 +1,42 @@ +package com.bnyer.ai.service.impl; + +import com.bnyer.ai.service.ChatGptService; +import com.plexpt.chatgpt.ChatGPT; +import com.plexpt.chatgpt.entity.chat.ChatCompletion; +import com.plexpt.chatgpt.entity.chat.ChatCompletionResponse; +import com.plexpt.chatgpt.entity.chat.Message; +import com.plexpt.chatgpt.util.Proxys; +import lombok.extern.slf4j.Slf4j; +import org.springframework.stereotype.Service; + +import java.net.Proxy; +import java.util.Arrays; + +@Service +@Slf4j +public class ChatGptServiceImpl implements ChatGptService { + @Override + public void talkWithChatGpt() { + Proxy proxy = Proxys.http("18.179.21.104", 21584); + ChatGPT chatGPT = ChatGPT.builder() + .apiKey("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") + .proxy(proxy) + .timeout(100000) + .apiHost("https://api.openai.com/") //反向代理地址 + .build() + .init(); + + Message system = Message.ofSystem("你现在是一个诗人,专门写七言绝句"); + Message message = Message.of("写一段七言绝句诗,题目是:火锅!"); + + ChatCompletion chatCompletion = ChatCompletion.builder() + .model(ChatCompletion.Model.GPT_3_5_TURBO.getName()) + .messages(Arrays.asList(system, message)) + .maxTokens(3000) + .temperature(0.9) + .build(); + ChatCompletionResponse response = chatGPT.chatCompletion(chatCompletion); + Message res = response.getChoices().get(0).getMessage(); + System.out.println(res); + } +} diff --git a/bnyer-services/bnyer-ai/src/main/resources/bootstrap-dev.yml b/bnyer-services/bnyer-ai/src/main/resources/bootstrap-dev.yml new file mode 100644 index 0000000..6d55152 --- /dev/null +++ b/bnyer-services/bnyer-ai/src/main/resources/bootstrap-dev.yml @@ -0,0 +1,22 @@ +spring: + cloud: + nacos: + discovery: + # 服务注册地址 + server-addr: http://117.50.61.7:8848 + # 命名空间地址 + namespace: c4f53d8c-0a91-4249-a804-f16f543ec3b0 + # 命名空间分组 + group: dev + config: + # 配置中心地址 + server-addr: http://117.50.61.7:8848 + # 配置文件格式 + file-extension: yml + # 命名空间地址 + namespace: c4f53d8c-0a91-4249-a804-f16f543ec3b0 + # 命名空间分组 + group: dev + # 共享配置 + shared-configs: + - application-${spring.profiles.active}.${spring.cloud.nacos.config.file-extension} diff --git a/bnyer-services/bnyer-ai/src/main/resources/bootstrap-grey.yml b/bnyer-services/bnyer-ai/src/main/resources/bootstrap-grey.yml new file mode 100644 index 0000000..f363f68 --- /dev/null +++ b/bnyer-services/bnyer-ai/src/main/resources/bootstrap-grey.yml @@ -0,0 +1,26 @@ +spring: + cloud: + nacos: + discovery: + # 解决部署在不同服务器访问不到的问题,需暴露外网ip + ip: 81.69.47.31 + # 部署在不同服务器上的指定端口 + port: 9102 + # 服务注册地址 + server-addr: http://175.24.122.142:8848 + # 命名空间地址 + namespace: abfe8ee6-161b-4f8f-b61f-51663bbfa4f9 + # 命名空间分组 + group: grey + config: + # 配置中心地址 + server-addr: http://175.24.122.142:8848 + # 配置文件格式 + file-extension: yml + # 命名空间地址 + namespace: abfe8ee6-161b-4f8f-b61f-51663bbfa4f9 + # 命名空间分组 + group: grey + # 共享配置 + shared-configs: + - application-${spring.profiles.active}.${spring.cloud.nacos.config.file-extension} diff --git a/bnyer-services/bnyer-ai/src/main/resources/bootstrap-prod.yml b/bnyer-services/bnyer-ai/src/main/resources/bootstrap-prod.yml new file mode 100644 index 0000000..374941d --- /dev/null +++ b/bnyer-services/bnyer-ai/src/main/resources/bootstrap-prod.yml @@ -0,0 +1,22 @@ +spring: + cloud: + nacos: + discovery: + # 服务注册地址 + server-addr: http://192.168.3.100:6001 + # 命名空间地址 + namespace: b133c9e5-9f8d-4ed4-9ebd-95557802889f + # 命名空间分组 + group: prod + config: + # 配置中心地址 + server-addr: http://192.168.3.100:6001 + # 配置文件格式 + file-extension: yml + # 命名空间地址 + namespace: b133c9e5-9f8d-4ed4-9ebd-95557802889f + # 命名空间分组 + group: prod + # 共享配置 + shared-configs: + - application-${spring.profiles.active}.${spring.cloud.nacos.config.file-extension} diff --git a/bnyer-services/bnyer-ai/src/main/resources/bootstrap-test.yml b/bnyer-services/bnyer-ai/src/main/resources/bootstrap-test.yml new file mode 100644 index 0000000..abb20aa --- /dev/null +++ b/bnyer-services/bnyer-ai/src/main/resources/bootstrap-test.yml @@ -0,0 +1,22 @@ +spring: + cloud: + nacos: + discovery: + # 服务注册地址 + server-addr: http://117.50.61.7:8848 + # 命名空间地址 + namespace: 1bf94455-a046-41e3-b7e4-c12fd11c3690 + # 命名空间分组 + group: test + config: + # 配置中心地址 + server-addr: http://117.50.61.7:8848 + # 配置文件格式 + file-extension: yml + # 命名空间地址 + namespace: 1bf94455-a046-41e3-b7e4-c12fd11c3690 + # 命名空间分组 + group: test + # 共享配置 + shared-configs: + - application-${spring.profiles.active}.${spring.cloud.nacos.config.file-extension} diff --git a/bnyer-services/bnyer-ai/src/main/resources/bootstrap.yml b/bnyer-services/bnyer-ai/src/main/resources/bootstrap.yml new file mode 100644 index 0000000..d08964d --- /dev/null +++ b/bnyer-services/bnyer-ai/src/main/resources/bootstrap.yml @@ -0,0 +1,15 @@ +# Tomcat +server: + port: 9105 + +# Spring +spring: + main: + #解决循环依赖问题 + allow-circular-references: true + application: + # 应用名称 + name: bnyer-ai + profiles: + # 环境配置 + active: dev diff --git a/bnyer-services/bnyer-ai/src/main/resources/logback.xml b/bnyer-services/bnyer-ai/src/main/resources/logback.xml new file mode 100644 index 0000000..8d81736 --- /dev/null +++ b/bnyer-services/bnyer-ai/src/main/resources/logback.xml @@ -0,0 +1,74 @@ + + + + + + + + + + + ${log.pattern} + + + + + + ${log.path}/info.log + + + + ${log.path}/info.%d{yyyy-MM-dd}.log + + 20 + + + ${log.pattern} + + + + INFO + + ACCEPT + + DENY + + + + + ${log.path}/error.log + + + + ${log.path}/error.%d{yyyy-MM-dd}.log + + 20 + + + ${log.pattern} + + + + ERROR + + ACCEPT + + DENY + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/bnyer-services/pom.xml b/bnyer-services/pom.xml index fe6b3fe..66a49b8 100644 --- a/bnyer-services/pom.xml +++ b/bnyer-services/pom.xml @@ -14,6 +14,7 @@ bnyer-img bnyer-order bnyer-pay + bnyer-ai bnyer-services From 474884b31d79ffdb334dbb2dea506dc7210fa454 Mon Sep 17 00:00:00 2001 From: Penny <2500338766@qq.com> Date: Wed, 29 Mar 2023 00:50:42 +0800 Subject: [PATCH 04/13] =?UTF-8?q?feature-img-1.0:=E6=96=B0=E5=A2=9E?= =?UTF-8?q?=E5=90=8E=E5=8F=B0=E7=AE=A1=E7=90=86=E8=87=AA=E5=AE=9A=E4=B9=89?= =?UTF-8?q?=E6=A0=87=E7=AD=BE=E5=8A=9F=E8=83=BD=EF=BC=9Bimg=E6=9C=8D?= =?UTF-8?q?=E5=8A=A1=E6=96=B0=E5=A2=9E=E8=89=BA=E6=9C=AF=E5=AE=B6=E6=96=B0?= =?UTF-8?q?=E5=A2=9E=E8=87=AA=E5=AE=9A=E4=B9=89=E6=A0=87=E7=AD=BE=E5=8A=9F?= =?UTF-8?q?=E8=83=BD?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../com/bnyer/common/core/domain/Sign.java | 21 +++++++++++++ .../com/bnyer/common/core/dto/SignDto.java | 9 ++++++ .../bnyer/common/core/dto/SignFrontDto.java | 24 ++++++++++++++ .../bnyer/common/core/dto/SignPageDto.java | 6 ++++ .../img/controller/CreatorMiniController.java | 6 ++++ .../java/com/bnyer/img/mapper/SignMapper.java | 2 +- .../com/bnyer/img/service/SignService.java | 10 +++++- .../img/service/impl/SignServiceImpl.java | 20 ++++++++++++ .../main/java/com/bnyer/img/vo/SignVo.java | 6 ++++ .../com/bnyer/img/mapper/SignMapper.xml | 11 ++++--- .../com/bnyer/img/mapper/TiktokImgMapper.xml | 2 +- .../system/controller/SignController.java | 21 +++++++++++-- .../controller/TiktokImgController.java | 2 +- .../com/bnyer/system/mapper/SignMapper.java | 10 ++++++ .../bnyer/system/service/ISignService.java | 14 +++++++++ .../system/service/impl/SignServiceImpl.java | 21 +++++++++++++ .../com/bnyer/system/mapper/SignMapper.xml | 31 +++++++++++++++++++ 17 files changed, 205 insertions(+), 11 deletions(-) create mode 100644 bnyer-common/bnyer-common-core/src/main/java/com/bnyer/common/core/dto/SignFrontDto.java create mode 100644 bnyer-services/bnyer-system/src/main/resources/com/bnyer/system/mapper/SignMapper.xml diff --git a/bnyer-common/bnyer-common-core/src/main/java/com/bnyer/common/core/domain/Sign.java b/bnyer-common/bnyer-common-core/src/main/java/com/bnyer/common/core/domain/Sign.java index 725f5b9..e2a6b61 100644 --- a/bnyer-common/bnyer-common-core/src/main/java/com/bnyer/common/core/domain/Sign.java +++ b/bnyer-common/bnyer-common-core/src/main/java/com/bnyer/common/core/domain/Sign.java @@ -37,5 +37,26 @@ public class Sign extends BaseDomain { @ApiModelProperty(value="背景图") private String img; + /** + * 标签类型(0->系统标签;1->自定义标签) + */ + @TableField(value = "type") + @ApiModelProperty(value="标签类型(0->系统标签;1->自定义标签)") + private String type; + + /** + * 状态(0->待审核;1->审核通过;2->审核拒绝) + */ + @TableField(value = "status") + @ApiModelProperty(value="状态(0->待审核;1->审核通过;2->审核拒绝)") + private String status; + + /** + * 父id + */ + @TableField(value = "parent_id") + @ApiModelProperty(value="父id") + private Long parentId; + private static final long serialVersionUID = 1L; } \ No newline at end of file diff --git a/bnyer-common/bnyer-common-core/src/main/java/com/bnyer/common/core/dto/SignDto.java b/bnyer-common/bnyer-common-core/src/main/java/com/bnyer/common/core/dto/SignDto.java index 6fb8158..02548cd 100644 --- a/bnyer-common/bnyer-common-core/src/main/java/com/bnyer/common/core/dto/SignDto.java +++ b/bnyer-common/bnyer-common-core/src/main/java/com/bnyer/common/core/dto/SignDto.java @@ -24,6 +24,15 @@ public class SignDto implements Serializable { @ApiModelProperty(value="背景图") private String img; + @ApiModelProperty(value="标签类型(0->系统标签;1->自定义标签)") + private String type; + + @ApiModelProperty(value="状态(0->待审核;1->审核通过;2->审核拒绝)") + private String status; + + @ApiModelProperty(value="父id") + private Long parentId; + public Sign extractParam(){ Sign sign = new Sign(); BeanUtils.copyProperties(this,sign); diff --git a/bnyer-common/bnyer-common-core/src/main/java/com/bnyer/common/core/dto/SignFrontDto.java b/bnyer-common/bnyer-common-core/src/main/java/com/bnyer/common/core/dto/SignFrontDto.java new file mode 100644 index 0000000..da244d9 --- /dev/null +++ b/bnyer-common/bnyer-common-core/src/main/java/com/bnyer/common/core/dto/SignFrontDto.java @@ -0,0 +1,24 @@ +package com.bnyer.common.core.dto; + +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Getter; +import lombok.Setter; + +import java.io.Serializable; + + +@Getter +@Setter +@ApiModel("艺术家自定义标签接收类") +public class SignFrontDto implements Serializable { + + @ApiModelProperty(value="主键id") + private Long id; + + @ApiModelProperty(value="标签名称") + private String name; + + @ApiModelProperty(value="父id") + private Long parentId; +} diff --git a/bnyer-common/bnyer-common-core/src/main/java/com/bnyer/common/core/dto/SignPageDto.java b/bnyer-common/bnyer-common-core/src/main/java/com/bnyer/common/core/dto/SignPageDto.java index d204edb..937e311 100644 --- a/bnyer-common/bnyer-common-core/src/main/java/com/bnyer/common/core/dto/SignPageDto.java +++ b/bnyer-common/bnyer-common-core/src/main/java/com/bnyer/common/core/dto/SignPageDto.java @@ -15,4 +15,10 @@ public class SignPageDto extends BasePageDto { @ApiModelProperty(value="是否显示") private String isShow; + + @ApiModelProperty(value="标签类型(0->系统标签;1->自定义标签)") + private String type; + + @ApiModelProperty(value="状态(0->待审核;1->审核通过;2->审核拒绝)") + private String status; } diff --git a/bnyer-services/bnyer-img/src/main/java/com/bnyer/img/controller/CreatorMiniController.java b/bnyer-services/bnyer-img/src/main/java/com/bnyer/img/controller/CreatorMiniController.java index 88a15a0..17497c1 100644 --- a/bnyer-services/bnyer-img/src/main/java/com/bnyer/img/controller/CreatorMiniController.java +++ b/bnyer-services/bnyer-img/src/main/java/com/bnyer/img/controller/CreatorMiniController.java @@ -362,6 +362,12 @@ public class CreatorMiniController extends BaseController { return AjaxResult.success(signService.querySignList()); } + @ApiOperation(value="艺术家自定义创建标签") + @PostMapping(value = "/creatorSign") + public AjaxResult creatorSign(@RequestBody @ApiParam("自定义标签参数") SignFrontDto dto){ + return AjaxResult.success(signService.creatorSign(dto)); + } + @ApiOperation(value = "八字算命") @PostMapping("/getYs") public AjaxResult getYs(@RequestBody @ApiParam("八字运势") BzDto dto) { diff --git a/bnyer-services/bnyer-img/src/main/java/com/bnyer/img/mapper/SignMapper.java b/bnyer-services/bnyer-img/src/main/java/com/bnyer/img/mapper/SignMapper.java index 810c838..8cc1f2e 100644 --- a/bnyer-services/bnyer-img/src/main/java/com/bnyer/img/mapper/SignMapper.java +++ b/bnyer-services/bnyer-img/src/main/java/com/bnyer/img/mapper/SignMapper.java @@ -12,7 +12,7 @@ import java.util.List; @Mapper public interface SignMapper extends BaseMapper { /** - * 查询上传页面标签列表 + * 查询上传页面审核通过标签列表 * @return - */ List querySignList(); diff --git a/bnyer-services/bnyer-img/src/main/java/com/bnyer/img/service/SignService.java b/bnyer-services/bnyer-img/src/main/java/com/bnyer/img/service/SignService.java index fb0906e..be9978b 100644 --- a/bnyer-services/bnyer-img/src/main/java/com/bnyer/img/service/SignService.java +++ b/bnyer-services/bnyer-img/src/main/java/com/bnyer/img/service/SignService.java @@ -1,5 +1,6 @@ package com.bnyer.img.service; +import com.bnyer.common.core.dto.SignFrontDto; import com.bnyer.img.vo.SignImgVo; import com.bnyer.img.vo.SignVo; @@ -7,6 +8,13 @@ import java.util.List; public interface SignService { + /** + * 艺术家自定义创建标签 + * @param dto 标签参数 + * @return - + */ + int creatorSign(SignFrontDto dto); + /** * 查询上传页面标签列表 * @return - @@ -20,7 +28,7 @@ public interface SignService { List queryFrontSignByTypeId(Long typeId); /** - * 修改艺术家端标签 + * 修改艺术家端关联图片德尔标签 * @param imgId 图片id * @param typeId 分类id * @param signIds 标签列表 diff --git a/bnyer-services/bnyer-img/src/main/java/com/bnyer/img/service/impl/SignServiceImpl.java b/bnyer-services/bnyer-img/src/main/java/com/bnyer/img/service/impl/SignServiceImpl.java index ed81582..51722d3 100644 --- a/bnyer-services/bnyer-img/src/main/java/com/bnyer/img/service/impl/SignServiceImpl.java +++ b/bnyer-services/bnyer-img/src/main/java/com/bnyer/img/service/impl/SignServiceImpl.java @@ -2,6 +2,8 @@ package com.bnyer.img.service.impl; import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; import com.bnyer.common.core.domain.ImgSignRelation; +import com.bnyer.common.core.domain.Sign; +import com.bnyer.common.core.dto.SignFrontDto; import com.bnyer.img.mapper.ImgSignRelationMapper; import com.bnyer.img.mapper.SignMapper; import com.bnyer.img.service.SignService; @@ -10,7 +12,9 @@ import com.bnyer.img.vo.SignVo; import lombok.extern.slf4j.Slf4j; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; +import org.springframework.transaction.annotation.Transactional; +import java.util.Date; import java.util.List; @Service @@ -22,6 +26,21 @@ public class SignServiceImpl implements SignService { @Autowired private ImgSignRelationMapper imgSignRelationMapper; + @Override + @Transactional(rollbackFor = Exception.class) + public int creatorSign(SignFrontDto dto) { + Sign sign = new Sign(); + sign.setName(dto.getName()); + sign.setType("1"); + sign.setStatus("0"); + sign.setCreateTime(new Date()); + sign.setUpdateTime(new Date()); + sign.setIsShow("1"); + sign.setSort(0); + sign.setParentId(dto.getParentId()); + return signMapper.insert(sign); + } + @Override public List querySignList() { return signMapper.querySignList(); @@ -33,6 +52,7 @@ public class SignServiceImpl implements SignService { } @Override + @Transactional(rollbackFor = Exception.class) public void modifySign(Long imgId, Long typeId, List signIds) { //查询删除原有标签 LambdaQueryWrapper wrapper = new LambdaQueryWrapper<>(); diff --git a/bnyer-services/bnyer-img/src/main/java/com/bnyer/img/vo/SignVo.java b/bnyer-services/bnyer-img/src/main/java/com/bnyer/img/vo/SignVo.java index 084f30b..36205ff 100644 --- a/bnyer-services/bnyer-img/src/main/java/com/bnyer/img/vo/SignVo.java +++ b/bnyer-services/bnyer-img/src/main/java/com/bnyer/img/vo/SignVo.java @@ -18,5 +18,11 @@ public class SignVo implements Serializable { @ApiModelProperty(value="标签名称") private String name; + @ApiModelProperty(value="标签类型(0->系统标签;1->自定义标签)") + private String type; + + @ApiModelProperty(value="状态(0->待审核;1->审核通过;2->审核拒绝)") + private String status; + private static final long serialVersionUID = 1L; } \ No newline at end of file diff --git a/bnyer-services/bnyer-img/src/main/resources/com/bnyer/img/mapper/SignMapper.xml b/bnyer-services/bnyer-img/src/main/resources/com/bnyer/img/mapper/SignMapper.xml index b868502..efbdc0e 100644 --- a/bnyer-services/bnyer-img/src/main/resources/com/bnyer/img/mapper/SignMapper.xml +++ b/bnyer-services/bnyer-img/src/main/resources/com/bnyer/img/mapper/SignMapper.xml @@ -8,26 +8,29 @@ + + + - id, `name`, img,is_show, create_time, update_time, sort + id, `name`, img,is_show, create_time, update_time, sort,type,status,parent_id diff --git a/bnyer-services/bnyer-img/src/main/resources/com/bnyer/img/mapper/TiktokImgMapper.xml b/bnyer-services/bnyer-img/src/main/resources/com/bnyer/img/mapper/TiktokImgMapper.xml index bad5065..f8b315f 100644 --- a/bnyer-services/bnyer-img/src/main/resources/com/bnyer/img/mapper/TiktokImgMapper.xml +++ b/bnyer-services/bnyer-img/src/main/resources/com/bnyer/img/mapper/TiktokImgMapper.xml @@ -178,7 +178,7 @@ join img_img_sign_relation iisr on iisr.img_id = iti.id join img_sign iis on iisr.sign_id = iis.id - iis.is_show = '1' and iti.is_show = '1' and iti.status = '2' + iis.is_show = '1' and iti.is_show = '1' and iti.status = '2' and iis.status = '1' and iis.name like concat('%', #{signName}, '%') diff --git a/bnyer-services/bnyer-system/src/main/java/com/bnyer/system/controller/SignController.java b/bnyer-services/bnyer-system/src/main/java/com/bnyer/system/controller/SignController.java index 68b0963..108d3ce 100644 --- a/bnyer-services/bnyer-system/src/main/java/com/bnyer/system/controller/SignController.java +++ b/bnyer-services/bnyer-system/src/main/java/com/bnyer/system/controller/SignController.java @@ -2,9 +2,8 @@ package com.bnyer.system.controller; import com.alibaba.fastjson.JSON; import com.bnyer.common.core.domain.Sign; -import com.bnyer.common.core.dto.SignDto; -import com.bnyer.common.core.dto.SignPageDto; -import com.bnyer.common.core.dto.StatusDto; +import com.bnyer.common.core.domain.TiktokImg; +import com.bnyer.common.core.dto.*; import com.bnyer.common.core.web.controller.BaseController; import com.bnyer.common.core.web.domain.AjaxResult; import com.bnyer.common.core.web.page.TableDataInfo; @@ -76,4 +75,20 @@ public class SignController extends BaseController { log.debug("【图文平台后台】变更type参数为:{}", JSON.toJSONString(dto)); return AjaxResult.success(signService.changeStatus(dto.getId(),dto.getStatus())); } + + @RequiresPermissions("img:sign:verify") + @ApiOperation(value="批量变更标签审核状态") + @PostMapping(value = "/changeJudge") + public AjaxResult changeJudge(@Validated @RequestBody @ApiParam("标签状态对象") BatchStatusDto dto){ + log.debug("【图文平台后台】批量变更标签审核状态参数为:{}", JSON.toJSONString(dto)); + return AjaxResult.success(signService.changeJudge(dto.getIds(),dto.getStatus())); + } + + @ApiOperation(value="查询未审核自定义标签分页") + @PostMapping(value = "/pageUnVerifySigns") + public TableDataInfo pageUnVerifySigns(@RequestBody @ApiParam("标签分类对象") BasePageDto dto){ + PageHelper.startPage(dto.getPageNum(), dto.getPageSize()); + List signs = signService.pageUnVerifySigns(); + return getDataTable(signs); + } } diff --git a/bnyer-services/bnyer-system/src/main/java/com/bnyer/system/controller/TiktokImgController.java b/bnyer-services/bnyer-system/src/main/java/com/bnyer/system/controller/TiktokImgController.java index 7026c38..e9857b8 100644 --- a/bnyer-services/bnyer-system/src/main/java/com/bnyer/system/controller/TiktokImgController.java +++ b/bnyer-services/bnyer-system/src/main/java/com/bnyer/system/controller/TiktokImgController.java @@ -36,7 +36,7 @@ public class TiktokImgController extends BaseController { return getDataTable(tiktokImg); } - @ApiOperation(value="根据分类id查询未审核图片分业") + @ApiOperation(value="根据分类id查询未审核图片分页") @PostMapping(value = "/pageUnVerifyImgs") public TableDataInfo pageUnVerifyImgs(@RequestBody @ApiParam("图片分类对象") TiktokImgTypeDto dto){ PageHelper.startPage(dto.getPageNum(), dto.getPageSize()); diff --git a/bnyer-services/bnyer-system/src/main/java/com/bnyer/system/mapper/SignMapper.java b/bnyer-services/bnyer-system/src/main/java/com/bnyer/system/mapper/SignMapper.java index 1bb8492..93c29ba 100644 --- a/bnyer-services/bnyer-system/src/main/java/com/bnyer/system/mapper/SignMapper.java +++ b/bnyer-services/bnyer-system/src/main/java/com/bnyer/system/mapper/SignMapper.java @@ -3,8 +3,18 @@ package com.bnyer.system.mapper; import com.baomidou.mybatisplus.core.mapper.BaseMapper; import com.bnyer.common.core.domain.Sign; import org.apache.ibatis.annotations.Mapper; +import org.apache.ibatis.annotations.Param; + +import java.util.List; @Mapper public interface SignMapper extends BaseMapper { + /** + * 批量更新标签审核状态 + * @param ids 标签数组 + * @param status 审核状态 + * @return - + */ + int batchUpdateStatus(@Param("ids") List ids, @Param("status") String status); } \ No newline at end of file diff --git a/bnyer-services/bnyer-system/src/main/java/com/bnyer/system/service/ISignService.java b/bnyer-services/bnyer-system/src/main/java/com/bnyer/system/service/ISignService.java index 4102acc..4967ba9 100644 --- a/bnyer-services/bnyer-system/src/main/java/com/bnyer/system/service/ISignService.java +++ b/bnyer-services/bnyer-system/src/main/java/com/bnyer/system/service/ISignService.java @@ -55,4 +55,18 @@ public interface ISignService { * @return - */ int changeStatus(Long id, String status); + + /** + * 查询未审核自定义标签分页 + * @return - + */ + List pageUnVerifySigns(); + + /** + * 批量修改未审核自定义标签状态 + * @param ids 标签id + * @param status 审核状态 + * @return - + */ + int changeJudge(List ids, String status); } diff --git a/bnyer-services/bnyer-system/src/main/java/com/bnyer/system/service/impl/SignServiceImpl.java b/bnyer-services/bnyer-system/src/main/java/com/bnyer/system/service/impl/SignServiceImpl.java index af7417c..a4f47c6 100644 --- a/bnyer-services/bnyer-system/src/main/java/com/bnyer/system/service/impl/SignServiceImpl.java +++ b/bnyer-services/bnyer-system/src/main/java/com/bnyer/system/service/impl/SignServiceImpl.java @@ -4,6 +4,7 @@ import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; import com.baomidou.mybatisplus.core.conditions.update.LambdaUpdateWrapper; import com.bnyer.common.core.domain.ImgSignRelation; import com.bnyer.common.core.domain.Sign; +import com.bnyer.common.core.domain.TiktokImg; import com.bnyer.common.core.dto.SignPageDto; import com.bnyer.common.core.exception.ServiceException; import com.bnyer.common.core.utils.StringUtils; @@ -36,6 +37,7 @@ public class SignServiceImpl implements ISignService { }else{ sign.setCreateTime(new Date()); sign.setUpdateTime(new Date()); + sign.setStatus("1"); return signMapper.insert(sign); } } @@ -68,6 +70,12 @@ public class SignServiceImpl implements ISignService { if (StringUtils.isNotBlank(dto.getIsShow())){ wrapper.eq(Sign::getIsShow,dto.getIsShow()); } + if (StringUtils.isNotBlank(dto.getType())){ + wrapper.eq(Sign::getType,dto.getType()); + } + if (StringUtils.isNotBlank(dto.getStatus())){ + wrapper.eq(Sign::getStatus,dto.getStatus()); + } wrapper.orderByDesc(Sign::getSort); return signMapper.selectList(wrapper); } @@ -98,4 +106,17 @@ public class SignServiceImpl implements ISignService { sign.setIsShow(status); return signMapper.update(sign,wrapper); } + + @Override + public List pageUnVerifySigns() { + LambdaQueryWrapper wrapper = new LambdaQueryWrapper<>(); + wrapper.eq(Sign::getType,"1"); + wrapper.eq(Sign::getStatus,"0"); + return signMapper.selectList(wrapper); + } + + @Override + public int changeJudge(List ids, String status) { + return signMapper.batchUpdateStatus(ids,status); + } } diff --git a/bnyer-services/bnyer-system/src/main/resources/com/bnyer/system/mapper/SignMapper.xml b/bnyer-services/bnyer-system/src/main/resources/com/bnyer/system/mapper/SignMapper.xml new file mode 100644 index 0000000..451b7ed --- /dev/null +++ b/bnyer-services/bnyer-system/src/main/resources/com/bnyer/system/mapper/SignMapper.xml @@ -0,0 +1,31 @@ + + + + + + + + + + + + + + + + + + + + id, `name`, img,is_show, create_time, update_time, sort,type,status,parent_id + + + + update img_sign + set status = #{status},update_time = now() + where id in + + #{id} + + + \ No newline at end of file From a177d428e3d41fd81693ea3827916300bb2aa7f9 Mon Sep 17 00:00:00 2001 From: Penny <2500338766@qq.com> Date: Thu, 30 Mar 2023 01:48:38 +0800 Subject: [PATCH 05/13] =?UTF-8?q?feature-img-1.0:img=E6=9C=8D=E5=8A=A1?= =?UTF-8?q?=E6=96=B0=E5=A2=9E=E8=89=BA=E6=9C=AF=E5=AE=B6=E6=96=B0=E5=A2=9E?= =?UTF-8?q?=E8=87=AA=E5=AE=9A=E4=B9=89=E6=A0=87=E7=AD=BE=E5=8A=9F=E8=83=BD?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../bnyer/common/core/dto/SignFrontDto.java | 5 ++ .../com/bnyer/img/service/SignService.java | 7 +++ .../img/service/impl/SignServiceImpl.java | 48 +++++++++++++++---- 3 files changed, 50 insertions(+), 10 deletions(-) diff --git a/bnyer-common/bnyer-common-core/src/main/java/com/bnyer/common/core/dto/SignFrontDto.java b/bnyer-common/bnyer-common-core/src/main/java/com/bnyer/common/core/dto/SignFrontDto.java index da244d9..a5f8c5f 100644 --- a/bnyer-common/bnyer-common-core/src/main/java/com/bnyer/common/core/dto/SignFrontDto.java +++ b/bnyer-common/bnyer-common-core/src/main/java/com/bnyer/common/core/dto/SignFrontDto.java @@ -5,7 +5,10 @@ import io.swagger.annotations.ApiModelProperty; import lombok.Getter; import lombok.Setter; +import javax.validation.constraints.NotEmpty; +import javax.validation.constraints.NotNull; import java.io.Serializable; +import java.util.List; @Getter @@ -16,9 +19,11 @@ public class SignFrontDto implements Serializable { @ApiModelProperty(value="主键id") private Long id; + @NotEmpty(message = "标签名称必填!") @ApiModelProperty(value="标签名称") private String name; + @NotNull(message = "父id必填!") @ApiModelProperty(value="父id") private Long parentId; } diff --git a/bnyer-services/bnyer-img/src/main/java/com/bnyer/img/service/SignService.java b/bnyer-services/bnyer-img/src/main/java/com/bnyer/img/service/SignService.java index be9978b..74b190a 100644 --- a/bnyer-services/bnyer-img/src/main/java/com/bnyer/img/service/SignService.java +++ b/bnyer-services/bnyer-img/src/main/java/com/bnyer/img/service/SignService.java @@ -35,4 +35,11 @@ public interface SignService { * @return - */ void modifySign(Long imgId,Long typeId,List signIds); + + /** + * 检查是否存在重复名称 + * @param signNameList 标签列表 + * @return - + */ + void checkRepeat(String[] signNameList); } diff --git a/bnyer-services/bnyer-img/src/main/java/com/bnyer/img/service/impl/SignServiceImpl.java b/bnyer-services/bnyer-img/src/main/java/com/bnyer/img/service/impl/SignServiceImpl.java index 51722d3..7f76441 100644 --- a/bnyer-services/bnyer-img/src/main/java/com/bnyer/img/service/impl/SignServiceImpl.java +++ b/bnyer-services/bnyer-img/src/main/java/com/bnyer/img/service/impl/SignServiceImpl.java @@ -4,6 +4,8 @@ import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; import com.bnyer.common.core.domain.ImgSignRelation; import com.bnyer.common.core.domain.Sign; import com.bnyer.common.core.dto.SignFrontDto; +import com.bnyer.common.core.exception.ServiceException; +import com.bnyer.common.core.utils.StringUtils; import com.bnyer.img.mapper.ImgSignRelationMapper; import com.bnyer.img.mapper.SignMapper; import com.bnyer.img.service.SignService; @@ -29,16 +31,24 @@ public class SignServiceImpl implements SignService { @Override @Transactional(rollbackFor = Exception.class) public int creatorSign(SignFrontDto dto) { - Sign sign = new Sign(); - sign.setName(dto.getName()); - sign.setType("1"); - sign.setStatus("0"); - sign.setCreateTime(new Date()); - sign.setUpdateTime(new Date()); - sign.setIsShow("1"); - sign.setSort(0); - sign.setParentId(dto.getParentId()); - return signMapper.insert(sign); + if(StringUtils.isNotEmpty(dto.getName())){ + String[] splitNameList = dto.getName().split("、"); + //检查是否存在重复的 + checkRepeat(splitNameList); + for (int i = 0; i < splitNameList.length; i++) { + Sign sign = new Sign(); + sign.setName(splitNameList[i]); + sign.setType("1"); + sign.setStatus("0"); + sign.setCreateTime(new Date()); + sign.setUpdateTime(new Date()); + sign.setIsShow("1"); + sign.setSort(0); + sign.setParentId(dto.getParentId()); + return signMapper.insert(sign); + } + } + return 0; } @Override @@ -61,4 +71,22 @@ public class SignServiceImpl implements SignService { //插入新标签到关系表 imgSignRelationMapper.batctInsert(imgId,typeId,signIds); } + + @Override + public void checkRepeat(String[] signNameList) { + if(signNameList.length > 0){ + for (String name : signNameList) { + LambdaQueryWrapper wrapper = new LambdaQueryWrapper<>(); + wrapper.eq(Sign::getName, name); + Sign sign = signMapper.selectOne(wrapper); + if(sign != null){ + throw new ServiceException("自定义标签["+name+"]已存在,请重新编辑!"); + } + //检查长度是否大于8 + if(name.length() > 8){ + throw new ServiceException("自定义标签["+name+"]长度大于8,请重新编辑!"); + } + } + } + } } From 40b496f93c92a4fdef7c637229eb1fea15aea5ee Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E2=80=98=E2=80=98?= Date: Thu, 30 Mar 2023 20:04:51 +0800 Subject: [PATCH 06/13] =?UTF-8?q?feature-1.0-img:=E6=96=B0=E5=A2=9Eai?= =?UTF-8?q?=E6=A8=A1=E5=9D=97?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../com/bnyer/common/core/constant/TiktokConstant.java | 5 +++++ .../main/java/com/bnyer/common/core/domain/Creator.java | 7 +++++++ .../main/java/com/bnyer/common/core/dto/CreatorDto.java | 4 ++++ .../com/bnyer/img/service/impl/CreatorServiceImpl.java | 8 ++++++++ 4 files changed, 24 insertions(+) diff --git a/bnyer-common/bnyer-common-core/src/main/java/com/bnyer/common/core/constant/TiktokConstant.java b/bnyer-common/bnyer-common-core/src/main/java/com/bnyer/common/core/constant/TiktokConstant.java index 9ee384c..1d3bfb1 100644 --- a/bnyer-common/bnyer-common-core/src/main/java/com/bnyer/common/core/constant/TiktokConstant.java +++ b/bnyer-common/bnyer-common-core/src/main/java/com/bnyer/common/core/constant/TiktokConstant.java @@ -85,4 +85,9 @@ public class TiktokConstant { * 调用微信获取广告收入信息失败 */ public static final Integer WECHAT_INCOME_ERROR = 105014; + + /** + * 邮箱已被注册使用 + */ + public static final Integer EMAIL_EXIST_ERROR = 105015; } diff --git a/bnyer-common/bnyer-common-core/src/main/java/com/bnyer/common/core/domain/Creator.java b/bnyer-common/bnyer-common-core/src/main/java/com/bnyer/common/core/domain/Creator.java index cc7c4da..b4c9891 100644 --- a/bnyer-common/bnyer-common-core/src/main/java/com/bnyer/common/core/domain/Creator.java +++ b/bnyer-common/bnyer-common-core/src/main/java/com/bnyer/common/core/domain/Creator.java @@ -63,6 +63,13 @@ public class Creator extends BaseDomain { @ApiModelProperty(value="手机号") private String phone; + /** + * 邮箱 + */ + @TableField(value = "email") + @ApiModelProperty(value="邮箱") + private String email; + /** * 头像img地址 */ diff --git a/bnyer-common/bnyer-common-core/src/main/java/com/bnyer/common/core/dto/CreatorDto.java b/bnyer-common/bnyer-common-core/src/main/java/com/bnyer/common/core/dto/CreatorDto.java index 6990b4b..b030cff 100644 --- a/bnyer-common/bnyer-common-core/src/main/java/com/bnyer/common/core/dto/CreatorDto.java +++ b/bnyer-common/bnyer-common-core/src/main/java/com/bnyer/common/core/dto/CreatorDto.java @@ -26,6 +26,10 @@ public class CreatorDto implements Serializable { @ApiModelProperty(value="手机号") private String phone; + @NotBlank(message = "邮箱不能为空!") + @ApiModelProperty(value="邮箱") + private String email; + @NotBlank(message = "密码不能为空!") @ApiModelProperty(value="密码") private String password; diff --git a/bnyer-services/bnyer-img/src/main/java/com/bnyer/img/service/impl/CreatorServiceImpl.java b/bnyer-services/bnyer-img/src/main/java/com/bnyer/img/service/impl/CreatorServiceImpl.java index d5d2d18..b090674 100644 --- a/bnyer-services/bnyer-img/src/main/java/com/bnyer/img/service/impl/CreatorServiceImpl.java +++ b/bnyer-services/bnyer-img/src/main/java/com/bnyer/img/service/impl/CreatorServiceImpl.java @@ -99,8 +99,16 @@ public class CreatorServiceImpl implements CreatorService { if(creatorProtoType == null){ throw new ServiceException("邀请码不存在,请重新编辑!", TiktokConstant.INVITE_CODE_NOT_EXIST); } + //检验邮箱是否存在 + LambdaQueryWrapper wrapper2 = new LambdaQueryWrapper<>(); + wrapper2.eq(Creator::getEmail, StringUtils.trim(dto.getEmail())); + Creator creatorProtoEmail = creatorMapper.selectOne(wrapper2); + if(creatorProtoEmail != null){ + throw new ServiceException("邮箱已被注册,请重新编辑!", TiktokConstant.EMAIL_EXIST_ERROR); + } Creator creator = new Creator(); creator.setName(StringUtils.trim(dto.getName())); + creator.setEmail(StringUtils.trim(dto.getEmail())); creator.setPassword(Sm4Util.sm4Encryption(StringUtils.trim(dto.getPassword()))); creator.setImg(StringUtils.trim(dto.getImg())); creator.setIntro(StringUtils.trim(dto.getIntro())); From df3473c242ea2d84fcc07ab89c55f8a662354a00 Mon Sep 17 00:00:00 2001 From: Penny <2500338766@qq.com> Date: Sat, 1 Apr 2023 16:47:18 +0800 Subject: [PATCH 07/13] =?UTF-8?q?feature-img-1.0:=E6=96=B0=E5=A2=9E?= =?UTF-8?q?=E7=83=AD=E7=82=B9=E8=AF=8D=E8=AE=B0=E5=BF=86?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../core/constant/RedisKeyConstant.java | 10 +++ .../img/controller/FhMiniController.java | 23 +++++++ .../img/controller/TiktokMiniController.java | 38 +++++++++-- .../img/controller/WxMiniController.java | 23 +++++++ .../img/service/HotSearchKeywordService.java | 25 +++++++ .../impl/HotSearchKeywordServiceImpl.java | 65 +++++++++++++++++++ .../service/impl/TiktokImgServiceImpl.java | 18 ++++- 7 files changed, 195 insertions(+), 7 deletions(-) create mode 100644 bnyer-services/bnyer-img/src/main/java/com/bnyer/img/service/HotSearchKeywordService.java create mode 100644 bnyer-services/bnyer-img/src/main/java/com/bnyer/img/service/impl/HotSearchKeywordServiceImpl.java diff --git a/bnyer-common/bnyer-common-core/src/main/java/com/bnyer/common/core/constant/RedisKeyConstant.java b/bnyer-common/bnyer-common-core/src/main/java/com/bnyer/common/core/constant/RedisKeyConstant.java index b17e8ab..903e961 100644 --- a/bnyer-common/bnyer-common-core/src/main/java/com/bnyer/common/core/constant/RedisKeyConstant.java +++ b/bnyer-common/bnyer-common-core/src/main/java/com/bnyer/common/core/constant/RedisKeyConstant.java @@ -131,4 +131,14 @@ public class RedisKeyConstant { * 特约邀请码键 */ public static final String SPECIAL_INVITE_CODE_KEY = "bnyer.img.invite.status"; + + /** + * 热搜词 + */ + public static final String HOT_KEY_WORD_KEY = "bnyer.hotkeyword"; + + /** + * 热搜词存入时间 + */ + public static final String HOT_KEY_WORD_TIME_KEY = "bnyer.hotkeywordtime"; } diff --git a/bnyer-services/bnyer-img/src/main/java/com/bnyer/img/controller/FhMiniController.java b/bnyer-services/bnyer-img/src/main/java/com/bnyer/img/controller/FhMiniController.java index 2e89129..7d4d0a0 100644 --- a/bnyer-services/bnyer-img/src/main/java/com/bnyer/img/controller/FhMiniController.java +++ b/bnyer-services/bnyer-img/src/main/java/com/bnyer/img/controller/FhMiniController.java @@ -79,6 +79,9 @@ public class FhMiniController extends BaseController { @Autowired private FollowService followService; + @Autowired + private HotSearchKeywordService hotSearchKeywordService; + @ApiOperation(value="查询banner列表") @GetMapping(value = "/listBanner") public AjaxResult listBanner(){ @@ -351,4 +354,24 @@ public class FhMiniController extends BaseController { List creatorFollowVos = followService.queryFollowCreatorList(dto.getUserId(), "1"); return getDataTable(creatorFollowVos); } + + @ApiOperation(value="获取近一个月热度最高的前10条热搜词") + @GetMapping(value = "/getHotKeywordList") + public AjaxResult getHotKeywordList(){ + return AjaxResult.success(hotSearchKeywordService.getHotKeywordList()); + } + + @ApiOperation(value="点击增长热搜词热度次数") + @GetMapping(value = "/incrementHotKeywordScore/{keyword}") + public AjaxResult incrementHotKeywordScore(@PathVariable @ApiParam("热搜词") String keyword){ + hotSearchKeywordService.incrementHotKeywordScore(keyword); + return AjaxResult.success(); + } + + @ApiOperation(value="添加热搜词") + @GetMapping(value = "/insertHotKeyword/{keyword}") + public AjaxResult insertHotKeyword(@PathVariable @ApiParam("热搜词") String keyword){ + hotSearchKeywordService.insertHotKeyword(keyword); + return AjaxResult.success(); + } } diff --git a/bnyer-services/bnyer-img/src/main/java/com/bnyer/img/controller/TiktokMiniController.java b/bnyer-services/bnyer-img/src/main/java/com/bnyer/img/controller/TiktokMiniController.java index da2802a..83e573f 100644 --- a/bnyer-services/bnyer-img/src/main/java/com/bnyer/img/controller/TiktokMiniController.java +++ b/bnyer-services/bnyer-img/src/main/java/com/bnyer/img/controller/TiktokMiniController.java @@ -6,7 +6,6 @@ import com.bnyer.common.core.constant.TiktokConstant; import com.bnyer.common.core.domain.Feedback; import com.bnyer.common.core.domain.R; import com.bnyer.common.core.dto.*; -import com.bnyer.common.core.exception.ServiceException; import com.bnyer.common.core.web.controller.BaseController; import com.bnyer.common.core.web.domain.AjaxResult; import com.bnyer.common.core.web.page.TableDataInfo; @@ -22,6 +21,8 @@ import org.springframework.beans.factory.annotation.Autowired; import org.springframework.validation.annotation.Validated; import org.springframework.web.bind.annotation.*; +import java.io.IOException; +import java.util.ArrayList; import java.util.List; import java.util.Map; @@ -76,6 +77,9 @@ public class TiktokMiniController extends BaseController { @Autowired private FollowService followService; + @Autowired + private HotSearchKeywordService hotSearchKeywordService; + @ApiOperation(value="查询banner列表") @GetMapping(value = "/listBanner") public AjaxResult listBanner(){ @@ -283,13 +287,15 @@ public class TiktokMiniController extends BaseController { @ApiOperation(value="根据标签名称查询图片分页") @PostMapping(value = "/querySignImgBySignName") - public TableDataInfo querySignImgBySignName(@RequestBody @ApiParam("分页对象") SignImgNamePageDto dto){ + public TableDataInfo querySignImgBySignName(@RequestBody @ApiParam("分页对象") SignImgNamePageDto dto) { PageHelper.startPage(dto.getPageNum(), dto.getPageSize()); - List tiktokImgs = tiktokImgService.queryImgPageBySignName(dto.getSignName()); - if(tiktokImgs.size() <= 0){ - throw new ServiceException("该标签名称不存在!"); + List tiktokImgVos = tiktokImgService.queryImgPageBySignName(dto.getSignName()); + if(tiktokImgVos != null){ + return getDataTable(tiktokImgVos); + }else{ + return getDataTable(new ArrayList<>()); } - return getDataTable(tiktokImgs); + } @@ -370,4 +376,24 @@ public class TiktokMiniController extends BaseController { List creatorFollowVos = followService.queryFollowCreatorList(dto.getUserId(), "0"); return getDataTable(creatorFollowVos); } + + @ApiOperation(value="获取近一个月热度最高的前10条热搜词") + @GetMapping(value = "/getHotKeywordList") + public AjaxResult getHotKeywordList(){ + return AjaxResult.success(hotSearchKeywordService.getHotKeywordList()); + } + + @ApiOperation(value="点击增长热搜词热度次数") + @GetMapping(value = "/incrementHotKeywordScore/{keyword}") + public AjaxResult incrementHotKeywordScore(@PathVariable @ApiParam("热搜词") String keyword){ + hotSearchKeywordService.incrementHotKeywordScore(keyword); + return AjaxResult.success(); + } + + @ApiOperation(value="添加热搜词") + @GetMapping(value = "/insertHotKeyword/{keyword}") + public AjaxResult insertHotKeyword(@PathVariable @ApiParam("热搜词") String keyword){ + hotSearchKeywordService.insertHotKeyword(keyword); + return AjaxResult.success(); + } } diff --git a/bnyer-services/bnyer-img/src/main/java/com/bnyer/img/controller/WxMiniController.java b/bnyer-services/bnyer-img/src/main/java/com/bnyer/img/controller/WxMiniController.java index 610a52f..309b967 100644 --- a/bnyer-services/bnyer-img/src/main/java/com/bnyer/img/controller/WxMiniController.java +++ b/bnyer-services/bnyer-img/src/main/java/com/bnyer/img/controller/WxMiniController.java @@ -79,6 +79,9 @@ public class WxMiniController extends BaseController { @Autowired private FollowService followService; + @Autowired + private HotSearchKeywordService hotSearchKeywordService; + @ApiOperation(value="查询banner列表") @GetMapping(value = "/listBanner") @@ -381,4 +384,24 @@ public class WxMiniController extends BaseController { List creatorFollowVos = followService.queryFollowCreatorList(dto.getUserId(), "2"); return getDataTable(creatorFollowVos); } + + @ApiOperation(value="获取近一个月热度最高的前10条热搜词") + @GetMapping(value = "/getHotKeywordList") + public AjaxResult getHotKeywordList(){ + return AjaxResult.success(hotSearchKeywordService.getHotKeywordList()); + } + + @ApiOperation(value="点击增长热搜词热度次数") + @GetMapping(value = "/incrementHotKeywordScore/{keyword}") + public AjaxResult incrementHotKeywordScore(@PathVariable @ApiParam("热搜词") String keyword){ + hotSearchKeywordService.incrementHotKeywordScore(keyword); + return AjaxResult.success(); + } + + @ApiOperation(value="添加热搜词") + @GetMapping(value = "/insertHotKeyword/{keyword}") + public AjaxResult insertHotKeyword(@PathVariable @ApiParam("热搜词") String keyword){ + hotSearchKeywordService.insertHotKeyword(keyword); + return AjaxResult.success(); + } } diff --git a/bnyer-services/bnyer-img/src/main/java/com/bnyer/img/service/HotSearchKeywordService.java b/bnyer-services/bnyer-img/src/main/java/com/bnyer/img/service/HotSearchKeywordService.java new file mode 100644 index 0000000..a11a855 --- /dev/null +++ b/bnyer-services/bnyer-img/src/main/java/com/bnyer/img/service/HotSearchKeywordService.java @@ -0,0 +1,25 @@ +package com.bnyer.img.service; + +import java.util.List; + +public interface HotSearchKeywordService { + + /** + * 获取最近一个月搜索次数最多的前10条记录 + * @return - + */ + List getHotKeywordList(); + + /** + * 点击增长热搜词热度次数 + * @param keyword 热搜词 + * @return - + */ + void incrementHotKeywordScore(String keyword); + + /** + * 新增热搜词 + * @param keyword 热搜词 + */ + void insertHotKeyword(String keyword); +} diff --git a/bnyer-services/bnyer-img/src/main/java/com/bnyer/img/service/impl/HotSearchKeywordServiceImpl.java b/bnyer-services/bnyer-img/src/main/java/com/bnyer/img/service/impl/HotSearchKeywordServiceImpl.java new file mode 100644 index 0000000..d148308 --- /dev/null +++ b/bnyer-services/bnyer-img/src/main/java/com/bnyer/img/service/impl/HotSearchKeywordServiceImpl.java @@ -0,0 +1,65 @@ +package com.bnyer.img.service.impl; + +import com.bnyer.common.core.constant.RedisKeyConstant; +import com.bnyer.common.redis.service.RedisService; +import com.bnyer.img.service.HotSearchKeywordService; +import lombok.extern.slf4j.Slf4j; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.data.redis.core.HashOperations; +import org.springframework.data.redis.core.ValueOperations; +import org.springframework.data.redis.core.ZSetOperations; +import org.springframework.stereotype.Service; + +import java.util.ArrayList; +import java.util.List; +import java.util.Set; + +@Service +@Slf4j +public class HotSearchKeywordServiceImpl implements HotSearchKeywordService { + + @Autowired + private RedisService redisService; + + + + @Override + public List getHotKeywordList() { + Long now = System.currentTimeMillis(); + List result = new ArrayList<>(); + ZSetOperations zSetOperations = redisService.redisTemplate.opsForZSet(); + HashOperations hashOperations = redisService.redisTemplate.opsForHash(); + Set value = zSetOperations.reverseRangeByScore(RedisKeyConstant.HOT_KEY_WORD_KEY, 0, Double.MAX_VALUE); + //key不为空的时候 推荐相关的最热前十名 + for (String val : value) { + if (result.size() > 9) {//只返回最热的前十名 + break; + } + Long time = Long.valueOf((String) hashOperations.get(RedisKeyConstant.HOT_KEY_WORD_TIME_KEY, val)); + if ((now - time) < 2592000000L) {//返回最近一个月的数据 + result.add(val); + } else {//时间超过一个月没搜索就把这个词热度归0 + zSetOperations.add(RedisKeyConstant.HOT_KEY_WORD_KEY, val, 0); + } + } + return result; + } + + @Override + public void incrementHotKeywordScore(String keyword) { + Long now = System.currentTimeMillis(); + ZSetOperations zSetOperations = redisService.redisTemplate.opsForZSet(); + HashOperations hashOperations = redisService.redisTemplate.opsForHash(); + zSetOperations.incrementScore(RedisKeyConstant.HOT_KEY_WORD_KEY, keyword, 1); + hashOperations.put(RedisKeyConstant.HOT_KEY_WORD_TIME_KEY,keyword,String.valueOf(now)); + } + + @Override + public void insertHotKeyword(String keyword) { + Long now = System.currentTimeMillis(); + ZSetOperations zSetOperations = redisService.redisTemplate.opsForZSet(); + HashOperations hashOperations = redisService.redisTemplate.opsForHash(); + zSetOperations.incrementScore(RedisKeyConstant.HOT_KEY_WORD_KEY, keyword, 1); + hashOperations.put(RedisKeyConstant.HOT_KEY_WORD_TIME_KEY,keyword,String.valueOf(now)); + } +} diff --git a/bnyer-services/bnyer-img/src/main/java/com/bnyer/img/service/impl/TiktokImgServiceImpl.java b/bnyer-services/bnyer-img/src/main/java/com/bnyer/img/service/impl/TiktokImgServiceImpl.java index 40185a5..96399d1 100644 --- a/bnyer-services/bnyer-img/src/main/java/com/bnyer/img/service/impl/TiktokImgServiceImpl.java +++ b/bnyer-services/bnyer-img/src/main/java/com/bnyer/img/service/impl/TiktokImgServiceImpl.java @@ -8,12 +8,14 @@ import com.bnyer.common.core.domain.TiktokImg; import com.bnyer.common.core.domain.TiktokLike; import com.bnyer.common.core.dto.StatusDto; import com.bnyer.common.core.dto.TiktokImgMiniDto; +import com.bnyer.common.core.utils.StringUtils; import com.bnyer.common.redis.service.RedisService; import com.bnyer.img.constants.StatusImgConstant; import com.bnyer.img.mapper.ImgSignRelationMapper; import com.bnyer.img.mapper.TiktokCollectionMapper; import com.bnyer.img.mapper.TiktokImgMapper; import com.bnyer.img.mapper.TiktokLikeMapper; +import com.bnyer.img.service.HotSearchKeywordService; import com.bnyer.img.service.TiktokImgService; import com.bnyer.img.vo.*; import lombok.extern.slf4j.Slf4j; @@ -23,6 +25,7 @@ import org.springframework.stereotype.Service; import org.springframework.transaction.annotation.Transactional; import java.text.SimpleDateFormat; +import java.util.ArrayList; import java.util.Date; import java.util.List; @@ -45,6 +48,9 @@ public class TiktokImgServiceImpl implements TiktokImgService { @Autowired private ImgSignRelationMapper imgSignRelationMapper; + @Autowired + private HotSearchKeywordService hotSearchKeywordService; + @Override @Transactional(rollbackFor = Exception.class) public void insert(TiktokImgMiniDto dto) { @@ -210,7 +216,17 @@ public class TiktokImgServiceImpl implements TiktokImgService { @Override public List queryImgPageBySignName(String signName) { - return tiktokImgMapper.queryImgPageBySignName(signName); + if(StringUtils.isNotBlank(signName)){ + List tiktokImgVos = tiktokImgMapper.queryImgPageBySignName(signName); + if(tiktokImgVos.size() > 0){ + return tiktokImgVos; + }else{ + return null; + } + }else{ + //返回Null,则让前端界面判断,使其引导用户去用AI绘画 + return null; + } } @Override From 5e814f6fb886255134c4b513eba698ad931ad14e Mon Sep 17 00:00:00 2001 From: Penny <2500338766@qq.com> Date: Sun, 9 Apr 2023 02:17:59 +0800 Subject: [PATCH 08/13] =?UTF-8?q?feature-img-1.0:=E6=96=B0=E5=A2=9EAI?= =?UTF-8?q?=E7=BB=98=E5=9B=BE=E7=9B=B8=E5=85=B3=E5=86=85=E5=AE=B9?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../bnyer/common/core/domain/PaintStyle.java | 58 +++++++++++++ .../com/bnyer/common/core/domain/Prompt.java | 44 ++++++++++ .../bnyer/common/core/dto/PaintStyleDto.java | 41 +++++++++ .../common/core/dto/PaintStylePageDto.java | 22 +++++ .../com/bnyer/common/core/dto/PromptDto.java | 32 +++++++ .../bnyer/common/core/dto/PromptPageDto.java | 22 +++++ .../img/config/RestTemplateConfiguration.java | 2 +- .../img/controller/FhMiniController.java | 18 ++++ .../img/controller/TiktokMiniController.java | 27 ++++++ .../img/controller/WxMiniController.java | 18 ++++ .../bnyer/img/mapper/PaintStyleMapper.java | 18 ++++ .../com/bnyer/img/mapper/PromptMapper.java | 18 ++++ .../bnyer/img/service/PaintStyleService.java | 14 +++ .../com/bnyer/img/service/PromptService.java | 14 +++ .../service/impl/PaintStyleServiceImpl.java | 23 +++++ .../img/service/impl/PromptServiceimpl.java | 40 +++++++++ .../java/com/bnyer/img/vo/PaintStyleVo.java | 31 +++++++ .../main/java/com/bnyer/img/vo/PromptVo.java | 26 ++++++ .../com/bnyer/img/mapper/PaintStyleMapper.xml | 28 ++++++ .../com/bnyer/img/mapper/PromptMapper.xml | 27 ++++++ .../controller/PaintStyleController.java | 87 +++++++++++++++++++ .../system/controller/PromptController.java | 79 +++++++++++++++++ .../bnyer/system/mapper/PaintStyleMapper.java | 11 +++ .../com/bnyer/system/mapper/PromptMapper.java | 11 +++ .../system/service/IPaintStyleService.java | 60 +++++++++++++ .../bnyer/system/service/IPromptService.java | 52 +++++++++++ .../service/impl/PaintStyleServiceImpl.java | 85 ++++++++++++++++++ .../service/impl/PromptServiceImpl.java | 76 ++++++++++++++++ 28 files changed, 983 insertions(+), 1 deletion(-) create mode 100644 bnyer-common/bnyer-common-core/src/main/java/com/bnyer/common/core/domain/PaintStyle.java create mode 100644 bnyer-common/bnyer-common-core/src/main/java/com/bnyer/common/core/domain/Prompt.java create mode 100644 bnyer-common/bnyer-common-core/src/main/java/com/bnyer/common/core/dto/PaintStyleDto.java create mode 100644 bnyer-common/bnyer-common-core/src/main/java/com/bnyer/common/core/dto/PaintStylePageDto.java create mode 100644 bnyer-common/bnyer-common-core/src/main/java/com/bnyer/common/core/dto/PromptDto.java create mode 100644 bnyer-common/bnyer-common-core/src/main/java/com/bnyer/common/core/dto/PromptPageDto.java create mode 100644 bnyer-services/bnyer-img/src/main/java/com/bnyer/img/mapper/PaintStyleMapper.java create mode 100644 bnyer-services/bnyer-img/src/main/java/com/bnyer/img/mapper/PromptMapper.java create mode 100644 bnyer-services/bnyer-img/src/main/java/com/bnyer/img/service/PaintStyleService.java create mode 100644 bnyer-services/bnyer-img/src/main/java/com/bnyer/img/service/PromptService.java create mode 100644 bnyer-services/bnyer-img/src/main/java/com/bnyer/img/service/impl/PaintStyleServiceImpl.java create mode 100644 bnyer-services/bnyer-img/src/main/java/com/bnyer/img/service/impl/PromptServiceimpl.java create mode 100644 bnyer-services/bnyer-img/src/main/java/com/bnyer/img/vo/PaintStyleVo.java create mode 100644 bnyer-services/bnyer-img/src/main/java/com/bnyer/img/vo/PromptVo.java create mode 100644 bnyer-services/bnyer-img/src/main/resources/com/bnyer/img/mapper/PaintStyleMapper.xml create mode 100644 bnyer-services/bnyer-img/src/main/resources/com/bnyer/img/mapper/PromptMapper.xml create mode 100644 bnyer-services/bnyer-system/src/main/java/com/bnyer/system/controller/PaintStyleController.java create mode 100644 bnyer-services/bnyer-system/src/main/java/com/bnyer/system/controller/PromptController.java create mode 100644 bnyer-services/bnyer-system/src/main/java/com/bnyer/system/mapper/PaintStyleMapper.java create mode 100644 bnyer-services/bnyer-system/src/main/java/com/bnyer/system/mapper/PromptMapper.java create mode 100644 bnyer-services/bnyer-system/src/main/java/com/bnyer/system/service/IPaintStyleService.java create mode 100644 bnyer-services/bnyer-system/src/main/java/com/bnyer/system/service/IPromptService.java create mode 100644 bnyer-services/bnyer-system/src/main/java/com/bnyer/system/service/impl/PaintStyleServiceImpl.java create mode 100644 bnyer-services/bnyer-system/src/main/java/com/bnyer/system/service/impl/PromptServiceImpl.java diff --git a/bnyer-common/bnyer-common-core/src/main/java/com/bnyer/common/core/domain/PaintStyle.java b/bnyer-common/bnyer-common-core/src/main/java/com/bnyer/common/core/domain/PaintStyle.java new file mode 100644 index 0000000..e6b9e1c --- /dev/null +++ b/bnyer-common/bnyer-common-core/src/main/java/com/bnyer/common/core/domain/PaintStyle.java @@ -0,0 +1,58 @@ +package com.bnyer.common.core.domain; + +import com.baomidou.mybatisplus.annotation.IdType; +import com.baomidou.mybatisplus.annotation.TableField; +import com.baomidou.mybatisplus.annotation.TableId; +import com.baomidou.mybatisplus.annotation.TableName; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.*; + +/** + * 绘画-模型风格表 + */ +@ApiModel(value="com-bnyer-common-core-domain-PaintStyle") +@Getter +@Setter +@ToString +@AllArgsConstructor +@NoArgsConstructor +@TableName(value = "img_paint_style") +public class PaintStyle extends BaseDomain { + /** + * 主键id + */ + @TableId(value = "id", type = IdType.AUTO) + @ApiModelProperty(value="主键id") + private Long id; + + /** + * 模型风格名称 + */ + @TableField(value = "`name`") + @ApiModelProperty(value="模型风格名称") + private String name; + + /** + * 模型名称 + */ + @TableField(value = "model_name") + @ApiModelProperty(value="模型名称") + private String modelName; + + /** + * 模型风格图片 + */ + @TableField(value = "img_url") + @ApiModelProperty(value="模型风格图片") + private String imgUrl; + + /** + * 是否热门(0->正常;1->热门) + */ + @TableField(value = "is_hot") + @ApiModelProperty(value="是否热门(0->正常;1->热门)") + private String isHot; + + private static final long serialVersionUID = 1L; +} \ No newline at end of file diff --git a/bnyer-common/bnyer-common-core/src/main/java/com/bnyer/common/core/domain/Prompt.java b/bnyer-common/bnyer-common-core/src/main/java/com/bnyer/common/core/domain/Prompt.java new file mode 100644 index 0000000..88a9bd9 --- /dev/null +++ b/bnyer-common/bnyer-common-core/src/main/java/com/bnyer/common/core/domain/Prompt.java @@ -0,0 +1,44 @@ +package com.bnyer.common.core.domain; + +import com.baomidou.mybatisplus.annotation.IdType; +import com.baomidou.mybatisplus.annotation.TableField; +import com.baomidou.mybatisplus.annotation.TableId; +import com.baomidou.mybatisplus.annotation.TableName; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.*; + +/** + * 绘画-提示词表 + */ +@ApiModel(value="com-bnyer-common-core-domain-Prompt") +@Getter +@Setter +@ToString +@AllArgsConstructor +@NoArgsConstructor +@TableName(value = "img_prompt") +public class Prompt extends BaseDomain { + /** + * 主键id + */ + @TableId(value = "id", type = IdType.AUTO) + @ApiModelProperty(value="主键id") + private Long id; + + /** + * 提示词 + */ + @TableField(value = "`text`") + @ApiModelProperty(value="提示词") + private String text; + + /** + * 类型(0->绘画;1->gpt) + */ + @TableField(value = "`type`") + @ApiModelProperty(value="类型(0->绘画;1->gpt)") + private String type; + + private static final long serialVersionUID = 1L; +} \ No newline at end of file diff --git a/bnyer-common/bnyer-common-core/src/main/java/com/bnyer/common/core/dto/PaintStyleDto.java b/bnyer-common/bnyer-common-core/src/main/java/com/bnyer/common/core/dto/PaintStyleDto.java new file mode 100644 index 0000000..4cce2ae --- /dev/null +++ b/bnyer-common/bnyer-common-core/src/main/java/com/bnyer/common/core/dto/PaintStyleDto.java @@ -0,0 +1,41 @@ +package com.bnyer.common.core.dto; + +import com.bnyer.common.core.domain.PaintStyle; +import com.bnyer.common.core.utils.bean.BeanUtils; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Getter; +import lombok.Setter; + +import java.io.Serializable; + + +@Getter +@Setter +@ApiModel("绘画风格入参接收类") +public class PaintStyleDto implements Serializable { + + @ApiModelProperty(value="主键id") + private Long id; + + @ApiModelProperty(value="模型风格名称") + private String name; + + @ApiModelProperty(value="模型名称") + private String modelName; + + @ApiModelProperty(value="模型风格图片") + private String imgUrl; + + @ApiModelProperty(value="是否热门(0->正常;1->热门)") + private String isHot; + + @ApiModelProperty(value="排序") + private Integer sort; + + public PaintStyle extractParam(){ + PaintStyle paintStyle = new PaintStyle(); + BeanUtils.copyProperties(this,paintStyle); + return paintStyle; + } +} diff --git a/bnyer-common/bnyer-common-core/src/main/java/com/bnyer/common/core/dto/PaintStylePageDto.java b/bnyer-common/bnyer-common-core/src/main/java/com/bnyer/common/core/dto/PaintStylePageDto.java new file mode 100644 index 0000000..66bd127 --- /dev/null +++ b/bnyer-common/bnyer-common-core/src/main/java/com/bnyer/common/core/dto/PaintStylePageDto.java @@ -0,0 +1,22 @@ +package com.bnyer.common.core.dto; + +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Getter; +import lombok.Setter; + + +@Getter +@Setter +@ApiModel("绘画风格分页接收类") +public class PaintStylePageDto extends BasePageDto { + + @ApiModelProperty(value="模型风格名称") + private String name; + + @ApiModelProperty(value="是否热门(0->正常;1->热门)") + private String isHot; + + @ApiModelProperty(value="是否显示 (0->隐藏;1->显示)") + private String isShow; +} diff --git a/bnyer-common/bnyer-common-core/src/main/java/com/bnyer/common/core/dto/PromptDto.java b/bnyer-common/bnyer-common-core/src/main/java/com/bnyer/common/core/dto/PromptDto.java new file mode 100644 index 0000000..5f98f8d --- /dev/null +++ b/bnyer-common/bnyer-common-core/src/main/java/com/bnyer/common/core/dto/PromptDto.java @@ -0,0 +1,32 @@ +package com.bnyer.common.core.dto; + +import com.bnyer.common.core.domain.Prompt; +import com.bnyer.common.core.utils.bean.BeanUtils; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Getter; +import lombok.Setter; + +import java.io.Serializable; + + +@Getter +@Setter +@ApiModel("提示词入参接收类") +public class PromptDto implements Serializable { + + @ApiModelProperty(value="主键id") + private Long id; + + @ApiModelProperty(value="提示词") + private String text; + + @ApiModelProperty(value="类型(0->绘画;1->gpt)") + private String type; + + public Prompt extractParam(){ + Prompt prompt = new Prompt(); + BeanUtils.copyProperties(this,prompt); + return prompt; + } +} diff --git a/bnyer-common/bnyer-common-core/src/main/java/com/bnyer/common/core/dto/PromptPageDto.java b/bnyer-common/bnyer-common-core/src/main/java/com/bnyer/common/core/dto/PromptPageDto.java new file mode 100644 index 0000000..9f300a1 --- /dev/null +++ b/bnyer-common/bnyer-common-core/src/main/java/com/bnyer/common/core/dto/PromptPageDto.java @@ -0,0 +1,22 @@ +package com.bnyer.common.core.dto; + +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Getter; +import lombok.Setter; + + +@Getter +@Setter +@ApiModel("提示词分页接收类") +public class PromptPageDto extends BasePageDto { + + @ApiModelProperty(value="提示词") + private String text; + + @ApiModelProperty(value="类型(0->绘画;1->gpt)") + private String type; + + @ApiModelProperty(value="是否显示 (0->隐藏;1->显示)") + private String isShow; +} diff --git a/bnyer-services/bnyer-img/src/main/java/com/bnyer/img/config/RestTemplateConfiguration.java b/bnyer-services/bnyer-img/src/main/java/com/bnyer/img/config/RestTemplateConfiguration.java index 67e3d53..d6205ab 100644 --- a/bnyer-services/bnyer-img/src/main/java/com/bnyer/img/config/RestTemplateConfiguration.java +++ b/bnyer-services/bnyer-img/src/main/java/com/bnyer/img/config/RestTemplateConfiguration.java @@ -21,7 +21,7 @@ public class RestTemplateConfiguration { public ClientHttpRequestFactory simpleClientHttpRequestFactory(){ SimpleClientHttpRequestFactory factory = new SimpleClientHttpRequestFactory(); factory.setConnectTimeout(15000); - factory.setReadTimeout(5000); + factory.setReadTimeout(10000); return factory; } } diff --git a/bnyer-services/bnyer-img/src/main/java/com/bnyer/img/controller/FhMiniController.java b/bnyer-services/bnyer-img/src/main/java/com/bnyer/img/controller/FhMiniController.java index 7d4d0a0..1a0aa9e 100644 --- a/bnyer-services/bnyer-img/src/main/java/com/bnyer/img/controller/FhMiniController.java +++ b/bnyer-services/bnyer-img/src/main/java/com/bnyer/img/controller/FhMiniController.java @@ -82,6 +82,12 @@ public class FhMiniController extends BaseController { @Autowired private HotSearchKeywordService hotSearchKeywordService; + @Autowired + private PaintStyleService paintStyleService; + + @Autowired + private PromptService promptService; + @ApiOperation(value="查询banner列表") @GetMapping(value = "/listBanner") public AjaxResult listBanner(){ @@ -374,4 +380,16 @@ public class FhMiniController extends BaseController { hotSearchKeywordService.insertHotKeyword(keyword); return AjaxResult.success(); } + + @ApiOperation(value="获取绘画风格列表") + @GetMapping(value = "/getPaintStyle") + public AjaxResult getPaintStyle(){ + return AjaxResult.success(paintStyleService.queryPaintStyleList()); + } + + @ApiOperation(value="获取提示词列表") + @GetMapping(value = "/getPrompt") + public AjaxResult getPrompt(){ + return AjaxResult.success(promptService.queryPromptList()); + } } diff --git a/bnyer-services/bnyer-img/src/main/java/com/bnyer/img/controller/TiktokMiniController.java b/bnyer-services/bnyer-img/src/main/java/com/bnyer/img/controller/TiktokMiniController.java index 83e573f..95f0b4e 100644 --- a/bnyer-services/bnyer-img/src/main/java/com/bnyer/img/controller/TiktokMiniController.java +++ b/bnyer-services/bnyer-img/src/main/java/com/bnyer/img/controller/TiktokMiniController.java @@ -80,6 +80,15 @@ public class TiktokMiniController extends BaseController { @Autowired private HotSearchKeywordService hotSearchKeywordService; + @Autowired + private PaintStyleService paintStyleService; + + @Autowired + private PromptService promptService; + + @Autowired + private StableDiffusionService stableDiffusionService; + @ApiOperation(value="查询banner列表") @GetMapping(value = "/listBanner") public AjaxResult listBanner(){ @@ -396,4 +405,22 @@ public class TiktokMiniController extends BaseController { hotSearchKeywordService.insertHotKeyword(keyword); return AjaxResult.success(); } + + @ApiOperation(value="获取绘画风格列表") + @GetMapping(value = "/getPaintStyle") + public AjaxResult getPaintStyle(){ + return AjaxResult.success(paintStyleService.queryPaintStyleList()); + } + + @ApiOperation(value="获取提示词列表") + @GetMapping(value = "/getPrompt") + public AjaxResult getPrompt(){ + return AjaxResult.success(promptService.queryPromptList()); + } + + @ApiOperation(value="文生图") + @PostMapping(value = "/textToImg") + public AjaxResult textToImg(@Validated @RequestBody @ApiParam("文生图对象") TextToImgDto param){ + return AjaxResult.success(stableDiffusionService.textToImg(param)); + } } diff --git a/bnyer-services/bnyer-img/src/main/java/com/bnyer/img/controller/WxMiniController.java b/bnyer-services/bnyer-img/src/main/java/com/bnyer/img/controller/WxMiniController.java index 309b967..3352d36 100644 --- a/bnyer-services/bnyer-img/src/main/java/com/bnyer/img/controller/WxMiniController.java +++ b/bnyer-services/bnyer-img/src/main/java/com/bnyer/img/controller/WxMiniController.java @@ -82,6 +82,12 @@ public class WxMiniController extends BaseController { @Autowired private HotSearchKeywordService hotSearchKeywordService; + @Autowired + private PaintStyleService paintStyleService; + + @Autowired + private PromptService promptService; + @ApiOperation(value="查询banner列表") @GetMapping(value = "/listBanner") @@ -404,4 +410,16 @@ public class WxMiniController extends BaseController { hotSearchKeywordService.insertHotKeyword(keyword); return AjaxResult.success(); } + + @ApiOperation(value="获取绘画风格列表") + @GetMapping(value = "/getPaintStyle") + public AjaxResult getPaintStyle(){ + return AjaxResult.success(paintStyleService.queryPaintStyleList()); + } + + @ApiOperation(value="获取提示词列表") + @GetMapping(value = "/getPrompt") + public AjaxResult getPrompt(){ + return AjaxResult.success(promptService.queryPromptList()); + } } diff --git a/bnyer-services/bnyer-img/src/main/java/com/bnyer/img/mapper/PaintStyleMapper.java b/bnyer-services/bnyer-img/src/main/java/com/bnyer/img/mapper/PaintStyleMapper.java new file mode 100644 index 0000000..56d52cc --- /dev/null +++ b/bnyer-services/bnyer-img/src/main/java/com/bnyer/img/mapper/PaintStyleMapper.java @@ -0,0 +1,18 @@ +package com.bnyer.img.mapper; + +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import com.bnyer.common.core.domain.PaintStyle; +import com.bnyer.img.vo.PaintStyleVo; +import org.apache.ibatis.annotations.Mapper; + +import java.util.List; + +@Mapper +public interface PaintStyleMapper extends BaseMapper { + + /** + * 获取绘画风格列表 + * @return - + */ + List queryList(); +} \ No newline at end of file diff --git a/bnyer-services/bnyer-img/src/main/java/com/bnyer/img/mapper/PromptMapper.java b/bnyer-services/bnyer-img/src/main/java/com/bnyer/img/mapper/PromptMapper.java new file mode 100644 index 0000000..76f4110 --- /dev/null +++ b/bnyer-services/bnyer-img/src/main/java/com/bnyer/img/mapper/PromptMapper.java @@ -0,0 +1,18 @@ +package com.bnyer.img.mapper; + +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import com.bnyer.common.core.domain.Prompt; +import com.bnyer.img.vo.PromptVo; +import org.apache.ibatis.annotations.Mapper; + +import java.util.List; + +@Mapper +public interface PromptMapper extends BaseMapper { + /** + * 获取提示词列表 + * @param type 类型 + * @return - + */ + List queryList(String type); +} \ No newline at end of file diff --git a/bnyer-services/bnyer-img/src/main/java/com/bnyer/img/service/PaintStyleService.java b/bnyer-services/bnyer-img/src/main/java/com/bnyer/img/service/PaintStyleService.java new file mode 100644 index 0000000..983af26 --- /dev/null +++ b/bnyer-services/bnyer-img/src/main/java/com/bnyer/img/service/PaintStyleService.java @@ -0,0 +1,14 @@ +package com.bnyer.img.service; + +import com.bnyer.img.vo.PaintStyleVo; + +import java.util.List; + +public interface PaintStyleService { + + /** + * 获取绘画风格列表 + * @return - + */ + List queryPaintStyleList(); +} diff --git a/bnyer-services/bnyer-img/src/main/java/com/bnyer/img/service/PromptService.java b/bnyer-services/bnyer-img/src/main/java/com/bnyer/img/service/PromptService.java new file mode 100644 index 0000000..22086d8 --- /dev/null +++ b/bnyer-services/bnyer-img/src/main/java/com/bnyer/img/service/PromptService.java @@ -0,0 +1,14 @@ +package com.bnyer.img.service; + +import com.bnyer.img.vo.PromptVo; + +import java.util.List; + +public interface PromptService { + + /** + * 随机获取8条提示词列表 + * @return - + */ + List queryPromptList(); +} diff --git a/bnyer-services/bnyer-img/src/main/java/com/bnyer/img/service/impl/PaintStyleServiceImpl.java b/bnyer-services/bnyer-img/src/main/java/com/bnyer/img/service/impl/PaintStyleServiceImpl.java new file mode 100644 index 0000000..a227f91 --- /dev/null +++ b/bnyer-services/bnyer-img/src/main/java/com/bnyer/img/service/impl/PaintStyleServiceImpl.java @@ -0,0 +1,23 @@ +package com.bnyer.img.service.impl; + +import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; +import com.bnyer.common.core.domain.PaintStyle; +import com.bnyer.img.mapper.PaintStyleMapper; +import com.bnyer.img.service.PaintStyleService; +import com.bnyer.img.vo.PaintStyleVo; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.stereotype.Service; + +import java.util.List; + +@Service +public class PaintStyleServiceImpl implements PaintStyleService { + + @Autowired + private PaintStyleMapper paintStyleMapper; + + @Override + public List queryPaintStyleList() { + return paintStyleMapper.queryList(); + } +} diff --git a/bnyer-services/bnyer-img/src/main/java/com/bnyer/img/service/impl/PromptServiceimpl.java b/bnyer-services/bnyer-img/src/main/java/com/bnyer/img/service/impl/PromptServiceimpl.java new file mode 100644 index 0000000..814a07f --- /dev/null +++ b/bnyer-services/bnyer-img/src/main/java/com/bnyer/img/service/impl/PromptServiceimpl.java @@ -0,0 +1,40 @@ +package com.bnyer.img.service.impl; + +import com.bnyer.img.mapper.PromptMapper; +import com.bnyer.img.service.PromptService; +import com.bnyer.img.vo.PromptVo; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.stereotype.Service; + +import java.util.ArrayList; +import java.util.HashMap; +import java.util.List; +import java.util.Map; + +@Service +public class PromptServiceimpl implements PromptService { + + @Autowired + private PromptMapper promptMapper; + + @Override + public List queryPromptList() { + //type:0->绘画;1->gpt + List promptVos = promptMapper.queryList("0"); + List news = new ArrayList<>(); + Map map = new HashMap<>(); + //随机抽10条数据展示在页面上 + if (promptVos.size() <= 30) { + return promptVos; + }else{ + while (map.size() < 30) { + int random = (int)(Math.random() * promptVos.size()); + if (!map.containsKey(random)) { + map.put(random, ""); + news.add(promptVos.get(random)); + } + } + } + return news; + } +} diff --git a/bnyer-services/bnyer-img/src/main/java/com/bnyer/img/vo/PaintStyleVo.java b/bnyer-services/bnyer-img/src/main/java/com/bnyer/img/vo/PaintStyleVo.java new file mode 100644 index 0000000..2a6612e --- /dev/null +++ b/bnyer-services/bnyer-img/src/main/java/com/bnyer/img/vo/PaintStyleVo.java @@ -0,0 +1,31 @@ +package com.bnyer.img.vo; + +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Getter; +import lombok.Setter; + +import java.io.Serializable; + + +@Getter +@Setter +@ApiModel("绘画风格响应体") +public class PaintStyleVo implements Serializable { + @ApiModelProperty(value="主键id") + private Long id; + + @ApiModelProperty(value="模型风格名称") + private String name; + + @ApiModelProperty(value="模型名称") + private String modelName; + + @ApiModelProperty(value="模型风格图片") + private String imgUrl; + + @ApiModelProperty(value="是否热门(0->正常;1->热门)") + private String isHot; + + private static final long serialVersionUID = 1L; +} \ No newline at end of file diff --git a/bnyer-services/bnyer-img/src/main/java/com/bnyer/img/vo/PromptVo.java b/bnyer-services/bnyer-img/src/main/java/com/bnyer/img/vo/PromptVo.java new file mode 100644 index 0000000..b738fd8 --- /dev/null +++ b/bnyer-services/bnyer-img/src/main/java/com/bnyer/img/vo/PromptVo.java @@ -0,0 +1,26 @@ +package com.bnyer.img.vo; + +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Getter; +import lombok.Setter; + +import java.io.Serializable; + + +@Getter +@Setter +@ApiModel("提示词响应体") +public class PromptVo implements Serializable { + + @ApiModelProperty(value="主键id") + private Long id; + + @ApiModelProperty(value="提示词") + private String text; + + @ApiModelProperty(value="类型(0->绘画;1->gpt)") + private String type; + + private static final long serialVersionUID = 1L; +} \ No newline at end of file diff --git a/bnyer-services/bnyer-img/src/main/resources/com/bnyer/img/mapper/PaintStyleMapper.xml b/bnyer-services/bnyer-img/src/main/resources/com/bnyer/img/mapper/PaintStyleMapper.xml new file mode 100644 index 0000000..67d2765 --- /dev/null +++ b/bnyer-services/bnyer-img/src/main/resources/com/bnyer/img/mapper/PaintStyleMapper.xml @@ -0,0 +1,28 @@ + + + + + + + + + + + + + + + + + + + id, `name`, model_name, img_url, is_show, is_hot, create_time, update_time, sort + + + + \ No newline at end of file diff --git a/bnyer-services/bnyer-img/src/main/resources/com/bnyer/img/mapper/PromptMapper.xml b/bnyer-services/bnyer-img/src/main/resources/com/bnyer/img/mapper/PromptMapper.xml new file mode 100644 index 0000000..0c036e3 --- /dev/null +++ b/bnyer-services/bnyer-img/src/main/resources/com/bnyer/img/mapper/PromptMapper.xml @@ -0,0 +1,27 @@ + + + + + + + + + + + + + + + + + id, `text`, `type`, is_show, create_time, update_time, sort + + + + \ No newline at end of file diff --git a/bnyer-services/bnyer-system/src/main/java/com/bnyer/system/controller/PaintStyleController.java b/bnyer-services/bnyer-system/src/main/java/com/bnyer/system/controller/PaintStyleController.java new file mode 100644 index 0000000..e540d7b --- /dev/null +++ b/bnyer-services/bnyer-system/src/main/java/com/bnyer/system/controller/PaintStyleController.java @@ -0,0 +1,87 @@ +package com.bnyer.system.controller; + +import com.alibaba.fastjson.JSON; +import com.bnyer.common.core.domain.PaintStyle; +import com.bnyer.common.core.dto.PaintStyleDto; +import com.bnyer.common.core.dto.PaintStylePageDto; +import com.bnyer.common.core.dto.StatusDto; +import com.bnyer.common.core.web.controller.BaseController; +import com.bnyer.common.core.web.domain.AjaxResult; +import com.bnyer.common.core.web.page.TableDataInfo; +import com.bnyer.common.security.annotation.RequiresPermissions; +import com.bnyer.system.service.IPaintStyleService; +import com.github.pagehelper.PageHelper; +import io.swagger.annotations.Api; +import io.swagger.annotations.ApiOperation; +import io.swagger.annotations.ApiParam; +import lombok.extern.slf4j.Slf4j; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.validation.annotation.Validated; +import org.springframework.web.bind.annotation.*; + +import java.util.List; + +@Api(value = "【图文平台】绘画风格接口",tags = "【图文平台】绘画风格接口") +@RestController +@RequestMapping("/img/paintStyle") +@Slf4j +public class PaintStyleController extends BaseController { + + @Autowired + private IPaintStyleService paintStyleService; + + @ApiOperation(value="查询绘画风格分页") + @PostMapping("/page") + public TableDataInfo pagePaintStyle(@RequestBody @ApiParam("分页对象") PaintStylePageDto dto){ + PageHelper.startPage(dto.getPageNum(), dto.getPageSize()); + List paintStyles = paintStyleService.queryPage(dto); + return getDataTable(paintStyles); + } + + @RequiresPermissions("img:paintStyle:add") + @ApiOperation(value="新增绘画风格") + @PostMapping(value = "/insert") + public AjaxResult insertPaintStyle(@Validated @RequestBody @ApiParam("绘画风格对象") PaintStyleDto dto){ + log.debug("【图文平台后台】新增绘画风格参数为:{}", JSON.toJSONString(dto)); + return AjaxResult.success(paintStyleService.insert(dto.extractParam())); + } + + @RequiresPermissions("img:paintStyle:edit") + @ApiOperation(value="修改绘画风格") + @PostMapping(value = "/update") + public AjaxResult updatePaintStyle(@Validated @RequestBody @ApiParam("绘画风格对象") PaintStyleDto dto){ + log.debug("【图文平台后台】修改绘画风格参数为:{}", JSON.toJSONString(dto)); + return AjaxResult.success(paintStyleService.update(dto.extractParam())); + } + + @RequiresPermissions("img:paintStyle:delete") + @ApiOperation(value="删除绘画风格") + @DeleteMapping(value = "/delete/{ids}") + public AjaxResult deletePaintStyle(@PathVariable @ApiParam("主键ids") List ids){ + log.debug("【图文平台后台】删除绘画风格参数为:{}", JSON.toJSONString(ids)); + return AjaxResult.success(paintStyleService.delete(ids)); + } + + @ApiOperation(value="查询绘画风格详情") + @GetMapping(value = "/details/{id}") + public AjaxResult detailsPaintStyle(@PathVariable @ApiParam("主键id") Long id){ + log.debug("【图文平台后台】查询绘画风格详情参数为:{}", id); + return AjaxResult.success(paintStyleService.queryDetails(id)); + } + + @RequiresPermissions("img:paintStyle:edit") + @ApiOperation(value="变更显示状态") + @PostMapping(value = "/changeStatus") + public AjaxResult changeStatus(@Validated @RequestBody @ApiParam("显示状态对象") StatusDto dto){ + log.debug("【图文平台后台】变更显示状态参数为:{}", JSON.toJSONString(dto)); + return AjaxResult.success(paintStyleService.changeStatus(dto.getId(),dto.getStatus())); + } + + @RequiresPermissions("img:paintStyle:edit") + @ApiOperation(value="变更是否热门状态") + @PostMapping(value = "/changeHot") + public AjaxResult changeHot(@Validated @RequestBody @ApiParam("热门状态对象") StatusDto dto){ + log.debug("【图文平台后台】变更是否热门参数为:{}", JSON.toJSONString(dto)); + return AjaxResult.success(paintStyleService.changeHot(dto.getId(),dto.getStatus())); + } +} diff --git a/bnyer-services/bnyer-system/src/main/java/com/bnyer/system/controller/PromptController.java b/bnyer-services/bnyer-system/src/main/java/com/bnyer/system/controller/PromptController.java new file mode 100644 index 0000000..8b72fef --- /dev/null +++ b/bnyer-services/bnyer-system/src/main/java/com/bnyer/system/controller/PromptController.java @@ -0,0 +1,79 @@ +package com.bnyer.system.controller; + +import com.alibaba.fastjson.JSON; +import com.bnyer.common.core.domain.Prompt; +import com.bnyer.common.core.dto.PromptDto; +import com.bnyer.common.core.dto.PromptPageDto; +import com.bnyer.common.core.dto.StatusDto; +import com.bnyer.common.core.web.controller.BaseController; +import com.bnyer.common.core.web.domain.AjaxResult; +import com.bnyer.common.core.web.page.TableDataInfo; +import com.bnyer.common.security.annotation.RequiresPermissions; +import com.bnyer.system.service.IPromptService; +import com.github.pagehelper.PageHelper; +import io.swagger.annotations.Api; +import io.swagger.annotations.ApiOperation; +import io.swagger.annotations.ApiParam; +import lombok.extern.slf4j.Slf4j; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.validation.annotation.Validated; +import org.springframework.web.bind.annotation.*; + +import java.util.List; + +@Api(value = "【图文平台】提示词接口",tags = "【图文平台】提示词接口") +@RestController +@RequestMapping("/img/prompt") +@Slf4j +public class PromptController extends BaseController { + + @Autowired + private IPromptService promptService; + + @ApiOperation(value="查询提示词分页") + @PostMapping("/page") + public TableDataInfo pagePrompt(@RequestBody @ApiParam("分页对象") PromptPageDto dto){ + PageHelper.startPage(dto.getPageNum(), dto.getPageSize()); + List prompts = promptService.queryPage(dto); + return getDataTable(prompts); + } + + @RequiresPermissions("img:prompt:add") + @ApiOperation(value="新增提示词") + @PostMapping(value = "/insert") + public AjaxResult insertPrompt(@Validated @RequestBody @ApiParam("提示词对象") PromptDto dto){ + log.debug("【图文平台后台】新增提示词参数为:{}", JSON.toJSONString(dto)); + return AjaxResult.success(promptService.insert(dto.extractParam())); + } + + @RequiresPermissions("img:prompt:edit") + @ApiOperation(value="修改提示词") + @PostMapping(value = "/update") + public AjaxResult updatePrompt(@Validated @RequestBody @ApiParam("提示词对象") PromptDto dto){ + log.debug("【图文平台后台】修改prompt参数为:{}", JSON.toJSONString(dto)); + return AjaxResult.success(promptService.update(dto.extractParam())); + } + + @RequiresPermissions("img:prompt:delete") + @ApiOperation(value="删除提示词") + @DeleteMapping(value = "/delete/{ids}") + public AjaxResult deletePrompt(@PathVariable @ApiParam("主键ids") List ids){ + log.debug("【图文平台后台】删除提示词参数为:{}", JSON.toJSONString(ids)); + return AjaxResult.success(promptService.delete(ids)); + } + + @ApiOperation(value="查询提示词详情") + @GetMapping(value = "/details/{id}") + public AjaxResult detailsPrompt(@PathVariable @ApiParam("主键id") Long id){ + log.debug("【图文平台后台】查询提示词详情参数为:{}", id); + return AjaxResult.success(promptService.queryDetails(id)); + } + + @RequiresPermissions("img:prompt:edit") + @ApiOperation(value="变更type显示状态") + @PostMapping(value = "/changeStatus") + public AjaxResult changeStatus(@Validated @RequestBody @ApiParam("type状态对象") StatusDto dto){ + log.debug("【图文平台后台】变更type参数为:{}", JSON.toJSONString(dto)); + return AjaxResult.success(promptService.changeStatus(dto.getId(),dto.getStatus())); + } +} diff --git a/bnyer-services/bnyer-system/src/main/java/com/bnyer/system/mapper/PaintStyleMapper.java b/bnyer-services/bnyer-system/src/main/java/com/bnyer/system/mapper/PaintStyleMapper.java new file mode 100644 index 0000000..a22f09a --- /dev/null +++ b/bnyer-services/bnyer-system/src/main/java/com/bnyer/system/mapper/PaintStyleMapper.java @@ -0,0 +1,11 @@ +package com.bnyer.system.mapper; + +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import com.bnyer.common.core.domain.PaintStyle; +import org.apache.ibatis.annotations.Mapper; + +@Mapper +public interface PaintStyleMapper extends BaseMapper { + + +} \ No newline at end of file diff --git a/bnyer-services/bnyer-system/src/main/java/com/bnyer/system/mapper/PromptMapper.java b/bnyer-services/bnyer-system/src/main/java/com/bnyer/system/mapper/PromptMapper.java new file mode 100644 index 0000000..e200ace --- /dev/null +++ b/bnyer-services/bnyer-system/src/main/java/com/bnyer/system/mapper/PromptMapper.java @@ -0,0 +1,11 @@ +package com.bnyer.system.mapper; + +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import com.bnyer.common.core.domain.Prompt; +import org.apache.ibatis.annotations.Mapper; + +@Mapper +public interface PromptMapper extends BaseMapper { + + +} \ No newline at end of file diff --git a/bnyer-services/bnyer-system/src/main/java/com/bnyer/system/service/IPaintStyleService.java b/bnyer-services/bnyer-system/src/main/java/com/bnyer/system/service/IPaintStyleService.java new file mode 100644 index 0000000..b2a583f --- /dev/null +++ b/bnyer-services/bnyer-system/src/main/java/com/bnyer/system/service/IPaintStyleService.java @@ -0,0 +1,60 @@ +package com.bnyer.system.service; + +import com.bnyer.common.core.domain.PaintStyle; +import com.bnyer.common.core.dto.PaintStylePageDto; + +import java.util.List; + +public interface IPaintStyleService { + + /** + * 新增绘画风格 + * @param paintStyle 绘画风格 + * @return - + */ + int insert(PaintStyle paintStyle); + + /** + * 修改绘画风格 + * @param paintStyle 绘画风格 + * @return - + */ + int update(PaintStyle paintStyle); + + /** + * 删除绘画风格 + * @param ids 主键ids + * @return - + */ + int delete(List ids); + + /** + * 查询绘画风格分页 + * @param params 分页参数 + * @return - + */ + List queryPage(PaintStylePageDto params); + + /** + * 获取绘画风格详情 + * @param id 主键id + * @return - + */ + PaintStyle queryDetails(Long id); + + /** + * 变更显示状态 + * @param id 主键id + * @param status 状态 + * @return - + */ + int changeStatus(Long id, String status); + + /** + * 变更热门状态 + * @param id 主键id + * @param status 状态 + * @return - + */ + int changeHot(Long id, String status); +} diff --git a/bnyer-services/bnyer-system/src/main/java/com/bnyer/system/service/IPromptService.java b/bnyer-services/bnyer-system/src/main/java/com/bnyer/system/service/IPromptService.java new file mode 100644 index 0000000..8b0b59a --- /dev/null +++ b/bnyer-services/bnyer-system/src/main/java/com/bnyer/system/service/IPromptService.java @@ -0,0 +1,52 @@ +package com.bnyer.system.service; + +import com.bnyer.common.core.domain.Prompt; +import com.bnyer.common.core.dto.PromptPageDto; + +import java.util.List; + +public interface IPromptService { + + /** + * 新增提示词 + * @param prompt 提示词 + * @return - + */ + int insert(Prompt prompt); + + /** + * 更新提示词 + * @param prompt 提示词 + * @return - + */ + int update(Prompt prompt); + + /** + * 删除提示词 + * @param ids id列表 + * @return - + */ + int delete(List ids); + + /** + * 变更显示状态 + * @param id 主键id + * @param status 状态 + * @return - + */ + int changeStatus(Long id, String status); + + /** + * 查询提示词分页 + * @param params 分页参数 + * @return - + */ + List queryPage(PromptPageDto params); + + /** + * 获取提示词详情 + * @param id 主键id + * @return - + */ + Prompt queryDetails(Long id); +} diff --git a/bnyer-services/bnyer-system/src/main/java/com/bnyer/system/service/impl/PaintStyleServiceImpl.java b/bnyer-services/bnyer-system/src/main/java/com/bnyer/system/service/impl/PaintStyleServiceImpl.java new file mode 100644 index 0000000..16122ab --- /dev/null +++ b/bnyer-services/bnyer-system/src/main/java/com/bnyer/system/service/impl/PaintStyleServiceImpl.java @@ -0,0 +1,85 @@ +package com.bnyer.system.service.impl; + +import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; +import com.baomidou.mybatisplus.core.conditions.update.LambdaUpdateWrapper; +import com.bnyer.common.core.domain.PaintStyle; +import com.bnyer.common.core.dto.PaintStylePageDto; +import com.bnyer.common.core.utils.StringUtils; +import com.bnyer.system.mapper.PaintStyleMapper; +import com.bnyer.system.service.IPaintStyleService; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.stereotype.Service; +import org.springframework.transaction.annotation.Transactional; + +import java.util.Date; +import java.util.List; + +@Service +public class PaintStyleServiceImpl implements IPaintStyleService { + + @Autowired + private PaintStyleMapper paintStyleMapper; + + @Override + @Transactional(rollbackFor = Exception.class) + public int insert(PaintStyle paintStyle) { + paintStyle.setCreateTime(new Date()); + paintStyle.setUpdateTime(new Date()); + paintStyle.setIsShow("1"); + return paintStyleMapper.insert(paintStyle); + } + + @Override + @Transactional(rollbackFor = Exception.class) + public int update(PaintStyle paintStyle) { + paintStyle.setUpdateTime(new Date()); + return paintStyleMapper.updateById(paintStyle); + } + + @Override + @Transactional(rollbackFor = Exception.class) + public int delete(List ids) { + return paintStyleMapper.deleteBatchIds(ids); + } + + @Override + public List queryPage(PaintStylePageDto params) { + LambdaQueryWrapper wrapper = new LambdaQueryWrapper<>(); + if(StringUtils.isNotEmpty(params.getName())){ + wrapper.like(PaintStyle::getName, params.getName()); + } + if(StringUtils.isNotEmpty(params.getIsShow())){ + wrapper.eq(PaintStyle::getIsShow, params.getIsShow()); + } + if(StringUtils.isNotEmpty(params.getIsHot())){ + wrapper.eq(PaintStyle::getIsHot, params.getIsHot()); + } + wrapper.orderByDesc(PaintStyle::getSort); + return paintStyleMapper.selectList(wrapper); + } + + @Override + public PaintStyle queryDetails(Long id) { + return paintStyleMapper.selectById(id); + } + + @Override + @Transactional(rollbackFor = Exception.class) + public int changeStatus(Long id, String status) { + LambdaUpdateWrapper wrapper = new LambdaUpdateWrapper<>(); + wrapper.eq(PaintStyle::getId, id); + PaintStyle paintStyle = new PaintStyle(); + paintStyle.setIsShow(status); + return paintStyleMapper.update(paintStyle,wrapper); + } + + @Override + @Transactional(rollbackFor = Exception.class) + public int changeHot(Long id, String status) { + LambdaUpdateWrapper wrapper = new LambdaUpdateWrapper<>(); + wrapper.eq(PaintStyle::getId, id); + PaintStyle paintStyle = new PaintStyle(); + paintStyle.setIsHot(status); + return paintStyleMapper.update(paintStyle,wrapper); + } +} diff --git a/bnyer-services/bnyer-system/src/main/java/com/bnyer/system/service/impl/PromptServiceImpl.java b/bnyer-services/bnyer-system/src/main/java/com/bnyer/system/service/impl/PromptServiceImpl.java new file mode 100644 index 0000000..c09ab57 --- /dev/null +++ b/bnyer-services/bnyer-system/src/main/java/com/bnyer/system/service/impl/PromptServiceImpl.java @@ -0,0 +1,76 @@ +package com.bnyer.system.service.impl; + +import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; +import com.baomidou.mybatisplus.core.conditions.update.LambdaUpdateWrapper; +import com.bnyer.common.core.domain.Prompt; +import com.bnyer.common.core.dto.PromptPageDto; +import com.bnyer.common.core.utils.StringUtils; +import com.bnyer.system.mapper.PromptMapper; +import com.bnyer.system.service.IPromptService; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.stereotype.Service; +import org.springframework.transaction.annotation.Transactional; + +import java.util.Date; +import java.util.List; + +@Service +public class PromptServiceImpl implements IPromptService { + + @Autowired + private PromptMapper promptMapper; + + @Override + @Transactional(rollbackFor = Exception.class) + public int insert(Prompt prompt) { + prompt.setCreateTime(new Date()); + prompt.setUpdateTime(new Date()); + prompt.setIsShow("1"); + prompt.setSort(0); + return promptMapper.insert(prompt); + } + + @Override + @Transactional(rollbackFor = Exception.class) + public int update(Prompt prompt) { + prompt.setUpdateTime(new Date()); + return promptMapper.updateById(prompt); + } + + @Override + @Transactional(rollbackFor = Exception.class) + public int delete(List ids) { + return promptMapper.deleteBatchIds(ids); + } + + @Override + @Transactional(rollbackFor = Exception.class) + public int changeStatus(Long id, String status) { + LambdaUpdateWrapper wrapper = new LambdaUpdateWrapper<>(); + wrapper.eq(Prompt::getId, id); + Prompt prompt = new Prompt(); + prompt.setIsShow(status); + return promptMapper.update(prompt,wrapper); + } + + @Override + public List queryPage(PromptPageDto params) { + LambdaQueryWrapper wrapper = new LambdaQueryWrapper<>(); + if(StringUtils.isNotEmpty(params.getType())){ + wrapper.eq(Prompt::getType, params.getType()); + } + if(StringUtils.isNotEmpty(params.getIsShow())){ + wrapper.eq(Prompt::getIsShow, params.getIsShow()); + } + if(StringUtils.isNotEmpty(params.getText())){ + wrapper.like(Prompt::getText, params.getText()); + } + wrapper.orderByDesc(Prompt::getSort); + return promptMapper.selectList(wrapper); + } + + @Override + public Prompt queryDetails(Long id) { + return promptMapper.selectById(id); + } +} From 58859d13d1dda52e58e04c9fc670d601915f770a Mon Sep 17 00:00:00 2001 From: Penny <2500338766@qq.com> Date: Sun, 16 Apr 2023 02:18:34 +0800 Subject: [PATCH 09/13] =?UTF-8?q?feature-img-1.0:=E6=96=B0=E5=A2=9EAI?= =?UTF-8?q?=E7=BB=98=E5=9B=BE=E7=9B=B8=E5=85=B3=E5=86=85=E5=AE=B9?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- bnyer-api/bnyer-api-file/pom.xml | 26 ++++ .../com/bnyer/file/api/RemoteFileService.java | 40 ++++++ .../factory/RemoteFileFallbackFactory.java | 40 ++++++ .../main/resources/META-INF/spring.factories | 2 + ...vice.java => RemoteSystemFileService.java} | 6 +- .../factory/RemoteFileFallbackFactory.java | 10 +- bnyer-api/pom.xml | 1 + .../core/constant/ServiceNameConstants.java | 9 +- .../com/bnyer/common/core/domain/AiPaint.java | 122 ++++++++++++++++++ .../bnyer/common/core/dto/AiPaintPageDto.java | 23 ++++ .../bnyer/common/core/dto/TextToImgDto.java | 16 ++- .../file/Base64ToMultipartFileUtils.java | 84 ++++++++++++ .../common/core/utils/file/ImageUtils.java | 3 + .../com/bnyer/common/core/vo/TextToImgVo.java | 9 ++ .../file/controller/SysFileController.java | 2 +- .../{ => impl}/MinioSysFileServiceImpl.java | 3 +- bnyer-services/bnyer-img/pom.xml | 7 + .../img/controller/TiktokMiniController.java | 11 ++ .../com/bnyer/img/mapper/AiPaintMapper.java | 29 +++++ .../com/bnyer/img/service/AiPaintService.java | 40 ++++++ .../img/service/impl/AiPaintServiceImpl.java | 44 +++++++ .../impl/StableDiffusionServiceImpl.java | 55 +++++++- .../main/java/com/bnyer/img/vo/AiPaintVo.java | 50 +++++++ .../com/bnyer/img/mapper/AiPaintMapper.xml | 40 ++++++ .../controller/SysProfileController.java | 5 +- 25 files changed, 655 insertions(+), 22 deletions(-) create mode 100644 bnyer-api/bnyer-api-file/pom.xml create mode 100644 bnyer-api/bnyer-api-file/src/main/java/com/bnyer/file/api/RemoteFileService.java create mode 100644 bnyer-api/bnyer-api-file/src/main/java/com/bnyer/file/api/factory/RemoteFileFallbackFactory.java create mode 100644 bnyer-api/bnyer-api-file/src/main/resources/META-INF/spring.factories rename bnyer-api/bnyer-api-system/src/main/java/com/bnyer/system/api/{RemoteFileService.java => RemoteSystemFileService.java} (80%) create mode 100644 bnyer-common/bnyer-common-core/src/main/java/com/bnyer/common/core/domain/AiPaint.java create mode 100644 bnyer-common/bnyer-common-core/src/main/java/com/bnyer/common/core/dto/AiPaintPageDto.java create mode 100644 bnyer-common/bnyer-common-core/src/main/java/com/bnyer/common/core/utils/file/Base64ToMultipartFileUtils.java rename bnyer-services/bnyer-file/src/main/java/com/bnyer/file/service/{ => impl}/MinioSysFileServiceImpl.java (97%) create mode 100644 bnyer-services/bnyer-img/src/main/java/com/bnyer/img/mapper/AiPaintMapper.java create mode 100644 bnyer-services/bnyer-img/src/main/java/com/bnyer/img/service/AiPaintService.java create mode 100644 bnyer-services/bnyer-img/src/main/java/com/bnyer/img/service/impl/AiPaintServiceImpl.java create mode 100644 bnyer-services/bnyer-img/src/main/java/com/bnyer/img/vo/AiPaintVo.java create mode 100644 bnyer-services/bnyer-img/src/main/resources/com/bnyer/img/mapper/AiPaintMapper.xml diff --git a/bnyer-api/bnyer-api-file/pom.xml b/bnyer-api/bnyer-api-file/pom.xml new file mode 100644 index 0000000..3517d20 --- /dev/null +++ b/bnyer-api/bnyer-api-file/pom.xml @@ -0,0 +1,26 @@ + + + + bnyer-api + com.dimensionalnode + 1.0.0 + + 4.0.0 + + bnyer-api-file + + + bnyer-api-file文件服务接口模块 + + + + + + com.dimensionalnode + bnyer-common-core + + + + \ No newline at end of file diff --git a/bnyer-api/bnyer-api-file/src/main/java/com/bnyer/file/api/RemoteFileService.java b/bnyer-api/bnyer-api-file/src/main/java/com/bnyer/file/api/RemoteFileService.java new file mode 100644 index 0000000..782a2b7 --- /dev/null +++ b/bnyer-api/bnyer-api-file/src/main/java/com/bnyer/file/api/RemoteFileService.java @@ -0,0 +1,40 @@ +package com.bnyer.file.api; + +import com.bnyer.common.core.constant.ServiceNameConstants; +import com.bnyer.common.core.domain.R; +import com.bnyer.file.api.factory.RemoteFileFallbackFactory; +import org.springframework.cloud.openfeign.FeignClient; +import org.springframework.http.MediaType; +import org.springframework.web.bind.annotation.PostMapping; +import org.springframework.web.bind.annotation.RequestPart; +import org.springframework.web.multipart.MultipartFile; + +import java.util.List; + +/** + * 文件服务 + * + * @author penny + * @date 2023/04/15 11:03 + */ +@FeignClient(contextId = "remoteFileService", value = ServiceNameConstants.FILE_SERVICE, fallbackFactory = RemoteFileFallbackFactory.class) +public interface RemoteFileService { + + + /** + * 上传文件到minio + * @param file 文件 + * @return - + */ + @PostMapping(value = "/upload",consumes = MediaType.MULTIPART_FORM_DATA_VALUE) + R uploadBanner(@RequestPart(name = "file") MultipartFile file); + + /** + * 批量上传文件到七牛云 + * @param files 文件 + * @return - + */ + @PostMapping("/uploadBatch") + R> uploadBatch(MultipartFile[] files); + +} diff --git a/bnyer-api/bnyer-api-file/src/main/java/com/bnyer/file/api/factory/RemoteFileFallbackFactory.java b/bnyer-api/bnyer-api-file/src/main/java/com/bnyer/file/api/factory/RemoteFileFallbackFactory.java new file mode 100644 index 0000000..4ac58a7 --- /dev/null +++ b/bnyer-api/bnyer-api-file/src/main/java/com/bnyer/file/api/factory/RemoteFileFallbackFactory.java @@ -0,0 +1,40 @@ +package com.bnyer.file.api.factory; + +import com.bnyer.common.core.domain.R; +import com.bnyer.file.api.RemoteFileService; +import org.slf4j.Logger; +import org.slf4j.LoggerFactory; +import org.springframework.cloud.openfeign.FallbackFactory; +import org.springframework.stereotype.Component; +import org.springframework.web.multipart.MultipartFile; + +import java.util.List; + +/** + * 文件服务降级处理 + * + * @author penny + */ +@Component +public class RemoteFileFallbackFactory implements FallbackFactory +{ + private static final Logger log = LoggerFactory.getLogger(RemoteFileFallbackFactory.class); + + + @Override + public RemoteFileService create(Throwable throwable) { + log.error("api文件服务调用失败:{}", throwable.getMessage()); + return new RemoteFileService() + { + @Override + public R uploadBanner(MultipartFile file) { + return R.fail("远程调用minio文件上传失败:" + throwable.getMessage()); + } + + @Override + public R> uploadBatch(MultipartFile[] files) { + return R.fail("远程调用七牛云批量文件上传失败:" + throwable.getMessage()); + } + }; + } +} diff --git a/bnyer-api/bnyer-api-file/src/main/resources/META-INF/spring.factories b/bnyer-api/bnyer-api-file/src/main/resources/META-INF/spring.factories new file mode 100644 index 0000000..30b9bc6 --- /dev/null +++ b/bnyer-api/bnyer-api-file/src/main/resources/META-INF/spring.factories @@ -0,0 +1,2 @@ +org.springframework.boot.autoconfigure.EnableAutoConfiguration = com.bnyer.file.api.factory.RemoteFileFallbackFactory + diff --git a/bnyer-api/bnyer-api-system/src/main/java/com/bnyer/system/api/RemoteFileService.java b/bnyer-api/bnyer-api-system/src/main/java/com/bnyer/system/api/RemoteSystemFileService.java similarity index 80% rename from bnyer-api/bnyer-api-system/src/main/java/com/bnyer/system/api/RemoteFileService.java rename to bnyer-api/bnyer-api-system/src/main/java/com/bnyer/system/api/RemoteSystemFileService.java index 6f72f20..f98c707 100644 --- a/bnyer-api/bnyer-api-system/src/main/java/com/bnyer/system/api/RemoteFileService.java +++ b/bnyer-api/bnyer-api-system/src/main/java/com/bnyer/system/api/RemoteSystemFileService.java @@ -12,11 +12,11 @@ import com.bnyer.system.api.domain.SysFile; /** * 文件服务 - * + * * @author ruoyi */ -@FeignClient(contextId = "remoteFileService", value = ServiceNameConstants.FILE_SERVICE, fallbackFactory = RemoteFileFallbackFactory.class) -public interface RemoteFileService +@FeignClient(contextId = "remoteSystemFileService", value = ServiceNameConstants.SYSTEM_FILE_SERVICE, fallbackFactory = RemoteFileFallbackFactory.class) +public interface RemoteSystemFileService { /** * 上传文件 diff --git a/bnyer-api/bnyer-api-system/src/main/java/com/bnyer/system/api/factory/RemoteFileFallbackFactory.java b/bnyer-api/bnyer-api-system/src/main/java/com/bnyer/system/api/factory/RemoteFileFallbackFactory.java index 5c5ec5d..a270e60 100644 --- a/bnyer-api/bnyer-api-system/src/main/java/com/bnyer/system/api/factory/RemoteFileFallbackFactory.java +++ b/bnyer-api/bnyer-api-system/src/main/java/com/bnyer/system/api/factory/RemoteFileFallbackFactory.java @@ -6,24 +6,24 @@ import org.springframework.cloud.openfeign.FallbackFactory; import org.springframework.stereotype.Component; import org.springframework.web.multipart.MultipartFile; import com.bnyer.common.core.domain.R; -import com.bnyer.system.api.RemoteFileService; +import com.bnyer.system.api.RemoteSystemFileService; import com.bnyer.system.api.domain.SysFile; /** * 文件服务降级处理 - * + * * @author ruoyi */ @Component -public class RemoteFileFallbackFactory implements FallbackFactory +public class RemoteFileFallbackFactory implements FallbackFactory { private static final Logger log = LoggerFactory.getLogger(RemoteFileFallbackFactory.class); @Override - public RemoteFileService create(Throwable throwable) + public RemoteSystemFileService create(Throwable throwable) { log.error("文件服务调用失败:{}", throwable.getMessage()); - return new RemoteFileService() + return new RemoteSystemFileService() { @Override public R upload(MultipartFile file) diff --git a/bnyer-api/pom.xml b/bnyer-api/pom.xml index 78c3b28..69e5e4d 100644 --- a/bnyer-api/pom.xml +++ b/bnyer-api/pom.xml @@ -11,6 +11,7 @@ bnyer-api-system bnyer-api-img + bnyer-api-file bnyer-api diff --git a/bnyer-common/bnyer-common-core/src/main/java/com/bnyer/common/core/constant/ServiceNameConstants.java b/bnyer-common/bnyer-common-core/src/main/java/com/bnyer/common/core/constant/ServiceNameConstants.java index dd160bb..edf8047 100644 --- a/bnyer-common/bnyer-common-core/src/main/java/com/bnyer/common/core/constant/ServiceNameConstants.java +++ b/bnyer-common/bnyer-common-core/src/main/java/com/bnyer/common/core/constant/ServiceNameConstants.java @@ -18,12 +18,17 @@ public class ServiceNameConstants public static final String SYSTEM_SERVICE = "bnyer-system"; /** - * 文件服务的serviceid + * 系统文件服务的serviceid */ - public static final String FILE_SERVICE = "bnyer-file"; + public static final String SYSTEM_FILE_SERVICE = "bnyer-system-file"; /** * 图文服务的serviceid */ public static final String IMG_SERVICE = "bnyer-img"; + + /** + * 文件服务的serviceid + */ + public static final String FILE_SERVICE = "bnyer-file"; } diff --git a/bnyer-common/bnyer-common-core/src/main/java/com/bnyer/common/core/domain/AiPaint.java b/bnyer-common/bnyer-common-core/src/main/java/com/bnyer/common/core/domain/AiPaint.java new file mode 100644 index 0000000..57726d9 --- /dev/null +++ b/bnyer-common/bnyer-common-core/src/main/java/com/bnyer/common/core/domain/AiPaint.java @@ -0,0 +1,122 @@ +package com.bnyer.common.core.domain; + +import com.baomidou.mybatisplus.annotation.IdType; +import com.baomidou.mybatisplus.annotation.TableField; +import com.baomidou.mybatisplus.annotation.TableId; +import com.baomidou.mybatisplus.annotation.TableName; +import com.fasterxml.jackson.annotation.JsonFormat; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import java.io.Serializable; +import java.util.Date; +import lombok.AllArgsConstructor; +import lombok.Getter; +import lombok.NoArgsConstructor; +import lombok.Setter; +import lombok.ToString; + +/** + * ai绘画内容表 + */ +@ApiModel(value="com-bnyer-common-core-domain-AiPaint") +@Getter +@Setter +@ToString +@AllArgsConstructor +@NoArgsConstructor +@TableName(value = "img_ai_paint") +public class AiPaint implements Serializable { + /** + * 主键Id + */ + @TableId(value = "id", type = IdType.AUTO) + @ApiModelProperty(value="主键Id") + private Long id; + + /** + * 作品编号 + */ + @TableField(value = "paint_id") + @ApiModelProperty(value="作品编号") + private String paintId; + + /** + * 绘图者id + */ + @TableField(value = "painter_id") + @ApiModelProperty(value="绘图者id") + private Long painterId; + + /** + * 绘图者昵称 + */ + @TableField(value = "painter_name") + @ApiModelProperty(value="绘图者昵称") + private String painterName; + + /** + * 图片 + */ + @TableField(value = "img_url") + @ApiModelProperty(value="图片") + private String imgUrl; + + /** + * 关键词 + */ + @TableField(value = "prompt") + @ApiModelProperty(value="关键词") + private String prompt; + + /** + * 模型名称 + */ + @TableField(value = "model") + @ApiModelProperty(value="模型风格名称") + private String model; + + /** + * 风格名称 + */ + @TableField(value = "style_name") + @ApiModelProperty(value="风格名称") + private String styleName; + + /** + * 图片高度 + */ + @TableField(value = "height") + @ApiModelProperty(value="图片高度") + private String height; + + /** + * 图片宽度 + */ + @TableField(value = "width") + @ApiModelProperty(value="图片宽度") + private String width; + + /** + * 是否显示 (0->隐藏;1->显示) + */ + @TableField(value = "is_show") + @ApiModelProperty(value="是否显示 (0->隐藏;1->显示)") + private String isShow; + + /** + * 平台(0->Hub;1->抖音;2->快手;3->微信) + */ + @TableField(value = "`source`") + @ApiModelProperty(value="平台(0->Hub;1->抖音;2->快手;3->微信)") + private String source; + + /** + * 创建时间 + */ + @TableField(value = "create_time") + @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss") + @ApiModelProperty(value="创建时间") + private Date createTime; + + private static final long serialVersionUID = 1L; +} \ No newline at end of file diff --git a/bnyer-common/bnyer-common-core/src/main/java/com/bnyer/common/core/dto/AiPaintPageDto.java b/bnyer-common/bnyer-common-core/src/main/java/com/bnyer/common/core/dto/AiPaintPageDto.java new file mode 100644 index 0000000..e341256 --- /dev/null +++ b/bnyer-common/bnyer-common-core/src/main/java/com/bnyer/common/core/dto/AiPaintPageDto.java @@ -0,0 +1,23 @@ +package com.bnyer.common.core.dto; + +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Getter; +import lombok.Setter; + +import javax.validation.constraints.NotEmpty; +import javax.validation.constraints.NotNull; + +@Getter +@Setter +@ApiModel("ai绘画前端分页接收类") +public class AiPaintPageDto extends BasePageDto { + + @NotEmpty(message = "平台渠道不能为空!") + @ApiModelProperty(value="平台渠道") + private String source; + + @NotNull(message = "绘图者id不能为空!") + @ApiModelProperty(value="绘图者id") + private Long painterId; +} diff --git a/bnyer-common/bnyer-common-core/src/main/java/com/bnyer/common/core/dto/TextToImgDto.java b/bnyer-common/bnyer-common-core/src/main/java/com/bnyer/common/core/dto/TextToImgDto.java index dd825b1..1a98f7a 100644 --- a/bnyer-common/bnyer-common-core/src/main/java/com/bnyer/common/core/dto/TextToImgDto.java +++ b/bnyer-common/bnyer-common-core/src/main/java/com/bnyer/common/core/dto/TextToImgDto.java @@ -5,8 +5,6 @@ import io.swagger.annotations.ApiModelProperty; import lombok.Getter; import lombok.Setter; -import javax.validation.constraints.NotBlank; -import javax.validation.constraints.NotEmpty; import javax.validation.constraints.NotNull; import java.io.Serializable; @@ -27,6 +25,16 @@ public class TextToImgDto implements Serializable { @ApiModelProperty(value="提示词") private String prompt; - @ApiModelProperty(value="风格") - private String samplerIndex; + @ApiModelProperty(value="模型") + private String modelName; + + @ApiModelProperty(value="风格名称") + private String styleName; + + @ApiModelProperty(value="绘图者id") + private Long painterId; + + @ApiModelProperty(value="绘图者昵称") + private String painterName; + } diff --git a/bnyer-common/bnyer-common-core/src/main/java/com/bnyer/common/core/utils/file/Base64ToMultipartFileUtils.java b/bnyer-common/bnyer-common-core/src/main/java/com/bnyer/common/core/utils/file/Base64ToMultipartFileUtils.java new file mode 100644 index 0000000..4e45867 --- /dev/null +++ b/bnyer-common/bnyer-common-core/src/main/java/com/bnyer/common/core/utils/file/Base64ToMultipartFileUtils.java @@ -0,0 +1,84 @@ +package com.bnyer.common.core.utils.file; +import org.springframework.web.multipart.MultipartFile; + +import java.io.ByteArrayInputStream; +import java.io.File; +import java.io.FileOutputStream; +import java.io.IOException; +import java.nio.charset.StandardCharsets; +import java.util.Base64; + +/** + * @author + * @date 2023/04/16 16:40 + * @description 转换base64为文件流 + */ +public class Base64ToMultipartFileUtils implements MultipartFile { + + private final byte[] fileContent; + + private final String name; + private final String extension; + private final String contentType; + + private final String originalFilename; + + /** + * @param base64 + * @param dataUri 格式类似于: data:image/png;base64 + */ + public Base64ToMultipartFileUtils(String base64, String dataUri, String name, String originalfilename) { + this.fileContent = Base64.getDecoder().decode(base64.getBytes(StandardCharsets.UTF_8)); + this.extension = dataUri.split(";")[0].split("/")[1]; + this.contentType = dataUri.split(";")[0].split(":")[1]; + this.originalFilename = originalfilename; + this.name = name; + } + + /** + * 【重要】必须与请求接收方参数名称一致,否则找不到参数 + * @return + */ + @Override + public String getName() { + return this.name; + } + + @Override + public String getOriginalFilename() { + return originalFilename; + } + + @Override + public String getContentType() { + return contentType; + } + + @Override + public boolean isEmpty() { + return fileContent == null || fileContent.length == 0; + } + + @Override + public long getSize() { + return fileContent.length; + } + + @Override + public byte[] getBytes() throws IOException { + return fileContent; + } + + @Override + public ByteArrayInputStream getInputStream() throws IOException { + return new ByteArrayInputStream(fileContent); + } + + @Override + public void transferTo(File file) throws IOException, IllegalStateException { + try (FileOutputStream fos = new FileOutputStream(file)) { + fos.write(fileContent); + } + } + +} \ No newline at end of file diff --git a/bnyer-common/bnyer-common-core/src/main/java/com/bnyer/common/core/utils/file/ImageUtils.java b/bnyer-common/bnyer-common-core/src/main/java/com/bnyer/common/core/utils/file/ImageUtils.java index 95a64a3..3e00ca7 100644 --- a/bnyer-common/bnyer-common-core/src/main/java/com/bnyer/common/core/utils/file/ImageUtils.java +++ b/bnyer-common/bnyer-common-core/src/main/java/com/bnyer/common/core/utils/file/ImageUtils.java @@ -1,6 +1,7 @@ package com.bnyer.common.core.utils.file; import java.io.ByteArrayInputStream; +import java.io.IOException; import java.io.InputStream; import java.net.URL; import java.net.URLConnection; @@ -8,6 +9,8 @@ import java.util.Arrays; import org.apache.poi.util.IOUtils; import org.slf4j.Logger; import org.slf4j.LoggerFactory; +import org.springframework.web.multipart.MultipartFile; +import sun.misc.BASE64Decoder; /** * 图片处理工具类 diff --git a/bnyer-common/bnyer-common-core/src/main/java/com/bnyer/common/core/vo/TextToImgVo.java b/bnyer-common/bnyer-common-core/src/main/java/com/bnyer/common/core/vo/TextToImgVo.java index 04c408e..1469e43 100644 --- a/bnyer-common/bnyer-common-core/src/main/java/com/bnyer/common/core/vo/TextToImgVo.java +++ b/bnyer-common/bnyer-common-core/src/main/java/com/bnyer/common/core/vo/TextToImgVo.java @@ -1,11 +1,13 @@ package com.bnyer.common.core.vo; +import com.fasterxml.jackson.annotation.JsonFormat; import io.swagger.annotations.ApiModel; import io.swagger.annotations.ApiModelProperty; import lombok.Getter; import lombok.Setter; import java.io.Serializable; +import java.util.Date; import java.util.List; @@ -17,5 +19,12 @@ public class TextToImgVo implements Serializable { @ApiModelProperty(value="图片base64集合") private List images; + @ApiModelProperty(value="创作时间") + @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss") + private Date paintTime; + + @ApiModelProperty(value="作品id") + private String paintId; + private static final long serialVersionUID = 1L; } diff --git a/bnyer-services/bnyer-file/src/main/java/com/bnyer/file/controller/SysFileController.java b/bnyer-services/bnyer-file/src/main/java/com/bnyer/file/controller/SysFileController.java index 8715f17..9fc7636 100644 --- a/bnyer-services/bnyer-file/src/main/java/com/bnyer/file/controller/SysFileController.java +++ b/bnyer-services/bnyer-file/src/main/java/com/bnyer/file/controller/SysFileController.java @@ -107,7 +107,7 @@ public class SysFileController { @ApiOperation(value="批量上传到minio") @PostMapping("/upload") @ResponseBody - public R uploadBanner(@RequestParam("file") MultipartFile file) { + public R uploadBanner(@RequestParam("file") MultipartFile file) { String url = null; try { url = minioService.uploadBanner(file); diff --git a/bnyer-services/bnyer-file/src/main/java/com/bnyer/file/service/MinioSysFileServiceImpl.java b/bnyer-services/bnyer-file/src/main/java/com/bnyer/file/service/impl/MinioSysFileServiceImpl.java similarity index 97% rename from bnyer-services/bnyer-file/src/main/java/com/bnyer/file/service/MinioSysFileServiceImpl.java rename to bnyer-services/bnyer-file/src/main/java/com/bnyer/file/service/impl/MinioSysFileServiceImpl.java index 532ca94..c8e0d8b 100644 --- a/bnyer-services/bnyer-file/src/main/java/com/bnyer/file/service/MinioSysFileServiceImpl.java +++ b/bnyer-services/bnyer-file/src/main/java/com/bnyer/file/service/impl/MinioSysFileServiceImpl.java @@ -1,7 +1,8 @@ -package com.bnyer.file.service; +package com.bnyer.file.service.impl; import com.bnyer.common.core.exception.ServiceException; import com.bnyer.file.config.MinioConfig; +import com.bnyer.file.service.MinioService; import com.bnyer.file.utils.FileUploadUtils; import com.bnyer.file.utils.ImgUtil; import io.minio.MinioClient; diff --git a/bnyer-services/bnyer-img/pom.xml b/bnyer-services/bnyer-img/pom.xml index 2902bc4..63cd400 100644 --- a/bnyer-services/bnyer-img/pom.xml +++ b/bnyer-services/bnyer-img/pom.xml @@ -83,6 +83,13 @@ bnyer-common-swagger + + + com.dimensionalnode + bnyer-api-file + 1.0.0 + + com.baomidou diff --git a/bnyer-services/bnyer-img/src/main/java/com/bnyer/img/controller/TiktokMiniController.java b/bnyer-services/bnyer-img/src/main/java/com/bnyer/img/controller/TiktokMiniController.java index 95f0b4e..463399c 100644 --- a/bnyer-services/bnyer-img/src/main/java/com/bnyer/img/controller/TiktokMiniController.java +++ b/bnyer-services/bnyer-img/src/main/java/com/bnyer/img/controller/TiktokMiniController.java @@ -89,6 +89,9 @@ public class TiktokMiniController extends BaseController { @Autowired private StableDiffusionService stableDiffusionService; + @Autowired + private AiPaintService aiPaintService; + @ApiOperation(value="查询banner列表") @GetMapping(value = "/listBanner") public AjaxResult listBanner(){ @@ -423,4 +426,12 @@ public class TiktokMiniController extends BaseController { public AjaxResult textToImg(@Validated @RequestBody @ApiParam("文生图对象") TextToImgDto param){ return AjaxResult.success(stableDiffusionService.textToImg(param)); } + + @ApiOperation(value="获取绘画者ai绘画分页") + @PostMapping(value = "/getAiPaintPage") + public TableDataInfo getAiPaintPage(@Validated @RequestBody @ApiParam("ai绘画对象") AiPaintPageDto dto){ + PageHelper.startPage(dto.getPageNum(), dto.getPageSize()); + List aiPaintList = aiPaintService.queryPage(dto); + return getDataTable(aiPaintList); + } } diff --git a/bnyer-services/bnyer-img/src/main/java/com/bnyer/img/mapper/AiPaintMapper.java b/bnyer-services/bnyer-img/src/main/java/com/bnyer/img/mapper/AiPaintMapper.java new file mode 100644 index 0000000..3489e22 --- /dev/null +++ b/bnyer-services/bnyer-img/src/main/java/com/bnyer/img/mapper/AiPaintMapper.java @@ -0,0 +1,29 @@ +package com.bnyer.img.mapper; + +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import com.bnyer.common.core.domain.AiPaint; +import com.bnyer.common.core.dto.AiPaintPageDto; +import com.bnyer.img.vo.AiPaintVo; +import org.apache.ibatis.annotations.Mapper; +import org.apache.ibatis.annotations.Param; + +import java.util.List; + +@Mapper +public interface AiPaintMapper extends BaseMapper { + + /** + * 获取ai绘画分页 + * @param source 来源 + * @param painterId 绘画者id + * @return - + */ + List queryPage(@Param("source") String source,@Param("painterId") Long painterId); + + /** + * 获取ai绘画详情 + * @param id 主键id + * @return - + */ + AiPaintVo queryDetails(Long id); +} \ No newline at end of file diff --git a/bnyer-services/bnyer-img/src/main/java/com/bnyer/img/service/AiPaintService.java b/bnyer-services/bnyer-img/src/main/java/com/bnyer/img/service/AiPaintService.java new file mode 100644 index 0000000..875e2ed --- /dev/null +++ b/bnyer-services/bnyer-img/src/main/java/com/bnyer/img/service/AiPaintService.java @@ -0,0 +1,40 @@ +package com.bnyer.img.service; + +import com.bnyer.common.core.domain.AiPaint; +import com.bnyer.common.core.dto.AiPaintPageDto; +import com.bnyer.img.vo.AiPaintVo; + +import java.util.List; + +public interface AiPaintService { + + /** + * 新增ai绘画 + * @param aiPaint ai绘画 + * @return - + */ + int insert(AiPaint aiPaint); + + /** + * 批量删除ai绘画 + * @param ids id数组 + * @return - + */ + int delete(List ids); + + /** + * 获取绘画者ai绘画分页 + * @param params 分页参数 + * @return - + */ + List queryPage(AiPaintPageDto params); + + /** + * 获取ai绘画详情 + * @param id 主键id + * @return - + */ + AiPaintVo queryDetails(Long id); + + +} diff --git a/bnyer-services/bnyer-img/src/main/java/com/bnyer/img/service/impl/AiPaintServiceImpl.java b/bnyer-services/bnyer-img/src/main/java/com/bnyer/img/service/impl/AiPaintServiceImpl.java new file mode 100644 index 0000000..22c0a59 --- /dev/null +++ b/bnyer-services/bnyer-img/src/main/java/com/bnyer/img/service/impl/AiPaintServiceImpl.java @@ -0,0 +1,44 @@ +package com.bnyer.img.service.impl; + +import cn.hutool.core.util.IdUtil; +import com.bnyer.common.core.domain.AiPaint; +import com.bnyer.common.core.dto.AiPaintPageDto; +import com.bnyer.common.core.utils.uuid.IdUtils; +import com.bnyer.img.mapper.AiPaintMapper; +import com.bnyer.img.service.AiPaintService; +import com.bnyer.img.vo.AiPaintVo; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.stereotype.Service; +import org.springframework.transaction.annotation.Transactional; + +import java.util.Date; +import java.util.List; + +@Service +public class AiPaintServiceImpl implements AiPaintService { + + @Autowired + private AiPaintMapper aiPaintMapper; + + @Override + @Transactional(rollbackFor = Exception.class) + public int insert(AiPaint aiPaint) { + return aiPaintMapper.insert(aiPaint); + } + + @Override + @Transactional(rollbackFor = Exception.class) + public int delete(List ids) { + return aiPaintMapper.deleteBatchIds(ids); + } + + @Override + public List queryPage(AiPaintPageDto params) { + return aiPaintMapper.queryPage(params.getSource(),params.getPainterId()); + } + + @Override + public AiPaintVo queryDetails(Long id) { + return aiPaintMapper.queryDetails(id); + } +} diff --git a/bnyer-services/bnyer-img/src/main/java/com/bnyer/img/service/impl/StableDiffusionServiceImpl.java b/bnyer-services/bnyer-img/src/main/java/com/bnyer/img/service/impl/StableDiffusionServiceImpl.java index 6b588b8..3edf36a 100644 --- a/bnyer-services/bnyer-img/src/main/java/com/bnyer/img/service/impl/StableDiffusionServiceImpl.java +++ b/bnyer-services/bnyer-img/src/main/java/com/bnyer/img/service/impl/StableDiffusionServiceImpl.java @@ -1,15 +1,25 @@ package com.bnyer.img.service.impl; +import cn.hutool.core.util.IdUtil; import com.alibaba.fastjson.JSON; import com.alibaba.fastjson.JSONObject; +import com.bnyer.common.core.domain.AiPaint; +import com.bnyer.common.core.domain.R; import com.bnyer.common.core.dto.TextToImgDto; +import com.bnyer.common.core.utils.file.Base64ToMultipartFileUtils; +import com.bnyer.common.core.utils.file.ImageUtils; import com.bnyer.common.core.vo.TextToImgVo; +import com.bnyer.file.api.RemoteFileService; +import com.bnyer.img.service.AiPaintService; import com.bnyer.img.service.StableDiffusionService; +import com.bnyer.system.api.RemoteSystemFileService; import lombok.extern.slf4j.Slf4j; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; import org.springframework.web.client.RestTemplate; +import org.springframework.web.multipart.MultipartFile; +import java.util.Date; import java.util.HashMap; import java.util.List; import java.util.Map; @@ -21,11 +31,18 @@ public class StableDiffusionServiceImpl implements StableDiffusionService { @Autowired private RestTemplate restTemplate; + @Autowired + private AiPaintService aiPaintService; + + @Autowired + private RemoteFileService remoteFileService; + @Override public TextToImgVo textToImg(TextToImgDto param) { + //TODO 根据选择的风格来选择模型 Map map = new HashMap<>(); - map.put("width",param.getWidth()); - map.put("height",param.getHeight()); + map.put("width",param.getWidth() == null ? 512 : param.getWidth()); + map.put("height",param.getHeight() == null ? 512 : param.getHeight()); map.put("prompt", param.getPrompt()); map.put("seed",-1); map.put("batch_size",1); @@ -33,15 +50,45 @@ public class StableDiffusionServiceImpl implements StableDiffusionService { map.put("restore_faces",false); map.put("tiling",false); map.put("eta",0); - map.put("sampler_index","Euler"); + map.put("sampler_index","DPM++ 2S a Karras"); //map.put("sampler_index",param.getSamplerIndex()); map.put("steps",20); map.put("negative_prompt","nsfw"); + log.info("请求stable_diffusion请求体为:【{}】", JSON.toJSONString(map)); JSONObject jsonObject = restTemplate.postForObject("http://localhost:7860/sdapi/v1/txt2img", map, JSONObject.class); log.info("请求stable_diffusion响应体的为:【{}】", JSON.toJSONString(jsonObject)); TextToImgVo img = new TextToImgVo(); if(jsonObject != null && jsonObject.getJSONArray("images").size() > 0){ - img.setImages(jsonObject.getJSONArray("images").toJavaList(String.class)); + List images = jsonObject.getJSONArray("images").toJavaList(String.class); + img.setImages(images); + String paintId = null; + Date paintTime = null; + for (String image : images) { + //base64转file + MultipartFile file = new Base64ToMultipartFileUtils(image, "data:image/png;base64", "file", "tempSDImg"); + //上传图片到七牛云/minio + String imgStr = remoteFileService.uploadBanner(file).getData(); + //保存生辰该图片到ai绘画表 + AiPaint paint = new AiPaint(); + //paint.setId(); 主键改成雪花算法后启用 + paintId = IdUtil.getSnowflakeNextIdStr(); + paintTime = new Date(); + paint.setPaintId(paintId); + paint.setCreateTime(paintTime); + paint.setImgUrl(imgStr); + paint.setPrompt(param.getPrompt()); + paint.setModel(param.getModelName()); + paint.setStyleName(param.getStyleName()); + paint.setHeight(param.getHeight() == null ? "512" : String.valueOf(param.getHeight())); + paint.setWidth(param.getWidth() == null ? "512" : String.valueOf(param.getWidth())); + paint.setIsShow("1"); + paint.setSource("1"); + paint.setPainterId(param.getPainterId()); + paint.setPainterName(param.getPainterName()); + aiPaintService.insert(paint); + } + img.setPaintId(paintId); + img.setPaintTime(paintTime); } return img; diff --git a/bnyer-services/bnyer-img/src/main/java/com/bnyer/img/vo/AiPaintVo.java b/bnyer-services/bnyer-img/src/main/java/com/bnyer/img/vo/AiPaintVo.java new file mode 100644 index 0000000..fe21d96 --- /dev/null +++ b/bnyer-services/bnyer-img/src/main/java/com/bnyer/img/vo/AiPaintVo.java @@ -0,0 +1,50 @@ +package com.bnyer.img.vo; + +import com.fasterxml.jackson.annotation.JsonFormat; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Getter; +import lombok.Setter; + +import java.io.Serializable; +import java.util.Date; + + +@Getter +@Setter +@ApiModel("ai绘画响应体") +public class AiPaintVo implements Serializable { + + @ApiModelProperty(value="主键Id") + private Long id; + + @ApiModelProperty(value="作品编号") + private String paintId; + + @ApiModelProperty(value="绘图者昵称") + private String painterName; + + @ApiModelProperty(value="图片") + private String imgUrl; + + @ApiModelProperty(value="关键词") + private String prompt; + + @ApiModelProperty(value="风格名称") + private String styleName; + + @ApiModelProperty(value="图片高度") + private String height; + + @ApiModelProperty(value="图片宽度") + private String width; + + @ApiModelProperty(value="平台(0->Hub;1->抖音;2->快手;3->微信)") + private String source; + + @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss") + @ApiModelProperty(value="创建时间") + private Date createTime; + + private static final long serialVersionUID = 1L; +} \ No newline at end of file diff --git a/bnyer-services/bnyer-img/src/main/resources/com/bnyer/img/mapper/AiPaintMapper.xml b/bnyer-services/bnyer-img/src/main/resources/com/bnyer/img/mapper/AiPaintMapper.xml new file mode 100644 index 0000000..e5011ba --- /dev/null +++ b/bnyer-services/bnyer-img/src/main/resources/com/bnyer/img/mapper/AiPaintMapper.xml @@ -0,0 +1,40 @@ + + + + + + + + + + + + + + + + + + + + + + + id, paint_id, painter_id, painter_name, img_url, prompt, model,style_name, height, width, is_show, + `source`, create_time + + + + + + \ No newline at end of file diff --git a/bnyer-services/bnyer-system/src/main/java/com/bnyer/system/controller/SysProfileController.java b/bnyer-services/bnyer-system/src/main/java/com/bnyer/system/controller/SysProfileController.java index 0d664d0..91d4dfa 100644 --- a/bnyer-services/bnyer-system/src/main/java/com/bnyer/system/controller/SysProfileController.java +++ b/bnyer-services/bnyer-system/src/main/java/com/bnyer/system/controller/SysProfileController.java @@ -1,6 +1,8 @@ package com.bnyer.system.controller; import java.io.IOException; + +import com.bnyer.system.api.RemoteSystemFileService; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.web.bind.annotation.GetMapping; import org.springframework.web.bind.annotation.PostMapping; @@ -19,7 +21,6 @@ import com.bnyer.common.log.annotation.Log; import com.bnyer.common.log.enums.BusinessType; import com.bnyer.common.security.service.TokenService; import com.bnyer.common.security.utils.SecurityUtils; -import com.bnyer.system.api.RemoteFileService; import com.bnyer.system.api.domain.SysFile; import com.bnyer.system.api.domain.SysUser; import com.bnyer.system.api.model.LoginUser; @@ -41,7 +42,7 @@ public class SysProfileController extends BaseController private TokenService tokenService; @Autowired - private RemoteFileService remoteFileService; + private RemoteSystemFileService remoteFileService; /** * 个人信息 From 17a5233ca2e879faead3644ca1db39d4028dcb25 Mon Sep 17 00:00:00 2001 From: Penny <2500338766@qq.com> Date: Mon, 17 Apr 2023 22:17:37 +0800 Subject: [PATCH 10/13] =?UTF-8?q?feature-img-1.0:=E5=BE=85=E5=8A=A0?= =?UTF-8?q?=E5=85=A5=E7=BF=BB=E8=AF=91api?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../common/core/utils/TranslateUtils.java | 27 ++++ .../impl/StableDiffusionServiceImpl.java | 116 ++++++++++-------- 2 files changed, 92 insertions(+), 51 deletions(-) create mode 100644 bnyer-common/bnyer-common-core/src/main/java/com/bnyer/common/core/utils/TranslateUtils.java diff --git a/bnyer-common/bnyer-common-core/src/main/java/com/bnyer/common/core/utils/TranslateUtils.java b/bnyer-common/bnyer-common-core/src/main/java/com/bnyer/common/core/utils/TranslateUtils.java new file mode 100644 index 0000000..bba49a1 --- /dev/null +++ b/bnyer-common/bnyer-common-core/src/main/java/com/bnyer/common/core/utils/TranslateUtils.java @@ -0,0 +1,27 @@ +package com.bnyer.common.core.utils; + +import java.util.regex.Matcher; +import java.util.regex.Pattern; + +/** + * 汉译英工具类 + */ +public class TranslateUtils { + + /** + * 字符串是否包含中文 + * + * @param str 待校验字符串 + * @return true 包含中文字符 false 不包含中文字符 + * @throws Exception + */ + public static boolean isContainChinese(String str) throws Exception { + + if (StringUtils.isEmpty(str)) { + throw new Exception("文本内容为空!"); + } + Pattern p = Pattern.compile("[\u4E00-\u9FA5|\\!|\\,|\\。|\\(|\\)|\\《|\\》|\\“|\\”|\\?|\\:|\\;|\\【|\\】]"); + Matcher m = p.matcher(str); + return m.find(); + } +} diff --git a/bnyer-services/bnyer-img/src/main/java/com/bnyer/img/service/impl/StableDiffusionServiceImpl.java b/bnyer-services/bnyer-img/src/main/java/com/bnyer/img/service/impl/StableDiffusionServiceImpl.java index 3edf36a..d881e5b 100644 --- a/bnyer-services/bnyer-img/src/main/java/com/bnyer/img/service/impl/StableDiffusionServiceImpl.java +++ b/bnyer-services/bnyer-img/src/main/java/com/bnyer/img/service/impl/StableDiffusionServiceImpl.java @@ -6,6 +6,7 @@ import com.alibaba.fastjson.JSONObject; import com.bnyer.common.core.domain.AiPaint; import com.bnyer.common.core.domain.R; import com.bnyer.common.core.dto.TextToImgDto; +import com.bnyer.common.core.utils.TranslateUtils; import com.bnyer.common.core.utils.file.Base64ToMultipartFileUtils; import com.bnyer.common.core.utils.file.ImageUtils; import com.bnyer.common.core.vo.TextToImgVo; @@ -39,59 +40,72 @@ public class StableDiffusionServiceImpl implements StableDiffusionService { @Override public TextToImgVo textToImg(TextToImgDto param) { - //TODO 根据选择的风格来选择模型 - Map map = new HashMap<>(); - map.put("width",param.getWidth() == null ? 512 : param.getWidth()); - map.put("height",param.getHeight() == null ? 512 : param.getHeight()); - map.put("prompt", param.getPrompt()); - map.put("seed",-1); - map.put("batch_size",1); - map.put("cfg_scale",7); - map.put("restore_faces",false); - map.put("tiling",false); - map.put("eta",0); - map.put("sampler_index","DPM++ 2S a Karras"); - //map.put("sampler_index",param.getSamplerIndex()); - map.put("steps",20); - map.put("negative_prompt","nsfw"); - log.info("请求stable_diffusion请求体为:【{}】", JSON.toJSONString(map)); - JSONObject jsonObject = restTemplate.postForObject("http://localhost:7860/sdapi/v1/txt2img", map, JSONObject.class); - log.info("请求stable_diffusion响应体的为:【{}】", JSON.toJSONString(jsonObject)); - TextToImgVo img = new TextToImgVo(); - if(jsonObject != null && jsonObject.getJSONArray("images").size() > 0){ - List images = jsonObject.getJSONArray("images").toJavaList(String.class); - img.setImages(images); - String paintId = null; - Date paintTime = null; - for (String image : images) { - //base64转file - MultipartFile file = new Base64ToMultipartFileUtils(image, "data:image/png;base64", "file", "tempSDImg"); - //上传图片到七牛云/minio - String imgStr = remoteFileService.uploadBanner(file).getData(); - //保存生辰该图片到ai绘画表 - AiPaint paint = new AiPaint(); - //paint.setId(); 主键改成雪花算法后启用 - paintId = IdUtil.getSnowflakeNextIdStr(); - paintTime = new Date(); - paint.setPaintId(paintId); - paint.setCreateTime(paintTime); - paint.setImgUrl(imgStr); - paint.setPrompt(param.getPrompt()); - paint.setModel(param.getModelName()); - paint.setStyleName(param.getStyleName()); - paint.setHeight(param.getHeight() == null ? "512" : String.valueOf(param.getHeight())); - paint.setWidth(param.getWidth() == null ? "512" : String.valueOf(param.getWidth())); - paint.setIsShow("1"); - paint.setSource("1"); - paint.setPainterId(param.getPainterId()); - paint.setPainterName(param.getPainterName()); - aiPaintService.insert(paint); + try{ + String prompt = ""; + //判断prompt是否包含中文,中文则翻译,否则跳过 + if(TranslateUtils.isContainChinese(param.getPrompt())){ + //调用翻译api + //prompt = + }else{ + prompt = param.getPrompt(); } - img.setPaintId(paintId); - img.setPaintTime(paintTime); - } - return img; + //TODO 根据选择的风格来选择模型 + Map map = new HashMap<>(); + map.put("width",param.getWidth() == null ? 512 : param.getWidth()); + map.put("height",param.getHeight() == null ? 512 : param.getHeight()); + map.put("prompt", prompt); + map.put("seed",-1); + map.put("batch_size",1); + map.put("cfg_scale",7); + map.put("restore_faces",false); + map.put("tiling",false); + map.put("eta",0); + map.put("sampler_index","DPM++ 2S a Karras"); + //map.put("sampler_index",param.getSamplerIndex()); + map.put("steps",25); + map.put("negative_prompt","nsfw"); + log.info("请求stable_diffusion请求体为:【{}】", JSON.toJSONString(map)); + JSONObject jsonObject = restTemplate.postForObject("http://localhost:7860/sdapi/v1/txt2img", map, JSONObject.class); + log.info("请求stable_diffusion响应体的为:【{}】", JSON.toJSONString(jsonObject)); + TextToImgVo img = new TextToImgVo(); + if(jsonObject != null && jsonObject.getJSONArray("images").size() > 0){ + List images = jsonObject.getJSONArray("images").toJavaList(String.class); + img.setImages(images); + String paintId = null; + Date paintTime = null; + for (String image : images) { + //base64转file + MultipartFile file = new Base64ToMultipartFileUtils(image, "data:image/png;base64", "file", "tempSDImg"); + //上传图片到七牛云/minio + String imgStr = remoteFileService.uploadBanner(file).getData(); + //保存生辰该图片到ai绘画表 + AiPaint paint = new AiPaint(); + //paint.setId(); 主键改成雪花算法后启用 + paintId = IdUtil.getSnowflakeNextIdStr(); + paintTime = new Date(); + paint.setPaintId(paintId); + paint.setCreateTime(paintTime); + paint.setImgUrl(imgStr); + paint.setPrompt(param.getPrompt()); + paint.setModel(param.getModelName()); + paint.setStyleName(param.getStyleName()); + paint.setHeight(param.getHeight() == null ? "512" : String.valueOf(param.getHeight())); + paint.setWidth(param.getWidth() == null ? "512" : String.valueOf(param.getWidth())); + paint.setIsShow("1"); + paint.setSource("1"); + paint.setPainterId(param.getPainterId()); + paint.setPainterName(param.getPainterName()); + aiPaintService.insert(paint); + } + img.setPaintId(paintId); + img.setPaintTime(paintTime); + } + return img; + }catch (Exception e){ + log.error("文本翻译错误!"+e); + } + return null; } @Override From b2e0738045a3f16f0419b37463f941480ba3792d Mon Sep 17 00:00:00 2001 From: Penny <2500338766@qq.com> Date: Sat, 22 Apr 2023 13:46:05 +0800 Subject: [PATCH 11/13] =?UTF-8?q?feature-img-1.0:=E5=BE=85=E5=8A=A0?= =?UTF-8?q?=E5=85=A5=E7=BF=BB=E8=AF=91api?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../impl/StableDiffusionServiceImpl.java | 20 ++++++++++--------- 1 file changed, 11 insertions(+), 9 deletions(-) diff --git a/bnyer-services/bnyer-img/src/main/java/com/bnyer/img/service/impl/StableDiffusionServiceImpl.java b/bnyer-services/bnyer-img/src/main/java/com/bnyer/img/service/impl/StableDiffusionServiceImpl.java index d881e5b..9be2f56 100644 --- a/bnyer-services/bnyer-img/src/main/java/com/bnyer/img/service/impl/StableDiffusionServiceImpl.java +++ b/bnyer-services/bnyer-img/src/main/java/com/bnyer/img/service/impl/StableDiffusionServiceImpl.java @@ -41,20 +41,22 @@ public class StableDiffusionServiceImpl implements StableDiffusionService { @Override public TextToImgVo textToImg(TextToImgDto param) { try{ - String prompt = ""; + //String prompt = ""; //判断prompt是否包含中文,中文则翻译,否则跳过 - if(TranslateUtils.isContainChinese(param.getPrompt())){ - //调用翻译api - //prompt = - }else{ - prompt = param.getPrompt(); - } +// if(TranslateUtils.isContainChinese(param.getPrompt())){ +// //调用翻译api +// //prompt = +// prompt = param.getPrompt(); +// }else{ +// prompt = param.getPrompt(); +// } //TODO 根据选择的风格来选择模型 Map map = new HashMap<>(); map.put("width",param.getWidth() == null ? 512 : param.getWidth()); map.put("height",param.getHeight() == null ? 512 : param.getHeight()); - map.put("prompt", prompt); + //map.put("prompt", prompt); + map.put("prompt", param.getPrompt()); map.put("seed",-1); map.put("batch_size",1); map.put("cfg_scale",7); @@ -66,7 +68,7 @@ public class StableDiffusionServiceImpl implements StableDiffusionService { map.put("steps",25); map.put("negative_prompt","nsfw"); log.info("请求stable_diffusion请求体为:【{}】", JSON.toJSONString(map)); - JSONObject jsonObject = restTemplate.postForObject("http://localhost:7860/sdapi/v1/txt2img", map, JSONObject.class); + JSONObject jsonObject = restTemplate.postForObject("http://124.220.2.237:7860/sdapi/v1/txt2img", map, JSONObject.class); log.info("请求stable_diffusion响应体的为:【{}】", JSON.toJSONString(jsonObject)); TextToImgVo img = new TextToImgVo(); if(jsonObject != null && jsonObject.getJSONArray("images").size() > 0){ From f8c1dca3e7c59007707fa33109b04d177c6cf11f Mon Sep 17 00:00:00 2001 From: Penny <2500338766@qq.com> Date: Sun, 23 Apr 2023 01:53:58 +0800 Subject: [PATCH 12/13] =?UTF-8?q?feature-img-1.0:=E5=BE=85=E5=8A=A0?= =?UTF-8?q?=E5=85=A5=E7=BF=BB=E8=AF=91api?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../com/bnyer/img/service/impl/StableDiffusionServiceImpl.java | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/bnyer-services/bnyer-img/src/main/java/com/bnyer/img/service/impl/StableDiffusionServiceImpl.java b/bnyer-services/bnyer-img/src/main/java/com/bnyer/img/service/impl/StableDiffusionServiceImpl.java index 9be2f56..a69129d 100644 --- a/bnyer-services/bnyer-img/src/main/java/com/bnyer/img/service/impl/StableDiffusionServiceImpl.java +++ b/bnyer-services/bnyer-img/src/main/java/com/bnyer/img/service/impl/StableDiffusionServiceImpl.java @@ -68,7 +68,7 @@ public class StableDiffusionServiceImpl implements StableDiffusionService { map.put("steps",25); map.put("negative_prompt","nsfw"); log.info("请求stable_diffusion请求体为:【{}】", JSON.toJSONString(map)); - JSONObject jsonObject = restTemplate.postForObject("http://124.220.2.237:7860/sdapi/v1/txt2img", map, JSONObject.class); + JSONObject jsonObject = restTemplate.postForObject("http://localhost:7860/sdapi/v1/txt2img", map, JSONObject.class); log.info("请求stable_diffusion响应体的为:【{}】", JSON.toJSONString(jsonObject)); TextToImgVo img = new TextToImgVo(); if(jsonObject != null && jsonObject.getJSONArray("images").size() > 0){ From 4a336cfef52e7ecb0cf14f57713a1bc3e9414031 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E2=80=98=E2=80=98?= Date: Sun, 23 Apr 2023 15:17:30 +0800 Subject: [PATCH 13/13] =?UTF-8?q?feature-1.0-img:=E4=B8=BB=E9=94=AEid?= =?UTF-8?q?=E7=AD=96=E7=95=A5=E4=BF=AE=E6=94=B9=E6=88=90=E5=88=86=E5=B8=83?= =?UTF-8?q?=E5=BC=8F=E9=9B=AA=E8=8A=B1=E7=AE=97=E6=B3=95?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../main/java/com/bnyer/common/core/domain/AiPaint.java | 2 +- .../main/java/com/bnyer/common/core/domain/Banner.java | 6 ------ .../java/com/bnyer/common/core/domain/BaseDomain.java | 9 +++++++++ .../main/java/com/bnyer/common/core/domain/BzData.java | 2 +- .../java/com/bnyer/common/core/domain/CommonImgs.java | 6 ------ .../main/java/com/bnyer/common/core/domain/Creator.java | 6 ------ .../com/bnyer/common/core/domain/CreatorAccount.java | 6 ------ .../java/com/bnyer/common/core/domain/CreatorProfit.java | 6 ------ .../main/java/com/bnyer/common/core/domain/Feedback.java | 6 ------ .../main/java/com/bnyer/common/core/domain/FhUser.java | 6 ------ .../com/bnyer/common/core/domain/ImgSignRelation.java | 6 +++--- .../java/com/bnyer/common/core/domain/InviteLog.java | 6 ------ .../java/com/bnyer/common/core/domain/LevelInfo.java | 6 ------ .../main/java/com/bnyer/common/core/domain/Notice.java | 6 ------ .../java/com/bnyer/common/core/domain/PaintStyle.java | 6 ------ .../main/java/com/bnyer/common/core/domain/Product.java | 6 ------ .../java/com/bnyer/common/core/domain/ProductOrder.java | 6 +++--- .../com/bnyer/common/core/domain/ProfitVerifyOrder.java | 6 +++--- .../main/java/com/bnyer/common/core/domain/Prompt.java | 6 ------ .../src/main/java/com/bnyer/common/core/domain/Sign.java | 6 ------ .../com/bnyer/common/core/domain/TiktokCollection.java | 6 ------ .../java/com/bnyer/common/core/domain/TiktokImg.java | 6 ------ .../java/com/bnyer/common/core/domain/TiktokLike.java | 6 ------ .../java/com/bnyer/common/core/domain/TiktokUser.java | 6 ------ .../src/main/java/com/bnyer/common/core/domain/Type.java | 6 ------ .../main/java/com/bnyer/common/core/domain/UserVip.java | 6 ------ .../java/com/bnyer/common/core/domain/UserVipRecord.java | 6 ------ .../java/com/bnyer/common/core/domain/VerifyLog.java | 6 +++--- .../java/com/bnyer/common/core/domain/WithdrawLog.java | 6 ------ .../main/java/com/bnyer/common/core/domain/WxUser.java | 6 ------ 30 files changed, 23 insertions(+), 152 deletions(-) diff --git a/bnyer-common/bnyer-common-core/src/main/java/com/bnyer/common/core/domain/AiPaint.java b/bnyer-common/bnyer-common-core/src/main/java/com/bnyer/common/core/domain/AiPaint.java index 57726d9..c1cd4e5 100644 --- a/bnyer-common/bnyer-common-core/src/main/java/com/bnyer/common/core/domain/AiPaint.java +++ b/bnyer-common/bnyer-common-core/src/main/java/com/bnyer/common/core/domain/AiPaint.java @@ -29,7 +29,7 @@ public class AiPaint implements Serializable { /** * 主键Id */ - @TableId(value = "id", type = IdType.AUTO) + @TableId(value = "id", type = IdType.ASSIGN_ID) @ApiModelProperty(value="主键Id") private Long id; diff --git a/bnyer-common/bnyer-common-core/src/main/java/com/bnyer/common/core/domain/Banner.java b/bnyer-common/bnyer-common-core/src/main/java/com/bnyer/common/core/domain/Banner.java index 3b4dd81..a5b14ec 100644 --- a/bnyer-common/bnyer-common-core/src/main/java/com/bnyer/common/core/domain/Banner.java +++ b/bnyer-common/bnyer-common-core/src/main/java/com/bnyer/common/core/domain/Banner.java @@ -16,12 +16,6 @@ import lombok.*; @NoArgsConstructor @TableName(value = "img_banner") public class Banner extends BaseDomain { - /** - * id - */ - @TableId(value = "id", type = IdType.AUTO) - @ApiModelProperty(value="id") - private Long id; /** * banner名称 diff --git a/bnyer-common/bnyer-common-core/src/main/java/com/bnyer/common/core/domain/BaseDomain.java b/bnyer-common/bnyer-common-core/src/main/java/com/bnyer/common/core/domain/BaseDomain.java index 5cce732..8d16ea2 100644 --- a/bnyer-common/bnyer-common-core/src/main/java/com/bnyer/common/core/domain/BaseDomain.java +++ b/bnyer-common/bnyer-common-core/src/main/java/com/bnyer/common/core/domain/BaseDomain.java @@ -1,6 +1,8 @@ package com.bnyer.common.core.domain; +import com.baomidou.mybatisplus.annotation.IdType; import com.baomidou.mybatisplus.annotation.TableField; +import com.baomidou.mybatisplus.annotation.TableId; import com.fasterxml.jackson.annotation.JsonFormat; import io.swagger.annotations.ApiModel; import io.swagger.annotations.ApiModelProperty; @@ -17,6 +19,13 @@ import java.util.Date; @ApiModel("公共实体类") public class BaseDomain implements Serializable { + /** + * id + */ + @TableId(value = "id", type = IdType.ASSIGN_ID) + @ApiModelProperty(value="id") + private Long id; + /** * 是否显示 (0->隐藏;1->显示) */ diff --git a/bnyer-common/bnyer-common-core/src/main/java/com/bnyer/common/core/domain/BzData.java b/bnyer-common/bnyer-common-core/src/main/java/com/bnyer/common/core/domain/BzData.java index f16880b..2f50f7b 100644 --- a/bnyer-common/bnyer-common-core/src/main/java/com/bnyer/common/core/domain/BzData.java +++ b/bnyer-common/bnyer-common-core/src/main/java/com/bnyer/common/core/domain/BzData.java @@ -19,7 +19,7 @@ public class BzData { /** * 主键id */ - @TableId(value = "id", type = IdType.INPUT) + @TableId(value = "id", type = IdType.ASSIGN_ID) @ApiModelProperty(value="主键id") private Long id; diff --git a/bnyer-common/bnyer-common-core/src/main/java/com/bnyer/common/core/domain/CommonImgs.java b/bnyer-common/bnyer-common-core/src/main/java/com/bnyer/common/core/domain/CommonImgs.java index 86de9a1..9128d4b 100644 --- a/bnyer-common/bnyer-common-core/src/main/java/com/bnyer/common/core/domain/CommonImgs.java +++ b/bnyer-common/bnyer-common-core/src/main/java/com/bnyer/common/core/domain/CommonImgs.java @@ -16,12 +16,6 @@ import lombok.*; @NoArgsConstructor @TableName(value = "img_common_imgs") public class CommonImgs extends BaseDomain { - /** - * 主键id - */ - @TableId(value = "id", type = IdType.INPUT) - @ApiModelProperty(value="主键id") - private Long id; /** * 图片地址 diff --git a/bnyer-common/bnyer-common-core/src/main/java/com/bnyer/common/core/domain/Creator.java b/bnyer-common/bnyer-common-core/src/main/java/com/bnyer/common/core/domain/Creator.java index b4c9891..8534c6e 100644 --- a/bnyer-common/bnyer-common-core/src/main/java/com/bnyer/common/core/domain/Creator.java +++ b/bnyer-common/bnyer-common-core/src/main/java/com/bnyer/common/core/domain/Creator.java @@ -28,12 +28,6 @@ import java.util.Date; @NoArgsConstructor @TableName(value = "img_creator") public class Creator extends BaseDomain { - /** - * 主键id - */ - @TableId(value = "id", type = IdType.AUTO) - @ApiModelProperty(value="主键id") - private Long id; /** * 姓名 diff --git a/bnyer-common/bnyer-common-core/src/main/java/com/bnyer/common/core/domain/CreatorAccount.java b/bnyer-common/bnyer-common-core/src/main/java/com/bnyer/common/core/domain/CreatorAccount.java index 63623d4..b8ae073 100644 --- a/bnyer-common/bnyer-common-core/src/main/java/com/bnyer/common/core/domain/CreatorAccount.java +++ b/bnyer-common/bnyer-common-core/src/main/java/com/bnyer/common/core/domain/CreatorAccount.java @@ -18,12 +18,6 @@ import lombok.*; @NoArgsConstructor @TableName(value = "img_creator_account") public class CreatorAccount extends BaseDomain { - /** - * 主键id - */ - @TableId(value = "id", type = IdType.AUTO) - @ApiModelProperty(value="主键id") - private Long id; /** * 艺术家id diff --git a/bnyer-common/bnyer-common-core/src/main/java/com/bnyer/common/core/domain/CreatorProfit.java b/bnyer-common/bnyer-common-core/src/main/java/com/bnyer/common/core/domain/CreatorProfit.java index 8ac0045..3f3b496 100644 --- a/bnyer-common/bnyer-common-core/src/main/java/com/bnyer/common/core/domain/CreatorProfit.java +++ b/bnyer-common/bnyer-common-core/src/main/java/com/bnyer/common/core/domain/CreatorProfit.java @@ -27,12 +27,6 @@ import java.util.Date; @NoArgsConstructor @TableName(value = "img_creator_profit") public class CreatorProfit extends BaseDomain { - /** - * 主键id - */ - @TableId(value = "id", type = IdType.INPUT) - @ApiModelProperty(value="主键id") - private Long id; /** * 结算流水号 diff --git a/bnyer-common/bnyer-common-core/src/main/java/com/bnyer/common/core/domain/Feedback.java b/bnyer-common/bnyer-common-core/src/main/java/com/bnyer/common/core/domain/Feedback.java index 31ec420..bc951be 100644 --- a/bnyer-common/bnyer-common-core/src/main/java/com/bnyer/common/core/domain/Feedback.java +++ b/bnyer-common/bnyer-common-core/src/main/java/com/bnyer/common/core/domain/Feedback.java @@ -16,12 +16,6 @@ import lombok.*; @NoArgsConstructor @TableName(value = "img_feedback") public class Feedback extends BaseDomain { - /** - * 主键Id - */ - @TableId(value = "id", type = IdType.AUTO) - @ApiModelProperty(value="主键Id") - private Long id; /** * 反馈信息 diff --git a/bnyer-common/bnyer-common-core/src/main/java/com/bnyer/common/core/domain/FhUser.java b/bnyer-common/bnyer-common-core/src/main/java/com/bnyer/common/core/domain/FhUser.java index 23fdae8..8756c46 100644 --- a/bnyer-common/bnyer-common-core/src/main/java/com/bnyer/common/core/domain/FhUser.java +++ b/bnyer-common/bnyer-common-core/src/main/java/com/bnyer/common/core/domain/FhUser.java @@ -24,12 +24,6 @@ import lombok.*; @NoArgsConstructor @TableName(value = "img_fh_user") public class FhUser extends BaseDomain { - /** - * id - */ - @TableId(value = "id", type = IdType.AUTO) - @ApiModelProperty(value="id") - private Long id; /** * 用户昵称 diff --git a/bnyer-common/bnyer-common-core/src/main/java/com/bnyer/common/core/domain/ImgSignRelation.java b/bnyer-common/bnyer-common-core/src/main/java/com/bnyer/common/core/domain/ImgSignRelation.java index 4326a5f..5ee9529 100644 --- a/bnyer-common/bnyer-common-core/src/main/java/com/bnyer/common/core/domain/ImgSignRelation.java +++ b/bnyer-common/bnyer-common-core/src/main/java/com/bnyer/common/core/domain/ImgSignRelation.java @@ -21,10 +21,10 @@ import java.util.Date; @TableName(value = "img_img_sign_relation") public class ImgSignRelation implements Serializable { /** - * 主键id + * id */ - @TableId(value = "id", type = IdType.AUTO) - @ApiModelProperty(value="主键id") + @TableId(value = "id", type = IdType.ASSIGN_ID) + @ApiModelProperty(value="id") private Long id; /** diff --git a/bnyer-common/bnyer-common-core/src/main/java/com/bnyer/common/core/domain/InviteLog.java b/bnyer-common/bnyer-common-core/src/main/java/com/bnyer/common/core/domain/InviteLog.java index 585e8c3..c1cad45 100644 --- a/bnyer-common/bnyer-common-core/src/main/java/com/bnyer/common/core/domain/InviteLog.java +++ b/bnyer-common/bnyer-common-core/src/main/java/com/bnyer/common/core/domain/InviteLog.java @@ -16,12 +16,6 @@ import lombok.*; @NoArgsConstructor @TableName(value = "img_invite_log") public class InviteLog extends BaseDomain { - /** - * 主键id - */ - @TableId(value = "id", type = IdType.AUTO) - @ApiModelProperty(value="主键id") - private Long id; /** * 邀请码 diff --git a/bnyer-common/bnyer-common-core/src/main/java/com/bnyer/common/core/domain/LevelInfo.java b/bnyer-common/bnyer-common-core/src/main/java/com/bnyer/common/core/domain/LevelInfo.java index 26ee8ed..08ed210 100644 --- a/bnyer-common/bnyer-common-core/src/main/java/com/bnyer/common/core/domain/LevelInfo.java +++ b/bnyer-common/bnyer-common-core/src/main/java/com/bnyer/common/core/domain/LevelInfo.java @@ -16,12 +16,6 @@ import lombok.*; @NoArgsConstructor @TableName(value = "img_level_info") public class LevelInfo extends BaseDomain { - /** - * 主键id - */ - @TableId(value = "id", type = IdType.AUTO) - @ApiModelProperty(value="主键id") - private Long id; /** * 等级头衔名称 diff --git a/bnyer-common/bnyer-common-core/src/main/java/com/bnyer/common/core/domain/Notice.java b/bnyer-common/bnyer-common-core/src/main/java/com/bnyer/common/core/domain/Notice.java index 07c6ceb..87331ba 100644 --- a/bnyer-common/bnyer-common-core/src/main/java/com/bnyer/common/core/domain/Notice.java +++ b/bnyer-common/bnyer-common-core/src/main/java/com/bnyer/common/core/domain/Notice.java @@ -16,12 +16,6 @@ import lombok.*; @NoArgsConstructor @TableName(value = "img_notice") public class Notice extends BaseDomain { - /** - * 主键id - */ - @TableId(value = "id", type = IdType.AUTO) - @ApiModelProperty(value="主键id") - private Long id; /** * 标题 diff --git a/bnyer-common/bnyer-common-core/src/main/java/com/bnyer/common/core/domain/PaintStyle.java b/bnyer-common/bnyer-common-core/src/main/java/com/bnyer/common/core/domain/PaintStyle.java index e6b9e1c..51e5ef4 100644 --- a/bnyer-common/bnyer-common-core/src/main/java/com/bnyer/common/core/domain/PaintStyle.java +++ b/bnyer-common/bnyer-common-core/src/main/java/com/bnyer/common/core/domain/PaintStyle.java @@ -19,12 +19,6 @@ import lombok.*; @NoArgsConstructor @TableName(value = "img_paint_style") public class PaintStyle extends BaseDomain { - /** - * 主键id - */ - @TableId(value = "id", type = IdType.AUTO) - @ApiModelProperty(value="主键id") - private Long id; /** * 模型风格名称 diff --git a/bnyer-common/bnyer-common-core/src/main/java/com/bnyer/common/core/domain/Product.java b/bnyer-common/bnyer-common-core/src/main/java/com/bnyer/common/core/domain/Product.java index 3eb7f76..16b147f 100644 --- a/bnyer-common/bnyer-common-core/src/main/java/com/bnyer/common/core/domain/Product.java +++ b/bnyer-common/bnyer-common-core/src/main/java/com/bnyer/common/core/domain/Product.java @@ -18,12 +18,6 @@ import java.math.BigDecimal; @NoArgsConstructor @TableName(value = "img_product") public class Product extends BaseDomain { - /** - * 主键id - */ - @TableId(value = "id", type = IdType.AUTO) - @ApiModelProperty(value="主键id") - private Long id; /** * 商品名称 diff --git a/bnyer-common/bnyer-common-core/src/main/java/com/bnyer/common/core/domain/ProductOrder.java b/bnyer-common/bnyer-common-core/src/main/java/com/bnyer/common/core/domain/ProductOrder.java index 711b84a..bbce27f 100644 --- a/bnyer-common/bnyer-common-core/src/main/java/com/bnyer/common/core/domain/ProductOrder.java +++ b/bnyer-common/bnyer-common-core/src/main/java/com/bnyer/common/core/domain/ProductOrder.java @@ -22,10 +22,10 @@ import java.util.Date; @TableName(value = "img_product_order") public class ProductOrder implements Serializable { /** - * 主键id + * id */ - @TableId(value = "id", type = IdType.AUTO) - @ApiModelProperty(value="主键id") + @TableId(value = "id", type = IdType.ASSIGN_ID) + @ApiModelProperty(value="id") private Long id; /** diff --git a/bnyer-common/bnyer-common-core/src/main/java/com/bnyer/common/core/domain/ProfitVerifyOrder.java b/bnyer-common/bnyer-common-core/src/main/java/com/bnyer/common/core/domain/ProfitVerifyOrder.java index 371f51a..4432950 100644 --- a/bnyer-common/bnyer-common-core/src/main/java/com/bnyer/common/core/domain/ProfitVerifyOrder.java +++ b/bnyer-common/bnyer-common-core/src/main/java/com/bnyer/common/core/domain/ProfitVerifyOrder.java @@ -30,10 +30,10 @@ import java.util.Date; @TableName(value = "img_profit_verify_order") public class ProfitVerifyOrder implements Serializable { /** - * 主键id + * id */ - @TableId(value = "id", type = IdType.INPUT) - @ApiModelProperty(value="主键id") + @TableId(value = "id", type = IdType.ASSIGN_ID) + @ApiModelProperty(value="id") private Long id; /** diff --git a/bnyer-common/bnyer-common-core/src/main/java/com/bnyer/common/core/domain/Prompt.java b/bnyer-common/bnyer-common-core/src/main/java/com/bnyer/common/core/domain/Prompt.java index 88a9bd9..581907c 100644 --- a/bnyer-common/bnyer-common-core/src/main/java/com/bnyer/common/core/domain/Prompt.java +++ b/bnyer-common/bnyer-common-core/src/main/java/com/bnyer/common/core/domain/Prompt.java @@ -19,12 +19,6 @@ import lombok.*; @NoArgsConstructor @TableName(value = "img_prompt") public class Prompt extends BaseDomain { - /** - * 主键id - */ - @TableId(value = "id", type = IdType.AUTO) - @ApiModelProperty(value="主键id") - private Long id; /** * 提示词 diff --git a/bnyer-common/bnyer-common-core/src/main/java/com/bnyer/common/core/domain/Sign.java b/bnyer-common/bnyer-common-core/src/main/java/com/bnyer/common/core/domain/Sign.java index e2a6b61..9f989ad 100644 --- a/bnyer-common/bnyer-common-core/src/main/java/com/bnyer/common/core/domain/Sign.java +++ b/bnyer-common/bnyer-common-core/src/main/java/com/bnyer/common/core/domain/Sign.java @@ -16,12 +16,6 @@ import lombok.*; @NoArgsConstructor @TableName(value = "img_sign") public class Sign extends BaseDomain { - /** - * 主键id - */ - @TableId(value = "id", type = IdType.AUTO) - @ApiModelProperty(value="主键id") - private Long id; /** * 标签名称 diff --git a/bnyer-common/bnyer-common-core/src/main/java/com/bnyer/common/core/domain/TiktokCollection.java b/bnyer-common/bnyer-common-core/src/main/java/com/bnyer/common/core/domain/TiktokCollection.java index 7e35a5d..2bbc1a3 100644 --- a/bnyer-common/bnyer-common-core/src/main/java/com/bnyer/common/core/domain/TiktokCollection.java +++ b/bnyer-common/bnyer-common-core/src/main/java/com/bnyer/common/core/domain/TiktokCollection.java @@ -16,12 +16,6 @@ import lombok.*; @NoArgsConstructor @TableName(value = "img_collection") public class TiktokCollection extends BaseDomain { - /** - * id - */ - @TableId(value = "id", type = IdType.AUTO) - @ApiModelProperty(value="id") - private Long id; /** * 用户id diff --git a/bnyer-common/bnyer-common-core/src/main/java/com/bnyer/common/core/domain/TiktokImg.java b/bnyer-common/bnyer-common-core/src/main/java/com/bnyer/common/core/domain/TiktokImg.java index 003f472..c6fb1d8 100644 --- a/bnyer-common/bnyer-common-core/src/main/java/com/bnyer/common/core/domain/TiktokImg.java +++ b/bnyer-common/bnyer-common-core/src/main/java/com/bnyer/common/core/domain/TiktokImg.java @@ -16,12 +16,6 @@ import lombok.*; @NoArgsConstructor @TableName(value = "img_tiktok_img") public class TiktokImg extends BaseDomain { - /** - * id - */ - @TableId(value = "id", type = IdType.AUTO) - @ApiModelProperty(value="id") - private Long id; /** * 图片地址 diff --git a/bnyer-common/bnyer-common-core/src/main/java/com/bnyer/common/core/domain/TiktokLike.java b/bnyer-common/bnyer-common-core/src/main/java/com/bnyer/common/core/domain/TiktokLike.java index f9e38ba..7699ca5 100644 --- a/bnyer-common/bnyer-common-core/src/main/java/com/bnyer/common/core/domain/TiktokLike.java +++ b/bnyer-common/bnyer-common-core/src/main/java/com/bnyer/common/core/domain/TiktokLike.java @@ -24,12 +24,6 @@ import lombok.*; @NoArgsConstructor @TableName(value = "img_like") public class TiktokLike extends BaseDomain { - /** - * 主键 - */ - @TableId(value = "id", type = IdType.AUTO) - @ApiModelProperty(value="主键") - private Long id; /** * 用户id diff --git a/bnyer-common/bnyer-common-core/src/main/java/com/bnyer/common/core/domain/TiktokUser.java b/bnyer-common/bnyer-common-core/src/main/java/com/bnyer/common/core/domain/TiktokUser.java index 2847d13..f1bf1b9 100644 --- a/bnyer-common/bnyer-common-core/src/main/java/com/bnyer/common/core/domain/TiktokUser.java +++ b/bnyer-common/bnyer-common-core/src/main/java/com/bnyer/common/core/domain/TiktokUser.java @@ -16,12 +16,6 @@ import lombok.*; @NoArgsConstructor @TableName(value = "img_tiktok_user") public class TiktokUser extends BaseDomain { - /** - * id - */ - @TableId(value = "id", type = IdType.AUTO) - @ApiModelProperty(value="id") - private Long id; /** * 用户昵称 diff --git a/bnyer-common/bnyer-common-core/src/main/java/com/bnyer/common/core/domain/Type.java b/bnyer-common/bnyer-common-core/src/main/java/com/bnyer/common/core/domain/Type.java index a272b75..895c57a 100644 --- a/bnyer-common/bnyer-common-core/src/main/java/com/bnyer/common/core/domain/Type.java +++ b/bnyer-common/bnyer-common-core/src/main/java/com/bnyer/common/core/domain/Type.java @@ -16,12 +16,6 @@ import lombok.*; @NoArgsConstructor @TableName(value = "img_type") public class Type extends BaseDomain { - /** - * id - */ - @TableId(value = "id", type = IdType.AUTO) - @ApiModelProperty(value="id") - private Long id; /** * 分类类型 diff --git a/bnyer-common/bnyer-common-core/src/main/java/com/bnyer/common/core/domain/UserVip.java b/bnyer-common/bnyer-common-core/src/main/java/com/bnyer/common/core/domain/UserVip.java index 700b7a6..54fa10e 100644 --- a/bnyer-common/bnyer-common-core/src/main/java/com/bnyer/common/core/domain/UserVip.java +++ b/bnyer-common/bnyer-common-core/src/main/java/com/bnyer/common/core/domain/UserVip.java @@ -18,12 +18,6 @@ import java.math.BigDecimal; @NoArgsConstructor @TableName(value = "img_user_vip") public class UserVip extends BaseDomain { - /** - * 主键Id - */ - @TableId(value = "id", type = IdType.AUTO) - @ApiModelProperty(value="主键Id") - private Long id; /** * vip名称 diff --git a/bnyer-common/bnyer-common-core/src/main/java/com/bnyer/common/core/domain/UserVipRecord.java b/bnyer-common/bnyer-common-core/src/main/java/com/bnyer/common/core/domain/UserVipRecord.java index 1325c6d..75bee33 100644 --- a/bnyer-common/bnyer-common-core/src/main/java/com/bnyer/common/core/domain/UserVipRecord.java +++ b/bnyer-common/bnyer-common-core/src/main/java/com/bnyer/common/core/domain/UserVipRecord.java @@ -20,12 +20,6 @@ import java.util.Date; @NoArgsConstructor @TableName(value = "img_user_vip_record") public class UserVipRecord extends BaseDomain { - /** - * 主键id - */ - @TableId(value = "id", type = IdType.AUTO) - @ApiModelProperty(value="主键id") - private Long id; /** * 订单id diff --git a/bnyer-common/bnyer-common-core/src/main/java/com/bnyer/common/core/domain/VerifyLog.java b/bnyer-common/bnyer-common-core/src/main/java/com/bnyer/common/core/domain/VerifyLog.java index 661d625..bcca17e 100644 --- a/bnyer-common/bnyer-common-core/src/main/java/com/bnyer/common/core/domain/VerifyLog.java +++ b/bnyer-common/bnyer-common-core/src/main/java/com/bnyer/common/core/domain/VerifyLog.java @@ -29,10 +29,10 @@ import java.util.Date; @TableName(value = "img_verify_log") public class VerifyLog implements Serializable { /** - * 主键id + * id */ - @TableId(value = "id", type = IdType.INPUT) - @ApiModelProperty(value="主键id") + @TableId(value = "id", type = IdType.ASSIGN_ID) + @ApiModelProperty(value="id") private Long id; /** diff --git a/bnyer-common/bnyer-common-core/src/main/java/com/bnyer/common/core/domain/WithdrawLog.java b/bnyer-common/bnyer-common-core/src/main/java/com/bnyer/common/core/domain/WithdrawLog.java index 81f5a2f..7999a55 100644 --- a/bnyer-common/bnyer-common-core/src/main/java/com/bnyer/common/core/domain/WithdrawLog.java +++ b/bnyer-common/bnyer-common-core/src/main/java/com/bnyer/common/core/domain/WithdrawLog.java @@ -20,12 +20,6 @@ import java.math.BigDecimal; @NoArgsConstructor @TableName(value = "img_withdraw_log") public class WithdrawLog extends BaseDomain { - /** - * 主键id - */ - @TableId(value = "id", type = IdType.AUTO) - @ApiModelProperty(value="主键id") - private Integer id; /** * 流水号 diff --git a/bnyer-common/bnyer-common-core/src/main/java/com/bnyer/common/core/domain/WxUser.java b/bnyer-common/bnyer-common-core/src/main/java/com/bnyer/common/core/domain/WxUser.java index 2d9688b..ce08265 100644 --- a/bnyer-common/bnyer-common-core/src/main/java/com/bnyer/common/core/domain/WxUser.java +++ b/bnyer-common/bnyer-common-core/src/main/java/com/bnyer/common/core/domain/WxUser.java @@ -24,12 +24,6 @@ import lombok.*; @NoArgsConstructor @TableName(value = "img_wx_user") public class WxUser extends BaseDomain { - /** - * id - */ - @TableId(value = "id", type = IdType.INPUT) - @ApiModelProperty(value="id") - private Long id; /** * 用户昵称