package com.doumee.api.web;
|
|
import com.doumee.config.annotation.LoginRequired;
|
import com.doumee.core.annotation.trace.Trace;
|
import com.doumee.core.model.ApiResponse;
|
import com.doumee.core.utils.Constants;
|
import com.doumee.core.utils.aliyun.ALiYunSmSUtil;
|
import com.doumee.dao.business.model.Areas;
|
import com.doumee.dao.business.model.Member;
|
import com.doumee.dao.web.request.UpdateMemberRequest;
|
import com.doumee.dao.web.request.WxPhoneRequest;
|
import com.doumee.dao.web.response.AccountResponse;
|
import io.swagger.annotations.Api;
|
import io.swagger.annotations.ApiImplicitParam;
|
import io.swagger.annotations.ApiImplicitParams;
|
import io.swagger.annotations.ApiOperation;
|
import lombok.extern.slf4j.Slf4j;
|
import org.springframework.web.bind.annotation.*;
|
|
import javax.validation.Valid;
|
import java.util.HashMap;
|
import java.util.Map;
|
import java.util.Optional;
|
|
/**
|
* Created by IntelliJ IDEA.
|
*
|
* @Author : Rk
|
* @create 2023/3/23 9:12
|
*/
|
|
@Api(tags = "小程序用户业务")
|
@Trace(exclude = true)
|
@RestController
|
@RequestMapping("/web/account")
|
@Slf4j
|
public class AccountApi extends ApiController{
|
|
|
@ApiOperation(value = "小程序登陆方式", notes = "小程序端")
|
@GetMapping("/wxLogin")
|
@ApiImplicitParams({
|
@ApiImplicitParam(paramType = "query", dataType = "String", name = "code", value = "微信code", required = true),
|
@ApiImplicitParam(paramType = "query", dataType = "Integer", name = "recId", value = "分享码", required = false)
|
})
|
public ApiResponse<AccountResponse> wxLogin(@RequestParam String code, Integer recId) {
|
return ApiResponse.success(memberService.wxLogin(code,recId));
|
}
|
|
@ApiOperation(value = "测试登陆接口", notes = "小程序端")
|
@GetMapping("/testLogin")
|
@ApiImplicitParams({
|
@ApiImplicitParam(paramType = "query", dataType = "Integer", name = "memberId", value = "用户编码", required = false)
|
})
|
public ApiResponse testLogin(@RequestParam Integer memberId) {
|
return ApiResponse.success(memberService.wxLoginTest(memberId));
|
}
|
|
@LoginRequired
|
@ApiOperation(value = "绑定手机号", notes = "小程序端")
|
@PostMapping("/wxPhone")
|
@ApiImplicitParams({
|
@ApiImplicitParam(paramType = "header", dataType = "String", name = "token", value = "用户token值", required = true)
|
})
|
public ApiResponse wxLogin(@Valid @RequestBody WxPhoneRequest wxPhoneRequest) {
|
wxPhoneRequest.setMemberId(getMemberId());
|
memberService.wxPhone(wxPhoneRequest);
|
return ApiResponse.success("绑定成功");
|
}
|
|
@LoginRequired
|
@ApiOperation(value = "更新用户信息", notes = "小程序端")
|
@PostMapping("/updateMember")
|
@ApiImplicitParams({
|
@ApiImplicitParam(paramType = "header", dataType = "String", name = "token", value = "用户token值", required = true)
|
})
|
public ApiResponse<Member> updateMember(@RequestBody UpdateMemberRequest UpdateMemberRequest) {
|
UpdateMemberRequest.setMemberId(getMemberId());
|
return ApiResponse.success("操作成功",memberService.updateMember(UpdateMemberRequest));
|
}
|
|
@LoginRequired
|
@ApiOperation(value = "获取用户信息", notes = "小程序端")
|
@PostMapping("/getUserInfo")
|
@ApiImplicitParams({
|
@ApiImplicitParam(paramType = "header", dataType = "String", name = "token", value = "用户token值", required = true)
|
})
|
public ApiResponse<Member> getUserInfo() {
|
Member member = memberService.findById(getMemberId());
|
member.setImgFullUrl(systemDictDataBiz.queryByCode(Constants.OSS,Constants.RESOURCE_PATH).getCode()+
|
systemDictDataBiz.queryByCode(Constants.OSS,Constants.MEMBER_FILE).getCode()
|
+member.getImgurl());
|
Areas areas = areasService.findById(member.getCityId(), Constants.ONE);
|
member.setCityName(Optional.ofNullable(areas).map(s->s.getName()).orElse(""));
|
return ApiResponse.success("获取成功",member);
|
}
|
|
@LoginRequired
|
@ApiOperation(value = "发送短信验证码", notes = "小程序端")
|
@GetMapping("/sendSmsCode")
|
@ApiImplicitParams({
|
@ApiImplicitParam(paramType = "header", dataType = "String", name = "token", value = "用户token值", required = true),
|
@ApiImplicitParam(paramType = "query", dataType = "String", name = "phone", value = "手机号码", required = true)
|
})
|
public ApiResponse sendSmsCode(@RequestParam String phone) {
|
smsrecordService.sendSms(getMemberId(),phone);
|
return ApiResponse.success("操作成功");
|
}
|
|
@LoginRequired
|
@ApiOperation(value = "验证短信验证码", notes = "小程序端")
|
@GetMapping("/verifyCode")
|
@ApiImplicitParams({
|
@ApiImplicitParam(paramType = "header", dataType = "String", name = "token", value = "用户token值", required = true),
|
@ApiImplicitParam(paramType = "query", dataType = "String", name = "phone", value = "手机号码", required = true),
|
@ApiImplicitParam(paramType = "query", dataType = "String", name = "code", value = "验证码", required = true)
|
})
|
public ApiResponse verifyCode(@RequestParam String phone,@RequestParam String code) {
|
smsrecordService.verifyCode(getMemberId(),phone,code);
|
return ApiResponse.success("操作成功");
|
}
|
|
}
|