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