| | |
| | | package com.ycl.jxkg.controller.wx.student; |
| | | |
| | | import com.ycl.jxkg.base.RestResponse; |
| | | import com.ycl.jxkg.configuration.property.SystemConfig; |
| | | import com.ycl.jxkg.base.Result; |
| | | import com.ycl.jxkg.config.property.SystemConfig; |
| | | import com.ycl.jxkg.controller.wx.BaseWXApiController; |
| | | import com.ycl.jxkg.domain.UserToken; |
| | | import com.ycl.jxkg.domain.enums.UserStatusEnum; |
| | | import com.ycl.jxkg.domain.entity.UserToken; |
| | | import com.ycl.jxkg.enums.UserStatusEnum; |
| | | import com.ycl.jxkg.service.AuthenticationService; |
| | | import com.ycl.jxkg.service.UserService; |
| | | import com.ycl.jxkg.service.UserTokenService; |
| | | import com.ycl.jxkg.utility.WxUtil; |
| | | import com.ycl.jxkg.viewmodel.wx.student.user.BindInfo; |
| | | import com.ycl.jxkg.domain.User; |
| | | import com.ycl.jxkg.utils.WxUtil; |
| | | import com.ycl.jxkg.domain.vo.wx.student.user.BindInfo; |
| | | import com.ycl.jxkg.domain.entity.User; |
| | | import org.springframework.beans.factory.annotation.Autowired; |
| | | import org.springframework.stereotype.Controller; |
| | | import org.springframework.web.bind.annotation.*; |
| | |
| | | } |
| | | |
| | | @RequestMapping(value = "/bind", method = RequestMethod.POST) |
| | | public RestResponse bind(@Valid BindInfo model) { |
| | | public Result bind(@Valid BindInfo model) { |
| | | User user = userService.getUserByUserName(model.getUserName()); |
| | | if (user == null) { |
| | | return RestResponse.fail(2, "用户名或密码错误"); |
| | | return Result.fail(2, "用户名或密码错误"); |
| | | } |
| | | boolean result = authenticationService.authUser(user, model.getUserName(), model.getPassword()); |
| | | if (!result) { |
| | | return RestResponse.fail(2, "用户名或密码错误"); |
| | | return Result.fail(2, "用户名或密码错误"); |
| | | } |
| | | UserStatusEnum userStatusEnum = UserStatusEnum.fromCode(user.getStatus()); |
| | | if (UserStatusEnum.Disable == userStatusEnum) { |
| | | return RestResponse.fail(3, "用户被禁用"); |
| | | return Result.fail(3, "用户被禁用"); |
| | | } |
| | | String code = model.getCode(); |
| | | String openid = WxUtil.getOpenId(systemConfig.getWx().getAppid(), systemConfig.getWx().getSecret(), code); |
| | | if (null == openid) { |
| | | return RestResponse.fail(4, "获取微信OpenId失败"); |
| | | return Result.fail(4, "获取微信OpenId失败"); |
| | | } |
| | | user.setWxOpenId(openid); |
| | | UserToken userToken = userTokenService.bind(user); |
| | | return RestResponse.ok(userToken.getToken()); |
| | | return Result.ok(userToken.getToken()); |
| | | } |
| | | |
| | | |
| | | @RequestMapping(value = "/checkBind", method = RequestMethod.POST) |
| | | public RestResponse checkBind(@Valid @NotBlank String code) { |
| | | public Result checkBind(@Valid @NotBlank String code) { |
| | | String openid = WxUtil.getOpenId(systemConfig.getWx().getAppid(), systemConfig.getWx().getSecret(), code); |
| | | if (null == openid) { |
| | | return RestResponse.fail(3, "获取微信OpenId失败"); |
| | | return Result.fail(3, "获取微信OpenId失败"); |
| | | } |
| | | UserToken userToken = userTokenService.checkBind(openid); |
| | | if (null != userToken) { |
| | | return RestResponse.ok(userToken.getToken()); |
| | | return Result.ok(userToken.getToken()); |
| | | } |
| | | return RestResponse.fail(2, "用户未绑定"); |
| | | return Result.fail(2, "用户未绑定"); |
| | | } |
| | | |
| | | |
| | | @RequestMapping(value = "/unBind", method = RequestMethod.POST) |
| | | public RestResponse unBind() { |
| | | public Result unBind() { |
| | | UserToken userToken = getUserToken(); |
| | | userTokenService.unBind(userToken); |
| | | return RestResponse.ok(); |
| | | return Result.ok(); |
| | | } |
| | | } |