Java tutorial
/* * Copyright (c) 2013, Helome and/or its affiliates. All rights reserved. * Helome PROPRIETARY/CONFIDENTIAL. Use is subject to license terms. * * Created on 2014721 */ package mobile.service; import java.util.Map; import mobile.service.result.ServiceResult; import mobile.service.result.ServiceVOResult; import mobile.vo.result.CommonVO; import models.User; import models.service.PhoneVerifyCodeService; import models.service.PhoneVerifyCodeService.PhoneVerifyCodeType; import models.service.PhoneVerifyCodeService.SendVerifyCodeResult; import org.apache.commons.lang3.StringUtils; import play.libs.Json; import play.mvc.Http.Context; import play.mvc.Http.Session; import play.mvc.Result; import utils.HelomeUtil; import com.fasterxml.jackson.databind.JsonNode; import com.fasterxml.jackson.databind.node.ArrayNode; import controllers.base.ObjectNodeResult; import controllers.user.OAuthApp; import ext.sns.model.UserOAuth; import ext.sns.service.OAuth2Service; import ext.sns.service.ProviderType; import ext.sns.service.UserOAuthService; import ext.usercenter.UserCenterService; import ext.usercenter.UserCenterService.PhoneNumExistResult; /** * * * @ClassName: UserSettingService * @Description: ? * @date 2014721 ?3:30:26 * @author ShenTeng * */ public class UserSettingService { /** * ? * * @param oldPsw ? * @param newPsw ? * @return */ public static ServiceResult changePassword(String oldPsw, String newPsw) { Session session = Context.current().session(); User user = User.getFromSession(session); ObjectNodeResult result = User.changePassword(user, oldPsw, newPsw, session); return ServiceResult.create(result); } /** * ? */ public static ServiceVOResult<CommonVO> getSafetyReminderCfg() { User user = User.getFromSession(Context.current().session()); JsonNode cfg = user.getSafetyReminderCfgJson(); CommonVO vo = CommonVO.create(); vo.set("cfg", cfg); ServiceVOResult<CommonVO> result = ServiceVOResult.success(); result.setVo(vo); return result; } /** * ?? * * @param newCfg * @return */ public static ServiceResult modifySafetyReminder(JsonNode newCfg) { Session session = Context.current().session(); User user = User.getFromSession(session); ObjectNodeResult result = User.modifySafetyReminder(user, newCfg, session); return ServiceResult.create(result); } /** * * * @param phoneNum ? * @param verifyCode ?? * @return */ public static ServiceResult bindMobilePhone(String phoneNum, String verifyCode) { Session session = Context.current().session(); User user = User.getFromSession(session); if (StringUtils.isNotBlank(user.getPhoneNumber())) { return ServiceResult.error("247001", "?"); } ObjectNodeResult result = User.bindMobilePhone(user, phoneNum, phoneNum, verifyCode, session); return ServiceResult.create(result); } /** * ????? * * @param phoneNum ?? * @return */ public static ServiceVOResult<CommonVO> validatePhoneNumExist(String phoneNum) { if (HelomeUtil.trim(phoneNum).length() != 11) { return ServiceVOResult.error("245001", "?"); } PhoneNumExistResult validateResult = UserCenterService.validatePhoneNumExist(phoneNum); CommonVO vo = CommonVO.create(); if (PhoneNumExistResult.EXIST == validateResult) { vo.set("exists", true); } else if (PhoneNumExistResult.NOT_EXIST == validateResult) { vo.set("exists", false); } else { return ServiceVOResult.error("100001", ""); } ServiceVOResult<CommonVO> result = ServiceVOResult.success(); result.setVo(vo); return result; } /** * ???? * * @param phoneNum ?? * @return */ public static ServiceResult sendPhoneVerifyCode(String phoneNum) { Session session = Context.current().session(); User user = User.getFromSession(session); ObjectNodeResult result = new ObjectNodeResult(); if (HelomeUtil.trim(phoneNum).length() != 11) { return ServiceResult.error("246001", "?"); } SendVerifyCodeResult sendResult = PhoneVerifyCodeService .sendVerifyCode(PhoneVerifyCodeType.BIND_MOBILE_PHONE, String.valueOf(user.id), phoneNum); if (SendVerifyCodeResult.TOO_MANY == sendResult) { return ServiceResult.error("246002", "?????,????"); } else if (SendVerifyCodeResult.FAIL == sendResult) { return ServiceResult.error("246003", "????"); } return ServiceResult.create(result); } /** * ?SNS * * @return */ public static ServiceVOResult<CommonVO> getConnectedSNS() { User user = User.getFromSession(Context.current().session()); Map<String, UserOAuth> userOAuthMap = UserOAuthService.getValidByUserId(user.id); ArrayNode sns = Json.newObject().arrayNode(); for (Map.Entry<String, UserOAuth> e : userOAuthMap.entrySet()) { sns.add(e.getKey()); } CommonVO vo = CommonVO.create(); vo.set("sns", sns); ServiceVOResult<CommonVO> result = ServiceVOResult.success(); result.setVo(vo); return result; } /** * SNS? * * @param providerName sns?? * @param referer ?????URI * @return */ public static Result toBindSNSPage(String providerName, String referer) { return OAuthApp.requestAuth(providerName, referer, ProviderType.SNS); } /** * SNS * * @param providerName sns?? * @return */ public static ServiceResult unbindSNS(String providerName) { if (!OAuth2Service.checkProviderName(providerName)) { return ServiceResult.error("100005", "SNS??" + providerName); } User user = User.getFromSession(Context.current().session()); UserOAuthService.revokeAuthorize(user, providerName); return ServiceResult.success(); } }