package com.xiaopeng.account.controller; import com.xiaopeng.account.model.dto.CollectAddrDTO; import com.xiaopeng.account.service.IXpAppUserService; import com.xiaopeng.api.dto.statistics.StatisticsQueryDTO; import com.xiaopeng.api.dto.statistics.UserStatisticsDTO; import com.xiaopeng.api.model.account.XpAppUser; import com.xiaopeng.common.core.domain.R; import com.xiaopeng.unifiedverification.interceptor.XpClientCheck; import io.swagger.annotations.Api; import io.swagger.annotations.ApiOperation; import lombok.extern.slf4j.Slf4j; import org.springframework.util.CollectionUtils; import org.springframework.validation.annotation.Validated; import org.springframework.web.bind.annotation.*; import javax.annotation.Resource; import javax.servlet.http.HttpServletRequest; import java.util.ArrayList; import java.util.List; /** *

* 小程序用户 前端控制器 *

* * @author mitao * @since 2026-02-03 */ @Slf4j @RestController @Api(tags = "小程序用户") public class XpAppUserController { @Resource private IXpAppUserService xpAppUserService; /** * 获取用户统计数据(内部接口) * * @param query 查询参数 * @return 用户统计数据 */ @ApiOperation(value = "获取用户统计数据", tags = {"内部接口"}) @PostMapping("/logan/inner/appUser/statistics") public R getUserStatistics(@RequestBody StatisticsQueryDTO query) { return R.ok(xpAppUserService.getUserStatistics(query)); } /** * 根据ID列表批量查询用户信息(内部接口) * * @param ids 用户ID列表 * @return 用户列表 */ @ApiOperation(value = "批量查询用户信息", tags = {"内部接口"}) @PostMapping("/logan/inner/appUser/listByIds") public R> listByIds(@RequestBody List ids) { if (CollectionUtils.isEmpty(ids)) { return R.ok(new ArrayList<>()); } return R.ok(xpAppUserService.listByIds(ids)); } /** * 根据ID查询用户信息 * * @param id 用户ID * @return 用户信息 */ @GetMapping("/logan/inner/appUser/queryOperationsUserById") public R queryOperationsUserById(@RequestParam Long id){ XpAppUser xpAppUser = xpAppUserService.getById(id); return R.ok(xpAppUser); } //-----------------------------------------------app接口------------------------------------------ /** * 获取免密结果 */ @PostMapping("/api/v1/mini-program/appUser/getPayPwd") @ApiOperation(value = "个人中心-获取免密结果", tags = {"小程序-获取免密结果"}) @XpClientCheck(checkToken = false, checkOtpToken = true) public R appUserGetPayPwd(HttpServletRequest request) { // uid已通过拦截器otp校验,可以直接使用 String uid = request.getHeader("XP-Uid"); //调用其他接口获取 免密结果 todo yyy Boolean is = true; return R.ok(is); } /** * 设置免密结果 */ @PostMapping("/api/v1/mini-program/appUser/setPayPwd") @ApiOperation(value = "个人中心-设置免密结果", tags = {"小程序-设置免密结果"}) @XpClientCheck(checkToken = false, checkOtpToken = true) public R appUserSetPayPwd(HttpServletRequest request) { // uid已通过拦截器otp校验,可以直接使用 String uid = request.getHeader("XP-Uid"); //调用其他接口设置免密结果 todo yyy return R.ok(); } //-----------------------------------------------app接口------------------------------------------ }