Files
aida_back/src/main/java/com/ai/da/service/AccountService.java

216 lines
5.7 KiB
Java
Raw Normal View History

2023-01-06 15:17:37 +08:00
package com.ai.da.service;
2024-11-13 15:44:48 +08:00
import com.ai.da.common.response.PageBaseResponse;
2024-01-19 16:36:34 +08:00
import com.ai.da.mapper.primary.entity.Account;
2024-11-13 15:44:48 +08:00
import com.ai.da.mapper.primary.entity.GoogleUser;
2024-01-19 16:36:34 +08:00
import com.ai.da.mapper.primary.entity.TrialOrder;
2023-01-06 15:17:37 +08:00
import com.ai.da.model.dto.*;
import com.ai.da.model.vo.AccountLoginVO;
import com.ai.da.model.vo.AccountPreLoginVO;
2024-08-21 10:23:55 +08:00
import com.ai.da.model.vo.PersonalHomepageVO;
2023-12-11 16:59:05 +08:00
import com.baomidou.mybatisplus.core.metadata.IPage;
2023-01-06 15:17:37 +08:00
import com.baomidou.mybatisplus.extension.service.IService;
2024-08-19 15:10:41 +08:00
import org.springframework.web.multipart.MultipartFile;
2023-01-06 15:17:37 +08:00
import javax.servlet.http.HttpServletRequest;
2024-11-11 16:04:26 +08:00
import javax.servlet.http.HttpSession;
2023-12-11 16:59:05 +08:00
import java.util.List;
import java.util.Map;
2023-01-06 15:17:37 +08:00
/**
* 服务类
*
* @author easy-generator
* @since 2022-08-11
*/
public interface AccountService extends IService<Account> {
/**
* 账户预先登入
2023-10-20 14:47:18 +08:00
*
2023-01-06 15:17:37 +08:00
* @param accountDTO
* @return
*/
AccountPreLoginVO preLogin(AccountPreLoginDTO accountDTO);
2023-10-20 14:47:18 +08:00
2023-01-06 15:17:37 +08:00
/**
* 账户登入
2023-10-20 14:47:18 +08:00
*
2023-01-06 15:17:37 +08:00
* @param accountLoginDTO
* @return
*/
AccountLoginVO login(AccountLoginDTO accountLoginDTO, HttpServletRequest request);
2023-10-20 14:47:18 +08:00
2023-01-06 15:17:37 +08:00
/**
* 绑定邮箱
2023-10-20 14:47:18 +08:00
*
2023-01-06 15:17:37 +08:00
* @param accountBindEmailDTO
* @return
*/
Boolean bindEmail(AccountBindEmailDTO accountBindEmailDTO);
/**
* 忘记密码
2023-10-20 14:47:18 +08:00
*
2023-01-06 15:17:37 +08:00
* @param accountDTO
* @return
*/
Boolean forgetPwd(AccountRegisterDTO accountDTO);
2023-10-20 14:47:18 +08:00
2023-01-06 15:17:37 +08:00
/**
* 发送邮件
2023-10-20 14:47:18 +08:00
*
2023-01-06 15:17:37 +08:00
* @param emailSendDTO
* @return
*/
Boolean sendEmail(EmailSendDTO emailSendDTO);
2023-10-20 14:47:18 +08:00
2023-01-06 15:17:37 +08:00
/**
* 登出
2023-10-20 14:47:18 +08:00
*
2023-01-06 15:17:37 +08:00
* @param accountLogoutDTO
* @return
*/
Boolean logout(AccountLogoutDTO accountLogoutDTO);
2023-10-20 14:47:18 +08:00
2023-01-06 15:17:37 +08:00
/**
* 判断是否登出 Boolean为登入
2023-10-20 14:47:18 +08:00
*
2023-01-06 15:17:37 +08:00
* @param accountLogoutDTO
* @return
*/
Boolean isLogin(AccountLogoutDTO accountLogoutDTO);
2023-10-20 14:47:18 +08:00
2023-01-06 15:17:37 +08:00
/**
* 添加用户信息
2023-10-20 14:47:18 +08:00
*
2023-01-06 15:17:37 +08:00
* @param accountAddDTO
* @return
*/
Boolean addUser(AccountAddDTO accountAddDTO);
2023-10-20 14:47:18 +08:00
2023-01-06 15:17:37 +08:00
/**
* 编辑用户信息
2023-10-20 14:47:18 +08:00
*
2023-01-06 15:17:37 +08:00
* @param accountEditDTO
* @return
*/
2023-10-20 14:47:18 +08:00
Boolean editUser(AccountEditDTO accountEditDTO);
2023-10-31 15:05:27 +08:00
2023-11-09 17:13:33 +08:00
String getUserLanguage();
2023-10-31 15:28:37 +08:00
String changeUserLanguage(String language);
Boolean trialUserLogout();
2023-11-29 14:37:32 +08:00
Boolean completeGuidance();
2023-12-06 15:58:57 +08:00
2024-04-02 10:15:35 +08:00
Boolean addTrialUser(AccountTrialDTO accountTrialDTO, HttpServletRequest request);
2023-12-11 16:59:05 +08:00
IPage<TrialOrder> trialOrderList(TrialOrderDTO trialOrderDTO);
Boolean trialOrderApproval(List<Long> ids);
2023-12-14 16:33:57 +08:00
Boolean getIsAutoApproval();
Boolean switchIsAutoApproval();
Boolean trialOrderRefuse(List<Long> ids);
2024-01-04 15:22:38 +08:00
Long getExpiredTime();
2024-01-15 15:06:48 +08:00
Boolean addNoLoginRequired(NoLoginRequiredDTO noLoginRequiredDTO);
Boolean deleteNoLoginRequired(NoLoginRequiredDTO noLoginRequiredDTO);
2024-01-17 17:49:40 +08:00
AccountLoginVO noLoginRequired(NoLoginRequiredDTO noLoginRequiredDTO, HttpServletRequest request);
2024-01-15 16:33:23 +08:00
2024-01-17 17:49:40 +08:00
Boolean existNoLoginRequired(NoLoginRequiredDTO noLoginRequiredDTO, HttpServletRequest request);
String addNoLoginRequiredNew(NoLoginRequiredDTO noLoginRequiredDTO, HttpServletRequest request);
Boolean deleteNoLoginRequiredNew(NoLoginRequiredDTO noLoginRequiredDTO, HttpServletRequest request);
2024-01-19 16:36:34 +08:00
2024-01-26 13:17:59 +08:00
void upgradeNotification();
void moveLibraryDate();
2024-09-27 15:40:30 +08:00
void updateCreditsAndEndTime(Long accountId, String value);
2024-07-09 17:28:38 +08:00
void updateCreditsAndEndTime(Long accountId, String value, Long endTime);
2024-06-12 09:47:55 +08:00
Boolean designWorksRegister(AccountDesignWorksRegisterDTO accountDesignWorksRegisterDTO);
2024-06-17 09:34:48 +08:00
AccountLoginVO designWorksRegisterCode(AccountDesignWorksRegisterDTO accountDesignWorksRegisterDTO);
2024-06-20 10:27:04 +08:00
Boolean extendValidityForCC();
2024-06-20 10:27:04 +08:00
Boolean collectQuestionnaires(String questionnaireInfo);
void refreshCreditsWeekly();
2024-07-19 15:40:54 +08:00
List<Account> getExpiredUserBySystemUser(Integer systemUserNum);
String getActivityBenefits();
void toVisitor(Account account);
List<Long> setUserValidToDayEnd();
IPage<Account> getPageByDateAndUserType(String startTime, String endTime, Integer type, int pageNum, int size);
Map<String, Long> getByDateAndUserType(String startTime, String endTime, Integer type);
IPage<Account> getPageByIds(List<Long> ids, int pageNum, int size);
List<Account> getByIds(List<Long> ids);
2024-08-19 15:10:41 +08:00
String uploadAvatar(MultipartFile file);
2024-08-21 10:23:55 +08:00
PersonalHomepageVO getPersonalHomepage(Long accountId);
Boolean viewsIncrease(Long id);
void registerUserToVisitor();
2024-09-27 14:42:30 +08:00
Map<String, Long> getNicknameModifyTimes();
void editUserName(String newUserName);
void verifyUserEmail(String verifyCode);
void changeUserEmail(String newMailbox);
void activateNewEmail(String token);
2024-09-13 11:13:23 +08:00
String updateNoLoginRequiredNew(NoLoginRequiredDTO noLoginRequiredDTO, HttpServletRequest request);
2024-10-03 12:14:30 +08:00
void halfPricePromotion();
2024-11-11 16:04:26 +08:00
String googleCallback(String code, HttpSession session);
2024-11-06 17:27:16 +08:00
List<String> getPaidCustomerEmail();
2024-11-13 15:44:48 +08:00
2024-12-02 12:02:19 +08:00
void temporaryUpgrade();
2024-11-13 15:44:48 +08:00
AccountLoginVO enterpriseLogin(AccountLoginDTO accountDTO);
AccountLoginVO schoolLogin(AccountLoginDTO accountDTO);
Boolean addSubAccount(AddSubAccountDTO addSubAccountDTO);
Boolean deleteSubAccount(AddSubAccountDTO addSubAccountDTO);
PageBaseResponse<Account> subAccountList(SubAccountPageDTO subAccountPageDTO);
Account accountDetail(Long id);
2024-12-09 13:31:30 +08:00
AccountLoginVO parseGoogleCredential(String credential);
AccountLoginVO parseWeChatCode(String code);
AccountLoginVO getAccountDetail();
2024-12-11 14:21:29 +08:00
2024-12-11 16:21:18 +08:00
Boolean bindGoogle(String credential);
2024-12-11 14:21:29 +08:00
2024-12-11 16:21:18 +08:00
Boolean bindWeChat(String code);
2023-01-06 15:17:37 +08:00
}