diff --git a/src/main/java/com/yolo/keyborad/controller/CharacterController.java b/src/main/java/com/yolo/keyborad/controller/CharacterController.java index a970545..e4db369 100644 --- a/src/main/java/com/yolo/keyborad/controller/CharacterController.java +++ b/src/main/java/com/yolo/keyborad/controller/CharacterController.java @@ -36,8 +36,6 @@ public class CharacterController { @Resource private KeyboardCharacterService characterService; - @Autowired - private ChatModel chatModel; @GetMapping("/list") @Operation(summary = "人设列表", description = "人设列表接口按 rank 排名") @@ -75,7 +73,8 @@ public class CharacterController { @PostMapping("/addUserCharacter") @Operation(summary = "添加用户人设", description = "添加用户人设接口") public BaseResponse addUserCharacter(@RequestBody KeyboardUserCharacterAddDTO addDTO) { - characterService.addUserCharacter(addDTO); + long loginIdAsLong = StpUtil.getLoginIdAsLong(); + characterService.addUserCharacter(addDTO,loginIdAsLong); return ResultUtils.success(true); } diff --git a/src/main/java/com/yolo/keyborad/service/KeyboardCharacterService.java b/src/main/java/com/yolo/keyborad/service/KeyboardCharacterService.java index f520637..9e8f93e 100644 --- a/src/main/java/com/yolo/keyborad/service/KeyboardCharacterService.java +++ b/src/main/java/com/yolo/keyborad/service/KeyboardCharacterService.java @@ -26,11 +26,13 @@ public interface KeyboardCharacterService extends IService{ void updateSort(KeyboardUserCharacterSortUpdateDTO sortUpdateDTO); - void addUserCharacter(KeyboardUserCharacterAddDTO addDTO); + void addUserCharacter(KeyboardUserCharacterAddDTO addDTO, Long userId); void removeUserCharacter(Long id); List selectListWithNotLoginRank(); List selectListByTagWithNotLogin(Long tagId); + + void addDefaultUserCharacter(Long userId); } diff --git a/src/main/java/com/yolo/keyborad/service/UserService.java b/src/main/java/com/yolo/keyborad/service/UserService.java index bd4d72c..9691041 100644 --- a/src/main/java/com/yolo/keyborad/service/UserService.java +++ b/src/main/java/com/yolo/keyborad/service/UserService.java @@ -26,4 +26,5 @@ public interface UserService extends IService { Boolean verifyMailCode(VerifyCodeDTO verifyCodeDTO); Boolean resetPassWord(ResetPassWordDTO resetPassWordDTO); + } diff --git a/src/main/java/com/yolo/keyborad/service/impl/AppleServiceImpl.java b/src/main/java/com/yolo/keyborad/service/impl/AppleServiceImpl.java index 98b7fc1..59d1c9c 100644 --- a/src/main/java/com/yolo/keyborad/service/impl/AppleServiceImpl.java +++ b/src/main/java/com/yolo/keyborad/service/impl/AppleServiceImpl.java @@ -11,6 +11,7 @@ import com.yolo.keyborad.exception.BusinessException; import com.yolo.keyborad.model.entity.KeyboardUser; import com.yolo.keyborad.model.vo.user.KeyboardUserRespVO; import com.yolo.keyborad.service.IAppleService; +import com.yolo.keyborad.service.KeyboardCharacterService; import com.yolo.keyborad.service.UserService; import io.jsonwebtoken.*; import jakarta.annotation.Resource; @@ -39,6 +40,8 @@ public class AppleServiceImpl implements IAppleService { @Resource private UserService userService; + @Resource + private KeyboardCharacterService keyboardCharacterService; /** * 登录 * diff --git a/src/main/java/com/yolo/keyborad/service/impl/KeyboardCharacterServiceImpl.java b/src/main/java/com/yolo/keyborad/service/impl/KeyboardCharacterServiceImpl.java index 63dc152..d6f3dc0 100644 --- a/src/main/java/com/yolo/keyborad/service/impl/KeyboardCharacterServiceImpl.java +++ b/src/main/java/com/yolo/keyborad/service/impl/KeyboardCharacterServiceImpl.java @@ -27,6 +27,7 @@ import org.springframework.transaction.annotation.Transactional; import java.util.ArrayList; import java.util.List; import java.util.Set; +import java.util.stream.Stream; /* * @author: ziin * @date: 2025/12/3 14:18 @@ -101,10 +102,9 @@ public class KeyboardCharacterServiceImpl extends ServiceImpl() @@ -166,4 +166,15 @@ public class KeyboardCharacterServiceImpl extends ServiceImpl limit = selectListWithNotLoginRank().stream().limit(5); + limit.forEach(character -> { + keyboardUserCharacterAddDTO.setCharacterId(character.getId()); + keyboardUserCharacterAddDTO.setEmoji(character.getEmoji()); + this.addUserCharacter(keyboardUserCharacterAddDTO,userId); + }); + } } diff --git a/src/main/java/com/yolo/keyborad/service/impl/UserServiceImpl.java b/src/main/java/com/yolo/keyborad/service/impl/UserServiceImpl.java index f2e536c..2f28d51 100644 --- a/src/main/java/com/yolo/keyborad/service/impl/UserServiceImpl.java +++ b/src/main/java/com/yolo/keyborad/service/impl/UserServiceImpl.java @@ -13,11 +13,13 @@ import com.yolo.keyborad.mapper.KeyboardUserMapper; import com.yolo.keyborad.model.dto.user.*; import com.yolo.keyborad.model.entity.KeyboardUser; import com.yolo.keyborad.model.vo.user.KeyboardUserRespVO; +import com.yolo.keyborad.service.KeyboardCharacterService; import com.yolo.keyborad.service.UserService; import com.yolo.keyborad.utils.RedisUtil; import com.yolo.keyborad.utils.SendMailUtils; import jakarta.annotation.Resource; import lombok.extern.slf4j.Slf4j; +import org.checkerframework.checker.units.qual.K; import org.springframework.data.redis.core.RedisTemplate; import org.springframework.security.crypto.bcrypt.BCryptPasswordEncoder; import org.springframework.security.crypto.password.PasswordEncoder; @@ -46,6 +48,8 @@ public class UserServiceImpl extends ServiceImpl 0; + int insertCount = keyboardUserMapper.insert(keyboardUser); + if (insertCount > 0) { + keyboardCharacterService.addDefaultUserCharacter(keyboardUser.getId()); + } + return insertCount > 0; } @Override @@ -190,4 +199,5 @@ public class UserServiceImpl extends ServiceImpl 0; } + }