package com.xinquan.user.api.feign; import com.xinquan.common.core.constant.SecurityConstants; import com.xinquan.common.core.constant.ServiceNameConstants; import com.xinquan.common.core.domain.R; import com.xinquan.common.core.utils.page.PageDTO; import com.xinquan.system.api.domain.*; import com.xinquan.system.api.domain.vo.AppUserVO; import com.xinquan.system.api.model.AppCaptchaBody; import com.xinquan.system.api.model.AppLoginUser; import com.xinquan.system.api.model.AppVerifyCellPhoneBody; import com.xinquan.system.api.model.AppWXLoginBody; import com.xinquan.user.api.domain.dto.AppUserDTO; import com.xinquan.user.api.domain.dto.OrderListDTO; import com.xinquan.user.api.factory.RemoteAppUserFallbackFactory; import java.math.BigDecimal; import java.util.Collection; import java.util.List; import java.util.Map; import io.swagger.annotations.ApiOperation; import org.springframework.cloud.openfeign.FeignClient; import org.springframework.web.bind.annotation.*; /** * @author mitao * @date 2024/8/21 */ @FeignClient(contextId = "remoteAppUserService", value = ServiceNameConstants.APP_USER_SERVICE, fallbackFactory = RemoteAppUserFallbackFactory.class) public interface RemoteAppUserService { @GetMapping("/client/app-user/getUserById/{id}") public R getUserById(@PathVariable("id") Long id); @PostMapping("/client/app-user/saveQrCode") public R saveQrCode(@RequestBody AppUser appUser); @PostMapping("/client/app-user-tree/getUserEnergy/{id}") public R getUserEnergy(@PathVariable("id")Long id); @PostMapping("/client/app-user/getUserBlackList/{appUserId}") public R> getUserBlackList(@PathVariable("appUserId") Long appUserId); @GetMapping("/client/app-user/deleteBalance/{id}/{amount}") public R deleteBalance(@PathVariable("id")String id,@PathVariable("amount")String amount); @PostMapping("/user/app-user-viewing-history/getCourseChapterHistoryState/{id}/{chapterId}") public R getCourseChapterHistoryState(@PathVariable("id") Long id,@PathVariable("chapterId") Long chapterId); @GetMapping("/client/user/notice-record/addNotice/{id}/{courseId}/{userId}/{price}") public R addNotice(@PathVariable("id")String id,@PathVariable("courseId")String courseId ,@PathVariable("userId")String userId,@PathVariable("price")String price); @GetMapping("/client/app-user/getUserByPhone/{phone}") public R getUserByPhone(@PathVariable("phone")String phone); @PostMapping("/user/app-user-viewing-history/getMeditationHistoryCount/{id}") public R getMeditationHistoryCount(@PathVariable("id") Long id); @PostMapping("/user/app-user-viewing-history/getMeditationHistoryCountAll") public R> getMeditationHistoryCountAll(); @PostMapping("/user/app-user-viewing-history/getCourseHistoryCount/{id}") public R getCourseHistoryCount(@PathVariable("id") Long id); @PostMapping("/user/app-user-viewing-history/getCourseChapterHistoryCount/{id}") public R getCourseChapterHistoryCount(@PathVariable("id") Long id); @PostMapping("/client/tag/queryTagList/{ids}") public R> queryTagList(@PathVariable("ids") String ids); @PostMapping("/user/app-user-viewing-history/getCourseHistoryByUserId/{id}") public R> getCourseHistoryByUserId(@PathVariable("id") Long id); @GetMapping("/client/app-user/getAllUserList") public R> getAllUserList(); @GetMapping("/client/app-user/addBalance/{id}/{money}") public R addBalance(@PathVariable("id")Long id,@PathVariable("money") BigDecimal money); @GetMapping("/client/app-user/addVipExpireTime/{id}/{type}") public R addVipExpireTime(@PathVariable("id")Long id,@PathVariable("type")Integer type); @PostMapping("/client/app-user/getUserListCount") public R> getUserListCount(); @PostMapping("/client/prize-redemption-record/getPrizeRecordCount") public R getPrizeRecordCount(); @PostMapping("/client/app-user/getUserCount") public R getUserCount(); @PostMapping("/client/app-user-withdraw/getWithdrawList") public R> getWithdraw(@RequestBody OrderListDTO courseDTO); @PostMapping("/client/app-user-wallet-record/addBalanceRecord") public R addBalanceRecord(@RequestBody AppUserWalletRecord appUserWalletRecord); /** * 远程调用 购买课程后 增加课程与用户关系表 * * @return 用户信息 * @see AppUserVO */ @GetMapping("/client/app-user-course/addAppUserCourse/{courseId}/{appUserId}/{orderId}/{giftFlag}") public R addAppUserCourse(@PathVariable("courseId") Long courseId, @PathVariable("appUserId") Long appUserId, @PathVariable("orderId") Long orderId, @PathVariable("giftFlag") Integer giftFlag ); /** * 后台远程调用 新增回复消息 * @return */ @PostMapping("/client/user/notice-record/addNoticeReplay") public R addNoticeReplay(@RequestBody NoticeRecord noticeRecord); /** * 远程调用根据用户id 查询用户 */ @PostMapping("/client/app-user/getAppUserById/{id}") public R getAppUserById(@PathVariable("id")String id); /** * 远程调用根据用户名称 查询用户 */ @PostMapping("/client/app-user/getAppUserByName/{name}") public R> getAppUserByName(@PathVariable("name")String name); @PostMapping("/client/app-user/getAppUserByNameOrPhone/{name}") public R> getAppUserByNameOrPhone(@PathVariable("name")String name); @PostMapping("/client/tag/queryTag/{name}") public R> queryTag(@PathVariable("name") String name); @PostMapping("/client/app-user/getCurrentUser") public R getCurrentUser(); @GetMapping("/client/app-user-course/getPayCourse/{pageCurr}/{pageSize}/{id}") R> getPayCourse(@PathVariable("pageCurr")Integer pageCurr, @PathVariable("pageSize")Integer pageSize , @PathVariable("id")String id); @PostMapping("/user/app-user-viewing-history/getCourseStudyHistory") R getCourseStudyHistory(@RequestParam("chapterId") Long chapterId); @GetMapping("/client/app-user-course/getUserByCourseId/{courseId}") R> getUserByCourseId(@PathVariable("courseId") Long courseId); /** * 获取未注销的用户信息 * * @param dto * @param source * @return */ @PostMapping("/inner/app-user/getUserByCondition") R getUserByCondition(@RequestBody AppUserDTO dto, @RequestHeader(SecurityConstants.FROM_SOURCE) String source); @PostMapping("/inner/app-user/getUserByCondition1") R getUserByCondition1(@RequestBody AppUserDTO dto, @RequestHeader(SecurityConstants.FROM_SOURCE) String source); /** * APP用户注册 * * @param appUserDTO * @param source * @return */ @PostMapping("/inner/app-user/registerAppUser") R registerAppUser(@RequestBody AppUserDTO appUserDTO, @RequestHeader(SecurityConstants.FROM_SOURCE) String source); /** * APP微信登录 * * @param body * @param source * @return */ @PostMapping("/inner/app-user/wxLogin") R wxLogin(@RequestBody AppWXLoginBody body, @RequestHeader(SecurityConstants.FROM_SOURCE) String source); /** * APP苹果登录 * * @param appleId * @param source * @return */ @PostMapping("/inner/app-user/appleLogin") R appleLogin(@RequestParam("appleId") String appleId,@RequestParam("device") String device, @RequestHeader(SecurityConstants.FROM_SOURCE) String source); /** * 验证码登录 * * @param body * @param source * @return */ @PostMapping("/inner/app-user/captchaLogin") R appCaptchaLogin(@RequestBody AppCaptchaBody body, @RequestHeader(SecurityConstants.FROM_SOURCE) String source); /** * 微信苹果登录验证手机号码操作 * * @param body * @param source * @return */ @PostMapping("/inner/app-user/verifyCellPhone") R verifyCellPhone(@RequestBody AppVerifyCellPhoneBody body, @RequestHeader(SecurityConstants.FROM_SOURCE) String source); /** * 更新用户信息 * * @param dto * @param source * @return */ @PostMapping("/inner/app-user/updateAppUser") R updateAppUser(@RequestBody AppUserDTO dto, @RequestHeader(SecurityConstants.FROM_SOURCE) String source); /** * 获取用户列表 * * @param appUserIdSet 用户id列表 * @param source 请求来源 * @return */ @PostMapping("/inner/app-user/getAppUserList") R> getAppUserList(@RequestBody Collection appUserIdSet, @RequestHeader(SecurityConstants.FROM_SOURCE) String source); @GetMapping("/client/app-user-course/deleteAppUserCourse/{courseId}/{appUserId}") void deleteAppUserCourse(@PathVariable("courseId") Long courseId,@PathVariable("appUserId") Long appUserId); @PostMapping("/client/app-user/subVipExpireTime/{appUserId}/{type}") public void subVipExpireTime(@PathVariable("appUserId") Long appUserId,@PathVariable("type") Integer type); }