package com.fdkankan.user.controller; import cn.hutool.jwt.JWT; import com.alibaba.fastjson.JSONObject; import com.fdkankan.common.constant.ServerCode; import com.fdkankan.common.util.JwtUtil; import com.fdkankan.user.common.Result; import com.fdkankan.user.service.IUserService; import com.fdkankan.user.service.impl.LoginService; import com.fdkankan.user.vo.request.RegisterParam; import com.fdkankan.user.vo.request.ShipAddressParam; import com.fdkankan.user.vo.request.UserParam; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.web.bind.annotation.*; /** * 个人中心 */ @RestController @RequestMapping("/api/user") public class UserController { @Autowired private IUserService userService; @Autowired private LoginService loginService; @RequestMapping(value = "/checkToken", method = RequestMethod.POST) public Result checkToken() { return Result.success(); } /** * 获取用户信息 */ @RequestMapping(value = "/getUserInfo", method = RequestMethod.POST) public Result getUserInfo( @RequestHeader String token) throws Exception { String username = JwtUtil.getUsername(token); return Result.success(userService.getUserInfo(username)); } /** * 修改密码 */ @RequestMapping(value = "/changePassword", method = RequestMethod.POST) public Result changePassword(@RequestBody RegisterParam param){ loginService.changePassword(param); return Result.success(); } /** * 用户上传头像 * imgdata 图片的base64码 */ @RequestMapping(value = "/uploadHead", method = RequestMethod.POST) public Result uploadHead(@RequestBody JSONObject jsonObject, @RequestHeader String token) throws Exception { String username = JwtUtil.getUsername(token); return Result.success(userService.uploadHead(jsonObject.getString("imgdata"),username)); } /** * 用户新增收货地址 * shipAddress 收货地址-详细地址 * shipAreaPath 收货地址-省-市-区 * province 所在地区-省 * city 所在地区-市 * shipName 收货人 * shipMobile 收货人手机 */ @RequestMapping(value = "/insertAddress", method = RequestMethod.POST) public Result insertAddress(@RequestBody ShipAddressParam param, @RequestHeader String token){ String username = JwtUtil.getUsername(token); userService.insertAddress(param,username); return Result.success(); } /** * 用户更新默认地址 * id * shipAddress 收货地址-详细地址 * shipAreaPath 收货地址-省-市-区 * province 所在地区-省 * city 所在地区-市 * shipName 收货人 * shipMobile 收货人手机 * setDefault 1表示默认地址,0表示不是默认地址 */ @RequestMapping(value = "/updateAddress", method = RequestMethod.POST) public Result updateAddress(@RequestBody ShipAddressParam param,@RequestHeader String token){ String username = JwtUtil.getUsername(token); userService.updateAddress(param,username); return Result.success(); } /** * 用户删除默认地址 */ @RequestMapping(value = "/deleteAddress", method = RequestMethod.POST) public Result deleteAddress(@RequestBody ShipAddressParam param){ userService.deleteAddress(param.getId()); return Result.success(); } /** * 用户更新邮箱地址 * email 邮箱地址 */ @RequestMapping(value = "/updateEmail", method = RequestMethod.POST) public Result updateEmail(@RequestBody UserParam param,@RequestHeader String token){ String username = JwtUtil.getUsername(token); userService.updateEmail(param.getEmail(),username); return Result.success(); } /** * 获取用户默认收货信息 */ @RequestMapping(value = "/getReceiverInfo", method = RequestMethod.POST) public Result getReceiverInfo(@RequestHeader String token){ String username = JwtUtil.getUsername(token); return Result.success(userService.getReceiverInfo(username)); } /** * 获取用户收货信息列表 */ @RequestMapping(value = "/getReceiverList", method = RequestMethod.POST) public Result getReceiverList(@RequestHeader String token){ String username = JwtUtil.getUsername(token); return Result.success(userService.getReceiverList(username)); } /** * 更改昵称 * nickName 用户昵称 */ @RequestMapping(value = "/updateNickName", method = RequestMethod.POST) public Result updateNickName(@RequestBody UserParam param,@RequestHeader String token){ String username = JwtUtil.getUsername(token); userService.updateNickName(param.getNickName(),username); return Result.success(); } /** * 修改用户信息 * nickName 昵称 * email 邮箱 * isNotice isNotice */ @RequestMapping(value = "/updateUserDetail", method = RequestMethod.POST) public Result updateUserDetail(@RequestBody UserParam param, @RequestHeader String token){ String username = JwtUtil.getUsername(token); userService.updateUserDetail(param,username); return Result.success(); } }