package com.epmet.controller; import com.epmet.commons.tools.annotation.LoginUser; import com.epmet.commons.tools.exception.RenException; import com.epmet.commons.tools.security.dto.TokenDto; import com.epmet.commons.tools.utils.Result; import com.epmet.commons.tools.validator.ValidatorUtils; import com.epmet.constant.PublicUserLoginConstant; import com.epmet.dto.form.LoginByPhoneFormDTO; import com.epmet.dto.form.PaWxCodeFormDTO; import com.epmet.dto.form.PublicSendSmsCodeFormDTO; import com.epmet.dto.form.RegisterFormDTO; import com.epmet.dto.result.UserTokenResultDTO; import com.epmet.service.PublicUserLoginService; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.web.bind.annotation.PostMapping; import org.springframework.web.bind.annotation.RequestBody; import org.springframework.web.bind.annotation.RequestMapping; import org.springframework.web.bind.annotation.RestController; /** * 描述一下 * * @author yinzuomei@elink-cn.com * @date 2020/7/8 18:29 */ @RestController @RequestMapping("publicuser") public class PublicUserLoginController { @Autowired private PublicUserLoginService publicUserLoginService; /** * @return com.epmet.commons.tools.utils.Result * @param formDTO * @author sun * @description 解析wxcode获取用户信息并生成token **/ @PostMapping(value = "/wxcodetotoken") public Result wxCodeToToken(@RequestBody PaWxCodeFormDTO formDTO) { ValidatorUtils.validateEntity(formDTO, PaWxCodeFormDTO.AddUserInternalGroup.class); return new Result().ok(publicUserLoginService.wxCodeToToken(formDTO)); } /** * @param formDTO 手机号 * @return com.epmet.commons.tools.utils.Result * @Author sun * @Description 公众号登录-发送验证码 **/ @PostMapping(value = "/sendsmscode") public Result sendSmsCode(@RequestBody PublicSendSmsCodeFormDTO formDTO) { ValidatorUtils.validateEntity(formDTO,PublicSendSmsCodeFormDTO.AddUserShowGroup.class); if(formDTO.getIsLogon()!=true&&formDTO.getIsLogon()!=false){ throw new RenException(PublicUserLoginConstant.PARAMETER_EXCEPTION); } publicUserLoginService.sendSmsCode(formDTO); return new Result(); } /** * @param formDTO * @return com.epmet.commons.tools.utils.Result * @Author sun * @Description 公众号-手机验证码登陆 **/ @PostMapping(value = "/loginbyphone") public Result loginByPhone(@LoginUser TokenDto tokenDTO, @RequestBody LoginByPhoneFormDTO formDTO) { ValidatorUtils.validateEntity(formDTO, LoginByPhoneFormDTO.AddUserShowGroup.class, LoginByPhoneFormDTO.LoginByPhone.class); return new Result().ok(publicUserLoginService.loginByPhone(tokenDTO, formDTO)); } /** * @param formDTO * @return * @Author sun * @Description 公众号-手机号注册 **/ @PostMapping(value = "/register") public Result register(@LoginUser TokenDto tokenDTO, @RequestBody RegisterFormDTO formDTO) { ValidatorUtils.validateEntity(formDTO, RegisterFormDTO.AddUserInternalGroup.class, RegisterFormDTO.AddUserShowGroup.class); formDTO.setUserId(tokenDTO.getUserId()); return new Result().ok(publicUserLoginService.register(formDTO)); } }